summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordakkar <dakkar@thenautilus.net>2025-01-20 12:19:38 +0000
committerdakkar <dakkar@thenautilus.net>2025-01-20 12:19:38 +0000
commitbb2f70adad113278ecc3cab23f2d561562f54313 (patch)
treef282dea05ad7d88a25fd9f662bfad6a989cac202
parentremove outdated ebuilds (diff)
downloadgentoo-overlay-bb2f70adad113278ecc3cab23f2d561562f54313.tar.gz
gentoo-overlay-bb2f70adad113278ecc3cab23f2d561562f54313.tar.bz2
gentoo-overlay-bb2f70adad113278ecc3cab23f2d561562f54313.zip
vagrant 2.4.3
-rw-r--r--app-emulation/vagrant/Manifest3
-rw-r--r--app-emulation/vagrant/files/vagrant.in61
-rw-r--r--app-emulation/vagrant/vagrant-2.4.3.ebuild124
3 files changed, 188 insertions, 0 deletions
diff --git a/app-emulation/vagrant/Manifest b/app-emulation/vagrant/Manifest
new file mode 100644
index 0000000..72518d2
--- /dev/null
+++ b/app-emulation/vagrant/Manifest
@@ -0,0 +1,3 @@
+AUX vagrant.in 1893 BLAKE2B d1e66c07e2b923ae46cfd1b4ff50478ea6628710533df1b3b82f4f9eef4692d0a090eae0703664001a1d29418972b32f917cbc10314df95dbb981036b20be18e SHA512 d7d5e38cb10ea183ba4dacdbcdedd950eb05502fb1992f6d300bd70724b09881c934f46ba37b28fad56624ca2f6c604d024ef9d6dbd3e137c1f45b3e280026db
+DIST vagrant-2.4.3.tar.gz 3347429 BLAKE2B 6d83734bf262f317bb8eacd7294ace1039817b832f7f489775ec754ad2cc7206392f3592565e6d43e983abba607ba29fc88379968f4e52c381223c7e256f7e8a SHA512 5bc9112c274fa6319fbeaae111d986df82c0ef1f2dad51aa6955b6522741b6d2731a4f2efea73e734a0228eb13756ea29089e4f87fc1a3b55a9b55d8ce88240b
+EBUILD vagrant-2.4.3.ebuild 3467 BLAKE2B 716430789cd748370a6c8274d65c06ecd4539a9c987c0743ba25c0799ed0afb38d81d70739e371b7e7c7d98a81e38b438968bdf2b0292fd5f7f8ca44d46db666 SHA512 900ee3aee81460d6def683d3e701c8cda84fc40e3d261cdcfd13aa473d9f0baafb04e56ebe8ce1f6a399f584d633d3bc1cc2b6018f869f1b37227cf6c3eccfc4
diff --git a/app-emulation/vagrant/files/vagrant.in b/app-emulation/vagrant/files/vagrant.in
new file mode 100644
index 0000000..21d6c0b
--- /dev/null
+++ b/app-emulation/vagrant/files/vagrant.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 ruby33 ruby32 ruby31 ruby30 ruby27 ruby26; 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}" "$@"
diff --git a/app-emulation/vagrant/vagrant-2.4.3.ebuild b/app-emulation/vagrant/vagrant-2.4.3.ebuild
new file mode 100644
index 0000000..2161555
--- /dev/null
+++ b/app-emulation/vagrant/vagrant-2.4.3.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31 ruby32 ruby33"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/vagrant/vagrant_ssl/extconf.rb)
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec"
+RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt"
+RUBY_FAKEGEM_TASK_DOC=""
+RUBY_FAKEGEM_TASK_TEST=test:unit
+RUBY_FAKEGEM_RECIPE_TEST=rake
+
+inherit bash-completion-r1 optfeature ruby-fakegem
+
+DESCRIPTION="A tool for building and distributing development environments"
+HOMEPAGE="https://vagrantup.com/"
+SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="BUSL-1.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+RESTRICT="!test? ( test )
+mirror"
+
+RDEPEND="
+ ${RDEPEND}
+ app-arch/libarchive
+ net-misc/curl
+"
+
+ruby_add_rdepend "
+ >=dev-ruby/bcrypt_pbkdf-1.1.0
+ >=dev-ruby/childprocess-4.1.0
+ >=dev-ruby/ed25519-1.3.0
+ dev-ruby/erubi
+ >=dev-ruby/googleapis-common-protos-types-1.3.0
+ >=dev-ruby/grpc-1.62.0
+ >=dev-ruby/hashicorp-checkpoint-0.1.5
+ >=dev-ruby/i18n-1.12:1
+ >=dev-ruby/listen-3.7
+ >=dev-ruby/log4r-1.1.9
+ <dev-ruby/log4r-1.1.11
+ >=dev-ruby/mime-types-3.3:*
+ >=dev-ruby/net-ftp-0.2.0
+ >=dev-ruby/net-ssh-7.0.0
+ >=dev-ruby/net-sftp-4.0.0
+ >=dev-ruby/net-scp-4.0.0
+ >=dev-ruby/ostruct-0.6.0
+ >=dev-ruby/rexml-3.2.0
+ >=dev-ruby/rgl-0.5.10
+ >=dev-ruby/rubyzip-2.3.2
+ >=dev-ruby/vagrant_cloud-3.1.2
+ >=dev-ruby/ipaddr-1.2.4
+"
+
+ruby_add_bdepend "
+ >=dev-ruby/rake-13.0.0
+ test? (
+ ~app-emulation/vagrant-${PV}
+ dev-ruby/fake_ftp
+ dev-ruby/rake-compiler
+ >=dev-ruby/rspec-3.11
+ >=dev-ruby/rspec-its-1.3.0
+ >=dev-ruby/webrick-1.7.0
+ )
+"
+
+all_ruby_prepare() {
+ # remove bundler support
+ sed -e '/[Bb]undler/ s:^:#:' \
+ -e '/extensiontask/ s:^:#:' \
+ -e '/ExtensionTask/,/^end/ s:^:#:' \
+ -i Rakefile || die
+ rm Gemfile || die
+ rm tasks/bundler.rake || die
+
+ sed -e ':rake\|rspec: s:~>:>=:' \
+ -e ':bcrypt_pbkdf\|hashicorp-checkpoint\|i18n\|listen\|net-ssh\|net-scp\|net-sftp\|childprocess: s:~>:>=:' \
+ -e '/fake_ftp/ s:^#*:#:' \
+ -e '/wdm/ s:^#*:#:' \
+ -e '/winrm/ s:^#*:#:' \
+ -e '/rb-kqueue/ s:^#*:#:' \
+ -e '/ruby_dep/ s:^#*:#:' \
+ -i ${PN}.gemspec || die
+
+ sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}.in" > "${PN}" || die
+
+ sed -i -e 's/format documentation/format progress/' tasks/test.rake || die
+
+ # Avoid tests confused by the environment
+ rm -f test/unit/vagrant/util/env_test.rb || die
+
+ # Avoid tests for Windows-specific components
+ rm -rf test/unit/plugins/communicators/winrm || die
+ sed -e '/eager loads WinRM/askip "Windows component"' \
+ -e '/should return the specified communicator if given/askip "Windows component"' \
+ -i test/unit/vagrant/machine_test.rb || die
+ sed -e '/with winrm communicator/ s/context/xcontext/' \
+ -i test/unit/plugins/provisioners/ansible/provisioner_test.rb || die
+}
+
+all_ruby_install() {
+ all_fakegem_install
+
+ newbashcomp contrib/bash/completion.sh ${PN}
+
+ # provide executable similar to upstream:
+ # https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb
+ dobin "${PN}"
+
+ # directory for plugins.json
+ keepdir /var/lib/vagrant
+
+ insinto /usr/share/vim/vimfiles/syntax/
+ doins contrib/vim/vagrantfile.vim
+
+ optfeature_header "Optional emulation/container backends:"
+ optfeature "VirtualBox support" app-emulation/virtualbox
+ optfeature "Docker support" app-containers/docker
+}