diff --git a/XS-Parse-Keyword-0.12-Bump-ABI-version.patch b/XS-Parse-Keyword-0.12-Bump-ABI-version.patch new file mode 100644 index 0000000..04cd449 --- /dev/null +++ b/XS-Parse-Keyword-0.12-Bump-ABI-version.patch @@ -0,0 +1,70 @@ +From fdc0155eb495a0082bf9815d34bc46a240b8c97b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= +Date: Tue, 17 Aug 2021 09:28:45 +0200 +Subject: [PATCH] Bump ABI version +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Struct XSParseKeywordPieceType changed size in XS-Parse-Keyword-0.12. + +CPAN RT#138708. + +Signed-off-by: Petr Písař +--- + XSParseKeyword.h | 4 ++-- + lib/XS/Parse/Keyword.xs | 8 ++++---- + 2 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/XSParseKeyword.h b/XSParseKeyword.h +index d114bb9..a614da3 100644 +--- a/XSParseKeyword.h ++++ b/XSParseKeyword.h +@@ -1,7 +1,7 @@ + #ifndef __XS_PARSE_KEYWORD_H__ + #define __XS_PARSE_KEYWORD_H__ + +-#define XSPARSEKEYWORD_ABI_VERSION 1 ++#define XSPARSEKEYWORD_ABI_VERSION 2 + + struct XSParseKeywordPieceType; + struct XSParseKeywordPieceType { +@@ -215,7 +215,7 @@ static void S_boot_xs_parse_keyword(pTHX_ double ver) { + abi_ver); + + register_xs_parse_keyword_func = INT2PTR(void (*)(pTHX_ const char *, const struct XSParseKeywordHooks *, void *), +- SvUV(*hv_fetchs(PL_modglobal, "XS::Parse::Keyword/register()@1", 0))); ++ SvUV(*hv_fetchs(PL_modglobal, "XS::Parse::Keyword/register()@2", 0))); + } + + #endif +diff --git a/lib/XS/Parse/Keyword.xs b/lib/XS/Parse/Keyword.xs +index d512f4f..3e57e01 100644 +--- a/lib/XS/Parse/Keyword.xs ++++ b/lib/XS/Parse/Keyword.xs +@@ -738,9 +738,9 @@ static void reg(pTHX_ const char *kwname, int apiver, const struct XSParseKeywor + } + } + +-static void IMPL_register_v1(pTHX_ const char *kwname, const struct XSParseKeywordHooks *hooks, void *hookdata) ++static void IMPL_register_v2(pTHX_ const char *kwname, const struct XSParseKeywordHooks *hooks, void *hookdata) + { +- reg(aTHX_ kwname, 1, hooks, hookdata); ++ reg(aTHX_ kwname, 2, hooks, hookdata); + } + + static int (*next_keyword_plugin)(pTHX_ char *, STRLEN, OP **); +@@ -793,8 +793,8 @@ BOOT: + + /* newer versions */ + sv_setiv(*hv_fetchs(PL_modglobal, "XS::Parse::Keyword/ABIVERSION_MIN", 1), XSPARSEKEYWORD_ABI_VERSION); +- sv_setiv(*hv_fetchs(PL_modglobal, "XS::Parse::Keyword/ABIVERSION_MAX", 1), 1); ++ sv_setiv(*hv_fetchs(PL_modglobal, "XS::Parse::Keyword/ABIVERSION_MAX", 1), 2); + +- sv_setuv(*hv_fetchs(PL_modglobal, "XS::Parse::Keyword/register()@1", 1), PTR2UV(&IMPL_register_v1)); ++ sv_setuv(*hv_fetchs(PL_modglobal, "XS::Parse::Keyword/register()@2", 1), PTR2UV(&IMPL_register_v2)); + + wrap_keyword_plugin(&my_keyword_plugin, &next_keyword_plugin); +-- +2.31.1 + diff --git a/perl-XS-Parse-Keyword.spec b/perl-XS-Parse-Keyword.spec index 061c6e1..6d5aa77 100644 --- a/perl-XS-Parse-Keyword.spec +++ b/perl-XS-Parse-Keyword.spec @@ -3,12 +3,15 @@ Name: perl-XS-Parse-Keyword Version: 0.12 -Release: 1%{?dist} +Release: 2%{?dist} Summary: XS functions to assist in parsing keyword syntax License: GPL+ or Artistic URL: https://metacpan.org/release/XS-Parse-Keyword Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/XS-Parse-Keyword-%{version}.tar.gz Source1: macros.perl-XS-Parse-Keyword +# Bump ABI because XSParseKeywordPieceType changed size in 0.12, +# bug #1994077, CPAN RT#138708, proposed to the upstream. +Patch0: XS-Parse-Keyword-0.12-Bump-ABI-version.patch BuildRequires: coreutils BuildRequires: perl-devel BuildRequires: perl-generators @@ -36,7 +39,7 @@ Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version)) # run-time by S_boot_xs_parse_keyword() compiled into the users of this module. # The ABI range is defined with XS::Parse::Keyword/ABIVERSION_MIN and # XS::Parse::Keyword/ABIVERSION_MAX in lib/XS/Parse/Keyword.xs. -Provides: perl(:XS_Parse_Keyword_ABI_1) +Provides: perl(:XS_Parse_Keyword_ABI_2) # Remove under-specified dependencies %global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Test::More\\)$ @@ -74,7 +77,7 @@ Tests from %{name}. Execute them with "%{_libexecdir}/%{name}/test". %prep -%setup -q -n XS-Parse-Keyword-%{version} +%autosetup -p1 -n XS-Parse-Keyword-%{version} %if !%{with perl_XS_Parse_Keyword_enables_optional_test} rm t/99pod.t perl -i -ne 'print $_ unless m{\A\Qt/99pod.t\E\b}' MANIFEST @@ -128,6 +131,9 @@ export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print %{_libexecdir}/%{name} %changelog +* Tue Aug 17 2021 Petr Pisar - 0.12-2 +- Bump ABI because XSParseKeywordPieceType changed size (bug #1994077) + * Tue Aug 17 2021 Petr Pisar - 0.12-1 - 0.12 bump