From bac3beb820d7401038b1392c5b0b61faa1c2444d Mon Sep 17 00:00:00 2001 From: Tristan Ross Date: Fri, 6 Jun 2025 11:21:04 -0700 Subject: [PATCH] zig: move passthru into a separate file --- pkgs/development/compilers/zig/generic.nix | 33 +++++++-------------- pkgs/development/compilers/zig/passthru.nix | 33 +++++++++++++++++++++ 2 files changed, 44 insertions(+), 22 deletions(-) create mode 100644 pkgs/development/compilers/zig/passthru.nix diff --git a/pkgs/development/compilers/zig/generic.nix b/pkgs/development/compilers/zig/generic.nix index 5b95d7fd6b52..2f81039821b2 100644 --- a/pkgs/development/compilers/zig/generic.nix +++ b/pkgs/development/compilers/zig/generic.nix @@ -142,28 +142,17 @@ stdenv.mkDerivation (finalAttrs: { runHook postInstallCheck ''; - passthru = { - hook = callPackage ./hook.nix { zig = finalAttrs.finalPackage; }; - - bintools-unwrapped = callPackage ./bintools.nix { zig = finalAttrs.finalPackage; }; - bintools = wrapBintoolsWith { bintools = finalAttrs.finalPackage.bintools-unwrapped; }; - - cc-unwrapped = callPackage ./cc.nix { zig = finalAttrs.finalPackage; }; - cc = wrapCCWith { - cc = finalAttrs.finalPackage.cc-unwrapped; - bintools = finalAttrs.finalPackage.bintools; - extraPackages = [ ]; - nixSupport.cc-cflags = - [ - "-target" - "${stdenv.targetPlatform.system}-${stdenv.targetPlatform.parsed.abi.name}" - ] - ++ lib.optional ( - stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.isStatic or false) - ) "-Wl,-dynamic-linker=${targetPackages.stdenv.cc.bintools.dynamicLinker}"; - }; - - stdenv = overrideCC stdenv finalAttrs.finalPackage.cc; + passthru = import ./passthru.nix { + inherit + lib + stdenv + callPackage + wrapCCWith + wrapBintoolsWith + overrideCC + targetPackages + ; + zig = finalAttrs.finalPackage; }; meta = { diff --git a/pkgs/development/compilers/zig/passthru.nix b/pkgs/development/compilers/zig/passthru.nix new file mode 100644 index 000000000000..cdd4d574a763 --- /dev/null +++ b/pkgs/development/compilers/zig/passthru.nix @@ -0,0 +1,33 @@ +{ + lib, + stdenv, + zig, + callPackage, + wrapCCWith, + wrapBintoolsWith, + overrideCC, + targetPackages, +}: +{ + hook = callPackage ./hook.nix { inherit zig; }; + + bintools-unwrapped = callPackage ./bintools.nix { inherit zig; }; + bintools = wrapBintoolsWith { bintools = zig.bintools-unwrapped; }; + + cc-unwrapped = callPackage ./cc.nix { inherit zig; }; + cc = wrapCCWith { + cc = zig.cc-unwrapped; + bintools = zig.bintools; + extraPackages = [ ]; + nixSupport.cc-cflags = + [ + "-target" + "${stdenv.targetPlatform.system}-${stdenv.targetPlatform.parsed.abi.name}" + ] + ++ lib.optional ( + stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.isStatic or false) + ) "-Wl,-dynamic-linker=${targetPackages.stdenv.cc.bintools.dynamicLinker}"; + }; + + stdenv = overrideCC stdenv zig.cc; +}