diff options
author | John Ericson <John.Ericson@Obsidian.Systems> | 2021-05-06 15:56:46 -0400 |
---|---|---|
committer | John Ericson <John.Ericson@Obsidian.Systems> | 2021-05-11 16:07:01 -0400 |
commit | 7bba32a069ae9b96e8d78f4d0bb4561f1677fd20 (patch) | |
tree | 39c6c9112e69cd141565e11667b4c74000d8ba42 /pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix | |
parent | 912c8262b42aba8eba0914d72a924ae32e06034e (diff) | |
download | nixpkgs-7bba32a069ae9b96e8d78f4d0bb4561f1677fd20.tar nixpkgs-7bba32a069ae9b96e8d78f4d0bb4561f1677fd20.tar.gz nixpkgs-7bba32a069ae9b96e8d78f4d0bb4561f1677fd20.tar.bz2 nixpkgs-7bba32a069ae9b96e8d78f4d0bb4561f1677fd20.tar.lz nixpkgs-7bba32a069ae9b96e8d78f4d0bb4561f1677fd20.tar.xz nixpkgs-7bba32a069ae9b96e8d78f4d0bb4561f1677fd20.tar.zst nixpkgs-7bba32a069ae9b96e8d78f4d0bb4561f1677fd20.zip |
darwin packages: Get ready for cross
If things build fine with `stdenvNoCC`, let them use that. If tools might be prefixed, prepare for that, either by directly splicing or just using the env vars provided by the wrapper setup-hooks. Co-authored-by: Dmitry Kalinkin <dmitry.kalinkin@gmail.com>
Diffstat (limited to 'pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix')
-rw-r--r-- | pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix index 800da92dae9..ff98ed88804 100644 --- a/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix +++ b/pkgs/os-specific/darwin/apple-source-releases/bootstrap_cmds/default.nix @@ -1,4 +1,13 @@ -{ lib, stdenv, appleDerivation, bison, flex }: +{ lib, appleDerivation, stdenv, bison, flex }: + +let + + # Hard to get CC to pull this off without infinite recursion + targetTargetPrefix = lib.optionalString + (with stdenv; hostPlatform != targetPlatform) + (stdenv.targetPlatform.config + "-"); + +in appleDerivation { nativeBuildInputs = [ bison flex ]; @@ -12,7 +21,7 @@ appleDerivation { yacc -d parser.y flex --header-file=lexxer.yy.h -o lexxer.yy.c lexxer.l - cc -std=gnu99 -Os -dead_strip -DMIG_VERSION=\"$pname-$version\" -I. -o migcom *.c + $CC -std=gnu99 -Os -dead_strip -DMIG_VERSION=\"$pname-$version\" -I. -o migcom *.c ''; installPhase = '' @@ -29,6 +38,6 @@ appleDerivation { --replace 'arch=`/usr/bin/arch`' 'arch=${stdenv.targetPlatform.darwinArch}' \ --replace '/usr/bin/' "" \ --replace '/bin/rmdir' "rmdir" \ - --replace 'C=''${MIGCC}' "C=cc" + --replace 'C=''${MIGCC}' "C=${targetTargetPrefix}cc" ''; } |