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: Sat, 09 Jul 2016 05:29:37
Message-Id: 1468042151.4fdd6b2fdbfca42c18a950eaef8ad32ebe2e6150.graaff@gentoo
1 commit: 4fdd6b2fdbfca42c18a950eaef8ad32ebe2e6150
2 Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
3 AuthorDate: Sat Jul 9 05:27:28 2016 +0000
4 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
5 CommitDate: Sat Jul 9 05:29:11 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4fdd6b2f
7
8 dev-lang/ruby: cleanup
9
10 Package-Manager: portage-2.2.28
11
12 dev-lang/ruby/Manifest | 4 -
13 dev-lang/ruby/ruby-2.0.0_p647-r1.ebuild | 230 --------------------------------
14 dev-lang/ruby/ruby-2.1.7.ebuild | 227 -------------------------------
15 3 files changed, 461 deletions(-)
16
17 diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
18 index 2aed7df..2f2efd2 100644
19 --- a/dev-lang/ruby/Manifest
20 +++ b/dev-lang/ruby/Manifest
21 @@ -1,15 +1,11 @@
22 -DIST ruby-2.0.0-p647.tar.xz 8301008 SHA256 9f793880df1209ea4e5c10ee9d8ef79caa0e73ee769f745f1c191505255e2847 SHA512 38fd2ad631588a0e8adf9a7ae01cb5274eca4fd794c5ed7030e5fae9e53cd8920eaac9d388c73b844a154c7eb56fa6fed8e2ee5df5617efd624b6a568ea4953b WHIRLPOOL c8ec19ed900e6578f1f6e08d1e2a5c015cfa6e81379fb0437a1167ffb8bc56561d02b4b5b35a674039f7adcd2c43b222b89e139cb0ea702e8bfec886872c8e6a
23 DIST ruby-2.0.0-p648.tar.xz 8303584 SHA256 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 SHA512 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 WHIRLPOOL ef78b838d061b1707219453a70c8b4a503d46e9f95797007555943a837de21f22c0c93039c75172d7df4fe9b5eca38472ee7177f98785cb5993c7e80140a1d27
24 DIST ruby-2.1.10.tar.xz 9362868 SHA256 5be9f8d5d29d252cd7f969ab7550e31bbb001feb4a83532301c0dd3b5006e148 SHA512 72406ac133af7f057d4633d2a300e49e133881f6b36ff4cdf6c72b4ff4325de332fc5a45c96ea407140a8bf09cdc307e13107c539196902e5b67b7d24cd72dc9 WHIRLPOOL c069461eca483db74ffd72efb3279eea3949975e504d1b38ef76d4226f6e85cc3d337a358453fb4910f3b1306fc903ce38f156c7af65d207d2a4732571ef9ac1
25 -DIST ruby-2.1.7.tar.xz 9371208 SHA256 225c067d9820fe52fcffbfb91d5b5243708a0b666b9929bea466e9379eb40ad7 SHA512 a4f2a3a684517678442b4ad3bda50433634317c910e8c13c844dffe470532bae5fd8d72b3f83c9a36865f303fe0464703e30854b3e55a558a758252b5e594406 WHIRLPOOL 54fae59b754aebbf1736720e042574ed4a0b4f7c1518742f8215bb396bb7416ee7b50df7d27167337e10eef518f1d488a48d064bfcbfac0065aa8313296fe263
26 DIST ruby-2.1.9.tar.xz 9395648 SHA256 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a SHA512 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 WHIRLPOOL bb2fa158d837f9c278cab93ecb1a8f6a00ddff12c40d1fa5ffb6b55741dc71268fef40fc9f30508dc89b27a05fe9f3b4fbf739ba69ab4e62f669f82a15d26dfa
27 DIST ruby-2.2.5.tar.xz 10457620 SHA256 f86feaa0a578e8da0924ced3ec68b25b50d69fc9a72cc8d919bc3c73f85f87d7 SHA512 6da4bdb0a43d56c7a8e4dddbcacf237e998ebb54706c8f835b53713dbdf924e40d5f89f63017515e1d66904ca01f28058cf296567104e06540c57f036dcdd0fe WHIRLPOOL 16d7a03c359bf31aeecc67afd72d8290f8f7e2a26b15c069ad623716866b76cea467f550946a27916087343ab3225149681e1555ea9c21459a94f7a038758270
28 DIST ruby-2.3.0.tar.xz 11294412 SHA256 70125af0cfd7048e813a5eecab3676249582bfb65cfd57b868c3595f966e4097 SHA512 d893c5e6db5a0533e0da48d899c619964388852ef90e7d1b92a4363d5f189cd2dba32a009581f62b9f42a8e6027975fc3c18b64faf356f5e3ac43a8d69ec5327 WHIRLPOOL 1d39136dad87580339f87057649d136e1b76cb58118b275d6847b791be8f6882820de892d9fb7144991a7acf30c355311fd289d1a7931fd018b3b95398945c07
29 DIST ruby-2.3.1.tar.xz 11407048 SHA256 6725b5534d5a3a21ec4f14d6d7b9921a0d00d08acb88fd04cd50b47b70496338 SHA512 e9d89aeefb1b1e72cee9d3d414b27c793cf09ff3ed5e0ea5277a2b6ae1cae9fdbf6b404a84b42c0c6835754eb04674fc4f1470fbfedabeee3f57e518f13db633 WHIRLPOOL ddfad0f36d61e75209bdc69da0ec549a3443ecb3ed8e1347bb3d0b54ec34073eb05fc8bb78843d59b8b65ec92b8df47f001f5f28f00f685bd2ab60b1ce557558
30 -DIST ruby-patches-2.0.0_p647-r1.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e2b9a4a9cb742ffd01531753bae07ab6b8 SHA512 40d07275a391df3e0a7a0c2705913c8120a548e223032dc39993f8f873c8d0639646cf728dc95f1400352a13766623ac6d69a1b1ff03183df6fabf32946dd7a6 WHIRLPOOL ed7ea6b1c1fd3570ea85b885f7455d8273cff2a9db2540c9e89faca867bd5eed2b4de52c7d21a96bb33ae0beedce113c68bb6c8cee4688650ff5169bd9c265fd
31 DIST ruby-patches-2.0.0_p648.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e2b9a4a9cb742ffd01531753bae07ab6b8 SHA512 40d07275a391df3e0a7a0c2705913c8120a548e223032dc39993f8f873c8d0639646cf728dc95f1400352a13766623ac6d69a1b1ff03183df6fabf32946dd7a6 WHIRLPOOL ed7ea6b1c1fd3570ea85b885f7455d8273cff2a9db2540c9e89faca867bd5eed2b4de52c7d21a96bb33ae0beedce113c68bb6c8cee4688650ff5169bd9c265fd
32 DIST ruby-patches-2.1.10.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
33 -DIST ruby-patches-2.1.7.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
34 DIST ruby-patches-2.1.9.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
35 DIST ruby-patches-2.2.5.tar.bz2 2272 SHA256 f54373704ce8df732490e8d1e7e35188503faacc5278fe0ab0d8c07bdc762fed SHA512 ed8bff8f730ccb114e62784d29541f276b2821d9eb121a9772dc4aabc139b688f2b14f5f27710098a8cd751c62d31b46170b427ad54dc4f6490c003450ae1583 WHIRLPOOL 8598c9284252c1e7cc9f9019c5f468ce5ab8b4ae013e71c631cd00cc8bfde068b041f1bc6851bb2962982a1e46cbde0ddc51c186ea41638a7881c587c658e603
36 DIST ruby-patches-2.3.0.tar.bz2 2223 SHA256 f0a803173564368e5cf31162e1dba901c46640f9e861255f6cbe14256d18f3eb SHA512 bb47000e516017c1fedf7c5313b0628fa734030e69bd0fed1c06a38dd115b8c50837e3dd917f272e24abf5609c4c12793ae4570bfd7d6210290785bf2f8287bd WHIRLPOOL 0b0d4dcf7df4ff3ff11610bfe7a7b29ed621b45b412cb7618a6572f98a568ac67419bd852b193cfc3aa0968382cf9400a578511e9e8fb8b2125bc876e733bd64
37
38 diff --git a/dev-lang/ruby/ruby-2.0.0_p647-r1.ebuild b/dev-lang/ruby/ruby-2.0.0_p647-r1.ebuild
39 deleted file mode 100644
40 index 3f9c885..0000000
41 --- a/dev-lang/ruby/ruby-2.0.0_p647-r1.ebuild
42 +++ /dev/null
43 @@ -1,230 +0,0 @@
44 -# Copyright 1999-2015 Gentoo Foundation
45 -# Distributed under the terms of the GNU General Public License v2
46 -# $Id$
47 -
48 -EAPI=5
49 -
50 -#PATCHSET=1
51 -
52 -inherit autotools eutils flag-o-matic multilib versionator
53 -
54 -RUBYPL=$(get_version_component_range 4)
55 -
56 -MY_P="${PN}-$(get_version_component_range 1-3)-${RUBYPL:-0}"
57 -S=${WORKDIR}/${MY_P}
58 -
59 -SLOT=$(get_version_component_range 1-2)
60 -MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
61 -RUBYVERSION=2.0.0
62 -
63 -if [[ -n ${PATCHSET} ]]; then
64 - if [[ ${PVR} == ${PV} ]]; then
65 - PATCHSET="${PV}-r0.${PATCHSET}"
66 - else
67 - PATCHSET="${PVR}.${PATCHSET}"
68 - fi
69 -else
70 - PATCHSET="${PVR}"
71 -fi
72 -
73 -DESCRIPTION="An object-oriented scripting language"
74 -HOMEPAGE="http://www.ruby-lang.org/"
75 -SRC_URI="mirror://ruby/2.0/${MY_P}.tar.xz
76 - https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
77 -
78 -LICENSE="|| ( Ruby-BSD BSD-2 )"
79 -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
80 -IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl xemacs ncurses +readline cpu_flags_x86_sse2"
81 -
82 -RDEPEND="
83 - berkdb? ( sys-libs/db:= )
84 - gdbm? ( sys-libs/gdbm )
85 - ssl? ( dev-libs/openssl:0 )
86 - socks5? ( >=net-proxy/dante-1.1.13 )
87 - ncurses? ( sys-libs/ncurses:0= )
88 - readline? ( sys-libs/readline:0 )
89 - dev-libs/libyaml
90 - virtual/libffi
91 - sys-libs/zlib
92 - >=app-eselect/eselect-ruby-20100402
93 - !<dev-ruby/rdoc-3.9.4
94 - !<dev-ruby/rubygems-1.8.10-r1"
95 -
96 -DEPEND="${RDEPEND}"
97 -PDEPEND="
98 - virtual/rubygems[ruby_targets_ruby20]
99 - >=dev-ruby/json-1.7.7[ruby_targets_ruby20]
100 - >=dev-ruby/rake-0.9.6[ruby_targets_ruby20]
101 - rdoc? ( >=dev-ruby/rdoc-4.0.0[ruby_targets_ruby20] )
102 - xemacs? ( app-xemacs/ruby-modes )"
103 -
104 -src_prepare() {
105 - if use cpu_flags_x86_sse2 ; then
106 - excluded_patches="012_no_forced_sse2.patch"
107 - fi
108 -
109 - EPATCH_EXCLUDE="${excluded_patches}" EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
110 - epatch "${WORKDIR}/patches"
111 -
112 - # We can no longer unbundle all of rake because rubygems now depends
113 - # on this. We leave the actual rake code around to bootstrap
114 - # rubygems, but remove the bits that would cause a file collision.
115 - einfo "Unbundling gems..."
116 - cd "$S"
117 - rm -r \
118 - {bin,lib}/rake lib/rake.rb man/rake.1 \
119 - bin/gem || die "removal failed"
120 -
121 - # Fix a hardcoded lib path in configure script
122 - sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
123 - configure.in || die "sed failed"
124 -
125 - eautoreconf
126 -}
127 -
128 -src_configure() {
129 - local myconf=
130 -
131 - # The Tk module can no longer be built because the module code is no
132 - # longer compatible with newer stable versions.
133 - # https://bugs.gentoo.org/show_bug.cgi?id=500894
134 - local modules="tk"
135 -
136 - # -fomit-frame-pointer makes ruby segfault, see bug #150413.
137 - filter-flags -fomit-frame-pointer
138 - # In many places aliasing rules are broken; play it safe
139 - # as it's risky with newer compilers to leave it as it is.
140 - append-flags -fno-strict-aliasing
141 - # SuperH needs this
142 - use sh && append-flags -mieee
143 -
144 - # Socks support via dante
145 - if use socks5 ; then
146 - # Socks support can't be disabled as long as SOCKS_SERVER is
147 - # set and socks library is present, so need to unset
148 - # SOCKS_SERVER in that case.
149 - unset SOCKS_SERVER
150 - fi
151 -
152 - # Increase GC_MALLOC_LIMIT if set (default is 8000000)
153 - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
154 - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
155 - fi
156 -
157 - # ipv6 hack, bug 168939. Needs --enable-ipv6.
158 - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
159 -
160 - # Determine which modules *not* to build depending in the USE flags.
161 - if ! use readline ; then
162 - modules="${modules},readline"
163 - fi
164 - if ! use berkdb ; then
165 - modules="${modules},dbm"
166 - fi
167 - if ! use gdbm ; then
168 - modules="${modules},gdbm"
169 - fi
170 - if ! use ssl ; then
171 - modules="${modules},openssl"
172 - fi
173 - if ! use ncurses ; then
174 - modules="${modules},curses"
175 - fi
176 -
177 - INSTALL="${EPREFIX}/usr/bin/install -c" econf \
178 - --program-suffix=${MY_SUFFIX} \
179 - --with-soname=ruby${MY_SUFFIX} \
180 - --docdir=${EPREFIX}/usr/share/doc/${P} \
181 - --enable-shared \
182 - --enable-pthread \
183 - --disable-rpath \
184 - --with-out-ext="${modules}" \
185 - $(use_enable socks5 socks) \
186 - $(use_enable doc install-doc) \
187 - --enable-ipv6 \
188 - $(use_enable debug) \
189 - ${myconf} \
190 - --enable-option-checking=no \
191 - || die "econf failed"
192 -}
193 -
194 -src_compile() {
195 - emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
196 -}
197 -
198 -src_test() {
199 - emake -j1 V=1 test || die "make test failed"
200 -
201 - elog "Ruby's make test has been run. Ruby also ships with a make check"
202 - elog "that cannot be run until after ruby has been installed."
203 - elog
204 - if use rubytests; then
205 - elog "You have enabled rubytests, so they will be installed to"
206 - elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
207 - elog "than root, and you must place them into a writeable directory."
208 - elog "Then call: "
209 - elog
210 - elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
211 - else
212 - elog "Enable the rubytests USE flag to install the make check tests"
213 - fi
214 -}
215 -
216 -src_install() {
217 - # Remove the remaining bundled gems. We do this late in the process
218 - # since they are used during the build to e.g. create the
219 - # documentation.
220 - rm -rf ext/json || die
221 -
222 - # Ruby is involved in the install process, we don't want interference here.
223 - unset RUBYOPT
224 -
225 - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
226 -
227 - LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
228 - RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
229 - for d in $(find "${S}/ext" -type d) ; do
230 - RUBYLIB="${RUBYLIB}:$d"
231 - done
232 - export LD_LIBRARY_PATH RUBYLIB
233 -
234 - emake V=1 DESTDIR="${D}" install || die "make install failed"
235 -
236 - # Remove installed rubygems copy
237 - rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
238 - rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
239 - rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
240 -
241 - if use doc; then
242 - make DESTDIR="${D}" install-doc || die "make install-doc failed"
243 - fi
244 -
245 - if use examples; then
246 - insinto /usr/share/doc/${PF}
247 - doins -r sample
248 - fi
249 -
250 - dodoc ChangeLog NEWS doc/NEWS* README* || die
251 -
252 - if use rubytests; then
253 - pushd test
254 - insinto /usr/share/${PN}-${SLOT}/test
255 - doins -r .
256 - popd
257 - fi
258 -}
259 -
260 -pkg_postinst() {
261 - if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
262 - eselect ruby set ruby${MY_SUFFIX}
263 - fi
264 -
265 - elog
266 - elog "To switch between available Ruby profiles, execute as root:"
267 - elog "\teselect ruby set ruby(19|20|...)"
268 - elog
269 -}
270 -
271 -pkg_postrm() {
272 - eselect ruby cleanup
273 -}
274
275 diff --git a/dev-lang/ruby/ruby-2.1.7.ebuild b/dev-lang/ruby/ruby-2.1.7.ebuild
276 deleted file mode 100644
277 index 1a360ae..0000000
278 --- a/dev-lang/ruby/ruby-2.1.7.ebuild
279 +++ /dev/null
280 @@ -1,227 +0,0 @@
281 -# Copyright 1999-2015 Gentoo Foundation
282 -# Distributed under the terms of the GNU General Public License v2
283 -# $Id$
284 -
285 -EAPI=5
286 -
287 -#PATCHSET=1
288 -
289 -inherit autotools eutils flag-o-matic multilib versionator
290 -
291 -RUBYPL=$(get_version_component_range 4)
292 -
293 -MY_P="${PN}-$(get_version_component_range 1-3)"
294 -#MY_P="${PN}-$(get_version_component_range 1-3)-${RUBYPL:-0}"
295 -S=${WORKDIR}/${MY_P}
296 -
297 -SLOT=$(get_version_component_range 1-2)
298 -MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
299 -RUBYVERSION=2.1.0
300 -
301 -if [[ -n ${PATCHSET} ]]; then
302 - if [[ ${PVR} == ${PV} ]]; then
303 - PATCHSET="${PV}-r0.${PATCHSET}"
304 - else
305 - PATCHSET="${PVR}.${PATCHSET}"
306 - fi
307 -else
308 - PATCHSET="${PVR}"
309 -fi
310 -
311 -DESCRIPTION="An object-oriented scripting language"
312 -HOMEPAGE="http://www.ruby-lang.org/"
313 -SRC_URI="mirror://ruby/2.1/${MY_P}.tar.xz
314 - https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
315 -
316 -LICENSE="|| ( Ruby-BSD BSD-2 )"
317 -KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 ~s390 ~sh sparc x86 ~amd64-fbsd ~x86-fbsd"
318 -IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl xemacs ncurses +readline"
319 -
320 -RDEPEND="
321 - berkdb? ( sys-libs/db:= )
322 - gdbm? ( sys-libs/gdbm )
323 - ssl? ( dev-libs/openssl:0 )
324 - socks5? ( >=net-proxy/dante-1.1.13 )
325 - ncurses? ( sys-libs/ncurses:0= )
326 - readline? ( sys-libs/readline:0 )
327 - dev-libs/libyaml
328 - virtual/libffi
329 - sys-libs/zlib
330 - >=app-eselect/eselect-ruby-20131227
331 - !<dev-ruby/rdoc-3.9.4
332 - !<dev-ruby/rubygems-1.8.10-r1"
333 -
334 -DEPEND="${RDEPEND}"
335 -PDEPEND="
336 - virtual/rubygems[ruby_targets_ruby21]
337 - >=dev-ruby/json-1.8.1[ruby_targets_ruby21]
338 - >=dev-ruby/rake-0.9.6[ruby_targets_ruby21]
339 - rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby21] )
340 - xemacs? ( app-xemacs/ruby-modes )"
341 -
342 -src_prepare() {
343 - EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
344 - epatch "${WORKDIR}/patches"
345 -
346 - # We can no longer unbundle all of rake because rubygems now depends
347 - # on this. We leave the actual rake code around to bootstrap
348 - # rubygems, but remove the bits that would cause a file collision.
349 - einfo "Unbundling gems..."
350 - cd "$S"
351 - rm -r \
352 - {bin,lib}/rake lib/rake.rb man/rake.1 \
353 - bin/gem || die "removal failed"
354 -
355 - # Fix a hardcoded lib path in configure script
356 - sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
357 - configure.in || die "sed failed"
358 -
359 - eautoreconf
360 -}
361 -
362 -src_configure() {
363 - local myconf=
364 -
365 - # The Tk module can no longer be built because the module code is no
366 - # longer compatible with newer stable versions.
367 - # https://bugs.gentoo.org/show_bug.cgi?id=500894
368 - local modules="tk"
369 -
370 - # -fomit-frame-pointer makes ruby segfault, see bug #150413.
371 - filter-flags -fomit-frame-pointer
372 - # In many places aliasing rules are broken; play it safe
373 - # as it's risky with newer compilers to leave it as it is.
374 - append-flags -fno-strict-aliasing
375 - # SuperH needs this
376 - use sh && append-flags -mieee
377 -
378 - # Socks support via dante
379 - if use socks5 ; then
380 - # Socks support can't be disabled as long as SOCKS_SERVER is
381 - # set and socks library is present, so need to unset
382 - # SOCKS_SERVER in that case.
383 - unset SOCKS_SERVER
384 - fi
385 -
386 - # Increase GC_MALLOC_LIMIT if set (default is 8000000)
387 - if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
388 - append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
389 - fi
390 -
391 - # ipv6 hack, bug 168939. Needs --enable-ipv6.
392 - use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
393 -
394 - # Determine which modules *not* to build depending in the USE flags.
395 - if ! use readline ; then
396 - modules="${modules},readline"
397 - fi
398 - if ! use berkdb ; then
399 - modules="${modules},dbm"
400 - fi
401 - if ! use gdbm ; then
402 - modules="${modules},gdbm"
403 - fi
404 - if ! use ssl ; then
405 - modules="${modules},openssl"
406 - fi
407 - if ! use ncurses ; then
408 - modules="${modules},curses"
409 - fi
410 -
411 - INSTALL="${EPREFIX}/usr/bin/install -c" econf \
412 - --program-suffix=${MY_SUFFIX} \
413 - --with-soname=ruby${MY_SUFFIX} \
414 - --docdir=${EPREFIX}/usr/share/doc/${P} \
415 - --enable-shared \
416 - --enable-pthread \
417 - --disable-rpath \
418 - --with-out-ext="${modules}" \
419 - $(use_enable socks5 socks) \
420 - $(use_enable doc install-doc) \
421 - --enable-ipv6 \
422 - $(use_enable debug) \
423 - ${myconf} \
424 - --enable-option-checking=no \
425 - || die "econf failed"
426 -}
427 -
428 -src_compile() {
429 - emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
430 -}
431 -
432 -src_test() {
433 - emake -j1 V=1 test || die "make test failed"
434 -
435 - elog "Ruby's make test has been run. Ruby also ships with a make check"
436 - elog "that cannot be run until after ruby has been installed."
437 - elog
438 - if use rubytests; then
439 - elog "You have enabled rubytests, so they will be installed to"
440 - elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
441 - elog "than root, and you must place them into a writeable directory."
442 - elog "Then call: "
443 - elog
444 - elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
445 - else
446 - elog "Enable the rubytests USE flag to install the make check tests"
447 - fi
448 -}
449 -
450 -src_install() {
451 - # Remove the remaining bundled gems. We do this late in the process
452 - # since they are used during the build to e.g. create the
453 - # documentation.
454 - rm -rf ext/json || die
455 -
456 - # Ruby is involved in the install process, we don't want interference here.
457 - unset RUBYOPT
458 -
459 - local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
460 -
461 - LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
462 - RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
463 - for d in $(find "${S}/ext" -type d) ; do
464 - RUBYLIB="${RUBYLIB}:$d"
465 - done
466 - export LD_LIBRARY_PATH RUBYLIB
467 -
468 - emake V=1 DESTDIR="${D}" install || die "make install failed"
469 -
470 - # Remove installed rubygems copy
471 - rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
472 - rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
473 - rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
474 -
475 - if use doc; then
476 - make DESTDIR="${D}" install-doc || die "make install-doc failed"
477 - fi
478 -
479 - if use examples; then
480 - insinto /usr/share/doc/${PF}
481 - doins -r sample
482 - fi
483 -
484 - dodoc ChangeLog NEWS doc/NEWS* README* || die
485 -
486 - if use rubytests; then
487 - pushd test
488 - insinto /usr/share/${PN}-${SLOT}/test
489 - doins -r .
490 - popd
491 - fi
492 -}
493 -
494 -pkg_postinst() {
495 - if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
496 - eselect ruby set ruby${MY_SUFFIX}
497 - fi
498 -
499 - elog
500 - elog "To switch between available Ruby profiles, execute as root:"
501 - elog "\teselect ruby set ruby(19|20|...)"
502 - elog
503 -}
504 -
505 -pkg_postrm() {
506 - eselect ruby cleanup
507 -}