hako pushed a commit to branch wip-zig-bootstrap
in repository guix.

commit 501faf1276403212dce7dd81cb1063c281456f8e
Author: Hilton Chain <[email protected]>
AuthorDate: Sat Dec 21 16:43:22 2024 +0800

    gnu: Remove zig-0.9.
    
    * gnu/packages/zig.scm (zig-0.10): Expand definition.
    (zig-0.9-glibc-abi-tool,zig-0.9): Delete variables.
    * gnu/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch:
    Delete file.
    * gnu/packages/patches/zig-0.9-fix-runpath.patch: Delete file.
    * gnu/packages/patches/zig-0.9-riscv-support.patch: Delete file.
    * gnu/packages/patches/zig-0.9-use-system-paths.patch: Delete file.
    * gnu/local.mk (dist_patch_DATA): Unregisiter them.
    
    Change-Id: Ice060dad2b347edfe2743833e31eeabdec0b13dd
---
 gnu/local.mk                                       |   4 -
 .../zig-0.9-build-respect-PKG_CONFIG-env-var.patch |  48 -------
 gnu/packages/patches/zig-0.9-fix-runpath.patch     |  27 ----
 gnu/packages/patches/zig-0.9-riscv-support.patch   |  47 -------
 .../patches/zig-0.9-use-system-paths.patch         | 136 -------------------
 gnu/packages/zig.scm                               | 148 +++++----------------
 6 files changed, 33 insertions(+), 377 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 6fa1a9fd45..c46ad41c49 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -2387,11 +2387,7 @@ dist_patch_DATA =                                        
        \
   %D%/packages/patches/xygrib-fix-finding-data.patch           \
   %D%/packages/patches/xygrib-newer-proj.patch                 \
   %D%/packages/patches/yggdrasil-extra-config.patch    \
-  %D%/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch  \
-  %D%/packages/patches/zig-0.9-fix-runpath.patch               \
-  %D%/packages/patches/zig-0.9-riscv-support.patch             \
   %D%/packages/patches/zig-0.9-use-baseline-cpu-by-default.patch       \
-  %D%/packages/patches/zig-0.9-use-system-paths.patch          \
   %D%/packages/patches/zig-0.10-build-respect-PKG_CONFIG-env-var.patch \
   %D%/packages/patches/zig-0.10-fix-runpath.patch              \
   %D%/packages/patches/zig-0.10-use-system-paths.patch         \
