summary refs log tree commit diff
path: root/pkgs/development/compilers/openjdk/make-bootstrap.nix
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/make-bootstrap.nix
parentbdcb721546f81c4b2c31eb84d94f10d91f1031ca (diff)
downloadnixpkgs-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar
nixpkgs-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.gz
nixpkgs-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.bz2
nixpkgs-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.lz
nixpkgs-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.xz
nixpkgs-0cc68fa478f26b802d1c82ef13ba055a745efbca.tar.zst
nixpkgs-0cc68fa478f26b802d1c82ef13ba055a745efbca.zip
openjdk-make-bootstrap: Use openjdk8
Diffstat (limited to 'pkgs/development/compilers/openjdk/make-bootstrap.nix')
-rw-r--r--pkgs/development/compilers/openjdk/make-bootstrap.nix39
1 files changed, 22 insertions, 17 deletions
diff --git a/pkgs/development/compilers/openjdk/make-bootstrap.nix b/pkgs/development/compilers/openjdk/make-bootstrap.nix
index 090a1479741..aac54417e2a 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
 ''