Gentoo Archives: gentoo-commits

From: Hans de Graaff <graaff@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ruby/rubygems/, dev-ruby/rubygems/files/
Date: Sun, 30 Jun 2019 08:46:50
Message-Id: 1561884398.21b6f7a6b0f447e550cc50d44ea05137a49d00df.graaff@gentoo
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