From 3f8cbe80e4958892faaa3643fadbae369a249203 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Pialasse Date: Sat, 1 Nov 2025 00:01:48 -0400 Subject: [PATCH] * Tue Sep 30 2025 Petr Pisar - 0.49-1 - 0.49 bump --- .gitignore | 1 + XS-Parse-Keyword-0.49.tar.gz | 3 + macros.perl-XS-Parse-Keyword | 2 + perl-XS-Parse-Keyword.spec | 382 +++++++++++++++++++++++++++++++---- 4 files changed, 347 insertions(+), 41 deletions(-) create mode 100644 .gitignore create mode 100644 XS-Parse-Keyword-0.49.tar.gz create mode 100644 macros.perl-XS-Parse-Keyword diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e7a9c13 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*.rpm diff --git a/XS-Parse-Keyword-0.49.tar.gz b/XS-Parse-Keyword-0.49.tar.gz new file mode 100644 index 0000000..dca836a --- /dev/null +++ b/XS-Parse-Keyword-0.49.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:76c5ed142abba1f1df2335849681c83d83cc0842fe854af71081d2c411efb0bb +size 94890 diff --git a/macros.perl-XS-Parse-Keyword b/macros.perl-XS-Parse-Keyword new file mode 100644 index 0000000..48c68eb --- /dev/null +++ b/macros.perl-XS-Parse-Keyword @@ -0,0 +1,2 @@ +%perl_XS_Parse_Infix_ABI perl(:XS_Parse_Infix_ABI_%(perl -MFile::Spec -MFile::ShareDir -MXS::Parse::Infix -e 'open(my $h, q{<}, File::Spec->catdir(File::ShareDir::module_dir(q{XS::Parse::Infix}), q{include}, q{XSParseInfix.h})); undef($/); print $1 if <$h> =~ m{^#define XSPARSEINFIX_ABI_VERSION (\\d+)}m')) +%perl_XS_Parse_Keyword_ABI perl(:XS_Parse_Keyword_ABI_%(perl -MFile::Spec -MFile::ShareDir -MXS::Parse::Keyword -e 'open(my $h, q{<}, File::Spec->catdir(File::ShareDir::module_dir(q{XS::Parse::Keyword}), q{include}, q{XSParseKeyword.h})); undef($/); print $1 if <$h> =~ m{^#define XSPARSEKEYWORD_ABI_VERSION (\\d+)}m')) diff --git a/perl-XS-Parse-Keyword.spec b/perl-XS-Parse-Keyword.spec index 10c3e76..80064b7 100644 --- a/perl-XS-Parse-Keyword.spec +++ b/perl-XS-Parse-Keyword.spec @@ -1,56 +1,356 @@ -%define name perl-XS-Parse-Keyword -%define version 1.0 -%define release 1 -Summary: This is what perl-XS-Parse-Keyword does. -Name: %{name} -Version: %{version} -Release: %{release}%{?dist} -Source: %{name}-%{version}.tar.gz -License: GNU GPL version 2 -Group: SMEserver/addon -BuildRoot: %{_tmppath}/%{name}-buildroot -Prefix: %{_prefix} -BuildArchitectures: noarch -BuildRequires: smeserver-devtools -Requires: smeserver-release >= 11.0 -AutoReqProv: no +# Perform optional tests +%bcond_without perl_XS_Parse_Keyword_enables_optional_test + +Name: perl-XS-Parse-Keyword +Version: 0.49 +Release: 1%{?dist} +Summary: XS functions to assist in parsing keyword syntax +License: GPL-1.0-or-later OR Artistic-1.0-Perl +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 +BuildRequires: coreutils +BuildRequires: perl-devel +BuildRequires: perl-generators +BuildRequires: perl-interpreter +BuildRequires: perl(:VERSION) >= 5.14 +BuildRequires: perl(B) +BuildRequires: perl(base) +BuildRequires: perl(ExtUtils::CBuilder) +BuildRequires: perl(ExtUtils::CChecker) >= 0.11 +BuildRequires: perl(lib) +BuildRequires: perl(Module::Build) +BuildRequires: perl(strict) +BuildRequires: perl(warnings) +# Run-time: +BuildRequires: perl(Carp) +BuildRequires: perl(constant) +BuildRequires: perl(File::ShareDir) >= 1.00 +BuildRequires: perl(File::Spec) +BuildRequires: perl(XSLoader) +# Tests: +BuildRequires: perl(B::Deparse) +# Some t/*.xs tests need a newer ExtUtils::ParseXS +BuildRequires: perl(ExtUtils::ParseXS) >= 3.16 +BuildRequires: perl(feature) +BuildRequires: perl(overload) +BuildRequires: perl(utf8) +BuildRequires: perl(Test2::V0) +%if %{with perl_XS_Parse_Keyword_enables_optional_test} +# Optional tests: +BuildRequires: perl(Test::Pod) >= 1.00 +%endif +# This module maintains multiple ABIs whose compatibility is checked at +# run-time by S_boot_xs_parse_keyword() compiled into the users of this module. +# This 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) = 1 +Provides: perl(:XS_Parse_Keyword_ABI_2) = 2 +# This module maintains multiple ABIs whose compatibility is checked at +# run-time by S_boot_xs_parse_infix() compiled into the users of this module. +# This ABI range is defined with XS::Parse::Infix/ABIVERSION_MIN and +# XS::Parse::Infix/ABIVERSION_MAX in lib/XS/Parse/Keyword.xs. +Provides: perl(:XS_Parse_Infix_ABI_1) = 1 +Provides: perl(:XS_Parse_Infix_ABI_2) = 2 + +# Filter private modules +%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\(testcase\\) +%global __provides_exclude %{?__provides_exclude:%{__provides_exclude}|}^perl\\(testcase\\) %description -This module provides some XS functions to assist in writing syntax modules -that provide new perl-visible syntax, primarily for authors of keyword plugins +This module provides some XS functions to assist in writing syntax modules +that provide new perl-visible syntax, primarily for authors of keyword plugins using the PL_keyword_plugin hook mechanism. -%changelog -* Day MMMM DD YYYY 1.0-1.sme -- Initial code - create RPM [SME:99999] +%package Builder +Summary: Build-time support for XS::Parse::Keyword +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl-interpreter +Requires: perl(File::ShareDir) >= 1.00 +Requires: perl(File::Spec) +Requires: perl(XS::Parse::Infix) +Requires: perl(XS::Parse::Keyword) +# Subpackaged in 0.06 +Conflicts: %{name}%{?_isa} < 0.06 + +%description Builder +This module provides a build-time helper to assist authors writing XS modules +that use XS::Parse::Keyword. It prepares a Module::Build-using distribution to +be able to make use of XS::Parse::Keyword. + +%package tests +Summary: Tests for %{name} +Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release} +Requires: perl-Test-Harness +# ExtUtils::ParseXS is not needed at run-time because the XS tests are +# packaged precompiled. +Requires: perl(XSLoader) + +%description tests +Tests from %{name}. Execute them +with "%{_libexecdir}/%{name}/test". %prep - -%setup -q +%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 +%endif +chmod +x t/*.t %build +perl Build.PL --installdirs=vendor --optimize="$RPM_OPT_FLAGS" +./Build +# Build object files for tests now. They are installed into tests subpackage. +./Build testlib %install -rm -rf $RPM_BUILD_ROOT -(cd root ; find . -depth -print | cpio -dump $RPM_BUILD_ROOT) -rm -f %{name}-%{version}-filelist -/sbin/e-smith/genfilelist $RPM_BUILD_ROOT \ -> %{name}-%{version}-filelist -#echo "%doc COPYING" >> %{name}-%{version}-filelist -#--dir 'attr(755,user,grp)' \ -#--file 'attr(755,root,root)' \ +./Build install --destdir=%{buildroot} --create_packlist=0 +find %{buildroot} -type f -name '*.bs' -size 0 -delete +%{_fixperms} %{buildroot}/* +install -D -m 0644 -t %{buildroot}%{_rpmmacrodir} %{SOURCE1} +# Install tests +mkdir -p %{buildroot}%{_libexecdir}/%{name} +cp -a t %{buildroot}%{_libexecdir}/%{name} +find %{buildroot}%{_libexecdir}/%{name} -type f \ + \( -name '*.bs' -o -name '*.c' -o -name '*.o' \) -delete +%if %{with perl_XS_Parse_Keyword_enables_optional_test} +rm %{buildroot}%{_libexecdir}/%{name}/t/99pod.t +%endif +cat > %{buildroot}%{_libexecdir}/%{name}/test << 'EOF' +#!/bin/sh +cd %{_libexecdir}/%{name} && exec prove -I . -j "$(getconf _NPROCESSORS_ONLN)" +EOF +chmod +x %{buildroot}%{_libexecdir}/%{name}/test -%clean -cd .. -rm -rf %{name}-%{version} +%check +export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print $1} else {print 1}' -- '%{?_smp_mflags}') +./Build test -%pre +%files +%license LICENSE +%doc Changes README +%dir %{perl_vendorarch}/auto/XS +%dir %{perl_vendorarch}/auto/XS/Parse +%{perl_vendorarch}/auto/XS/Parse/Keyword +%dir %{perl_vendorarch}/XS +%dir %{perl_vendorarch}/XS/Parse +%{perl_vendorarch}/XS/Parse/Infix.pm +%{perl_vendorarch}/XS/Parse/Keyword.pm +%{_mandir}/man3/XS::Parse::Infix.* +%{_mandir}/man3/XS::Parse::Keyword.* -%preun +%files Builder +%dir %{perl_vendorarch}/auto/share +%dir %{perl_vendorarch}/auto/share/module +%{perl_vendorarch}/auto/share/module/XS-Parse-Infix +%{perl_vendorarch}/auto/share/module/XS-Parse-Keyword +%{perl_vendorarch}/XS/Parse/Infix +%{perl_vendorarch}/XS/Parse/Keyword +%{_mandir}/man3/XS::Parse::Infix::* +%{_mandir}/man3/XS::Parse::Keyword::* +%{_rpmmacrodir}/macros.%{name} -%post +%files tests +%{_libexecdir}/%{name} -%postun -#uninstall -%files -f %{name}-%{version}-filelist -%defattr(-,root,root) +%changelog +* Tue Sep 30 2025 Petr Pisar - 0.49-1 +- 0.49 bump + +* Fri Jul 25 2025 Fedora Release Engineering - 0.48-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + +* Mon Jul 07 2025 Jitka Plesnikova - 0.48-3 +- Perl 5.42 rebuild + +* Sat Jan 18 2025 Fedora Release Engineering - 0.48-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + +* Fri Jan 10 2025 Petr Pisar - 0.48-1 +- 0.48 bump + +* Thu Nov 28 2024 Petr Pisar - 0.47-1 +- 0.47 bump + +* Fri Sep 06 2024 Petr Pisar - 0.46-1 +- 0.46 bump + +* Mon Sep 02 2024 Petr Pisar - 0.45-1 +- 0.45 bump + +* Mon Jul 22 2024 Petr Pisar - 0.44-1 +- 0.44 bump + +* Fri Jul 19 2024 Fedora Release Engineering - 0.43-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + +* Mon Jul 08 2024 Petr Pisar - 0.43-1 +- 0.43 bump + +* Mon Jun 10 2024 Jitka Plesnikova - 0.42-2 +- Perl 5.40 rebuild + +* Thu May 02 2024 Petr Pisar - 0.42-1 +- 0.42 bump + +* Mon Apr 29 2024 Petr Pisar - 0.41-1 +- 0.41 bump + +* Tue Apr 23 2024 Petr Pisar - 0.40-1 +- 0.40 bump + +* Thu Jan 25 2024 Fedora Release Engineering - 0.39-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Sun Jan 21 2024 Fedora Release Engineering - 0.39-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 04 2024 Petr Pisar - 0.39-2 +- Rebuild for fixing TMT tests without discovering dependencies + +* Thu Jan 04 2024 Petr Pisar - 0.39-1 +- 0.39 bump + +* Wed Aug 09 2023 Petr Pisar - 0.38-1 +- 0.38 bump + +* Wed Aug 09 2023 Petr Pisar - 0.37-1 +- 0.37 bump + +* Wed Jul 26 2023 Petr Pisar - 0.36-2 +- Fix a check for PL_infix_plugin + +* Tue Jul 25 2023 Petr Pisar - 0.36-1 +- 0.36 bump + +* Fri Jul 21 2023 Fedora Release Engineering - 0.34-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Tue Jul 11 2023 Jitka Plesnikova - 0.34-2 +- Perl 5.38 rebuild + +* Thu Jun 15 2023 Petr Pisar - 0.34-1 +- 0.34 bump + +* Mon Feb 20 2023 Petr Pisar - 0.33-1 +- 0.33 bump + +* Fri Jan 20 2023 Fedora Release Engineering - 0.32-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Fri Jan 13 2023 Petr Pisar - 0.32-1 +- 0.32 bump + +* Thu Jan 05 2023 Petr Pisar - 0.31-1 +- 0.31 bump + +* Mon Dec 05 2022 Petr Pisar - 0.30-1 +- 0.30 bump + +* Fri Dec 02 2022 Petr Pisar - 0.29-1 +- 0.29 bump + +* Wed Nov 30 2022 Petr Pisar - 0.28-1 +- 0.28 bump + +* Tue Nov 01 2022 Petr Pisar - 0.27-1 +- 0.27 bump + +* Tue Oct 25 2022 Petr Pisar - 0.26-1 +- 0.26 bump + +* Tue Jul 26 2022 Petr Pisar - 0.25-1 +- 0.25 bump + +* Fri Jul 22 2022 Fedora Release Engineering - 0.24-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Mon Jun 27 2022 Petr Pisar - 0.24-1 +- 0.24 bump + +* Tue Jun 14 2022 Petr Pisar - 0.23-1 +- 0.23 bump + +* Tue May 31 2022 Jitka Plesnikova - 0.22-2 +- Perl 5.36 rebuild + +* Tue Feb 22 2022 Petr Pisar - 0.22-1 +- 0.22 bump + +* Fri Jan 21 2022 Fedora Release Engineering - 0.21-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Tue Oct 12 2021 Petr Pisar - 0.21-1 +- 0.21 bump (bug #2013044) + +* Tue Oct 05 2021 Petr Pisar - 0.19-1 +- 0.19 bump (bug #2010550) + +* Wed Sep 29 2021 Petr Pisar - 0.18-1 +- 0.18 bump + +* Fri Sep 24 2021 Petr Pisar - 0.17-1 +- 0.17 bump +- Fix a test failure on non-x86 platforms (bug #2007391) + +* Wed Sep 22 2021 Petr Pisar - 0.16-1 +- 0.16 bump + +* Tue Sep 07 2021 Petr Pisar - 0.15-1 +- 0.15 bump + +* Wed Sep 01 2021 Petr Pisar - 0.14-1 +- 0.14 bump + +* Tue Aug 31 2021 Petr Pisar - 0.13-2 +- Return ABI 1 + +* Thu Aug 26 2021 Jitka Plesnikova - 0.13-1 +- 0.13 bump + +* 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 + +* Mon Aug 09 2021 Petr Pisar - 0.11-2 +- Fix perl_XS_Parse_Keyword_ABI macro + +* Tue Aug 03 2021 Petr Pisar - 0.11-1 +- 0.11 bump + +* Fri Jul 23 2021 Fedora Release Engineering - 0.10-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Wed Jul 14 2021 Petr Pisar - 0.10-1 +- 0.10 bump + +* Tue Jul 13 2021 Petr Pisar - 0.09-1 +- 0.09 bump + +* Fri Jun 18 2021 Petr Pisar - 0.08-1 +- 0.08 bump + +* Wed Jun 02 2021 Petr Pisar - 0.06-1 +- 0.06 bump +- Subpackage XS::Parse::Keyword::Builder + +* Tue Jun 01 2021 Petr Pisar - 0.05-1 +- 0.05 bump + +* Tue May 25 2021 Jitka Plesnikova - 0.04-2 +- Perl 5.34 re-rebuild updated packages + +* Tue May 25 2021 Petr Pisar - 0.04-1 +- 0.04 bump + +* Fri May 21 2021 Jitka Plesnikova - 0.03-3 +- Perl 5.34 rebuild + +* Tue May 04 2021 Petr Pisar - 0.03-2 +- Require XSLoader for the tests + +* Fri Apr 30 2021 Petr Pisar 0.03-1 +- Specfile autogenerated by cpanspec 1.78.