diff --git a/app-emulation/vagrant/Manifest b/app-emulation/vagrant/Manifest index cb9c46ade8fe7..0490e5a43388f 100644 --- a/app-emulation/vagrant/Manifest +++ b/app-emulation/vagrant/Manifest @@ -1,3 +1,4 @@ DIST vagrant-1.8.5.tar.gz 1738399 SHA256 e6882f9b44a52888760c34d6c43e3fa3f118e9eb96730bcd466cd8ae948c3126 SHA512 b1e162b870fb991c42c98704cf7ad10ebe6090bacb00376e5b5684734508300847e9065393c33b49699ec884f12f8c48150b3cea2e17ba009917578817dd2f6b WHIRLPOOL bb535b3598e7224112326e3033fe38fccea54b18527954a5849e8cbdc1ebc9521294c6699335eacc0d32476731bb3e522a52e071e620c72c12c546fb62c4583c DIST vagrant-1.8.6.tar.gz 1749696 SHA256 de1204c56feeeb327f542e58d39c9dd55fef78a9b753594a3b30e330d72d23e4 SHA512 dba8226b4039a8fa3587254f5d57fb7c967dde993aa87cffd745d7e176d2f78b45830e04711d90e48bca47197b11d1a46e34bf29e5bc0e1d6d78eecb2e636e36 WHIRLPOOL 3c32f00a4b4d773d6f795ad8a088c4a4316d612a8d4504348f2d2790bfc38bf5299a9e730c28b721858a36cff4210b322e8f6225b144e37282689c3beee1971b DIST vagrant-1.8.7.tar.gz 1756302 SHA256 5371d39679d40d4f6913728dd3d93c103e74c76ecc813710191a2c378b83a1e2 SHA512 b9cffded481b03d676d5815b1d6ba55b56cd5ae8ac7ddbaca19f36880df8cd3fdc9efc240782001619bd3790518e192ba82e8bbde2e4eba12894e78603e6a3b7 WHIRLPOOL 37e4dfe3b4f4681c01887ce75ec035cc8efdf2950b2d04bac0793dd527d65d3f7c991880e7fb402831eb746bb3cb1f84cf7b4529316435b007d6a0cf682f3393 +DIST vagrant-1.9.1.tar.gz 1762644 SHA256 ed30e5a277b5614ee83d9417793ed2af870977368c2b0344855694040c4d6449 SHA512 07ea6e2d881806ce61395a30abdaa7b4f7c2c39bb909d6c6e0aa14101945a9a26078ed18ebb8e238d97f05ee060564fb290615ac4868b80ee29b64b88a666452 WHIRLPOOL 16ece1985a78942c75774181c803e42ffe81cd0580314372932af6a3c5084b43f8d3db0d6137eaa3186a9cdbf33e8e9d59f27f95be6ebe2ed5d93a90577e7fb9 diff --git a/app-emulation/vagrant/files/vagrant-1.9.1 b/app-emulation/vagrant/files/vagrant-1.9.1 new file mode 100644 index 0000000000000..40a91d63e9622 --- /dev/null +++ b/app-emulation/vagrant/files/vagrant-1.9.1 @@ -0,0 +1,45 @@ +#!/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. + +VAGRANT_DIR="$( ruby -e 'print Gem::default_path[-1] + "/gems/vagrant-1.9.1"' )" + +# 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=$(eval echo "~/.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" + +# Determine the OS that we're on, which is used in some later checks. +# It is very important we do this _before_ setting the PATH below +# because uname dependencies can conflict on some platforms. +OS=$(uname -s 2>/dev/null) + +# Export the OS as an environmental variable that Vagrant can access +# so that it can behave better. +export VAGRANT_DETECTED_OS="${OS}" + +VAGRANT_EXECUTABLE="${VAGRANT_DIR}/bin/vagrant" + +# Export the VAGRANT_EXECUTABLE so that pre-rubygems can optimize a bit +export VAGRANT_EXECUTABLE + +# Call the actual Vagrant bin with our arguments +exec ruby "${VAGRANT_EXECUTABLE}" "$@" diff --git a/app-emulation/vagrant/vagrant-1.9.1.ebuild b/app-emulation/vagrant/vagrant-1.9.1.ebuild new file mode 100644 index 0000000000000..7e87339fa8547 --- /dev/null +++ b/app-emulation/vagrant/vagrant-1.9.1.ebuild @@ -0,0 +1,84 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="5" +USE_RUBY="ruby20 ruby21 ruby22 ruby23" + +RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" +RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" +RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt" +RUBY_FAKEGEM_TASK_DOC="" + +inherit bash-completion-r1 ruby-fakegem eutils + +DESCRIPTION="A tool for building and distributing development environments" +HOMEPAGE="http://vagrantup.com/" +SRC_URI="https://github.com/mitchellh/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="MIT" +SLOT="0" +KEYWORDS="~amd64" +IUSE="+virtualbox" + +RDEPEND="${RDEPEND} + app-arch/libarchive + net-misc/curl + virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" + +ruby_add_rdepend " + >=dev-ruby/childprocess-0.5.0 + >=dev-ruby/erubis-2.7.0 + >=dev-ruby/i18n-0.6.0:* =dev-ruby/listen-3.1.5 + >=dev-ruby/hashicorp-checkpoint-0.1.1 + >=dev-ruby/log4r-1.1.9 =dev-ruby/net-ssh-3.0.1 + >=dev-ruby/net-sftp-2.1 + >=dev-ruby/net-scp-1.1.0 + || ( >=dev-ruby/rest-client-1.6.0:0 dev-ruby/rest-client:2 ) + >=dev-ruby/nokogiri-1.6.7.1 + >=dev-ruby/mime-types-2.6.2:* =dev-ruby/rake-11.3.0 +" + +all_ruby_prepare() { + # remove bundler support + sed -i '/[Bb]undler/d' Rakefile || die + rm Gemfile || die + + # loosen dependencies + sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake/s/~>/>=/' \ + -e '/ruby_dep/s/<=/>=/' \ + -e '/nokogiri/s/=/>=/' \ + -i ${PN}.gemspec || die + + # remove windows-specific gems + sed -e '/wdm\|winrm/d' \ + -i ${PN}.gemspec || die + + # remove bsd-specific gems + sed -e '/rb-kqueue/d' \ + -i ${PN}.gemspec || die + + # disable embedded CA certs and use system ones + epatch "${FILESDIR}"/${PN}-1.8.1-disable-embedded-cacert.patch + + # fix rvm issue (bug #474476) + epatch "${FILESDIR}"/${PN}-1.8.1-rvm.patch +} + +all_ruby_install() { + newbashcomp contrib/bash/completion.sh ${PN} + all_fakegem_install + + # provide executable similar to upstream: + # https://github.com/mitchellh/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb + newbin "${FILESDIR}/${P}" "${PN}" + + # directory for plugins.json + dodir /var/lib/vagrant +}