summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Legler <a3li@gentoo.org>2009-06-14 10:43:17 +0000
committerAlex Legler <a3li@gentoo.org>2009-06-14 10:43:17 +0000
commita9bace0d733809883e62d6dc834ed4ef45524534 (patch)
treee57ec48bf2c57f392cc189b195272843fc78a89f /dev-lang/ruby
parent[kde-base/kde-env] Drop KDE 4.2.3 (diff)
downloadgentoo-2-a9bace0d733809883e62d6dc834ed4ef45524534.tar.gz
gentoo-2-a9bace0d733809883e62d6dc834ed4ef45524534.tar.bz2
gentoo-2-a9bace0d733809883e62d6dc834ed4ef45524534.zip
Removing _p114 and stale patches, bug 274108.
(Portage version: 2.2_rc33/cvs/Linux i686)
Diffstat (limited to 'dev-lang/ruby')
-rw-r--r--dev-lang/ruby/ChangeLog9
-rw-r--r--dev-lang/ruby/files/ruby-1.8.6-openssl.patch157
-rw-r--r--dev-lang/ruby/files/ruby-1.8.6-shortname_constants.patch38
-rw-r--r--dev-lang/ruby/files/ruby-1.8.6_p111-r13657.patch53
-rw-r--r--dev-lang/ruby/files/ruby-1.8.6_p287-entity_expansion_limit.diff103
-rw-r--r--dev-lang/ruby/ruby-1.8.6_p114.ebuild170
6 files changed, 8 insertions, 522 deletions
diff --git a/dev-lang/ruby/ChangeLog b/dev-lang/ruby/ChangeLog
index 2c47982f17da..92064ebf7657 100644
--- a/dev-lang/ruby/ChangeLog
+++ b/dev-lang/ruby/ChangeLog
@@ -1,6 +1,13 @@
# ChangeLog for dev-lang/ruby
# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.410 2009/06/11 14:47:47 klausman Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/ruby/ChangeLog,v 1.411 2009/06/14 10:43:16 a3li Exp $
+
+ 14 Jun 2009; Alex Legler <a3li@gentoo.org> -ruby-1.8.6_p114.ebuild,
+ -files/ruby-1.8.6-openssl.patch,
+ -files/ruby-1.8.6-shortname_constants.patch,
+ -files/ruby-1.8.6_p111-r13657.patch,
+ -files/ruby-1.8.6_p287-entity_expansion_limit.diff:
+ Removing vulnerable old Ruby version and stale patches, bug 274108.
11 Jun 2009; Tobias Klausmann <klausman@gentoo.org>
ruby-1.8.6_p369.ebuild:
diff --git a/dev-lang/ruby/files/ruby-1.8.6-openssl.patch b/dev-lang/ruby/files/ruby-1.8.6-openssl.patch
deleted file mode 100644
index 03c35a626c2c..000000000000
--- a/dev-lang/ruby/files/ruby-1.8.6-openssl.patch
+++ /dev/null
@@ -1,157 +0,0 @@
-This patch backports changes from ruby 1.8.7 which only includes the
-openssl prototypes for functions that are not in the system openssl
-library. This fixes #254307 and protects against similar issues with
-future openssl versions.
-
-diff -u ruby-1.8.6_p287-r10/work/ruby-1.8.6-p287/ext/openssl/extconf.rb ruby-1.8.7_p72-r1/work/ruby-1.8.7-p72/ext/openssl/extconf.rb
---- ruby-1.8.6_p287-r10/work/ruby-1.8.6-p287/ext/openssl/openssl_missing.c 2007-02-13 00:01:19.000000000 +0100
-+++ ruby-1.8.7_p72-r1/work/ruby-1.8.7-p72/ext/openssl/openssl_missing.c 2008-05-19 05:00:52.000000000 +0200
-@@ -22,17 +22,15 @@
- #include "openssl_missing.h"
-
- #if !defined(HAVE_HMAC_CTX_COPY)
--int
-+void
- HMAC_CTX_copy(HMAC_CTX *out, HMAC_CTX *in)
- {
-- if (!out || !in) return 0;
-+ if (!out || !in) return;
- memcpy(out, in, sizeof(HMAC_CTX));
-
-- if (!EVP_MD_CTX_copy(&out->md_ctx, &in->md_ctx)
-- || !EVP_MD_CTX_copy(&out->i_ctx, &in->i_ctx)
-- || !EVP_MD_CTX_copy(&out->o_ctx, &in->o_ctx))
-- return 0;
-- return 1;
-+ EVP_MD_CTX_copy(&out->md_ctx, &in->md_ctx);
-+ EVP_MD_CTX_copy(&out->i_ctx, &in->i_ctx);
-+ EVP_MD_CTX_copy(&out->o_ctx, &in->o_ctx);
- }
- #endif /* HAVE_HMAC_CTX_COPY */
- #endif /* NO_HMAC */
-diff -u ruby-1.8.6_p287-r10/work/ruby-1.8.6-p287/ext/openssl/openssl_missing.h ruby-1.8.7_p72-r1/work/ruby-1.8.7-p72/ext/openssl/openssl_missing.h
---- ruby-1.8.6_p287-r10/work/ruby-1.8.6-p287/ext/openssl/openssl_missing.h 2008-08-04 06:43:34.000000000 +0200
-+++ ruby-1.8.7_p72-r1/work/ruby-1.8.7-p72/ext/openssl/openssl_missing.h 2008-08-04 06:44:17.000000000 +0200
-@@ -60,14 +60,33 @@
- (char *(*)())d2i_PKCS7_RECIP_INFO, (char *)ri)
- #endif
-
-+#if !defined(HAVE_EVP_MD_CTX_INIT)
- void HMAC_CTX_init(HMAC_CTX *ctx);
--int HMAC_CTX_copy(HMAC_CTX *out, HMAC_CTX *in);
-+#endif
-+
-+#if !defined(HAVE_HMAC_CTX_COPY)
-+void HMAC_CTX_copy(HMAC_CTX *out, HMAC_CTX *in);
-+#endif
-+
-+#if !defined(HAVE_HMAC_CTX_CLEANUP)
- void HMAC_CTX_cleanup(HMAC_CTX *ctx);
-+#endif
-
-+#if !defined(HAVE_EVP_MD_CTX_CREATE)
- EVP_MD_CTX *EVP_MD_CTX_create(void);
-+#endif
-+
-+#if !defined(HAVE_EVP_MD_CTX_INIT)
- void EVP_MD_CTX_init(EVP_MD_CTX *ctx);
-+#endif
-+
-+#if !defined(HAVE_EVP_MD_CTX_CLEANUP)
- int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx);
-+#endif
-+
-+#if !defined(HAVE_EVP_MD_CTX_DESTROY)
- void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx);
-+#endif
-
- #if !defined(HAVE_EVP_CIPHER_CTX_COPY)
- int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, EVP_CIPHER_CTX *in);
-@@ -111,19 +130,54 @@
- #define OPENSSL_cleanse(p, l) memset(p, 0, l)
- #endif
-
-+#if !defined(HAVE_X509_STORE_SET_EX_DATA)
- void *X509_STORE_get_ex_data(X509_STORE *str, int idx);
- int X509_STORE_set_ex_data(X509_STORE *str, int idx, void *data);
-+#endif
-+
-+#if !defined(HAVE_X509_CRL_SET_VERSION)
- int X509_CRL_set_version(X509_CRL *x, long version);
-+#endif
-+
-+#if !defined(HAVE_X509_CRL_SET_ISSUER_NAME)
- int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name);
-+#endif
-+
-+#if !defined(HAVE_X509_CRL_SORT)
- int X509_CRL_sort(X509_CRL *c);
-+#endif
-+
-+#if !defined(HAVE_X509_CRL_ADD0_REVOKED)
- int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev);
-+#endif
-+
-+#if !defined(HAVE_BN_MOD_SQR)
- int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx);
-+#endif
-+
-+#if !defined(HAVE_BN_MOD_ADD)
- int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx);
-+#endif
-+
-+#if !defined(HAVE_BN_MOD_SUB)
- int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx);
-+#endif
-+
-+#if !defined(HAVE_BN_RAND_RANGE)
- int BN_rand_range(BIGNUM *r, BIGNUM *range);
-+#endif
-+
-+#if !defined(HAVE_BN_PSEUDO_RAND_RANGE)
- int BN_pseudo_rand_range(BIGNUM *r, BIGNUM *range);
-+#endif
-+
-+#if !defined(HAVE_CONF_GET1_DEFAULT_CONFIG_FILE)
- char *CONF_get1_default_config_file(void);
-+#endif
-+
-+#if !defined(HAVE_PEM_DEF_CALLBACK)
- int PEM_def_callback(char *buf, int num, int w, void *key);
-+#endif
-
- #if defined(__cplusplus)
- }
-diff -u ruby-1.8.6_p287-r10/work/ruby-1.8.6-p287/ext/openssl/ossl_hmac.c ruby-1.8.7_p72-r1/work/ruby-1.8.7-p72/ext/openssl/ossl_hmac.c
---- ruby-1.8.6_p287-r10/work/ruby-1.8.6-p287/ext/openssl/ossl_hmac.c 2007-03-12 05:12:32.000000000 +0100
-+++ ruby-1.8.7_p72-r1/work/ruby-1.8.7-p72/ext/openssl/ossl_hmac.c 2008-05-19 05:00:52.000000000 +0200
-@@ -81,12 +87,15 @@
- GetHMAC(self, ctx1);
- SafeGetHMAC(other, ctx2);
-
-- if (!HMAC_CTX_copy(ctx1, ctx2)) {
-- ossl_raise(eHMACError, NULL);
-- }
-+ HMAC_CTX_copy(ctx1, ctx2);
- return self;
- }
-
-+/*
-+ * call-seq:
-+ * hmac.update(string) -> self
-+ *
-+ */
- static VALUE
- ossl_hmac_update(VALUE self, VALUE data)
- {
-@@ -104,9 +113,7 @@
- {
- HMAC_CTX final;
-
-- if (!HMAC_CTX_copy(&final, ctx)) {
-- ossl_raise(eHMACError, NULL);
-- }
-+ HMAC_CTX_copy(&final, ctx);
- if (!(*buf = OPENSSL_malloc(HMAC_size(&final)))) {
- HMAC_CTX_cleanup(&final);
- OSSL_Debug("Allocating %d mem", HMAC_size(&final));
diff --git a/dev-lang/ruby/files/ruby-1.8.6-shortname_constants.patch b/dev-lang/ruby/files/ruby-1.8.6-shortname_constants.patch
deleted file mode 100644
index 760c62f78ddc..000000000000
--- a/dev-lang/ruby/files/ruby-1.8.6-shortname_constants.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Changeset 18485 from Ruby SVN to fix bug #247790
-
---- node.h 2008/08/11 02:52:57 18484
-+++ node.h 2008/08/11 05:42:31 18485
-@@ -319,7 +319,7 @@
- #define NEW_MODULE(n,b) NEW_NODE(NODE_MODULE,n,NEW_SCOPE(b),0)
- #define NEW_COLON2(c,i) NEW_NODE(NODE_COLON2,c,i,0)
- #define NEW_COLON3(i) NEW_NODE(NODE_COLON3,0,i,0)
--#define NEW_CREF(c) (NEW_NODE(NODE_CREF,0,0,c))
-+#define NEW_CREF(c,n) NEW_NODE(NODE_CREF,c,0,n)
- #define NEW_DOT2(b,e) NEW_NODE(NODE_DOT2,b,e,0)
- #define NEW_DOT3(b,e) NEW_NODE(NODE_DOT3,b,e,0)
- #define NEW_ATTRSET(a) NEW_NODE(NODE_ATTRSET,a,0,0)
---- eval.c 2008/08/11 02:52:57 18484
-+++ eval.c 2008/08/11 05:42:31 18485
-@@ -1065,7 +1065,7 @@
-
- NODE *ruby_cref = 0;
- NODE *ruby_top_cref;
--#define PUSH_CREF(c) ruby_cref = NEW_NODE(NODE_CREF,(c),0,ruby_cref)
-+#define PUSH_CREF(c) ruby_cref = NEW_CREF(c,ruby_cref)
- #define POP_CREF() ruby_cref = ruby_cref->nd_next
-
- #define PUSH_SCOPE() do { \
---- class.c 2008/08/11 02:52:57 18484
-+++ class.c 2008/08/11 05:42:31 18485
-@@ -62,7 +62,10 @@
- NODE *fbody = body->nd_body;
-
- if (fbody && nd_type(fbody) == NODE_SCOPE) {
-- fbody = rb_copy_node_scope(fbody, ruby_cref);
-+ NODE *cref = (NODE*)fbody->nd_rval;
-+
-+ if (cref) cref = cref->nd_next;
-+ fbody = rb_copy_node_scope(fbody, NEW_CREF(data->klass, cref));
- }
- st_insert(data->tbl, mid, (st_data_t)NEW_METHOD(fbody, body->nd_noex));
- return ST_CONTINUE;
diff --git a/dev-lang/ruby/files/ruby-1.8.6_p111-r13657.patch b/dev-lang/ruby/files/ruby-1.8.6_p111-r13657.patch
deleted file mode 100644
index 2e0228be0471..000000000000
--- a/dev-lang/ruby/files/ruby-1.8.6_p111-r13657.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-Index: branches/ruby_1_8/ext/openssl/lib/net/telnets.rb
-===================================================================
---- branches/ruby_1_8/ext/openssl/lib/net/telnets.rb (revision 13656)
-+++ branches/ruby_1_8/ext/openssl/lib/net/telnets.rb (revision 13657)
-@@ -134,6 +134,9 @@
- @sock.verify_callback = @options['VerifyCallback']
- @sock.verify_depth = @options['VerifyDepth']
- @sock.connect
-+ if @options['VerifyMode'] != OpenSSL::SSL::VERIFY_NONE
-+ @sock.post_connection_check(@options['Host'])
-+ end
- @ssl = true
- end
- ''
-Index: branches/ruby_1_8/ext/openssl/lib/net/ftptls.rb
-===================================================================
---- branches/ruby_1_8/ext/openssl/lib/net/ftptls.rb (revision 13656)
-+++ branches/ruby_1_8/ext/openssl/lib/net/ftptls.rb (revision 13657)
-@@ -29,13 +29,23 @@
-
- module Net
- class FTPTLS < FTP
-+ def connect(host, port=FTP_PORT)
-+ @hostname = host
-+ super
-+ end
-+
- def login(user = "anonymous", passwd = nil, acct = nil)
-+ store = OpenSSL::X509::Store.new
-+ store.set_default_paths
- ctx = OpenSSL::SSL::SSLContext.new('SSLv23')
-+ ctx.cert_store = store
-+ ctx.verify_mode = OpenSSL::SSL::VERIFY_PEER
- ctx.key = nil
- ctx.cert = nil
- voidcmd("AUTH TLS")
- @sock = OpenSSL::SSL::SSLSocket.new(@sock, ctx)
- @sock.connect
-+ @sock.post_connection_check(@hostname)
- super(user, passwd, acct)
- voidcmd("PBSZ 0")
- end
---- branches/ruby_1_8/lib/net/imap.rb (revision 13656)
-+++ branches/ruby_1_8/lib/net/imap.rb (revision 13657)
-@@ -900,6 +900,7 @@
- end
- @sock = SSLSocket.new(@sock, context)
- @sock.connect # start ssl session.
-+ @sock.post_connection_check(@host) if verify
- else
- @usessl = false
- end
-
diff --git a/dev-lang/ruby/files/ruby-1.8.6_p287-entity_expansion_limit.diff b/dev-lang/ruby/files/ruby-1.8.6_p287-entity_expansion_limit.diff
deleted file mode 100644
index a82790341505..000000000000
--- a/dev-lang/ruby/files/ruby-1.8.6_p287-entity_expansion_limit.diff
+++ /dev/null
@@ -1,103 +0,0 @@
-Fix for a security issue in the REXML library from the ruby-core list:
-http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/18414
-https://bugs.gentoo.org/show_bug.cgi?id=236060
-
-Index: lib/rexml/document.rb
-===================================================================
---- lib/rexml/document.rb (revision 18834)
-+++ lib/rexml/document.rb (working copy)
-@@ -32,6 +32,7 @@
- # @param context if supplied, contains the context of the document;
- # this should be a Hash.
- def initialize( source = nil, context = {} )
-+ @entity_expansion_count = 0
- super()
- @context = context
- return if source.nil?
-@@ -200,6 +201,27 @@
- Parsers::StreamParser.new( source, listener ).parse
- end
-
-+ @@entity_expansion_limit = 10_000
-+
-+ # Set the entity expansion limit. By defualt the limit is set to 10000.
-+ def Document::entity_expansion_limit=( val )
-+ @@entity_expansion_limit = val
-+ end
-+
-+ # Get the entity expansion limit. By defualt the limit is set to 10000.
-+ def Document::entity_expansion_limit
-+ return @@entity_expansion_limit
-+ end
-+
-+ attr_reader :entity_expansion_count
-+
-+ def record_entity_expansion
-+ @entity_expansion_count += 1
-+ if @entity_expansion_count > @@entity_expansion_limit
-+ raise "number of entity expansions exceeded, processing aborted."
-+ end
-+ end
-+
- private
- def build( source )
- Parsers::TreeParser.new( source, self ).parse
-Index: lib/rexml/entity.rb
-===================================================================
---- lib/rexml/entity.rb (revision 18834)
-+++ lib/rexml/entity.rb (working copy)
-@@ -73,6 +73,7 @@
- # all entities -- both %ent; and &ent; entities. This differs from
- # +value()+ in that +value+ only replaces %ent; entities.
- def unnormalized
-+ document.record_entity_expansion unless document.nil?
- v = value()
- return nil if v.nil?
- @unnormalized = Text::unnormalize(v, parent)
-Index: test/rexml/test_document.rb
-===================================================================
---- test/rexml/test_document.rb (revision 0)
-+++ test/rexml/test_document.rb (revision 0)
-@@ -0,0 +1,42 @@
-+require "rexml/document"
-+require "test/unit"
-+
-+class REXML::TestDocument < Test::Unit::TestCase
-+ def test_new
-+ doc = REXML::Document.new(<<EOF)
-+<?xml version="1.0" encoding="UTF-8"?>
-+<message>Hello world!</message>
-+EOF
-+ assert_equal("Hello world!", doc.root.children.first.value)
-+ end
-+
-+ XML_WITH_NESTED_ENTITY = <<EOF
-+<?xml version="1.0" encoding="UTF-8"?>
-+<!DOCTYPE member [
-+ <!ENTITY a "&b;&b;&b;&b;&b;&b;&b;&b;&b;&b;">
-+ <!ENTITY b "&c;&c;&c;&c;&c;&c;&c;&c;&c;&c;">
-+ <!ENTITY c "&d;&d;&d;&d;&d;&d;&d;&d;&d;&d;">
-+ <!ENTITY d "&e;&e;&e;&e;&e;&e;&e;&e;&e;&e;">
-+ <!ENTITY e "&f;&f;&f;&f;&f;&f;&f;&f;&f;&f;">
-+ <!ENTITY f "&g;&g;&g;&g;&g;&g;&g;&g;&g;&g;">
-+ <!ENTITY g "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">
-+]>
-+<member>
-+&a;
-+</member>
-+EOF
-+
-+ def test_entity_expansion_limit
-+ doc = REXML::Document.new(XML_WITH_NESTED_ENTITY)
-+ assert_raise(RuntimeError) do
-+ doc.root.children.first.value
-+ end
-+ REXML::Document.entity_expansion_limit = 100
-+ assert_equal(100, REXML::Document.entity_expansion_limit)
-+ doc = REXML::Document.new(XML_WITH_NESTED_ENTITY)
-+ assert_raise(RuntimeError) do
-+ doc.root.children.first.value
-+ end
-+ assert_equal(101, doc.entity_expansion_count)
-+ end
-+end
diff --git a/dev-lang/ruby/ruby-1.8.6_p114.ebuild b/dev-lang/ruby/ruby-1.8.6_p114.ebuild
deleted file mode 100644
index 6c77cdfd6e7f..000000000000
--- a/dev-lang/ruby/ruby-1.8.6_p114.ebuild
+++ /dev/null
@@ -1,170 +0,0 @@
-# Copyright 1999-2009 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_p114.ebuild,v 1.14 2009/05/10 18:52:51 a3li Exp $
-
-WANT_AUTOCONF="latest"
-WANT_AUTOMAKE="latest"
-
-ONIGURUMA="onigd2_5_9"
-
-inherit autotools eutils flag-o-matic multilib versionator
-
-MY_P="${PN}-$(replace_version_separator 3 '-')"
-S=${WORKDIR}/${MY_P}
-
-SLOT=$(get_version_component_range 1-2)
-MY_SUFFIX=$(delete_version_separator 1 ${SLOT})
-
-DESCRIPTION="An object-oriented scripting language"
-HOMEPAGE="http://www.ruby-lang.org/"
-SRC_URI="mirror://ruby/${SLOT}/${MY_P}.tar.bz2
- cjk? ( http://www.geocities.jp/kosako3/oniguruma/archive/${ONIGURUMA}.tar.gz )"
-
-LICENSE="|| ( Ruby GPL-2 )"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 s390 sh sparc ~sparc-fbsd x86 ~x86-fbsd"
-IUSE="berkdb cjk debug doc emacs examples gdbm ipv6 rubytests socks5 ssl threads tk xemacs"
-
-RDEPEND="
- berkdb? ( sys-libs/db )
- gdbm? ( sys-libs/gdbm )
- ssl? ( dev-libs/openssl )
- socks5? ( >=net-proxy/dante-1.1.13 )
- tk? ( dev-lang/tk )
- >=dev-ruby/ruby-config-0.3.1
- !=dev-lang/ruby-cvs-${SLOT}*
- !dev-ruby/rdoc
- !dev-ruby/rexml"
-DEPEND="${RDEPEND}"
-PDEPEND="emacs? ( app-emacs/ruby-mode )
- xemacs? ( app-xemacs/ruby-modes )"
-
-PROVIDE="virtual/ruby"
-
-src_unpack() {
- unpack ${A}
-
- if use cjk ; then
- einfo "Applying ${ONIGURUMA}"
- pushd "${WORKDIR}/oniguruma"
- econf --with-rubydir="${S}" || die "oniguruma econf failed"
- emake $MY_SUFFIX || die "oniguruma emake failed"
- popd
- fi
-
- cd "${S}/ext/dl"
- epatch "${FILESDIR}/${PN}-1.8.6-memory-leak.diff"
- cd "${S}"
-
- epatch "${FILESDIR}/${PN}-1.8.6_p111-r13657.patch"
-
- # 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=$MY_SUFFIX --enable-shared \
- $(use_enable socks5 socks) \
- $(use_enable doc install-doc) \
- $(use_enable threads pthread) \
- $(use_enable ipv6) \
- $(use_enable debug) \
- $(use_with berkdb dbm) \
- $(use_with gdbm) \
- $(use_with ssl openssl) \
- $(use_with tk) \
- ${myconf} \
- --with-sitedir=/usr/$(get_libdir)/ruby/site_ruby \
- || die "econf failed"
-
- emake EXTLDFLAGS="${LDFLAGS}" || 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
-
- emake 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$MY_SUFFIX$(get_libname ${PV%_*}) /usr/$(get_libdir)/libruby$(get_libname ${PV%.*})
- dosym libruby$MY_SUFFIX$(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() {
-
- if [[ ! -n $(readlink "${ROOT}"usr/bin/ruby) ]] ; then
- "${ROOT}usr/sbin/ruby-config" ruby$MY_SUFFIX
- 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$MY_SUFFIX
- fi
-}