summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2023-08-27 18:57:48 +0200
committerHans de Graaff <graaff@gentoo.org>2023-08-27 18:58:57 +0200
commite419db21acd6e588b8d12b7f59e48aff873917fb (patch)
tree31c113ad46fbe350e586a68f9e757bda0ff3eddb
parentdev-ruby/grpc: new package, add 1.54.0 (diff)
downloadgentoo-e419db21acd6e588b8d12b7f59e48aff873917fb.tar.gz
gentoo-e419db21acd6e588b8d12b7f59e48aff873917fb.tar.bz2
gentoo-e419db21acd6e588b8d12b7f59e48aff873917fb.zip
app-emulation/vagrant: add 2.3.7
Closes: https://bugs.gentoo.org/867943 Closes: https://bugs.gentoo.org/912592 Signed-off-by: Hans de Graaff <graaff@gentoo.org>
-rw-r--r--app-emulation/vagrant/Manifest1
-rw-r--r--app-emulation/vagrant/files/vagrant.in2
-rw-r--r--app-emulation/vagrant/vagrant-2.3.7.ebuild121
3 files changed, 123 insertions, 1 deletions
diff --git a/app-emulation/vagrant/Manifest b/app-emulation/vagrant/Manifest
index 5d7e68811a33..afc31a73f05b 100644
--- a/app-emulation/vagrant/Manifest
+++ b/app-emulation/vagrant/Manifest
@@ -1 +1,2 @@
DIST vagrant-2.2.19.tar.gz 1838272 BLAKE2B cb707254379f52db8571bfe132e5b852a11998d86b43ee707e03d442ca1313da7b2612af027a58f806e0b551a6f415d121dab51cf7ea5da4292e5c2afd198ab9 SHA512 24a2e5baeac5cf8c45c012cf70dd4132b1dc7a6a5bab19d1046c91cc88e669356e2e5676d96eda6ed7293ff19ada974954969a4a59b9e4a30e2d95de27fa64e4
+DIST vagrant-2.3.7.tar.gz 3296042 BLAKE2B 720e16bed6f9088558f7a8a2af7925946c71d771fc732fd43fc277f160faa1d2c86bdb3eaab6ec0cf569e945a30593655f3551608f708ee74203392ba61ce11f SHA512 a65b1c48fad6eb04fc0097dc7c8dc4e37467c5e6406d1d384a017b127704ebd6872cd0cc69ef38b393c98d6fd58c39c806e7ef439c2b55a15bf66c3647595cc2
diff --git a/app-emulation/vagrant/files/vagrant.in b/app-emulation/vagrant/files/vagrant.in
index d77c39d06045..0dfd12d10148 100644
--- a/app-emulation/vagrant/files/vagrant.in
+++ b/app-emulation/vagrant/files/vagrant.in
@@ -4,7 +4,7 @@
# Vagrant installation directory. This sets up proper environmental variables
# so that everything loads and compiles to proper directories.
-for r in ruby30 ruby27 ruby26; do
+for r in 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
diff --git a/app-emulation/vagrant/vagrant-2.3.7.ebuild b/app-emulation/vagrant/vagrant-2.3.7.ebuild
new file mode 100644
index 000000000000..3225ddf513bd
--- /dev/null
+++ b/app-emulation/vagrant/vagrant-2.3.7.ebuild
@@ -0,0 +1,121 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+USE_RUBY="ruby31"
+
+RUBY_FAKEGEM_EXTENSIONS=(ext/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="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+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
+ >=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/rexml-3.2.0
+ >=dev-ruby/rgl-0.5.10
+ >=dev-ruby/rubyzip-2.3.2
+ >=dev-ruby/vagrant_cloud-3.0.5
+ >=dev-ruby/ipaddr-1.2.4
+"
+
+ruby_add_bdepend "
+ >=dev-ruby/rake-13.0.0
+ test? (
+ ~app-emulation/vagrant-${PV}
+ 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
+}