summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2015-12-25 09:46:26 +0100
committerHans de Graaff <graaff@gentoo.org>2015-12-25 09:46:50 +0100
commit89ca3a93218db57eaa570c6b942169403730c746 (patch)
treee078a7f7efb0e59c6ae4080ee8c6f966669e5c54 /dev-ruby/i18n
parentdev-ruby/activesupport: add ruby22 (diff)
downloadgentoo-89ca3a93218db57eaa570c6b942169403730c746.tar.gz
gentoo-89ca3a93218db57eaa570c6b942169403730c746.tar.bz2
gentoo-89ca3a93218db57eaa570c6b942169403730c746.zip
dev-ruby/i18n: add ruby22
Add an unapplied upstream pull request to make sure ruby22 tests work and to avoid similar issues with frozen classes when using it. Package-Manager: portage-2.2.24
Diffstat (limited to 'dev-ruby/i18n')
-rw-r--r--dev-ruby/i18n/files/i18n-0.7.0-frozen-classes.patch31
-rw-r--r--dev-ruby/i18n/i18n-0.7.0-r1.ebuild56
2 files changed, 87 insertions, 0 deletions
diff --git a/dev-ruby/i18n/files/i18n-0.7.0-frozen-classes.patch b/dev-ruby/i18n/files/i18n-0.7.0-frozen-classes.patch
new file mode 100644
index 000000000000..ff6019498fc5
--- /dev/null
+++ b/dev-ruby/i18n/files/i18n-0.7.0-frozen-classes.patch
@@ -0,0 +1,31 @@
+From bbbdedc0c78ec941a84d161d5c610a358310cf99 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?V=C3=ADt=20Ondruch?= <vondruch@redhat.com>
+Date: Tue, 20 Jan 2015 14:34:44 +0100
+Subject: [PATCH] Ignore metadata for frozen classes.
+
+---
+ lib/i18n/backend/metadata.rb | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/lib/i18n/backend/metadata.rb b/lib/i18n/backend/metadata.rb
+index 52c0a29..a8d922a 100644
+--- a/lib/i18n/backend/metadata.rb
++++ b/lib/i18n/backend/metadata.rb
+@@ -21,11 +21,15 @@ class << self
+ def included(base)
+ Object.class_eval do
+ def translation_metadata
+- @translation_metadata ||= {}
++ unless self.frozen?
++ @translation_metadata ||= {}
++ else
++ {}
++ end
+ end
+
+ def translation_metadata=(translation_metadata)
+- @translation_metadata = translation_metadata
++ @translation_metadata = translation_metadata unless self.frozen?
+ end
+ end unless Object.method_defined?(:translation_metadata)
+ end
diff --git a/dev-ruby/i18n/i18n-0.7.0-r1.ebuild b/dev-ruby/i18n/i18n-0.7.0-r1.ebuild
new file mode 100644
index 000000000000..a25c19978c2e
--- /dev/null
+++ b/dev-ruby/i18n/i18n-0.7.0-r1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+USE_RUBY="ruby20 ruby21 ruby22"
+
+RUBY_FAKEGEM_RECIPE_TEST="test"
+RUBY_FAKEGEM_RECIPE_DOC="rdoc"
+RUBY_FAKEGEM_EXTRADOC="CHANGELOG.md README.md"
+
+RUBY_FAKEGEM_GEMSPEC="${PN}.gemspec"
+
+inherit ruby-fakegem versionator
+
+DESCRIPTION="Add Internationalization support to your Ruby application"
+HOMEPAGE="http://rails-i18n.org/"
+SRC_URI="https://github.com/svenfuchs/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="$(get_version_component_range 1-2)"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+IUSE=""
+
+RUBY_PATCHES=( ${P}-frozen-classes.patch )
+
+ruby_add_bdepend "test? (
+ >=dev-ruby/activesupport-3.2 <dev-ruby/activesupport-4.3
+ dev-ruby/bundler
+ dev-ruby/mocha:0.13
+ dev-ruby/test_declarative )"
+
+all_ruby_prepare() {
+ # Remove bundler lock files since we cannot depend on specific
+ # versions in Gentoo.
+ rm gemfiles/*.lock || die
+}
+
+each_ruby_test() {
+ case ${RUBY} in
+ *ruby22)
+ versions="4.2"
+ ;;
+ *)
+ versions="3.2 4.0 4.1 4.2"
+ ;;
+ esac
+
+ for version in ${versions} ; do
+ if has_version "dev-ruby/activesupport:${version}" ; then
+ einfo "Running tests with activesupport ${version}"
+ BUNDLE_GEMFILE="${S}/gemfiles/Gemfile.rails-${version}.x" ${RUBY} -S bundle exec ${RUBY} -S rake test || die
+ fi
+ done
+}