summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Doty <kingtaco@gentoo.org>2007-07-04 06:18:08 +0000
committerMike Doty <kingtaco@gentoo.org>2007-07-04 06:18:08 +0000
commitd9e4243df8389221a8f97df697b93d2486afea6a (patch)
treeb982e28fa5b4c104e4541423c39527d8f05ae9f3 /dev-lang
parentVersion bump. Dropped old version. (diff)
downloadhistorical-d9e4243df8389221a8f97df697b93d2486afea6a.tar.gz
historical-d9e4243df8389221a8f97df697b93d2486afea6a.tar.bz2
historical-d9e4243df8389221a8f97df697b93d2486afea6a.zip
fixed memory leak loading .so bug #182946
Package-Manager: portage-2.1.3_rc5
Diffstat (limited to 'dev-lang')
-rw-r--r--dev-lang/ruby/ChangeLog8
-rw-r--r--dev-lang/ruby/Manifest29
-rw-r--r--dev-lang/ruby/files/digest-ruby-1.8.6_p36-r36
-rw-r--r--dev-lang/ruby/files/ruby-1.8.6-memory-leak.diff60
-rw-r--r--dev-lang/ruby/ruby-1.8.6_p36-r3.ebuild173
5 files changed, 261 insertions, 15 deletions
diff --git a/dev-lang/ruby/ChangeLog b/dev-lang/ruby/ChangeLog
index 6c24bd51007f..b5669b6e7e84 100644
--- a/dev-lang/ruby/ChangeLog
+++ b/dev-lang/ruby/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for dev-lang/ruby
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.289 2007/07/02 14:50:46 peper Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.290 2007/07/04 06:18:08 kingtaco Exp $
+
+*ruby-1.8.6_p36-r3 (04 Jul 2007)
+
+ 04 Jul 2007; Mike Doty <kingtaco@gentoo.org>
+ +files/ruby-1.8.6-memory-leak.diff, +ruby-1.8.6_p36-r3.ebuild:
+ fixed memory leak loading .so bug #182946
02 Jul 2007; Piotr Jaroszyński <peper@gentoo.org> ruby-1.8.4-r3.ebuild,
ruby-1.8.5_p2.ebuild, ruby-1.8.5_p2-r1.ebuild, ruby-1.8.5_p12.ebuild,
diff --git a/dev-lang/ruby/Manifest b/dev-lang/ruby/Manifest
index 9f74e8f2a63b..18a0ce23c972 100644
--- a/dev-lang/ruby/Manifest
+++ b/dev-lang/ruby/Manifest
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
AUX ruby-1.8.4-glibc24-eaccess.diff 2619 RMD160 8ec70e117b01a53917b47c829455f77023d393b9 SHA1 bd3600fc8e22ef083663b6b90bb1ec748aa87cce SHA256 bde0e69a78528560c574df8e53bce25a243e86a4cdbb6b33bdc9310f15f861a7
MD5 bb134d27fc11d3ac2f6ca0526e2ee5a1 files/ruby-1.8.4-glibc24-eaccess.diff 2619
RMD160 8ec70e117b01a53917b47c829455f77023d393b9 files/ruby-1.8.4-glibc24-eaccess.diff 2619
@@ -13,6 +10,10 @@ AUX ruby-1.8.6-exit-status.patch 2284 RMD160 09d777250a298848cff9d11fee5f00551cb
MD5 677eaed33af3a3768f9e372ffe97695c files/ruby-1.8.6-exit-status.patch 2284
RMD160 09d777250a298848cff9d11fee5f00551cbab2a4 files/ruby-1.8.6-exit-status.patch 2284
SHA256 41e7cd46b654e60b29333da68a70c110fac6a0794e35ec10cc13bbd35b150176 files/ruby-1.8.6-exit-status.patch 2284
+AUX ruby-1.8.6-memory-leak.diff 1351 RMD160 cba1335fcd52df26b4b2884dea14e0c74852b67a SHA1 184c1743592684abfc1cce8ffa38ae749fe0a1b1 SHA256 90dbc7b444ed936ed8a1fadb443240ec494a6c748d38ff089af423e50bdd9528
+MD5 9db609a7c1b7028c18dadd6a8a13bf83 files/ruby-1.8.6-memory-leak.diff 1351
+RMD160 cba1335fcd52df26b4b2884dea14e0c74852b67a files/ruby-1.8.6-memory-leak.diff 1351
+SHA256 90dbc7b444ed936ed8a1fadb443240ec494a6c748d38ff089af423e50bdd9528 files/ruby-1.8.6-memory-leak.diff 1351
AUX ruby-1.8.6_p36-rb_thread_status_prototype.patch 814 RMD160 6d7a11a01635fd25c869ebf7c1b7a0bc16b7170d SHA1 9d5f562b9051d0d50e867dfcd94425bba7406f18 SHA256 13fbd5854117e96f7cb20f9951da92ec72673dd89e59e1f8b4a75f7fa4f3c196
MD5 974baa2082c6ad34ec6a96bde01ca40a files/ruby-1.8.6_p36-rb_thread_status_prototype.patch 814
RMD160 6d7a11a01635fd25c869ebf7c1b7a0bc16b7170d files/ruby-1.8.6_p36-rb_thread_status_prototype.patch 814
@@ -58,10 +59,14 @@ EBUILD ruby-1.8.6_p36-r2.ebuild 4883 RMD160 8673bed89ab4061f971f9d582bad2fc8ec53
MD5 4606359bc883fcdac602152de6bf960c ruby-1.8.6_p36-r2.ebuild 4883
RMD160 8673bed89ab4061f971f9d582bad2fc8ec53c3da ruby-1.8.6_p36-r2.ebuild 4883
SHA256 9bed2f48b1906202e4595a58d65e1291614f48835b457eb41aa1fc0fb432a92b ruby-1.8.6_p36-r2.ebuild 4883
-MISC ChangeLog 41997 RMD160 3a3c3194ceed8a01a37a635634887bdf451181a6 SHA1 18c0395aa7979e8816c31848c43f4df5b9405d39 SHA256 9ad5aaeff7e80f1f20a1c5b08b9eaadca8260b7b65779c99b72eb79b20d7ee5d
-MD5 8a16ba9e42e632981a5568617bc2d16a ChangeLog 41997
-RMD160 3a3c3194ceed8a01a37a635634887bdf451181a6 ChangeLog 41997
-SHA256 9ad5aaeff7e80f1f20a1c5b08b9eaadca8260b7b65779c99b72eb79b20d7ee5d ChangeLog 41997
+EBUILD ruby-1.8.6_p36-r3.ebuild 4989 RMD160 035d9d4da02817a548bd314ad74ae101feb90340 SHA1 5adc2dbc52322f1d6b06621ac66b54dd943aab76 SHA256 c0d982c668826279cd38ed7c33e23821fb847bb7a4a77a682519d866b5e30495
+MD5 87039279fa8d714cb176d461eef950d2 ruby-1.8.6_p36-r3.ebuild 4989
+RMD160 035d9d4da02817a548bd314ad74ae101feb90340 ruby-1.8.6_p36-r3.ebuild 4989
+SHA256 c0d982c668826279cd38ed7c33e23821fb847bb7a4a77a682519d866b5e30495 ruby-1.8.6_p36-r3.ebuild 4989
+MISC ChangeLog 42191 RMD160 f92b462f96bdc684009f4a11fa0b606966fb51a9 SHA1 9ddd91394ba2523959b1c48cfaeacf39f866fbb8 SHA256 9fc49846f0f23a703beda87993fe1fec52ead92967c7ae1f055c0140a89d5283
+MD5 de9becbda85b899049d7ce41ff9c6bc4 ChangeLog 42191
+RMD160 f92b462f96bdc684009f4a11fa0b606966fb51a9 ChangeLog 42191
+SHA256 9fc49846f0f23a703beda87993fe1fec52ead92967c7ae1f055c0140a89d5283 ChangeLog 42191
MISC metadata.xml 157 RMD160 5d9e2c7ecba96ffebd936d38acedf859cdea84e1 SHA1 8ce15dcc608eeb5616aeec610dc695cbe6f93e02 SHA256 11fba03a217e2d996f5cd8895493a5692ece8ddac2c1a2dfc71d0e830555121c
MD5 3eec9f3fe48b51f49dbc1f171a3b026f metadata.xml 157
RMD160 5d9e2c7ecba96ffebd936d38acedf859cdea84e1 metadata.xml 157
@@ -90,10 +95,6 @@ SHA256 435325500fe2783c1b9623f2d81129f232f308b4a8d70e845b71778957d7a54e files/di
MD5 a3f4418fce22647071dd4933a1eadcf0 files/digest-ruby-1.8.6_p36-r2 479
RMD160 3f088121f5c934ea461a83023031adabd210a0d4 files/digest-ruby-1.8.6_p36-r2 479
SHA256 7a9bfbd900c349de6e3685df9d0879e5f026a00a03c6873f241bf17d03de1429 files/digest-ruby-1.8.6_p36-r2 479
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v2.0.4 (GNU/Linux)
-
-iD8DBQFGiRDSppoStNGKGywRAqm0AJ4yDygnrg+jfnzlIm7Hb8u43Ngv9ACePyhx
-2O79XiWDXS+Z7lo2AY/vQFA=
-=11MV
------END PGP SIGNATURE-----
+MD5 a3f4418fce22647071dd4933a1eadcf0 files/digest-ruby-1.8.6_p36-r3 479
+RMD160 3f088121f5c934ea461a83023031adabd210a0d4 files/digest-ruby-1.8.6_p36-r3 479
+SHA256 7a9bfbd900c349de6e3685df9d0879e5f026a00a03c6873f241bf17d03de1429 files/digest-ruby-1.8.6_p36-r3 479
diff --git a/dev-lang/ruby/files/digest-ruby-1.8.6_p36-r3 b/dev-lang/ruby/files/digest-ruby-1.8.6_p36-r3
new file mode 100644
index 000000000000..2cc0191d7069
--- /dev/null
+++ b/dev-lang/ruby/files/digest-ruby-1.8.6_p36-r3
@@ -0,0 +1,6 @@
+MD5 7e4c2b197387232afd9a11378feeb246 onigd2_5_9.tar.gz 221355
+RMD160 ceeee9a0221d431d6576a566621ba9badab6423d onigd2_5_9.tar.gz 221355
+SHA256 b24df7c0fa6fc72ce37fd1e203f378359f29f739a3f4c5b6bdd40ca5f7d25db0 onigd2_5_9.tar.gz 221355
+MD5 2a252394ecdcbcb3a55732efd9d38e27 ruby-1.8.6-p36.tar.gz 4535005
+RMD160 8e3ca34149b60c649ee50ee98c5e89de04099eba ruby-1.8.6-p36.tar.gz 4535005
+SHA256 1a9db5f4720a7023d9ecfaa6c4128ecb5f8cd59460744fb4b5f3b64ed3786935 ruby-1.8.6-p36.tar.gz 4535005
diff --git a/dev-lang/ruby/files/ruby-1.8.6-memory-leak.diff b/dev-lang/ruby/files/ruby-1.8.6-memory-leak.diff
new file mode 100644
index 000000000000..b71f4088f570
--- /dev/null
+++ b/dev-lang/ruby/files/ruby-1.8.6-memory-leak.diff
@@ -0,0 +1,60 @@
+Index: ptr.c
+===================================================================
+--- ptr.c (revision 12047)
++++ ptr.c (working copy)
+@@ -53,6 +53,8 @@
+ void
+ dlptr_free(struct ptr_data *data)
+ {
++ if (!data)
++ return;
+ if (data->ptr) {
+ DEBUG_CODE({
+ printf("dlptr_free(): removing the pointer `0x%x' from the MemorySpace\n",
+@@ -69,4 +71,5 @@
+ if (data->stype) dlfree(data->stype);
+ if (data->ssize) dlfree(data->ssize);
+ if (data->ids) dlfree(data->ids);
++ dlfree(data);
+ }
+
+ void
+Index: sym.c
+===================================================================
+--- sym.c (revision 12047)
++++ sym.c (working copy)
+@@ -57,6 +57,8 @@
+ void
+ dlsym_free(struct sym_data *data)
+ {
++ if(!data)
++ return;
+ if( data->name ){
+ DEBUG_CODE({
+ printf("dlsym_free(): free(data->name:%s)\n",data->name);
+@@ -69,4 +71,5 @@
+ });
+ free(data->type);
+ }
++ dlfree(data);
+ }
+
+ VALUE
+Index: handle.c
+===================================================================
+--- handle.c (revision 12047)
++++ handle.c (working copy)
+@@ -10,7 +10,10 @@
+ void
+ dlhandle_free(struct dl_handle *dlhandle)
+ {
++ if (!dlhandle)
++ return;
+ if (dlhandle->ptr && dlhandle->open && dlhandle->enable_close) {
+- dlclose(dlhandle->ptr);
++ dlclose(dlhandle->ptr);
+ }
++ dlfree(dlhandle);
+ }
+
+ VALUE
diff --git a/dev-lang/ruby/ruby-1.8.6_p36-r3.ebuild b/dev-lang/ruby/ruby-1.8.6_p36-r3.ebuild
new file mode 100644
index 000000000000..b36fa941ecf8
--- /dev/null
+++ b/dev-lang/ruby/ruby-1.8.6_p36-r3.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ruby-1.8.6_p36-r3.ebuild,v 1.1 2007/07/04 06:18:08 kingtaco Exp $
+
+WANT_AUTOCONF="latest"
+WANT_AUTOMAKE="latest"
+
+ONIGURUMA="onigd2_5_9"
+
+inherit flag-o-matic alternatives eutils multilib autotools versionator
+
+MY_P="${P/_p/-p}"
+S=${WORKDIR}/${MY_P}
+
+DESCRIPTION="An object-oriented scripting language"
+HOMEPAGE="http://www.ruby-lang.org/"
+SRC_URI="ftp://ftp.ruby-lang.org/pub/ruby/1.8/${MY_P}.tar.gz
+ cjk? ( http://www.geocities.jp/kosako3/oniguruma/archive/${ONIGURUMA}.tar.gz )"
+
+LICENSE="Ruby"
+SLOT="1.8"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~sparc-fbsd ~x86 ~x86-fbsd"
+IUSE="cjk debug doc examples ipv6 rubytests socks5 threads tk"
+RESTRICT="confcache"
+
+RDEPEND=">=sys-libs/gdbm-1.8.0
+ >=sys-libs/readline-4.1
+ >=sys-libs/ncurses-5.2
+ socks5? ( >=net-proxy/dante-1.1.13 )
+ tk? ( dev-lang/tk )
+ >=dev-ruby/ruby-config-0.3.1
+ !=dev-lang/ruby-cvs-1.8*
+ !dev-ruby/rdoc
+ !dev-ruby/rexml"
+DEPEND="${RDEPEND}"
+PROVIDE="virtual/ruby"
+
+src_unpack() {
+ unpack ${A}
+
+ if use cjk ; then
+ einfo "Applying ${ONIGURUMA}"
+ pushd ${WORKDIR}/oniguruma
+ econf --with-rubydir=${S} || die "econf failed"
+ MY_PV=$(get_version_component_range 1-2)
+ make ${MY_PV/./}
+ popd
+ fi
+
+ cd "${S}"
+
+ epatch "${FILESDIR}/${P}-rb_thread_status_prototype.patch"
+
+ cd "${S}/ext/dl"
+ epatch "${FILESDIR}/${PN}-1.8.6-memory-leak.diff"
+
+ cd "${S}"
+ # Fix a hardcoded lib path in configure script
+ sed -i -e "s:\(RUBY_LIB_PREFIX=\"\${prefix}/\)lib:\1$(get_libdir):" \
+ configure.in || die "sed failed"
+
+ eautoreconf
+}
+
+src_compile() {
+ # -fomit-frame-pointer makes ruby segfault, see bug #150413.
+ filter-flags -fomit-frame-pointer
+ # In many places aliasing rules are broken; play it safe
+ # as it's risky with newer compilers to leave it as it is.
+ append-flags -fno-strict-aliasing
+
+ # Socks support via dante
+ if use socks5 ; then
+ # Socks support can't be disabled as long as SOCKS_SERVER is
+ # set and socks library is present, so need to unset
+ # SOCKS_SERVER in that case.
+ unset SOCKS_SERVER
+ fi
+
+ # Increase GC_MALLOC_LIMIT if set (default is 8000000)
+ if [ -n "${RUBY_GC_MALLOC_LIMIT}" ] ; then
+ append-flags "-DGC_MALLOC_LIMIT=${RUBY_GC_MALLOC_LIMIT}"
+ fi
+
+ econf --program-suffix=${SLOT/./} --enable-shared \
+ $(use_enable socks5 socks) \
+ $(use_enable doc install-doc) \
+ $(use_enable threads pthread) \
+ $(use_enable ipv6) \
+ $(use_enable debug) \
+ $(use_with tk) \
+ --with-sitedir=/usr/$(get_libdir)/ruby/site_ruby \
+ || die "econf failed"
+
+ emake || die "emake failed"
+}
+
+src_test() {
+ emake -j1 test || die "make test failed"
+
+ elog "Ruby's make test has been run. Ruby also ships with a make check"
+ elog "that cannot be run until after ruby has been installed."
+ elog
+ if use rubytests; then
+ elog "You have enabled rubytests, so they will be installed to"
+ elog "/usr/share/${PN}-${SLOT}/test. To run them you must be a user other"
+ elog "than root, and you must place them into a writeable directory."
+ elog "Then call: "
+ elog
+ elog "ruby -C /location/of/tests runner.rb"
+ else
+ elog "Enable the rubytests USE flag to install the make check tests"
+ fi
+}
+
+src_install() {
+ LD_LIBRARY_PATH=${D}/usr/$(get_libdir)
+ RUBYLIB="${S}:${D}/usr/$(get_libdir)/ruby/${SLOT}"
+ for d in $(find ${S}/ext -type d) ; do
+ RUBYLIB="${RUBYLIB}:$d"
+ done
+ export LD_LIBRARY_PATH RUBYLIB
+
+ make DESTDIR="${D}" install || die "make install failed"
+
+ MINIRUBY=$(echo -e 'include Makefile\ngetminiruby:\n\t@echo $(MINIRUBY)'|make -f - getminiruby)
+ keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitelibdir']")
+ keepdir $(${MINIRUBY} -rrbconfig -e "print Config::CONFIG['sitearchdir']")
+
+ if use doc; then
+ make DESTDIR="${D}" install-doc || die "make install-doc failed"
+ fi
+
+ if use examples; then
+ dodir /usr/share/doc/${PF}
+ cp -pPR sample ${D}/usr/share/doc/${PF}
+ fi
+
+ dosym libruby${SLOT/./}$(get_libname ${PV%_*}) /usr/$(get_libdir)/libruby$(get_libname ${PV%.*})
+ dosym libruby${SLOT/./}$(get_libname ${PV%_*}) /usr/$(get_libdir)/libruby$(get_libname ${PV%_*})
+
+ dodoc ChangeLog NEWS README* ToDo
+
+ if use rubytests; then
+ dodir /usr/share/${PN}-${SLOT}
+ cp -pPR test ${D}/usr/share/${PN}-${SLOT}
+ fi
+}
+
+pkg_postinst() {
+ ewarn
+ ewarn "Warning: Vim won't work if you've just updated ruby from"
+ ewarn "1.6.x to 1.8.x due to the library version change."
+ ewarn "In that case, you will need to remerge vim."
+ ewarn
+
+ ewarn "If you upgrade to >=sys-apps/coreutils-6.7-r1,"
+ ewarn "you should re-emerge ruby again."
+ ewarn "See bug #159922 for details"
+ ewarn
+ if [ ! -n "$(readlink ${ROOT}usr/bin/ruby)" ] ; then
+ ${ROOT}usr/sbin/ruby-config ruby${SLOT/./}
+ fi
+ elog
+ elog "You can change the default ruby interpreter by ${ROOT}usr/sbin/ruby-config"
+ elog
+}
+
+pkg_postrm() {
+ if [ ! -n "$(readlink ${ROOT}usr/bin/ruby)" ] ; then
+ ${ROOT}usr/sbin/ruby-config ruby${SLOT/./}
+ fi
+}