On Mon, Mar 08, 2021 at 02:11:56PM +0100, Leo Prikler wrote: > * gnu/packages/zig.scm: New file. > * gnu/local.mk (GNU_SYSTEM_MODULES): Add it here. > --- > gnu/local.mk | 1 + > gnu/packages/zig.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 66 insertions(+) > create mode 100644 gnu/packages/zig.scm > > diff --git a/gnu/local.mk b/gnu/local.mk > index fb3b395852..abcf86fb7e 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -586,6 +586,7 @@ GNU_SYSTEM_MODULES = \ > %D%/packages/xdisorg.scm \ > %D%/packages/xorg.scm \ > %D%/packages/xfce.scm \ > + %D%/packages/zig.scm \ > %D%/packages/zile.scm \ > %D%/packages/zwave.scm \ > \ > diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm > new file mode 100644 > index 0000000000..caf0a5e21a > --- /dev/null > +++ b/gnu/packages/zig.scm > @@ -0,0 +1,65 @@ > +;;; GNU Guix --- Functional package management for GNU > +;;; Copyright © 2021 Leo Prikler > +;;; > +;;; 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 . > + > +(define-module (gnu packages zig) > + #:use-module (guix packages) > + #:use-module (guix git-download) > + #:use-module ((guix licenses) #:prefix license:) > + #:use-module (guix build-system cmake) > + #:use-module (gnu packages) > + #:use-module (gnu packages llvm)) > + > +(define-public zig > + (package > + (name "zig") > + (version "0.7.1") > + (source > + (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/ziglang/zig.git") > + (commit version))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 "1z6c4ym9jmga46cw2arn7zv2drcpmrf3vw139gscxp27n7q2z5md")))) > + (build-system cmake-build-system) > + (native-inputs > + `(("clang" ,clang-11) > + ("lld" ,lld) > + ("llvm" ,llvm-11))) Does it work to replace these three with clang-toolchain-11? > + (arguments > + `(#:tests? #f ; no check target > + #:phases > + (modify-phases %standard-phases > + (add-after 'configure 'set-home > + (lambda _ > + (setenv "HOME" (getcwd)) ; zig writes to $HOME/.cache > + #t))))) > + (synopsis "General purpose programming language and toolchain") > + (description "Zig is a general-purpose programming language and > +toolchain. Among other features it provides > +@itemize > +@item an Optional type instead of null pointers, > +@item manual memory management, > +@item generic data structures and functions, > +@item compile-time reflection and compile-time code execution, > +@item integration with C using zig as a C compiler, and > +@item concurrency via async functions. > +@end itemize") > + (home-page "https://github.com/ziglang/zig") > + (license license:expat))) > -- > 2.30.1 > > > > -- Efraim Flashner אפרים פלשנר GPG key = A28B F40C 3E55 1372 662D 14F7 41AA E7DC CA3D 8351 Confidentiality cannot be guaranteed on emails sent or received unencrypted