public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Hans de Graaff" <graaff@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-ruby/rspec-mocks/, dev-ruby/rspec-mocks/files/
Date: Fri,  9 Mar 2018 06:15:33 +0000 (UTC)	[thread overview]
Message-ID: <1520576023.ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b.graaff@gentoo> (raw)

commit:     ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b
Author:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  9 06:13:43 2018 +0000
Commit:     Hans de Graaff <graaff <AT> gentoo <DOT> org>
CommitDate: Fri Mar  9 06:13:43 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff37c90b

dev-ruby/rspec-mocks: add ruby25

Package-Manager: Portage-2.3.19, Repoman-2.3.6

 .../files/rspec-mocks-3.7.0-ruby25-1.patch         | 27 +++++++++++++++
 .../files/rspec-mocks-3.7.0-ruby25-2.patch         | 38 ++++++++++++++++++++++
 dev-ruby/rspec-mocks/rspec-mocks-3.7.0.ebuild      |  6 ++--
 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 00000000000..6b545ae3cf7
--- /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 00000000000..3ac44893841
--- /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 d7c6b8dbc41..31797ab2b00 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*"
 


                 reply	other threads:[~2018-03-09  6:15 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1520576023.ff37c90b2fca93b1c6ab5458cecd75bdbd744d4b.graaff@gentoo \
    --to=graaff@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox