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: Thu, 17 Dec 2015 08:07:46
Message-Id: 1450339658.5f955b8580d4319f04653265878f330938053119.graaff@gentoo
1 commit: 5f955b8580d4319f04653265878f330938053119
2 Author: Hans de Graaff <graaff <AT> gentoo <DOT> org>
3 AuthorDate: Thu Dec 17 08:07:22 2015 +0000
4 Commit: Hans de Graaff <graaff <AT> gentoo <DOT> org>
5 CommitDate: Thu Dec 17 08:07:38 2015 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5f955b85
7
8 dev-lang/ruby: add 2.0.0_p648, 2.1.8, 2.2.4
9
10 New versions for security bug
11 https://bugs.gentoo.org/show_bug.cgi?id=568502
12
13 Package-Manager: portage-2.2.24
14
15 dev-lang/ruby/Manifest | 6 +
16 dev-lang/ruby/ruby-2.0.0_p648.ebuild | 230 +++++++++++++++++++++++++++++++++
17 dev-lang/ruby/ruby-2.1.8.ebuild | 230 +++++++++++++++++++++++++++++++++
18 dev-lang/ruby/ruby-2.2.4.ebuild | 244 +++++++++++++++++++++++++++++++++++
19 4 files changed, 710 insertions(+)
20
21 diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
22 index f1f3150..0559144 100644
23 --- a/dev-lang/ruby/Manifest
24 +++ b/dev-lang/ruby/Manifest
25 @@ -1,18 +1,24 @@
26 DIST ruby-1.9.3-p551.tar.bz2 10049332 SHA256 b0c5e37e3431d58613a160504b39542ec687d473de1d4da983dabcf3c5de771e SHA512 5ea40f8c40cf116030ffdedbe436c1fdbf9a50b7bb44bc890845c9c2a885c34da711bc1a9e9694788c2f4710f7e6e0adc4410aec1ab18a25a27168f25ac3d68c WHIRLPOOL a4de6b7300e1f1cb22b01b1fbe0a73928baf6e5b1d083e8eb239e7696703e13774fdcb52bbb7f4253ea75b597663c43a8fbea2df7b77ed95f3fd8b2512ff1f1e
27 DIST ruby-2.0.0-p645.tar.xz 8295192 SHA256 875be4f57bdbb2d2be0d64bfd8fc5022f004d55261ead8fd0cdc2e9e415e9f7b SHA512 440f8ea50f51c53f90e42a8dfd7cd41f806b290d5c12c09f84d9159ab9c95e19b036cd8a5dc788844da501b9fcd1fa8ad8352ef7417998debc1b43a61a4ea4dc WHIRLPOOL 6201a39976f793dd3702ba580aafb881ba6e9f5cbc9d544bdddf508ca86dc14fc2970451a386ba495d16f2f68724197ef089ba02e7d1a9423870a0fa5c39cbc8
28 DIST ruby-2.0.0-p647.tar.xz 8301008 SHA256 9f793880df1209ea4e5c10ee9d8ef79caa0e73ee769f745f1c191505255e2847 SHA512 38fd2ad631588a0e8adf9a7ae01cb5274eca4fd794c5ed7030e5fae9e53cd8920eaac9d388c73b844a154c7eb56fa6fed8e2ee5df5617efd624b6a568ea4953b WHIRLPOOL c8ec19ed900e6578f1f6e08d1e2a5c015cfa6e81379fb0437a1167ffb8bc56561d02b4b5b35a674039f7adcd2c43b222b89e139cb0ea702e8bfec886872c8e6a
29 +DIST ruby-2.0.0-p648.tar.xz 8303584 SHA256 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 SHA512 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 WHIRLPOOL ef78b838d061b1707219453a70c8b4a503d46e9f95797007555943a837de21f22c0c93039c75172d7df4fe9b5eca38472ee7177f98785cb5993c7e80140a1d27
30 DIST ruby-2.1.6.tar.xz 9381724 SHA256 137b27bffefd795fd97c288fff539d135f42320f8a1afddde99a34e1fbe7314e SHA512 0cf91fe7ae53a3f9c034fa5996eeed91889b942b8e595e84be4e244adc30d79aa3f540cc6f657982715069dfb14af20786557689d9a8fe4bbfc66280e84dd6cf WHIRLPOOL 1881ba54cf751e558f3a321041ed987c4433f64e786078de35227126afc801fabdcff74cf7d882fd07a70988c8a28c95269fd0ed4ccaebb3627931320c697e60
31 DIST ruby-2.1.7.tar.xz 9371208 SHA256 225c067d9820fe52fcffbfb91d5b5243708a0b666b9929bea466e9379eb40ad7 SHA512 a4f2a3a684517678442b4ad3bda50433634317c910e8c13c844dffe470532bae5fd8d72b3f83c9a36865f303fe0464703e30854b3e55a558a758252b5e594406 WHIRLPOOL 54fae59b754aebbf1736720e042574ed4a0b4f7c1518742f8215bb396bb7416ee7b50df7d27167337e10eef518f1d488a48d064bfcbfac0065aa8313296fe263
32 +DIST ruby-2.1.8.tar.xz 9382672 SHA256 94eeae3b3e3ac93cfd205e1aaef4c5325227b7656cbb2fc1ee217618145dd19d SHA512 c712ee69cb1d41ad8420177b9564e451ab795e4903f1edc20c14aa189b8e38c54c5119d913204d13a5f8fa424f2ec43bfad04c77b313ea4533e23a9b1d161392 WHIRLPOOL 542e61ec35a5dacf0ee49daeaf70c2cc3efb605685013eea48208709a4eea6eb83413ff32839dab1d316a60d6d5ebc75811f8085c39b08205c36d815460e7549
33 DIST ruby-2.2.2.tar.xz 10463044 SHA256 f033b5d08ab57083e48c1d81bcd7399967578c370b664da90e12a32891424462 SHA512 bd72d0a4c017e2527659f64ef2781bbe8bd540a2302eaa60234a12282fd53c359e04205c56385402c67e81bb9dab3b88de53de82e12bb13e3386c26301043b64 WHIRLPOOL ee9c3a664ac1d67bd9ff4ed8fcc7d4c8e9b6e2f5774c938f876223b22022b498932afc41990890a03b560c65ffe29a039761d18bbeeab46fe13cbfff515bc115
34 DIST ruby-2.2.3.tar.xz 10453204 SHA256 c6ec90e9ed018e6d9a578fc93755d8565839908d5796809e1aecd1798c7ea8a7 SHA512 e3ce3333e8d59f4f3bfc84cf9bbbc6f74272470e12913d299fd1d41fc166dee21921eed1789591f50c3f3b6e5fd38fd1b99855c16aff28bdc4ae8fcc680c71bd WHIRLPOOL 3fae4fc3112f24004f0f043d29b2e624e559fa3d53e6b0479af03df910d210aaeb8274c294dfe1ef0602f63790b4cdc31147d5fd92707e38ea29f01fd07e8839
35 +DIST ruby-2.2.4.tar.xz 10464500 SHA256 d28bff4641e382681c58072ddc244d025ac47ff71dd9426a92fcfc3830d1773c SHA512 755257eea0cb79f28f1d2dc6e2a5ee4b1954280f51153e5fe90605a875b1d52077660b87e4e04d11552591a1f60a1241e4c70056f073a217b3bad896f64780da WHIRLPOOL 9d3d549dce991d2d594df624bf2f55f4ff9269c35193b190e3fd774b8883facb568f010a3b79927e083cc5bad277281e4c8a9fc3979f609fca50f86775563484
36 DIST ruby-patches-1.9.3_p551-r1.tar.bz2 3685 SHA256 362d94b77c3408d200c42855868ebb5ddbee287d66bbed8e269255f9cb63418a SHA512 646a1979c1b879ef46cb195204bdcea83215f6407331f92d8caed910e03d1f426bfb203629f4bea307740742757877edae22bf9978b55cbda03921a0c25b8409 WHIRLPOOL 3001b1c6189a882a45125d04b6264e22e0bf2b773c249bf00c2cfc98dec3392ae422913d278aae289767db0aaf8782e1a7dd44e94965aa02893833d5737ad494
37 DIST ruby-patches-2.0.0_p645.tar.bz2 2947 SHA256 dc173fe94af215fd2c1823f46140e4f11892dec59ce55b10ffad26b622bb6e4e SHA512 423a4fddfc8d7fd4f5b041989da343bc96ce0c3f22a448cab8cec47d4c458f4deeb83b167a0a3ae71d3be57df9b41151d1cafadd191bd3d3e9b08b32732e36cd WHIRLPOOL 9c728e95cf01abdb48afc2ff008dc73d341096b253c664297b6780b32821c1ec406c388ce5860b5dd2ce2de862fb80b2ae45d03750045aaf13c371743f97c92e
38 DIST ruby-patches-2.0.0_p647-r1.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e2b9a4a9cb742ffd01531753bae07ab6b8 SHA512 40d07275a391df3e0a7a0c2705913c8120a548e223032dc39993f8f873c8d0639646cf728dc95f1400352a13766623ac6d69a1b1ff03183df6fabf32946dd7a6 WHIRLPOOL ed7ea6b1c1fd3570ea85b885f7455d8273cff2a9db2540c9e89faca867bd5eed2b4de52c7d21a96bb33ae0beedce113c68bb6c8cee4688650ff5169bd9c265fd
39 DIST ruby-patches-2.0.0_p647.tar.bz2 2947 SHA256 dc173fe94af215fd2c1823f46140e4f11892dec59ce55b10ffad26b622bb6e4e SHA512 423a4fddfc8d7fd4f5b041989da343bc96ce0c3f22a448cab8cec47d4c458f4deeb83b167a0a3ae71d3be57df9b41151d1cafadd191bd3d3e9b08b32732e36cd WHIRLPOOL 9c728e95cf01abdb48afc2ff008dc73d341096b253c664297b6780b32821c1ec406c388ce5860b5dd2ce2de862fb80b2ae45d03750045aaf13c371743f97c92e
40 +DIST ruby-patches-2.0.0_p648.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e2b9a4a9cb742ffd01531753bae07ab6b8 SHA512 40d07275a391df3e0a7a0c2705913c8120a548e223032dc39993f8f873c8d0639646cf728dc95f1400352a13766623ac6d69a1b1ff03183df6fabf32946dd7a6 WHIRLPOOL ed7ea6b1c1fd3570ea85b885f7455d8273cff2a9db2540c9e89faca867bd5eed2b4de52c7d21a96bb33ae0beedce113c68bb6c8cee4688650ff5169bd9c265fd
41 DIST ruby-patches-2.1.6-r1.tar.bz2 2348 SHA256 2c158373217a719f2961c1f2cf2f3494eb43c413dc41ba7f9c1d88c60baca7f7 SHA512 01367d463a3aa72261742ae468d96ca1fb06a2d6b2a7a0cc416e449a7ae602d4478fb2394390636725424f252fa95c5db7d2c8116dc0b1e4477d8d641961980f WHIRLPOOL b39e8b9bdd8d05958b3b4c5884bfdd65c99b9aee2470a48ca748cbf336948bf0bb9f834ce3fec5e9365abaf385de760012f67dec6db257d7cbeff04ce0c5c7fb
42 DIST ruby-patches-2.1.7-r1.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
43 DIST ruby-patches-2.1.7.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
44 +DIST ruby-patches-2.1.8.tar.bz2 1931 SHA256 7e02c1b6a6352693bfd5828c9d1a7633a52baa57d8770df182ed0d8b450a3341 SHA512 85928207db4f76e58925e50d39d73db2d521674385ce3232828377e7d7bb4252aafb9f93d6045d4c159bf094b472af61ef9307203db313bf28918fe35e0f3a21 WHIRLPOOL 17a698b0a09be15f444ea34b33e9aa1d029fbd572c565072a92480bf7b6b21f1b6b88b0da3183a486bae30e7e65f3172cd72b7336be1dc5974b62bd8e2b9ef7a
45 DIST ruby-patches-2.2.2-r1.tar.bz2 3066 SHA256 65342c7cd5146f0d5025932d31e2ed40e1247355d68356e17a06b0ff728fbef1 SHA512 1c578b868db179bca6dd7800528ac23076b1f44519d93b92fafd724d8e5a158512b05cb3d5f7a4f5ada156692978f98cab7dd5b4282701e57c33d50bcda977de WHIRLPOOL 241622b25acdc8b2a7cb912bac2f6e29a4331798ba67507821b3fb295791d7bea8b7933540f2cd47cc7e8477df14be478286d018b7afe9ae121cd8c49c58dc83
46 DIST ruby-patches-2.2.3-r1.tar.bz2 3143 SHA256 45ce438c31c62313f193546a883afe19ccb6dda3276d1378eb5dfd33bd7b8bbe SHA512 e5799b8008276d98f3cd1bd57b1b76a39d052a7c920d84ef245961c2db55e96e7b7081b71aa04843844786cdeee759eb415b46d8e44611d5ff8f658ad12be7bb WHIRLPOOL d9d6dd5562574c2597cbb81b9dbb15c345cad9096e24cc82515fd021882a4e7fa375f37e660b1ce2075ef66bc7582bae4d0c3e819713549dbe7c5c3d4c658ded
47 DIST ruby-patches-2.2.3-r2.tar.bz2 3143 SHA256 45ce438c31c62313f193546a883afe19ccb6dda3276d1378eb5dfd33bd7b8bbe SHA512 e5799b8008276d98f3cd1bd57b1b76a39d052a7c920d84ef245961c2db55e96e7b7081b71aa04843844786cdeee759eb415b46d8e44611d5ff8f658ad12be7bb WHIRLPOOL d9d6dd5562574c2597cbb81b9dbb15c345cad9096e24cc82515fd021882a4e7fa375f37e660b1ce2075ef66bc7582bae4d0c3e819713549dbe7c5c3d4c658ded
48 DIST ruby-patches-2.2.3.tar.bz2 2263 SHA256 a08bfaf193adf8e92e7937c9e8db3ec4a880e80dd9c99a5621a00a9233d4d2cd SHA512 dafbb40254d9703a7ed66314f6d9d0dd4c88485a5cef28ff1e3c7020c28cfaac1561ecfb72a465811b59213dbaf9aece6b52240ae895e47f5be63d7f88bc5543 WHIRLPOOL 54b91871b991d38cd4c573884389aaa4ee81afc14fd918e968f0b82df95264930d71199741be820c816998ca9134c496a028e13d00b93cae3c870981f28c2160
49 +DIST ruby-patches-2.2.4.tar.bz2 3143 SHA256 45ce438c31c62313f193546a883afe19ccb6dda3276d1378eb5dfd33bd7b8bbe SHA512 e5799b8008276d98f3cd1bd57b1b76a39d052a7c920d84ef245961c2db55e96e7b7081b71aa04843844786cdeee759eb415b46d8e44611d5ff8f658ad12be7bb WHIRLPOOL d9d6dd5562574c2597cbb81b9dbb15c345cad9096e24cc82515fd021882a4e7fa375f37e660b1ce2075ef66bc7582bae4d0c3e819713549dbe7c5c3d4c658ded
50
51 diff --git a/dev-lang/ruby/ruby-2.0.0_p648.ebuild b/dev-lang/ruby/ruby-2.0.0_p648.ebuild
52 new file mode 100644
53 index 0000000..db41ee1
54 --- /dev/null
55 +++ b/dev-lang/ruby/ruby-2.0.0_p648.ebuild
56 @@ -0,0 +1,230 @@
57 +# Copyright 1999-2015 Gentoo Foundation
58 +# Distributed under the terms of the GNU General Public License v2
59 +# $Id$
60 +
61 +EAPI=5
62 +
63 +#PATCHSET=1
64 +
65 +inherit autotools eutils flag-o-matic multilib versionator
66 +
67 +RUBYPL=$(get_version_component_range 4)
68 +
69 +MY_P="${PN}-$(get_version_component_range 1-3)-${RUBYPL:-0}"
70 +S=${WORKDIR}/${MY_P}
71 +
72 +SLOT=$(get_version_component_range 1-2)
73 +MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
74 +RUBYVERSION=2.0.0
75 +
76 +if [[ -n ${PATCHSET} ]]; then
77 + if [[ ${PVR} == ${PV} ]]; then
78 + PATCHSET="${PV}-r0.${PATCHSET}"
79 + else
80 + PATCHSET="${PVR}.${PATCHSET}"
81 + fi
82 +else
83 + PATCHSET="${PVR}"
84 +fi
85 +
86 +DESCRIPTION="An object-oriented scripting language"
87 +HOMEPAGE="http://www.ruby-lang.org/"
88 +SRC_URI="mirror://ruby/2.0/${MY_P}.tar.xz
89 + https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
90 +
91 +LICENSE="|| ( Ruby-BSD BSD-2 )"
92 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
93 +IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl xemacs ncurses +readline cpu_flags_x86_sse2"
94 +
95 +RDEPEND="
96 + berkdb? ( sys-libs/db:= )
97 + gdbm? ( sys-libs/gdbm )
98 + ssl? ( dev-libs/openssl:0 )
99 + socks5? ( >=net-proxy/dante-1.1.13 )
100 + ncurses? ( sys-libs/ncurses:0= )
101 + readline? ( sys-libs/readline:0 )
102 + dev-libs/libyaml
103 + virtual/libffi
104 + sys-libs/zlib
105 + >=app-eselect/eselect-ruby-20100402
106 + !<dev-ruby/rdoc-3.9.4
107 + !<dev-ruby/rubygems-1.8.10-r1"
108 +
109 +DEPEND="${RDEPEND}"
110 +PDEPEND="
111 + virtual/rubygems[ruby_targets_ruby20]
112 + >=dev-ruby/json-1.7.7[ruby_targets_ruby20]
113 + >=dev-ruby/rake-0.9.6[ruby_targets_ruby20]
114 + rdoc? ( >=dev-ruby/rdoc-4.0.0[ruby_targets_ruby20] )
115 + xemacs? ( app-xemacs/ruby-modes )"
116 +
117 +src_prepare() {
118 + if use cpu_flags_x86_sse2 ; then
119 + excluded_patches="012_no_forced_sse2.patch"
120 + fi
121 +
122 + EPATCH_EXCLUDE="${excluded_patches}" EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
123 + epatch "${WORKDIR}/patches"
124 +
125 + # We can no longer unbundle all of rake because rubygems now depends
126 + # on this. We leave the actual rake code around to bootstrap
127 + # rubygems, but remove the bits that would cause a file collision.
128 + einfo "Unbundling gems..."
129 + cd "$S"
130 + rm -r \
131 + {bin,lib}/rake lib/rake.rb man/rake.1 \
132 + bin/gem || die "removal failed"
133 +
134 + # Fix a hardcoded lib path in configure script
135 + sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
136 + configure.in || die "sed failed"
137 +
138 + eautoreconf
139 +}
140 +
141 +src_configure() {
142 + local myconf=
143 +
144 + # The Tk module can no longer be built because the module code is no
145 + # longer compatible with newer stable versions.
146 + # https://bugs.gentoo.org/show_bug.cgi?id=500894
147 + local modules="tk"
148 +
149 + # -fomit-frame-pointer makes ruby segfault, see bug #150413.
150 + filter-flags -fomit-frame-pointer
151 + # In many places aliasing rules are broken; play it safe
152 + # as it's risky with newer compilers to leave it as it is.
153 + append-flags -fno-strict-aliasing
154 + # SuperH needs this
155 + use sh && append-flags -mieee
156 +
157 + # Socks support via dante
158 + if use socks5 ; then
159 + # Socks support can't be disabled as long as SOCKS_SERVER is
160 + # set and socks library is present, so need to unset
161 + # SOCKS_SERVER in that case.
162 + unset SOCKS_SERVER
163 + fi
164 +
165 + # Increase GC_MALLOC_LIMIT if set (default is 8000000)
166 + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
167 + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
168 + fi
169 +
170 + # ipv6 hack, bug 168939. Needs --enable-ipv6.
171 + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
172 +
173 + # Determine which modules *not* to build depending in the USE flags.
174 + if ! use readline ; then
175 + modules="${modules},readline"
176 + fi
177 + if ! use berkdb ; then
178 + modules="${modules},dbm"
179 + fi
180 + if ! use gdbm ; then
181 + modules="${modules},gdbm"
182 + fi
183 + if ! use ssl ; then
184 + modules="${modules},openssl"
185 + fi
186 + if ! use ncurses ; then
187 + modules="${modules},curses"
188 + fi
189 +
190 + INSTALL="${EPREFIX}/usr/bin/install -c" econf \
191 + --program-suffix=${MY_SUFFIX} \
192 + --with-soname=ruby${MY_SUFFIX} \
193 + --docdir=${EPREFIX}/usr/share/doc/${P} \
194 + --enable-shared \
195 + --enable-pthread \
196 + --disable-rpath \
197 + --with-out-ext="${modules}" \
198 + $(use_enable socks5 socks) \
199 + $(use_enable doc install-doc) \
200 + --enable-ipv6 \
201 + $(use_enable debug) \
202 + ${myconf} \
203 + --enable-option-checking=no \
204 + || die "econf failed"
205 +}
206 +
207 +src_compile() {
208 + emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
209 +}
210 +
211 +src_test() {
212 + emake -j1 V=1 test || die "make test failed"
213 +
214 + elog "Ruby's make test has been run. Ruby also ships with a make check"
215 + elog "that cannot be run until after ruby has been installed."
216 + elog
217 + if use rubytests; then
218 + elog "You have enabled rubytests, so they will be installed to"
219 + elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
220 + elog "than root, and you must place them into a writeable directory."
221 + elog "Then call: "
222 + elog
223 + elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
224 + else
225 + elog "Enable the rubytests USE flag to install the make check tests"
226 + fi
227 +}
228 +
229 +src_install() {
230 + # Remove the remaining bundled gems. We do this late in the process
231 + # since they are used during the build to e.g. create the
232 + # documentation.
233 + rm -rf ext/json || die
234 +
235 + # Ruby is involved in the install process, we don't want interference here.
236 + unset RUBYOPT
237 +
238 + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
239 +
240 + LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
241 + RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
242 + for d in $(find "${S}/ext" -type d) ; do
243 + RUBYLIB="${RUBYLIB}:$d"
244 + done
245 + export LD_LIBRARY_PATH RUBYLIB
246 +
247 + emake V=1 DESTDIR="${D}" install || die "make install failed"
248 +
249 + # Remove installed rubygems copy
250 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
251 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
252 + rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
253 +
254 + if use doc; then
255 + make DESTDIR="${D}" install-doc || die "make install-doc failed"
256 + fi
257 +
258 + if use examples; then
259 + insinto /usr/share/doc/${PF}
260 + doins -r sample
261 + fi
262 +
263 + dodoc ChangeLog NEWS doc/NEWS* README* || die
264 +
265 + if use rubytests; then
266 + pushd test
267 + insinto /usr/share/${PN}-${SLOT}/test
268 + doins -r .
269 + popd
270 + fi
271 +}
272 +
273 +pkg_postinst() {
274 + if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
275 + eselect ruby set ruby${MY_SUFFIX}
276 + fi
277 +
278 + elog
279 + elog "To switch between available Ruby profiles, execute as root:"
280 + elog "\teselect ruby set ruby(19|20|...)"
281 + elog
282 +}
283 +
284 +pkg_postrm() {
285 + eselect ruby cleanup
286 +}
287
288 diff --git a/dev-lang/ruby/ruby-2.1.8.ebuild b/dev-lang/ruby/ruby-2.1.8.ebuild
289 new file mode 100644
290 index 0000000..82cc4e6
291 --- /dev/null
292 +++ b/dev-lang/ruby/ruby-2.1.8.ebuild
293 @@ -0,0 +1,230 @@
294 +# Copyright 1999-2015 Gentoo Foundation
295 +# Distributed under the terms of the GNU General Public License v2
296 +# $Id$
297 +
298 +EAPI=5
299 +
300 +#PATCHSET=1
301 +
302 +inherit autotools eutils flag-o-matic multilib versionator
303 +
304 +RUBYPL=$(get_version_component_range 4)
305 +
306 +MY_P="${PN}-$(get_version_component_range 1-3)"
307 +#MY_P="${PN}-$(get_version_component_range 1-3)-${RUBYPL:-0}"
308 +S=${WORKDIR}/${MY_P}
309 +
310 +SLOT=$(get_version_component_range 1-2)
311 +MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
312 +RUBYVERSION=2.1.0
313 +
314 +if [[ -n ${PATCHSET} ]]; then
315 + if [[ ${PVR} == ${PV} ]]; then
316 + PATCHSET="${PV}-r0.${PATCHSET}"
317 + else
318 + PATCHSET="${PVR}.${PATCHSET}"
319 + fi
320 +else
321 + PATCHSET="${PVR}"
322 +fi
323 +
324 +DESCRIPTION="An object-oriented scripting language"
325 +HOMEPAGE="http://www.ruby-lang.org/"
326 +SRC_URI="mirror://ruby/2.1/${MY_P}.tar.xz
327 + https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
328 +
329 +LICENSE="|| ( Ruby-BSD BSD-2 )"
330 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
331 +IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl xemacs ncurses +readline"
332 +
333 +RDEPEND="
334 + berkdb? ( sys-libs/db:= )
335 + gdbm? ( sys-libs/gdbm )
336 + ssl? ( dev-libs/openssl:0 )
337 + socks5? ( >=net-proxy/dante-1.1.13 )
338 + ncurses? ( sys-libs/ncurses:0= )
339 + readline? ( sys-libs/readline:0 )
340 + dev-libs/libyaml
341 + virtual/libffi
342 + sys-libs/zlib
343 + >=app-eselect/eselect-ruby-20131227
344 + !<dev-ruby/rdoc-3.9.4
345 + !<dev-ruby/rubygems-1.8.10-r1"
346 +
347 +DEPEND="${RDEPEND}"
348 +PDEPEND="
349 + virtual/rubygems[ruby_targets_ruby21]
350 + >=dev-ruby/json-1.8.1[ruby_targets_ruby21]
351 + >=dev-ruby/rake-0.9.6[ruby_targets_ruby21]
352 + rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby21] )
353 + xemacs? ( app-xemacs/ruby-modes )"
354 +
355 +src_prepare() {
356 + EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
357 + epatch "${WORKDIR}/patches"
358 +
359 + # We can no longer unbundle all of rake because rubygems now depends
360 + # on this. We leave the actual rake code around to bootstrap
361 + # rubygems, but remove the bits that would cause a file collision.
362 + einfo "Unbundling gems..."
363 + cd "$S"
364 + rm -r \
365 + {bin,lib}/rake lib/rake.rb man/rake.1 \
366 + bin/gem || die "removal failed"
367 +
368 + # Fix a hardcoded lib path in configure script
369 + sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
370 + configure.in || die "sed failed"
371 +
372 + eautoreconf
373 +}
374 +
375 +src_configure() {
376 + local myconf=
377 +
378 + # The Tk module can no longer be built because the module code is no
379 + # longer compatible with newer stable versions.
380 + # https://bugs.gentoo.org/show_bug.cgi?id=500894
381 + local modules="tk"
382 +
383 + # -fomit-frame-pointer makes ruby segfault, see bug #150413.
384 + filter-flags -fomit-frame-pointer
385 + # In many places aliasing rules are broken; play it safe
386 + # as it's risky with newer compilers to leave it as it is.
387 + append-flags -fno-strict-aliasing
388 + # SuperH needs this
389 + use sh && append-flags -mieee
390 +
391 + # Socks support via dante
392 + if use socks5 ; then
393 + # Socks support can't be disabled as long as SOCKS_SERVER is
394 + # set and socks library is present, so need to unset
395 + # SOCKS_SERVER in that case.
396 + unset SOCKS_SERVER
397 + fi
398 +
399 + # Increase GC_MALLOC_LIMIT if set (default is 8000000)
400 + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
401 + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
402 + fi
403 +
404 + # ipv6 hack, bug 168939. Needs --enable-ipv6.
405 + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
406 +
407 + # Determine which modules *not* to build depending in the USE flags.
408 + if ! use readline ; then
409 + modules="${modules},readline"
410 + fi
411 + if ! use berkdb ; then
412 + modules="${modules},dbm"
413 + fi
414 + if ! use gdbm ; then
415 + modules="${modules},gdbm"
416 + fi
417 + if ! use ssl ; then
418 + modules="${modules},openssl"
419 + fi
420 + if ! use ncurses ; then
421 + modules="${modules},curses"
422 + fi
423 +
424 + # Provide an empty LIBPATHENV because we disable rpath but we do not
425 + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
426 + # #564272
427 + INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
428 + --program-suffix=${MY_SUFFIX} \
429 + --with-soname=ruby${MY_SUFFIX} \
430 + --docdir=${EPREFIX}/usr/share/doc/${P} \
431 + --enable-shared \
432 + --enable-pthread \
433 + --disable-rpath \
434 + --with-out-ext="${modules}" \
435 + $(use_enable socks5 socks) \
436 + $(use_enable doc install-doc) \
437 + --enable-ipv6 \
438 + $(use_enable debug) \
439 + ${myconf} \
440 + --enable-option-checking=no \
441 + || die "econf failed"
442 +}
443 +
444 +src_compile() {
445 + emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
446 +}
447 +
448 +src_test() {
449 + emake -j1 V=1 test || die "make test failed"
450 +
451 + elog "Ruby's make test has been run. Ruby also ships with a make check"
452 + elog "that cannot be run until after ruby has been installed."
453 + elog
454 + if use rubytests; then
455 + elog "You have enabled rubytests, so they will be installed to"
456 + elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
457 + elog "than root, and you must place them into a writeable directory."
458 + elog "Then call: "
459 + elog
460 + elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
461 + else
462 + elog "Enable the rubytests USE flag to install the make check tests"
463 + fi
464 +}
465 +
466 +src_install() {
467 + # Remove the remaining bundled gems. We do this late in the process
468 + # since they are used during the build to e.g. create the
469 + # documentation.
470 + rm -rf ext/json || die
471 +
472 + # Ruby is involved in the install process, we don't want interference here.
473 + unset RUBYOPT
474 +
475 + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
476 +
477 + LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
478 + RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
479 + for d in $(find "${S}/ext" -type d) ; do
480 + RUBYLIB="${RUBYLIB}:$d"
481 + done
482 + export LD_LIBRARY_PATH RUBYLIB
483 +
484 + emake V=1 DESTDIR="${D}" install || die "make install failed"
485 +
486 + # Remove installed rubygems copy
487 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
488 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
489 + rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
490 +
491 + if use doc; then
492 + make DESTDIR="${D}" install-doc || die "make install-doc failed"
493 + fi
494 +
495 + if use examples; then
496 + insinto /usr/share/doc/${PF}
497 + doins -r sample
498 + fi
499 +
500 + dodoc ChangeLog NEWS doc/NEWS* README* || die
501 +
502 + if use rubytests; then
503 + pushd test
504 + insinto /usr/share/${PN}-${SLOT}/test
505 + doins -r .
506 + popd
507 + fi
508 +}
509 +
510 +pkg_postinst() {
511 + if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
512 + eselect ruby set ruby${MY_SUFFIX}
513 + fi
514 +
515 + elog
516 + elog "To switch between available Ruby profiles, execute as root:"
517 + elog "\teselect ruby set ruby(19|20|...)"
518 + elog
519 +}
520 +
521 +pkg_postrm() {
522 + eselect ruby cleanup
523 +}
524
525 diff --git a/dev-lang/ruby/ruby-2.2.4.ebuild b/dev-lang/ruby/ruby-2.2.4.ebuild
526 new file mode 100644
527 index 0000000..16c694b
528 --- /dev/null
529 +++ b/dev-lang/ruby/ruby-2.2.4.ebuild
530 @@ -0,0 +1,244 @@
531 +# Copyright 1999-2015 Gentoo Foundation
532 +# Distributed under the terms of the GNU General Public License v2
533 +# $Id$
534 +
535 +EAPI=5
536 +
537 +#PATCHSET=1
538 +
539 +inherit autotools eutils flag-o-matic multilib versionator
540 +
541 +MY_P="${PN}-$(get_version_component_range 1-3)"
542 +S=${WORKDIR}/${MY_P}
543 +
544 +SLOT=$(get_version_component_range 1-2)
545 +MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
546 +RUBYVERSION=2.2.0
547 +
548 +if [[ -n ${PATCHSET} ]]; then
549 + if [[ ${PVR} == ${PV} ]]; then
550 + PATCHSET="${PV}-r0.${PATCHSET}"
551 + else
552 + PATCHSET="${PVR}.${PATCHSET}"
553 + fi
554 +else
555 + PATCHSET="${PVR}"
556 +fi
557 +
558 +DESCRIPTION="An object-oriented scripting language"
559 +HOMEPAGE="http://www.ruby-lang.org/"
560 +SRC_URI="mirror://ruby/2.2/${MY_P}.tar.xz
561 + https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
562 +
563 +LICENSE="|| ( Ruby-BSD BSD-2 )"
564 +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
565 +IUSE="berkdb debug doc examples gdbm ipv6 jemalloc libressl +rdoc rubytests socks5 ssl xemacs ncurses +readline"
566 +
567 +RDEPEND="
568 + berkdb? ( sys-libs/db:= )
569 + gdbm? ( sys-libs/gdbm )
570 + jemalloc? ( dev-libs/jemalloc )
571 + ssl? (
572 + !libressl? ( dev-libs/openssl:0 )
573 + libressl? ( dev-libs/libressl )
574 + )
575 + socks5? ( >=net-proxy/dante-1.1.13 )
576 + ncurses? ( sys-libs/ncurses:0= )
577 + readline? ( sys-libs/readline:0 )
578 + dev-libs/libyaml
579 + virtual/libffi
580 + sys-libs/zlib
581 + >=app-eselect/eselect-ruby-20141227
582 + !<dev-ruby/rdoc-3.9.4
583 + !<dev-ruby/rubygems-1.8.10-r1"
584 +
585 +DEPEND="${RDEPEND}"
586 +
587 +BUNDLED_GEMS="
588 + >=dev-ruby/minitest-5.4.3[ruby_targets_ruby22]
589 + >=dev-ruby/power_assert-0.2.2[ruby_targets_ruby22]
590 + >=dev-ruby/test-unit-3.0.8[ruby_targets_ruby22]
591 +"
592 +
593 +PDEPEND="
594 + ${BUNDLED_GEMS}
595 + virtual/rubygems[ruby_targets_ruby22]
596 + >=dev-ruby/json-1.8.1[ruby_targets_ruby22]
597 + >=dev-ruby/rake-0.9.6[ruby_targets_ruby22]
598 + rdoc? ( >=dev-ruby/rdoc-4.0.1[ruby_targets_ruby22] )
599 + xemacs? ( app-xemacs/ruby-modes )"
600 +
601 +src_prepare() {
602 + EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
603 + epatch "${WORKDIR}/patches"
604 +
605 + # We can no longer unbundle all of rake because rubygems now depends
606 + # on this. We leave the actual rake code around to bootstrap
607 + # rubygems, but remove the bits that would cause a file collision.
608 + einfo "Unbundling gems..."
609 + cd "$S"
610 + rm -r \
611 + {bin,lib}/rake lib/rake.rb man/rake.1 \
612 + bin/gem || die "removal failed"
613 + # Remove bundled gems that we will install via PDEPEND, bug
614 + # 539700. Use explicit version numbers to ensure rm fails when they
615 + # change so we can update dependencies accordingly.
616 + rm gems/{minitest-5.4.3,power_assert-0.2.2,test-unit-3.0.8}.gem || die
617 +
618 + # Fix a hardcoded lib path in configure script
619 + sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
620 + configure.in || die "sed failed"
621 +
622 + eautoreconf
623 +}
624 +
625 +src_configure() {
626 + local myconf=
627 +
628 + # The Tk module can no longer be built because the module code is no
629 + # longer compatible with newer stable versions.
630 + # https://bugs.gentoo.org/show_bug.cgi?id=500894
631 + local modules="tk"
632 +
633 + # -fomit-frame-pointer makes ruby segfault, see bug #150413.
634 + filter-flags -fomit-frame-pointer
635 + # In many places aliasing rules are broken; play it safe
636 + # as it's risky with newer compilers to leave it as it is.
637 + append-flags -fno-strict-aliasing
638 + # SuperH needs this
639 + use sh && append-flags -mieee
640 +
641 + # Socks support via dante
642 + if use socks5 ; then
643 + # Socks support can't be disabled as long as SOCKS_SERVER is
644 + # set and socks library is present, so need to unset
645 + # SOCKS_SERVER in that case.
646 + unset SOCKS_SERVER
647 + fi
648 +
649 + # Increase GC_MALLOC_LIMIT if set (default is 8000000)
650 + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
651 + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
652 + fi
653 +
654 + # ipv6 hack, bug 168939. Needs --enable-ipv6.
655 + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
656 +
657 + # Determine which modules *not* to build depending in the USE flags.
658 + if ! use readline ; then
659 + modules="${modules},readline"
660 + fi
661 + if ! use berkdb ; then
662 + modules="${modules},dbm"
663 + fi
664 + if ! use gdbm ; then
665 + modules="${modules},gdbm"
666 + fi
667 + if ! use ssl ; then
668 + modules="${modules},openssl"
669 + fi
670 + if ! use ncurses ; then
671 + modules="${modules},curses"
672 + fi
673 +
674 + # Provide an empty LIBPATHENV because we disable rpath but we do not
675 + # need LD_LIBRARY_PATH by default since that breaks USE=multitarget
676 + # #564272
677 + INSTALL="${EPREFIX}/usr/bin/install -c" LIBPATHENV="" econf \
678 + --program-suffix=${MY_SUFFIX} \
679 + --with-soname=ruby${MY_SUFFIX} \
680 + --docdir=${EPREFIX}/usr/share/doc/${P} \
681 + --enable-shared \
682 + --enable-pthread \
683 + --disable-rpath \
684 + --with-out-ext="${modules}" \
685 + $(use_enable jemalloc jemalloc) \
686 + $(use_enable socks5 socks) \
687 + $(use_enable doc install-doc) \
688 + --enable-ipv6 \
689 + $(use_enable debug) \
690 + ${myconf} \
691 + --enable-option-checking=no \
692 + || die "econf failed"
693 +}
694 +
695 +src_compile() {
696 + emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
697 +}
698 +
699 +src_test() {
700 + emake -j1 V=1 test || die "make test failed"
701 +
702 + elog "Ruby's make test has been run. Ruby also ships with a make check"
703 + elog "that cannot be run until after ruby has been installed."
704 + elog
705 + if use rubytests; then
706 + elog "You have enabled rubytests, so they will be installed to"
707 + elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
708 + elog "than root, and you must place them into a writeable directory."
709 + elog "Then call: "
710 + elog
711 + elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
712 + else
713 + elog "Enable the rubytests USE flag to install the make check tests"
714 + fi
715 +}
716 +
717 +src_install() {
718 + # Remove the remaining bundled gems. We do this late in the process
719 + # since they are used during the build to e.g. create the
720 + # documentation.
721 + rm -rf ext/json || die
722 +
723 + # Ruby is involved in the install process, we don't want interference here.
724 + unset RUBYOPT
725 +
726 + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
727 +
728 + LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
729 + RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
730 + for d in $(find "${S}/ext" -type d) ; do
731 + RUBYLIB="${RUBYLIB}:$d"
732 + done
733 + export LD_LIBRARY_PATH RUBYLIB
734 +
735 + emake V=1 DESTDIR="${D}" install || die "make install failed"
736 +
737 + # Remove installed rubygems copy
738 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
739 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
740 + rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
741 +
742 + if use doc; then
743 + make DESTDIR="${D}" install-doc || die "make install-doc failed"
744 + fi
745 +
746 + if use examples; then
747 + insinto /usr/share/doc/${PF}
748 + doins -r sample
749 + fi
750 +
751 + dodoc ChangeLog NEWS doc/NEWS* README* || die
752 +
753 + if use rubytests; then
754 + pushd test
755 + insinto /usr/share/${PN}-${SLOT}/test
756 + doins -r .
757 + popd
758 + fi
759 +}
760 +
761 +pkg_postinst() {
762 + if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
763 + eselect ruby set ruby${MY_SUFFIX}
764 + fi
765 +
766 + elog
767 + elog "To switch between available Ruby profiles, execute as root:"
768 + elog "\teselect ruby set ruby(19|20|...)"
769 + elog
770 +}
771 +
772 +pkg_postrm() {
773 + eselect ruby cleanup
774 +}