about summary refs log tree commit diff
path: root/pkgs/development/compilers/openjdk
diff options
context:
space:
mode:
authorWilliam A. Kennington III <william@wkennington.com>2015-06-06 21:55:09 -0700
committerWilliam A. Kennington III <william@wkennington.com>2015-06-07 21:02:02 -0700
commit0cc68fa478f26b802d1c82ef13ba055a745efbca (patch)
treea637e3a679120a724464b9e19d2e0ba25bd27d33 /pkgs/development/compilers/openjdk
parentbdcb721546f81c4b2c31eb84d94f10d91f1031ca (diff)
downloadnixlib-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar
nixlib-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.gz
nixlib-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.bz2
nixlib-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.lz
nixlib-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.xz
nixlib-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.zst
nixlib-0cc68fa478f26b802d1c82ef13ba055a745efbca.zip
openjdk-make-bootstrap: Use openjdk8
Diffstat (limited to 'pkgs/development/compilers/openjdk')
-rw-r--r--pkgs/development/compilers/openjdk/make-bootstrap.nix39
-rw-r--r--pkgs/development/compilers/openjdk/openjdk8.nix12
2 files changed, 28 insertions, 23 deletions
diff --git a/pkgs/development/compilers/openjdk/make-bootstrap.nix b/pkgs/development/compilers/openjdk/make-bootstrap.nix
index 090a1479741a..aac54417e2a8 100644
--- a/pkgs/development/compilers/openjdk/make-bootstrap.nix
+++ b/pkgs/development/compilers/openjdk/make-bootstrap.nix
@@ -1,26 +1,31 @@
 { runCommand, openjdk, nukeReferences }:
 
-let arch = openjdk.architecture; in
-
 runCommand "${openjdk.name}-bootstrap.tar.xz" {} ''
-  mkdir -p openjdk-bootstrap/bin
-  mkdir -p openjdk-bootstrap/lib
-  mkdir -p openjdk-bootstrap/jre/lib/{security,ext,${arch}/{jli,server,client,headless}}
-  cp ${openjdk}/bin/{idlj,ja{va{,c,p,h},r},rmic} openjdk-bootstrap/bin
-  cp ${openjdk}/lib/tools.jar openjdk-bootstrap/lib
-  cp ${openjdk}/jre/lib/{meta-index,{charsets,jce,jsse,rt,resources}.jar,currency.data} openjdk-bootstrap/jre/lib
-  cp ${openjdk}/jre/lib/security/java.security openjdk-bootstrap/jre/lib/security
-  cp ${openjdk}/jre/lib/ext/{meta-index,sunjce_provider.jar} openjdk-bootstrap/jre/lib/ext
-  cp ${openjdk}/jre/lib/${arch}/{jvm.cfg,lib{awt,java,verify,zip,nio,net}.so} openjdk-bootstrap/jre/lib/${arch}
-  cp ${openjdk}/jre/lib/${arch}/jli/libjli.so openjdk-bootstrap/jre/lib/${arch}/jli
-  cp ${openjdk}/jre/lib/${arch}/server/libjvm.so openjdk-bootstrap/jre/lib/${arch}/server
-  cp ${openjdk}/jre/lib/${arch}/client/libjvm.so openjdk-bootstrap/jre/lib/${arch}/client ||
-    rmdir openjdk-bootstrap/jre/lib/${arch}/client
-  cp ${openjdk}/jre/lib/${arch}/headless/libmawt.so openjdk-bootstrap/jre/lib/${arch}/headless
-  cp -a ${openjdk}/include openjdk-bootstrap
+  mkdir -pv openjdk-bootstrap/lib
+
+  # Do a deep copy of the openjdk
+  cp -vrL ${openjdk.home} openjdk-bootstrap/lib
+
+  # Includes are needed for building the native jvm
+  cp -vrL ${openjdk}/include openjdk-bootstrap
+
+  # The binaries are actually stored in the openjdk lib
+  ln -sv lib/openjdk/bin openjdk-bootstrap/bin
+  find . -name libjli.so
+  (cd openjdk-bootstrap/lib; find . -name libjli.so -exec ln -sfv {} libjli.so \;)
 
   chmod -R +w openjdk-bootstrap
+
+  # Remove components we don't need
+  find openjdk-bootstrap -name \*.diz -exec rm {} \;
+  find openjdk-bootstrap -name \*.ttf -exec rm {} \;
+  find openjdk-bootstrap -name \*.gif -exec rm {} \;
+  find openjdk-bootstrap -name src.zip -exec rm {} \;
+  rm -rf openjdk-bootstrap/lib/openjdk/jre/bin
+
+  # Remove all of the references to the native nix store
   find openjdk-bootstrap -print0 | xargs -0 ${nukeReferences}/bin/nuke-refs
 
+  # Create the output tarball
   tar cv openjdk-bootstrap | xz > $out
 ''
diff --git a/pkgs/development/compilers/openjdk/openjdk8.nix b/pkgs/development/compilers/openjdk/openjdk8.nix
index 4406c72e2293..8226f2ea146a 100644
--- a/pkgs/development/compilers/openjdk/openjdk8.nix
+++ b/pkgs/development/compilers/openjdk/openjdk8.nix
@@ -1,4 +1,6 @@
-{ 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
+
+, minimal ? false } :
 let
   update = "40";
   build = "27";
@@ -66,7 +68,6 @@ let
     ./read-truststore-from-env-jdk8.patch
     ./currency-date-range-jdk8.patch
     ./JDK-8074312-hotspot.patch
-
   ];
   preConfigure = ''
     chmod +x configure
@@ -84,11 +85,11 @@ let
     "--with-override-nashorn=../nashorn-${repover}"
     "--with-boot-jdk=${bootjdk.home}"
     "--with-update-version=${update}"
-    "--with-build-number=b${build}"
+    "--with-build-number=${build}"
     "--with-milestone=fcs"
     "--disable-debug-symbols"
-  ];
-  NIX_LDFLAGS= "-lfontconfig";
+  ] ++ 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
@@ -142,7 +143,6 @@ let
 
     ln -s $out/lib/openjdk/bin $out/bin
     ln -s $jre/lib/openjdk/jre/bin $jre/bin
-
   '';
 
   meta = with stdenv.lib; {