Version bump, install the extensions in the right paths so that they are actually...
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Sun, 23 May 2010 21:47:50 +0000 (21:47 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Sun, 23 May 2010 21:47:50 +0000 (21:47 +0000)
Package-Manager: portage-2.2_rc67/cvs/Linux x86_64

dev-ruby/json/ChangeLog
dev-ruby/json/json-1.4.3-r1.ebuild [new file with mode: 0644]

index c86bdf79e9bb78fcd40074934dbafd43242a89d1..585226fc98d690927067da5e4d355be0582c6f13 100644 (file)
@@ -1,6 +1,14 @@
 # ChangeLog for dev-ruby/json
 # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-ruby/json/ChangeLog,v 1.30 2010/05/22 22:54:33 a3li Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/json/ChangeLog,v 1.31 2010/05/23 21:47:50 flameeyes Exp $
+
+*json-1.4.3-r1 (23 May 2010)
+
+  23 May 2010; Diego E. Pettenò <flameeyes@gentoo.org>
+  +json-1.4.3-r1.ebuild:
+  Version bump, install the extensions in the right paths so that they are
+  actually picked up (yes, all the older versions were still using the
+  pure-ruby implementation after building the C extension.
 
   22 May 2010; Alex Legler <a3li@gentoo.org> json-1.4.3.ebuild:
   Add REE18 support
diff --git a/dev-ruby/json/json-1.4.3-r1.ebuild b/dev-ruby/json/json-1.4.3-r1.ebuild
new file mode 100644 (file)
index 0000000..bc8cb9f
--- /dev/null
@@ -0,0 +1,65 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/json/json-1.4.3-r1.ebuild,v 1.1 2010/05/23 21:47:50 flameeyes Exp $
+
+EAPI=2
+USE_RUBY="ruby18 ree18 ruby19 jruby"
+
+RUBY_FAKEGEM_TASK_DOC="doc"
+RUBY_FAKEGEM_EXTRADOC="CHANGES TODO README"
+RUBY_FAKEGEM_DOCDIR="doc"
+
+inherit ruby-fakegem
+
+DESCRIPTION="A JSON implementation as a Ruby extension."
+HOMEPAGE="http://json.rubyforge.org/"
+LICENSE="|| ( Ruby GPL-2 )"
+SRC_URI="mirror://rubygems/${P}.gem"
+
+KEYWORDS="~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x86-solaris"
+SLOT="0"
+IUSE=""
+
+RDEPEND="${RDEPEND}"
+DEPEND="${DEPEND}
+       dev-util/ragel"
+
+ruby_add_bdepend "dev-ruby/rake
+       test? ( virtual/ruby-test-unit )"
+
+all_ruby_prepare() {
+       # Avoid building the extension twice!
+       sed -i \
+               -e 's| => :compile_ext||' \
+               -e 's| => :clean||' \
+               Rakefile || die "rakefile fix failed"
+}
+
+each_ruby_compile() {
+       if [[ $(basename ${RUBY}) != "jruby" ]]; then
+               ${RUBY} -S rake compile_ext || die "extension compile failed"
+       fi
+}
+
+each_ruby_test() {
+       # We have to set RUBYLIB because otherwise the tests will run
+       # against the sytem-installed json; at the same time, we cannot
+       # use the -I parameter because rake won't let it pass to the
+       # testrb call that is executed down the road.
+
+       RUBYLIB="${RUBYLIB}${RUBYLIB+:}lib:ext/json/ext" \
+               ${RUBY} -S rake test_pure || die "pure ruby tests failed"
+
+       if [[ $(basename ${RUBY}) != "jruby" ]]; then
+               RUBYLIB="${RUBYLIB}${RUBYLIB+:}lib:ext" \
+                       ${RUBY} -Ilib:ext -S rake test_ext || die " ruby extension tests failed"
+       fi
+}
+
+each_ruby_install() {
+       each_fakegem_install
+       if [[ $(basename ${RUBY}) != "jruby" ]]; then
+               ruby_fakegem_newins ext/json/ext/generator.so lib/json/ext/generator.so
+               ruby_fakegem_newins ext/json/ext/parser.so lib/json/ext/parser.so
+       fi
+}