From 5c6892e1a277ca4bd39340a2548c84b0a7b96f81 Mon Sep 17 00:00:00 2001 From: Philip Patsch Date: Mon, 28 Jan 2019 11:51:09 +0100 Subject: [PATCH] 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 --- .../tools/build-managers/bazel/default.nix | 19 +++++++++++-------- 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 15ef2abd094..c8c0c70ada2 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 <