diff options
author | Philip Patsch <philip.patsch@tweag.io> | 2019-01-28 11:51:09 +0100 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2019-01-29 14:03:54 +0100 |
commit | 5c6892e1a277ca4bd39340a2548c84b0a7b96f81 (patch) | |
tree | 59f8ade0526565eb20af8e1d51bcc5392c70f88e /pkgs | |
parent | 7e6662a275c0bc1549ca849d865e88ce7dd8473c (diff) | |
download | nixlib-5c6892e1a277ca4bd39340a2548c84b0a7b96f81.tar nixlib-5c6892e1a277ca4bd39340a2548c84b0a7b96f81.tar.gz nixlib-5c6892e1a277ca4bd39340a2548c84b0a7b96f81.tar.bz2 nixlib-5c6892e1a277ca4bd39340a2548c84b0a7b96f81.tar.lz nixlib-5c6892e1a277ca4bd39340a2548c84b0a7b96f81.tar.xz nixlib-5c6892e1a277ca4bd39340a2548c84b0a7b96f81.tar.zst nixlib-5c6892e1a277ca4bd39340a2548c84b0a7b96f81.zip |
bazel: fix java toolchain regression
By changing the default toolchain to JDK8, we broke the default Java toolchain, which assumes JDK9. Instead, set `host_java_toolchain` manually for our build of bazel, and set `java_toolchain` to run the java tests with the build JDK as well. Fixes https://github.com/NixOS/nixpkgs/issues/54289
Diffstat (limited to 'pkgs')
-rw-r--r-- | pkgs/development/tools/build-managers/bazel/default.nix | 19 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 13 insertions, 8 deletions
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix index 15ef2abd0946..c8c0c70ada2b 100644 --- a/pkgs/development/tools/build-managers/bazel/default.nix +++ b/pkgs/development/tools/build-managers/bazel/default.nix @@ -1,10 +1,11 @@ { stdenv, callPackage, lib, fetchurl, fetchpatch, runCommand, makeWrapper -, jdk, zip, unzip, bash, writeCBin, coreutils +, zip, unzip, bash, writeCBin, coreutils , which, python, perl, gawk, gnused, gnutar, gnugrep, gzip, findutils # Apple dependencies , cctools, clang, libcxx, CoreFoundation, CoreServices, Foundation # Allow to independently override the jdks used to build and run respectively -, buildJdk ? jdk, runJdk ? jdk +, buildJdk, runJdk +, buildJdkName # Always assume all markers valid (don't redownload dependencies). # Also, don't clean up environment variables. , enableNixHacks ? false @@ -53,6 +54,9 @@ let # [ bash coreutils findutils gawk gnugrep gnutar gnused gzip which unzip ]; + # Java toolchain used for the build and tests + javaToolchain = "@bazel_tools//tools/jdk:toolchain_host${buildJdkName}"; + in stdenv.mkDerivation rec { @@ -177,11 +181,6 @@ stdenv.mkDerivation rec { substituteInPlace scripts/bootstrap/compile.sh \ --replace /bin/sh ${customBash}/bin/bash - # We only build with JDK8 for now, since JDK11 does not compile bazel - substituteInPlace tools/jdk/default_java_toolchain.bzl \ - --replace '"jvm_opts": JDK9_JVM_OPTS' \ - '"jvm_opts": JDK8_JVM_OPTS' - # add nix environment vars to .bazelrc cat >> .bazelrc <<EOF build --experimental_distdir=${distDir} @@ -191,6 +190,7 @@ stdenv.mkDerivation rec { build --linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt="-Wl,/g')" build --host_linkopt="-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt="-Wl,/g')" build --host_javabase='@local_jdk//:jdk' + build --host_java_toolchain='${javaToolchain}' EOF # add the same environment vars to compile.sh @@ -199,6 +199,7 @@ stdenv.mkDerivation rec { -e "/\$command \\\\$/a --linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --linkopt=\"-Wl,/g')\" \\\\" \ -e "/\$command \\\\$/a --host_linkopt=\"-Wl,$(echo $NIX_LDFLAGS | sed -e 's/ /" --host_linkopt=\"-Wl,/g')\" \\\\" \ -e "/\$command \\\\$/a --host_javabase='@local_jdk//:jdk' \\\\" \ + -e "/\$command \\\\$/a --host_java_toolchain='${javaToolchain}' \\\\" \ -i scripts/bootstrap/compile.sh # --experimental_strict_action_env (which will soon become the @@ -268,7 +269,9 @@ stdenv.mkDerivation rec { export TEST_TMPDIR=$(pwd) hello_test () { - $out/bin/bazel test --test_output=errors \ + $out/bin/bazel test \ + --test_output=errors \ + --java_toolchain='${javaToolchain}' \ examples/cpp:hello-success_test \ examples/java-native/src/test/java/com/example/myproject:hello } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 285ed3b75450..ba59be8201fe 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8282,6 +8282,8 @@ in bazel = callPackage ../development/tools/build-managers/bazel { inherit (darwin) cctools; inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation; + buildJdk = jdk8; + buildJdkName = "jdk8"; runJdk = jdk11; }; |