1 |
commit: 21b6f7a6b0f447e550cc50d44ea05137a49d00df |
2 |
Author: Hans de Graaff <graaff <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Jun 30 08:46:17 2019 +0000 |
4 |
Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Jun 30 08:46:38 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=21b6f7a6 |
7 |
|
8 |
dev-ruby/rubygems: fix rubygems gentoo defaults |
9 |
|
10 |
Take into account that ruby 2.4 and ruby 2.5 have rubygems 2.7 bundled. |
11 |
|
12 |
Fixes: https://bugs.gentoo.org/688340 |
13 |
Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org> |
14 |
Package-Manager: Portage-2.3.66, Repoman-2.3.11 |
15 |
|
16 |
dev-ruby/rubygems/files/gentoo-defaults-3.rb | 8 +- |
17 |
dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild | 120 --------------------- |
18 |
...ygems-3.0.4.ebuild => rubygems-3.0.4-r1.ebuild} | 0 |
19 |
3 files changed, 7 insertions(+), 121 deletions(-) |
20 |
|
21 |
diff --git a/dev-ruby/rubygems/files/gentoo-defaults-3.rb b/dev-ruby/rubygems/files/gentoo-defaults-3.rb |
22 |
index b8ad8f1227c..9d499b73f89 100644 |
23 |
--- a/dev-ruby/rubygems/files/gentoo-defaults-3.rb |
24 |
+++ b/dev-ruby/rubygems/files/gentoo-defaults-3.rb |
25 |
@@ -44,7 +44,13 @@ module Gem |
26 |
end |
27 |
|
28 |
# Set Gentoo defaults for gem commands |
29 |
- undef :operating_system_defaults |
30 |
+ begin |
31 |
+ undef :operating_system_defaults |
32 |
+ rescue NameError |
33 |
+ # Avoid either runtime errors or redefinition warnings since |
34 |
+ # this method is not present in all rubygem versions distributed |
35 |
+ # with dev-lang/ruby. |
36 |
+ end |
37 |
def operating_system_defaults |
38 |
{ |
39 |
'install' => "--install-dir #{install_dir}", |
40 |
|
41 |
diff --git a/dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild b/dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild |
42 |
deleted file mode 100644 |
43 |
index 8c6d1f49acf..00000000000 |
44 |
--- a/dev-ruby/rubygems/rubygems-3.0.3-r1.ebuild |
45 |
+++ /dev/null |
46 |
@@ -1,120 +0,0 @@ |
47 |
-# Copyright 1999-2019 Gentoo Authors |
48 |
-# Distributed under the terms of the GNU General Public License v2 |
49 |
- |
50 |
-EAPI=6 |
51 |
- |
52 |
-USE_RUBY="ruby24 ruby25 ruby26" |
53 |
- |
54 |
-inherit ruby-ng prefix |
55 |
- |
56 |
-DESCRIPTION="Centralized Ruby extension management system" |
57 |
-HOMEPAGE="https://rubygems.org/" |
58 |
-LICENSE="GPL-2 || ( Ruby MIT )" |
59 |
- |
60 |
-SRC_URI="https://rubygems.org/rubygems/${P}.tgz" |
61 |
- |
62 |
-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" |
63 |
-SLOT="0" |
64 |
-IUSE="server test" |
65 |
- |
66 |
-PDEPEND="server? ( =dev-ruby/builder-3* )" |
67 |
- |
68 |
-ruby_add_bdepend " |
69 |
- test? ( |
70 |
- dev-ruby/json |
71 |
- dev-ruby/minitest:5 |
72 |
- dev-ruby/rdoc |
73 |
- )" |
74 |
- |
75 |
-all_ruby_prepare() { |
76 |
- |
77 |
- mkdir -p lib/rubygems/defaults || die |
78 |
- cp "${FILESDIR}/gentoo-defaults-3.rb" lib/rubygems/defaults/operating_system.rb || die |
79 |
- |
80 |
- eprefixify lib/rubygems/defaults/operating_system.rb |
81 |
- |
82 |
- # Disable broken tests when changing default values: |
83 |
- sed -i -e '/test_default_path/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die |
84 |
- sed -i -e '/assert_self_install_permissions/,/^ end/ s/^.*RUBY_INSTALL_NAME.*//' test/rubygems/test_gem.rb || die |
85 |
- |
86 |
- # Skip tests for default gems that all fail |
87 |
-# sed -i -e '/test_default_gems_use_full_paths/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die |
88 |
-# sed -i -e '/test_execute_ignore_default_gem_verbose/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_cleanup_command.rb || die |
89 |
-# 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 |
90 |
-# sed -i -e '/test_execute_\(default_details\|show_default_gems\)/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_query_command.rb || die |
91 |
-# sed -i -e '/test_execute_all/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_uninstall_command.rb || die |
92 |
-# sed -i -e '/\(test_default_gem\|test_check_executable_overwrite\|test_require_works_after_cleanup\)/,/^ end/ s:^:#:' \ |
93 |
-# test/rubygems/test_{gem_installer,require}.rb || die |
94 |
-# sed -i -e '/test_\(load_default_gem\|default_spec_stub\|self_stubs\)/,/^ end/ s:^:#:' test/rubygems/test_gem_specification.rb || die |
95 |
-# sed -i -e '/test_uninstall_default_gem/,/^ end/ s:^:#:' test/rubygems/test_gem_uninstaller.rb || die |
96 |
-# rm -f test/rubygems/test_gem_indexer.rb || die |
97 |
-# sed -i -e '/test_\(require_when_gem_defined\|realworld_default_gem\)/,/^ end/ s:^:#:' test/rubygems/test_require.rb || die |
98 |
-# rm -f test/rubygems/test_gem_commands_setup_command.rb || die |
99 |
- |
100 |
- # Avoid tests playing tricks with ruby engine that don't seem to |
101 |
- # work for us. |
102 |
- rm test/rubygems/test_gem_request_set_gem_dependency_api.rb || die |
103 |
- |
104 |
- # Avoid test requiring network access |
105 |
- sed -i -e '/test_download_to_cache/askip "requires network access"' test/rubygems/test_gem_remote_fetcher.rb || die |
106 |
- |
107 |
- # Avoid test requiring file system permission changes |
108 |
- sed -i -e '/test_traverse_parents_does_not_crash_on_permissions_error/,/^ end/ s:^:#:' test/rubygems/test_gem_util.rb || die |
109 |
- |
110 |
- # Avoid uninvestigated test failure in favor of security release |
111 |
- sed -i -e '/test_self_install_permissions_with_format_executable/askip "uninvestigated failure"' test/rubygems/test_gem.rb || die |
112 |
-} |
113 |
- |
114 |
-each_ruby_compile() { |
115 |
- # Not really a build but... |
116 |
- sed -i -e 's:#!.*:#!'"${RUBY}"':' bin/gem |
117 |
-} |
118 |
- |
119 |
-each_ruby_test() { |
120 |
- # Unset RUBYOPT to avoid interferences, bug #158455 et. al. |
121 |
- #unset RUBYOPT |
122 |
- |
123 |
- if [[ "${EUID}" -ne "0" ]]; then |
124 |
- RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" ${RUBY} --disable-gems -I.:lib:test:bundler/lib \ |
125 |
- -e 'require "rubygems"; gem "minitest", "~>5.0"; Dir["test/**/test_*.rb"].each { |tu| require tu }' || die "tests failed" |
126 |
- else |
127 |
- ewarn "The userpriv feature must be enabled to run tests, bug 408951." |
128 |
- eerror "Testsuite will not be run." |
129 |
- fi |
130 |
-} |
131 |
- |
132 |
-each_ruby_install() { |
133 |
- # Unset RUBYOPT to avoid interferences, bug #158455 et. al. |
134 |
- unset RUBYOPT |
135 |
- export RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" |
136 |
- |
137 |
- pushd lib &>/dev/null |
138 |
- doruby -r * |
139 |
- popd &>/dev/null |
140 |
- |
141 |
- local sld=$(ruby_rbconfig_value 'sitelibdir') |
142 |
- insinto "${sld#${EPREFIX}}" # bug #320813 |
143 |
- newins "${FILESDIR}/auto_gem.rb.ruby19" auto_gem.rb || die |
144 |
- |
145 |
- newbin bin/gem $(basename ${RUBY} | sed -e 's:ruby:gem:') || die |
146 |
-} |
147 |
- |
148 |
-all_ruby_install() { |
149 |
- dodoc History.txt README.md |
150 |
- |
151 |
- if use server; then |
152 |
- newinitd "${FILESDIR}/init.d-gem_server2" gem_server || die "newinitd failed" |
153 |
- newconfd "${FILESDIR}/conf.d-gem_server" gem_server || die "newconfd failed" |
154 |
- fi |
155 |
-} |
156 |
- |
157 |
-pkg_postinst() { |
158 |
- if [[ ! -n $(readlink "${ROOT}"usr/bin/gem) ]] ; then |
159 |
- eselect ruby set $(eselect --brief --colour=no ruby show | head -n1) |
160 |
- fi |
161 |
- |
162 |
- ewarn |
163 |
- ewarn "To switch between available Ruby profiles, execute as root:" |
164 |
- ewarn "\teselect ruby set ruby(23|24|...)" |
165 |
- ewarn |
166 |
-} |
167 |
|
168 |
diff --git a/dev-ruby/rubygems/rubygems-3.0.4.ebuild b/dev-ruby/rubygems/rubygems-3.0.4-r1.ebuild |
169 |
similarity index 100% |
170 |
rename from dev-ruby/rubygems/rubygems-3.0.4.ebuild |
171 |
rename to dev-ruby/rubygems/rubygems-3.0.4-r1.ebuild |