From ddd41a509a11cbed86f10a747b0b51a35d0b71ae Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 20 Sep 2016 13:57:57 +0200 Subject: [PATCH] virtualbox: Drop dontPatchELF hack However, this also requires ad8f31df7f2e85edeb22809ada0949f9f72a7bfd to get rid of gcc_multi.out in the closure. --- .../virtualization/virtualbox/default.nix | 6 ++--- .../tools/misc/patchelf/unstable.nix | 26 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 ++ 3 files changed, 30 insertions(+), 4 deletions(-) create mode 100644 pkgs/development/tools/misc/patchelf/unstable.nix diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix index baf18c3f66f..ef834897022 100644 --- a/pkgs/applications/virtualization/virtualbox/default.nix +++ b/pkgs/applications/virtualization/virtualbox/default.nix @@ -9,6 +9,7 @@ , pulseSupport ? false, libpulseaudio ? null , enableHardening ? false , headless ? false +, patchelfUnstable # needed until 0.10 is released }: with stdenv.lib; @@ -48,7 +49,7 @@ in stdenv.mkDerivation { buildInputs = [ iasl dev86 libxslt libxml2 xproto libX11 libXext libXcursor libIDL libcap glib lvm2 python alsaLib curl libvpx pam xorriso makeself perl - pkgconfig which libXmu libpng ] + pkgconfig which libXmu libpng patchelfUnstable ] ++ optional javaBindings jdk ++ optional pythonBindings python ++ optional pulseSupport libpulseaudio @@ -181,9 +182,6 @@ in stdenv.mkDerivation { passthru = { inherit version; /* for guest additions */ }; - # Workaround for https://github.com/NixOS/patchelf/issues/93 (can be removed once this issue is addressed) - dontPatchELF = true; - meta = { description = "PC emulator"; homepage = http://www.virtualbox.org/; diff --git a/pkgs/development/tools/misc/patchelf/unstable.nix b/pkgs/development/tools/misc/patchelf/unstable.nix new file mode 100644 index 00000000000..5f434c13abc --- /dev/null +++ b/pkgs/development/tools/misc/patchelf/unstable.nix @@ -0,0 +1,26 @@ +{ stdenv, fetchFromGitHub, autoreconfHook }: + +stdenv.mkDerivation rec { + name = "patchelf-0.10-pre-20160920"; + + src = fetchFromGitHub { + owner = "NixOS"; + repo = "patchelf"; + rev = "327d80443672c397970738f9e216a7e86cbf3ad7"; + sha256 = "0nghzywda4jrj70gvn4dnrzasafgdp0basj04wfir1smvsi047zr"; + }; + + setupHook = [ ./setup-hook.sh ]; + + buildInputs = [ autoreconfHook ]; + + doCheck = true; + + meta = { + homepage = http://nixos.org/patchelf.html; + license = "GPL"; + description = "A small utility to modify the dynamic linker and RPATH of ELF executables"; + maintainers = [ stdenv.lib.maintainers.eelco ]; + platforms = stdenv.lib.platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index bd5be934dba..46356f88fa7 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6660,6 +6660,8 @@ in patchelf = callPackage ../development/tools/misc/patchelf { }; + patchelfUnstable = lowPrio (callPackage ../development/tools/misc/patchelf/unstable.nix { }); + peg = callPackage ../development/tools/parsing/peg { }; phantomjs = callPackage ../development/tools/phantomjs { };