diff options
author | Frederik Rietdijk <fridh@fridh.nl> | 2019-02-21 07:54:33 +0100 |
---|---|---|
committer | Frederik Rietdijk <fridh@fridh.nl> | 2019-02-21 07:54:33 +0100 |
commit | e2cd07b9978198696681776405c4e23526d483a7 (patch) | |
tree | 3986a58bee29938ea6fd1ef205fcd526ba7dec67 /pkgs/build-support | |
parent | c9b14043f0e66fff8facd866c0786b414e0765c1 (diff) | |
parent | c9d8f5235bd9201355a7817cab79d38a8bc6e731 (diff) | |
download | nixlib-e2cd07b9978198696681776405c4e23526d483a7.tar nixlib-e2cd07b9978198696681776405c4e23526d483a7.tar.gz nixlib-e2cd07b9978198696681776405c4e23526d483a7.tar.bz2 nixlib-e2cd07b9978198696681776405c4e23526d483a7.tar.lz nixlib-e2cd07b9978198696681776405c4e23526d483a7.tar.xz nixlib-e2cd07b9978198696681776405c4e23526d483a7.tar.zst nixlib-e2cd07b9978198696681776405c4e23526d483a7.zip |
Merge staging-next into staging
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/bintools-wrapper/default.nix | 1 | ||||
-rw-r--r-- | pkgs/build-support/build-bazel-package/default.nix | 41 | ||||
-rw-r--r-- | pkgs/build-support/fetchsvn/default.nix | 2 |
3 files changed, 41 insertions, 3 deletions
diff --git a/pkgs/build-support/bintools-wrapper/default.nix b/pkgs/build-support/bintools-wrapper/default.nix index 4122af898de9..142f5255caad 100644 --- a/pkgs/build-support/bintools-wrapper/default.nix +++ b/pkgs/build-support/bintools-wrapper/default.nix @@ -187,6 +187,7 @@ stdenv.mkDerivation { else if targetPlatform.isPower then if targetPlatform.isBigEndian then "ppc" else "lppc" else if targetPlatform.isSparc then "sparc" else if targetPlatform.isAvr then "avr" + else if targetPlatform.isAlpha then "alpha" else throw "unknown emulation for platform: " + targetPlatform.config; in targetPlatform.platform.bfdEmulation or (fmt + sep + arch); diff --git a/pkgs/build-support/build-bazel-package/default.nix b/pkgs/build-support/build-bazel-package/default.nix index 931b68c6329f..f39f4e65e454 100644 --- a/pkgs/build-support/build-bazel-package/default.nix +++ b/pkgs/build-support/build-bazel-package/default.nix @@ -33,7 +33,9 @@ in stdenv.mkDerivation (fBuildAttrs // { # sandbox enabled. Code here # https://github.com/bazelbuild/bazel/blob/9323c57607d37f9c949b60e293b573584906da46/src/main/cpp/startup_options.cc#L123-L124 # - USER=homeless-shelter bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" fetch $bazelFlags $bazelTarget + # On macOS Bazel will use the system installed Xcode or CLT toolchain instead of the one in the PATH unless we pass BAZEL_USE_CPP_ONLY_TOOLCHAIN + # + BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 USER=homeless-shelter bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" fetch $bazelFlags $bazelTarget runHook postBuild ''; @@ -90,7 +92,42 @@ in stdenv.mkDerivation (fBuildAttrs // { buildPhase = fBuildAttrs.buildPhase or '' runHook preBuild - bazel --output_base="$bazelOut" --output_user_root="$bazelUserRoot" build -j $NIX_BUILD_CORES $bazelFlags $bazelTarget + # Bazel sandboxes the execution of the tools it invokes, so even though we are + # calling the correct nix wrappers, the values of the environment variables + # the wrappers are expecting will not be set. So instead of relying on the + # wrappers picking them up, pass them in explicitly via `--copt`, `--linkopt` + # and related flags. + # + copts=() + host_copts=() + for flag in $NIX_CFLAGS_COMPILE; do + copts+=( "--copt=$flag" ) + host_copts+=( "--host_copt=$flag" ) + done + for flag in $NIX_CXXSTDLIB_COMPILE; do + copts+=( "--copt=$flag" ) + host_copts+=( "--host_copt=$flag" ) + done + linkopts=() + host_linkopts=() + for flag in $NIX_LD_FLAGS; do + linkopts+=( "--linkopt=$flag" ) + host_linkopts+=( "--host_linkopt=$flag" ) + done + + BAZEL_USE_CPP_ONLY_TOOLCHAIN=1 \ + USER=homeless-shelter \ + bazel \ + --output_base="$bazelOut" \ + --output_user_root="$bazelUserRoot" \ + build \ + -j $NIX_BUILD_CORES \ + "''${copts[@]}" \ + "''${host_copts[@]}" \ + "''${linkopts[@]}" \ + "''${host_linkopts[@]}" \ + $bazelFlags \ + $bazelTarget runHook postBuild ''; diff --git a/pkgs/build-support/fetchsvn/default.nix b/pkgs/build-support/fetchsvn/default.nix index 194ce3b39b1d..68433d1471d6 100644 --- a/pkgs/build-support/fetchsvn/default.nix +++ b/pkgs/build-support/fetchsvn/default.nix @@ -1,4 +1,4 @@ -{stdenvNoCC, subversion, glibcLocales, sshSupport ? false, openssh ? null}: +{stdenvNoCC, subversion, glibcLocales, sshSupport ? true, openssh ? null}: {url, rev ? "HEAD", md5 ? "", sha256 ? "" , ignoreExternals ? false, ignoreKeywords ? false, name ? null , preferLocalBuild ? true }: |