From 07603e60a9a10de49c1d8ccbbefb2af077719719 Mon Sep 17 00:00:00 2001 From: Jitka Plesnikova Date: Thu, 2 May 2019 08:35:51 +0200 Subject: [PATCH] Upgrade to 3.40 as provided in perl-5.29.10 --- ExtUtils-ParseXS-3.39-Upgrade-to-3.40.patch | 126 ++++++++++++++++++ ...t-include-OUTLIST-parameters-in-the-.patch | 66 --------- perl-ExtUtils-ParseXS.spec | 14 +- 3 files changed, 135 insertions(+), 71 deletions(-) create mode 100644 ExtUtils-ParseXS-3.39-Upgrade-to-3.40.patch delete mode 100644 perl-5.29.5-perl-133654-don-t-include-OUTLIST-parameters-in-the-.patch diff --git a/ExtUtils-ParseXS-3.39-Upgrade-to-3.40.patch b/ExtUtils-ParseXS-3.39-Upgrade-to-3.40.patch new file mode 100644 index 0000000..ff7a9b6 --- /dev/null +++ b/ExtUtils-ParseXS-3.39-Upgrade-to-3.40.patch @@ -0,0 +1,126 @@ +From 4f8996e1ea5a5f24b1d5b4462f56a917daa67a47 Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova +Date: Fri, 26 Apr 2019 15:59:36 +0200 +Subject: [PATCH] Upgrade to 3.40 + +The generated prototype (with PROTOTYPES: ENABLE) would include +OUTLIST parameters, but these aren't arguments to the perl function. + +--- + lib/ExtUtils/ParseXS.pm | 4 ++-- + lib/ExtUtils/ParseXS/Constants.pm | 2 +- + lib/ExtUtils/ParseXS/CountLines.pm | 2 +- + lib/ExtUtils/ParseXS/Eval.pm | 2 +- + lib/ExtUtils/ParseXS/Utilities.pm | 2 +- + t/002-more.t | 7 +++++-- + 6 files changed, 11 insertions(+), 8 deletions(-) + +diff --git a/lib/ExtUtils/ParseXS.pm b/lib/ExtUtils/ParseXS.pm +index e1f0940..fba7f4d 100644 +--- a/lib/ExtUtils/ParseXS.pm ++++ b/lib/ExtUtils/ParseXS.pm +@@ -11,7 +11,7 @@ use Symbol; + + our $VERSION; + BEGIN { +- $VERSION = '3.39'; ++ $VERSION = '3.40'; + require ExtUtils::ParseXS::Constants; ExtUtils::ParseXS::Constants->VERSION($VERSION); + require ExtUtils::ParseXS::CountLines; ExtUtils::ParseXS::CountLines->VERSION($VERSION); + require ExtUtils::ParseXS::Utilities; ExtUtils::ParseXS::Utilities->VERSION($VERSION); +@@ -467,7 +467,7 @@ EOM + $self->{defaults}->{$args[$i]} = $2; + $self->{defaults}->{$args[$i]} =~ s/"/\\"/g; + } +- $self->{proto_arg}->[$i+1] = '$'; ++ $self->{proto_arg}->[$i+1] = '$' unless $only_C_inlist_ref->{$args[$i]}; + } + my $min_args = $num_args - $extra_args; + $report_args =~ s/"/\\"/g; +diff --git a/lib/ExtUtils/ParseXS/Constants.pm b/lib/ExtUtils/ParseXS/Constants.pm +index 45b5674..2c392e3 100644 +--- a/lib/ExtUtils/ParseXS/Constants.pm ++++ b/lib/ExtUtils/ParseXS/Constants.pm +@@ -3,7 +3,7 @@ use strict; + use warnings; + use Symbol; + +-our $VERSION = '3.39'; ++our $VERSION = '3.40'; + + =head1 NAME + +diff --git a/lib/ExtUtils/ParseXS/CountLines.pm b/lib/ExtUtils/ParseXS/CountLines.pm +index 5b48449..a9258f9 100644 +--- a/lib/ExtUtils/ParseXS/CountLines.pm ++++ b/lib/ExtUtils/ParseXS/CountLines.pm +@@ -1,7 +1,7 @@ + package ExtUtils::ParseXS::CountLines; + use strict; + +-our $VERSION = '3.39'; ++our $VERSION = '3.40'; + + our $SECTION_END_MARKER; + +diff --git a/lib/ExtUtils/ParseXS/Eval.pm b/lib/ExtUtils/ParseXS/Eval.pm +index 9eba5e5..840bac7 100644 +--- a/lib/ExtUtils/ParseXS/Eval.pm ++++ b/lib/ExtUtils/ParseXS/Eval.pm +@@ -2,7 +2,7 @@ package ExtUtils::ParseXS::Eval; + use strict; + use warnings; + +-our $VERSION = '3.39'; ++our $VERSION = '3.40'; + + =head1 NAME + +diff --git a/lib/ExtUtils/ParseXS/Utilities.pm b/lib/ExtUtils/ParseXS/Utilities.pm +index ae25b33..58f3856 100644 +--- a/lib/ExtUtils/ParseXS/Utilities.pm ++++ b/lib/ExtUtils/ParseXS/Utilities.pm +@@ -5,7 +5,7 @@ use Exporter; + use File::Spec; + use ExtUtils::ParseXS::Constants (); + +-our $VERSION = '3.39'; ++our $VERSION = '3.40'; + + our (@ISA, @EXPORT_OK); + @ISA = qw(Exporter); +diff --git a/t/002-more.t b/t/002-more.t +index 4aaa3ab..e982290 100644 +--- a/t/002-more.t ++++ b/t/002-more.t +@@ -9,7 +9,7 @@ use ExtUtils::CBuilder; + use attributes; + use overload; + +-plan tests => 29; ++plan tests => 30; + + my ($source_file, $obj_file, $lib_file); + +@@ -48,7 +48,7 @@ SKIP: { + } + + SKIP: { +- skip "no dynamic loading", 25 ++ skip "no dynamic loading", 26 + if !$b->have_compiler || !$Config{usedl}; + my $module = 'XSMore'; + $lib_file = $b->link( objects => $obj_file, module_name => $module ); +@@ -92,6 +92,9 @@ SKIP: { + + is_deeply [XSMore::outlist()], [ord('a'), ord('b')], 'the OUTLIST keyword'; + ++ # eval so compile-time sees any prototype ++ is_deeply [ eval 'XSMore::outlist()' ], [ord('a'), ord('b')], 'OUTLIST prototypes'; ++ + is XSMore::len("foo"), 3, 'the length keyword'; + + is XSMore::sum(5, 9), 14, 'the INCLUDE_COMMAND directive'; +-- +2.20.1 + diff --git a/perl-5.29.5-perl-133654-don-t-include-OUTLIST-parameters-in-the-.patch b/perl-5.29.5-perl-133654-don-t-include-OUTLIST-parameters-in-the-.patch deleted file mode 100644 index 9638f9e..0000000 --- a/perl-5.29.5-perl-133654-don-t-include-OUTLIST-parameters-in-the-.patch +++ /dev/null @@ -1,66 +0,0 @@ -From 028027e3fb6bba4f720b334e63e26f97a49cf6be Mon Sep 17 00:00:00 2001 -From: Tony Cook -Date: Wed, 5 Dec 2018 15:22:52 +1100 -Subject: [PATCH] (perl #133654) don't include OUTLIST parameters in the - prototype -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -The generated prototype (with PROTOTYPES: ENABLE) would include -OUTLIST parameters, but these aren't arguments to the perl function. - -Signed-off-by: Petr Písař ---- - dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm | 2 +- - dist/ExtUtils-ParseXS/t/002-more.t | 7 +++++-- - 2 files changed, 6 insertions(+), 3 deletions(-) - -diff --git a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm -index e1f0940745..94ea5f6fef 100644 ---- a/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm -+++ b/dist/ExtUtils-ParseXS/lib/ExtUtils/ParseXS.pm -@@ -467,7 +467,7 @@ EOM - $self->{defaults}->{$args[$i]} = $2; - $self->{defaults}->{$args[$i]} =~ s/"/\\"/g; - } -- $self->{proto_arg}->[$i+1] = '$'; -+ $self->{proto_arg}->[$i+1] = '$' unless $only_C_inlist_ref->{$args[$i]}; - } - my $min_args = $num_args - $extra_args; - $report_args =~ s/"/\\"/g; -diff --git a/dist/ExtUtils-ParseXS/t/002-more.t b/dist/ExtUtils-ParseXS/t/002-more.t -index 4aaa3ab081..e98229095c 100644 ---- a/dist/ExtUtils-ParseXS/t/002-more.t -+++ b/dist/ExtUtils-ParseXS/t/002-more.t -@@ -9,7 +9,7 @@ use ExtUtils::CBuilder; - use attributes; - use overload; - --plan tests => 29; -+plan tests => 30; - - my ($source_file, $obj_file, $lib_file); - -@@ -48,7 +48,7 @@ SKIP: { - } - - SKIP: { -- skip "no dynamic loading", 25 -+ skip "no dynamic loading", 26 - if !$b->have_compiler || !$Config{usedl}; - my $module = 'XSMore'; - $lib_file = $b->link( objects => $obj_file, module_name => $module ); -@@ -92,6 +92,9 @@ SKIP: { - - is_deeply [XSMore::outlist()], [ord('a'), ord('b')], 'the OUTLIST keyword'; - -+ # eval so compile-time sees any prototype -+ is_deeply [ eval 'XSMore::outlist()' ], [ord('a'), ord('b')], 'OUTLIST prototypes'; -+ - is XSMore::len("foo"), 3, 'the length keyword'; - - is XSMore::sum(5, 9), 14, 'the INCLUDE_COMMAND directive'; --- -2.17.2 - diff --git a/perl-ExtUtils-ParseXS.spec b/perl-ExtUtils-ParseXS.spec index 163bb2f..632d93f 100644 --- a/perl-ExtUtils-ParseXS.spec +++ b/perl-ExtUtils-ParseXS.spec @@ -2,17 +2,18 @@ Name: perl-ExtUtils-ParseXS # Epoch to compete with perl.spec Epoch: 1 -Version: 3.39 -Release: 419%{?dist} +Version: 3.40 +Release: 1%{?dist} Summary: Module and a script for converting Perl XS code into C code License: GPL+ or Artistic URL: https://metacpan.org/release/ExtUtils-ParseXS Source0: https://cpan.metacpan.org/authors/id/S/SM/SMUELLER/ExtUtils-ParseXS-%{base_version}.tar.gz # Unbundled from perl 5.28.0-RC1 Patch0: ExtUtils-ParseXS-3.35-Upgrade-to-3.39.patch +# Unbundled from perl 5.29.10 # Fix generating Perl prototypes for XS functions with OUTLIST parameters, -# RT#133654, in perl after 5.29.5 -Patch1: perl-5.29.5-perl-133654-don-t-include-OUTLIST-parameters-in-the-.patch +# RT#133654 +Patch1: ExtUtils-ParseXS-3.39-Upgrade-to-3.40.patch BuildArch: noarch BuildRequires: coreutils BuildRequires: make @@ -55,7 +56,7 @@ the glue necessary to let Perl access those functions. %prep %setup -q -n ExtUtils-ParseXS-%{base_version} %patch0 -p1 -%patch1 -p3 +%patch1 -p1 %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 @@ -79,6 +80,9 @@ make test %{_mandir}/man3/* %changelog +* Thu May 02 2019 Jitka Plesnikova - 1:3.40-1 +- Upgrade to 3.40 as provided in perl-5.29.10 + * Fri Feb 01 2019 Fedora Release Engineering - 1:3.39-419 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild