commit:     f8a4d78fc0ddcd4db208cf2c94488487139ae1a9
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 28 03:04:37 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jun 28 03:04:37 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f8a4d78f

dev-perl/EV: fix build w/ perl-5.42

Closes: https://bugs.gentoo.org/959141
Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-perl/EV/EV-4.340.0.ebuild             |  7 +++++--
 dev-perl/EV/files/EV-4.34-perl-5.42.patch | 17 +++++++++++++++++
 2 files changed, 22 insertions(+), 2 deletions(-)

diff --git a/dev-perl/EV/EV-4.340.0.ebuild b/dev-perl/EV/EV-4.340.0.ebuild
index d4a824e327b6..efe99cb7177f 100644
--- a/dev-perl/EV/EV-4.340.0.ebuild
+++ b/dev-perl/EV/EV-4.340.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
@@ -18,10 +18,13 @@ RDEPEND="
 "
 BDEPEND="
        ${RDEPEND}
-       virtual/perl-ExtUtils-MakeMaker
        dev-perl/Canary-Stability
 "
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-4.34-perl-5.42.patch
+)
+
 src_compile() {
        # See bug #855869 and its large number of dupes in bundled libev copies.
        filter-lto

diff --git a/dev-perl/EV/files/EV-4.34-perl-5.42.patch 
b/dev-perl/EV/files/EV-4.34-perl-5.42.patch
new file mode 100644
index 000000000000..ae821fa895cb
--- /dev/null
+++ b/dev-perl/EV/files/EV-4.34-perl-5.42.patch
@@ -0,0 +1,17 @@
+https://bugs.gentoo.org/959141
+https://github.com/Perl/perl5/issues/22353#issuecomment-2907796786
+--- a/typemap
++++ b/typemap
+@@ -37,9 +37,9 @@ T_LOOP
+ 
+ T_WATCHER
+       if (!(SvROK ($arg) && SvOBJECT (SvRV ($arg))
+-              && (SvSTASH (SvRV ($arg)) == stash_" . ($type =~ /ev_(\S+)/, 
"$1") . "
+-                  || sv_derived_from ($arg, \"EV::" . ($type =~ /ev_(\S+)/, 
ucfirst "$1") . "\"))))
+-          croak (\"object is not of type EV::" . ($type =~ /ev_(\S+)/, 
ucfirst "$1") . "\");
++              && (SvSTASH (SvRV ($arg)) == stash_${ ($type =~ /ev_(\S+)/, 
\qq{$1}) }
++                  || sv_derived_from ($arg, \"EV::${ ($type =~ /ev_(\S+)/, 
\ucfirst qq{$1}) }\"))))
++          croak (\"object is not of type EV::${ ($type =~ /ev_(\S+)/, 
\ucfirst qq{$1}) }\");
+       $var = ($type)SvPVX (SvRV ($arg));
+ 
+ OUTPUT

Reply via email to