diff options
author | Ekaitz Zarraga <ekaitz@elenq.tech> | 2025-01-08 22:53:04 +0100 |
---|---|---|
committer | Ekaitz Zarraga <ekaitz@elenq.tech> | 2025-01-08 22:53:04 +0100 |
commit | b9aecb4bab8fa93e159a33845929a2d0021d90e4 (patch) | |
tree | dee5da8437e6673852b73053496be31babe39aef /zig.scm | |
parent | 1a11c24858bf5ff3af351af62f3f7ba8dca9e491 (diff) |
zig: remove, because we bootstrapped in guix
Diffstat (limited to 'zig.scm')
-rw-r--r-- | zig.scm | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/zig.scm b/zig.scm deleted file mode 100644 index b3c009f..0000000 --- a/zig.scm +++ /dev/null @@ -1,189 +0,0 @@ -(define-module (zig) - #:use-module (guix packages) - #:use-module (guix utils) - #:use-module (guix gexp) - #:use-module (guix git-download) - #:use-module ((guix licenses) #:prefix license:) - #:use-module (guix build-system cmake) - #:use-module (guix build utils) - #:use-module (gnu packages) - #:use-module (gnu packages compression) - #:use-module (gnu packages gcc) - #:use-module (gnu packages llvm)) - -(define-public zig-0.11 - (package - (name "zig") - (version "0.11.0") - (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 "0qh7c27cd4wcdjj0mbpkarvwypfk1js8hkyxs0z149qv75zkbrca")) - (patches (search-patches "zig-do-not-link-against-librt.patch" - "zig-Revert-Never-implicitly-add-rpaths-for-each-lib-dir-.patch")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - (list ,@(if (%current-target-system) - '(string-append "-DZIG_TARGET_TRIPLE=" - (%current-target-system)) - '()) - (string-append "-DZIG_TARGET_MCPU=baseline") - "-DZIG_SHARED_LLVM=ON" - (string-append "-DZIG_LIB_DIR=" (assoc-ref %outputs "out") - "/lib/zig")) - #:validate-runpath? #f ; TODO: zig binary can't find ld-linux. - #:out-of-source? #f ; for tests - ;; Tests fails in: - ;; https://github.com/ziglang/zig/issues/18063 - #:tests? #f - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-env-variables - (lambda* (#:key inputs native-inputs #:allow-other-keys) - ;; Set CC, since the stage 2 zig relies on it to find the libc - ;; installation, and otherwise silently links against its own. - (setenv "CC" ,(cc-for-target)) - ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'. - (setenv "ZIG_GLOBAL_CACHE_DIR" - (string-append (getcwd) "/zig-cache")))) - (add-after 'patch-source-shebangs 'patch-more-shebangs - (lambda* (#:key inputs #:allow-other-keys) - ;; Zig uses information about /usr/bin/env to determine the - ;; version of glibc and other data. - (substitute* "lib/std/zig/system/NativeTargetInfo.zig" - (("/usr/bin/env") (search-input-file inputs "/bin/env"))))) - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs tests? #:allow-other-keys) - (when tests? - (invoke (string-append (assoc-ref outputs "out") "/bin/zig") - "build" "test" - ;; We're not testing the compiler bootstrap chain. - ;; Non-native tests try to link and execute non-native - ;; binaries. - "-Dskip-non-native"))))))) - (inputs - (list clang-16 ; Clang propagates llvm. - lld-16 - zlib - (list zstd "lib"))) - ;; Zig compiles fine with GCC, but also needs native LLVM libraries. - (native-inputs - (list llvm-16)) - (native-search-paths - (list - (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include/c++" "include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib" "lib64"))))) - (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))) - - -(define-public zig - (package - (name "zig") - (version "0.13.0") - (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 "0ly8042lbsa8019g0d1jg4l06rxpq2530n9mijq66n4lmx7a5976")) - (patches (search-patches "zig-do-not-link-against-librt.patch")))) - (build-system cmake-build-system) - (arguments - `(#:configure-flags - (list ,@(if (%current-target-system) - '(string-append "-DZIG_TARGET_TRIPLE=" - (%current-target-system)) - '()) - (string-append "-DZIG_TARGET_MCPU=baseline") - "-DZIG_SHARED_LLVM=ON" - (string-append "-DZIG_LIB_DIR=" (assoc-ref %outputs "out") - "/lib/zig")) - #:validate-runpath? #f ; TODO: zig binary can't find ld-linux. - #:out-of-source? #f ; for tests - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'set-env-variables - (lambda* (#:key inputs native-inputs #:allow-other-keys) - ;; Set CC, since the stage 2 zig relies on it to find the libc - ;; installation, and otherwise silently links against its own. - (setenv "CC" ,(cc-for-target)) - ;; Set cache dir, otherwise Zig looks for `$HOME/.cache'. - (setenv "ZIG_GLOBAL_CACHE_DIR" - (string-append (getcwd) "/zig-cache")))) - (add-after 'patch-source-shebangs 'patch-more-shebangs - (lambda* (#:key inputs #:allow-other-keys) - ;; Zig uses information about /usr/bin/env to determine the - ;; version of glibc and other data. - (substitute* "lib/std/zig/system.zig" - (("/usr/bin/env") (search-input-file inputs "/bin/env"))))) - (delete 'check) - (add-after 'install 'check - (lambda* (#:key outputs tests? #:allow-other-keys) - (when tests? - ;; Only run behavioral tests, no-cross - (invoke (string-append (assoc-ref outputs "out") "/bin/zig") - "test" - "-I" "test" - "test/behavior.zig"))))))) - (inputs - (list (list gcc "lib") - clang-18 ; Clang propagates llvm. - lld-18 - zlib - (list zstd "lib"))) - ;; Zig compiles fine with GCC, but also needs native LLVM libraries. - (native-inputs - (list llvm-18)) - (native-search-paths - (list - (search-path-specification - (variable "C_INCLUDE_PATH") - (files '("include"))) - (search-path-specification - (variable "CPLUS_INCLUDE_PATH") - (files '("include/c++" "include"))) - (search-path-specification - (variable "LIBRARY_PATH") - (files '("lib" "lib64"))))) - (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))) |