vagrant: fix Ruby and libffi libraries on Darwin

On Darwin, keep the Ruby and libffi libraries and binaries bundled
with Vagrant instead of linking to the Nix ones, to avoid errors about
libraries not found.
This commit is contained in:
Diego Zamboni 2017-10-04 21:50:21 +02:00
parent dea58ce228
commit 97d9f0b5bb

View File

@ -85,6 +85,22 @@ in stdenv.mkDerivation rec {
ln -s ${openssl.bin}/bin/c_rehash opt/vagrant/embedded/bin ln -s ${openssl.bin}/bin/c_rehash opt/vagrant/embedded/bin
ln -s ${openssl.bin}/bin/openssl opt/vagrant/embedded/bin ln -s ${openssl.bin}/bin/openssl opt/vagrant/embedded/bin
# libiconv: iconv
rm opt/vagrant/embedded/bin/iconv
ln -s ${libiconv}/bin/iconv opt/vagrant/embedded/bin
# libxml: xml2-config, xmlcatalog, xmllint
rm opt/vagrant/embedded/bin/{xml2-config,xmlcatalog,xmllint}
ln -s ${libxml2.dev}/bin/xml2-config opt/vagrant/embedded/bin
ln -s ${libxml2.bin}/bin/xmlcatalog opt/vagrant/embedded/bin
ln -s ${libxml2.bin}/bin/xmllint opt/vagrant/embedded/bin
# libxslt: xslt-config, xsltproc
rm opt/vagrant/embedded/bin/{xslt-config,xsltproc}
ln -s ${libxslt.dev}/bin/xslt-config opt/vagrant/embedded/bin
ln -s ${libxslt.bin}/bin/xsltproc opt/vagrant/embedded/bin
'' + (stdenv.lib.optionalString (! stdenv.isDarwin) ''
# ruby: erb, gem, irb, rake, rdoc, ri, ruby # ruby: erb, gem, irb, rake, rdoc, ri, ruby
rm opt/vagrant/embedded/bin/{erb,gem,irb,rake,rdoc,ri,ruby} rm opt/vagrant/embedded/bin/{erb,gem,irb,rake,rdoc,ri,ruby}
ln -s ${ruby}/bin/erb opt/vagrant/embedded/bin ln -s ${ruby}/bin/erb opt/vagrant/embedded/bin
@ -101,24 +117,10 @@ in stdenv.mkDerivation rec {
ln -s $lib opt/vagrant/embedded/lib/''${lib##*/} ln -s $lib opt/vagrant/embedded/lib/''${lib##*/}
done done
# libiconv: iconv
rm opt/vagrant/embedded/bin/iconv
ln -s ${libiconv}/bin/iconv opt/vagrant/embedded/bin
# libxml: xml2-config, xmlcatalog, xmllint
rm opt/vagrant/embedded/bin/{xml2-config,xmlcatalog,xmllint}
ln -s ${libxml2.dev}/bin/xml2-config opt/vagrant/embedded/bin
ln -s ${libxml2.bin}/bin/xmlcatalog opt/vagrant/embedded/bin
ln -s ${libxml2.bin}/bin/xmllint opt/vagrant/embedded/bin
# libxslt: xslt-config, xsltproc
rm opt/vagrant/embedded/bin/{xslt-config,xsltproc}
ln -s ${libxslt.dev}/bin/xslt-config opt/vagrant/embedded/bin
ln -s ${libxslt.bin}/bin/xsltproc opt/vagrant/embedded/bin
# libffi # libffi
ln -s ${libffi}/lib/libffi.so.6 opt/vagrant/embedded/lib/libffi.so.6 ln -s ${libffi}/lib/libffi.so.6 opt/vagrant/embedded/lib/libffi.so.6
'') + ''
mkdir -p "$out" mkdir -p "$out"
cp -r opt "$out" cp -r opt "$out"
cp -r usr/bin "$out" cp -r usr/bin "$out"