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