tangled
alpha
login
or
join now
pyrox.dev
/
nixpkgs
0
fork
atom
lol
0
fork
atom
overview
issues
pulls
pipelines
openjdk-make-bootstrap: Use openjdk8
William A. Kennington III
10 years ago
0cc68fa4
bdcb7215
+32
-23
3 changed files
expand all
collapse all
unified
split
pkgs
development
compilers
openjdk
make-bootstrap.nix
openjdk8.nix
top-level
all-packages.nix
+22
-17
pkgs/development/compilers/openjdk/make-bootstrap.nix
···
1
{ runCommand, openjdk, nukeReferences }:
2
3
-
let arch = openjdk.architecture; in
4
-
5
runCommand "${openjdk.name}-bootstrap.tar.xz" {} ''
6
-
mkdir -p openjdk-bootstrap/bin
7
-
mkdir -p openjdk-bootstrap/lib
8
-
mkdir -p openjdk-bootstrap/jre/lib/{security,ext,${arch}/{jli,server,client,headless}}
9
-
cp ${openjdk}/bin/{idlj,ja{va{,c,p,h},r},rmic} openjdk-bootstrap/bin
10
-
cp ${openjdk}/lib/tools.jar openjdk-bootstrap/lib
11
-
cp ${openjdk}/jre/lib/{meta-index,{charsets,jce,jsse,rt,resources}.jar,currency.data} openjdk-bootstrap/jre/lib
12
-
cp ${openjdk}/jre/lib/security/java.security openjdk-bootstrap/jre/lib/security
13
-
cp ${openjdk}/jre/lib/ext/{meta-index,sunjce_provider.jar} openjdk-bootstrap/jre/lib/ext
14
-
cp ${openjdk}/jre/lib/${arch}/{jvm.cfg,lib{awt,java,verify,zip,nio,net}.so} openjdk-bootstrap/jre/lib/${arch}
15
-
cp ${openjdk}/jre/lib/${arch}/jli/libjli.so openjdk-bootstrap/jre/lib/${arch}/jli
16
-
cp ${openjdk}/jre/lib/${arch}/server/libjvm.so openjdk-bootstrap/jre/lib/${arch}/server
17
-
cp ${openjdk}/jre/lib/${arch}/client/libjvm.so openjdk-bootstrap/jre/lib/${arch}/client ||
18
-
rmdir openjdk-bootstrap/jre/lib/${arch}/client
19
-
cp ${openjdk}/jre/lib/${arch}/headless/libmawt.so openjdk-bootstrap/jre/lib/${arch}/headless
20
-
cp -a ${openjdk}/include openjdk-bootstrap
21
22
chmod -R +w openjdk-bootstrap
0
0
0
0
0
0
0
0
0
23
find openjdk-bootstrap -print0 | xargs -0 ${nukeReferences}/bin/nuke-refs
24
0
25
tar cv openjdk-bootstrap | xz > $out
26
''
···
1
{ runCommand, openjdk, nukeReferences }:
2
0
0
3
runCommand "${openjdk.name}-bootstrap.tar.xz" {} ''
4
+
mkdir -pv openjdk-bootstrap/lib
5
+
6
+
# Do a deep copy of the openjdk
7
+
cp -vrL ${openjdk.home} openjdk-bootstrap/lib
8
+
9
+
# Includes are needed for building the native jvm
10
+
cp -vrL ${openjdk}/include openjdk-bootstrap
11
+
12
+
# The binaries are actually stored in the openjdk lib
13
+
ln -sv lib/openjdk/bin openjdk-bootstrap/bin
14
+
find . -name libjli.so
15
+
(cd openjdk-bootstrap/lib; find . -name libjli.so -exec ln -sfv {} libjli.so \;)
0
0
0
16
17
chmod -R +w openjdk-bootstrap
18
+
19
+
# Remove components we don't need
20
+
find openjdk-bootstrap -name \*.diz -exec rm {} \;
21
+
find openjdk-bootstrap -name \*.ttf -exec rm {} \;
22
+
find openjdk-bootstrap -name \*.gif -exec rm {} \;
23
+
find openjdk-bootstrap -name src.zip -exec rm {} \;
24
+
rm -rf openjdk-bootstrap/lib/openjdk/jre/bin
25
+
26
+
# Remove all of the references to the native nix store
27
find openjdk-bootstrap -print0 | xargs -0 ${nukeReferences}/bin/nuke-refs
28
29
+
# Create the output tarball
30
tar cv openjdk-bootstrap | xz > $out
31
''
+6
-6
pkgs/development/compilers/openjdk/openjdk8.nix
···
1
-
{ stdenv, fetchurl, cpio, file, which, unzip, zip, xorg, cups, freetype, alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig } :
0
0
2
let
3
update = "40";
4
build = "27";
···
66
./read-truststore-from-env-jdk8.patch
67
./currency-date-range-jdk8.patch
68
./JDK-8074312-hotspot.patch
69
-
70
];
71
preConfigure = ''
72
chmod +x configure
···
84
"--with-override-nashorn=../nashorn-${repover}"
85
"--with-boot-jdk=${bootjdk.home}"
86
"--with-update-version=${update}"
87
-
"--with-build-number=b${build}"
88
"--with-milestone=fcs"
89
"--disable-debug-symbols"
90
-
];
91
-
NIX_LDFLAGS= "-lfontconfig";
92
buildFlags = "all";
93
installPhase = ''
94
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
···
142
143
ln -s $out/lib/openjdk/bin $out/bin
144
ln -s $jre/lib/openjdk/jre/bin $jre/bin
145
-
146
'';
147
148
meta = with stdenv.lib; {
···
1
+
{ stdenv, fetchurl, cpio, file, which, unzip, zip, xorg, cups, freetype, alsaLib, bootjdk, cacert, perl, liberation_ttf, fontconfig
2
+
3
+
, minimal ? false } :
4
let
5
update = "40";
6
build = "27";
···
68
./read-truststore-from-env-jdk8.patch
69
./currency-date-range-jdk8.patch
70
./JDK-8074312-hotspot.patch
0
71
];
72
preConfigure = ''
73
chmod +x configure
···
85
"--with-override-nashorn=../nashorn-${repover}"
86
"--with-boot-jdk=${bootjdk.home}"
87
"--with-update-version=${update}"
88
+
"--with-build-number=${build}"
89
"--with-milestone=fcs"
90
"--disable-debug-symbols"
91
+
] ++ stdenv.lib.optional minimal "--disable-headful";
92
+
NIX_LDFLAGS= if minimal then null else "-lfontconfig";
93
buildFlags = "all";
94
installPhase = ''
95
mkdir -p $out/lib/openjdk $out/share $jre/lib/openjdk
···
143
144
ln -s $out/lib/openjdk/bin $out/bin
145
ln -s $jre/lib/openjdk/jre/bin $jre/bin
0
146
'';
147
148
meta = with stdenv.lib; {
+4
pkgs/top-level/all-packages.nix
···
3933
3934
openjdk-bootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { };
3935
0
0
0
0
3936
openjdk-darwin = callPackage ../development/compilers/openjdk-darwin { };
3937
3938
openjdk7 = callPackage ../development/compilers/openjdk {
···
3933
3934
openjdk-bootstrap = callPackage ../development/compilers/openjdk/bootstrap.nix { };
3935
3936
+
openjdk-make-bootstrap = callPackage ../development/compilers/openjdk/make-bootstrap.nix {
3937
+
openjdk = openjdk.override { minimal = true; };
3938
+
};
3939
+
3940
openjdk-darwin = callPackage ../development/compilers/openjdk-darwin { };
3941
3942
openjdk7 = callPackage ../development/compilers/openjdk {