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: Wed, 30 Mar 2016 15:47:23
Message-Id: 1459352834.3af2f26e18503e54b9a16af7387b9c8c1284ef24.graaff@gentoo
1 commit: 3af2f26e18503e54b9a16af7387b9c8c1284ef24
2 Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
3 AuthorDate: Wed Mar 30 15:43:39 2016 +0000
4 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
5 CommitDate: Wed Mar 30 15:47:14 2016 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3af2f26e
7
8 dev-lang/ruby: add 2.1.9
9
10 Package-Manager: portage-2.2.26
11
12 dev-lang/ruby/Manifest | 2 +
13 dev-lang/ruby/ruby-2.1.9.ebuild | 230 ++++++++++++++++++++++++++++++++++++++++
14 2 files changed, 232 insertions(+)
15
16 diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
17 index 551100c..2c5ea82 100644
18 --- a/dev-lang/ruby/Manifest
19 +++ b/dev-lang/ruby/Manifest
20 @@ -2,6 +2,7 @@ DIST ruby-2.0.0-p647.tar.xz 8301008 SHA256 9f793880df1209ea4e5c10ee9d8ef79caa0e7
21 DIST ruby-2.0.0-p648.tar.xz 8303584 SHA256 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 SHA512 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 WHIRLPOOL ef78b838d061b1707219453a70c8b4a503d46e9f95797007555943a837de21f22c0c93039c75172d7df4fe9b5eca38472ee7177f98785cb5993c7e80140a1d27
22 DIST ruby-2.1.7.tar.xz 9371208 SHA256 225c067d9820fe52fcffbfb91d5b5243708a0b666b9929bea466e9379eb40ad7 SHA512 a4f2a3a684517678442b4ad3bda50433634317c910e8c13c844dffe470532bae5fd8d72b3f83c9a36865f303fe0464703e30854b3e55a558a758252b5e594406 WHIRLPOOL 54fae59b754aebbf1736720e042574ed4a0b4f7c1518742f8215bb396bb7416ee7b50df7d27167337e10eef518f1d488a48d064bfcbfac0065aa8313296fe263
23 DIST ruby-2.1.8.tar.xz 9382672 SHA256 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d SHA512 c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392 WHIRLPOOL 542e61ec35a5dacf0ee49daeaf70c2cc3efb605685013eea48208709a4eea6eb83413ff32839dab1d316a60d6d5ebc75811f8085c39b08205c36d815460e7549
24 +DIST ruby-2.1.9.tar.xz 9395648 SHA256 39f203f7498aed2456fb500147fada5adcbf102d89d4f6aca773ebcadd8ea82a SHA512 1f331a8910fd7a9ab9c41bf56aef12041dd413ad49c696f6df2c9a7ec3a3d5cdf383f2a3d30949ea37b8ecb39f50355e526412b36ed4e07b60733d9db4d2bd14 WHIRLPOOL bb2fa158d837f9c278cab93ecb1a8f6a00ddff12c40d1fa5ffb6b55741dc71268fef40fc9f30508dc89b27a05fe9f3b4fbf739ba69ab4e62f669f82a15d26dfa
25 DIST ruby-2.2.2.tar.xz 10463044 SHA256 f033b5d08ab57083e48c1d81bcd7399967578c370b664da90e12a32891424462 SHA512 bd72d0a4c017e2527659f64ef2781bbe8bd540a2302eaa60234a12282fd53c359e04205c56385402c67e81bb9dab3b88de53de82e12bb13e3386c26301043b64 WHIRLPOOL ee9c3a664ac1d67bd9ff4ed8fcc7d4c8e9b6e2f5774c938f876223b22022b498932afc41990890a03b560c65ffe29a039761d18bbeeab46fe13cbfff515bc115
26 DIST ruby-2.2.3.tar.xz 10453204 SHA256 c6ec90e9ed018e6d9a578fc93755d8565839908d5796809e1aecd1798c7ea8a7 SHA512 e3ce3333e8d59f4f3bfc84cf9bbbc6f74272470e12913d299fd1d41fc166dee21921eed1789591f50c3f3b6e5fd38fd1b99855c16aff28bdc4ae8fcc680c71bd WHIRLPOOL 3fae4fc3112f24004f0f043d29b2e624e559fa3d53e6b0479af03df910d210aaeb8274c294dfe1ef0602f63790b4cdc31147d5fd92707e38ea29f01fd07e8839
27 DIST ruby-2.2.4.tar.xz 10464500 SHA256 d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c SHA512 755257eea0cb79f28f1d2dc6e2a5ee4b1954280f51153e5fe90605a875b1d52077660b87e4e04d11552591a1f60a1241e4c70056f073a217b3bad896f64780da WHIRLPOOL 9d3d549dce991d2d594df624bf2f55f4ff9269c35193b190e3fd774b8883facb568f010a3b79927e083cc5bad277281e4c8a9fc3979f609fca50f86775563484
28 @@ -11,6 +12,7 @@ DIST ruby-patches-2.0.0_p648.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e
29 DIST ruby-patches-2.1.7-r1.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
30 DIST ruby-patches-2.1.7.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
31 DIST ruby-patches-2.1.8.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
32 +DIST ruby-patches-2.1.9.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
33 DIST ruby-patches-2.2.2-r1.tar.bz2 3066 SHA256 65342c7cd5146f0d5025932d31e2ed40e1247355d68356e17a06b0ff728fbef1 SHA512 1c578b868db179bca6dd7800528ac23076b1f44519d93b92fafd724d8e5a158512b05cb3d5f7a4f5ada156692978f98cab7dd5b4282701e57c33d50bcda977de WHIRLPOOL 241622b25acdc8b2a7cb912bac2f6e29a4331798ba67507821b3fb295791d7bea8b7933540f2cd47cc7e8477df14be478286d018b7afe9ae121cd8c49c58dc83
34 DIST ruby-patches-2.2.3-r1.tar.bz2 3143 SHA256 45ce438c31c62313f193546a883afe19ccb6dda3276d1378eb5dfd33bd7b8bbe SHA512 e5799b8008276d98f3cd1bd57b1b76a39d052a7c920d84ef245961c2db55e96e7b7081b71aa04843844786cdeee759eb415b46d8e44611d5ff8f658ad12be7bb WHIRLPOOL d9d6dd5562574c2597cbb81b9dbb15c345cad9096e24cc82515fd021882a4e7fa375f37e660b1ce2075ef66bc7582bae4d0c3e819713549dbe7c5c3d4c658ded
35 DIST ruby-patches-2.2.3-r2.tar.bz2 3143 SHA256 45ce438c31c62313f193546a883afe19ccb6dda3276d1378eb5dfd33bd7b8bbe SHA512 e5799b8008276d98f3cd1bd57b1b76a39d052a7c920d84ef245961c2db55e96e7b7081b71aa04843844786cdeee759eb415b46d8e44611d5ff8f658ad12be7bb WHIRLPOOL d9d6dd5562574c2597cbb81b9dbb15c345cad9096e24cc82515fd021882a4e7fa375f37e660b1ce2075ef66bc7582bae4d0c3e819713549dbe7c5c3d4c658ded
36
37 diff --git a/dev-lang/ruby/ruby-2.1.9.ebuild b/dev-lang/ruby/ruby-2.1.9.ebuild
38 new file mode 100644
39 index 0000000..82cc4e6
40 --- /dev/null
41 +++ b/dev-lang/ruby/ruby-2.1.9.ebuild
42 @@ -0,0 +1,230 @@
43 +# Copyright 1999-2015 Gentoo Foundation
44 +# Distributed under the terms of the GNU General Public License v2
45 +# $Id$
46 +
47 +EAPI=5
48 +
49 +#PATCHSET=1
50 +
51 +inherit autotools eutils flag-o-matic multilib versionator
52 +
53 +RUBYPL=$(get_version_component_range 4)
54 +
55 +MY_P="${PN}-$(get_version_component_range 1-3)"
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.1.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.1/${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"
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-20131227
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_ruby21]
99 + >=dev-ruby/json-1.8.1[ruby_targets_ruby21]
100 + >=dev-ruby/rake-0.9.6[ruby_targets_ruby21]
101 + rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby21] )
102 + xemacs? ( app-xemacs/ruby-modes )"
103 +
104 +src_prepare() {
105 + EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
106 + epatch "${WORKDIR}/patches"
107 +
108 + # We can no longer unbundle all of rake because rubygems now depends
109 + # on this. We leave the actual rake code around to bootstrap
110 + # rubygems, but remove the bits that would cause a file collision.
111 + einfo "Unbundling gems..."
112 + cd "$S"
113 + rm -r \
114 + {bin,lib}/rake lib/rake.rb man/rake.1 \
115 + bin/gem || die "removal failed"
116 +
117 + # Fix a hardcoded lib path in configure script
118 + sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
119 + configure.in || die "sed failed"
120 +
121 + eautoreconf
122 +}
123 +
124 +src_configure() {
125 + local myconf=
126 +
127 + # The Tk module can no longer be built because the module code is no
128 + # longer compatible with newer stable versions.
129 + # https://bugs.gentoo.org/show_bug.cgi?id=500894
130 + local modules="tk"
131 +
132 + # -fomit-frame-pointer makes ruby segfault, see bug #150413.
133 + filter-flags -fomit-frame-pointer
134 + # In many places aliasing rules are broken; play it safe
135 + # as it's risky with newer compilers to leave it as it is.
136 + append-flags -fno-strict-aliasing
137 + # SuperH needs this
138 + use sh && append-flags -mieee
139 +
140 + # Socks support via dante
141 + if use socks5 ; then
142 + # Socks support can't be disabled as long as SOCKS_SERVER is
143 + # set and socks library is present, so need to unset
144 + # SOCKS_SERVER in that case.
145 + unset SOCKS_SERVER
146 + fi
147 +
148 + # Increase GC_MALLOC_LIMIT if set (default is 8000000)
149 + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
150 + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
151 + fi
152 +
153 + # ipv6 hack, bug 168939. Needs --enable-ipv6.
154 + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
155 +
156 + # Determine which modules *not* to build depending in the USE flags.
157 + if ! use readline ; then
158 + modules="${modules},readline"
159 + fi
160 + if ! use berkdb ; then
161 + modules="${modules},dbm"
162 + fi
163 + if ! use gdbm ; then
164 + modules="${modules},gdbm"
165 + fi
166 + if ! use ssl ; then
167 + modules="${modules},openssl"
168 + fi
169 + if ! use ncurses ; then
170 + modules="${modules},curses"
171 + fi
172 +
173 + # Provide an empty LIBPATHENV because we disable rpath but we do not
174 + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
175 + # #564272
176 + INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
177 + --program-suffix=${MY_SUFFIX} \
178 + --with-soname=ruby${MY_SUFFIX} \
179 + --docdir=${EPREFIX}/usr/share/doc/${P} \
180 + --enable-shared \
181 + --enable-pthread \
182 + --disable-rpath \
183 + --with-out-ext="${modules}" \
184 + $(use_enable socks5 socks) \
185 + $(use_enable doc install-doc) \
186 + --enable-ipv6 \
187 + $(use_enable debug) \
188 + ${myconf} \
189 + --enable-option-checking=no \
190 + || die "econf failed"
191 +}
192 +
193 +src_compile() {
194 + emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
195 +}
196 +
197 +src_test() {
198 + emake -j1 V=1 test || die "make test failed"
199 +
200 + elog "Ruby's make test has been run. Ruby also ships with a make check"
201 + elog "that cannot be run until after ruby has been installed."
202 + elog
203 + if use rubytests; then
204 + elog "You have enabled rubytests, so they will be installed to"
205 + elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
206 + elog "than root, and you must place them into a writeable directory."
207 + elog "Then call: "
208 + elog
209 + elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
210 + else
211 + elog "Enable the rubytests USE flag to install the make check tests"
212 + fi
213 +}
214 +
215 +src_install() {
216 + # Remove the remaining bundled gems. We do this late in the process
217 + # since they are used during the build to e.g. create the
218 + # documentation.
219 + rm -rf ext/json || die
220 +
221 + # Ruby is involved in the install process, we don't want interference here.
222 + unset RUBYOPT
223 +
224 + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
225 +
226 + LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
227 + RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
228 + for d in $(find "${S}/ext" -type d) ; do
229 + RUBYLIB="${RUBYLIB}:$d"
230 + done
231 + export LD_LIBRARY_PATH RUBYLIB
232 +
233 + emake V=1 DESTDIR="${D}" install || die "make install failed"
234 +
235 + # Remove installed rubygems copy
236 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
237 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
238 + rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
239 +
240 + if use doc; then
241 + make DESTDIR="${D}" install-doc || die "make install-doc failed"
242 + fi
243 +
244 + if use examples; then
245 + insinto /usr/share/doc/${PF}
246 + doins -r sample
247 + fi
248 +
249 + dodoc ChangeLog NEWS doc/NEWS* README* || die
250 +
251 + if use rubytests; then
252 + pushd test
253 + insinto /usr/share/${PN}-${SLOT}/test
254 + doins -r .
255 + popd
256 + fi
257 +}
258 +
259 +pkg_postinst() {
260 + if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
261 + eselect ruby set ruby${MY_SUFFIX}
262 + fi
263 +
264 + elog
265 + elog "To switch between available Ruby profiles, execute as root:"
266 + elog "\teselect ruby set ruby(19|20|...)"
267 + elog
268 +}
269 +
270 +pkg_postrm() {
271 + eselect ruby cleanup
272 +}