zig: move passthru into a separate file & add fetcher (#414567)
This commit is contained in:
@@ -25,25 +25,14 @@ stdenv.mkDerivation (finalAttrs: {
|
||||
|
||||
postUnpack = ''
|
||||
ln -s ${
|
||||
runCommand "${finalAttrs.finalPackage.name}-zig-deps"
|
||||
{
|
||||
inherit (finalAttrs) src;
|
||||
|
||||
nativeBuildInputs = [ zig_0_14 ];
|
||||
|
||||
outputHashAlgo = null;
|
||||
outputHashMode = "recursive";
|
||||
outputHash = "sha256-wBIfLeaKtTow2Z7gjEgIFmqcTGWgpRWI+k0t294BslM=";
|
||||
}
|
||||
''
|
||||
export ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
|
||||
|
||||
runHook unpackPhase
|
||||
cd $sourceRoot
|
||||
|
||||
zig build --fetch
|
||||
mv $ZIG_GLOBAL_CACHE_DIR/p $out
|
||||
''
|
||||
zig_0_14.fetchDeps {
|
||||
inherit (finalAttrs)
|
||||
src
|
||||
pname
|
||||
version
|
||||
;
|
||||
hash = "sha256-wBIfLeaKtTow2Z7gjEgIFmqcTGWgpRWI+k0t294BslM=";
|
||||
}
|
||||
} $ZIG_GLOBAL_CACHE_DIR/p
|
||||
'';
|
||||
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
lib,
|
||||
zig,
|
||||
runCommand,
|
||||
}:
|
||||
{
|
||||
pname,
|
||||
version,
|
||||
name ? "${pname}-${version}",
|
||||
src,
|
||||
hash ? lib.fakeHash,
|
||||
}@args:
|
||||
runCommand "${name}-zig-deps"
|
||||
{
|
||||
inherit (args) src;
|
||||
|
||||
nativeBuildInputs = [ zig ];
|
||||
|
||||
outputHashAlgo = null;
|
||||
outputHashMode = "recursive";
|
||||
outputHash = hash;
|
||||
}
|
||||
''
|
||||
export ZIG_GLOBAL_CACHE_DIR=$(mktemp -d)
|
||||
|
||||
runHook unpackPhase
|
||||
|
||||
cd $sourceRoot
|
||||
zig build --fetch
|
||||
|
||||
mv $ZIG_GLOBAL_CACHE_DIR/p $out
|
||||
''
|
||||
@@ -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 = {
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
{
|
||||
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;
|
||||
|
||||
fetchDeps = callPackage ./fetcher.nix { inherit zig; };
|
||||
}
|
||||
Reference in New Issue
Block a user