From fa498b5c7bbaca32d9a2e7d4fdc0299c88514016 Mon Sep 17 00:00:00 2001 From: Erik Arvstedt Date: Thu, 18 Jan 2024 22:47:50 +0100 Subject: [PATCH] update to Zig `0.12.0-dev.2271+14efbbfd8` --- default.nix | 1 + run | 8 +++++--- zig-release.nix | 10 +++++----- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/default.nix b/default.nix index 8ba001c..ef75058 100644 --- a/default.nix +++ b/default.nix @@ -47,6 +47,7 @@ rec { buildInputs = with pkgs; [ libxml2 zlib + libgcc.lib ] ++ (with llvmPackages; [ libclang lld diff --git a/run b/run index 4069e9a..a54d76c 100755 --- a/run +++ b/run @@ -31,7 +31,7 @@ buildBootstrap() { ninja install - setGlibc "$build_dir/stage3/bin/zig" + fixDynamicLinking "$build_dir/stage3/bin/zig" } # As a faster alternative to `buildBootstrap`, fetch a prebuilt Zig stage3 binary @@ -67,8 +67,10 @@ prepareBuild() { # (because the linker uses the glibc directory in which the linker itself is located). # But it fixes "wrong version" warnings for glibc in tools like `ldd`, which only use # resources like RPATH for resolving shared libraries. -setGlibc() { +fixDynamicLinking() { binary=$1 + patchelf --shrink-rpath \ + "$binary" patchelf --set-interpreter "$(cat "$NIX_BINTOOLS/nix-support/dynamic-linker")" \ --add-rpath "$(cat "$NIX_BINTOOLS/nix-support/orig-libc")/lib" \ "$binary" @@ -102,7 +104,7 @@ build() { printAndRun "$build_dir"/stage3/bin/zig build --prefix "$build_dir/$prefix" \ --cache-dir "$build_dir/zig-cache" -Denable-llvm -Dno-lib "$@" - setGlibc "$build_dir/$prefix/bin/zig" + fixDynamicLinking "$build_dir/$prefix/bin/zig" } #――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――――― diff --git a/zig-release.nix b/zig-release.nix index 3add9d5..0e4b89f 100644 --- a/zig-release.nix +++ b/zig-release.nix @@ -1,11 +1,11 @@ { - version = "0.12.0-dev.2201+89d4ac628"; + version = "0.12.0-dev.2271+14efbbfd8"; src = { - rev = "89d4ac628959fe301ee93b88fdc66ab1988d5f33"; - hash = "sha256-IwRbVdhZk/O04ED4NHsnMApH552lm+spOnmAxJOaI30="; + rev = "14efbbfd89c7e034436faa87a201a35324b9dff3"; + hash = "sha256-F05xeoE4Sr1X9Sus5FzuQbhNt/xiot6i0x0gVKg1huw="; }; binaries = { - x86_64-linux.sha256 = "51bdf4502c046fc01815d4622368741cce9d773d0c5bf80930f10f3d74a682df"; - aarch64-linux.sha256 = "00b1d8f1c277f5fc79d681d3b74c6ab69ccf667c64e36c21c3f07ca972667064"; + x86_64-linux.sha256 = "096ee7c645a8de11981b12e174b099b626d89bc6d3530e961b941c80cf3792d8"; + aarch64-linux.sha256 = "8ea9a3ad1e43b93fa42784f308669dfddeb2840747e69cad2ed0e8ae5dcc1764"; }; }