diff options
author | Hans de Graaff <graaff@gentoo.org> | 2010-12-27 21:15:51 +0000 |
---|---|---|
committer | Hans de Graaff <graaff@gentoo.org> | 2010-12-27 21:15:51 +0000 |
commit | 59139e5a304e18b7bb4bcd5a6512611c24d5a87f (patch) | |
tree | 1b266cc1961b373561bd6e87278a798fe1d47317 /dev-ruby | |
parent | Rename XDG session script to avoid needing dispatch-conf. Fixes bug 336436. (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | dev-ruby/parsetree/files/parsetree-3.0.6-timestamp.patch | 11 | ||||
-rw-r--r-- | dev-ruby/parsetree/parsetree-3.0.6.ebuild | 87 |
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." +} |