forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Package-Manager: Portage-2.3.36, Repoman-2.3.9
- Loading branch information
Showing
2 changed files
with
117 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST rubygems-2.7.6.tgz 852486 BLAKE2B b2c7cf7f2ce5a27beff846d85a3ca2867a4bbadd5bc76af0df76e774c239979bc4b3fac406a65c45444c9f401f92cd1058b45c8b3750c1ee5477cd2b4b513709 SHA512 bc168afc40c974dbc7c37eb5678432ba2ed7469c3f007a159699467ff2cff5205c508237193ee8becaa6eb555b043969cc5f92b2aaa6bf7c958dd7c187e258a7 | ||
DIST rubygems-2.7.7.tgz 915847 BLAKE2B a7a2ae2b88d7e6bfc68c298802dd29d6dd0c76573e39a3088ba06b112761059f6bbbe4565e7e7e22fb1121fc597c2139dc8a80ae1555ab15713cb2ebc50f5710 SHA512 f93b7eacf5ef8725c40d618daf9deabc7e9eed74b3b7f13ecd16f89205fe24958e782314c52f8a8fe3205b93e20b830b4fbf7ff8944ff1cf56feb7de2d773252 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,116 @@ | ||
# Copyright 1999-2018 Gentoo Foundation | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=6 | ||
|
||
USE_RUBY="ruby22 ruby23 ruby24 ruby25" | ||
|
||
inherit ruby-ng prefix | ||
|
||
DESCRIPTION="Centralized Ruby extension management system" | ||
HOMEPAGE="https://rubygems.org/" | ||
LICENSE="|| ( Ruby MIT )" | ||
|
||
SRC_URI="https://rubygems.org/rubygems/${P}.tgz" | ||
|
||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" | ||
SLOT="0" | ||
IUSE="server test" | ||
|
||
PDEPEND="server? ( >=dev-ruby/builder-2.1 )" | ||
|
||
ruby_add_bdepend " | ||
test? ( | ||
dev-ruby/json | ||
>=dev-ruby/minitest-4:0 | ||
dev-ruby/rdoc | ||
)" | ||
|
||
all_ruby_prepare() { | ||
|
||
mkdir -p lib/rubygems/defaults || die | ||
cp "${FILESDIR}/gentoo-defaults.rb" lib/rubygems/defaults/operating_system.rb || die | ||
|
||
eprefixify lib/rubygems/defaults/operating_system.rb | ||
|
||
# Disable broken tests when changing default values: | ||
sed -i -e '/test_default_path/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die | ||
|
||
# Skip tests for default gems that all fail | ||
sed -i -e '/test_default_gems_use_full_paths/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die | ||
sed -i -e '/test_execute_ignore_default_gem_verbose/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_cleanup_command.rb || die | ||
sed -i -e '/test_execute_default_gem/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_contents_command.rb test/rubygems/test_gem_commands_pristine_command.rb || die | ||
sed -i -e '/test_execute_\(default_details\|show_default_gems\)/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_query_command.rb || die | ||
sed -i -e '/test_execute_all/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_uninstall_command.rb || die | ||
sed -i -e '/\(test_default_gem\|test_check_executable_overwrite\|test_require_works_after_cleanup\)/,/^ end/ s:^:#:' \ | ||
test/rubygems/test_{gem_installer,require}.rb || die | ||
sed -i -e '/test_\(load_default_gem\|default_spec_stub\)/,/^ end/ s:^:#:' test/rubygems/test_gem_specification.rb || die | ||
sed -i -e '/test_uninstall_default_gem/,/^ end/ s:^:#:' test/rubygems/test_gem_uninstaller.rb || die | ||
rm -f test/rubygems/test_gem_indexer.rb || die | ||
sed -i -e '/test_\(require_when_gem_defined\|realworld_default_gem\)/,/^ end/ s:^:#:' test/rubygems/test_require.rb || die | ||
rm -f test/rubygems/test_gem_commands_setup_command.rb || die | ||
|
||
# Avoid tests playing tricks with ruby engine that don't seem to | ||
# work for us. | ||
rm test/rubygems/test_gem_request_set_gem_dependency_api.rb || die | ||
|
||
# Avoid test requiring network access | ||
sed -i -e '/test_download_to_cache/askip "requires network access"' test/rubygems/test_gem_remote_fetcher.rb || die | ||
|
||
# Avoid test requiring file system permission changes | ||
sed -i -e '/test_traverse_parents_does_not_crash_on_permissions_error/,/^ end/ s:^:#:' test/rubygems/test_gem_util.rb || die | ||
} | ||
|
||
each_ruby_compile() { | ||
# Not really a build but... | ||
sed -i -e 's:#!.*:#!'"${RUBY}"':' bin/gem | ||
} | ||
|
||
each_ruby_test() { | ||
# Unset RUBYOPT to avoid interferences, bug #158455 et. al. | ||
#unset RUBYOPT | ||
|
||
if [[ "${EUID}" -ne "0" ]]; then | ||
RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" ${RUBY} --disable-gems -I.:lib:test:bundler/lib \ | ||
-e 'require "rubygems"; gem "minitest", "~>4.0"; Dir["test/**/test_*.rb"].each { |tu| require tu }' || die "tests failed" | ||
else | ||
ewarn "The userpriv feature must be enabled to run tests, bug 408951." | ||
eerror "Testsuite will not be run." | ||
fi | ||
} | ||
|
||
each_ruby_install() { | ||
# Unset RUBYOPT to avoid interferences, bug #158455 et. al. | ||
unset RUBYOPT | ||
export RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" | ||
|
||
pushd lib &>/dev/null | ||
doruby -r * | ||
popd &>/dev/null | ||
|
||
local sld=$(ruby_rbconfig_value 'sitelibdir') | ||
insinto "${sld#${EPREFIX}}" # bug #320813 | ||
newins "${FILESDIR}/auto_gem.rb.ruby19" auto_gem.rb || die | ||
|
||
newbin bin/gem $(basename ${RUBY} | sed -e 's:ruby:gem:') || die | ||
} | ||
|
||
all_ruby_install() { | ||
dodoc History.txt README.md | ||
|
||
if use server; then | ||
newinitd "${FILESDIR}/init.d-gem_server2" gem_server || die "newinitd failed" | ||
newconfd "${FILESDIR}/conf.d-gem_server" gem_server || die "newconfd failed" | ||
fi | ||
} | ||
|
||
pkg_postinst() { | ||
if [[ ! -n $(readlink "${ROOT}"usr/bin/gem) ]] ; then | ||
eselect ruby set $(eselect --brief --colour=no ruby show | head -n1) | ||
fi | ||
|
||
ewarn | ||
ewarn "To switch between available Ruby profiles, execute as root:" | ||
ewarn "\teselect ruby set ruby(23|24|...)" | ||
ewarn | ||
} |