Gentoo Archives: gentoo-commits

From: "Anthony G. Basile" <blueness@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/musl:master commit in: dev-lang/ruby/
Date: Tue, 31 May 2016 15:55:34
Message-Id: 1464710233.723f69cdb581b6888e4971d5d351de2d1c59f41a.blueness@gentoo
1 commit: 723f69cdb581b6888e4971d5d351de2d1c59f41a
2 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
3 AuthorDate: Tue May 31 15:57:13 2016 +0000
4 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
5 CommitDate: Tue May 31 15:57:13 2016 +0000
6 URL: https://gitweb.gentoo.org/proj/musl.git/commit/?id=723f69cd
7
8 dev-lang/ruby: bump to 2.0.0_p648
9
10 Package-Manager: portage-2.2.28
11 RepoMan-Options: --force
12
13 dev-lang/ruby/Manifest | 3 +
14 dev-lang/ruby/ruby-2.0.0_p648.ebuild | 231 +++++++++++++++++++++++++++++++++++
15 2 files changed, 234 insertions(+)
16
17 diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
18 index 1aedeb8..afccef0 100644
19 --- a/dev-lang/ruby/Manifest
20 +++ b/dev-lang/ruby/Manifest
21 @@ -1,5 +1,8 @@
22 AUX ruby-add-asm_ioctl_h.patch 338 SHA256 82fa2b35c1a1ae05aaf7e849bd7b6068951f65609a35de1f88fcf83f254666f2 SHA512 eba8f362cda01fed4d38515a1ce03e4c462ddb6adf686de76b3d91bc5d5484661b7be5a9080624a9fa87fffff27b65c746d7ec94d4e27dbef2f9b321fc286be1 WHIRLPOOL 9c1ac98344cd44a3f9523e7dc723ab6dceab3c1c569d2656d03fdbe7677207bbe52ed5436dcd405c33c16d623333219aa6492dcb76d94b0cf833305589312ae2
23 DIST ruby-2.0.0-p647.tar.xz 8301008 SHA256 9f793880df1209ea4e5c10ee9d8ef79caa0e73ee769f745f1c191505255e2847 SHA512 38fd2ad631588a0e8adf9a7ae01cb5274eca4fd794c5ed7030e5fae9e53cd8920eaac9d388c73b844a154c7eb56fa6fed8e2ee5df5617efd624b6a568ea4953b WHIRLPOOL c8ec19ed900e6578f1f6e08d1e2a5c015cfa6e81379fb0437a1167ffb8bc56561d02b4b5b35a674039f7adcd2c43b222b89e139cb0ea702e8bfec886872c8e6a
24 +DIST ruby-2.0.0-p648.tar.xz 8303584 SHA256 22fe97739110ba9171b13fc4dcd1a92e767f16769de3593ee41ef1283d218402 SHA512 95df515d37f04193eaceaded4a4f568f83041683349cd44767803f77361a66533226d83eac6586ac894ae61d79bd36ce047f951aed43f9a8356dbb3244280774 WHIRLPOOL ef78b838d061b1707219453a70c8b4a503d46e9f95797007555943a837de21f22c0c93039c75172d7df4fe9b5eca38472ee7177f98785cb5993c7e80140a1d27
25 DIST ruby-patches-2.0.0_p647-r1.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e2b9a4a9cb742ffd01531753bae07ab6b8 SHA512 40d07275a391df3e0a7a0c2705913c8120a548e223032dc39993f8f873c8d0639646cf728dc95f1400352a13766623ac6d69a1b1ff03183df6fabf32946dd7a6 WHIRLPOOL ed7ea6b1c1fd3570ea85b885f7455d8273cff2a9db2540c9e89faca867bd5eed2b4de52c7d21a96bb33ae0beedce113c68bb6c8cee4688650ff5169bd9c265fd
26 +DIST ruby-patches-2.0.0_p648.tar.bz2 3341 SHA256 7d82403fed6216baed59ac1fbba888e2b9a4a9cb742ffd01531753bae07ab6b8 SHA512 40d07275a391df3e0a7a0c2705913c8120a548e223032dc39993f8f873c8d0639646cf728dc95f1400352a13766623ac6d69a1b1ff03183df6fabf32946dd7a6 WHIRLPOOL ed7ea6b1c1fd3570ea85b885f7455d8273cff2a9db2540c9e89faca867bd5eed2b4de52c7d21a96bb33ae0beedce113c68bb6c8cee4688650ff5169bd9c265fd
27 EBUILD ruby-2.0.0_p647-r1.ebuild 6412 SHA256 d5bfabf7ad24f4949309d1df34bed8c6bd298c0824ca75911a1e3845c7f542d6 SHA512 4de5183f102cd7444e3b1be8d08f7668655459d9dd1f41788e68888b1f37695bfb98e38bbac5f7495c9aa5e6b14f0482fa378ee41f056767c3c25c27b86344d4 WHIRLPOOL e8f5d0889c507e9bdf6f4003d405a5b44b26f5f5627646a8e16f1f59e313f7fcee39ef4f47cee8b95c5abd73aca7ad1e9c2bc061b275a7fdbeca1a76f644f136
28 +EBUILD ruby-2.0.0_p648.ebuild 6412 SHA256 d5bfabf7ad24f4949309d1df34bed8c6bd298c0824ca75911a1e3845c7f542d6 SHA512 4de5183f102cd7444e3b1be8d08f7668655459d9dd1f41788e68888b1f37695bfb98e38bbac5f7495c9aa5e6b14f0482fa378ee41f056767c3c25c27b86344d4 WHIRLPOOL e8f5d0889c507e9bdf6f4003d405a5b44b26f5f5627646a8e16f1f59e313f7fcee39ef4f47cee8b95c5abd73aca7ad1e9c2bc061b275a7fdbeca1a76f644f136
29 MISC metadata.xml 882 SHA256 feab32eb8b2abb19f1771f3edeea5e30f881a439d2b6a5a4d4da9fd930c02ae4 SHA512 b4b426ee40a50f304f4e3db9245c6ef2877efb670fcd9c261e43fc1794956f38be69ede80f5951cc157ea95ef3bb52c1a6bbcf654962b8a42b2e19a1f7dfc435 WHIRLPOOL 2e31319568d5b7ff3df506d77e38f5eff0ffbbbcce69bdbb938fd333c229ce7e036a55c396ae27facff61d9a4f584bb01c391c6ef03955ef036f3b4b750ebce1
30
31 diff --git a/dev-lang/ruby/ruby-2.0.0_p648.ebuild b/dev-lang/ruby/ruby-2.0.0_p648.ebuild
32 new file mode 100644
33 index 0000000..a7c256d
34 --- /dev/null
35 +++ b/dev-lang/ruby/ruby-2.0.0_p648.ebuild
36 @@ -0,0 +1,231 @@
37 +# Copyright 1999-2016 Gentoo Foundation
38 +# Distributed under the terms of the GNU General Public License v2
39 +# $Id$
40 +
41 +EAPI=5
42 +
43 +#PATCHSET=1
44 +
45 +inherit autotools eutils flag-o-matic multilib versionator
46 +
47 +RUBYPL=$(get_version_component_range 4)
48 +
49 +MY_P="${PN}-$(get_version_component_range 1-3)-${RUBYPL:-0}"
50 +S=${WORKDIR}/${MY_P}
51 +
52 +SLOT=$(get_version_component_range 1-2)
53 +MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
54 +RUBYVERSION=2.0.0
55 +
56 +if [[ -n ${PATCHSET} ]]; then
57 + if [[ ${PVR} == ${PV} ]]; then
58 + PATCHSET="${PV}-r0.${PATCHSET}"
59 + else
60 + PATCHSET="${PVR}.${PATCHSET}"
61 + fi
62 +else
63 + PATCHSET="${PVR}"
64 +fi
65 +
66 +DESCRIPTION="An object-oriented scripting language"
67 +HOMEPAGE="http://www.ruby-lang.org/"
68 +SRC_URI="mirror://ruby/2.0/${MY_P}.tar.xz
69 + https://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
70 +
71 +LICENSE="|| ( Ruby-BSD BSD-2 )"
72 +KEYWORDS="amd64 arm ~mips ppc x86"
73 +IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl xemacs ncurses +readline cpu_flags_x86_sse2"
74 +
75 +RDEPEND="
76 + berkdb? ( sys-libs/db:= )
77 + gdbm? ( sys-libs/gdbm )
78 + ssl? ( dev-libs/openssl:0 )
79 + socks5? ( >=net-proxy/dante-1.1.13 )
80 + ncurses? ( sys-libs/ncurses:0= )
81 + readline? ( sys-libs/readline:0 )
82 + dev-libs/libyaml
83 + virtual/libffi
84 + sys-libs/zlib
85 + >=app-eselect/eselect-ruby-20100402
86 + !<dev-ruby/rdoc-3.9.4
87 + !<dev-ruby/rubygems-1.8.10-r1"
88 +
89 +DEPEND="${RDEPEND}"
90 +PDEPEND="
91 + virtual/rubygems[ruby_targets_ruby20]
92 + >=dev-ruby/json-1.7.7[ruby_targets_ruby20]
93 + >=dev-ruby/rake-0.9.6[ruby_targets_ruby20]
94 + rdoc? ( >=dev-ruby/rdoc-4.0.0[ruby_targets_ruby20] )
95 + xemacs? ( app-xemacs/ruby-modes )"
96 +
97 +src_prepare() {
98 + if use cpu_flags_x86_sse2 ; then
99 + excluded_patches="012_no_forced_sse2.patch"
100 + fi
101 +
102 + EPATCH_EXCLUDE="${excluded_patches}" EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
103 + epatch "${WORKDIR}/patches"
104 +
105 + epatch "${FILESDIR}"/${PN}-add-asm_ioctl_h.patch
106 + # We can no longer unbundle all of rake because rubygems now depends
107 + # on this. We leave the actual rake code around to bootstrap
108 + # rubygems, but remove the bits that would cause a file collision.
109 + einfo "Unbundling gems..."
110 + cd "$S"
111 + rm -r \
112 + {bin,lib}/rake lib/rake.rb man/rake.1 \
113 + bin/gem || die "removal failed"
114 +
115 + # Fix a hardcoded lib path in configure script
116 + sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
117 + configure.in || die "sed failed"
118 +
119 + eautoreconf
120 +}
121 +
122 +src_configure() {
123 + local myconf=
124 +
125 + # The Tk module can no longer be built because the module code is no
126 + # longer compatible with newer stable versions.
127 + # https://bugs.gentoo.org/show_bug.cgi?id=500894
128 + local modules="tk"
129 +
130 + # -fomit-frame-pointer makes ruby segfault, see bug #150413.
131 + filter-flags -fomit-frame-pointer
132 + # In many places aliasing rules are broken; play it safe
133 + # as it's risky with newer compilers to leave it as it is.
134 + append-flags -fno-strict-aliasing
135 + # SuperH needs this
136 + use sh && append-flags -mieee
137 +
138 + # Socks support via dante
139 + if use socks5 ; then
140 + # Socks support can't be disabled as long as SOCKS_SERVER is
141 + # set and socks library is present, so need to unset
142 + # SOCKS_SERVER in that case.
143 + unset SOCKS_SERVER
144 + fi
145 +
146 + # Increase GC_MALLOC_LIMIT if set (default is 8000000)
147 + if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
148 + append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
149 + fi
150 +
151 + # ipv6 hack, bug 168939. Needs --enable-ipv6.
152 + use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
153 +
154 + # Determine which modules *not* to build depending in the USE flags.
155 + if ! use readline ; then
156 + modules="${modules},readline"
157 + fi
158 + if ! use berkdb ; then
159 + modules="${modules},dbm"
160 + fi
161 + if ! use gdbm ; then
162 + modules="${modules},gdbm"
163 + fi
164 + if ! use ssl ; then
165 + modules="${modules},openssl"
166 + fi
167 + if ! use ncurses ; then
168 + modules="${modules},curses"
169 + fi
170 +
171 + INSTALL="${EPREFIX}/usr/bin/install -c" econf \
172 + --program-suffix=${MY_SUFFIX} \
173 + --with-soname=ruby${MY_SUFFIX} \
174 + --docdir=${EPREFIX}/usr/share/doc/${P} \
175 + --enable-shared \
176 + --enable-pthread \
177 + --disable-rpath \
178 + --with-out-ext="${modules}" \
179 + $(use_enable socks5 socks) \
180 + $(use_enable doc install-doc) \
181 + --enable-ipv6 \
182 + $(use_enable debug) \
183 + ${myconf} \
184 + --enable-option-checking=no \
185 + || die "econf failed"
186 +}
187 +
188 +src_compile() {
189 + emake V=1 EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
190 +}
191 +
192 +src_test() {
193 + emake -j1 V=1 test || die "make test failed"
194 +
195 + elog "Ruby's make test has been run. Ruby also ships with a make check"
196 + elog "that cannot be run until after ruby has been installed."
197 + elog
198 + if use rubytests; then
199 + elog "You have enabled rubytests, so they will be installed to"
200 + elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
201 + elog "than root, and you must place them into a writeable directory."
202 + elog "Then call: "
203 + elog
204 + elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
205 + else
206 + elog "Enable the rubytests USE flag to install the make check tests"
207 + fi
208 +}
209 +
210 +src_install() {
211 + # Remove the remaining bundled gems. We do this late in the process
212 + # since they are used during the build to e.g. create the
213 + # documentation.
214 + rm -rf ext/json || die
215 +
216 + # Ruby is involved in the install process, we don't want interference here.
217 + unset RUBYOPT
218 +
219 + local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
220 +
221 + LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
222 + RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
223 + for d in $(find "${S}/ext" -type d) ; do
224 + RUBYLIB="${RUBYLIB}:$d"
225 + done
226 + export LD_LIBRARY_PATH RUBYLIB
227 +
228 + emake V=1 DESTDIR="${D}" install || die "make install failed"
229 +
230 + # Remove installed rubygems copy
231 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
232 + rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
233 + rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
234 +
235 + if use doc; then
236 + make DESTDIR="${D}" install-doc || die "make install-doc failed"
237 + fi
238 +
239 + if use examples; then
240 + insinto /usr/share/doc/${PF}
241 + doins -r sample
242 + fi
243 +
244 + dodoc ChangeLog NEWS doc/NEWS* README* || die
245 +
246 + if use rubytests; then
247 + pushd test
248 + insinto /usr/share/${PN}-${SLOT}/test
249 + doins -r .
250 + popd
251 + fi
252 +}
253 +
254 +pkg_postinst() {
255 + if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
256 + eselect ruby set ruby${MY_SUFFIX}
257 + fi
258 +
259 + elog
260 + elog "To switch between available Ruby profiles, execute as root:"
261 + elog "\teselect ruby set ruby(19|20|...)"
262 + elog
263 +}
264 +
265 +pkg_postrm() {
266 + eselect ruby cleanup
267 +}