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-lang/ruby/
Date: Sun, 27 Oct 2019 06:52:22
Message-Id: 1572159125.2d666fdbe49072ec0519a8216e6c0c1247b99261.graaff@gentoo
1 commit: 2d666fdbe49072ec0519a8216e6c0c1247b99261
2 Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
3 AuthorDate: Sun Oct 27 06:51:53 2019 +0000
4 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
5 CommitDate: Sun Oct 27 06:52:05 2019 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2d666fdb
7
8 dev-lang/ruby: remove vulnerable versions, bug 696004
9
10 Package-Manager: Portage-2.3.76, Repoman-2.3.16
11 Signed-off-by: Hans de Graaff <graaff <AT> gentoo.org>
12
13 dev-lang/ruby/Manifest | 4 -
14 dev-lang/ruby/ruby-2.4.7.ebuild | 230 --------------------------------------
15 dev-lang/ruby/ruby-2.5.6.ebuild | 225 --------------------------------------
16 dev-lang/ruby/ruby-2.6.3.ebuild | 237 ----------------------------------------
17 dev-lang/ruby/ruby-2.6.4.ebuild | 237 ----------------------------------------
18 5 files changed, 933 deletions(-)
19
20 diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
21 index 64e2bb7ebb7..cb24cfa0976 100644
22 --- a/dev-lang/ruby/Manifest
23 +++ b/dev-lang/ruby/Manifest
24 @@ -1,7 +1,3 @@
25 -DIST ruby-2.4.7.tar.xz 10118948 BLAKE2B e85e051e9dbac8e7f87bd6187dc105b89a6bc7197c811bd51bf25b109781b8ec79c02e48887cbac841d38922d278da4ee32d8cf14e180083f4a902d77c4ec2dc SHA512 df637c5803ddd83f759e9c24b0e7ca1f6cae7c7b353409583d92dbffece0d9d02b48905d6552327a1522a4a37d4e2d22c6c11bd991383835be35e2f31739d649
26 DIST ruby-2.4.9.tar.xz 10078316 BLAKE2B ad83adf6b884a9a36e83cc754077f706afa221a9e8b81d92f6b6a1b829dc0350bdacd67b0b4e1e196a17e3f7d1c65f1e9b38e245aeddf089576eaca7d051701b SHA512 9046575315c29c789427c2d00c832f0c0970e47fd158bbe8e4f2df5cff2ea9c06c65c3493adb4656e5b32ebfdc546092911f98a8ad7f698bc001c290db5888c7
27 -DIST ruby-2.5.6.tar.xz 11323612 BLAKE2B 5db6d573089a9fba95a1027891a0116c14d495b342ca8f055bd1ad55942f2a15a65a61cc1a0f6f249cd10fe2f6161f3ab0066a6dbce8e480e55b76ca5bdb5cd9 SHA512 4fe5f8bad5d320f8f17b02ce15afee341e7b0074efcfd98d8944e0cb7c448e0660c4553dd5c0328ee3b49fea3247642f85c60bdce431ed57f58b6326dfd48ee1
28 DIST ruby-2.5.7.tar.xz 11296440 BLAKE2B 6f3590f30c7b196145a83490abed24b0059521374a03086646186b20670bfed548ea744c910c8eda0d11607d8673644d7fb23ff9091dd2f6dfcbc43080fe0f97 SHA512 63b7c75fab44cd1bd22f22ddec00c740cf379ac7240da0dfafcec54347766695faef47428ce1c433fd77fa96992e976c984697067fa526236d383b12adc9ce75
29 -DIST ruby-2.6.3.tar.xz 11904360 BLAKE2B 8113e5a19b967cdf995a3c8d3c83aeab3bf89e975d3b039c64259e97f20dbe9ebd96ada093f9d330516d16ef78bb0ecbbac8f3facd467aa13f1f70b23b992f82 SHA512 959a613f5cf5b3185a1d7a7ba0e1921166b3930f30461b391b1c9fcfe396f56dc3c736123dfc7b4e72c32a97dc5a1eb1fd7f09bcc3793a3c5526f6644ba421c8
30 -DIST ruby-2.6.4.tar.xz 11727940 BLAKE2B abeff89d50612d6426e1dc5fd7c15c83ef9714ddb38c64ed14bff6331c619b0a55d4a64bff49177576c3fae8cfcee30127e808f49d11b3e64a2230a043e16bd3 SHA512 930a4162fdb008d2446247908c14269fd13db4dc80bd2bb201a65a69c03f5933f97b4c5079ccd2a12db4934ff97b2debaa10a6c6f5c3060e55873f4397747eaa
31 DIST ruby-2.6.5.tar.xz 11553580 BLAKE2B 07739a92ff17467fe6d31bb4dce56ae35fd9c67bb697ebc00b4845474c75d8377c77916e6e129512cfffcf76bd60e6327e818e899b6160f3222912654d5eb118 SHA512 e8ae3b5d4d23a93d0ef6057235ad0e573665a8b4b6544e1c70b4cce9c4d2fb9094e5c8fe8a9ab7b9996efe3ada603f9b4ef1fd08fb5a83253c1ae2b5e3f202db
32
33 diff --git a/dev-lang/ruby/ruby-2.4.7.ebuild b/dev-lang/ruby/ruby-2.4.7.ebuild
34 deleted file mode 100644
35 index 855960b6f5c..00000000000
36 --- a/dev-lang/ruby/ruby-2.4.7.ebuild
37 +++ /dev/null
38 @@ -1,230 +0,0 @@
39 -# Copyright 1999-2019 Gentoo Authors
40 -# Distributed under the terms of the GNU General Public License v2
41 -
42 -EAPI=7
43 -
44 -inherit autotools flag-o-matic multilib
45 -
46 -MY_P="${PN}-$(ver_cut 1-3)"
47 -S=${WORKDIR}/${MY_P}
48 -
49 -SLOT=$(ver_cut 1-2)
50 -MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
51 -RUBYVERSION=${SLOT}.0
52 -
53 -DESCRIPTION="An object-oriented scripting language"
54 -HOMEPAGE="https://www.ruby-lang.org/"
55 -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
56 -
57 -LICENSE="|| ( Ruby-BSD BSD-2 )"
58 -KEYWORDS="alpha amd64 arm arm64 hppa ia64 ~mips ppc ppc64 s390 ~sh sparc x86"
59 -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
60 -
61 -RDEPEND="
62 - berkdb? ( sys-libs/db:= )
63 - gdbm? ( sys-libs/gdbm:= )
64 - jemalloc? ( dev-libs/jemalloc )
65 - ssl? (
66 - !libressl? ( dev-libs/openssl:0= )
67 - libressl? ( dev-libs/libressl )
68 - )
69 - socks5? ( >=net-proxy/dante-1.1.13 )
70 - tk? (
71 - dev-lang/tcl:0=[threads]
72 - dev-lang/tk:0=[threads]
73 - )
74 - dev-libs/libyaml
75 - virtual/libffi:=
76 - sys-libs/readline:0=
77 - sys-libs/zlib
78 - >=app-eselect/eselect-ruby-20161226
79 - !<dev-ruby/rdoc-3.9.4
80 - !<dev-ruby/rubygems-1.8.10-r1"
81 -
82 -DEPEND="${RDEPEND}"
83 -
84 -BUNDLED_GEMS="
85 - >=dev-ruby/did_you_mean-1.1.0:2.4[ruby_targets_ruby24]
86 - >=dev-ruby/minitest-5.10.1[ruby_targets_ruby24]
87 - >=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby24]
88 - >=dev-ruby/power_assert-0.4.1[ruby_targets_ruby24]
89 - >=dev-ruby/rake-12.0.0[ruby_targets_ruby24]
90 - >=dev-ruby/test-unit-3.2.3[ruby_targets_ruby24]
91 - >=dev-ruby/xmlrpc-0.2.1[ruby_targets_ruby24]
92 -"
93 -
94 -PDEPEND="
95 - ${BUNDLED_GEMS}
96 - virtual/rubygems[ruby_targets_ruby24]
97 - >=dev-ruby/json-2.0.2[ruby_targets_ruby24]
98 - rdoc? ( >=dev-ruby/rdoc-5.1.0-r1[ruby_targets_ruby24] )
99 - xemacs? ( app-xemacs/ruby-modes )"
100 -
101 -src_prepare() {
102 - eapply "${FILESDIR}"/${SLOT}/{002,005,009,012}*.patch
103 -
104 - einfo "Unbundling gems..."
105 - cd "$S"
106 - # Remove bundled gems that we will install via PDEPEND, bug
107 - # 539700. Use explicit version numbers to ensure rm fails when they
108 - # change so we can update dependencies accordingly.
109 - rm -f gems/{did_you_mean-1.1.0,minitest-5.10.1,net-telnet-0.1.1,power_assert-0.4.1,rake-12.0.0,test-unit-3.2.3,xmlrpc-0.2.1}.gem || die
110 -
111 - einfo "Removing bundled libraries..."
112 - rm -fr ext/fiddle/libffi-3.2.1 || die
113 -
114 - # Fix a hardcoded lib path in configure script
115 - sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
116 - configure.in || die "sed failed"
117 -
118 - eapply_user
119 -
120 - eautoreconf
121 -}
122 -
123 -src_configure() {
124 - local modules= myconf=
125 -
126 - # -fomit-frame-pointer makes ruby segfault, see bug #150413.
127 - filter-flags -fomit-frame-pointer
128 - # In many places aliasing rules are broken; play it safe
129 - # as it's risky with newer compilers to leave it as it is.
130 - append-flags -fno-strict-aliasing
131 - # SuperH needs this
132 - use sh && append-flags -mieee
133 -
134 - # Socks support via dante
135 - if use socks5 ; then
136 - # Socks support can't be disabled as long as SOCKS_SERVER is
137 - # set and socks library is present, so need to unset
138 - # SOCKS_SERVER in that case.
139 - unset SOCKS_SERVER
140 - fi
141 -
142 - # Increase GC_MALLOC_LIMIT if set (default is 8000000)
143 - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
144 - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
145 - fi
146 -
147 - # ipv6 hack, bug 168939. Needs --enable-ipv6.
148 - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
149 -
150 - # Determine which modules *not* to build depending in the USE flags.
151 - if ! use berkdb ; then
152 - modules="${modules},dbm"
153 - fi
154 - if ! use gdbm ; then
155 - modules="${modules},gdbm"
156 - fi
157 - if ! use ssl ; then
158 - modules="${modules},openssl"
159 - fi
160 - if ! use tk ; then
161 - modules="${modules},tk"
162 - fi
163 -
164 - # Provide an empty LIBPATHENV because we disable rpath but we do not
165 - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
166 - # #564272
167 - INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
168 - --program-suffix=${MY_SUFFIX} \
169 - --with-soname=ruby${MY_SUFFIX} \
170 - --docdir=${EPREFIX}/usr/share/doc/${P} \
171 - --enable-shared \
172 - --enable-pthread \
173 - --disable-rpath \
174 - --with-out-ext="${modules}" \
175 - $(use_with jemalloc jemalloc) \
176 - $(use_enable socks5 socks) \
177 - $(use_enable doc install-doc) \
178 - --enable-ipv6 \
179 - $(use_enable static-libs static) \
180 - $(use_enable static-libs install-static-library) \
181 - $(use_with static-libs static-linked-ext) \
182 - $(use_enable debug) \
183 - ${myconf} \
184 - --enable-option-checking=no \
185 - || die "econf failed"
186 -}
187 -
188 -src_compile() {
189 - emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
190 -}
191 -
192 -src_test() {
193 - emake -j1 V=1 test || die "make test failed"
194 -
195 - elog "Ruby's make test has been run. Ruby also ships with a make check"
196 - elog "that cannot be run until after ruby has been installed."
197 - elog
198 - if use rubytests; then
199 - elog "You have enabled rubytests, so they will be installed to"
200 - elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
201 - elog "than root, and you must place them into a writeable directory."
202 - elog "Then call: "
203 - elog
204 - elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
205 - else
206 - elog "Enable the rubytests USE flag to install the make check tests"
207 - fi
208 -}
209 -
210 -src_install() {
211 - # Remove the remaining bundled gems. We do this late in the process
212 - # since they are used during the build to e.g. create the
213 - # documentation.
214 - rm -rf ext/json || die
215 -
216 - # Ruby is involved in the install process, we don't want interference here.
217 - unset RUBYOPT
218 -
219 - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
220 -
221 - LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
222 - RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
223 - for d in $(find "${S}/ext" -type d) ; do
224 - RUBYLIB="${RUBYLIB}:$d"
225 - done
226 - export LD_LIBRARY_PATH RUBYLIB
227 -
228 - emake V=1 DESTDIR="${D}" install || die "make install failed"
229 -
230 - # Remove installed rubygems and rdoc copy
231 - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
232 - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
233 - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
234 - rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
235 -
236 - if use doc; then
237 - make DESTDIR="${D}" install-doc || die "make install-doc failed"
238 - fi
239 -
240 - if use examples; then
241 - insinto /usr/share/doc/${PF}
242 - doins -r sample
243 - fi
244 -
245 - dodoc ChangeLog NEWS doc/NEWS* README* || die
246 -
247 - if use rubytests; then
248 - pushd test
249 - insinto /usr/share/${PN}-${SLOT}/test
250 - doins -r .
251 - popd
252 - fi
253 -}
254 -
255 -pkg_postinst() {
256 - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
257 - eselect ruby set ruby${MY_SUFFIX}
258 - fi
259 -
260 - elog
261 - elog "To switch between available Ruby profiles, execute as root:"
262 - elog "\teselect ruby set ruby(23|24|...)"
263 - elog
264 -}
265 -
266 -pkg_postrm() {
267 - eselect ruby cleanup
268 -}
269
270 diff --git a/dev-lang/ruby/ruby-2.5.6.ebuild b/dev-lang/ruby/ruby-2.5.6.ebuild
271 deleted file mode 100644
272 index ccfb4c30760..00000000000
273 --- a/dev-lang/ruby/ruby-2.5.6.ebuild
274 +++ /dev/null
275 @@ -1,225 +0,0 @@
276 -# Copyright 1999-2019 Gentoo Authors
277 -# Distributed under the terms of the GNU General Public License v2
278 -
279 -EAPI=7
280 -
281 -inherit autotools flag-o-matic multilib
282 -
283 -MY_P="${PN}-$(ver_cut 1-3)"
284 -S=${WORKDIR}/${MY_P}
285 -
286 -SLOT=$(ver_cut 1-2)
287 -MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
288 -RUBYVERSION=${SLOT}.0
289 -
290 -DESCRIPTION="An object-oriented scripting language"
291 -HOMEPAGE="https://www.ruby-lang.org/"
292 -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
293 -
294 -LICENSE="|| ( Ruby-BSD BSD-2 )"
295 -KEYWORDS="alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh sparc x86"
296 -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
297 -
298 -RDEPEND="
299 - berkdb? ( sys-libs/db:= )
300 - gdbm? ( sys-libs/gdbm:= )
301 - jemalloc? ( dev-libs/jemalloc )
302 - ssl? (
303 - !libressl? ( dev-libs/openssl:0= )
304 - libressl? ( dev-libs/libressl )
305 - )
306 - socks5? ( >=net-proxy/dante-1.1.13 )
307 - tk? (
308 - dev-lang/tcl:0=[threads]
309 - dev-lang/tk:0=[threads]
310 - )
311 - dev-libs/libyaml
312 - virtual/libffi:=
313 - sys-libs/readline:0=
314 - sys-libs/zlib
315 - >=app-eselect/eselect-ruby-20171225
316 -"
317 -
318 -DEPEND="${RDEPEND}"
319 -
320 -BUNDLED_GEMS="
321 - >=dev-ruby/did_you_mean-1.2.0:2.5[ruby_targets_ruby25]
322 - >=dev-ruby/minitest-5.10.3[ruby_targets_ruby25]
323 - >=dev-ruby/net-telnet-0.1.1[ruby_targets_ruby25]
324 - >=dev-ruby/power_assert-1.1.1[ruby_targets_ruby25]
325 - >=dev-ruby/rake-12.3.0[ruby_targets_ruby25]
326 - >=dev-ruby/test-unit-3.2.7[ruby_targets_ruby25]
327 - >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby25]
328 -"
329 -
330 -PDEPEND="
331 - ${BUNDLED_GEMS}
332 - virtual/rubygems[ruby_targets_ruby25]
333 - >=dev-ruby/json-2.0.2[ruby_targets_ruby25]
334 - rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby25] )
335 - xemacs? ( app-xemacs/ruby-modes )"
336 -
337 -src_prepare() {
338 - eapply "${FILESDIR}"/${SLOT}/{001,005,011}*.patch
339 -
340 - einfo "Unbundling gems..."
341 - cd "$S"
342 - # Remove bundled gems that we will install via PDEPEND, bug
343 - # 539700. Use explicit version numbers to ensure rm fails when they
344 - # change so we can update dependencies accordingly.
345 - rm -f gems/{did_you_mean-1.2.0,minitest-5.10.3,net-telnet-0.1.1,power_assert-1.1.1,rake-12.3.0,test-unit-3.2.7,xmlrpc-0.3.0}.gem || die
346 -
347 - einfo "Removing bundled libraries..."
348 - rm -fr ext/fiddle/libffi-3.2.1 || die
349 -
350 - eapply_user
351 -
352 - eautoreconf
353 -}
354 -
355 -src_configure() {
356 - local modules= myconf=
357 -
358 - # -fomit-frame-pointer makes ruby segfault, see bug #150413.
359 - filter-flags -fomit-frame-pointer
360 - # In many places aliasing rules are broken; play it safe
361 - # as it's risky with newer compilers to leave it as it is.
362 - append-flags -fno-strict-aliasing
363 - # SuperH needs this
364 - use sh && append-flags -mieee
365 -
366 - # Socks support via dante
367 - if use socks5 ; then
368 - # Socks support can't be disabled as long as SOCKS_SERVER is
369 - # set and socks library is present, so need to unset
370 - # SOCKS_SERVER in that case.
371 - unset SOCKS_SERVER
372 - fi
373 -
374 - # Increase GC_MALLOC_LIMIT if set (default is 8000000)
375 - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
376 - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
377 - fi
378 -
379 - # ipv6 hack, bug 168939. Needs --enable-ipv6.
380 - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
381 -
382 - # Determine which modules *not* to build depending in the USE flags.
383 - if ! use berkdb ; then
384 - modules="${modules},dbm"
385 - fi
386 - if ! use gdbm ; then
387 - modules="${modules},gdbm"
388 - fi
389 - if ! use ssl ; then
390 - modules="${modules},openssl"
391 - fi
392 - if ! use tk ; then
393 - modules="${modules},tk"
394 - fi
395 -
396 - # Provide an empty LIBPATHENV because we disable rpath but we do not
397 - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
398 - # #564272
399 - INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
400 - --program-suffix=${MY_SUFFIX} \
401 - --with-soname=ruby${MY_SUFFIX} \
402 - --docdir=${EPREFIX}/usr/share/doc/${P} \
403 - --enable-shared \
404 - --enable-pthread \
405 - --disable-rpath \
406 - --with-out-ext="${modules}" \
407 - $(use_with jemalloc jemalloc) \
408 - $(use_enable socks5 socks) \
409 - $(use_enable doc install-doc) \
410 - --enable-ipv6 \
411 - $(use_enable static-libs static) \
412 - $(use_enable static-libs install-static-library) \
413 - $(use_with static-libs static-linked-ext) \
414 - $(use_enable debug) \
415 - ${myconf} \
416 - --enable-option-checking=no \
417 - || die "econf failed"
418 -}
419 -
420 -src_compile() {
421 - emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
422 -}
423 -
424 -src_test() {
425 - emake -j1 V=1 test || die "make test failed"
426 -
427 - elog "Ruby's make test has been run. Ruby also ships with a make check"
428 - elog "that cannot be run until after ruby has been installed."
429 - elog
430 - if use rubytests; then
431 - elog "You have enabled rubytests, so they will be installed to"
432 - elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
433 - elog "than root, and you must place them into a writeable directory."
434 - elog "Then call: "
435 - elog
436 - elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
437 - else
438 - elog "Enable the rubytests USE flag to install the make check tests"
439 - fi
440 -}
441 -
442 -src_install() {
443 - # Remove the remaining bundled gems. We do this late in the process
444 - # since they are used during the build to e.g. create the
445 - # documentation.
446 - rm -rf ext/json || die
447 -
448 - # Ruby is involved in the install process, we don't want interference here.
449 - unset RUBYOPT
450 -
451 - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
452 -
453 - LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
454 - RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
455 - for d in $(find "${S}/ext" -type d) ; do
456 - RUBYLIB="${RUBYLIB}:$d"
457 - done
458 - export LD_LIBRARY_PATH RUBYLIB
459 -
460 - emake V=1 DESTDIR="${D}" install || die "make install failed"
461 -
462 - # Remove installed rubygems and rdoc copy
463 - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
464 - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
465 - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
466 - rm -rf "${ED}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
467 -
468 - if use doc; then
469 - make DESTDIR="${D}" install-doc || die "make install-doc failed"
470 - fi
471 -
472 - if use examples; then
473 - insinto /usr/share/doc/${PF}
474 - doins -r sample
475 - fi
476 -
477 - dodoc ChangeLog NEWS doc/NEWS* README* || die
478 -
479 - if use rubytests; then
480 - pushd test
481 - insinto /usr/share/${PN}-${SLOT}/test
482 - doins -r .
483 - popd
484 - fi
485 -}
486 -
487 -pkg_postinst() {
488 - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
489 - eselect ruby set ruby${MY_SUFFIX}
490 - fi
491 -
492 - elog
493 - elog "To switch between available Ruby profiles, execute as root:"
494 - elog "\teselect ruby set ruby(23|24|...)"
495 - elog
496 -}
497 -
498 -pkg_postrm() {
499 - eselect ruby cleanup
500 -}
501
502 diff --git a/dev-lang/ruby/ruby-2.6.3.ebuild b/dev-lang/ruby/ruby-2.6.3.ebuild
503 deleted file mode 100644
504 index b50b2f69661..00000000000
505 --- a/dev-lang/ruby/ruby-2.6.3.ebuild
506 +++ /dev/null
507 @@ -1,237 +0,0 @@
508 -# Copyright 1999-2019 Gentoo Authors
509 -# Distributed under the terms of the GNU General Public License v2
510 -
511 -EAPI=7
512 -
513 -inherit autotools flag-o-matic multilib
514 -
515 -MY_P="${PN}-$(ver_cut 1-3)"
516 -S=${WORKDIR}/${MY_P}
517 -
518 -SLOT=$(ver_cut 1-2)
519 -MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
520 -RUBYVERSION=${SLOT}.0
521 -
522 -DESCRIPTION="An object-oriented scripting language"
523 -HOMEPAGE="https://www.ruby-lang.org/"
524 -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
525 -
526 -LICENSE="|| ( Ruby-BSD BSD-2 )"
527 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
528 -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
529 -
530 -RDEPEND="
531 - berkdb? ( sys-libs/db:= )
532 - gdbm? ( sys-libs/gdbm:= )
533 - jemalloc? ( dev-libs/jemalloc )
534 - jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
535 - ssl? (
536 - !libressl? ( dev-libs/openssl:0= )
537 - libressl? ( dev-libs/libressl )
538 - )
539 - socks5? ( >=net-proxy/dante-1.1.13 )
540 - tk? (
541 - dev-lang/tcl:0=[threads]
542 - dev-lang/tk:0=[threads]
543 - )
544 - dev-libs/libyaml
545 - virtual/libffi:=
546 - sys-libs/readline:0=
547 - sys-libs/zlib
548 - >=app-eselect/eselect-ruby-20171225
549 -"
550 -
551 -DEPEND="${RDEPEND}"
552 -
553 -BUNDLED_GEMS="
554 - >=dev-ruby/did_you_mean-1.2.1[ruby_targets_ruby26]
555 - >=dev-ruby/minitest-5.11.3[ruby_targets_ruby26]
556 - >=dev-ruby/net-telnet-0.2.0[ruby_targets_ruby26]
557 - >=dev-ruby/power_assert-1.1.3[ruby_targets_ruby26]
558 - >=dev-ruby/rake-12.3.2[ruby_targets_ruby26]
559 - >=dev-ruby/test-unit-3.2.9[ruby_targets_ruby26]
560 - >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby26]
561 -"
562 -
563 -PDEPEND="
564 - ${BUNDLED_GEMS}
565 - virtual/rubygems[ruby_targets_ruby26]
566 - >=dev-ruby/bundler-1.17.2[ruby_targets_ruby26]
567 - >=dev-ruby/json-2.0.2[ruby_targets_ruby26]
568 - rdoc? ( >=dev-ruby/rdoc-5.1.0[ruby_targets_ruby26] )
569 - xemacs? ( app-xemacs/ruby-modes )"
570 -
571 -src_prepare() {
572 - # 005 does not compile bigdecimal and is questionable because it
573 - # compiles ruby in a non-standard way, may be dropped
574 - eapply "${FILESDIR}"/2.6/010*.patch
575 -
576 - einfo "Unbundling gems..."
577 - cd "$S"
578 - # Remove bundled gems that we will install via PDEPEND, bug
579 - # 539700.
580 - rm -fr gems/* || die
581 -
582 - einfo "Removing bundled libraries..."
583 - rm -fr ext/fiddle/libffi-3.2.1 || die
584 -
585 - eapply_user
586 -
587 - eautoreconf
588 -}
589 -
590 -src_configure() {
591 - local modules= myconf=
592 -
593 - # -fomit-frame-pointer makes ruby segfault, see bug #150413.
594 - filter-flags -fomit-frame-pointer
595 - # In many places aliasing rules are broken; play it safe
596 - # as it's risky with newer compilers to leave it as it is.
597 - append-flags -fno-strict-aliasing
598 - # SuperH needs this
599 - use sh && append-flags -mieee
600 -
601 - # Socks support via dante
602 - if use socks5 ; then
603 - # Socks support can't be disabled as long as SOCKS_SERVER is
604 - # set and socks library is present, so need to unset
605 - # SOCKS_SERVER in that case.
606 - unset SOCKS_SERVER
607 - fi
608 -
609 - # Increase GC_MALLOC_LIMIT if set (default is 8000000)
610 - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
611 - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
612 - fi
613 -
614 - # ipv6 hack, bug 168939. Needs --enable-ipv6.
615 - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
616 -
617 - # Determine which modules *not* to build depending in the USE flags.
618 - if ! use berkdb ; then
619 - modules="${modules},dbm"
620 - fi
621 - if ! use gdbm ; then
622 - modules="${modules},gdbm"
623 - fi
624 - if ! use ssl ; then
625 - modules="${modules},openssl"
626 - fi
627 - if ! use tk ; then
628 - modules="${modules},tk"
629 - fi
630 -
631 - # Provide an empty LIBPATHENV because we disable rpath but we do not
632 - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
633 - # #564272
634 - INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
635 - --program-suffix=${MY_SUFFIX} \
636 - --with-soname=ruby${MY_SUFFIX} \
637 - --docdir=${EPREFIX}/usr/share/doc/${P} \
638 - --enable-shared \
639 - --enable-pthread \
640 - --disable-rpath \
641 - --with-out-ext="${modules}" \
642 - $(use_with jemalloc jemalloc) \
643 - $(use_enable jit jit-support ) \
644 - $(use_enable socks5 socks) \
645 - $(use_enable doc install-doc) \
646 - --enable-ipv6 \
647 - $(use_enable static-libs static) \
648 - $(use_enable static-libs install-static-library) \
649 - $(use_with static-libs static-linked-ext) \
650 - $(use_enable debug) \
651 - ${myconf} \
652 - --enable-option-checking=no \
653 - || die "econf failed"
654 -
655 - # Makefile is broken because it lacks -ldl
656 - rm -rf ext/-test-/popen_deadlock || die
657 -}
658 -
659 -src_compile() {
660 - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" || die "emake failed"
661 -}
662 -
663 -src_test() {
664 - emake -j1 V=1 test || die "make test failed"
665 -
666 - elog "Ruby's make test has been run. Ruby also ships with a make check"
667 - elog "that cannot be run until after ruby has been installed."
668 - elog
669 - if use rubytests; then
670 - elog "You have enabled rubytests, so they will be installed to"
671 - elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
672 - elog "than root, and you must place them into a writeable directory."
673 - elog "Then call: "
674 - elog
675 - elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
676 - else
677 - elog "Enable the rubytests USE flag to install the make check tests"
678 - fi
679 -}
680 -
681 -src_install() {
682 - # Remove the remaining bundled gems. We do this late in the process
683 - # since they are used during the build to e.g. create the
684 - # documentation.
685 - rm -rf ext/json || die
686 - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die
687 -
688 - # Ruby is involved in the install process, we don't want interference here.
689 - unset RUBYOPT
690 -
691 - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
692 -
693 - LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
694 - RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
695 - for d in $(find "${S}/ext" -type d) ; do
696 - RUBYLIB="${RUBYLIB}:$d"
697 - done
698 - export LD_LIBRARY_PATH RUBYLIB
699 -
700 - # Create directory for the default gems
701 - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}"
702 - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed"
703 -
704 - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install || die "make install failed"
705 -
706 - # Remove installed rubygems and rdoc copy
707 - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
708 - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
709 - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
710 - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
711 -
712 - if use doc; then
713 - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc || die "make install-doc failed"
714 - fi
715 -
716 - if use examples; then
717 - insinto /usr/share/doc/${PF}
718 - doins -r sample
719 - fi
720 -
721 - dodoc ChangeLog NEWS doc/NEWS* README* || die
722 -
723 - if use rubytests; then
724 - pushd test
725 - insinto /usr/share/${PN}-${SLOT}/test
726 - doins -r .
727 - popd
728 - fi
729 -}
730 -
731 -pkg_postinst() {
732 - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
733 - eselect ruby set ruby${MY_SUFFIX}
734 - fi
735 -
736 - elog
737 - elog "To switch between available Ruby profiles, execute as root:"
738 - elog "\teselect ruby set ruby(23|24|...)"
739 - elog
740 -}
741 -
742 -pkg_postrm() {
743 - eselect ruby cleanup
744 -}
745
746 diff --git a/dev-lang/ruby/ruby-2.6.4.ebuild b/dev-lang/ruby/ruby-2.6.4.ebuild
747 deleted file mode 100644
748 index 57bd24dcd4f..00000000000
749 --- a/dev-lang/ruby/ruby-2.6.4.ebuild
750 +++ /dev/null
751 @@ -1,237 +0,0 @@
752 -# Copyright 1999-2019 Gentoo Authors
753 -# Distributed under the terms of the GNU General Public License v2
754 -
755 -EAPI=7
756 -
757 -inherit autotools flag-o-matic multilib
758 -
759 -MY_P="${PN}-$(ver_cut 1-3)"
760 -S=${WORKDIR}/${MY_P}
761 -
762 -SLOT=$(ver_cut 1-2)
763 -MY_SUFFIX=$(ver_rs 1 '' ${SLOT})
764 -RUBYVERSION=${SLOT}.0
765 -
766 -DESCRIPTION="An object-oriented scripting language"
767 -HOMEPAGE="https://www.ruby-lang.org/"
768 -SRC_URI="https://cache.ruby-lang.org/pub/ruby/${SLOT}/${MY_P}.tar.xz"
769 -
770 -LICENSE="|| ( Ruby-BSD BSD-2 )"
771 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86"
772 -IUSE="berkdb debug doc examples gdbm ipv6 jemalloc jit libressl +rdoc rubytests socks5 +ssl static-libs tk xemacs"
773 -
774 -RDEPEND="
775 - berkdb? ( sys-libs/db:= )
776 - gdbm? ( sys-libs/gdbm:= )
777 - jemalloc? ( dev-libs/jemalloc )
778 - jit? ( || ( sys-devel/gcc:* sys-devel/clang:* ) )
779 - ssl? (
780 - !libressl? ( dev-libs/openssl:0= )
781 - libressl? ( dev-libs/libressl )
782 - )
783 - socks5? ( >=net-proxy/dante-1.1.13 )
784 - tk? (
785 - dev-lang/tcl:0=[threads]
786 - dev-lang/tk:0=[threads]
787 - )
788 - dev-libs/libyaml
789 - virtual/libffi:=
790 - sys-libs/readline:0=
791 - sys-libs/zlib
792 - >=app-eselect/eselect-ruby-20171225
793 -"
794 -
795 -DEPEND="${RDEPEND}"
796 -
797 -BUNDLED_GEMS="
798 - >=dev-ruby/did_you_mean-1.2.1[ruby_targets_ruby26]
799 - >=dev-ruby/minitest-5.11.3[ruby_targets_ruby26]
800 - >=dev-ruby/net-telnet-0.2.0[ruby_targets_ruby26]
801 - >=dev-ruby/power_assert-1.1.3[ruby_targets_ruby26]
802 - >=dev-ruby/rake-12.3.2[ruby_targets_ruby26]
803 - >=dev-ruby/test-unit-3.2.9[ruby_targets_ruby26]
804 - >=dev-ruby/xmlrpc-0.3.0[ruby_targets_ruby26]
805 -"
806 -
807 -PDEPEND="
808 - ${BUNDLED_GEMS}
809 - virtual/rubygems[ruby_targets_ruby26]
810 - >=dev-ruby/bundler-1.17.2[ruby_targets_ruby26]
811 - >=dev-ruby/json-2.0.2[ruby_targets_ruby26]
812 - rdoc? ( >=dev-ruby/rdoc-6.1.2[ruby_targets_ruby26] )
813 - xemacs? ( app-xemacs/ruby-modes )"
814 -
815 -src_prepare() {
816 - # 005 does not compile bigdecimal and is questionable because it
817 - # compiles ruby in a non-standard way, may be dropped
818 - eapply "${FILESDIR}"/2.6/010*.patch
819 -
820 - einfo "Unbundling gems..."
821 - cd "$S"
822 - # Remove bundled gems that we will install via PDEPEND, bug
823 - # 539700.
824 - rm -fr gems/* || die
825 -
826 - einfo "Removing bundled libraries..."
827 - rm -fr ext/fiddle/libffi-3.2.1 || die
828 -
829 - eapply_user
830 -
831 - eautoreconf
832 -}
833 -
834 -src_configure() {
835 - local modules= myconf=
836 -
837 - # -fomit-frame-pointer makes ruby segfault, see bug #150413.
838 - filter-flags -fomit-frame-pointer
839 - # In many places aliasing rules are broken; play it safe
840 - # as it's risky with newer compilers to leave it as it is.
841 - append-flags -fno-strict-aliasing
842 - # SuperH needs this
843 - use sh && append-flags -mieee
844 -
845 - # Socks support via dante
846 - if use socks5 ; then
847 - # Socks support can't be disabled as long as SOCKS_SERVER is
848 - # set and socks library is present, so need to unset
849 - # SOCKS_SERVER in that case.
850 - unset SOCKS_SERVER
851 - fi
852 -
853 - # Increase GC_MALLOC_LIMIT if set (default is 8000000)
854 - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
855 - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
856 - fi
857 -
858 - # ipv6 hack, bug 168939. Needs --enable-ipv6.
859 - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
860 -
861 - # Determine which modules *not* to build depending in the USE flags.
862 - if ! use berkdb ; then
863 - modules="${modules},dbm"
864 - fi
865 - if ! use gdbm ; then
866 - modules="${modules},gdbm"
867 - fi
868 - if ! use ssl ; then
869 - modules="${modules},openssl"
870 - fi
871 - if ! use tk ; then
872 - modules="${modules},tk"
873 - fi
874 -
875 - # Provide an empty LIBPATHENV because we disable rpath but we do not
876 - # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
877 - # #564272
878 - INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
879 - --program-suffix=${MY_SUFFIX} \
880 - --with-soname=ruby${MY_SUFFIX} \
881 - --docdir=${EPREFIX}/usr/share/doc/${P} \
882 - --enable-shared \
883 - --enable-pthread \
884 - --disable-rpath \
885 - --with-out-ext="${modules}" \
886 - $(use_with jemalloc jemalloc) \
887 - $(use_enable jit jit-support ) \
888 - $(use_enable socks5 socks) \
889 - $(use_enable doc install-doc) \
890 - --enable-ipv6 \
891 - $(use_enable static-libs static) \
892 - $(use_enable static-libs install-static-library) \
893 - $(use_with static-libs static-linked-ext) \
894 - $(use_enable debug) \
895 - ${myconf} \
896 - --enable-option-checking=no \
897 - || die "econf failed"
898 -
899 - # Makefile is broken because it lacks -ldl
900 - rm -rf ext/-test-/popen_deadlock || die
901 -}
902 -
903 -src_compile() {
904 - emake V=1 EXTLDFLAGS="${LDFLAGS}" MJIT_CFLAGS="${CFLAGS}" MJIT_OPTFLAGS="" MJIT_DEBUGFLAGS="" || die "emake failed"
905 -}
906 -
907 -src_test() {
908 - emake -j1 V=1 test || die "make test failed"
909 -
910 - elog "Ruby's make test has been run. Ruby also ships with a make check"
911 - elog "that cannot be run until after ruby has been installed."
912 - elog
913 - if use rubytests; then
914 - elog "You have enabled rubytests, so they will be installed to"
915 - elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
916 - elog "than root, and you must place them into a writeable directory."
917 - elog "Then call: "
918 - elog
919 - elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
920 - else
921 - elog "Enable the rubytests USE flag to install the make check tests"
922 - fi
923 -}
924 -
925 -src_install() {
926 - # Remove the remaining bundled gems. We do this late in the process
927 - # since they are used during the build to e.g. create the
928 - # documentation.
929 - rm -rf ext/json || die
930 - rm -rf lib/bundler* lib/rdoc/rdoc.gemspec || die
931 -
932 - # Ruby is involved in the install process, we don't want interference here.
933 - unset RUBYOPT
934 -
935 - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
936 -
937 - LD_LIBRARY_PATH="${S}:${ED}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
938 - RUBYLIB="${S}:${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
939 - for d in $(find "${S}/ext" -type d) ; do
940 - RUBYLIB="${RUBYLIB}:$d"
941 - done
942 - export LD_LIBRARY_PATH RUBYLIB
943 -
944 - # Create directory for the default gems
945 - local gem_home="${EPREFIX}/usr/$(get_libdir)/ruby/gems/${RUBYVERSION}"
946 - mkdir -p "${D}/${gem_home}" || die "mkdir gem home failed"
947 -
948 - emake V=1 DESTDIR="${D}" GEM_DESTDIR=${gem_home} install || die "make install failed"
949 -
950 - # Remove installed rubygems and rdoc copy
951 - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
952 - rm -rf "${ED}/usr/bin/"gem"${MY_SUFFIX}" || die "rm rdoc bins failed"
953 - rm -rf "${ED}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
954 - rm -rf "${ED}/usr/bin/"{bundle,bundler,ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
955 -
956 - if use doc; then
957 - emake DESTDIR="${D}" GEM_DESTDIR=${gem_home} install-doc || die "make install-doc failed"
958 - fi
959 -
960 - if use examples; then
961 - insinto /usr/share/doc/${PF}
962 - doins -r sample
963 - fi
964 -
965 - dodoc ChangeLog NEWS doc/NEWS* README* || die
966 -
967 - if use rubytests; then
968 - pushd test
969 - insinto /usr/share/${PN}-${SLOT}/test
970 - doins -r .
971 - popd
972 - fi
973 -}
974 -
975 -pkg_postinst() {
976 - if [[ ! -n $(readlink "${EROOT}"/usr/bin/ruby) ]] ; then
977 - eselect ruby set ruby${MY_SUFFIX}
978 - fi
979 -
980 - elog
981 - elog "To switch between available Ruby profiles, execute as root:"
982 - elog "\teselect ruby set ruby(23|24|...)"
983 - elog
984 -}
985 -
986 -pkg_postrm() {
987 - eselect ruby cleanup
988 -}