summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEkaitz Zarraga <ekaitz@elenq.tech>2025-01-08 22:53:04 +0100
committerEkaitz Zarraga <ekaitz@elenq.tech>2025-01-08 22:53:04 +0100
commitb9aecb4bab8fa93e159a33845929a2d0021d90e4 (patch)
treedee5da8437e6673852b73053496be31babe39aef
parent1a11c24858bf5ff3af351af62f3f7ba8dca9e491 (diff)
zig: remove, because we bootstrapped in guix
-rw-r--r--zig-Revert-Never-implicitly-add-rpaths-for-each-lib-dir-.patch40
-rw-r--r--zig-do-not-link-against-librt.patch10
-rw-r--r--zig.scm189
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)))