summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2010-12-27 21:15:51 +0000
committerHans de Graaff <graaff@gentoo.org>2010-12-27 21:15:51 +0000
commit59139e5a304e18b7bb4bcd5a6512611c24d5a87f (patch)
tree1b266cc1961b373561bd6e87278a798fe1d47317 /dev-ruby
parentRename XDG session script to avoid needing dispatch-conf. Fixes bug 336436. (diff)
downloadgentoo-2-59139e5a304e18b7bb4bcd5a6512611c24d5a87f.tar.gz
gentoo-2-59139e5a304e18b7bb4bcd5a6512611c24d5a87f.tar.bz2
gentoo-2-59139e5a304e18b7bb4bcd5a6512611c24d5a87f.zip
Version bump. Also fix bug 329497.
(Portage version: 2.1.9.25/cvs/Linux x86_64)
Diffstat (limited to 'dev-ruby')
-rw-r--r--dev-ruby/parsetree/ChangeLog8
-rw-r--r--dev-ruby/parsetree/files/parsetree-3.0.6-timestamp.patch11
-rw-r--r--dev-ruby/parsetree/parsetree-3.0.6.ebuild87
3 files changed, 105 insertions, 1 deletions
diff --git a/dev-ruby/parsetree/ChangeLog b/dev-ruby/parsetree/ChangeLog
index 203a6e2baad1..8c74e9ce0093 100644
--- a/dev-ruby/parsetree/ChangeLog
+++ b/dev-ruby/parsetree/ChangeLog
@@ -1,11 +1,17 @@
# ChangeLog for dev-ruby/parsetree
# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-ruby/parsetree/ChangeLog,v 1.34 2010/12/27 21:11:22 grobian Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/parsetree/ChangeLog,v 1.35 2010/12/27 21:15:51 graaff Exp $
27 Dec 2010; Fabian Groffen <grobian@gentoo.org>
parsetree-3.0.5-r2.ebuild:
Marked ~x64-solaris
+*parsetree-3.0.6 (27 Dec 2010)
+
+ 27 Dec 2010; Hans de Graaff <graaff@gentoo.org> +parsetree-3.0.6.ebuild,
+ +files/parsetree-3.0.6-timestamp.patch:
+ Version bump. Also fix bug 329497.
+
03 Dec 2010; Fabian Groffen <grobian@gentoo.org>
parsetree-3.0.5-r2.ebuild:
Marked ~x64-macos
diff --git a/dev-ruby/parsetree/files/parsetree-3.0.6-timestamp.patch b/dev-ruby/parsetree/files/parsetree-3.0.6-timestamp.patch
new file mode 100644
index 000000000000..8a63760db2d2
--- /dev/null
+++ b/dev-ruby/parsetree/files/parsetree-3.0.6-timestamp.patch
@@ -0,0 +1,11 @@
+--- lib/parse_tree.rb.~1~ 2010-12-27 20:39:27.668922955 +0100
++++ lib/parse_tree.rb 2010-12-27 21:06:24.341565405 +0100
+@@ -258,6 +258,8 @@
+ builder.include '"st.h"'
+ builder.include '"env.h"'
+
++ builder.c 'static VALUE gentoo_timestamp_TIMESTAMP() { return 0; }'
++
+ builder.prefix '#define _sym(s) ID2SYM(rb_intern((s)))'
+
+ if RUBY_VERSION < "1.8.6" then
diff --git a/dev-ruby/parsetree/parsetree-3.0.6.ebuild b/dev-ruby/parsetree/parsetree-3.0.6.ebuild
new file mode 100644
index 000000000000..6b2de39cc129
--- /dev/null
+++ b/dev-ruby/parsetree/parsetree-3.0.6.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/parsetree/parsetree-3.0.6.ebuild,v 1.1 2010/12/27 21:15:51 graaff Exp $
+
+EAPI=2
+
+USE_RUBY="ruby18 ree18"
+
+RUBY_FAKEGEM_NAME="ParseTree"
+
+RUBY_FAKEGEM_TASK_DOC="docs"
+RUBY_FAKEGEM_DOCDIR="doc"
+RUBY_FAKEGEM_EXTRADOC="README.txt History.txt"
+
+inherit multilib ruby-fakegem
+
+DESCRIPTION="ParseTree extracts the parse tree for a Class or method and returns it as a s-expression."
+HOMEPAGE="http://www.zenspider.com/ZSS/Products/ParseTree/"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~x64-solaris ~x86-solaris"
+IUSE=""
+
+ruby_add_rdepend '
+ >=dev-ruby/ruby-inline-3.8.4-r1
+ >=dev-ruby/sexp-processor-3.0.0'
+ruby_add_bdepend "
+ test? (
+ dev-ruby/hoe
+ dev-ruby/hoe-seattlerb
+ dev-ruby/minitest
+ dev-ruby/ruby2ruby
+ )
+ doc? (
+ dev-ruby/hoe
+ dev-ruby/hoe-seattlerb
+ )"
+
+all_ruby_prepare() {
+ # Fix USE=doc by removing the path that triggers running the tests
+ # and thus building the extensions in the wrong way.
+ sed -i -e '/require_paths/d' Rakefile || die
+
+}
+
+each_ruby_prepare() {
+ # RubyInline employs a very stupid caching strategy solely based on
+ # the public signatures of methods. Never mind bugs within the C
+ # code... We add a dynamic method name to the parsetree interface
+ # just so that we can guarantee compilation. Fixes #329497.
+ epatch "${FILESDIR}/${P}-timestamp.patch"
+ sed -i -e "s/TIMESTAMP/$(date +%s)/" lib/parse_tree.rb || die
+}
+
+src_compile() {
+ chmod 0755 "${HOME}" || die "Failed to fix permissions on home"
+ ruby-ng_src_compile
+}
+
+each_ruby_compile() {
+ # The ruby extension uses RubyInline to use C code within Ruby;
+ # since it causes us no little pain, we'll do our best here to
+ # prebuild the extensions.
+
+ INLINEDIR="${PWD}" ${RUBY} -Ilib -rparse_tree -e '' || die "Unable to load ${PN}"
+
+ mkdir lib/inline
+ cp .ruby_inline/*$(get_modname) lib/inline/ || die
+}
+
+src_test() {
+ chmod 0755 "${HOME}" || die "Failed to fix permissions on home"
+ ruby-ng_src_test
+}
+
+pkg_postinst() {
+ elog "${CATEGORY}/${PN} uses the RubyInline library to build its parser."
+ elog "RubyInline builds loadable extensions at runtime in your home"
+ elog "directory if they are not supplied by the gems."
+ elog ""
+ elog "We are currently providing you with pre-built extensions for"
+ elog "the Ruby implementations you're using. Unfortunately these are"
+ elog "different from version to version, so you might have to"
+ elog "rebuild ${CATEGORY}/${PN} after each update to dev-lang/ruby or"
+ elog "dev-lang/ruby-enterprise."
+}