diff options
author | Aneesh Agrawal <aneeshusa@gmail.com> | 2016-08-09 06:01:48 -0400 |
---|---|---|
committer | Franz Pletz <fpletz@fnordicwalking.de> | 2016-08-09 12:01:48 +0200 |
commit | 746b591c684f4a69f85dd49c05961892a3ac2b4b (patch) | |
tree | b59af5932944004cf6e4ab1c8988e68511ea7b4b | |
parent | cb54b19c4d47287c8e35d793e8265af7ebb18b69 (diff) |
vagrant: use libarchive lib from Nix (#17597)
We currently already replace the embedded bsdtar binaries with the corresponding ones from Nix. However, we also need to replace the libarchive shared library to prevent version mismatches between the embedded library and the Nix binaries. Also expose version on the derivation and use environment variables to make overriding the derivation easier.
-rw-r--r-- | pkgs/development/tools/vagrant/default.nix | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix index 6dfbb6978db77..ae1dbe4462cff 100644 --- a/pkgs/development/tools/vagrant/default.nix +++ b/pkgs/development/tools/vagrant/default.nix @@ -15,6 +15,7 @@ let in stdenv.mkDerivation rec { name = "vagrant-${version}"; + inherit version; src = if stdenv.system == "x86_64-linux" then @@ -39,10 +40,10 @@ stdenv.mkDerivation rec { buildInputs = [ makeWrapper ]; unpackPhase = '' - ${dpkg}/bin/dpkg-deb -x ${src} . + ${dpkg}/bin/dpkg-deb -x "$src" . ''; - buildPhase = false; + buildPhase = ""; installPhase = '' sed -i "s|/opt|$out/opt|" usr/bin/vagrant @@ -55,6 +56,8 @@ stdenv.mkDerivation rec { ln -s ${curl.dev}/bin/curl-config opt/vagrant/embedded/bin # libarchive: bsdtar, bsdcpio + rm opt/vagrant/embedded/lib/libarchive* + ln -s ${libarchive}/lib/libarchive.so opt/vagrant/embedded/lib/libarchive.so rm opt/vagrant/embedded/bin/{bsdtar,bsdcpio} ln -s ${libarchive}/bin/bsdtar opt/vagrant/embedded/bin ln -s ${libarchive}/bin/bsdcpio opt/vagrant/embedded/bin @@ -92,17 +95,17 @@ stdenv.mkDerivation rec { mkdir -p "$out" cp -r opt "$out" cp -r usr/bin "$out" - wrapProgram $out/bin/vagrant --prefix LD_LIBRARY_PATH : $out/opt/vagrant/embedded/lib + wrapProgram "$out/bin/vagrant" --prefix LD_LIBRARY_PATH : "$out/opt/vagrant/embedded/lib" ''; preFixup = '' # 'hide' the template file from shebang-patching - chmod -x $out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable - chmod -x $out/opt/vagrant/embedded/gems/gems/vagrant-${version}/plugins/provisioners/salt/bootstrap-salt.sh + chmod -x "$out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable" + chmod -x "$out/opt/vagrant/embedded/gems/gems/vagrant-$version/plugins/provisioners/salt/bootstrap-salt.sh" ''; postFixup = '' - chmod +x $out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable - chmod +x $out/opt/vagrant/embedded/gems/gems/vagrant-${version}/plugins/provisioners/salt/bootstrap-salt.sh + chmod +x "$out/opt/vagrant/embedded/gems/gems/bundler-1.12.5/lib/bundler/templates/Executable" + chmod +x "$out/opt/vagrant/embedded/gems/gems/vagrant-$version/plugins/provisioners/salt/bootstrap-salt.sh" ''; } |