From f44cf150bb53759275e3d28a82040e37375a483a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com>
Date: Mon, 2 May 2016 12:57:00 +0200
Subject: 1.51 bump

---
 .gitignore                                |   1 +
 perl-threads-shared.spec                  |  23 +--
 sources                                   |   2 +-
 threads-shared-1.46-Upgrade-to-1.48.patch | 250 ------------------------------
 4 files changed, 15 insertions(+), 261 deletions(-)
 delete mode 100644 threads-shared-1.46-Upgrade-to-1.48.patch

diff --git a/.gitignore b/.gitignore
index 6367d84..f214df0 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,3 +10,4 @@
 /threads-shared-1.43.tar.gz
 /threads-shared-1.45.tar.gz
 /threads-shared-1.46.tar.gz
+/threads-shared-1.51.tar.gz
diff --git a/perl-threads-shared.spec b/perl-threads-shared.spec
index 750182b..e3e6df5 100644
--- a/perl-threads-shared.spec
+++ b/perl-threads-shared.spec
@@ -1,15 +1,16 @@
-%global base_version 1.46
 Name:           perl-threads-shared
-Version:        1.48
-Release:        347%{?dist}
+Version:        1.51
+Release:        1%{?dist}
 Summary:        Perl extension for sharing data structures between threads
 License:        GPL+ or Artistic
 Group:          Development/Libraries
 URL:            http://search.cpan.org/dist/threads-shared/
-Source0:        
http://www.cpan.org/authors/id/J/JD/JDHEDDEN/threads-shared-%{base_version}.tar.gz
-# Unbundled from perl-5.21.11
-Patch0:         threads-shared-1.46-Upgrade-to-1.48.patch
+Source0:        
http://www.cpan.org/authors/id/J/JD/JDHEDDEN/threads-shared-%{version}.tar.gz
+BuildRequires:  findutils
+BuildRequires:  make
 BuildRequires:  perl
+BuildRequires:  perl-devel
+BuildRequires:  perl-generators
 BuildRequires:  perl(Config)
 # Config_m not needed
 BuildRequires:  perl(ExtUtils::MakeMaker)
@@ -43,8 +44,7 @@ you to share variables across different threads (and 
pseudo-forks on
 Win32). It is used together with the threads module.
 
 %prep
-%setup -q -n threads-shared-%{base_version}
-%patch0 -p1
+%setup -q -n threads-shared-%{version}
 
 %build
 perl Makefile.PL INSTALLDIRS=vendor OPTIMIZE="$RPM_OPT_FLAGS"
@@ -52,8 +52,8 @@ make %{?_smp_mflags}
 
 %install
 make pure_install DESTDIR=$RPM_BUILD_ROOT
