diff options
author | dakkar <dakkar@thenautilus.net> | 2025-01-20 12:19:38 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2025-01-20 12:19:38 +0000 |
commit | bb2f70adad113278ecc3cab23f2d561562f54313 (patch) | |
tree | f282dea05ad7d88a25fd9f662bfad6a989cac202 | |
parent | remove outdated ebuilds (diff) | |
download | gentoo-overlay-bb2f70adad113278ecc3cab23f2d561562f54313.tar.gz gentoo-overlay-bb2f70adad113278ecc3cab23f2d561562f54313.tar.bz2 gentoo-overlay-bb2f70adad113278ecc3cab23f2d561562f54313.zip |
vagrant 2.4.3
-rw-r--r-- | app-emulation/vagrant/Manifest | 3 | ||||
-rw-r--r-- | app-emulation/vagrant/files/vagrant.in | 61 | ||||
-rw-r--r-- | app-emulation/vagrant/vagrant-2.4.3.ebuild | 124 |
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 +} |