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