-find $RPM_BUILD_ROOT -type f -name .packlist -exec rm -f {} \;
-find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -exec rm -f {} \;
+find $RPM_BUILD_ROOT -type f -name .packlist -delete
+find $RPM_BUILD_ROOT -type f -name '*.bs' -size 0 -delete
 %{_fixperms} $RPM_BUILD_ROOT/*
 
 %check
@@ -66,6 +66,9 @@ make test
 %{_mandir}/man3/*
 
 %changelog
+* Mon May 02 2016 Petr Pisar <ppi...@redhat.com> - 1.51-1
+- 1.51 bump
+
 * Thu Feb 04 2016 Fedora Release Engineering <rel...@fedoraproject.org> - 
1.48-347
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
 
diff --git a/sources b/sources
index 24a618e..e8e2b39 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-b17841a6f1c60f06ebf1a0290530b266  threads-shared-1.46.tar.gz
+fae5d9f9179cd58fb86b9bb62ef9363a  threads-shared-1.51.tar.gz
diff --git a/threads-shared-1.46-Upgrade-to-1.48.patch 
b/threads-shared-1.46-Upgrade-to-1.48.patch
deleted file mode 100644
index a31488a..0000000
--- a/threads-shared-1.46-Upgrade-to-1.48.patch
+++ /dev/null
@@ -1,250 +0,0 @@
-From dcf350f9fb1025ac7d5b69b5bf1375a500c381c3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppi...@redhat.com>
-Date: Tue, 5 May 2015 14:39:38 +0200
-Subject: [PATCH] Upgrade to 1.48
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-The sources are bundled with perl-5.21.11.
-
-Signed-off-by: Petr Písař <ppi...@redhat.com>
----
- lib/threads/shared.pm |  4 ++--
- shared.xs             | 42 +++++++++++++++++++++++++++++++-----------
- t/av_simple.t         | 12 +++++++++++-
- t/hv_refs.t           |  2 +-
- t/object2.t           | 43 ++++++++++++++++++++++++++++++++++++++++++-
- 5 files changed, 87 insertions(+), 16 deletions(-)
-
-diff --git a/lib/threads/shared.pm b/lib/threads/shared.pm
-index bad2c41..cdb1990 100644
---- a/lib/threads/shared.pm
-+++ b/lib/threads/shared.pm
-@@ -7,7 +7,7 @@ use warnings;
- 
- use Scalar::Util qw(reftype refaddr blessed);
- 
--our $VERSION = '1.46'; # Please update the pod, too.
-+our $VERSION = '1.48'; # Please update the pod, too.
- my $XS_VERSION = $VERSION;
- $VERSION = eval $VERSION;
- 
-@@ -195,7 +195,7 @@ threads::shared - Perl extension for sharing data 
structures between threads
- 
- =head1 VERSION
- 
--This document describes threads::shared version 1.46
-+This document describes threads::shared version 1.48
- 
- =head1 SYNOPSIS
- 
-diff --git a/shared.xs b/shared.xs
-index f59a82a..ee52fa1 100644
---- a/shared.xs
-+++ b/shared.xs
-@@ -136,7 +136,7 @@
- /*
-  * The shared things need an interpreter to live in ...
-  */
--PerlInterpreter *PL_sharedsv_space;             /* The shared sv space */
-+static PerlInterpreter *PL_sharedsv_space;             /* The shared sv space 
*/
- /* To access shared space we fake aTHX in this scope and thread's context */
- 
- /* Bug #24255: We include ENTER+SAVETMPS/FREETMPS+LEAVE with
-@@ -177,7 +177,7 @@ typedef struct {
- #endif
- } recursive_lock_t;
- 
--recursive_lock_t PL_sharedsv_lock;   /* Mutex protecting the shared sv space 
*/
-+static recursive_lock_t PL_sharedsv_lock;   /* Mutex protecting the shared sv 
space */
- 
- void
- recursive_lock_init(pTHX_ recursive_lock_t *lock)
-@@ -291,7 +291,7 @@ sharedsv_userlock_free(pTHX_ SV *sv, MAGIC *mg)
-     return (0);
- }
- 
--MGVTBL sharedsv_userlock_vtbl = {
-+static const MGVTBL sharedsv_userlock_vtbl = {
-     0,                          /* get */
-     0,                          /* set */
-     0,                          /* len */
-@@ -332,10 +332,10 @@ MGVTBL sharedsv_userlock_vtbl = {
-    the shared thing.
-  */
- 
--extern MGVTBL sharedsv_scalar_vtbl;    /* Scalars have this vtable */
--extern MGVTBL sharedsv_array_vtbl;     /* Hashes and arrays have this
-+extern const MGVTBL sharedsv_scalar_vtbl;   /* Scalars have this vtable */
-+extern const MGVTBL sharedsv_array_vtbl;     /* Hashes and arrays have this
-                                             - like 'tie' */
--extern MGVTBL sharedsv_elem_vtbl;      /* Elements of hashes and arrays have
-+extern const MGVTBL sharedsv_elem_vtbl;      /* Elements of hashes and arrays 
have
-                                           this _AS WELL AS_ the scalar magic:
-    The sharedsv_elem_vtbl associates the element with the array/hash and
-    the sharedsv_scalar_vtbl associates it with the value
-@@ -878,7 +878,7 @@ sharedsv_scalar_mg_local(pTHX_ SV* nsv, MAGIC *mg)
- }
- #endif
- 
--MGVTBL sharedsv_scalar_vtbl = {
-+const MGVTBL sharedsv_scalar_vtbl = {
-     sharedsv_scalar_mg_get,     /* get */
-     sharedsv_scalar_mg_set,     /* set */
-     0,                          /* len */
-@@ -1039,7 +1039,7 @@ sharedsv_elem_mg_dup(pTHX_ MAGIC *mg, CLONE_PARAMS 
*param)
-     return (0);
- }
- 
--MGVTBL sharedsv_elem_vtbl = {
-+const MGVTBL sharedsv_elem_vtbl = {
-     sharedsv_elem_mg_FETCH,     /* get */
-     sharedsv_elem_mg_STORE,     /* set */
-     0,                          /* len */
-@@ -1152,7 +1152,7 @@ sharedsv_array_mg_dup(pTHX_ MAGIC *mg, CLONE_PARAMS 
*param)
-     return (0);
- }
- 
--MGVTBL sharedsv_array_vtbl = {
-+const MGVTBL sharedsv_array_vtbl = {
-     0,                          /* get */
-     0,                          /* set */
-     sharedsv_array_mg_FETCHSIZE,/* len */
-@@ -1371,9 +1371,29 @@ void
- STORESIZE(SV *obj,IV count)
-     CODE:
-         dTHXc;
--        SV *sobj = SHAREDSV_FROM_OBJ(obj);
-+        SV *ssv = SHAREDSV_FROM_OBJ(obj);
-+
-         SHARED_EDIT;
--        av_fill((AV*) sobj, count);
-+        assert(SvTYPE(ssv) == SVt_PVAV);
-+        if (!PL_dirty) {
-+            SV **svp = AvARRAY((AV *)ssv);
-+            I32 ix = AvFILLp((AV *)ssv);
-+            for (;ix >= count; ix--) {
-+                SV *sv = svp[ix];
-+                if (!sv)
-+                    continue;
-+                if (   (SvOBJECT(sv) || (SvROK(sv) && (sv = SvRV(sv))))
-+                    && SvREFCNT(sv) == 1 )
-+                {
-+                    SV *tmp = Perl_sv_newmortal(caller_perl);
-+                    PERL_SET_CONTEXT((aTHX = caller_perl));
-+                    sv_upgrade(tmp, SVt_RV);
-+                    get_RV(tmp, sv);
-+                    PERL_SET_CONTEXT((aTHX = PL_sharedsv_space));
-+                }
-+            }
-+        }
-+        av_fill((AV*) ssv, count - 1);
-         SHARED_RELEASE;
- 
- 
-diff --git a/t/av_simple.t b/t/av_simple.t
-index 7fab9b2..305c6d5 100644
---- a/t/av_simple.t
-+++ b/t/av_simple.t
-@@ -27,7 +27,7 @@ sub ok {
- 
- BEGIN {
-     $| = 1;
--    print("1..44\n");   ### Number of tests that will be run ###
-+    print("1..47\n");   ### Number of tests that will be run ###
- };
- 
- use threads;
-@@ -130,6 +130,16 @@ ok(37, !defined delete($foo[0]), "Check that delete works 
from a thread");
- 
- ok(44, is_shared(@foo), "Check for sharing");
- 
-+# RT #122950
-+
-+@foo = ('a'..'z');
-+$#foo = 2;
-+
-+ok(45, $#foo == 2,        "\$#foo assignment: \$#");
-+ok(46, @foo  == 3,        "\$#foo assignment: scalar");
-+ok(47, "@foo" eq "a b c", "\$#foo assignment: array interpolation");
-+
-+
- exit(0);
- 
- # EOF
-diff --git a/t/hv_refs.t b/t/hv_refs.t
-index ecefdc6..a2d2206 100644
---- a/t/hv_refs.t
-+++ b/t/hv_refs.t
-@@ -63,7 +63,7 @@ ok(8, threads::shared::_id($$gg) == 
threads::shared::_id($$gg2),
-        sprintf("Check we get the same thing (%x vs %x)",
-        threads::shared::_id($$gg),threads::shared::_id($$gg2)));
- ok(9, $$gg eq $$gg2, "And check the values are the same");
--ok(10, keys %foo == 0, "And make sure we realy have deleted the values");
-+ok(10, keys %foo == 0, "And make sure we really have deleted the values");
- {
-     my (%hash1, %hash2);
-     share(%hash1);
-diff --git a/t/object2.t b/t/object2.t
-index f59bad8..3d795b9 100644
---- a/t/object2.t
-+++ b/t/object2.t
-@@ -17,7 +17,7 @@ use ExtUtils::testlib;
- 
- BEGIN {
-     $| = 1;
--    print("1..122\n");   ### Number of tests that will be run ###
-+    print("1..131\n");   ### Number of tests that will be run ###
- };
- 
- use threads;
-@@ -406,4 +406,45 @@ ok($destroyed[$ID], 'Scalar object removed from undef 
shared hash');
- }
- ok($destroyed[$ID], 'Scalar object removed from shared scalar');
- 
-+#
-+# RT #122950 abandoning array elements (e.g. by setting $#ary)
-+# should trigger destructors
-+
-+{
-+    package rt122950;
-+
-+    my $count = 0;
-+    sub DESTROY { $count++ }
-+
-+    my $n = 4;
-+
-+    for my $type (0..1) {
-+        my @a : shared;
-+        $count = 0;
-+        push @a, bless &threads::shared::share({}) for 1..$n;
-+        for (1..$n) {
-+            { # new scope to ensure tmps are freed, destructors called
-+                if ($type) {
-+                    pop @a;
-+                }
-+                else {
-+                    $#a = $n - $_ - 1;
-+                }
-+            }
-+            ::ok($count == $_,
-+                "remove array object $_ by " . ($type ? "pop" : '$#a=N'));
-+        }
-+    }
-+
-+    my @a : shared;
-+    $count = 0;
-+    push @a, bless &threads::shared::share({}) for 1..$n;
-+    {
-+        undef @a; # this is implemented internally as $#a = -01
-+    }
-+    ::ok($count == $n, "remove array object by undef");
-+}
-+
-+
-+
- # EOF
--- 
-2.1.0
-
-- 
cgit v0.12


        
http://pkgs.fedoraproject.org/cgit/perl-threads-shared.git/commit/?h=master&id=f44cf150bb53759275e3d28a82040e37375a483a
--
Fedora Extras Perl SIG
http://www.fedoraproject.org/wiki/Extras/SIGs/Perl
perl-devel mailing list
perl-devel@lists.fedoraproject.org
http://lists.fedoraproject.org/admin/lists/perl-devel@lists.fedoraproject.org

Reply via email to