diff --git a/dev-perl/EV/EV-4.340.0.ebuild b/dev-perl/EV/EV-4.340.0.ebuild index d4a824e327b60..efe99cb7177fa 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 0000000000000..ae821fa895cbe --- /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