mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 04:05:40 +03:00
zig: fix cc and bintools (#412540)
This commit is contained in:
commit
1f38e4cb8d
3 changed files with 14 additions and 7 deletions
|
@ -4,6 +4,7 @@
|
||||||
zig,
|
zig,
|
||||||
runCommand,
|
runCommand,
|
||||||
makeWrapper,
|
makeWrapper,
|
||||||
|
coreutils,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
targetPrefix = lib.optionalString (
|
targetPrefix = lib.optionalString (
|
||||||
|
@ -26,9 +27,12 @@ runCommand "zig-bintools-${zig.version}"
|
||||||
}
|
}
|
||||||
''
|
''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
for tool in ar objcopy ranlib; do
|
for tool in ar objcopy ranlib ld.lld; do
|
||||||
makeWrapper "$zig/bin/zig" "$out/bin/${targetPrefix}$tool" \
|
makeWrapper "$zig/bin/zig" "$out/bin/$tool" \
|
||||||
--add-flags "$tool" \
|
--add-flags "$tool" \
|
||||||
|
--suffix PATH : "${lib.makeBinPath [ coreutils ]}" \
|
||||||
--run "export ZIG_GLOBAL_CACHE_DIR=\$(mktemp -d)"
|
--run "export ZIG_GLOBAL_CACHE_DIR=\$(mktemp -d)"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
ln -s $out/bin/ld.lld $out/bin/ld
|
||||||
''
|
''
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
zig,
|
zig,
|
||||||
stdenv,
|
stdenv,
|
||||||
makeWrapper,
|
makeWrapper,
|
||||||
|
coreutils,
|
||||||
}:
|
}:
|
||||||
let
|
let
|
||||||
targetPrefix = lib.optionalString (
|
targetPrefix = lib.optionalString (
|
||||||
|
@ -27,12 +28,13 @@ runCommand "zig-cc-${zig.version}"
|
||||||
''
|
''
|
||||||
mkdir -p $out/bin
|
mkdir -p $out/bin
|
||||||
for tool in cc c++ ld.lld; do
|
for tool in cc c++ ld.lld; do
|
||||||
makeWrapper "$zig/bin/zig" "$out/bin/${targetPrefix}$tool" \
|
makeWrapper "$zig/bin/zig" "$out/bin/$tool" \
|
||||||
--add-flags "$tool" \
|
--add-flags "$tool" \
|
||||||
|
--suffix PATH : "${lib.makeBinPath [ coreutils ]}" \
|
||||||
--run "export ZIG_GLOBAL_CACHE_DIR=\$(mktemp -d)"
|
--run "export ZIG_GLOBAL_CACHE_DIR=\$(mktemp -d)"
|
||||||
done
|
done
|
||||||
|
|
||||||
mv $out/bin/${targetPrefix}c++ $out/bin/${targetPrefix}clang++
|
ln -s $out/bin/c++ $out/bin/clang++
|
||||||
mv $out/bin/${targetPrefix}cc $out/bin/${targetPrefix}clang
|
ln -s $out/bin/cc $out/bin/clang
|
||||||
mv $out/bin/${targetPrefix}ld.lld $out/bin/${targetPrefix}ld
|
ln -s $out/bin/ld.lld $out/bin/ld
|
||||||
''
|
''
|
||||||
|
|
|
@ -155,10 +155,11 @@ stdenv.mkDerivation (finalAttrs: {
|
||||||
cc = wrapCCWith {
|
cc = wrapCCWith {
|
||||||
cc = finalAttrs.finalPackage.cc-unwrapped;
|
cc = finalAttrs.finalPackage.cc-unwrapped;
|
||||||
bintools = finalAttrs.finalPackage.bintools;
|
bintools = finalAttrs.finalPackage.bintools;
|
||||||
|
extraPackages = [ ];
|
||||||
nixSupport.cc-cflags =
|
nixSupport.cc-cflags =
|
||||||
[
|
[
|
||||||
"-target"
|
"-target"
|
||||||
"${stdenv.targetPlatform.config}"
|
"${stdenv.targetPlatform.system}-${stdenv.targetPlatform.parsed.abi.name}"
|
||||||
]
|
]
|
||||||
++ lib.optional (
|
++ lib.optional (
|
||||||
stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.isStatic or false)
|
stdenv.targetPlatform.isLinux && !(stdenv.targetPlatform.isStatic or false)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue