Gentoo Archives: gentoo-commits

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