opendjk: Make boostraps for each major version and update openjdk7
This commit is contained in:
parent
a8d1010027
commit
a5ef488b11
@ -1,17 +1,34 @@
|
|||||||
{ stdenv, runCommand, glibc, fetchurl, file }:
|
{ stdenv, runCommand, glibc, fetchurl, file
|
||||||
|
|
||||||
|
, version
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
# !!! These should be on nixos.org
|
# !!! These should be on nixos.org
|
||||||
src = if glibc.system == "x86_64-linux" then
|
src = if glibc.system == "x86_64-linux" then
|
||||||
fetchurl {
|
(if version == "8" then
|
||||||
url = http://pub.wak.io/nixos/tarballs/openjdk-bootstrap-x86_64-linux.tar.xz;
|
fetchurl {
|
||||||
sha256 = "13m3df54mnr2nb67284s2zf5n8y502ck47gc39lcafrh40hzjil5";
|
url = "https://www.dropbox.com/s/a0lsq2ig4uguky5/openjdk8-bootstrap-x86_64-linux.tar.xz?dl=1";
|
||||||
}
|
sha256 = "18zqx6jhm3lizn9hh6ryyqc9dz3i96pwaz8f6nxfllk70qi5gvks";
|
||||||
|
}
|
||||||
|
else if version == "7" then
|
||||||
|
fetchurl {
|
||||||
|
url = "https://www.dropbox.com/s/rssfbeommrfbsjf/openjdk7-bootstrap-x86_64-linux.tar.xz?dl=1";
|
||||||
|
sha256 = "024gg2sgg4labxbc1nhn8lxls2p7d9h3b82hnsahwaja2pm1hbra";
|
||||||
|
}
|
||||||
|
else throw "No bootstrap for version")
|
||||||
else if glibc.system == "i686-linux" then
|
else if glibc.system == "i686-linux" then
|
||||||
fetchurl {
|
(if version == "8" then
|
||||||
url = http://pub.wak.io/nixos/tarballs/openjdk-bootstrap-i686-linux.tar.xz;
|
fetchurl {
|
||||||
sha256 = "18kzv4h9skxg5g5c7ar2ji3qny880h5svcn207b4d6xv4sa0a6ks";
|
url = "https://www.dropbox.com/s/rneqjhlerijsw74/openjdk8-bootstrap-i686-linux.tar.xz?dl=1";
|
||||||
}
|
sha256 = "1yx04xh8bqz7amg12d13rw5vwa008rav59mxjw1b9s6ynkvfgqq9";
|
||||||
|
}
|
||||||
|
else if version == "7" then
|
||||||
|
fetchurl {
|
||||||
|
url = "https://www.dropbox.com/s/6xe64td7eg2wurs/openjdk7-bootstrap-i686-linux.tar.xz?dl=1";
|
||||||
|
sha256 = "0xwqjk1zx8akziw8q9sbjc1rs8s7c0w6mw67jdmmi26cwwp8ijnx";
|
||||||
|
}
|
||||||
|
else throw "No bootstrap for version")
|
||||||
else throw "No bootstrap for system";
|
else throw "No bootstrap for system";
|
||||||
|
|
||||||
bootstrap = runCommand "openjdk-bootstrap" {
|
bootstrap = runCommand "openjdk-bootstrap" {
|
||||||
@ -20,9 +37,16 @@ let
|
|||||||
tar xvf ${src}
|
tar xvf ${src}
|
||||||
mv openjdk-bootstrap $out
|
mv openjdk-bootstrap $out
|
||||||
|
|
||||||
|
LIBDIRS="$(find $out -name \*.so\* -exec dirname {} \; | sort | uniq | tr '\n' ':')"
|
||||||
|
|
||||||
for i in $out/bin/*; do
|
for i in $out/bin/*; do
|
||||||
patchelf --set-interpreter ${glibc}/lib/ld-linux*.so.2 $i || true
|
patchelf --set-interpreter ${glibc}/lib/ld-linux*.so.2 $i || true
|
||||||
patchelf --set-rpath ${glibc}/lib:$out/lib $i || true
|
patchelf --set-rpath "${glibc}/lib:$LIBDIRS" $i || true
|
||||||
|
done
|
||||||
|
|
||||||
|
find $out -name \*.so\* | while read lib; do
|
||||||
|
patchelf --set-interpreter ${glibc}/lib/ld-linux*.so.2 $lib || true
|
||||||
|
patchelf --set-rpath "${glibc}/lib:${stdenv.cc.cc}/lib:$LIBDIRS" $lib || true
|
||||||
done
|
done
|
||||||
|
|
||||||
# Temporarily, while NixOS's OpenJDK bootstrap tarball doesn't have PaX markings:
|
# Temporarily, while NixOS's OpenJDK bootstrap tarball doesn't have PaX markings:
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
{ stdenv, fetchurl, unzip, zip, procps, coreutils, alsaLib, ant, freetype
|
{ stdenv, fetchurl, unzip, zip, procps, coreutils, alsaLib, ant, freetype
|
||||||
, which, bootjdk, nettools, xorg, file
|
, which, bootjdk, nettools, xorg, file
|
||||||
, fontconfig, cpio, cacert, perl, setJavaClassPath }:
|
, fontconfig, cpio, cacert, perl, setJavaClassPath
|
||||||
|
, minimal ? false
|
||||||
|
}:
|
||||||
|
|
||||||
let
|
let
|
||||||
|
|
||||||
@ -27,13 +29,41 @@ let
|
|||||||
md5 = "de3006e5cf1ee78a9c6145ce62c4e982";
|
md5 = "de3006e5cf1ee78a9c6145ce62c4e982";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
baseurl = "http://hg.openjdk.java.net/jdk7u/jdk7u";
|
||||||
|
repover = "jdk7u${update}-b${build}";
|
||||||
|
jdk7 = fetchurl {
|
||||||
|
url = "${baseurl}/archive/${repover}.tar.gz";
|
||||||
|
sha256 = "1r8xnn87nmqaq2f8i3cp3i9ngq66k0c0wgkdq5cf59lkgs8wkcdi";
|
||||||
|
};
|
||||||
|
langtools = fetchurl {
|
||||||
|
url = "${baseurl}/langtools/archive/${repover}.tar.gz";
|
||||||
|
sha256 = "01alj6pfrjqyf4irll9wg34h4w9nmb3973lvbacs528qm1nxgh9r";
|
||||||
|
};
|
||||||
|
hotspot = fetchurl {
|
||||||
|
url = "${baseurl}/hotspot/archive/${repover}.tar.gz";
|
||||||
|
sha256 = "14zla8axmg5344zf45i4cj7yyli0kmdjsh9yalmzqaphpkqjqpf2";
|
||||||
|
};
|
||||||
|
corba = fetchurl {
|
||||||
|
url = "${baseurl}/corba/archive/${repover}.tar.gz";
|
||||||
|
sha256 = "19z3ay3f2q7r2ra03c6wy8b5rbdbrkq5g2dzhrqcg0n4iydd3c40";
|
||||||
|
};
|
||||||
|
jdk = fetchurl {
|
||||||
|
url = "${baseurl}/jdk/archive/${repover}.tar.gz";
|
||||||
|
sha256 = "1q0r2l9bz2cyx4fq79x6cb2f5xycw83hl5cn1d1mazgsckp590lb";
|
||||||
|
};
|
||||||
|
jaxws = fetchurl {
|
||||||
|
url = "${baseurl}/jaxws/archive/${repover}.tar.gz";
|
||||||
|
sha256 = "1lp0mww2x3b6xavb7idrzckh6iw8jd6s1fvqgfvzs853z4ifksqj";
|
||||||
|
};
|
||||||
|
jaxp = fetchurl {
|
||||||
|
url = "${baseurl}/jaxp/archive/${repover}.tar.gz";
|
||||||
|
sha256 = "0pd874dkgxkb7frxg4n9py61kkhhck4x33dcynynwb3vl6k6iy79";
|
||||||
|
};
|
||||||
openjdk = stdenv.mkDerivation rec {
|
openjdk = stdenv.mkDerivation rec {
|
||||||
name = "openjdk-7u${update}b${build}";
|
name = "openjdk-7u${update}b${build}";
|
||||||
|
|
||||||
src = fetchurl {
|
srcs = [ jdk7 langtools hotspot corba jdk jaxws jaxp ];
|
||||||
url = "http://tarballs.nixos.org/openjdk-7u${update}-b${build}.tar.xz";
|
sourceRoot = ".";
|
||||||
sha256 = "0lyp75sl5w4b9azphb2nq5cwzli85inpksq4943q4j349rkmdprx";
|
|
||||||
};
|
|
||||||
|
|
||||||
outputs = [ "out" "jre" ];
|
outputs = [ "out" "jre" ];
|
||||||
|
|
||||||
@ -41,18 +71,23 @@ let
|
|||||||
[ unzip procps ant which zip cpio nettools alsaLib
|
[ unzip procps ant which zip cpio nettools alsaLib
|
||||||
xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst
|
xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst
|
||||||
xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir
|
xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir
|
||||||
fontconfig perl file
|
fontconfig perl file bootjdk
|
||||||
];
|
];
|
||||||
|
|
||||||
NIX_LDFLAGS = "-lfontconfig -lXcursor -lXinerama";
|
NIX_LDFLAGS = if minimal then null else "-lfontconfig -lXcursor -lXinerama";
|
||||||
|
|
||||||
postUnpack = ''
|
postUnpack = ''
|
||||||
|
ls | grep jdk | grep -v '^jdk7u' | awk -F- '{print $1}' | while read p; do
|
||||||
|
mv $p-* $(ls | grep '^jdk7u')/$p
|
||||||
|
done
|
||||||
|
cd jdk7u-*
|
||||||
|
|
||||||
sed -i -e "s@/usr/bin/test@${coreutils}/bin/test@" \
|
sed -i -e "s@/usr/bin/test@${coreutils}/bin/test@" \
|
||||||
-e "s@/bin/ls@${coreutils}/bin/ls@" \
|
-e "s@/bin/ls@${coreutils}/bin/ls@" \
|
||||||
openjdk*/hotspot/make/linux/makefiles/sa.make
|
hotspot/make/linux/makefiles/sa.make
|
||||||
|
|
||||||
sed -i "s@/bin/echo -e@${coreutils}/bin/echo -e@" \
|
sed -i "s@/bin/echo -e@${coreutils}/bin/echo -e@" \
|
||||||
openjdk*/{jdk,corba}/make/common/shared/Defs-utils.gmk
|
{jdk,corba}/make/common/shared/Defs-utils.gmk
|
||||||
|
|
||||||
tar xf ${cupsSrc}
|
tar xf ${cupsSrc}
|
||||||
cupsDir=$(echo $(pwd)/cups-*)
|
cupsDir=$(echo $(pwd)/cups-*)
|
||||||
@ -75,7 +110,7 @@ let
|
|||||||
"ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
|
"ALSA_INCLUDE=${alsaLib}/include/alsa/version.h"
|
||||||
"FREETYPE_HEADERS_PATH=${freetype}/include"
|
"FREETYPE_HEADERS_PATH=${freetype}/include"
|
||||||
"FREETYPE_LIB_PATH=${freetype}/lib"
|
"FREETYPE_LIB_PATH=${freetype}/lib"
|
||||||
"MILESTONE=u${update}"
|
"MILESTONE=${update}"
|
||||||
"BUILD_NUMBER=b${build}"
|
"BUILD_NUMBER=b${build}"
|
||||||
"USRBIN_PATH="
|
"USRBIN_PATH="
|
||||||
"COMPILER_PATH="
|
"COMPILER_PATH="
|
||||||
@ -85,7 +120,7 @@ let
|
|||||||
"STATIC_CXX=false"
|
"STATIC_CXX=false"
|
||||||
"UNLIMITED_CRYPTO=1"
|
"UNLIMITED_CRYPTO=1"
|
||||||
"FULL_DEBUG_SYMBOLS=0"
|
"FULL_DEBUG_SYMBOLS=0"
|
||||||
];
|
] ++ stdenv.lib.optional minimal "BUILD_HEADLESS=1";
|
||||||
|
|
||||||
configurePhase = "true";
|
configurePhase = "true";
|
||||||
|
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
{ stdenv, fetchurl, cpio, file, which, unzip, zip, xorg, cups, freetype, alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig
|
{ stdenv, fetchurl, cpio, file, which, unzip, zip, xorg, cups, freetype
|
||||||
|
, alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig, zlib
|
||||||
|
|
||||||
, minimal ? false } :
|
, minimal ? false } :
|
||||||
let
|
let
|
||||||
@ -40,118 +41,123 @@ let
|
|||||||
sha256 = "1llf3l4483kd8m1a77n7y9fgvm6fa63nim3qhp5z4gnw68ldbhra";
|
sha256 = "1llf3l4483kd8m1a77n7y9fgvm6fa63nim3qhp5z4gnw68ldbhra";
|
||||||
};
|
};
|
||||||
openjdk8 = stdenv.mkDerivation {
|
openjdk8 = stdenv.mkDerivation {
|
||||||
name = "openjdk-8u${update}b${build}";
|
name = "openjdk-8u${update}b${build}";
|
||||||
srcs = [ jdk8 langtools hotspot corba jdk jaxws jaxp nashorn ];
|
|
||||||
outputs = [ "out" "jre" ];
|
|
||||||
buildInputs = [ cpio file which unzip zip
|
|
||||||
xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst
|
|
||||||
xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir
|
|
||||||
cups freetype alsaLib perl liberation_ttf fontconfig bootjdk ];
|
|
||||||
setSourceRoot = ''
|
|
||||||
sourceRoot="jdk8u${update}-jdk8u${update}-b${build}";
|
|
||||||
'';
|
|
||||||
prePatch = ''
|
|
||||||
# despite --with-override-jdk the build still searchs here
|
|
||||||
# GNU Patch bug, --follow-symlinks only follow the last dir part symlink
|
|
||||||
mv "../jdk-${repover}" "jdk";
|
|
||||||
mv "../hotspot-${repover}" "hotspot";
|
|
||||||
'';
|
|
||||||
postPatch = ''
|
|
||||||
mv jdk "../jdk-${repover}";
|
|
||||||
mv hotspot "../hotspot-${repover}";
|
|
||||||
# Patching is over, lets re-add the links
|
|
||||||
ln -s "../jdk-${repover}" "jdk"
|
|
||||||
ln -s "../hotspot-${repover}" "hotspot"
|
|
||||||
'';
|
|
||||||
patches = [
|
|
||||||
./fix-java-home-jdk8.patch
|
|
||||||
./read-truststore-from-env-jdk8.patch
|
|
||||||
./currency-date-range-jdk8.patch
|
|
||||||
./JDK-8074312-hotspot.patch
|
|
||||||
];
|
|
||||||
preConfigure = ''
|
|
||||||
chmod +x configure
|
|
||||||
substituteInPlace configure --replace /bin/bash "$shell"
|
|
||||||
substituteInPlace ../hotspot-${repover}/make/linux/adlc_updater --replace /bin/sh "$shell"
|
|
||||||
'';
|
|
||||||
configureFlags = [
|
|
||||||
"--with-freetype=${freetype}"
|
|
||||||
"--with-override-langtools=../langtools-${repover}"
|
|
||||||
"--with-override-hotspot=../hotspot-${repover}"
|
|
||||||
"--with-override-corba=../corba-${repover}"
|
|
||||||
"--with-override-jdk=../jdk-${repover}"
|
|
||||||
"--with-override-jaxws=../jaxws-${repover}"
|
|
||||||
"--with-override-jaxp=../jaxp-${repover}"
|
|
||||||
"--with-override-nashorn=../nashorn-${repover}"
|
|
||||||
"--with-boot-jdk=${bootjdk.home}"
|
|
||||||
"--with-update-version=${update}"
|
|
||||||
"--with-build-number=${build}"
|
|
||||||
"--with-milestone=fcs"
|
|
||||||
"--disable-debug-symbols"
|
|
||||||
] ++ stdenv.lib.optional minimal "--disable-headful";
|
|
||||||
NIX_LDFLAGS= if minimal then null else "-lfontconfig";
|
|
||||||
buildFlags = "all";
|
|
||||||
installPhase = ''
|
|
||||||
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
|
|
||||||
|
|
||||||
cp -av build"/"*/images/j2sdk-image"/"* $out/lib/openjdk
|
srcs = [ jdk8 langtools hotspot corba jdk jaxws jaxp nashorn ];
|
||||||
|
sourceRoot = ".";
|
||||||
|
|
||||||
# Move some stuff to top-level.
|
outputs = [ "out" "jre" ];
|
||||||
mv $out/lib/openjdk/include $out/include
|
|
||||||
mv $out/lib/openjdk/man $out/share/man
|
|
||||||
|
|
||||||
# jni.h expects jni_md.h to be in the header search path.
|
buildInputs = [
|
||||||
ln -s $out/include/linux"/"*_md.h $out/include/
|
cpio file which unzip zip
|
||||||
|
xorg.libX11 xorg.libXt xorg.libXext xorg.libXrender xorg.libXtst
|
||||||
|
xorg.libXi xorg.libXinerama xorg.libXcursor xorg.lndir
|
||||||
|
cups freetype alsaLib perl liberation_ttf fontconfig bootjdk zlib
|
||||||
|
];
|
||||||
|
|
||||||
# Remove some broken manpages.
|
prePatch = ''
|
||||||
rm -rf $out/share/man/ja*
|
ls | grep jdk | grep -v '^jdk8u' | awk -F- '{print $1}' | while read p; do
|
||||||
|
mv $p-* $(ls | grep '^jdk8u')/$p
|
||||||
|
done
|
||||||
|
cd $(ls | grep '^jdk8u')
|
||||||
|
'';
|
||||||
|
|
||||||
# Remove crap from the installation.
|
patches = [
|
||||||
rm -rf $out/lib/openjdk/demo $out/lib/openjdk/sample
|
./fix-java-home-jdk8.patch
|
||||||
|
./read-truststore-from-env-jdk8.patch
|
||||||
|
./currency-date-range-jdk8.patch
|
||||||
|
./JDK-8074312-hotspot.patch
|
||||||
|
];
|
||||||
|
|
||||||
# Move the JRE to a separate output and setup fallback fonts
|
preConfigure = ''
|
||||||
mv $out/lib/openjdk/jre $jre/lib/openjdk/
|
chmod +x configure
|
||||||
mkdir $out/lib/openjdk/jre
|
substituteInPlace configure --replace /bin/bash "$shell"
|
||||||
mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback
|
substituteInPlace hotspot/make/linux/adlc_updater --replace /bin/sh "$shell"
|
||||||
lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback
|
'';
|
||||||
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
|
|
||||||
|
|
||||||
rm -rf $out/lib/openjdk/jre/bina
|
configureFlags = [
|
||||||
ln -s $out/lib/openjdk/bin $out/lib/openjdk/jre/bin
|
"--with-freetype=${freetype}"
|
||||||
|
"--with-boot-jdk=${bootjdk.home}"
|
||||||
|
"--with-update-version=${update}"
|
||||||
|
"--with-build-number=${build}"
|
||||||
|
"--with-milestone=fcs"
|
||||||
|
"--enable-unlimited-crypto"
|
||||||
|
"--disable-debug-symbols"
|
||||||
|
"--disable-freetype-bundling"
|
||||||
|
] ++ (if minimal then [
|
||||||
|
"--disable-headful"
|
||||||
|
"--with-zlib=bundled"
|
||||||
|
"--with-giflib=bundled"
|
||||||
|
] else [
|
||||||
|
"--with-zlib=system"
|
||||||
|
]);
|
||||||
|
|
||||||
# Set PaX markings
|
NIX_LDFLAGS= if minimal then null else "-lfontconfig";
|
||||||
exes=$(file $out/lib/openjdk/bin"/"* $jre/lib/openjdk/jre/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.
|
buildFlags = "all";
|
||||||
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
|
|
||||||
|
|
||||||
# Generate certificates.
|
installPhase = ''
|
||||||
pushd $jre/lib/openjdk/jre/lib/security
|
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
|
||||||
rm cacerts
|
|
||||||
perl ${./generate-cacerts.pl} $jre/lib/openjdk/jre/bin/keytool ${cacert}/etc/ssl/certs/ca-bundle.crt
|
|
||||||
popd
|
|
||||||
|
|
||||||
ln -s $out/lib/openjdk/bin $out/bin
|
cp -av build"/"*/images/j2sdk-image"/"* $out/lib/openjdk
|
||||||
ln -s $jre/lib/openjdk/jre/bin $jre/bin
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = with stdenv.lib; {
|
# Move some stuff to top-level.
|
||||||
homepage = http://openjdk.java.net/;
|
mv $out/lib/openjdk/include $out/include
|
||||||
license = licenses.gpl2;
|
mv $out/lib/openjdk/man $out/share/man
|
||||||
description = "The open-source Java Development Kit";
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
# jni.h expects jni_md.h to be in the header search path.
|
||||||
platforms = platforms.linux;
|
ln -s $out/include/linux"/"*_md.h $out/include/
|
||||||
|
|
||||||
|
# Remove some broken manpages.
|
||||||
|
rm -rf $out/share/man/ja*
|
||||||
|
|
||||||
|
# Remove crap from the installation.
|
||||||
|
rm -rf $out/lib/openjdk/demo $out/lib/openjdk/sample
|
||||||
|
|
||||||
|
# Move the JRE to a separate output and setup fallback fonts
|
||||||
|
mv $out/lib/openjdk/jre $jre/lib/openjdk/
|
||||||
|
mkdir $out/lib/openjdk/jre
|
||||||
|
mkdir -p $jre/lib/openjdk/jre/lib/fonts/fallback
|
||||||
|
lndir ${liberation_ttf}/share/fonts/truetype $jre/lib/openjdk/jre/lib/fonts/fallback
|
||||||
|
lndir $jre/lib/openjdk/jre $out/lib/openjdk/jre
|
||||||
|
|
||||||
|
rm -rf $out/lib/openjdk/jre/bina
|
||||||
|
ln -s $out/lib/openjdk/bin $out/lib/openjdk/jre/bin
|
||||||
|
|
||||||
|
# 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/: .*$//')
|
||||||
|
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
|
||||||
|
|
||||||
|
# Generate certificates.
|
||||||
|
pushd $jre/lib/openjdk/jre/lib/security
|
||||||
|
rm cacerts
|
||||||
|
perl ${./generate-cacerts.pl} $jre/lib/openjdk/jre/bin/keytool ${cacert}/etc/ssl/certs/ca-bundle.crt
|
||||||
|
popd
|
||||||
|
|
||||||
|
ln -s $out/lib/openjdk/bin $out/bin
|
||||||
|
ln -s $jre/lib/openjdk/jre/bin $jre/bin
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
homepage = http://openjdk.java.net/;
|
||||||
|
license = licenses.gpl2;
|
||||||
|
description = "The open-source Java Development Kit";
|
||||||
|
maintainers = with maintainers; [ edwtjo ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.home = "${openjdk8}/lib/openjdk";
|
||||||
};
|
};
|
||||||
|
in openjdk8
|
||||||
passthru.home = "${openjdk8}/lib/openjdk";
|
|
||||||
}; in openjdk8
|
|
||||||
|
@ -3923,29 +3923,38 @@ let
|
|||||||
|
|
||||||
path64 = callPackage ../development/compilers/path64 { };
|
path64 = callPackage ../development/compilers/path64 { };
|
||||||
|
|
||||||
openjdk-bootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { };
|
openjdk7-bootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "7"; };
|
||||||
|
openjdk8-bootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { version = "8"; };
|
||||||
|
|
||||||
openjdk-make-bootstrap = callPackage ../development/compilers/openjdk/make-bootstrap.nix {
|
openjdk7-make-bootstrap = callPackage ../development/compilers/openjdk/make-bootstrap.nix {
|
||||||
openjdk = openjdk.override { minimal = true; };
|
openjdk = openjdk7.override { minimal = true; };
|
||||||
|
};
|
||||||
|
openjdk8-make-bootstrap = callPackage ../development/compilers/openjdk/make-bootstrap.nix {
|
||||||
|
openjdk = openjdk8.override { minimal = true; };
|
||||||
};
|
};
|
||||||
|
|
||||||
openjdk-darwin = callPackage ../development/compilers/openjdk-darwin { };
|
openjdk-darwin = callPackage ../development/compilers/openjdk-darwin { };
|
||||||
|
|
||||||
openjdk7 = callPackage ../development/compilers/openjdk {
|
openjdk7 = callPackage ../development/compilers/openjdk {
|
||||||
bootjdk = openjdk-bootstrap;
|
bootjdk = openjdk7-bootstrap;
|
||||||
};
|
};
|
||||||
|
openjdk7_jre = openjdk7.jre;
|
||||||
|
|
||||||
openjdk8 = callPackage ../development/compilers/openjdk/openjdk8.nix {
|
openjdk8 = callPackage ../development/compilers/openjdk/openjdk8.nix {
|
||||||
bootjdk = openjdk-bootstrap;
|
bootjdk = openjdk8-bootstrap;
|
||||||
};
|
};
|
||||||
|
openjdk8_jre = openjdk8.jre;
|
||||||
|
|
||||||
openjdk = if stdenv.isDarwin then openjdk-darwin else openjdk8;
|
openjdk = if stdenv.isDarwin then openjdk-darwin else openjdk8;
|
||||||
|
|
||||||
jdk7 = openjdk7;
|
jdk7 = openjdk7;
|
||||||
|
jre7 = jdk7.jre;
|
||||||
|
|
||||||
jdk8 = openjdk8;
|
jdk8 = openjdk8;
|
||||||
|
jre8 = jdk8.jre;
|
||||||
|
|
||||||
jdk = if stdenv.isDarwin then openjdk-darwin else jdk8;
|
jdk = if stdenv.isDarwin then openjdk-darwin else jdk8;
|
||||||
|
jre = jdk.jre;
|
||||||
|
|
||||||
oraclejdk = pkgs.jdkdistro true false;
|
oraclejdk = pkgs.jdkdistro true false;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user