diff mbox series

[bug#47206] gnu: Add zig

Message ID 8735wufiw9.fsf@timmydouglas.com
State Accepted
Headers show
Series [bug#47206] gnu: Add zig | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job
cbaines/issue success View issue

Commit Message

Timmy Douglas March 17, 2021, 5:28 a.m. UTC
* gnu/packages/zig.scm (zig): New variable.
---
 gnu/packages/zig.scm | 64 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 64 insertions(+)
 create mode 100644 gnu/packages/zig.scm

Comments

Léo Le Bouter March 17, 2021, 7:03 a.m. UTC | #1
Thanks for the patch!

However, there is some work duplication here it seems, look at 
https://issues.guix.gnu.org/47006 - let's cooperate there! Please do
suggest changes to the existing patches according to your submitted
patch here.
diff mbox series

Patch

diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
new file mode 100644
index 0000000000..01a6570e12
--- /dev/null
+++ b/gnu/packages/zig.scm
@@ -0,0 +1,64 @@ 
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2021 Timmy Douglas <mail@timmydouglas.com>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages zig)
+  #:use-module (ice-9 match)
+  #:use-module (gnu packages)
+  #:use-module (gnu packages llvm)
+  #:use-module (guix build-system cmake)
+  #:use-module (guix download)
+  #:use-module (guix git-download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix packages)
+  #:use-module (guix utils))
+
+(define-public zig
+  (let ((commit "783cb980ab137d6a99c20f007d70b4191d4a63c4")
+        (revision "0")
+        (version "0.71"))
+    (package
+      (name "zig")
+      (version (git-version version revision commit))
+      (source
+       (origin
+         (method git-fetch)
+         (uri (git-reference
+               (url "https://github.com/ziglang/zig.git")
+               (commit commit)))
+         (file-name (git-file-name name version))
+         (sha256
+          (base32 "1z6c4ym9jmga46cw2arn7zv2drcpmrf3vw139gscxp27n7q2z5md"))))
+      (build-system cmake-build-system)
+      (native-inputs `(("lld@11.0.0" ,lld)
+                       ("clang-toolchain-11" ,clang-toolchain-11)))
+      (arguments
+       `(#:tests? #f ;;; there isn't a test target
+                  #:phases
+                  (modify-phases %standard-phases
+                    (add-before 'check 'check-setup
+                      (lambda _
+                        ;; https://github.com/ziglang/zig/issues/6810
+                        (setenv "XDG_CACHE_HOME" "/tmp/xdg-cache")
+                        #t)))))
+      (synopsis "General purpose programming language and toolchain")
+      (description "Zig is a general-purpose programming language and
+toolchain for maintaining robust, optimal, and reusable software.")
+      (home-page "https://github.com/ziglang/zig")
+      (license
+       (list
+        license:expat)))))