diff --git 
a/gnu/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch 
b/gnu/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch
deleted file mode 100644
index a1b41fcc55..0000000000
--- a/gnu/packages/patches/zig-0.9-build-respect-PKG_CONFIG-env-var.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From 302d9fe6de6572f82c77c63585f77edb858197d7 Mon Sep 17 00:00:00 2001
-From: Hilton Chain <[email protected]>
-Date: Sun, 17 Nov 2024 18:08:21 +0800
-Subject: [PATCH 1/5] zig build: respect `PKG_CONFIG` environment variable
-
-[Upstream commit: d263f1ec0eb988f0e4ed1859351f5040f590996b]
-
-`PKG_CONFIG` environment variable is used to override path to
-pkg-config executable, for example when it's name is prepended by
-target triple for cross-compilation purposes:
-
-```
-PKG_CONFIG=/usr/bin/aarch64-unknown-linux-gnu-pkgconf zig build
-```
-
-Signed-off-by: Eric Joldasov <[email protected]>
----
- lib/std/build.zig | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/lib/std/build.zig b/lib/std/build.zig
-index 8eda542d6e..e44093bde4 100644
---- a/lib/std/build.zig
-+++ b/lib/std/build.zig
-@@ -1265,7 +1265,8 @@ pub const Builder = struct {
-     }
- 
-     fn execPkgConfigList(self: *Builder, out_code: *u8) ![]const PkgConfigPkg 
{
--        const stdout = try self.execAllowFail(&[_][]const u8{ "pkg-config", 
"--list-all" }, out_code, .Ignore);
-+        const pkg_config_exe = self.env_map.get("PKG_CONFIG") orelse 
"pkg-config";
-+        const stdout = try self.execAllowFail(&[_][]const u8{ pkg_config_exe, 
"--list-all" }, out_code, .Ignore);
-         var list = ArrayList(PkgConfigPkg).init(self.allocator);
-         errdefer list.deinit();
-         var line_it = mem.tokenize(u8, stdout, "\r\n");
-@@ -1932,8 +1933,9 @@ pub const LibExeObjStep = struct {
-         };
- 
-         var code: u8 = undefined;
-+        const pkg_config_exe = self.builder.env_map.get("PKG_CONFIG") orelse 
"pkg-config";
-         const stdout = if (self.builder.execAllowFail(&[_][]const u8{
--            "pkg-config",
-+            pkg_config_exe,
-             pkg_name,
-             "--cflags",
-             "--libs",
--- 
-2.46.0
-
diff --git a/gnu/packages/patches/zig-0.9-fix-runpath.patch 
b/gnu/packages/patches/zig-0.9-fix-runpath.patch
deleted file mode 100644
index 65677f6b06..0000000000
--- a/gnu/packages/patches/zig-0.9-fix-runpath.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 97d6b38ee78941b96bfd30dc2c814fd9c38561e3 Mon Sep 17 00:00:00 2001
-From: Hilton Chain <[email protected]>
-Date: Wed, 27 Nov 2024 11:55:44 +0800
-Subject: [PATCH] Fix RUNPATH issue.
-
-Add needed libraries and libc to RUNPATH when CROSS_LIBRARY_PATH or 
LIBRARY_PATH
-is set.
----
- src/Compilation.zig | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Compilation.zig b/src/Compilation.zig
-index b44c7da78d..be28538e6a 100644
---- a/src/Compilation.zig
-+++ b/src/Compilation.zig
-@@ -1515,7 +1515,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 
options.is_native_os,
-+            .each_lib_rpath = std.zig.system.NativePaths.isGuix(arena) or 
options.each_lib_rpath orelse false,
-             .disable_lld_caching = options.disable_lld_caching,
-             .subsystem = options.subsystem,
-             .is_test = options.is_test,
--- 
-2.46.0
-
diff --git a/gnu/packages/patches/zig-0.9-riscv-support.patch 
b/gnu/packages/patches/zig-0.9-riscv-support.patch
deleted file mode 100644
index 372a68ea02..0000000000
--- a/gnu/packages/patches/zig-0.9-riscv-support.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-https://github.com/ziglang/zig/commit/ca3c4ff2d0afcdc8fe86e7e7b41a967c88779729
-From: Shupei Fan <[email protected]>
-zig0: properly set llvm_cpu_names and llvm_cpu_features for riscv
-
-Bug: https://bugs.gentoo.org/851732
-
---- a/src/stage1/zig0.cpp
-+++ b/src/stage1/zig0.cpp
-@@ -160,6 +160,17 @@ static void get_native_target(ZigTarget *target) {
-     }
- }
- 
-+static const char* get_baseline_llvm_cpu_name(ZigLLVM_ArchType arch) {
-+    return "";
-+}
-+
-+static const char* get_baseline_llvm_cpu_features(ZigLLVM_ArchType arch) {
-+    switch (arch) {
-+        case ZigLLVM_riscv64: return "+a,+c,+d,+m";
-+        default: return "";
-+    }
-+}
-+
- static Error target_parse_triple(struct ZigTarget *target, const char 
*zig_triple, const char *mcpu,
-         const char *dynamic_linker)
- {
-@@ -178,8 +189,8 @@ static Error target_parse_triple(struct ZigTarget *target, 
const char *zig_tripl
-         } else if (strcmp(mcpu, "baseline") == 0) {
-             target->is_native_os = false;
-             target->is_native_cpu = false;
--            target->llvm_cpu_name = "";
--            target->llvm_cpu_features = "";
-+            target->llvm_cpu_name = get_baseline_llvm_cpu_name(target->arch);
-+            target->llvm_cpu_features = 
get_baseline_llvm_cpu_features(target->arch);
-         } else {
-             const char *msg = "stage0 can't handle CPU/features in the 
target";
-             stage2_panic(msg, strlen(msg));
-@@ -220,6 +231,9 @@ static Error target_parse_triple(struct ZigTarget *target, 
const char *zig_tripl
-             const char *msg = "stage0 can't handle CPU/features in the 
target";
-             stage2_panic(msg, strlen(msg));
-         }
-+
-+        target->llvm_cpu_name = get_baseline_llvm_cpu_name(target->arch);
-+        target->llvm_cpu_features = 
get_baseline_llvm_cpu_features(target->arch);
-     }
- 
-     return ErrorNone;
diff --git a/gnu/packages/patches/zig-0.9-use-system-paths.patch 
b/gnu/packages/patches/zig-0.9-use-system-paths.patch
deleted file mode 100644
index 81799aa5ee..0000000000
--- a/gnu/packages/patches/zig-0.9-use-system-paths.patch
+++ /dev/null
@@ -1,136 +0,0 @@
-From 751da768de9b58126fef8f69c70eea5c4180f739 Mon Sep 17 00:00:00 2001
-From: Hilton Chain <[email protected]>
-Date: Wed, 27 Nov 2024 11:54:51 +0800
-Subject: [PATCH] Use system paths.
-
-Prefer Guix search paths and support Guix cross builds.
----
- lib/std/zig/system/NativePaths.zig      | 56 ++++++++++++++++++++++++-
- lib/std/zig/system/NativeTargetInfo.zig | 25 +++++++++--
- src/main.zig                            |  3 +-
- 3 files changed, 78 insertions(+), 6 deletions(-)
-
-diff --git a/lib/std/zig/system/NativePaths.zig 
b/lib/std/zig/system/NativePaths.zig
-index 8e3e46e481..bb6ac32da6 100644
---- a/lib/std/zig/system/NativePaths.zig
-+++ b/lib/std/zig/system/NativePaths.zig
-@@ -25,7 +25,53 @@ pub fn detect(allocator: Allocator, native_info: 
NativeTargetInfo) !NativePaths
-         .warnings = ArrayList([:0]u8).init(allocator),
-     };
-     errdefer self.deinit();
--
-+    if (isGuix(allocator)) {
-+        const guix_cross_include_paths = [_][]const u8{ 
"CROSS_C_INCLUDE_PATH", "CROSS_CPLUS_INCLUDE_PATH" };
-+        for (guix_cross_include_paths) |env_var| {
-+            if (process.getEnvVarOwned(allocator, env_var)) |include_path| {
-+                var it = mem.tokenize(u8, include_path, ":");
-+                while (it.next()) |dir|
-+                    try self.addIncludeDir(dir);
-+            } else |err| switch (err) {
-+                error.InvalidUtf8 => {},
-+                error.EnvironmentVariableNotFound => {},
-+                error.OutOfMemory => |e| return e,
-+            }
-+        }
-+        if (process.getEnvVarOwned(allocator, "CROSS_LIBRARY_PATH")) 
|library_path| {
-+            var it = mem.tokenize(u8, library_path, ":");
-+            while (it.next()) |dir|
-+                try self.addLibDir(dir);
-+        } else |err| switch (err) {
-+            error.InvalidUtf8 => {},
-+            error.EnvironmentVariableNotFound => {},
-+            error.OutOfMemory => |e| return e,
-+        }
-+        if (!isCrossGuix(allocator)) {
-+            const guix_include_paths = [_][]const u8{ "C_INCLUDE_PATH", 
"CPLUS_INCLUDE_PATH" };
-+            for (guix_include_paths) |env_var| {
-+                if (process.getEnvVarOwned(allocator, env_var)) 
|include_path| {
-+                    var it = mem.tokenize(u8, include_path, ":");
-+                    while (it.next()) |dir|
-+                        try self.addIncludeDir(dir);
-+                } else |err| switch (err) {
-+                    error.InvalidUtf8 => {},
-+                    error.EnvironmentVariableNotFound => {},
-+                    error.OutOfMemory => |e| return e,
-+                }
-+            }
-+            if (process.getEnvVarOwned(allocator, "LIBRARY_PATH")) 
|library_path| {
-+                var it = mem.tokenize(u8, library_path, ":");
-+                while (it.next()) |dir|
-+                    try self.addLibDir(dir);
-+            } else |err| switch (err) {
-+                error.InvalidUtf8 => {},
-+                error.EnvironmentVariableNotFound => {},
-+                error.OutOfMemory => |e| return e,
-+            }
-+        }
-+        return self;
-+    }
-     var is_nix = false;
-     if (process.getEnvVarOwned(allocator, "NIX_CFLAGS_COMPILE")) 
|nix_cflags_compile| {
-         defer allocator.free(nix_cflags_compile);
-@@ -203,3 +249,11 @@ fn appendArray(self: *NativePaths, array: 
*ArrayList([:0]u8), s: []const u8) !vo
-     errdefer array.allocator.free(item);
-     try array.append(item);
- }
-+
-+pub fn isCrossGuix(arena: Allocator) bool {
-+    return process.hasEnvVar(arena, "CROSS_LIBRARY_PATH") catch false;
-+}
-+
-+pub fn isGuix(arena: Allocator) bool {
-+    return isCrossGuix(arena) or process.hasEnvVar(arena, "LIBRARY_PATH") 
catch false;
-+}
-diff --git a/lib/std/zig/system/NativeTargetInfo.zig 
b/lib/std/zig/system/NativeTargetInfo.zig
-index af41fc7905..4ee5ee0b6e 100644
---- a/lib/std/zig/system/NativeTargetInfo.zig
-+++ b/lib/std/zig/system/NativeTargetInfo.zig
-@@ -784,10 +784,27 @@ fn defaultAbiAndDynamicLinker(cpu: Target.Cpu, os: 
Target.Os, cross_target: Cros
-     };
-     return NativeTargetInfo{
-         .target = target,
--        .dynamic_linker = if (cross_target.dynamic_linker.get() == null)
--            target.standardDynamicLinkerPath()
--        else
--            cross_target.dynamic_linker,
-+        .dynamic_linker = if (cross_target.dynamic_linker.get() == null) blk: 
{
-+            var standard_linker = target.standardDynamicLinkerPath();
-+            if (standard_linker.get()) |standard_linker_path| {
-+                if (builtin.os.tag != .windows and builtin.os.tag != .wasi) {
-+                    if (std.os.getenv("CROSS_LIBRARY_PATH") orelse 
std.os.getenv("LIBRARY_PATH")) |library_path| {
-+                        const linker_basename = 
fs.path.basename(standard_linker_path);
-+                        var buffer: [255]u8 = undefined;
-+                        var it = mem.tokenize(u8, library_path, ":");
-+                        while (it.next()) |dir| {
-+                            const linker_fullpath = std.fmt.bufPrint(&buffer, 
"{s}{s}{s}", .{ dir, fs.path.sep_str, linker_basename }) catch "";
-+                            const guix_linker_path = 
fs.cwd().realpath(linker_fullpath, &buffer) catch "";
-+                            if (guix_linker_path.len != 0) {
-+                                standard_linker.set(guix_linker_path);
-+                                break;
-+                            }
-+                        }
-+                    }
-+                }
-+            }
-+            break :blk standard_linker;
-+        } else cross_target.dynamic_linker,
-     };
- }
- 
-diff --git a/src/main.zig b/src/main.zig
-index 42daa95d3a..1ab9d0f7aa 100644
---- a/src/main.zig
-+++ b/src/main.zig
-@@ -2039,7 +2039,8 @@ fn buildOutputType(
-             want_native_include_dirs = true;
-     }
- 
--    if (sysroot == null and cross_target.isNativeOs() and 
(system_libs.count() != 0 or want_native_include_dirs)) {
-+    if (std.zig.system.NativePaths.isCrossGuix(arena) or
-+        sysroot == null and cross_target.isNativeOs() and 
(system_libs.count() != 0 or want_native_include_dirs)) {
-         const paths = std.zig.system.NativePaths.detect(arena, target_info) 
catch |err| {
-             fatal("unable to detect native system paths: {s}", 
.{@errorName(err)});
-         };
--- 
-2.46.0
-
diff --git a/gnu/packages/zig.scm b/gnu/packages/zig.scm
index 994bfc8b5a..224373f46a 100644
--- a/gnu/packages/zig.scm
+++ b/gnu/packages/zig.scm
@@ -100,32 +100,36 @@
          ;; IETF RFC documents have nonfree license.
          (find-files "." "^rfc[0-9]+\\.txt"))))))
 
