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 | |
parent | 1a11c24858bf5ff3af351af62f3f7ba8dca9e491 (diff) |
zig: remove, because we bootstrapped in guix
-rw-r--r-- | zig-Revert-Never-implicitly-add-rpaths-for-each-lib-dir-.patch | 40 | ||||
-rw-r--r-- | zig-do-not-link-against-librt.patch | 10 | ||||
-rw-r--r-- | zig.scm | 189 |
3 files changed, 0 insertions, 239 deletions
diff --git a/zig-Revert-Never-implicitly-add-rpaths-for-each-lib-dir-.patch b/zig-Revert-Never-implicitly-add-rpaths-for-each-lib-dir-.patch deleted file mode 100644 index 388b7c5..0000000 --- a/zig-Revert-Never-implicitly-add-rpaths-for-each-lib-dir-.patch +++ /dev/null @@ -1,40 +0,0 @@ -From b0e5390d0b2add2eb33496dc465e0ab360995d15 Mon Sep 17 00:00:00 2001 -From: Ekaitz Zarraga <ekaitz@elenq.tech> -Date: Fri, 17 Nov 2023 23:20:58 +0100 -Subject: [PATCH] Revert "Never implicitly add rpaths for each lib dir, add - NixOS libdir to rpath" - -This reverts commit 6fd7c2993044b2f6f43af1c640c11be22eca426c. ---- - lib/std/zig/system/NativePaths.zig | 1 - - src/Compilation.zig | 2 +- - 2 files changed, 1 insertion(+), 2 deletions(-) - -diff --git a/lib/std/zig/system/NativePaths.zig b/lib/std/zig/system/NativePaths.zig -index 4c8f1286b..cfa567f4b 100644 ---- a/lib/std/zig/system/NativePaths.zig -+++ b/lib/std/zig/system/NativePaths.zig -@@ -61,7 +61,6 @@ pub fn detect(arena: Allocator, native_info: NativeTargetInfo) !NativePaths { - } else if (word.len > 2 and word[0] == '-' and word[1] == 'L') { - const lib_path = word[2..]; - try self.addLibDir(lib_path); -- try self.addRPath(lib_path); - } else { - try self.addWarningFmt("Unrecognized C flag from NIX_LDFLAGS: {s}", .{word}); - break; -diff --git a/src/Compilation.zig b/src/Compilation.zig -index a08c3e09f..1c73f8467 100644 ---- a/src/Compilation.zig -+++ b/src/Compilation.zig -@@ -1542,7 +1542,7 @@ pub fn create(gpa: Allocator, options: InitOptions) !*Compilation { - .llvm_cpu_features = llvm_cpu_features, - .skip_linker_dependencies = options.skip_linker_dependencies, - .parent_compilation_link_libc = options.parent_compilation_link_libc, -- .each_lib_rpath = options.each_lib_rpath orelse false, -+ .each_lib_rpath = options.each_lib_rpath orelse options.is_native_os, - .build_id = build_id, - .cache_mode = cache_mode, - .disable_lld_caching = options.disable_lld_caching or cache_mode == .whole, --- -2.41.0 - diff --git a/zig-do-not-link-against-librt.patch b/zig-do-not-link-against-librt.patch deleted file mode 100644 index 3239efb..0000000 --- a/zig-do-not-link-against-librt.patch +++ /dev/null @@ -1,10 +0,0 @@ ---- a/src/target.zig 2023-04-22 11:44:47.917416658 +0200 -+++ b/src/target.zig 2023-04-22 11:45:04.577465352 +0200 -@@ -478,7 +478,6 @@ - "-lpthread", - "-lc", - "-ldl", -- "-lrt", - "-lutil", - }, - }, 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))) |