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/
Date: Wed, 07 Jul 2021 19:15:26
Message-Id: 1625685314.446ab4bb469f35ad9816011398f9f85e7b6a8cc3.graaff@gentoo
1 commit: 446ab4bb469f35ad9816011398f9f85e7b6a8cc3
2 Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
3 AuthorDate: Wed Jul 7 18:13:05 2021 +0000
4 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
5 CommitDate: Wed Jul 7 19:15:14 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=446ab4bb
7
8 Revert "dev-ruby/rubygems: cleanup"
9
10 This reverts commit 0b5c29a63612cb1a39a2ef56789c01caaee7ddc3.
11
12 Restore rubygems 3.0.3 since that version is still used as a workaround
13 for bug 789957.
14
15 Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
16
17 dev-ruby/rubygems/Manifest | 1 +
18 dev-ruby/rubygems/rubygems-3.0.3.ebuild | 121 ++++++++++++++++++++++++++++++++
19 2 files changed, 122 insertions(+)
20
21 diff --git a/dev-ruby/rubygems/Manifest b/dev-ruby/rubygems/Manifest
22 index 949d6129971..a41b124cf7e 100644
23 --- a/dev-ruby/rubygems/Manifest
24 +++ b/dev-ruby/rubygems/Manifest
25 @@ -1,5 +1,6 @@
26 DIST rubygems-2.7.10.tgz 863618 BLAKE2B 26a453d2808cbf03caa6f2ef4a829418de58f4ed0c7584935a0ad5fc722d7fbdf9f442261f96fdca4b6975b62608965d2f0053d3046da59771be373bed21154a SHA512 48a18c0f202f463c38cf5dafecfbc7cc39245e63c7a059ef2cefadda478483794a929ea6b7e0ef062dd4423230746f1f09d7bec06a97fe3ceccc3325397a3e71
27 DIST rubygems-2.7.11.tgz 861642 BLAKE2B 6632296d8bcd47d52d92db3c09a0d95118c72877c712a9bfa01f4d4c8aff1bc62ee7e663f763a73b2c2e3dfd2d261ea965ff932a77b84f70e63fab1445d19d8a SHA512 83592f4089a768f6d58be975995855ad3aa6b481de5e2d31789d1c8d96a33f5347a914e5d7450819bb2e8e434ee65c4d3f5c978965ccaefad6c167a29801b7bd
28 +DIST rubygems-3.0.3.tgz 904175 BLAKE2B d99de4bdd51779ab214bc4a81f55483341a2c193d4304b8eeb6105cb95877e0a33fe03d93c47433ad3c6bdc8d3e453e33ffb799fd36164feac31616f95eeced4 SHA512 1dd585243341901c7b4cc60a4902000c10ce57fe2cc9c28e27e274a2e6029f936cde1c99d7097c93c2c5b2c8bcee5d692c8fe5cc00c996a040e4954b674e330e
29 DIST rubygems-3.0.9.tgz 886153 BLAKE2B 942f641c7dec30d3dd2f0756d04b1b6b071f5d3b5a9481c406e51ab125fa9da0e4e1ebde79c6a663e8847125c1ed8657f6af69000cf0d7191360e7aab99ba508 SHA512 1a6d7b3b08024d95988e033c772bfb6b5ed8f94ff4ddb194280bd3a7530cc384cb90fd56d44b6d56760cffbb23c5a6ab5917737ca46ec85fe61e1ae79d7ba4ca
30 DIST rubygems-3.1.6.tgz 996339 BLAKE2B 8dc242a64c6f934b876de841cb6ea86455d7754cbe3902620a10ac40bb97264c03c1002b45a5734d1882617d95e8b390873ed390d00fe7e54b6d8f11a301c2b3 SHA512 730381cf683cd57f7ea7889f63cf21abb699bf28d2a25fa63f510756ece285cb63e4208130c20fa7c0232d6093d869e5d99d5b5fdad9bc68be5e8ead21863d97
31 DIST rubygems-3.2.11.tgz 987152 BLAKE2B 589c862ed4ae14d66437587adfbe9c57e4b95b8911115425098463f7be77a597cb9df3e3962da58da3a12139799afca34ea002983cbd4406947278c7db9e8e41 SHA512 686d35175891cb098c1efffc957296af6526622882560c8ecdc19eff19f50a5769fc7df122c2a863cfd17b09c375a70f8e554345cb50075693219d68ae81edfa
32
33 diff --git a/dev-ruby/rubygems/rubygems-3.0.3.ebuild b/dev-ruby/rubygems/rubygems-3.0.3.ebuild
34 new file mode 100644
35 index 00000000000..ab3a8fd1f2e
36 --- /dev/null
37 +++ b/dev-ruby/rubygems/rubygems-3.0.3.ebuild
38 @@ -0,0 +1,121 @@
39 +# Copyright 1999-2021 Gentoo Authors
40 +# Distributed under the terms of the GNU General Public License v2
41 +
42 +EAPI=6
43 +
44 +USE_RUBY="ruby23 ruby24 ruby25 ruby26"
45 +
46 +inherit ruby-ng prefix
47 +
48 +DESCRIPTION="Centralized Ruby extension management system"
49 +HOMEPAGE="https://rubygems.org/"
50 +LICENSE="GPL-2 || ( Ruby MIT )"
51 +
52 +SRC_URI="https://rubygems.org/rubygems/${P}.tgz"
53 +
54 +KEYWORDS="~alpha amd64 arm arm64 hppa ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
55 +SLOT="0"
56 +IUSE="server test"
57 +RESTRICT="!test? ( test )"
58 +
59 +PDEPEND="server? ( =dev-ruby/builder-3* )"
60 +
61 +ruby_add_bdepend "
62 + test? (
63 + dev-ruby/json
64 + dev-ruby/minitest:5
65 + dev-ruby/rdoc
66 + )"
67 +
68 +all_ruby_prepare() {
69 +
70 + mkdir -p lib/rubygems/defaults || die
71 + cp "${FILESDIR}/gentoo-defaults.rb" lib/rubygems/defaults/operating_system.rb || die
72 +
73 + eprefixify lib/rubygems/defaults/operating_system.rb
74 +
75 + # Disable broken tests when changing default values:
76 + sed -i -e '/test_default_path/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die
77 + sed -i -e '/assert_self_install_permissions/,/^ end/ s/^.*RUBY_INSTALL_NAME.*//' test/rubygems/test_gem.rb || die
78 +
79 + # Skip tests for default gems that all fail
80 + sed -i -e '/test_default_gems_use_full_paths/,/^ end/ s:^:#:' test/rubygems/test_gem.rb || die
81 + sed -i -e '/test_execute_ignore_default_gem_verbose/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_cleanup_command.rb || die
82 + 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
83 + sed -i -e '/test_execute_\(default_details\|show_default_gems\)/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_query_command.rb || die
84 + sed -i -e '/test_execute_all/,/^ end/ s:^:#:' test/rubygems/test_gem_commands_uninstall_command.rb || die
85 + sed -i -e '/\(test_default_gem\|test_check_executable_overwrite\|test_require_works_after_cleanup\)/,/^ end/ s:^:#:' \
86 + test/rubygems/test_{gem_installer,require}.rb || die
87 + sed -i -e '/test_\(load_default_gem\|default_spec_stub\|self_stubs\)/,/^ end/ s:^:#:' test/rubygems/test_gem_specification.rb || die
88 + sed -i -e '/test_uninstall_default_gem/,/^ end/ s:^:#:' test/rubygems/test_gem_uninstaller.rb || die
89 + rm -f test/rubygems/test_gem_indexer.rb || die
90 + sed -i -e '/test_\(require_when_gem_defined\|realworld_default_gem\)/,/^ end/ s:^:#:' test/rubygems/test_require.rb || die
91 + rm -f test/rubygems/test_gem_commands_setup_command.rb || die
92 +
93 + # Avoid tests playing tricks with ruby engine that don't seem to
94 + # work for us.
95 + rm test/rubygems/test_gem_request_set_gem_dependency_api.rb || die
96 +
97 + # Avoid test requiring network access
98 + sed -i -e '/test_download_to_cache/askip "requires network access"' test/rubygems/test_gem_remote_fetcher.rb || die
99 +
100 + # Avoid test requiring file system permission changes
101 + sed -i -e '/test_traverse_parents_does_not_crash_on_permissions_error/,/^ end/ s:^:#:' test/rubygems/test_gem_util.rb || die
102 +
103 + # Avoid uninvestigated test failure in favor of security release
104 + sed -i -e '/test_self_install_permissions_with_format_executable/askip "uninvestigated failure"' test/rubygems/test_gem.rb || die
105 +}
106 +
107 +each_ruby_compile() {
108 + # Not really a build but...
109 + sed -i -e 's:#!.*:#!'"${RUBY}"':' bin/gem
110 +}
111 +
112 +each_ruby_test() {
113 + # Unset RUBYOPT to avoid interferences, bug #158455 et. al.
114 + #unset RUBYOPT
115 +
116 + if [[ "${EUID}" -ne "0" ]]; then
117 + RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}" ${RUBY} --disable-gems -I.:lib:test:bundler/lib \
118 + -e 'require "rubygems"; gem "minitest", "~>5.0"; Dir["test/**/test_*.rb"].each { |tu| require tu }' || die "tests failed"
119 + else
120 + ewarn "The userpriv feature must be enabled to run tests, bug 408951."
121 + eerror "Testsuite will not be run."
122 + fi
123 +}
124 +
125 +each_ruby_install() {
126 + # Unset RUBYOPT to avoid interferences, bug #158455 et. al.
127 + unset RUBYOPT
128 + export RUBYLIB="$(pwd)/lib${RUBYLIB+:${RUBYLIB}}"
129 +
130 + pushd lib &>/dev/null
131 + doruby -r *
132 + popd &>/dev/null
133 +
134 + local sld=$(ruby_rbconfig_value 'sitelibdir')
135 + insinto "${sld#${EPREFIX}}" # bug #320813
136 + newins "${FILESDIR}/auto_gem.rb.ruby19" auto_gem.rb
137 +
138 + newbin bin/gem $(basename ${RUBY} | sed -e 's:ruby:gem:')
139 +}
140 +
141 +all_ruby_install() {
142 + dodoc History.txt README.md
143 +
144 + if use server; then
145 + newinitd "${FILESDIR}/init.d-gem_server2" gem_server
146 + newconfd "${FILESDIR}/conf.d-gem_server" gem_server
147 + fi
148 +}
149 +
150 +pkg_postinst() {
151 + if [[ ! -n $(readlink "${ROOT}"usr/bin/gem) ]] ; then
152 + eselect ruby set $(eselect --brief --colour=no ruby show | head -n1)
153 + fi
154 +
155 + ewarn
156 + ewarn "To switch between available Ruby profiles, execute as root:"
157 + ewarn "\teselect ruby set ruby(23|24|...)"
158 + ewarn
159 +}