-(define zig-0.9-glibc-abi-tool
+(define zig-0.10-glibc-abi-tool
   (origin
     (method git-fetch)
     (uri (git-reference
           (url "https://github.com/ziglang/glibc-abi-tool";)
-          (commit "6f992064f821c612f68806422b2780c9260cbc4c")))
+          (commit "b07bf67ab3c15881f13b9c3c03bcec04535760bb")))
     (file-name "glibc-abi-tool")
     (sha256
-     (base32 "0lsi3f2lkixcdidljby73by2sypywb813yqdapy9md4bi2h8hhgp"))))
+     (base32 "0csn3c9pj8wchwy5sk5lfnhjn8a3c8cp45fv7mkpi5bqxzdzf1na"))
+    (modules '((guix build utils)))
+    (snippet
+     #~(substitute* "consolidate.zig"
+         (("(@ctz.)u.., " _ prefix) prefix)
+         (("(@popCount.)u.., " _ prefix) prefix)))))
 
-(define-public zig-0.9
+(define-public zig-0.10
   (package
     (name "zig")
-    (version "0.9.1")
+    (version "0.10.1")
     (source
      (origin
        (inherit (zig-source
                  version version
-                 "0nfvgg23sw50ksy0z0ml6lkdsvmd0278mq29m23dbb2jsirkhry7"))
+                 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
        (patches
         (search-patches
-         "zig-0.9-build-respect-PKG_CONFIG-env-var.patch"
-         "zig-0.9-riscv-support.patch"
+         "zig-0.10-build-respect-PKG_CONFIG-env-var.patch"
          "zig-0.9-use-baseline-cpu-by-default.patch"
-         "zig-0.9-use-system-paths.patch"
-         "zig-0.9-fix-runpath.patch"))))
+         "zig-0.10-use-system-paths.patch"
+         "zig-0.10-fix-runpath.patch"))))
     (build-system cmake-build-system)
     (arguments
      (list
@@ -136,6 +140,8 @@
       (cons '(guix build zig-utils)
             '((guix build cmake-build-system)
               (guix build utils)))
+      #:out-of-source? #f               ;For tests.
+      #:tests? (not (%current-target-system))
       #:configure-flags
       #~(list (string-append "-DZIG_LIB_DIR=" #$output "/lib/zig")
               "-DZIG_TARGET_MCPU=baseline"
@@ -146,29 +152,16 @@
                    (lookup-platform-by-target-or-system
                     (or (%current-target-system)
                         (%current-system))))))
