summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans de Graaff <graaff@gentoo.org>2018-03-09 07:13:43 +0100
committerHans de Graaff <graaff@gentoo.org>2018-03-09 07:13:43 +0100
commitff37c90b2fca93b1c6ab5458cecd75bdbd744d4b (patch)
tree88f89c8a59c1cfde021291f28623a7631e155a7a /dev-ruby/rspec-mocks
parentdev-ruby/rspec-expectations: add ruby25 (diff)
downloadgentoo-ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b.tar.gz
gentoo-ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b.tar.bz2
gentoo-ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b.zip
dev-ruby/rspec-mocks: add ruby25
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Diffstat (limited to 'dev-ruby/rspec-mocks')
-rw-r--r--dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-1.patch27
-rw-r--r--dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-2.patch38
-rw-r--r--dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild6
3 files changed, 69 insertions, 2 deletions
diff --git a/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-1.patch b/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-1.patch
new file mode 100644
index 000000000000..6b545ae3cf7a
--- /dev/null
+++ b/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-1.patch
@@ -0,0 +1,27 @@
+From 871eb31e3bfe50705ca57e754771aa1e0164f12d Mon Sep 17 00:00:00 2001
+From: Myron Marston <myron.marston@gmail.com>
+Date: Sat, 30 Dec 2017 17:45:43 -0800
+Subject: [PATCH] Skip spec that does not apply to Ruby 2.5.
+
+Ruby 2.5 has removed the ability to access top-level constants
+via a confusing nested form (e.g. `MyClass::Hash`), so we no
+longer need this spec there.
+
+For #1192.
+---
+ spec/rspec/mocks/mutate_const_spec.rb | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/spec/rspec/mocks/mutate_const_spec.rb b/spec/rspec/mocks/mutate_const_spec.rb
+index fe8d4128..9d80dd73 100644
+--- a/spec/rspec/mocks/mutate_const_spec.rb
++++ b/spec/rspec/mocks/mutate_const_spec.rb
+@@ -170,7 +170,7 @@ def change_const_value_to(value)
+ expect(::Hash).to equal(top_level_hash)
+ end
+
+- it 'does not affect the ability to access the top-level constant from nested contexts', :silence_warnings do
++ it 'does not affect the ability to access the top-level constant from nested contexts', :silence_warnings, :if => RUBY_VERSION < '2.5' do
+ top_level_hash = ::Hash
+
+ hide_const("TestClass::Hash")
diff --git a/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-2.patch b/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-2.patch
new file mode 100644
index 000000000000..3ac448938416
--- /dev/null
+++ b/dev-ruby/rspec-mocks/files/rspec-mocks-3.7.0-ruby25-2.patch
@@ -0,0 +1,38 @@
+From 783923d6879a2f9df9fee8ef24cecca6ac21136e Mon Sep 17 00:00:00 2001
+From: Myron Marston <myron.marston@gmail.com>
+Date: Sat, 30 Dec 2017 23:35:27 -0800
+Subject: [PATCH] Make spec less brittle.
+
+On Ruby 2.5, this spec failed, apparently due to the fact that
+Method equality has changed on 2.5 slightly. The method instances
+have always been different but 2.4 and before considered them
+equivalent. Instead, we can show that the two method objects
+_behave_ the same, which is what we really care about.
+
+Fixes #1192.
+---
+ spec/rspec/mocks/and_wrap_original_spec.rb | 9 +++++----
+ 1 file changed, 5 insertions(+), 4 deletions(-)
+
+diff --git a/spec/rspec/mocks/and_wrap_original_spec.rb b/spec/rspec/mocks/and_wrap_original_spec.rb
+index df9cae46..2d4d0a8b 100644
+--- a/spec/rspec/mocks/and_wrap_original_spec.rb
++++ b/spec/rspec/mocks/and_wrap_original_spec.rb
+@@ -26,12 +26,13 @@ def results
+ }.to raise_error NameError
+ end
+
+- it "passes in the original method" do
+- value = nil
++ it "passes along the original method" do
++ passed_method = nil
+ original_method = instance.method(:results)
+- allow_it.to receive(:results).and_wrap_original { |m| value = m }
++ allow_it.to receive(:results).and_wrap_original { |m| passed_method = m }
+ instance.results
+- expect(value).to eq original_method
++
++ expect(passed_method.call).to eq(original_method.call)
+ end
+
+ it "passes along the message arguments" do
diff --git a/dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild b/dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild
index d7c6b8dbc418..31797ab2b003 100644
--- a/dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild
+++ b/dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2018 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI=6
-USE_RUBY="ruby22 ruby23 ruby24"
+USE_RUBY="ruby22 ruby23 ruby24 ruby25"
RUBY_FAKEGEM_RECIPE_TEST="rspec3"
@@ -22,6 +22,8 @@ IUSE=""
SUBVERSION="$(get_version_component_range 1-2)"
+PATCHES=( "${FILESDIR}/${P}-ruby25-1.patch" "${FILESDIR}/${P}-ruby25-2.patch" )
+
ruby_add_rdepend "=dev-ruby/rspec-support-${SUBVERSION}*
>=dev-ruby/diff-lcs-1.2.0 =dev-ruby/diff-lcs-1*"