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: ruby-1.8.7_p249-r1.ebuild ChangeLog
Date: Thu, 06 May 2010 20:10:12
Message-Id: 20100506201008.6EC5A2C3FC@corvid.gentoo.org
1 a3li 10/05/06 20:10:08
2
3 Modified: ChangeLog
4 Added: ruby-1.8.7_p249-r1.ebuild
5 Log:
6 Revbump 1.8.7 to add patch for threading/timeout-related hangs. Closes bug 309789 by Sune Kloppenborg Jeppesen.
7 (Portage version: 2.2_rc67/cvs/Linux x86_64)
8
9 Revision Changes Path
10 1.448 dev-lang/ruby/ChangeLog
11
12 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ruby/ChangeLog?rev=1.448&view=markup
13 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ruby/ChangeLog?rev=1.448&content-type=text/plain
14 diff : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ruby/ChangeLog?r1=1.447&r2=1.448
15
16 Index: ChangeLog
17 ===================================================================
18 RCS file: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v
19 retrieving revision 1.447
20 retrieving revision 1.448
21 diff -u -r1.447 -r1.448
22 --- ChangeLog 6 May 2010 19:50:01 -0000 1.447
23 +++ ChangeLog 6 May 2010 20:10:08 -0000 1.448
24 @@ -1,6 +1,12 @@
25 # ChangeLog for dev-lang/ruby
26 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
27 -# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.447 2010/05/06 19:50:01 a3li Exp $
28 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.448 2010/05/06 20:10:08 a3li Exp $
29 +
30 +*ruby-1.8.7_p249-r1 (06 May 2010)
31 +
32 + 06 May 2010; Alex Legler <a3li@g.o> +ruby-1.8.7_p249-r1.ebuild:
33 + Revbump 1.8.7 to add patch for threading/timeout-related hangs. Closes bug
34 + 309789 by Sune Kloppenborg Jeppesen.
35
36 06 May 2010; Alex Legler <a3li@g.o> ruby-1.8.6_p388.ebuild,
37 ruby-1.8.7_p249.ebuild:
38
39
40
41 1.1 dev-lang/ruby/ruby-1.8.7_p249-r1.ebuild
42
43 file : http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ruby/ruby-1.8.7_p249-r1.ebuild?rev=1.1&view=markup
44 plain: http://sources.gentoo.org/viewcvs.py/gentoo-x86/dev-lang/ruby/ruby-1.8.7_p249-r1.ebuild?rev=1.1&content-type=text/plain
45
46 Index: ruby-1.8.7_p249-r1.ebuild
47 ===================================================================
48 # Copyright 1999-2010 Gentoo Foundation
49 # Distributed under the terms of the GNU General Public License v2
50 # $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ruby-1.8.7_p249-r1.ebuild,v 1.1 2010/05/06 20:10:08 a3li Exp $
51
52 EAPI=1
53 inherit autotools eutils flag-o-matic multilib versionator
54
55 MY_P="${PN}-$(replace_version_separator 3 '-')"
56 S=${WORKDIR}/${MY_P}
57
58 SLOT=$(get_version_component_range 1-2)
59 MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
60
61 DESCRIPTION="An object-oriented scripting language"
62 HOMEPAGE="http://www.ruby-lang.org/"
63 SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.bz2
64 http://dev.a3li.li/gentoo/distfiles/${PN}-patches-${PVR}.tar.bz2"
65
66 LICENSE="|| ( Ruby GPL-2 )"
67 KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~sparc-fbsd ~x86-fbsd"
68 IUSE="+berkdb debug doc emacs examples +gdbm ipv6 rubytests socks5 ssl threads tk xemacs"
69
70 RDEPEND="
71 berkdb? ( sys-libs/db )
72 gdbm? ( sys-libs/gdbm )
73 ssl? ( dev-libs/openssl )
74 socks5? ( >=net-proxy/dante-1.1.13 )
75 tk? ( dev-lang/tk )
76 >=app-admin/eselect-ruby-20091225
77 !=dev-lang/ruby-cvs-${SLOT}*
78 !<dev-ruby/rdoc-2
79 !dev-ruby/rexml"
80 DEPEND="${RDEPEND}"
81 PDEPEND="emacs? ( app-emacs/ruby-mode )
82 xemacs? ( app-xemacs/ruby-modes )"
83
84 PROVIDE="virtual/ruby"
85
86 pkg_setup() {
87 use tk || return
88
89 # Note for EAPI-2 lovers: We'd like to show that custom message.
90 # *If* you can make USE dependencies show that, too, feel free to migrate.
91 if (use threads && ! built_with_use dev-lang/tk threads) \
92 || (! use threads && built_with_use dev-lang/tk threads) ; then
93 eerror
94 eerror "You have Tk support enabled."
95 eerror
96 eerror "Ruby and Tk need the same 'threads' USE flag settings."
97 eerror "Either change the USE flag on dev-lang/ruby or on dev-lang/tk"
98 eerror "and recompile tk."
99
100 die "threads USE flag mismatch"
101 fi
102 }
103
104 src_unpack() {
105 unpack ${A}
106 cd "${S}"
107
108 EPATCH_FORCE="yes" EPATCH_SUFFIX="patch" \
109 epatch "${WORKDIR}/patches-${PVR}"
110
111 # Fix a hardcoded lib path in configure script
112 sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
113 configure.in || die "sed failed"
114
115 eautoreconf
116 }
117
118 src_compile() {
119 # -fomit-frame-pointer makes ruby segfault, see bug #150413.
120 filter-flags -fomit-frame-pointer
121 # In many places aliasing rules are broken; play it safe
122 # as it's risky with newer compilers to leave it as it is.
123 append-flags -fno-strict-aliasing
124
125 # Socks support via dante
126 if use socks5 ; then
127 # Socks support can't be disabled as long as SOCKS_SERVER is
128 # set and socks library is present, so need to unset
129 # SOCKS_SERVER in that case.
130 unset SOCKS_SERVER
131 fi
132
133 # Increase GC_MALLOC_LIMIT if set (default is 8000000)
134 if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
135 append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
136 fi
137
138 # ipv6 hack, bug 168939. Needs --enable-ipv6.
139 use ipv6 || myconf="--with-lookup-order-hack=INET"
140
141 econf --program-suffix=$MY_SUFFIX --enable-shared \
142 $(use_enable socks5 socks) \
143 $(use_enable doc install-doc) \
144 $(use_enable threads pthread) \
145 --enable-ipv6 \
146 $(use_enable debug) \
147 $(use_with berkdb dbm) \
148 $(use_with gdbm) \
149 $(use_with ssl openssl) \
150 $(use_with tk) \
151 ${myconf} \
152 --with-sitedir=/usr/$(get_libdir)/ruby/site_ruby \
153 --enable-option-checking=no \
154 || die "econf failed"
155
156 emake EXTLDFLAGS="${LDFLAGS}" || die "emake failed"
157 }
158
159 src_test() {
160 emake -j1 test || die "make test failed"
161
162 elog "Ruby's make test has been run. Ruby also ships with a make check"
163 elog "that cannot be run until after ruby has been installed."
164 elog
165 if use rubytests; then
166 elog "You have enabled rubytests, so they will be installed to"
167 elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
168 elog "than root, and you must place them into a writeable directory."
169 elog "Then call: "
170 elog
171 elog "ruby -C /location/of/tests runner.rb"
172 else
173 elog "Enable the rubytests USE flag to install the make check tests"
174 fi
175 }
176
177 src_install() {
178 # Ruby is involved in the install process, we don't want interference here.
179 unset RUBYOPT
180
181 LD_LIBRARY_PATH="${D}/usr/$(get_libdir)"
182 RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${SLOT}"
183 for d in $(find "${S}/ext" -type d) ; do
184 RUBYLIB="${RUBYLIB}:$d"
185 done
186 export LD_LIBRARY_PATH RUBYLIB
187
188 emake DESTDIR="${D}" install || die "make install failed"
189
190 MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
191 keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitelibdir']")
192 keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitearchdir']")
193
194 if use doc; then
195 make DESTDIR="${D}" install-doc || die "make install-doc failed"
196 fi
197
198 if use examples; then
199 dodir /usr/share/doc/${PF}
200 cp -pPR sample "${D}/usr/share/doc/${PF}"
201 fi
202
203 dosym libruby$MY_SUFFIX$(get_libname ${PV%_*}) /usr/$(get_libdir)/libruby$(get_libname ${PV%.*})
204 dosym libruby$MY_SUFFIX$(get_libname ${PV%_*}) /usr/$(get_libdir)/libruby$(get_libname ${PV%_*})
205
206 dodoc ChangeLog NEWS README* ToDo
207
208 if use rubytests; then
209 dodir /usr/share/${PN}-${SLOT}
210 cp -pPR test "${D}/usr/share/${PN}-${SLOT}"
211 fi
212 }
213
214 pkg_postinst() {
215 if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
216 eselect ruby set ruby${MY_SUFFIX}
217 fi
218
219 elog
220 elog "To switch between available Ruby profiles, execute as root:"
221 elog "\teselect ruby set ruby(18|19|...)"
222 elog
223 }
224
225 pkg_postrm() {
226 eselect ruby cleanup
227 }