Line 0
Link Here
|
0 |
- |
1 |
# Copyright 1999-2018 Gentoo Authors |
|
|
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
|
4 |
EAPI="6" |
5 |
USE_RUBY="ruby23 ruby24 ruby25" |
6 |
|
7 |
RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md" |
8 |
RUBY_FAKEGEM_GEMSPEC="vagrant.gemspec" |
9 |
RUBY_FAKEGEM_EXTRAINSTALL="keys plugins templates version.txt" |
10 |
RUBY_FAKEGEM_TASK_DOC="" |
11 |
|
12 |
inherit bash-completion-r1 ruby-fakegem |
13 |
|
14 |
DESCRIPTION="A tool for building and distributing development environments" |
15 |
HOMEPAGE="https://vagrantup.com/" |
16 |
SRC_URI="https://github.com/hashicorp/vagrant/archive/v${PV}.tar.gz -> ${P}.tar.gz" |
17 |
|
18 |
LICENSE="MIT" |
19 |
SLOT="0" |
20 |
KEYWORDS="~amd64" |
21 |
IUSE="+virtualbox" |
22 |
RESTRICT="test" |
23 |
|
24 |
RDEPEND="${RDEPEND} |
25 |
app-arch/libarchive |
26 |
net-misc/curl |
27 |
virtualbox? ( || ( app-emulation/virtualbox app-emulation/virtualbox-bin ) )" |
28 |
|
29 |
ruby_add_rdepend " |
30 |
>=dev-ruby/childprocess-0.6.0 |
31 |
>=dev-ruby/erubis-2.7.0 |
32 |
<dev-ruby/i18n-0.8.0:* |
33 |
>=dev-ruby/listen-3.1.5 |
34 |
>=dev-ruby/hashicorp-checkpoint-0.1.5 |
35 |
>=dev-ruby/log4r-1.1.9 <dev-ruby/log4r-1.1.11 |
36 |
>=dev-ruby/net-ssh-5.0.0:* |
37 |
>=dev-ruby/net-sftp-2.1 |
38 |
>=dev-ruby/net-scp-1.2.0 |
39 |
|| ( dev-ruby/rest-client:2 >=dev-ruby/rest-client-1.6.0:0 ) |
40 |
<dev-ruby/mime-types-3:* |
41 |
" |
42 |
|
43 |
# upstream specifies rake>=12 but it apparently doesn't need something this |
44 |
# recent. Because vagrant builds fine with rake 10 and because stabilizing rake |
45 |
# is tricky, we specify a lower dependency requirement here. This way, we'll be |
46 |
# able to stabilize vagrant sooner. |
47 |
ruby_add_bdepend " |
48 |
>=dev-ruby/rake-10.0.0 |
49 |
" |
50 |
|
51 |
all_ruby_prepare() { |
52 |
# remove bundler support |
53 |
sed -i '/[Bb]undler/d' Rakefile || die |
54 |
rm Gemfile || die |
55 |
|
56 |
# loosen dependencies |
57 |
sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \ |
58 |
-e '/ruby_dep/s/<=/>=/' \ |
59 |
-i ${PN}.gemspec || die |
60 |
|
61 |
# remove windows-specific gems |
62 |
sed -e '/wdm\|winrm/d' \ |
63 |
-i ${PN}.gemspec || die |
64 |
|
65 |
# remove bsd-specific gems |
66 |
sed -e '/rb-kqueue/d' \ |
67 |
-i ${PN}.gemspec || die |
68 |
|
69 |
sed -e "s/@VAGRANT_VERSION@/${PV}/g" "${FILESDIR}/${PN}-r1.in" > "${PN}" || die |
70 |
} |
71 |
|
72 |
all_ruby_install() { |
73 |
newbashcomp contrib/bash/completion.sh ${PN} |
74 |
all_fakegem_install |
75 |
|
76 |
# provide executable similar to upstream: |
77 |
# https://github.com/hashicorp/vagrant-installers/blob/master/substrate/modules/vagrant_installer/templates/vagrant.erb |
78 |
dobin "${PN}" |
79 |
|
80 |
# directory for plugins.json |
81 |
keepdir /var/lib/vagrant |
82 |
} |