Hello community, here is the log from the commit of package perl-Scope-Upper for openSUSE:Factory checked in at 2017-11-15 16:52:29 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Scope-Upper (Old) and /work/SRC/openSUSE:Factory/.perl-Scope-Upper.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Scope-Upper" Wed Nov 15 16:52:29 2017 rev:11 rq:539952 version:0.30 Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Scope-Upper/perl-Scope-Upper.changes 2016-06-19 10:48:16.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Scope-Upper.new/perl-Scope-Upper.changes 2017-11-15 16:52:32.243602701 +0100 @@ -1,0 +2,11 @@ +Sun Nov 5 07:00:09 UTC 2017 - co...@suse.com + +- updated to 0.30 + see /usr/share/doc/packages/perl-Scope-Upper/Changes + + 0.30 2017-11-04 15:55 UTC + + Fix : [RT #123481] : Compatibility with CV-in-stash optimisation + Thanks Father Chrysostomos for reporting and contributing a + patch. + +------------------------------------------------------------------- Old: ---- Scope-Upper-0.29.tar.gz New: ---- Scope-Upper-0.30.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Scope-Upper.spec ++++++ --- /var/tmp/diff_new_pack.dyaowS/_old 2017-11-15 16:52:33.839544226 +0100 +++ /var/tmp/diff_new_pack.dyaowS/_new 2017-11-15 16:52:33.843544080 +0100 @@ -1,7 +1,7 @@ # # spec file for package perl-Scope-Upper # -# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -17,14 +17,14 @@ Name: perl-Scope-Upper -Version: 0.29 +Version: 0.30 Release: 0 %define cpan_name Scope-Upper Summary: Act on upper scopes License: Artistic-1.0 or GPL-1.0+ Group: Development/Libraries/Perl Url: http://search.cpan.org/dist/Scope-Upper/ -Source0: http://www.cpan.org/authors/id/V/VP/VPIT/%{cpan_name}-%{version}.tar.gz +Source0: https://cpan.metacpan.org/authors/id/V/VP/VPIT/%{cpan_name}-%{version}.tar.gz Source1: cpanspec.yml BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: perl ++++++ Scope-Upper-0.29.tar.gz -> Scope-Upper-0.30.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/Changes new/Scope-Upper-0.30/Changes --- old/Scope-Upper-0.29/Changes 2016-06-06 12:57:42.000000000 +0200 +++ new/Scope-Upper-0.30/Changes 2017-11-04 16:46:07.000000000 +0100 @@ -1,5 +1,10 @@ Revision history for Scope-Upper +0.30 2017-11-04 15:55 UTC + + Fix : [RT #123481] : Compatibility with CV-in-stash optimisation + Thanks Father Chrysostomos for reporting and contributing a + patch. + 0.29 2016-06-06 12:00 UTC + Chg : A large chunk of boilerplate XS code, which is also used in other XS modules, has been factored out of the main .xs file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/MANIFEST new/Scope-Upper-0.30/MANIFEST --- old/Scope-Upper-0.29/MANIFEST 2016-05-30 14:56:46.000000000 +0200 +++ new/Scope-Upper-0.30/MANIFEST 2017-11-04 16:43:50.000000000 +0100 @@ -68,5 +68,6 @@ t/lib/VPIT/TestHelpers.pm xsh/caps.h xsh/debug.h +xsh/mem.h xsh/threads.h xsh/util.h diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/META.json new/Scope-Upper-0.30/META.json --- old/Scope-Upper-0.29/META.json 2016-06-06 12:59:28.000000000 +0200 +++ new/Scope-Upper-0.30/META.json 2017-11-04 16:46:31.000000000 +0100 @@ -4,13 +4,13 @@ "Vincent Pit <p...@profvince.com>" ], "dynamic_config" : 1, - "generated_by" : "ExtUtils::MakeMaker version 7.18, CPAN::Meta::Converter version 2.150005", + "generated_by" : "ExtUtils::MakeMaker version 7.3, CPAN::Meta::Converter version 2.150010", "license" : [ "perl_5" ], "meta-spec" : { "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec", - "version" : "2" + "version" : 2 }, "name" : "Scope-Upper", "no_index" : { @@ -59,6 +59,6 @@ "url" : "http://git.profvince.com/?p=perl%2Fmodules%2FScope-Upper.git" } }, - "version" : "0.29", - "x_serialization_backend" : "JSON::PP version 2.27400" + "version" : "0.30", + "x_serialization_backend" : "JSON::PP version 2.94" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/META.yml new/Scope-Upper-0.30/META.yml --- old/Scope-Upper-0.29/META.yml 2016-06-06 12:59:27.000000000 +0200 +++ new/Scope-Upper-0.30/META.yml 2017-11-04 16:46:31.000000000 +0100 @@ -14,7 +14,7 @@ Config: '0' ExtUtils::MakeMaker: '0' dynamic_config: 1 -generated_by: 'ExtUtils::MakeMaker version 7.18, CPAN::Meta::Converter version 2.150005' +generated_by: 'ExtUtils::MakeMaker version 7.3, CPAN::Meta::Converter version 2.150010' license: perl meta-spec: url: http://module-build.sourceforge.net/META-spec-v1.4.html @@ -34,5 +34,5 @@ homepage: http://search.cpan.org/dist/Scope-Upper/ license: http://dev.perl.org/licenses/ repository: http://git.profvince.com/?p=perl%2Fmodules%2FScope-Upper.git -version: '0.29' +version: '0.30' x_serialization_backend: 'CPAN::Meta::YAML version 0.018' diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/Makefile.PL new/Scope-Upper-0.30/Makefile.PL --- old/Scope-Upper-0.29/Makefile.PL 2015-11-03 18:53:50.000000000 +0100 +++ new/Scope-Upper-0.30/Makefile.PL 2017-11-04 16:41:14.000000000 +0100 @@ -6,6 +6,28 @@ use Config; +if ($Config{d_cplusplus}) { + print STDERR <<'FAILPLUSPLUS'; +Configuration aborted: C++ compilers are not supported + + Your perl has been built with a C++ compiler, which is then handed to + XS extensions as if it were a proper C compiler. This extension is + written in C, and naturally only supports C compilers, so it cannot be + built with your perl. + + Note that building perl with a C++ compiler is only supposed to be done + by core developers in order to check that the perl headers can be + included from C++ code. Its use in the wild is not supported by the + perl5 porters. If your vendor has built its perl binary with a C++ + compiler, please consider reporting this issue to them. + + This text will be displayed 10 seconds, and then the configuration + script will exit. +FAILPLUSPLUS + sleep 10; + exit 0; +} + my $pl = $Config{perl_patchlevel}; my $desc = $Config{git_describe}; for ($pl, $desc) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/README new/Scope-Upper-0.30/README --- old/Scope-Upper-0.29/README 2016-06-06 12:59:28.000000000 +0200 +++ new/Scope-Upper-0.30/README 2017-11-04 16:46:31.000000000 +0100 @@ -2,7 +2,7 @@ Scope::Upper - Act on upper scopes. VERSION - Version 0.29 + Version 0.30 SYNOPSIS "reap", "localize", "localize_elem", "localize_delete" and "WORDS" : @@ -823,8 +823,8 @@ Thanks to Shawn M. Moore for motivation. COPYRIGHT & LICENSE - Copyright 2008,2009,2010,2011,2012,2013,2014,2015,2016 Vincent Pit, all - rights reserved. + Copyright 2008,2009,2010,2011,2012,2013,2014,2015,2016,2017 Vincent Pit, + all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/lib/Scope/Upper.pm new/Scope-Upper-0.30/lib/Scope/Upper.pm --- old/Scope-Upper-0.29/lib/Scope/Upper.pm 2016-06-06 12:56:57.000000000 +0200 +++ new/Scope-Upper-0.30/lib/Scope/Upper.pm 2017-11-04 16:34:21.000000000 +0100 @@ -11,13 +11,13 @@ =head1 VERSION -Version 0.29 +Version 0.30 =cut our $VERSION; BEGIN { - $VERSION = '0.29'; + $VERSION = '0.30'; } =head1 SYNOPSIS @@ -865,7 +865,7 @@ =head1 COPYRIGHT & LICENSE -Copyright 2008,2009,2010,2011,2012,2013,2014,2015,2016 Vincent Pit, all rights reserved. +Copyright 2008,2009,2010,2011,2012,2013,2014,2015,2016,2017 Vincent Pit, all rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/t/lib/VPIT/TestHelpers.pm new/Scope-Upper-0.30/t/lib/VPIT/TestHelpers.pm --- old/Scope-Upper-0.29/t/lib/VPIT/TestHelpers.pm 2015-08-03 23:30:21.000000000 +0200 +++ new/Scope-Upper-0.30/t/lib/VPIT/TestHelpers.pm 2017-11-04 15:31:56.000000000 +0100 @@ -97,7 +97,9 @@ } my $glob = $stash->{$sub}; - return $glob ? *$glob{CODE} : undef; + return ref \$glob eq 'GLOB' ? *$glob{CODE} + : ref $glob eq 'CODE' ? $glob + : undef; }; sub skip { $test_sub->('skip')->(@_) } @@ -193,7 +195,15 @@ =item * -Dependencies : none +Dependencies : + +=over 8 + +=item - + +L<File::Spec> + +=back =item * @@ -207,6 +217,10 @@ =item - +C<run_perl_file $file> + +=item - + C<RUN_PERL_FAILED> (possibly prefixed by C<$p>) =back @@ -241,8 +255,14 @@ sub init_run_perl { my $p = sanitize_prefix(shift); + # This is only required for run_perl_file(), so it is not needed for the + # threads feature which only calls run_perl() - don't forget to update its + # requirements if this ever changes. + require File::Spec; + return ( run_perl => \&run_perl, + run_perl_file => \&run_perl_file, "${p}RUN_PERL_FAILED" => sub () { 'Could not execute perl subprocess' }, ); } @@ -260,6 +280,20 @@ }; } +sub run_perl_file { + my $file = shift; + + $file = File::Spec->rel2abs($file); + unless (-e $file and -r _) { + die 'Could not run perl file'; + } + + fresh_perl_env { + my ($perl, @perl_args) = @_; + system { $perl } $perl, @perl_args, $file; + }; +} + =head2 C<capture> =over 4 @@ -624,6 +658,7 @@ if (defined $pkg and defined $threadsafe_var) { my $threadsafe; + # run_perl() doesn't actually require anything my $stat = run_perl("require POSIX; require $pkg; exit($threadsafe_var ? POSIX::EXIT_SUCCESS() : POSIX::EXIT_FAILURE())"); if (defined $stat) { require POSIX; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/xsh/caps.h new/Scope-Upper-0.30/xsh/caps.h --- old/Scope-Upper-0.29/xsh/caps.h 2015-11-04 14:02:53.000000000 +0100 +++ new/Scope-Upper-0.30/xsh/caps.h 2017-11-04 16:43:07.000000000 +0100 @@ -1,6 +1,10 @@ #ifndef XSH_CAPS_H #define XSH_CAPS_H 1 +#ifdef __cplusplus +# error C++ compilers are not supported +#endif + #define XSH_HAS_PERL(R, V, S) (PERL_REVISION > (R) || (PERL_REVISION == (R) && (PERL_VERSION > (V) || (PERL_VERSION == (V) && (PERL_SUBVERSION >= (S)))))) #define XSH_HAS_PERL_BRANCH(R, V, S) (PERL_REVISION == (R) && PERL_VERSION == (V) && PERL_SUBVERSION >= (S)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/xsh/mem.h new/Scope-Upper-0.30/xsh/mem.h --- old/Scope-Upper-0.29/xsh/mem.h 1970-01-01 01:00:00.000000000 +0100 +++ new/Scope-Upper-0.30/xsh/mem.h 2017-11-04 16:43:37.000000000 +0100 @@ -0,0 +1,199 @@ +#ifndef XSH_MEM_H +#define XSH_MEM_H 1 + +#include "util.h" /* XSH_ASSERT() */ + +#ifdef DEBUGGING +# ifdef Poison +# define XSH_POISON(D, N, T) Poison((D), (N), T) +# endif +# ifdef PoisonNew +# define XSH_POISON_NEW(D, N, T) PoisonNew((D), (N), T) +# define XSH_HAS_POISON_NEW 1 +# endif +# ifdef PoisonFree +# define XSH_POISON_FREE(D, N, T) PoisonFree((D), (N), T) +# define XSH_HAS_POISON_FREE 1 +# endif +#endif + +#ifdef XSH_POISON +# ifndef XSH_POISON_NEW +# define XSH_POISON_NEW(D, N, T) XSH_POISON(D, N, T) +# define XSH_HAS_POISON_NEW 1 +# endif +# ifndef XSH_POISON_FREE +# define XSH_POISON_FREE(D, N, T) XSH_POISON(D, N, T) +# define XSH_HAS_POISON_FREE 1 +# endif +#endif + +#ifndef XSH_HAS_POISON_NEW +# define XSH_HAS_POISON_NEW 0 +#endif +#ifndef XSH_HAS_POISON_FREE +# define XSH_HAS_POISON_FREE 0 +#endif + +/* --- Shared memory ------------------------------------------------------- */ + +/* Context for PerlMemShared_*() functions */ +#ifdef PERL_IMPLICIT_SYS +# define pPMS pTHX +# define pPMS_ pTHX_ +# define aPMS aTHX +# define aPMS_ aTHX_ +#else +# define pPMS void +# define pPMS_ +# define aPMS +# define aPMS_ +#endif + +/* ... xsh_shared_alloc() .................................................. */ + +#if XSH_HAS_POISON_NEW + +static void *xsh_shared_alloc(pPMS_ size_t size) { +#define xsh_shared_alloc(S) xsh_shared_alloc(aPMS_ (S)) + void *p; + + p = PerlMemShared_malloc(size); + XSH_ASSERT(p); + + XSH_POISON_NEW(p, size, char); + + return p; +} + +#else /* XSH_HAS_POISON_NEW */ + +#define xsh_shared_alloc(S) PerlMemShared_malloc(S) + +#endif /* !XSH_HAS_POISON_NEW */ + +#define XSH_SHARED_ALLOC(D, N, T) ((D) = xsh_shared_alloc((N) * sizeof(T))) + +/* ... xsh_shared_calloc() ................................................. */ + +#define xsh_shared_calloc(C, S) PerlMemShared_calloc((C), (S)) + +#define XSH_SHARED_CALLOC(D, N, T) ((D) = xsh_shared_calloc((N), sizeof(T))) + +/* ... xsh_shared_free() ................................................... */ + +#if XSH_HAS_POISON_FREE + +static void xsh_shared_free(pPMS_ void *p, size_t size) { +#define xsh_shared_free(P, S) xsh_shared_free(aPMS_ (P), (S)) + if (p) + XSH_POISON_FREE(p, size, char); + + PerlMemShared_free(p); + + return; +} + +#else /* XSH_HAS_POISON_FREE */ + +#define xsh_shared_free(P, S) PerlMemShared_free(P) + +#endif /* !XSH_HAS_POISON_FREE */ + +#define XSH_SHARED_FREE(D, N, T) (xsh_shared_free((D), (N) * sizeof(T)), (D) = NULL) + +/* ... xsh_shared_realloc() ................................................ */ + +#if XSH_HAS_POISON_NEW && XSH_HAS_POISON_FREE + +static void *xsh_shared_realloc(pPMS_ void *p, size_t old_size, size_t new_size) { +#define xsh_shared_realloc(P, OS, NS) xsh_shared_realloc(aPMS_ (P), (OS), (NS)) + void *q; + + if (!p) + return xsh_shared_alloc(new_size); + + if (!new_size) { + xsh_shared_free(p, old_size); + return xsh_shared_alloc(1); + } + + if (new_size < old_size) + XSH_POISON_FREE(((char *) p) + new_size, old_size - new_size, char); + + q = PerlMemShared_realloc(p, new_size); + XSH_ASSERT(q); + + if (old_size < new_size) + XSH_POISON_NEW(((char *) q) + old_size, new_size - old_size, char); + + return q; +} + +#else /* XSH_HAS_POISON_NEW && XSH_HAS_POISON_FREE */ + +#define xsh_shared_realloc(P, OS, NS) PerlMemShared_realloc((P), (NS)) + +#endif /* !XSH_HAS_POISON_NEW || !XSH_HAS_POISON_FREE */ + +#define XSH_SHARED_REALLOC(D, OL, NL, T) ((D) = xsh_shared_realloc((D), (OL) * sizeof(T), (NL) * sizeof(T))) + +/* ... xsh_shared_recalloc() ............................................... */ + +static void *xsh_shared_recalloc(pPMS_ void *p, size_t old_size, size_t new_size) { +#define xsh_shared_recalloc(P, OS, NS) xsh_shared_recalloc(aPMS_ (P), (OS), (NS)) + void *q; + +#ifdef XSH_POISON_FREE + if (new_size < old_size) + XSH_POISON_FREE(((char *) p) + new_size, old_size - new_size, char); +#endif /* XSH_POISON_FREE */ + + q = PerlMemShared_realloc(p, new_size); + XSH_ASSERT(q); + + if (old_size < new_size) + Zero(((char *) q) + old_size, new_size - old_size, char); + + return q; +} + +#define XSH_SHARED_RECALLOC(D, OL, NL, T) ((D) = xsh_shared_recalloc((D), (OL) * sizeof(T), (NL) * sizeof(T))) + +/* --- Interpreter-local memory -------------------------------------------- */ + +#ifndef Newx +# define Newx(D, N, T) New(0, (D), (N), T) +#endif + +#ifndef PERL_POISON + +#if XSH_HAS_POISON_NEW +# define XSH_LOCAL_ALLOC(D, N, T) (Newx((D), (N), T), XSH_POISON_NEW((D), (N), T)) +#endif + +#if XSH_HAS_POISON_FREE +# define XSH_LOCAL_FREE(D, N, T) (XSH_POISON_FREE((D), (N), T), Safefree(D)) +#endif + +#if XSH_HAS_POISON_NEW && XSH_HAS_POISON_FREE +# define XSH_LOCAL_REALLOC(D, OL, NL, T) ((((D) && ((NL) < (OL))) ? XSH_POISON_FREE(((T *) (D)) + (NL), (OL) - (NL), T) : NOOP), Renew((D), (NL), T), (((OL) < (NL)) ? XSH_POISON_NEW(((T *) (D)) + (OL), (NL) - (OL), T) : NOOP)) +#endif + +#endif /* !PERL_POISON */ + +#ifndef XSH_LOCAL_ALLOC +# define XSH_LOCAL_ALLOC(D, N, T) Newx((D), (N), T) +#endif + +#define XSH_LOCAL_CALLOC(D, N, T) Newxz((D), (N), T) + +#ifndef XSH_LOCAL_FREE +# define XSH_LOCAL_FREE(D, N, T) Safefree(D) +#endif + +#ifndef XSH_LOCAL_REALLOC +# define XSH_LOCAL_REALLOC(D, OL, NL, T) Renew((D), (NL), T) +#endif + +#endif /* XSH_MEM_H */ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/xsh/threads.h new/Scope-Upper-0.30/xsh/threads.h --- old/Scope-Upper-0.29/xsh/threads.h 2016-05-30 14:56:46.000000000 +0200 +++ new/Scope-Upper-0.30/xsh/threads.h 2017-11-04 16:43:23.000000000 +0100 @@ -3,6 +3,7 @@ #include "caps.h" /* XSH_HAS_PERL(), XSH_THREADSAFE */ #include "util.h" /* XSH_PACKAGE, dNOOP, NOOP */ +#include "mem.h" /* XSH_SHARED_*() */ #ifndef XSH_THREADS_COMPILE_TIME_PROTECTION # define XSH_THREADS_COMPILE_TIME_PROTECTION 0 @@ -307,7 +308,7 @@ tok->cb(aTHX_ tok->ud); XSH_LOADED_UNLOCK; - PerlMemShared_free(tok); + XSH_SHARED_FREE(tok, 1, xsh_teardown_late_token); return 0; } @@ -338,7 +339,7 @@ } else { xsh_teardown_late_token *tok; - tok = PerlMemShared_malloc(sizeof *tok); + XSH_SHARED_ALLOC(tok, 1, xsh_teardown_late_token); tok->cb = cb; tok->ud = ud; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Scope-Upper-0.29/xsh/util.h new/Scope-Upper-0.30/xsh/util.h --- old/Scope-Upper-0.29/xsh/util.h 2016-06-06 11:24:40.000000000 +0200 +++ new/Scope-Upper-0.30/xsh/util.h 2017-11-04 16:43:13.000000000 +0100 @@ -28,13 +28,6 @@ # define XSH_ASSERT(C) #endif -#undef VOID2 -#ifdef __cplusplus -# define VOID2(T, P) static_cast<T>(P) -#else -# define VOID2(T, P) (P) -#endif - #ifndef STMT_START # define STMT_START do #endif @@ -66,19 +59,6 @@ #define xsh_dup(S, P) sv_dup((S), (P)) #define xsh_dup_inc(S, P) SvREFCNT_inc(xsh_dup((S), (P))) -/* Context for PerlMemShared_*() functions */ -#ifdef PERL_IMPLICIT_SYS -# define pPMS pTHX -# define pPMS_ pTHX_ -# define aPMS aTHX -# define aPMS_ aTHX_ -#else -# define pPMS void -# define pPMS_ -# define aPMS -# define aPMS_ -#endif - #ifdef USE_ITHREADS # define XSH_LOCK(M) MUTEX_LOCK(M) # define XSH_UNLOCK(M) MUTEX_UNLOCK(M)