aboutsummaryrefslogtreecommitdiff
path: root/infra/libkookie/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix
diff options
context:
space:
mode:
authorMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
committerMx Kookie <kookie@spacekookie.de>2020-10-31 19:35:09 +0100
commitc4625b175f8200f643fd6e11010932ea44c78433 (patch)
treebce3f89888c8ac3991fa5569a878a9eab6801ccc /infra/libkookie/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix
parent49f735974dd103039ddc4cb576bb76555164a9e7 (diff)
parentd661aa56a8843e991261510c1bb28fdc2f6975ae (diff)
Add 'infra/libkookie/' from commit 'd661aa56a8843e991261510c1bb28fdc2f6975ae'
git-subtree-dir: infra/libkookie git-subtree-mainline: 49f735974dd103039ddc4cb576bb76555164a9e7 git-subtree-split: d661aa56a8843e991261510c1bb28fdc2f6975ae
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix')
-rw-r--r--infra/libkookie/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix31
1 files changed, 31 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix b/infra/libkookie/nixpkgs/pkgs/development/compilers/openjdk/make-bootstrap.nix
new file mode 100644
index 000000000000..aac54417e2a8
--- /dev/null
+++ b/infra/libkookie/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
+''