Version bump: provide better duck type compatibility to a Hash.
authorHans de Graaff <graaff@gentoo.org>
Sun, 4 Apr 2010 06:54:38 +0000 (06:54 +0000)
committerHans de Graaff <graaff@gentoo.org>
Sun, 4 Apr 2010 06:54:38 +0000 (06:54 +0000)
Package-Manager: portage-2.1.7.17/cvs/Linux x86_64

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

index 56cdf0d6622df419f413ba5c99128aa7c686fc70..2bc04f0ffadbe295f17d8fc428f6daf0183f3653 100644 (file)
@@ -1,6 +1,11 @@
 # 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.20 2010/03/01 07:09:43 graaff Exp $
+# $Header: /var/cvsroot/gentoo-x86/dev-ruby/json/ChangeLog,v 1.21 2010/04/04 06:54:38 graaff Exp $
+
+*json-1.2.3 (04 Apr 2010)
+
+  04 Apr 2010; Hans de Graaff <graaff@gentoo.org> +json-1.2.3.ebuild:
+  Version bump: provide better duck type compatibility to a Hash.
 
 *json-1.2.2 (01 Mar 2010)
 
diff --git a/dev-ruby/json/json-1.2.3.ebuild b/dev-ruby/json/json-1.2.3.ebuild
new file mode 100644 (file)
index 0000000..3b3fdfd
--- /dev/null
@@ -0,0 +1,64 @@
+# 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.2.3.ebuild,v 1.1 2010/04/04 06:54:38 graaff Exp $
+
+EAPI=2
+USE_RUBY="ruby18 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=""
+DEPEND="dev-util/ragel"
+
+ruby_add_bdepend test virtual/ruby-test-unit
+ruby_add_bdepend dev-ruby/rake
+
+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/json/ext" \
+                       ${RUBY} -Ilib:ext/json/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/generator.so
+               ruby_fakegem_newins ext/json/ext/parser.so lib/json/parser.so
+       fi
+}