+              "-DZIG_SHARED_LLVM=ON"
               "-DZIG_USE_LLVM_CONFIG=ON")
-      #:out-of-source? #f         ; for tests
-      ;; There are too many unclear test failures.
-      #:tests? (not (or (target-riscv64?)
-                        (%current-target-system)))
       #:phases
       #~(modify-phases %standard-phases
-          #$@(if (target-riscv64?)
-                 ;; It is unclear why all these tests fail to build.
-                 `((add-after 'unpack 'adjust-tests
-                     (lambda _
-                       (substitute* "build.zig"
-                         ((".*addRuntimeSafetyTests.*") "")
-                         ((".*addRunTranslatedCTests.*") ""))
-                       (substitute* "test/standalone.zig"
-                         ;; These tests fail to build on riscv64-linux.
-                         ;; They both contain 'exe.linkSystemLibrary("c");'
-                         ((".*shared_library.*") "")
-                         ((".*mix_o_files.*") "")
-                         ;; ld.lld: error: undefined symbol: __tls_get_addr
-                         ;; Is this symbol x86 only in glibc?
-                         ((".*link_static_lib_as_system_lib.*") "")))))
-                 '())
+          (add-after 'patch-source-shebangs 'patch-more-shebangs
+            (lambda* (#:key inputs #:allow-other-keys)
+              ;; Zig uses information about an ELF file to determine the
+              ;; version of glibc and other data for native builds.
+              (substitute* "lib/std/zig/system/NativeTargetInfo.zig"
+                (("/usr/bin/env") (search-input-file inputs "bin/clang++")))))
           (add-before 'configure 'zig-configure zig-configure)
           (delete 'check)
           (add-after 'install 'check
@@ -178,12 +171,9 @@
                 ;; windows-msvc.
                 (unsetenv "ZIG_LIBC")
                 (invoke (string-append #$output "/bin/zig")
-                        ;; Testing the standard library takes >7.5GB RAM, and
-                        ;; will fail if it is OOM-killed.  The 'test-toolchain'
-                        ;; target skips standard library and doc tests.
-                        "build" "test-toolchain"
-                        ;; Stage 2 is experimental, not what we run with `zig',
-
+                        "build" "test"
+                        ;; We're not testing the compiler bootstrap chain.
+                        "-Dskip-stage1"
                         "-Dskip-stage2-tests"
                         ;; Non-native tests try to link and execute non-native
                         ;; binaries.
