Gentoo Archives: gentoo-commits

From: "Alex Legler (a3li)" <a3li@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] gentoo-x86 commit in dev-lang/ruby: metadata.xml ChangeLog ruby-1.9.2.ebuild
Date: Tue, 24 Aug 2010 18:08:25
Message-Id: 20100824180809.D15DC2004E@flycatcher.gentoo.org
1 a3li 10/08/24 18:08:09
2
3 Modified: metadata.xml ChangeLog
4 Added: ruby-1.9.2.ebuild
5 Log:
6 Version bump. Fixes rdoc handling wrt bug 333897 by Park Ji-in. Drop hppa and x86-fbsd due to a new dependency on rdoc.
7 (Portage version: 2.2_rc67/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.5 dev-lang/ruby/metadata.xml
11
12 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ruby/metadata.xml?rev=1.5&view=markup
13 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ruby/metadata.xml?rev=1.5&content-type=text/plain
14 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ruby/metadata.xml?r1=1.4&r2=1.5
15
16 Index: metadata.xml
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-lang/ruby/metadata.xml,v
19 retrieving revision 1.4
20 retrieving revision 1.5
21 diff -u -r1.4 -r1.5
22 --- metadata.xml 18 Aug 2010 10:39:28 -0000 1.4
23 +++ metadata.xml 24 Aug 2010 18:08:09 -0000 1.5
24 @@ -32,5 +32,9 @@
25 extension, available since Ruby 1.9.2_rc2, in alternative to the
26 bundled syck-based parser.
27 </flag>
28 +
29 + <flag name='rdoc'>
30 + Install <pkg>dev-ruby/rdoc</pkg> after installing Ruby.
31 + </flag>
32 </use>
33 </pkgmetadata>
34
35
36
37 1.473 dev-lang/ruby/ChangeLog
38
39 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ruby/ChangeLog?rev=1.473&view=markup
40 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ruby/ChangeLog?rev=1.473&content-type=text/plain
41 diff : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ruby/ChangeLog?r1=1.472&r2=1.473
42
43 Index: ChangeLog
44 ===================================================================
45 RCS file: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v
46 retrieving revision 1.472
47 retrieving revision 1.473
48 diff -u -r1.472 -r1.473
49 --- ChangeLog 23 Aug 2010 20:34:26 -0000 1.472
50 +++ ChangeLog 24 Aug 2010 18:08:09 -0000 1.473
51 @@ -1,6 +1,13 @@
52 # ChangeLog for dev-lang/ruby
53 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
54 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.472 2010/08/23 20:34:26 maekke Exp $
55 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.473 2010/08/24 18:08:09 a3li Exp $
56 +
57 +*ruby-1.9.2 (24 Aug 2010)
58 +
59 + 24 Aug 2010; Alex Legler <a3li@g.o> +ruby-1.9.2.ebuild,
60 + metadata.xml:
61 + Version bump. Fixes rdoc handling wrt bug 333897 by Park Ji-in. Drop hppa
62 + and x86-fbsd due to a new dependency on rdoc.
63
64 23 Aug 2010; Markus Meier <maekke@g.o> ruby-1.8.7_p302.ebuild:
65 arm stable, bug #332957
66
67
68
69 1.1 dev-lang/ruby/ruby-1.9.2.ebuild
70
71 file : http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ruby/ruby-1.9.2.ebuild?rev=1.1&view=markup
72 plain: http://sources.gentoo.org/viewvc.cgi/gentoo-x86/dev-lang/ruby/ruby-1.9.2.ebuild?rev=1.1&content-type=text/plain
73
74 Index: ruby-1.9.2.ebuild
75 ===================================================================
76 # Copyright 1999-2010 Gentoo Foundation
77 # Distributed under the terms of the GNU General Public License v2
78 # $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ruby-1.9.2.ebuild,v 1.1 2010/08/24 18:08:09 a3li Exp $
79
80 EAPI=2
81
82 #PATCHSET=
83
84 inherit autotools eutils flag-o-matic multilib versionator
85
86 RUBYPL=$(get_version_component_range 4)
87
88 MY_P="${PN}-$(get_version_component_range 1-3)-p${RUBYPL:-0}"
89 S=${WORKDIR}/${MY_P}
90
91 SLOT=$(get_version_component_range 1-2)
92 MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
93 # 1.9.2 still uses 1.9.1
94 RUBYVERSION=1.9.1
95
96 if [[ -n ${PATCHSET} ]]; then
97 if [[ ${PVR} == ${PV} ]]; then
98 PATCHSET="${PV}-r0.${PATCHSET}"
99 else
100 PATCHSET="${PVR}.${PATCHSET}"
101 fi
102 else
103 PATCHSET="${PVR}"
104 fi
105
106 DESCRIPTION="An object-oriented scripting language"
107 HOMEPAGE="http://www.ruby-lang.org/"
108 SRC_URI="mirror://ruby/${MY_P}.tar.bz2
109 http://dev.gentoo.org/~flameeyes/ruby-team/${PN}-patches-${PATCHSET}.tar.bz2"
110
111 LICENSE="|| ( Ruby GPL-2 )"
112 KEYWORDS="~amd64 ~ppc ~x86"
113 IUSE="berkdb debug doc examples gdbm ipv6 +rdoc rubytests socks5 ssl tk xemacs ncurses +readline yaml" #libedit
114
115 # libedit support is removed everywhere because of this upstream bug:
116 # http://redmine.ruby-lang.org/issues/show/3698
117
118 RDEPEND="
119 berkdb? ( sys-libs/db )
120 gdbm? ( sys-libs/gdbm )
121 ssl? ( dev-libs/openssl )
122 socks5? ( >=net-proxy/dante-1.1.13 )
123 tk? ( dev-lang/tk[threads] )
124 ncurses? ( sys-libs/ncurses )
125 readline? ( sys-libs/readline )
126 yaml? ( dev-libs/libyaml )
127 dev-libs/libffi
128 sys-libs/zlib
129 >=app-admin/eselect-ruby-20100402
130 !=dev-lang/ruby-cvs-${SLOT}*
131 !<dev-ruby/rdoc-2
132 !<dev-ruby/rubygems-1.3.7-r4
133 !dev-ruby/rexml"
134 # libedit? ( dev-libs/libedit )
135 # !libedit? ( readline? ( sys-libs/readline ) )
136
137 DEPEND="${RDEPEND}"
138 PDEPEND="
139 rdoc? ( >=dev-ruby/rdoc-2.5.11[ruby_targets_ruby19] )
140 xemacs? ( app-xemacs/ruby-modes )"
141
142 PROVIDE="virtual/ruby"
143
144 src_prepare() {
145 EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
146 epatch "${WORKDIR}/patches"
147
148 einfo "Unbundling gems..."
149 rm -r \
150 {bin,lib}/rake \
151 {lib,ext}/racc* \
152 ext/json \
153 bin/gem \
154 || die "removal failed"
155
156 # Fix a hardcoded lib path in configure script
157 sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
158 configure.in || die "sed failed"
159
160 eautoreconf
161 }
162
163 src_configure() {
164 local myconf=
165
166 # -fomit-frame-pointer makes ruby segfault, see bug #150413.
167 filter-flags -fomit-frame-pointer
168 # In many places aliasing rules are broken; play it safe
169 # as it's risky with newer compilers to leave it as it is.
170 append-flags -fno-strict-aliasing
171
172 # Socks support via dante
173 if use socks5 ; then
174 # Socks support can't be disabled as long as SOCKS_SERVER is
175 # set and socks library is present, so need to unset
176 # SOCKS_SERVER in that case.
177 unset SOCKS_SERVER
178 fi
179
180 # Increase GC_MALLOC_LIMIT if set (default is 8000000)
181 if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
182 append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
183 fi
184
185 # ipv6 hack, bug 168939. Needs --enable-ipv6.
186 use ipv6 || myconf="${myconf} --with-lookup-order-hack=INET"
187
188 # if use libedit; then
189 # einfo "Using libedit to provide readline extension"
190 # myconf="${myconf} --enable-libedit --with-readline"
191 # elif use readline; then
192 # einfo "Using readline to provide readline extension"
193 # myconf="${myconf} --with-readline"
194 # else
195 # myconf="${myconf} --without-readline"
196 # fi
197 myconf="${myconf} $(use_with readline)"
198
199 econf \
200 --program-suffix=${MY_SUFFIX} \
201 --with-soname=ruby${MY_SUFFIX} \
202 --enable-shared \
203 --enable-pthread \
204 $(use_enable socks5 socks) \
205 $(use_enable doc install-doc) \
206 --enable-ipv6 \
207 $(use_enable debug) \
208 $(use_with berkdb dbm) \
209 $(use_with gdbm) \
210 $(use_with ssl openssl) \
211 $(use_with tk) \
212 $(use_with ncurses curses) \
213 $(use_with yaml psych) \
214 ${myconf} \
215 --enable-option-checking=no \
216 || die "econf failed"
217 }
218
219 src_compile() {
220 emake EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
221 }
222
223 src_test() {
224 emake -j1 test || die "make test failed"
225
226 elog "Ruby's make test has been run. Ruby also ships with a make check"
227 elog "that cannot be run until after ruby has been installed."
228 elog
229 if use rubytests; then
230 elog "You have enabled rubytests, so they will be installed to"
231 elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
232 elog "than root, and you must place them into a writeable directory."
233 elog "Then call: "
234 elog
235 elog "ruby${MY_SUFFIX} -C /location/of/tests runner.rb"
236 else
237 elog "Enable the rubytests USE flag to install the make check tests"
238 fi
239 }
240
241 src_install() {
242 # Ruby is involved in the install process, we don't want interference here.
243 unset RUBYOPT
244
245 local MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
246
247 LD_LIBRARY_PATH="${D}/usr/$(get_libdir)${LD_LIBRARY_PATH+:}${LD_LIBRARY_PATH}"
248 RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"
249 for d in $(find "${S}/ext" -type d) ; do
250 RUBYLIB="${RUBYLIB}:$d"
251 done
252 export LD_LIBRARY_PATH RUBYLIB
253
254 emake DESTDIR="${D}" install || die "make install failed"
255
256 # Remove installed rubygems copy
257 rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}/rubygems" || die "rm rubygems failed"
258 rm -r "${D}/usr/$(get_libdir)/ruby/${RUBYVERSION}"/rdoc* || die "rm rdoc failed"
259 rm -r "${D}/usr/bin/"{ri,rdoc}"${MY_SUFFIX}" || die "rm rdoc bins failed"
260
261 if use doc; then
262 make DESTDIR="${D}" install-doc || die "make install-doc failed"
263 fi
264
265 if use examples; then
266 insinto /usr/share/doc/${PF}
267 doins -r sample
268 fi
269
270 dosym "libruby${MY_SUFFIX}$(get_libname ${PV%_*})" \
271 "/usr/$(get_libdir)/libruby$(get_libname ${PV%.*})"
272 dosym "libruby${MY_SUFFIX}$(get_libname ${PV%_*})" \
273 "/usr/$(get_libdir)/libruby$(get_libname ${PV%_*})"
274
275 dodoc ChangeLog NEWS doc/NEWS-1.8.7 README* ToDo || die
276
277 if use rubytests; then
278 pushd test
279 insinto /usr/share/${PN}-${SLOT}/test
280 doins -r .
281 popd
282 fi
283 }
284
285 pkg_postinst() {
286 if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
287 eselect ruby set ruby${MY_SUFFIX}
288 fi
289
290 elog
291 elog "To switch between available Ruby profiles, execute as root:"
292 elog "\teselect ruby set ruby(18|19|...)"
293 elog
294 }
295
296 pkg_postrm() {
297 eselect ruby cleanup
298 }