diff options
Diffstat (limited to 'nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix')
-rw-r--r-- | nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix b/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix new file mode 100644 index 000000000000..aac54417e2a8 --- /dev/null +++ b/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix @@ -0,0 +1,31 @@ +{ runCommand, openjdk, nukeReferences }: + +runCommand "${openjdk.name}-bootstrap.tar.xz" {} '' + 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 +'' |