@@ -203,12 +193,14 @@
                  "abilists"
                  (string-append #$output "/lib/zig/libc/glibc"))))))))
     (inputs
-     (list clang-13                     ;Clang propagates llvm.
-           lld-13))
+     (list clang-15                     ;Clang propagates llvm.
+           lld-15
+           zlib
+           `(,zstd "lib")))
     ;; Zig compiles fine with GCC, but also needs native LLVM libraries.
     (native-inputs
-     (list llvm-13
-           zig-0.9-glibc-abi-tool))
+     (list llvm-15
+           zig-0.10-glibc-abi-tool))
     (native-search-paths
      (list $C_INCLUDE_PATH
            $CPLUS_INCLUDE_PATH
@@ -233,83 +225,9 @@ toolchain.  Among other features it provides
     (supported-systems %64bit-supported-systems)
     ;; Stage3 can take a lot of time and isn't verbose.
     (properties `((max-silent-time . 9600)
-                  ,@(clang-compiler-cpu-architectures "13")))
+                  ,@(clang-compiler-cpu-architectures "15")))
     (license license:expat)))
 
-(define zig-0.10-glibc-abi-tool
-  (origin
-    (method git-fetch)
-    (uri (git-reference
-          (url "https://github.com/ziglang/glibc-abi-tool";)
-          (commit "b07bf67ab3c15881f13b9c3c03bcec04535760bb")))
-    (file-name "glibc-abi-tool")
-    (sha256
-     (base32 "0csn3c9pj8wchwy5sk5lfnhjn8a3c8cp45fv7mkpi5bqxzdzf1na"))
-    (modules '((guix build utils)))
-    (snippet
-     #~(substitute* "consolidate.zig"
-         (("(@ctz.)u.., " _ prefix) prefix)
-         (("(@popCount.)u.., " _ prefix) prefix)))))
-
-(define-public zig-0.10
-  (package
-    (inherit zig-0.9)
-    (name "zig")
-    (version "0.10.1")
-    (source
-     (origin
-       (inherit (zig-source
-                 version version
-                 "1sh5xjsksl52i4cfv1qj36sz5h0ln7cq4pdhgs3960mk8a90im7b"))
-       (patches
-        (search-patches
-         "zig-0.10-build-respect-PKG_CONFIG-env-var.patch"
-         "zig-0.9-use-baseline-cpu-by-default.patch"
-         "zig-0.10-use-system-paths.patch"
-         "zig-0.10-fix-runpath.patch"))))
-    (arguments
-     (substitute-keyword-arguments
-         (strip-keyword-arguments '(#:tests?) (package-arguments zig-0.9))
-       ((#:configure-flags flags ''())
-        #~(cons "-DZIG_SHARED_LLVM=ON"
-                #$flags))
-       ((#:phases phases '%standard-phases)
-        #~(modify-phases #$phases
-            #$@(if (target-riscv64?)
-                   `((delete 'adjust-tests))
-                   '())
-            (add-after 'patch-source-shebangs 'patch-more-shebangs
-              (lambda* (#:key inputs #:allow-other-keys)
-                ;; Zig uses information about an ELF file to determine the
-                ;; version of glibc and other data for native builds.
-                (substitute* "lib/std/zig/system/NativeTargetInfo.zig"
-                  (("/usr/bin/env") (search-input-file inputs 
"bin/clang++")))))
-            (replace 'check
-              (lambda* (#:key tests? #:allow-other-keys)
-                (when tests?
-                  ;; error(libc_installation): msvc_lib_dir may not be empty 
for
-                  ;; windows-msvc.
-                  (unsetenv "ZIG_LIBC")
-                  (invoke (string-append #$output "/bin/zig")
-                          "build" "test"
-                          ;; We're not testing the compiler bootstrap chain.
-                          "-Dskip-stage1"
-                          "-Dskip-stage2-tests"
-                          ;; Non-native tests try to link and execute 
non-native
-                          ;; binaries.
-                          "-Dskip-non-native"))))))))
-    (inputs
-     (modify-inputs (package-inputs zig-0.9)
-       (prepend zlib `(,zstd "lib"))
-       (replace "clang" clang-15)
-       (replace "lld" lld-15)))
-    (native-inputs
-     (modify-inputs (package-native-inputs zig-0.9)
-       (replace "glibc-abi-tool" zig-0.10-glibc-abi-tool)
-       (replace "llvm" llvm-15)))
-    (properties `((max-silent-time . 9600)
-                  ,@(clang-compiler-cpu-architectures "15")))))
-
 
 ;;;
 ;;; Bootstrap path for Zig 0.11.

Reply via email to