public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Georgy Yakovlev" <gyakovlev@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: app-emulation/vagrant/files/, app-emulation/vagrant/
Date: Sun,  8 Jul 2018 08:56:11 +0000 (UTC)	[thread overview]
Message-ID: <1531040053.a55d71b7959c1c24b95b90b00ff1c56e72940288.gyakovlev@gentoo> (raw)

commit:     a55d71b7959c1c24b95b90b00ff1c56e72940288
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Sun Jul  8 08:11:03 2018 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
CommitDate: Sun Jul  8 08:54:13 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a55d71b7

app-emulation/vagrant: add ruby25 support

Closes: https://github.com/gentoo/gentoo/pull/9117
Package-Manager: Portage-2.3.41, Repoman-2.3.9

 app-emulation/vagrant/files/vagrant-r1.in     | 61 +++++++++++++++++++++
 app-emulation/vagrant/vagrant-2.1.2-r1.ebuild | 79 +++++++++++++++++++++++++++
 2 files changed, 140 insertions(+)

diff --git a/app-emulation/vagrant/files/vagrant-r1.in b/app-emulation/vagrant/files/vagrant-r1.in
new file mode 100644
index 00000000000..ee5e48c2154
--- /dev/null
+++ b/app-emulation/vagrant/files/vagrant-r1.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 ruby25 ruby24 ruby23; 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.1.2-r1.ebuild b/app-emulation/vagrant/vagrant-2.1.2-r1.ebuild
new file mode 100644
index 00000000000..c41ac30accb
--- /dev/null
+++ b/app-emulation/vagrant/vagrant-2.1.2-r1.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+USE_RUBY="ruby23 ruby24 ruby25"
+
+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/childprocess-0.6.0
+	>=dev-ruby/erubis-2.7.0
+	<dev-ruby/i18n-0.8.0:*
+	>=dev-ruby/listen-3.1.5
+	>=dev-ruby/hashicorp-checkpoint-0.1.5
+	>=dev-ruby/log4r-1.1.9 <dev-ruby/log4r-1.1.11
+	>=dev-ruby/net-ssh-4.2.0:*
+	>=dev-ruby/net-sftp-2.1
+	>=dev-ruby/net-scp-1.2.0
+	|| ( dev-ruby/rest-client:2 >=dev-ruby/rest-client-1.6.0:0 )
+	>=dev-ruby/nokogiri-1.7.1
+	<dev-ruby/mime-types-3:*
+"
+
+ruby_add_bdepend "
+	>=dev-ruby/rake-12.0.0
+"
+
+all_ruby_prepare() {
+	# remove bundler support
+	sed -i '/[Bb]undler/d' Rakefile || die
+	rm Gemfile || die
+
+	# loosen dependencies
+	sed -e '/hashicorp-checkpoint\|listen\|net-ssh\|net-scp\|rake\|childprocess/s/~>/>=/' \
+		-e '/ruby_dep/s/<=/>=/' \
+		-i ${PN}.gemspec || die
+
+	# remove windows-specific gems
+	sed -e '/wdm\|win32-\|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() {
+	newbashcomp contrib/bash/completion.sh ${PN}
+	all_fakegem_install
+
+	# 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
+}


             reply	other threads:[~2018-07-08  8:56 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-08  8:56 Georgy Yakovlev [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-01-31 12:54 [gentoo-commits] repo/gentoo:master commit in: app-emulation/vagrant/files/, app-emulation/vagrant/ Joonas Niilola
2020-05-19  3:27 Georgy Yakovlev
2018-12-01  3:25 Georgy Yakovlev
2018-06-27 16:58 Georgy Yakovlev
2018-04-20  9:00 Amy Liffey
2017-12-12 20:39 Patrice Clement
2017-11-06  7:37 Amy Liffey
2017-08-16 14:24 Michał Górny
2017-05-24 13:27 Michał Górny
2017-03-15 21:09 Amy Liffey
2016-11-15 22:29 David Seifert
2016-10-08 12:45 Patrice Clement
2016-10-08 12:45 Patrice Clement
2016-06-23 21:53 Patrice Clement

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1531040053.a55d71b7959c1c24b95b90b00ff1c56e72940288.gyakovlev@gentoo \
    --to=gyakovlev@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox