From 2a65bfb72e82ecf9184130a6c627e11007663293 Mon Sep 17 00:00:00 2001 From: Georgy Yakovlev Date: Tue, 31 Dec 2019 20:47:36 -0800 Subject: app-emulation/vagrant: add virtualbox-6.1 support to 2.2.6 Closes: https://bugs.gentoo.org/704372 Package-Manager: Portage-2.3.79, Repoman-2.3.16 Signed-off-by: Georgy Yakovlev --- app-emulation/vagrant/files/support-vbox-6.1.patch | 75 ++++++++++++++++++ app-emulation/vagrant/vagrant-2.2.6-r1.ebuild | 92 ++++++++++++++++++++++ app-emulation/vagrant/vagrant-2.2.6.ebuild | 90 --------------------- 3 files changed, 167 insertions(+), 90 deletions(-) create mode 100644 app-emulation/vagrant/files/support-vbox-6.1.patch create mode 100644 app-emulation/vagrant/vagrant-2.2.6-r1.ebuild delete mode 100644 app-emulation/vagrant/vagrant-2.2.6.ebuild (limited to 'app-emulation') diff --git a/app-emulation/vagrant/files/support-vbox-6.1.patch b/app-emulation/vagrant/files/support-vbox-6.1.patch new file mode 100644 index 000000000000..59a546302799 --- /dev/null +++ b/app-emulation/vagrant/files/support-vbox-6.1.patch @@ -0,0 +1,75 @@ +From fb4e6985e142da56bad143d70600cd3695c91757 Mon Sep 17 00:00:00 2001 +From: Brian Cain +Date: Wed, 11 Dec 2019 13:25:11 -0800 +Subject: [PATCH] Fixes #11249: Add VirtualBox provider support for version + 6.1.x + +This commit adds support for VirtualBox version 6.1.x. It simply +inherits from the base 6.0.x provider class. +--- + plugins/providers/virtualbox/driver/meta.rb | 1 + + .../providers/virtualbox/driver/version_6_1.rb | 16 ++++++++++++++++ + plugins/providers/virtualbox/plugin.rb | 1 + + website/source/docs/virtualbox/index.html.md | 2 +- + 4 files changed, 19 insertions(+), 1 deletion(-) + create mode 100644 plugins/providers/virtualbox/driver/version_6_1.rb + +diff --git a/plugins/providers/virtualbox/driver/meta.rb b/plugins/providers/virtualbox/driver/meta.rb +index 24547b4044..ed013737b0 100644 +--- a/plugins/providers/virtualbox/driver/meta.rb ++++ b/plugins/providers/virtualbox/driver/meta.rb +@@ -64,6 +64,7 @@ def initialize(uuid=nil) + "5.1" => Version_5_1, + "5.2" => Version_5_2, + "6.0" => Version_6_0, ++ "6.1" => Version_6_1, + } + + if @@version.start_with?("4.2.14") +diff --git a/plugins/providers/virtualbox/driver/version_6_1.rb b/plugins/providers/virtualbox/driver/version_6_1.rb +new file mode 100644 +index 0000000000..ebe417eb91 +--- /dev/null ++++ b/plugins/providers/virtualbox/driver/version_6_1.rb +@@ -0,0 +1,16 @@ ++require File.expand_path("../version_6_0", __FILE__) ++ ++module VagrantPlugins ++ module ProviderVirtualBox ++ module Driver ++ # Driver for VirtualBox 6.1.x ++ class Version_6_1 < Version_6_0 ++ def initialize(uuid) ++ super ++ ++ @logger = Log4r::Logger.new("vagrant::provider::virtualbox_6_1") ++ end ++ end ++ end ++ end ++end +diff --git a/plugins/providers/virtualbox/plugin.rb b/plugins/providers/virtualbox/plugin.rb +index e058ec65ad..f2fbf47e55 100644 +--- a/plugins/providers/virtualbox/plugin.rb ++++ b/plugins/providers/virtualbox/plugin.rb +@@ -59,6 +59,7 @@ module Driver + autoload :Version_5_1, File.expand_path("../driver/version_5_1", __FILE__) + autoload :Version_5_2, File.expand_path("../driver/version_5_2", __FILE__) + autoload :Version_6_0, File.expand_path("../driver/version_6_0", __FILE__) ++ autoload :Version_6_1, File.expand_path("../driver/version_6_1", __FILE__) + end + + module Model +diff --git a/website/source/docs/virtualbox/index.html.md b/website/source/docs/virtualbox/index.html.md +index 558ef5f5d8..e9c1e79aad 100644 +--- a/website/source/docs/virtualbox/index.html.md ++++ b/website/source/docs/virtualbox/index.html.md +@@ -13,7 +13,7 @@ Vagrant comes with support out of the box for [VirtualBox](https://www.virtualbo + a free, cross-platform consumer virtualization product. + + The VirtualBox provider is compatible with VirtualBox versions 4.0.x, 4.1.x, +-4.2.x, 4.3.x, 5.0.x, 5.1.x, 5.2.x, and 6.0.x. Other versions are unsupported and the provider ++4.2.x, 4.3.x, 5.0.x, 5.1.x, 5.2.x, 6.0.x, and 6.1.x. Other versions are unsupported and the provider + will display an error message. Please note that beta and pre-release versions + of VirtualBox are not supported and may not be well-behaved. + diff --git a/app-emulation/vagrant/vagrant-2.2.6-r1.ebuild b/app-emulation/vagrant/vagrant-2.2.6-r1.ebuild new file mode 100644 index 000000000000..db493d1a7819 --- /dev/null +++ b/app-emulation/vagrant/vagrant-2.2.6-r1.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 +USE_RUBY="ruby24 ruby25 ruby26" + +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 + +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="+virtualbox" +RESTRICT="test" + +RDEPEND="${RDEPEND} + app-arch/libarchive + net-misc/curl + virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" + +ruby_add_rdepend " + >=dev-ruby/bcrypt_pbkdf-1.0.0 + >=dev-ruby/childprocess-0.6.0 + >=dev-ruby/ed25519-1.2.4 + >=dev-ruby/erubis-2.7.0 + >=dev-ruby/hashicorp-checkpoint-0.1.5 + >=dev-ruby/i18n-1.1.1:1 + >=dev-ruby/listen-3.1.5 + =dev-ruby/net-ssh-5.1.0:* + >=dev-ruby/net-sftp-2.1 + >=dev-ruby/net-scp-1.2.0 + dev-ruby/rest-client:2 + >=dev-ruby/rubyzip-1.2.2:* + >=dev-ruby/vagrant_cloud-2.0.3 +" + +# upstream specifies rake>=12 but it apparently doesn't need something this +# recent. Because vagrant builds fine with rake 10 and because stabilizing rake +# is tricky, we specify a lower dependency requirement here. This way, we'll be +# able to stabilize vagrant sooner. +ruby_add_bdepend " + >=dev-ruby/rake-10.5.0 +" + +PATCHES="${FILESDIR}/support-vbox-6.1.patch" + +all_ruby_prepare() { + # remove bundler support + sed -i '/[Bb]undler/d' Rakefile || die + rm Gemfile || die + + # loosen dependencies + sed -e '/hashicorp-checkpoint\|i18n\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \ + -e '/ruby_dep/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 + + sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}-r1.in" > "${PN}" || 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 +} diff --git a/app-emulation/vagrant/vagrant-2.2.6.ebuild b/app-emulation/vagrant/vagrant-2.2.6.ebuild deleted file mode 100644 index d3796ed1651a..000000000000 --- a/app-emulation/vagrant/vagrant-2.2.6.ebuild +++ /dev/null @@ -1,90 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 -USE_RUBY="ruby24 ruby25 ruby26" - -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 - -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="+virtualbox" -RESTRICT="test" - -RDEPEND="${RDEPEND} - app-arch/libarchive - net-misc/curl - virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" - -ruby_add_rdepend " - >=dev-ruby/bcrypt_pbkdf-1.0.0 - >=dev-ruby/childprocess-0.6.0 - >=dev-ruby/ed25519-1.2.4 - >=dev-ruby/erubis-2.7.0 - >=dev-ruby/hashicorp-checkpoint-0.1.5 - >=dev-ruby/i18n-1.1.1:1 - >=dev-ruby/listen-3.1.5 - =dev-ruby/net-ssh-5.1.0:* - >=dev-ruby/net-sftp-2.1 - >=dev-ruby/net-scp-1.2.0 - dev-ruby/rest-client:2 - >=dev-ruby/rubyzip-1.2.2:* - >=dev-ruby/vagrant_cloud-2.0.3 -" - -# upstream specifies rake>=12 but it apparently doesn't need something this -# recent. Because vagrant builds fine with rake 10 and because stabilizing rake -# is tricky, we specify a lower dependency requirement here. This way, we'll be -# able to stabilize vagrant sooner. -ruby_add_bdepend " - >=dev-ruby/rake-10.5.0 -" - -all_ruby_prepare() { - # remove bundler support - sed -i '/[Bb]undler/d' Rakefile || die - rm Gemfile || die - - # loosen dependencies - sed -e '/hashicorp-checkpoint\|i18n\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \ - -e '/ruby_dep/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 - - sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}-r1.in" > "${PN}" || 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 -} -- cgit v1.2.3-65-gdbad