0.50 bump
This commit is contained in:
parent
246d773b5a
commit
5f810c784d
|
@ -15,3 +15,4 @@
|
||||||
/Object-Pad-0.46.tar.gz
|
/Object-Pad-0.46.tar.gz
|
||||||
/Object-Pad-0.47.tar.gz
|
/Object-Pad-0.47.tar.gz
|
||||||
/Object-Pad-0.48.tar.gz
|
/Object-Pad-0.48.tar.gz
|
||||||
|
/Object-Pad-0.50.tar.gz
|
||||||
|
|
|
@ -1,39 +0,0 @@
|
||||||
From b7eaa2a6f1b19c30434badfb69b4f1103c9b6a72 Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
|
||||||
Date: Tue, 3 Aug 2021 13:37:54 +0200
|
|
||||||
Subject: [PATCH] t/99exported-symbols.t: Locate shared object file with
|
|
||||||
DynaLoader
|
|
||||||
MIME-Version: 1.0
|
|
||||||
Content-Type: text/plain; charset=UTF-8
|
|
||||||
Content-Transfer-Encoding: 8bit
|
|
||||||
|
|
||||||
This is more portable and allows running the test against
|
|
||||||
an already installed code.
|
|
||||||
|
|
||||||
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
|
||||||
---
|
|
||||||
t/99exported-symbols.t | 8 +++++++-
|
|
||||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/t/99exported-symbols.t b/t/99exported-symbols.t
|
|
||||||
index a0159d7..358ffa6 100644
|
|
||||||
--- a/t/99exported-symbols.t
|
|
||||||
+++ b/t/99exported-symbols.t
|
|
||||||
@@ -8,7 +8,13 @@ use Test::More;
|
|
||||||
$^O eq "linux" or
|
|
||||||
plan skip_all => "This test only works on Linux (or at least, ELF platforms)";
|
|
||||||
|
|
||||||
-my $sofile = "blib/arch/auto/Object/Pad/Pad.so";
|
|
||||||
+require Object::Pad;
|
|
||||||
+my $i;
|
|
||||||
+for (@DynaLoader::dl_modules) {
|
|
||||||
+ last if $_ eq 'Object::Pad';
|
|
||||||
+ $i++;
|
|
||||||
+}
|
|
||||||
+my $sofile = $DynaLoader::dl_shared_objects[$i];
|
|
||||||
|
|
||||||
# Since we load with RTLD_GLOBAL it's important that we don't pollute the
|
|
||||||
# symbol namespace. Therefore, aside from the `boot_Object__Pad` function, the
|
|
||||||
--
|
|
||||||
2.31.1
|
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
From 8336fc91d5d4d10ab7b3345724f0f3a1a190292a Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com>
|
||||||
|
Date: Mon, 9 Aug 2021 16:43:26 +0200
|
||||||
|
Subject: [PATCH] t/99exported-symbols.t: Obtain header file content from
|
||||||
|
Object::Pad::ExtensionBuilder_data
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
The test did not work on installed files because there is no
|
||||||
|
object_pad.h file:
|
||||||
|
|
||||||
|
$ perl t/99exported-symbols.t
|
||||||
|
ok 1 - No unexpected symbols found in /usr/lib64/perl5/vendor_perl/auto/Object/Pad/Pad.so
|
||||||
|
Cannot read include/object_pad.h - No such file or directory at t/99exported-symbols.t line 59.
|
||||||
|
# Tests were run but no plan was declared and done_testing() was not seen.
|
||||||
|
# Looks like your test exited with 2 just after 1.
|
||||||
|
|
||||||
|
But content of that file is wrapped into
|
||||||
|
Object::Pad::ExtensionBuilder_data module. This patch changed the test
|
||||||
|
to inspect Object::Pad::ExtensionBuilder_data.
|
||||||
|
|
||||||
|
Signed-off-by: Petr Písař <ppisar@redhat.com>
|
||||||
|
---
|
||||||
|
t/99exported-symbols.t | 7 ++-----
|
||||||
|
1 file changed, 2 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/t/99exported-symbols.t b/t/99exported-symbols.t
|
||||||
|
index 8f0e7fb..c8987bc 100644
|
||||||
|
--- a/t/99exported-symbols.t
|
||||||
|
+++ b/t/99exported-symbols.t
|
||||||
|
@@ -54,13 +54,10 @@ ok( !@unexpected_symbols, "No unexpected symbols found in $sofile" ) or
|
||||||
|
diag( "Symbols found:\n " . join( "\n ", @unexpected_symbols ) );
|
||||||
|
|
||||||
|
# Now compare to the #define'd macros in object_pad.h
|
||||||
|
+require Object::Pad::ExtensionBuilder_data;
|
||||||
|
my %macros;
|
||||||
|
{
|
||||||
|
- open my $fh, "include/object_pad.h" or
|
||||||
|
- die "Cannot read include/object_pad.h - $!";
|
||||||
|
-
|
||||||
|
- while( <$fh> ) {
|
||||||
|
- chomp;
|
||||||
|
+ for( split(/\R/, Object::Pad::ExtensionBuilder_data::OBJECT_PAD_H()) ) {
|
||||||
|
next unless m/^#define (.*?)\(/;
|
||||||
|
|
||||||
|
$macros{$1}++;
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
%perl_Object_Pad_ABI perl(:XS_Object_Pad_ABI) = %(perl -e 'require Object::Pad::ExtensionBuilder_data; print qq{$2.$1} if Object::Pad::ExtensionBuilder_data::OBJECT_PAD_H() =~ m{^#define OBJECTPAD_ABIVERSION_MINOR (\\d+)\\R#define OBJECTPAD_ABIVERSION_MAJOR (\\d+)}m')
|
|
@ -4,19 +4,21 @@
|
||||||
%bcond_without perl_Object_Pad_enables_optional_test
|
%bcond_without perl_Object_Pad_enables_optional_test
|
||||||
|
|
||||||
Name: perl-Object-Pad
|
Name: perl-Object-Pad
|
||||||
Version: 0.48
|
Version: 0.50
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Simple syntax for lexical slot-based objects
|
Summary: Simple syntax for lexical slot-based objects
|
||||||
License: GPL+ or Artistic
|
License: GPL+ or Artistic
|
||||||
URL: https://metacpan.org/release/Object-Pad
|
URL: https://metacpan.org/release/Object-Pad
|
||||||
Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Object-Pad-%{version}.tar.gz
|
Source0: https://cpan.metacpan.org/authors/id/P/PE/PEVANS/Object-Pad-%{version}.tar.gz
|
||||||
|
Source1: macros.perl-Object-Pad
|
||||||
# Enable t/99exported-symbols.t test to work against an installed code,
|
# Enable t/99exported-symbols.t test to work against an installed code,
|
||||||
# CPAN RT#138320, proposed to an upstream.
|
# CPAN RT#138634, proposed to an upstream.
|
||||||
Patch0: Object-Pad-0.48-t-99exported-symbols.t-Locate-shared-object-file-wit.patch
|
Patch0: Object-Pad-0.50-t-99exported-symbols.t-Obtain-header-file-content-fr.patch
|
||||||
BuildRequires: coreutils
|
BuildRequires: coreutils
|
||||||
BuildRequires: perl-devel
|
BuildRequires: perl-devel
|
||||||
BuildRequires: perl-generators
|
BuildRequires: perl-generators
|
||||||
BuildRequires: perl-interpreter
|
BuildRequires: perl-interpreter
|
||||||
|
BuildRequires: perl(:VERSION) >= 5.14
|
||||||
BuildRequires: perl(Config)
|
BuildRequires: perl(Config)
|
||||||
%if %{with perl_Object_Pad_enables_Devel_MAT}
|
%if %{with perl_Object_Pad_enables_Devel_MAT}
|
||||||
BuildRequires: perl(Devel::MAT::Dumper::Helper) >= 0.41
|
BuildRequires: perl(Devel::MAT::Dumper::Helper) >= 0.41
|
||||||
|
@ -28,7 +30,6 @@ BuildRequires: perl(warnings)
|
||||||
BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.10
|
BuildRequires: perl(XS::Parse::Keyword::Builder) >= 0.10
|
||||||
BuildRequires: perl(XS::Parse::Sublike::Builder) >= 0.10
|
BuildRequires: perl(XS::Parse::Sublike::Builder) >= 0.10
|
||||||
# Run-time:
|
# Run-time:
|
||||||
BuildRequires: perl(:VERSION) >= 5.14
|
|
||||||
BuildRequires: perl(Carp)
|
BuildRequires: perl(Carp)
|
||||||
BuildRequires: perl(DynaLoader)
|
BuildRequires: perl(DynaLoader)
|
||||||
# experimental since perl 5.20
|
# experimental since perl 5.20
|
||||||
|
@ -37,7 +38,7 @@ BuildRequires: perl(feature)
|
||||||
# indirect not used (only with 5.20.0 <= perl < 5.31.9)
|
# indirect not used (only with 5.20.0 <= perl < 5.31.9)
|
||||||
BuildRequires: perl(mro)
|
BuildRequires: perl(mro)
|
||||||
# XS::Parse::Keyword is loaded from a header file generated by ./Build.PL,
|
# XS::Parse::Keyword is loaded from a header file generated by ./Build.PL,
|
||||||
# version specified in lib/Object/Pad.xs, out-dated CPAN RT#138318
|
# version specified in lib/Object/Pad.xs
|
||||||
BuildRequires: perl(XS::Parse::Keyword) >= 0.10
|
BuildRequires: perl(XS::Parse::Keyword) >= 0.10
|
||||||
# XS::Parse::Sublike is loaded from a header file generated by ./Build.PL,
|
# XS::Parse::Sublike is loaded from a header file generated by ./Build.PL,
|
||||||
# version specified in lib/Object/Pad.xs
|
# version specified in lib/Object/Pad.xs
|
||||||
|
@ -71,6 +72,10 @@ Requires: perl(XS::Parse::Keyword) >= 0.10
|
||||||
Requires: %{perl_XS_Parse_Keyword_ABI}
|
Requires: %{perl_XS_Parse_Keyword_ABI}
|
||||||
%endif
|
%endif
|
||||||
Requires: perl(XS::Parse::Sublike) >= 0.10
|
Requires: perl(XS::Parse::Sublike) >= 0.10
|
||||||
|
# This module maintains an ABI defined in OBJECTPAD_ABIVERSION macro at
|
||||||
|
# include/object_pad.h and checked at run time against ClassHookFuncs.ver
|
||||||
|
# field by ObjectPad_register_slot_attribute().
|
||||||
|
Provides: perl(:Object_Pad_ABI) = 0.50
|
||||||
|
|
||||||
# Filter private modules
|
# Filter private modules
|
||||||
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((ARole|BaseClass)\\)
|
%global __requires_exclude %{?__requires_exclude:%{__requires_exclude}|}^perl\\((ARole|BaseClass)\\)
|
||||||
|
@ -102,6 +107,19 @@ Requires: perl(Test::MemoryGrowth)
|
||||||
Tests from %{name}. Execute them
|
Tests from %{name}. Execute them
|
||||||
with "%{_libexecdir}/%{name}/test".
|
with "%{_libexecdir}/%{name}/test".
|
||||||
|
|
||||||
|
%package ExtensionBuilder
|
||||||
|
Summary: Build-time support for Object::Pad plugins
|
||||||
|
Requires: %{name}%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||||
|
Requires: perl-interpreter
|
||||||
|
Requires: perl(:MODULE_COMPAT_%(eval "`perl -V:version`"; echo $version))
|
||||||
|
# rpm for /usr/lib/rpm/macros.d directory
|
||||||
|
Requires: rpm
|
||||||
|
|
||||||
|
%description ExtensionBuilder
|
||||||
|
This package provides a build-time helper to assist the authors in writing XS
|
||||||
|
plugins for Object::Pad. It prepares a Module::Build-driven distribution to be
|
||||||
|
able to make use of Object::Pad.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1 -n Object-Pad-%{version}
|
%autosetup -p1 -n Object-Pad-%{version}
|
||||||
%if !%{with perl_Object_Pad_enables_optional_test} || %{defined perl_bootstrap}
|
%if !%{with perl_Object_Pad_enables_optional_test} || %{defined perl_bootstrap}
|
||||||
|
@ -121,6 +139,7 @@ perl Build.PL --installdirs=vendor --optimize="$RPM_OPT_FLAGS"
|
||||||
./Build install --destdir=%{buildroot} --create_packlist=0
|
./Build install --destdir=%{buildroot} --create_packlist=0
|
||||||
find %{buildroot} -type f -name '*.bs' -size 0 -delete
|
find %{buildroot} -type f -name '*.bs' -size 0 -delete
|
||||||
%{_fixperms} %{buildroot}/*
|
%{_fixperms} %{buildroot}/*
|
||||||
|
install -D -m 0644 -t %{buildroot}%{_rpmmacrodir} %{SOURCE1}
|
||||||
# Install tests
|
# Install tests
|
||||||
mkdir -p %{buildroot}/%{_libexecdir}/%{name}
|
mkdir -p %{buildroot}/%{_libexecdir}/%{name}
|
||||||
cp -a t %{buildroot}/%{_libexecdir}/%{name}
|
cp -a t %{buildroot}/%{_libexecdir}/%{name}
|
||||||
|
@ -141,13 +160,25 @@ export HARNESS_OPTIONS=j$(perl -e 'if ($ARGV[0] =~ /.*-j([0-9][0-9]*).*/) {print
|
||||||
%license LICENSE
|
%license LICENSE
|
||||||
%doc Changes README
|
%doc Changes README
|
||||||
%{perl_vendorarch}/auto/*
|
%{perl_vendorarch}/auto/*
|
||||||
%{perl_vendorarch}/Object*
|
%dir %{perl_vendorarch}/Object
|
||||||
%{_mandir}/man3/*
|
%{perl_vendorarch}/Object/Pad.pm
|
||||||
|
%dir %{perl_vendorarch}/Object/Pad
|
||||||
|
%{perl_vendorarch}/Object/Pad/MOP
|
||||||
|
%{_mandir}/man3/Object::Pad.*
|
||||||
|
%{_mandir}/man3/Object::Pad::MOP::*
|
||||||
|
|
||||||
|
%files ExtensionBuilder
|
||||||
|
%{perl_vendorarch}/Object/Pad/ExtensionBuilder*
|
||||||
|
%{_mandir}/man3/Object::Pad::ExtensionBuilder*
|
||||||
|
%{_rpmmacrodir}/macros.%{name}
|
||||||
|
|
||||||
%files tests
|
%files tests
|
||||||
%{_libexecdir}/%{name}
|
%{_libexecdir}/%{name}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Aug 09 2021 Petr Pisar <ppisar@redhat.com> - 0.50-1
|
||||||
|
- 0.50 bump
|
||||||
|
|
||||||
* Tue Aug 03 2021 Petr Pisar <ppisar@redhat.com> - 0.48-1
|
* Tue Aug 03 2021 Petr Pisar <ppisar@redhat.com> - 0.48-1
|
||||||
- 0.48 bump
|
- 0.48 bump
|
||||||
|
|
||||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
||||||
SHA512 (Object-Pad-0.48.tar.gz) = 67f45833c96406250f09dd966b257872fea4ac381d52f040b3119ea49724ce4d310a18ff42740d4110a1a3eae7fc85de1b0c2acbaa6d83c23d9ebeaea2bce882
|
SHA512 (Object-Pad-0.50.tar.gz) = fc80659472d53d7e3a49b42ab93bab3d626836bef8a385bb8d387c32d35550361ffde8be316506293bc269d3e480062298ae13bbdf3156f985396c1bf4f2368a
|
||||||
|
|
Loading…
Reference in New Issue