From 365ce3ddba0554c1a8c0ac0abd343ac907d04e66 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 19 Jan 2015 23:24:47 +0100 Subject: [PATCH] openjdk-bootstrap: Don't depend on the length of the Glibc version Building the bootstrap OpenJDK failed if the Glibc version string is not 4 characters, e.g. "2.12.1" would cause a corrupt tarball. --- pkgs/development/compilers/openjdk/bootstrap.nix | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkgs/development/compilers/openjdk/bootstrap.nix b/pkgs/development/compilers/openjdk/bootstrap.nix index 222ab010c264..890064538cc0 100644 --- a/pkgs/development/compilers/openjdk/bootstrap.nix +++ b/pkgs/development/compilers/openjdk/bootstrap.nix @@ -16,9 +16,13 @@ let in runCommand "openjdk-bootstrap" {} '' - xz -dc ${src} | sed "s/e*-glibc-[^/]*/$(basename ${glibc})/g" | tar xv + tar xvf ${src} mv openjdk-bootstrap $out + for i in $out/bin/*; do + patchelf --set-interpreter ${glibc}/lib/ld-linux*.so.2 $i + done + # Temporarily, while NixOS's OpenJDK bootstrap tarball doesn't have PaX markings: exes=$(${file}/bin/file $out/bin/* 2> /dev/null | grep -E 'ELF.*(executable|shared object)' | sed -e 's/: .*$//') for file in $exes; do