diff --git a/perl-threads-shared.spec b/perl-threads-shared.spec index de75b17..b75f267 100644 --- a/perl-threads-shared.spec +++ b/perl-threads-shared.spec @@ -1,8 +1,8 @@ %global base_version 1.59 Name: perl-threads-shared -Version: 1.62 -Release: 479%{?dist} +Version: 1.64 +Release: 1%{?dist} Summary: Perl extension for sharing data structures between threads License: GPL+ or Artistic URL: https://metacpan.org/release/threads-shared @@ -16,6 +16,8 @@ Patch1: threads-shared-1.60-threads-shared-fix-leak.patch Patch2: threads-shared-1.59-Upgrade-to-1.61.patch # Unbundled from perl 5.34.0 Patch3: threads-shared-1.61-Upgrade-to-1.62.patch +# Unbundled from perl 5.35.11 +Patch4: threads-shared-1.62-Upgrade-to-1.64.patch BuildRequires: findutils BuildRequires: gcc BuildRequires: make @@ -60,6 +62,7 @@ Win32). It is used together with the threads module. %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build perl Makefile.PL INSTALLDIRS=vendor NO_PACKLIST=1 NO_PERLLOCAL=1 OPTIMIZE="$RPM_OPT_FLAGS" @@ -82,6 +85,9 @@ make test %{_mandir}/man3/* %changelog +* Thu May 12 2022 Jitka Plesnikova - 1.64-1 +- Upgrade to 1.64 as provided in perl-5.35.11 + * Fri Jan 21 2022 Fedora Release Engineering - 1.62-479 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild diff --git a/threads-shared-1.62-Upgrade-to-1.64.patch b/threads-shared-1.62-Upgrade-to-1.64.patch new file mode 100644 index 0000000..60b28d0 --- /dev/null +++ b/threads-shared-1.62-Upgrade-to-1.64.patch @@ -0,0 +1,154 @@ +From ff20adba57602ad3ae936eff6718f354d7352f1d Mon Sep 17 00:00:00 2001 +From: Jitka Plesnikova +Date: Thu, 12 May 2022 14:53:08 +0200 +Subject: [PATCH] Upgrade to 1.64 + +--- + lib/threads/shared.pm | 4 +-- + shared.xs | 23 +++++++------- + t/pod.t | 70 ------------------------------------------- + 3 files changed, 13 insertions(+), 84 deletions(-) + delete mode 100644 t/pod.t + +diff --git a/lib/threads/shared.pm b/lib/threads/shared.pm +index 3674d83..1fd2899 100644 +--- a/lib/threads/shared.pm ++++ b/lib/threads/shared.pm +@@ -8,7 +8,7 @@ use Config; + + use Scalar::Util qw(reftype refaddr blessed); + +-our $VERSION = '1.62'; # Please update the pod, too. ++our $VERSION = '1.64'; # Please update the pod, too. + my $XS_VERSION = $VERSION; + $VERSION = eval $VERSION; + +@@ -196,7 +196,7 @@ threads::shared - Perl extension for sharing data structures between threads + + =head1 VERSION + +-This document describes threads::shared version 1.62 ++This document describes threads::shared version 1.64 + + =head1 SYNOPSIS + +diff --git a/shared.xs b/shared.xs +index 4931a61..6a7f03c 100644 +--- a/shared.xs ++++ b/shared.xs +@@ -824,10 +824,7 @@ sharedsv_scalar_store(pTHX_ SV *sv, SV *ssv) + * that any previous contents of ssv are correctly freed + * by sv_setsv(). Not sure if there is a better, API-legal way + * to achieve this */ +- tmpref = newSV_type(SVt_RV); +- SvRV_set(tmpref, sobj); +- SvROK_on(tmpref); +- SvREFCNT_inc_simple_NN(sobj); ++ tmpref = newRV_inc(sobj); + sv_setsv_nomg(ssv, tmpref); + SvREFCNT_dec_NN(tmpref); + +@@ -1296,14 +1293,16 @@ static void + Perl_sharedsv_init(pTHX) + { + dTHXc; +- PL_sharedsv_space = perl_alloc(); +- perl_construct(PL_sharedsv_space); +- /* The pair above leaves us in shared context (what dTHX would get), +- * but aTHX still points to caller context */ +- aTHX = PL_sharedsv_space; +- LEAVE; /* This balances the ENTER at the end of perl_construct. */ +- PERL_SET_CONTEXT((aTHX = caller_perl)); +- recursive_lock_init(aTHX_ &PL_sharedsv_lock); ++ if (!PL_sharedsv_space) { ++ PL_sharedsv_space = perl_alloc(); ++ perl_construct(PL_sharedsv_space); ++ /* The pair above leaves us in shared context (what dTHX would get), ++ * but aTHX still points to caller context */ ++ aTHX = PL_sharedsv_space; ++ LEAVE; /* This balances the ENTER at the end of perl_construct. */ ++ PERL_SET_CONTEXT((aTHX = caller_perl)); ++ recursive_lock_init(aTHX_ &PL_sharedsv_lock); ++ } + PL_lockhook = &Perl_sharedsv_locksv; + PL_sharehook = &Perl_sharedsv_share; + #ifdef PL_destroyhook +diff --git a/t/pod.t b/t/pod.t +deleted file mode 100644 +index 5d0cb42..0000000 +--- a/t/pod.t ++++ /dev/null +@@ -1,70 +0,0 @@ +-use strict; +-use warnings; +- +-use Test::More; +-if ($ENV{RUN_MAINTAINER_TESTS}) { +- plan 'tests' => 3; +-} else { +- plan 'skip_all' => 'Module maintainer tests'; +-} +- +-SKIP: { +- if (! eval 'use Test::Pod 1.26; 1') { +- skip('Test::Pod 1.26 required for testing POD', 1); +- } +- +- pod_file_ok('lib/threads/shared.pm'); +-} +- +-SKIP: { +- if (! eval 'use Test::Pod::Coverage 1.08; 1') { +- skip('Test::Pod::Coverage 1.08 required for testing POD coverage', 1); +- } +- +- pod_coverage_ok('threads::shared', +- { +- 'trustme' => [ +- ], +- 'private' => [ +- qr/^import$/, +- ] +- } +- ); +-} +- +-SKIP: { +- if (! eval 'use Test::Spelling; 1') { +- skip('Test::Spelling required for testing POD spelling', 1); +- } +- if (system('aspell help >/dev/null 2>&1')) { +- skip("'aspell' required for testing POD spelling", 1); +- } +- set_spell_cmd('aspell list --lang=en'); +- add_stopwords(); +- pod_file_spelling_ok('lib/threads/shared.pm', 'shared.pm spelling'); +- unlink("/home/$ENV{'USER'}/en.prepl", "/home/$ENV{'USER'}/en.pws"); +-} +- +-exit(0); +- +-__DATA__ +- +-Artur +-Hedden +- +-cpan +-CPAN +-CONDVAR +-LOCKVAR +-refcnt +-variable's +-destructor +-destructors +-Destructors +- +-perlfunc +-dualvar +-SV +- +-MetaCPAN +-__END__ +-- +2.34.3 +