Merge pull request #48326 from jerith666/jdk11

openjdk: 10.0.2 -> 11.0.1
This commit is contained in:
Franz Pletz 2018-11-01 11:34:13 +00:00 committed by GitHub
commit 38db6fdfb9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 44 additions and 78 deletions

View File

@ -1,4 +1,4 @@
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jre10 }:
{ fetchurl, stdenv, makeDesktopItem, makeWrapper, unzip, jdk11 }:
stdenv.mkDerivation rec {
name = "josm-${version}";
@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
sha256 = "102dph3479qskzf72cpb9139pq9ifka6pzna1c6s5rs2il6mfvsb";
};
buildInputs = [ jre10 makeWrapper ];
buildInputs = [ jdk11 makeWrapper ];
desktopItem = makeDesktopItem {
name = "josm";
@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
mkdir -p $out/bin $out/share/java
cp -v $src $out/share/java/josm.jar
makeWrapper ${jre10}/bin/java $out/bin/josm \
makeWrapper ${jdk11}/bin/java $out/bin/josm \
--add-flags "-jar $out/share/java/josm.jar"
mkdir -p $out/share/applications

View File

@ -1,4 +1,4 @@
{ stdenv, lib, fetchurl, bash, cpio, pkgconfig, file, which, unzip, zip, cups, freetype
{ stdenv, lib, fetchurl, bash, cpio, autoconf, pkgconfig, file, which, unzip, zip, cups, freetype
, alsaLib, bootjdk, perl, liberation_ttf, fontconfig, zlib, lndir
, libX11, libICE, libXrender, libXext, libXt, libXtst, libXi, libXinerama, libXcursor, libXrandr
, libjpeg, giflib
@ -10,31 +10,30 @@
let
/**
* The JRE libraries are in directories that depend on the CPU.
* The JDK libraries are in directories that depend on the CPU.
*/
architecture =
if stdenv.hostPlatform.system == "i686-linux" then
"i386"
else "amd64";
update = "10.0.2";
major = "11";
update = ".0.1";
build = "13";
repover = "jdk-${update}+${build}";
repover = "jdk-${major}${update}+${build}";
paxflags = if stdenv.isi686 then "msp" else "m";
openjdk10 = stdenv.mkDerivation {
name = "openjdk-${update}-b${build}";
openjdk = stdenv.mkDerivation {
name = "openjdk-${major}${update}-b${build}";
src = fetchurl {
url = "http://hg.openjdk.java.net/jdk-updates/jdk10u/archive/${repover}.tar.gz";
sha256 = "0y7hyzgvn6z8gyp3h9xvxwj6zda899y6i629jn6yxqzj96q56jpk";
url = "http://hg.openjdk.java.net/jdk-updates/jdk${major}u/archive/${repover}.tar.gz";
sha256 = "1ri3fv67rvs9xxhc3ynklbprhxbdsgpwafbw6wqj950xy5crgysm";
};
outputs = [ "out" "jre" ];
nativeBuildInputs = [ pkgconfig ];
buildInputs = [
cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
autoconf cpio file which unzip zip perl bootjdk zlib cups freetype alsaLib
libjpeg giflib libX11 libICE libXext libXrender libXtst libXt libXtst
libXi libXinerama libXcursor libXrandr lndir fontconfig
] ++ lib.optionals (!minimal && enableGnome2) [
@ -55,12 +54,11 @@ let
configureFlagsArray=(
"--with-boot-jdk=${bootjdk.home}"
"--with-update-version=${update}"
"--with-update-version=${major}${update}"
"--with-build-number=${build}"
"--with-milestone=fcs"
"--enable-unlimited-crypto"
"--disable-debug-symbols"
"--disable-freetype-bundling"
"--with-zlib=system"
"--with-giflib=system"
"--with-stdc++lib=dynamic"
@ -86,7 +84,7 @@ let
buildFlags = [ "all" ];
installPhase = ''
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
mkdir -p $out/lib/openjdk $out/share
cp -av build/*/images/jdk/* $out/lib/openjdk
@ -101,57 +99,29 @@ let
# jni.h expects jni_md.h to be in the header search path.
ln -s $out/include/linux/*_md.h $out/include/
# Copy the JRE to a separate output and setup fallback fonts
cp -av build/*/images/jre $jre/lib/openjdk/
mkdir $out/lib/openjdk/jre
${lib.optionalString (!minimal) ''
mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback
lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback
''}
# Remove crap from the installation.
rm -rf $out/lib/openjdk/demo
${lib.optionalString minimal ''
for d in $out/lib/openjdk/lib $jre/lib/openjdk/jre/lib; do
rm ''${d}/{libjsound,libjsoundalsa,libfontmanager}.so
done
rm $out/lib/openjdk/lib/{libjsound,libfontmanager}.so
''}
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
# Set PaX markings
exes=$(file $out/lib/openjdk/bin/* $jre/lib/openjdk/jre/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
exes=$(file $out/lib/openjdk/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//')
echo "to mark: *$exes*"
for file in $exes; do
echo "marking *$file*"
paxmark ${paxflags} "$file"
done
# Remove duplicate binaries.
for i in $(cd $out/lib/openjdk/bin && echo *); do
if [ "$i" = java ]; then continue; fi
if cmp -s $out/lib/openjdk/bin/$i $jre/lib/openjdk/jre/bin/$i; then
ln -sfn $jre/lib/openjdk/jre/bin/$i $out/lib/openjdk/bin/$i
fi
done
ln -s $out/lib/openjdk/bin $out/bin
ln -s $jre/lib/openjdk/jre/bin $jre/bin
ln -s $jre/lib/openjdk/jre $out/jre
'';
# FIXME: this is unnecessary once the multiple-outputs branch is merged.
preFixup = ''
prefix=$jre stripDirs "$STRIP" "$stripDebugList" "''${stripDebugFlags:--S}"
patchELF $jre
propagatedBuildInputs+=" $jre"
# Propagate the setJavaClassPath setup hook from the JRE so that
# any package that depends on the JRE has $CLASSPATH set up
# properly.
mkdir -p $jre/nix-support
# Propagate the setJavaClassPath setup hook so that any package
# that depends on the JDK has $CLASSPATH set up properly.
mkdir -p $out/nix-support
#TODO or printWords? cf https://github.com/NixOS/nixpkgs/pull/27427#issuecomment-317293040
echo -n "${setJavaClassPath}" > $jre/nix-support/propagated-build-inputs
echo -n "${setJavaClassPath}" > $out/nix-support/propagated-build-inputs
# Set JAVA_HOME automatically.
mkdir -p $out/nix-support
@ -196,7 +166,7 @@ let
passthru = {
inherit architecture;
home = "${openjdk10}/lib/openjdk";
home = "${openjdk}/lib/openjdk";
};
};
in openjdk10
in openjdk

View File

@ -16,12 +16,12 @@ let
src = if stdenv.hostPlatform.system == "x86_64-linux" then
(if version == "10" then fetchboot "10" "x86_64" "08085fsxc1qhqiv3yi38w8lrg3vm7s0m2yvnwr1c92v019806yq2"
else if version == "8" then fetchboot "8" "x86_64" "18zqx6jhm3lizn9hh6ryyqc9dz3i96pwaz8f6nxfllk70qi5gvks"
else throw "No bootstrap for version")
else throw "No bootstrap jdk for version ${version}")
else if stdenv.hostPlatform.system == "i686-linux" then
(if version == "10" then fetchboot "10" "i686" "1blb9gyzp8gfyggxvggqgpcgfcyi00ndnnskipwgdm031qva94p7"
else if version == "8" then fetchboot "8" "i686" "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9"
else throw "No bootstrap for version")
else throw "No bootstrap for system";
else throw "No bootstrap jdk for system ${stdenv.hostPlatform.system}";
bootstrap = runCommand "openjdk-bootstrap" {
passthru.home = "${bootstrap}/lib/openjdk";

View File

@ -6,13 +6,13 @@ let
sha256 = "0nk7m0lgcbsvldq2wbfni2pzq8h818523z912i7v8hdcij5s48c0";
};
jdk = stdenv.mkDerivation {
name = "zulu10.3+5-jdk10";
jdk = stdenv.mkDerivation rec {
name = "zulu11.2.3-jdk11.0.1";
src = fetchurl {
url = https://cdn.azul.com/zulu/bin/zulu10.3+5-jdk10.0.2-macosx_x64.zip;
sha256 = "05pxfjn8fqw6ddr8m5hzyphwzqgrq8w6b4h3lwc1s7ymh05xmspz";
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-linux/";
url = "https://cdn.azul.com/zulu/bin/${name}-macosx_x64.tar.gz";
sha256 = "1jxnxmy79inwf3146ygry1mzv3dj6yrzqll16j7dpr91x1p3dpqy";
curlOpts = "-H Referer:https://www.azul.com/downloads/zulu/zulu-mac/";
};
buildInputs = [ unzip freetype ];
@ -34,8 +34,8 @@ let
'';
preFixup = ''
# Propagate the setJavaClassPath setup hook from the JRE so that
# any package that depends on the JRE has $CLASSPATH set up
# Propagate the setJavaClassPath setup hook from the JDK so that
# any package that depends on the JDK has $CLASSPATH set up
# properly.
mkdir -p $out/nix-support
printWords ${setJavaClassPath} > $out/nix-support/propagated-build-inputs
@ -49,7 +49,6 @@ let
'';
passthru = {
jre = jdk;
home = jdk;
};

View File

@ -6976,11 +6976,11 @@ with pkgs;
inherit (gnome2) GConf gnome_vfs;
};
openjdk10 =
openjdk11 =
if stdenv.isDarwin then
callPackage ../development/compilers/openjdk/darwin/10.nix { }
callPackage ../development/compilers/openjdk/darwin/11.nix { }
else
callPackage ../development/compilers/openjdk/10.nix {
callPackage ../development/compilers/openjdk/11.nix {
inherit (gnome2) GConf gnome_vfs;
};
@ -7000,17 +7000,14 @@ with pkgs;
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
((openjdk8.override { minimal = true; }).jre // { outputs = [ "jre" ]; }));
jdk10 = openjdk10 // { outputs = [ "out" ]; };
jre10 = lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}"
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
(openjdk10.jre // { outputs = [ "jre" ]; }));
jre10_headless =
jdk11 = openjdk11 // { outputs = [ "out" ]; };
jdk11_headless =
if stdenv.isDarwin then
jre10
jdk11
else
lib.setName "openjre-${lib.getVersion pkgs.openjdk10.jre}-headless"
(lib.addMetaAttrs { outputsToInstall = [ "jre" ]; }
((openjdk10.override { minimal = true; }).jre // { outputs = [ "jre" ]; }));
lib.setName "openjdk-${lib.getVersion pkgs.openjdk11}-headless"
(lib.addMetaAttrs {}
((openjdk11.override { minimal = true; }) // {}));
jdk = jdk8;
jre = jre8;
@ -8133,10 +8130,10 @@ with pkgs;
inherit (darwin) cctools;
inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
};
bazel_jdk10 = callPackage ../development/tools/build-managers/bazel {
bazel_jdk11 = callPackage ../development/tools/build-managers/bazel {
inherit (darwin) cctools;
inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Foundation;
runJdk = jdk10;
runJdk = jdk11;
};
bazel-buildtools = callPackage ../development/tools/build-managers/bazel/buildtools { };
@ -16285,7 +16282,7 @@ with pkgs;
eaglemode = callPackage ../applications/misc/eaglemode { };
eclipses = recurseIntoAttrs (callPackage ../applications/editors/eclipse {
jdk = jdk10;
jdk = jdk11;
});
ecs-agent = callPackage ../applications/virtualization/ecs-agent { };