diff options
author | Georgy Yakovlev <gyakovlev@gentoo.org> | 2018-07-08 01:11:03 -0700 |
---|---|---|
committer | Georgy Yakovlev <gyakovlev@gentoo.org> | 2018-07-08 01:54:13 -0700 |
commit | a55d71b7959c1c24b95b90b00ff1c56e72940288 (patch) | |
tree | ed25210e72b7d41f6039dca38c0dc5095542daa8 /app-emulation/vagrant/files | |
parent | app-text/calibre: remove unused patch/files (diff) | |
download | gentoo-a55d71b7959c1c24b95b90b00ff1c56e72940288.tar.gz gentoo-a55d71b7959c1c24b95b90b00ff1c56e72940288.tar.bz2 gentoo-a55d71b7959c1c24b95b90b00ff1c56e72940288.zip |
app-emulation/vagrant: add ruby25 support
Closes: https://github.com/gentoo/gentoo/pull/9117
Package-Manager: Portage-2.3.41, Repoman-2.3.9
Diffstat (limited to 'app-emulation/vagrant/files')
-rw-r--r-- | app-emulation/vagrant/files/vagrant-r1.in | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/app-emulation/vagrant/files/vagrant-r1.in b/app-emulation/vagrant/files/vagrant-r1.in new file mode 100644 index 000000000000..ee5e48c21541 --- /dev/null +++ b/app-emulation/vagrant/files/vagrant-r1.in @@ -0,0 +1,61 @@ +#!/usr/bin/env bash +# +# This is a wrapper to properly execute Vagrant within the embedded +# Vagrant installation directory. This sets up proper environmental variables +# so that everything loads and compiles to proper directories. + +for r in ruby25 ruby24 ruby23; do + # not all ruby versions are guaranteed to be installed + if ! command -v "${r}" >/dev/null 2>&1; then + continue + fi + + VAGRANT_DIR="$( "${r}" -e 'print Gem::default_path[-1] + "/gems/vagrant-@VAGRANT_VERSION@"' )" + + # Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit + export VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant" + + if [ -f ${VAGRANT_EXECUTABLE} ] ;then + ruby="${r}" + break + fi +done + +if [ -z ${ruby} ]; then + echo "Error: failed to find any usable ruby" + exit 1 +fi + +# Export GEM_HOME based on VAGRANT_HOME +# +# This needs to be set because Bundler includes gem paths +# from RubyGems' Gem.paths. +if [ -z ${VAGRANT_HOME} ]; then + VAGRANT_HOME="~/.vagrant.d" +fi +export GEM_HOME="${VAGRANT_HOME}/gems" + +# SSL certs +export SSL_CERT_FILE="/etc/ssl/certs/ca-certificates.crt" + +# Export an environmental variable to say we're in a Vagrant +# installer created environment. +export VAGRANT_INSTALLER_ENV=1 + +# This is currently used only in Vagrant::Plugin::Manager.system_plugins_file +# to locate plugins configuration file. +export VAGRANT_INSTALLER_EMBEDDED_DIR="/var/lib/vagrant" +export VAGRANT_INSTALLER_VERSION=2 + +# Export the OS as an environmental variable that Vagrant can access +# so that it can behave better. +export VAGRANT_DETECTED_OS="$(uname -s 2>/dev/null)" + +# Allow to install plugins even with deps in different slots (Bug #628648) +export VAGRANT_DISABLE_STRICT_DEPENDENCY_ENFORCEMENT=1 + +# Make it work with rvm (Bugs #474476 #628648) +unset GEM_HOME GEM_PATH + +# Call the actual Vagrant bin with our arguments +exec "${ruby}" "${VAGRANT_EXECUTABLE}" "$@" |