Bump ABI because XSParseKeywordPieceType changed size

This commit is contained in:
Petr Písař 2021-08-17 09:37:52 +02:00
parent c7b22dcf43
commit 1a0a60e6bf
2 changed files with 79 additions and 3 deletions

View File

@ -0,0 +1,70 @@
From fdc0155eb495a0082bf9815d34bc46a240b8c97b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
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ř <ppisar@redhat.com>
---
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

View File

@ -3,12 +3,15 @@
Name: perl-XS-Parse-Keyword Name: perl-XS-Parse-Keyword
Version: 0.12 Version: 0.12
Release: 1%{?dist} Release: 2%{?dist}
Summary: XS functions to assist in parsing keyword syntax Summary: XS functions to assist in parsing keyword syntax
License: GPL+ or Artistic License: GPL+ or Artistic
URL: https://metacpan.org/release/XS-Parse-Keyword URL: https://metacpan.org/release/XS-Parse-Keyword
Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/XS-Parse-Keyword-%{version}.tar.gz Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/XS-Parse-Keyword-%{version}.tar.gz
Source1: macros.perl-XS-Parse-Keyword 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: coreutils
BuildRequires: perl-devel BuildRequires: perl-devel
BuildRequires: perl-generators 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. # 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 # The ABI range is defined with XS::Parse::Keyword/ABIVERSION_MIN and
# XS::Parse::Keyword/ABIVERSION_MAX in lib/XS/Parse/Keyword.xs. # 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 # Remove under-specified dependencies
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Test::More\\)$ %global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(Test::More\\)$
@ -74,7 +77,7 @@ Tests from %{name}. Execute them
with "%{_libexecdir}/%{name}/test". with "%{_libexecdir}/%{name}/test".
%prep %prep
%setup -q -n XS-Parse-Keyword-%{version} %autosetup -p1 -n XS-Parse-Keyword-%{version}
%if !%{with perl_XS_Parse_Keyword_enables_optional_test} %if !%{with perl_XS_Parse_Keyword_enables_optional_test}
rm t/99pod.t rm t/99pod.t
perl -i -ne 'print $_ unless m{\A\Qt/99pod.t\E\b}' MANIFEST 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} %{_libexecdir}/%{name}
%changelog %changelog
* Tue Aug 17 2021 Petr Pisar <ppisar@redhat.com> - 0.12-2
- Bump ABI because XSParseKeywordPieceType changed size (bug #1994077)
* Tue Aug 17 2021 Petr Pisar <ppisar@redhat.com> - 0.12-1 * Tue Aug 17 2021 Petr Pisar <ppisar@redhat.com> - 0.12-1
- 0.12 bump - 0.12 bump