Hello community,

here is the log from the commit of package perl-namespace-clean for 
openSUSE:Factory checked in at 2015-10-19 22:49:31
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-namespace-clean (Old)
 and      /work/SRC/openSUSE:Factory/.perl-namespace-clean.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-namespace-clean"

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-namespace-clean/perl-namespace-clean.changes    
    2014-03-18 13:58:46.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-namespace-clean.new/perl-namespace-clean.changes
   2015-10-19 22:49:49.000000000 +0200
@@ -1,0 +2,6 @@
+Sat Oct 10 09:37:59 UTC 2015 - co...@suse.com
+
+- updated to 0.26
+   see /usr/share/doc/packages/perl-namespace-clean/Changes
+
+-------------------------------------------------------------------

Old:
----
  namespace-clean-0.25.tar.gz

New:
----
  cpanspec.yml
  namespace-clean-0.26.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-namespace-clean.spec ++++++
--- /var/tmp/diff_new_pack.rOB5T8/_old  2015-10-19 22:49:50.000000000 +0200
+++ /var/tmp/diff_new_pack.rOB5T8/_new  2015-10-19 22:49:50.000000000 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-namespace-clean
 #
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2015 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,15 @@
 
 
 Name:           perl-namespace-clean
-Version:        0.25
+Version:        0.26
 Release:        0
 %define cpan_name namespace-clean
 Summary:        Keep imports and functions out of your namespace
 License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/namespace-clean/
-Source:         
http://www.cpan.org/authors/id/R/RI/RIBASUSHI/%{cpan_name}-%{version}.tar.gz
+Source0:        
http://www.cpan.org/authors/id/R/RI/RIBASUSHI/%{cpan_name}-%{version}.tar.gz
+Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl
@@ -42,15 +43,6 @@
 
 %prep
 %setup -q -n %{cpan_name}-%{version}
-# MANUAL BEGIN
-%if 0%{?suse_version} <= 1110
-for i in `find t -type f` ; do
-    sed -i -e "s@^\s*use\s\s*Test::More@use lib '%{perl_vendorlib}';\nuse 
Test::More@" $i
-done
-# fail due to missing Sub/Name.pm
-rm -f t/07-debugger.t
-rm -f t/10-pure-perl.t
-%endif
 
 %build
 %{__perl} Makefile.PL INSTALLDIRS=vendor

++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#no_testing: broken upstream
#sources:
#  - source1
#  - source2
#patches:
#  foo.patch: -p1
#  bar.patch:
#preamble: |-
# BuildRequires:  gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s,  *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL 
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module
++++++ namespace-clean-0.25.tar.gz -> namespace-clean-0.26.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/Changes 
new/namespace-clean-0.26/Changes
--- old/namespace-clean-0.25/Changes    2014-03-05 12:24:28.000000000 +0100
+++ new/namespace-clean-0.26/Changes    2015-10-07 19:43:07.000000000 +0200
@@ -1,32 +1,47 @@
-    [0.25]
+0.26  2015-10-07 17:43 (UTC)
+        - Exclusively use Package::Stash::PP on perls < 5.8.7 until a fixed
+          Package::Stash::XS ships - breakage keeps getting reintroduced
+          ( RT#107343, RT#74151 )
+        - Explicitly document the late runtime binding of `sort SUBNAME ...`
+          ( RT#101247 )
+        - No longer rely on Sub::Identify - either use Sub::Util or B
+          ( should solve RT#96945 )
+
+
+0.25  2014-03-05 11:27 (UTC)
         - Fix incorrect ExtUtils::CBuilder detection routine leading to
           Makefile.PL crashes when EU::CB is not available
 
-    [0.24]
+
+0.24  2012-12-04 22:59 (UTC)
         - Properly skip debugger test when optional deps not available
         - Make sure pure-perl tests pass correctly on space-containing
           paths (RT#77528)
         - Remove all the pure-perl fallback code and depend on PP-capable
           B::H::EOS 0.12
 
-    [0.23]
+
+0.23  2012-03-11 15:06 (UTC)
         - Rely on B::Hooks::EndOfScope version 0.10 to fix issues with
           new Module::Runtime versions (>= 0.012) on perl 5.10 due
           to incorrect hook firing due to %^H localisation.
         - Fix failures on 5.13.6 due to incorrect version number threshold
           (RT#74683)
 
-    [0.22] (official fix of all the %^H ickyness)
+
+0.22 (official fix of all the %^H ickyness)  2011-12-26 13:04 (UTC)
         - Simplify the >= 5.10 PP variant even more - move the hook from
           DESTROY into DELETE
         - Force explicit callback invocation order on 5.8 PP
 
-    [0.21_02]
+
+0.21_02  2011-12-22 11:33 (UTC)
         - Replace the %^H tie approach with fieldhashes, fixes all known
           corner cases and caveats on supported perls >= 5.8.1 (FC)
         - Compile away the debugger fixup on perls >= 5.15.5 (FC)
 
-    [0.21_01]
+
+0.21_01  2011-12-21 11:39 (UTC)
         - More robust handling of the tied %^H in pure perl mode (RT#73402)
         - Limit the debugger workarounds to perls between 5.8.8 and 5.14,
           extend debugger support to all perl versions (FC) (RT#69862)
@@ -34,12 +49,14 @@
           workaround libraries on perls between 5.8.8 and 5.14 (RT#72368)
         - Add back dropped NAME section (RT#70259)
 
-    [0.21]
+
+0.21  2011-08-03 21:51 (UTC)
         - When using the tie() fallback ensure we do not obliterate a
           foreign tie()
         - Better document how to disable the tie() fallback
 
-    [0.20_01] (the "mst made me do it" release)
+
+0.20_01 (the "mst made me do it" release)   2011-07-31 09:26 (UTC)
         - Only invoke the deleted sub stashing if we run udner a debugger
           (avoid runtime penalty of Sub::Name/Sub::Identify)
         - Spellfixes (RT#54388)
@@ -47,81 +64,100 @@
           tie() of %^H. While it can not 100% replace B::H::EOS, it does
           everything n::c needs
 
-    [0.20]
+
+0.20  2011-01-06 18:07 (UTC)
         - Bump Package::Stash dependency to 0.22 to pull in a bugfix in
           Package::Stash::XS 0.19.
 
-    [0.19]
+
+0.19  2011-01-03 16:36 (UTC)
         - Port to the new Package::Stash 0.18 API and depend on it.
         - Don't rely on package::stash's remove_package_symbol implementation
           (doy).
 
-    [0.18]
+
+0.18  2010-06-13 17:12 (UTC)
         - Make sure we continue working on future Package::Stash
           versions (doy).
 
-    [0.17]
+
+0.17  2010-06-05 23:16 (UTC)
         - Make sure the debugger author test is skipped for
           non-authors before the debugger is even loaded.
 
-    [0.16]
+
+0.16  2010-06-05 20:53 (UTC)
         - Release all changes of 0.15 as part of a stable release.
         - Convert from Module::Install to Dist::Zilla.
 
-    [0.15] TRIAL release
+
+0.15 TRIAL release  2010-05-14 17:30 (UTC)
         - Use Package::Stash for the stash manipulation bits (doy).
 
-    [0.14] Thu Mar 18 11:15:38 CET 2010
+
+0.14  2010-03-18 11:15:38 (CET)
         - Disable auto_install.
         - Turn the error prone debugger test into an author test.
 
-    [0.13] Sun Jan 17 02:40:48 CET 2010
+
+0.13  2010-01-17 02:40:48 (CET)
         - Skip failing debugger tests on 5.8.8 and older.
 
-    [0.12] Thu Jan 14 03:22:03 CET 2010
+
+0.12  2010-01-14 03:22:03 (CET)
         - Stop relying on stash entries always being upgraded into real GVs
           (Zefram).
         - Work around $DB::sub (Yuval Kogman).
         - Fix restoring of non-code symbols when cleaning (Ben Morrows).
 
-    [0.11] Tue Mar  3 17:34:49 CET 2009
+
+0.11  2009-03-03 17:34:49 (CET)
         - Added -cleanee option to specify the package to clean (Closes
           RT#41850).
         - Added n:c->clean_subroutines($cleanee, @subs).
 
-    [0.10] Fri Feb 20 14:31:36 CET 2009
+
+0.10  2009-02-20 14:31:36 (CET)
         - Depend on B::Hooks::EndOfScope 0.07 to avoid segfaults and lost error
           messages when something goes wrong.
 
-    [0.09] Wed Oct 22 17:48:49 CEST 2008
+
+0.09  2008-10-22 17:48:49 (CEST)
         - Use B::Hooks::EndOfScope instead of %^H + Scope::Guard.
 
-    [0.08] Sun Mar  9 22:01:01 CET 2008
+
+0.08  2008-03-09 22:01:01 (CET)
         - Added explicit cleanup behaviour
 
-    [0.07] Sun Mar  9 20:13:33 CET 2008
+
+0.07  2008-03-09 20:13:33 (CET)
         - Switched from Filter::EOF to a much saner implementation via
           %^H and Scope::Guard. (mst & autobox)++ for this.
 
-    [0.06] Wed Feb 20 15:09:00 CET 2008
+
+0.06  2008-02-20 15:09:00 (CET)
         - Fixed 'uninitialized value in ref-to-glob cast' error
           if unimport was used before.
 
-    [0.05] Sun Aug 12 18:24:49 CEST 2007
+
+0.05  2007-08-12 18:24:49 (CEST)
         - Minor POD improvements
         - -except now accepts a single value too
 
-    [0.04] Sat Mar 17 16:22:10 CET 2007
+
+0.04  2007-03-17 16:22:10 (CET)
         - Added -except flag
         - Non-CODE type slots will not be removed
 
-    [0.03] Sat Feb 24 22:34:55 CET 2007
+
+0.03  2007-02-24 22:34:55 (CET)
         - Minor comment and POD cleanups
         - Tried to clarify how the module works
 
-    [0.02] Tue Feb 20 00:38:24 CET 2007
+
+0.02  2007-02-19 00:38:24 (CET)
         - Added unimport behaviour
 
-    [0.01] Sun Feb 18 17:33:18 CET 2007
-        - Initial Version
 
+0.01  2007-02-18 17:33:18 (CET)
+        - Initial Version
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/MANIFEST 
new/namespace-clean-0.26/MANIFEST
--- old/namespace-clean-0.25/MANIFEST   2014-03-05 12:25:05.000000000 +0100
+++ new/namespace-clean-0.26/MANIFEST   2015-10-07 19:43:37.000000000 +0200
@@ -1,5 +1,6 @@
 Changes
 lib/namespace/clean.pm
+lib/namespace/clean/_Util.pm
 Makefile.PL
 MANIFEST                       This list of files
 t/00-basic.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/META.json 
new/namespace-clean-0.26/META.json
--- old/namespace-clean-0.25/META.json  2014-03-05 12:25:05.000000000 +0100
+++ new/namespace-clean-0.26/META.json  2015-10-07 19:43:37.000000000 +0200
@@ -1,10 +1,14 @@
 {
    "abstract" : "Keep imports and functions out of your namespace",
    "author" : [
-      "Robert 'phaylon' Sedlacek <r...@474.at>, Florian Ragwitz 
<r...@debian.org>, Jesse Luehrs <d...@tozt.net>"
+      "Robert 'phaylon' Sedlacek <r...@474.at>",
+      "Florian Ragwitz <r...@debian.org>",
+      "Jesse Luehrs <d...@tozt.net>",
+      "Peter Rabbitson <ribasu...@cpan.org>",
+      "Father Chrysostomos <spr...@cpan.org>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 6.84, CPAN::Meta::Converter 
version 2.132830",
+   "generated_by" : "ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter 
version 2.150005",
    "license" : [
       "perl_5"
    ],
@@ -12,7 +16,7 @@
       "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec";,
       "version" : "2"
    },
-   "name" : "namespace-clean",
+   "name" : "namespace::clean",
    "no_index" : {
       "directory" : [
          "t",
@@ -20,32 +24,40 @@
       ]
    },
    "prereqs" : {
-      "build" : {
-         "requires" : {
-            "Test::More" : "0.88"
-         }
-      },
+      "build" : {},
       "configure" : {
          "requires" : {
-            "ExtUtils::CBuilder" : "0.27"
+            "ExtUtils::CBuilder" : "0.27",
+            "ExtUtils::MakeMaker" : "0"
          }
       },
       "runtime" : {
          "requires" : {
             "B::Hooks::EndOfScope" : "0.12",
-            "Package::Stash" : "0.23"
+            "Package::Stash" : "0.23",
+            "perl" : "5.008001"
+         }
+      },
+      "test" : {
+         "requires" : {
+            "Test::More" : "0.88"
          }
       }
    },
    "release_status" : "stable",
    "resources" : {
       "bugtracker" : {
+         "mailto" : "bug-namespace-cl...@rt.cpan.org",
          "web" : 
"http://rt.cpan.org/Public/Dist/Display.html?Name=namespace-clean";
       },
       "homepage" : "http://search.cpan.org/dist/namespace-clean";,
       "repository" : {
-         "url" : "git://git.shadowcat.co.uk/p5sagit/namespace-clean.git"
-      }
+         "type" : "git",
+         "url" : "git://git.shadowcat.co.uk/p5sagit/namespace-clean.git",
+         "web" : 
"http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/namespace-clean.git";
+      },
+      "x_IRC" : "irc://irc.perl.org/#toolchain"
    },
-   "version" : "0.25"
+   "version" : "0.26",
+   "x_serialization_backend" : "JSON::PP version 2.27203"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/META.yml 
new/namespace-clean-0.26/META.yml
--- old/namespace-clean-0.25/META.yml   2014-03-05 12:25:05.000000000 +0100
+++ new/namespace-clean-0.26/META.yml   2015-10-07 19:43:37.000000000 +0200
@@ -1,27 +1,35 @@
 ---
 abstract: 'Keep imports and functions out of your namespace'
 author:
-  - "Robert 'phaylon' Sedlacek <r...@474.at>, Florian Ragwitz 
<r...@debian.org>, Jesse Luehrs <d...@tozt.net>"
+  - "Robert 'phaylon' Sedlacek <r...@474.at>"
+  - 'Florian Ragwitz <r...@debian.org>'
+  - 'Jesse Luehrs <d...@tozt.net>'
+  - 'Peter Rabbitson <ribasu...@cpan.org>'
+  - 'Father Chrysostomos <spr...@cpan.org>'
 build_requires:
-  Test::More: 0.88
+  Test::More: '0.88'
 configure_requires:
-  ExtUtils::CBuilder: 0.27
+  ExtUtils::CBuilder: '0.27'
+  ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 6.84, CPAN::Meta::Converter version 
2.132830'
+generated_by: 'ExtUtils::MakeMaker version 6.98, CPAN::Meta::Converter version 
2.150005'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
-  version: 1.4
-name: namespace-clean
+  version: '1.4'
+name: namespace::clean
 no_index:
   directory:
     - t
     - inc
 requires:
-  B::Hooks::EndOfScope: 0.12
-  Package::Stash: 0.23
+  B::Hooks::EndOfScope: '0.12'
+  Package::Stash: '0.23'
+  perl: '5.008001'
 resources:
+  IRC: irc://irc.perl.org/#toolchain
   bugtracker: http://rt.cpan.org/Public/Dist/Display.html?Name=namespace-clean
   homepage: http://search.cpan.org/dist/namespace-clean
   repository: git://git.shadowcat.co.uk/p5sagit/namespace-clean.git
-version: 0.25
+version: '0.26'
+x_serialization_backend: 'CPAN::Meta::YAML version 0.016'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/Makefile.PL 
new/namespace-clean-0.26/Makefile.PL
--- old/namespace-clean-0.25/Makefile.PL        2014-03-05 12:19:07.000000000 
+0100
+++ new/namespace-clean-0.26/Makefile.PL        2015-10-01 05:54:37.000000000 
+0200
@@ -2,113 +2,117 @@
 use warnings;
 use 5.008001;
 
-use ExtUtils::MakeMaker;
-
-my $mymeta_works = eval { ExtUtils::MakeMaker->VERSION('6.5707'); 1 };
-my $mymeta = $mymeta_works || eval { ExtUtils::MakeMaker->VERSION('6.5702'); 1 
};
-
-my %BUILD_DEPS = (
-  'Test::More' => '0.88',
-);
-
-my %RUN_DEPS = (
-  'Package::Stash' => '0.23',
-  'B::Hooks::EndOfScope' => '0.12',
-);
-
-# these pieces are needed if using the debugger on the perl range
-my %OPT_RUN_DEPS = ( $] > 5.008_008_9 and $] < 5.013_005_1 and can_xs() )
-  # when changing versions, also change $sn_ver and $si_ver in 
namespace/clean.pm
-  ? ( 'Sub::Name' => '0.04', 'Sub::Identify' => '0.04' ) : ()
-;
+my %META = (
+  name => 'namespace::clean',
+  license => 'perl_5',
+
+  abstract => 'Keep imports and functions out of your namespace',
+  author => [
+    'Robert \'phaylon\' Sedlacek <r...@474.at>',
+    'Florian Ragwitz <r...@debian.org>',
+    'Jesse Luehrs <d...@tozt.net>',
+    'Peter Rabbitson <ribasu...@cpan.org>',
+    'Father Chrysostomos <spr...@cpan.org>',
+  ],
+
+  prereqs => {
+    configure => {
+      requires => {
+        'ExtUtils::MakeMaker'   => 0,
+        'ExtUtils::CBuilder'    => 0.27,
+      }
+    },
+    runtime => {
+      requires => {
+        'Package::Stash' => '0.23',
+        'B::Hooks::EndOfScope' => '0.12',
+        'perl' => '5.008001',
+      },
+    },
+    test => {
+      requires => {
+        'Test::More' => '0.88',
+      }
+    },
+  },
 
-my %META_BITS = (
   resources => {
+    x_IRC => 'irc://irc.perl.org/#toolchain',
     homepage => 'http://search.cpan.org/dist/namespace-clean',
-
-    # EUMM not supporting nested meta :(
-    #repository => {
-    #  type => 'git',
-    #  url => 'git://git.shadowcat.co.uk/p5sagit/namespace-clean.git',
-    #  web => 
'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/namespace-clean.git',
-    #}
-    #bugtracker => {
-    #  mailto => 'bug-namespace-cl...@rt.cpan.org',
-    #  web => 
'http://rt.cpan.org/Public/Dist/Display.html?Name=namespace-clean',
-    #},
-
-    repository => 'git://git.shadowcat.co.uk/p5sagit/namespace-clean.git',
-    bugtracker => 
'http://rt.cpan.org/Public/Dist/Display.html?Name=namespace-clean',
+    repository => {
+      type => 'git',
+      url => 'git://git.shadowcat.co.uk/p5sagit/namespace-clean.git',
+      web => 
'http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=p5sagit/namespace-clean.git',
+    },
+    bugtracker => {
+      mailto => 'bug-namespace-cl...@rt.cpan.org',
+      web => 
'http://rt.cpan.org/Public/Dist/Display.html?Name=namespace-clean',
+    },
   },
 );
 
-my %WriteMakefileArgs = (
-  'NAME' => 'namespace::clean',
-  'VERSION_FROM' => 'lib/namespace/clean.pm',
-  'ABSTRACT' => 'Keep imports and functions out of your namespace',
-  'AUTHOR' => 'Robert \'phaylon\' Sedlacek <r...@474.at>, Florian Ragwitz 
<r...@debian.org>, Jesse Luehrs <d...@tozt.net>',
-  'CONFIGURE_REQUIRES' => { 'ExtUtils::CBuilder' => 0.27 },
-   'PREREQ_PM' => {
-    %RUN_DEPS, %OPT_RUN_DEPS,
-    $mymeta_works ? () : (%BUILD_DEPS),
-  },
-
-  $mymeta_works
-    ? ( # BUILD_REQUIRES makes MYMETA right, requires stops META being wrong
-      'BUILD_REQUIRES' => \%BUILD_DEPS,
-      'META_ADD' => {
-        %META_BITS,
-        requires => \%RUN_DEPS,
-      },
-    )
-    : ( # META_ADD both to get META right - only Makefile written
-      'META_ADD' => {
-        %META_BITS,
-        requires => \%RUN_DEPS,
-        build_requires => \%BUILD_DEPS,
-      },
-    )
-  ,
-
-  ($mymeta and !$mymeta_works) ? ( 'NO_MYMETA' => 1 ) : (),
-
-  'LICENSE' => 'perl',
+my %MM_ARGS = ( (
+  # a sub-namer is needed if using the debugger on some perls
+  require 'lib/namespace/clean/_Util.pm'
+    and
+  namespace::clean::_Util::DEBUGGER_NEEDS_CV_RENAME()
+    and
+  namespace::clean::_Util::_namer_load_error()
+    and
+  can_xs()
+)
+  # when changing version, also change $sn_ver in namespace/clean/_Util.pm
+  ? ( PREREQ_PM => { 'Sub::Name' => '0.04' } )
+  : ()
 );
 
 
-unless ( eval { ExtUtils::MakeMaker->VERSION('6.56') } ) {
-  my $br = delete $WriteMakefileArgs{BUILD_REQUIRES};
-  my $pp = $WriteMakefileArgs{PREREQ_PM};
-  for my $mod ( keys %$br ) {
-    if ( exists $pp->{$mod} ) {
-      $pp->{$mod} = $br->{$mod} if $br->{$mod} > $pp->{$mod};
-    }
-    else {
-      $pp->{$mod} = $br->{$mod};
-    }
-  }
-}
+## BOILERPLATE ###############################################################
+require ExtUtils::MakeMaker;
 
-delete $WriteMakefileArgs{CONFIGURE_REQUIRES}
-  unless eval { ExtUtils::MakeMaker->VERSION('6.52') };
-
-WriteMakefile(%WriteMakefileArgs);
-
-# Secondary compile testing via ExtUtils::CBuilder
-sub can_xs {
-  # Do we have the configure_requires checker?
-  local $@;
-  eval "require ExtUtils::CBuilder;";
-  if ( $@ ) {
-    # They don't obey configure_requires, so it is
-    # someone old and delicate. Try to avoid hurting
-    # them by falling back to an older simpler test.
-    return can_cc();
-  }
-
-  return ExtUtils::CBuilder->new( quiet => 1 )->have_compiler;
+# have to do this since old EUMM dev releases miss the eval $VERSION line
+my $eumm_version  = eval $ExtUtils::MakeMaker::VERSION;
+my $mymeta        = $eumm_version >= 6.57_02;
+my $mymeta_broken = $mymeta && $eumm_version < 6.57_07;
+
+($MM_ARGS{NAME} = $META{name}) =~ s/-/::/g;
+($MM_ARGS{VERSION_FROM} = "lib/$MM_ARGS{NAME}.pm") =~ s{::}{/}g;
+$META{license} = [ $META{license} ]
+  if $META{license} && !ref $META{license};
+$MM_ARGS{LICENSE} = $META{license}[0]
+  if $META{license} && $eumm_version >= 6.30;
+$MM_ARGS{NO_MYMETA} = 1
+  if $mymeta_broken;
+$MM_ARGS{META_ADD} = { 'meta-spec' => { version => 2 }, %META }
+  unless -f 'META.yml';
+
+for (qw(configure build test runtime)) {
+  my $key = $_ eq 'runtime' ? 'PREREQ_PM' : uc $_.'_REQUIRES';
+  my $r = $MM_ARGS{$key} = {
+    %{$META{prereqs}{$_}{requires} || {}},
+    %{delete $MM_ARGS{$key} || {}},
+  };
+  defined $r->{$_} or delete $r->{$_} for keys %$r;
 }
 
+$MM_ARGS{MIN_PERL_VERSION} = delete $MM_ARGS{PREREQ_PM}{perl} || 0;
+
+delete $MM_ARGS{MIN_PERL_VERSION}
+  if $eumm_version < 6.47_01;
+$MM_ARGS{BUILD_REQUIRES} = {%{$MM_ARGS{BUILD_REQUIRES}}, %{delete 
$MM_ARGS{TEST_REQUIRES}}}
+  if $eumm_version < 6.63_03;
+$MM_ARGS{PREREQ_PM} = {%{$MM_ARGS{PREREQ_PM}}, %{delete 
$MM_ARGS{BUILD_REQUIRES}}}
+  if $eumm_version < 6.55_01;
+delete $MM_ARGS{CONFIGURE_REQUIRES}
+  if $eumm_version < 6.51_03;
+
+ExtUtils::MakeMaker::WriteMakefile(%MM_ARGS);
+## END BOILERPLATE ###########################################################
+
+
+# FIXME
+# Need to replace with EU::HC, but too many changes for this release already
+###########################################
 # can we locate a (the) C compiler
 sub can_cc {
   my @chunks = split(/ /, $Config::Config{cc}) or return;
@@ -130,6 +134,7 @@
     return $found_cmd;
   }
 
+  require File::Spec;
   for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') {
     next if $dir eq '';
     my $abs = File::Spec->catfile($dir, $cmd);
@@ -138,3 +143,71 @@
 
   return;
 }
+
+# Can our C compiler environment build XS files
+sub can_xs {
+  # Do we have the configure_requires checker?
+  local $@;
+  eval "require ExtUtils::CBuilder; ExtUtils::CBuilder->VERSION(0.27)";
+  if ( $@ ) {
+    # They don't obey configure_requires, so it is
+    # someone old and delicate. Try to avoid hurting
+    # them by falling back to an older simpler test.
+    return can_cc();
+  }
+
+  # Do we have a working C compiler
+  my $builder = ExtUtils::CBuilder->new(
+    quiet => 1,
+  );
+  unless ( $builder->have_compiler ) {
+    # No working C compiler
+    return 0;
+  }
+
+  # Write a C file representative of what XS becomes
+  require File::Temp;
+  my ( $FH, $tmpfile ) = File::Temp::tempfile(
+    "compilexs-XXXXX",
+    SUFFIX => '.c',
+  );
+  binmode $FH;
+  print $FH <<'END_C';
+#include "EXTERN.h"
+#include "perl.h"
+#include "XSUB.h"
+
+int main(int argc, char **argv) {
+    return 0;
+}
+
+int boot_sanexs() {
+    return 1;
+}
+
+END_C
+  close $FH;
+
+  # Can the C compiler access the same headers XS does
+  my @libs   = ();
+  my $object = undef;
+  eval {
+    local $^W = 0;
+    $object = $builder->compile(
+      source => $tmpfile,
+    );
+    @libs = $builder->link(
+      objects     => $object,
+      module_name => 'sanexs',
+    );
+  };
+  my $result = $@ ? 0 : 1;
+
+  # Clean up all the build files
+  foreach ( $tmpfile, $object, @libs ) {
+    next unless defined $_;
+    1 while unlink;
+  }
+
+  return $result;
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/lib/namespace/clean/_Util.pm 
new/namespace-clean-0.26/lib/namespace/clean/_Util.pm
--- old/namespace-clean-0.25/lib/namespace/clean/_Util.pm       1970-01-01 
01:00:00.000000000 +0100
+++ new/namespace-clean-0.26/lib/namespace/clean/_Util.pm       2015-10-07 
08:59:58.000000000 +0200
@@ -0,0 +1,112 @@
+###       !!!ACHTUNG!!!
+#
+# This module is to be loaded at configure time straight from the Makefile.PL
+# in order to get access to some of the constants / utils
+# None of the dependencies will be available yet at this point, so make
+# sure to never use anything beyond what the minimum supported perl came with
+# (no, relying on configure_requires is not ok)
+
+package # hide from the pauses
+  namespace::clean::_Util;
+
+use warnings;
+use strict;
+
+use base 'Exporter';
+our @EXPORT_OK = qw( DEBUGGER_NEEDS_CV_RENAME DEBUGGER_NEEDS_CV_PIVOT );
+
+use constant DEBUGGER_NEEDS_CV_RENAME => ( ( $] > 5.008_008 ) and ( $] < 
5.013_006 ) );
+use constant DEBUGGER_NEEDS_CV_PIVOT => ( ( ! DEBUGGER_NEEDS_CV_RENAME ) and ( 
$] < 5.015_005 ) );
+
+# FIXME - ideally this needs to be provided by some abstraction lib
+# but we don't have that yet
+BEGIN {
+  #
+  # Note - both get_subname and set_subname are only called by one block
+  # which is compiled away unless CV_RENAME is true ( the 5.8.9 ~ 5.12 range ).
+  # Hence we compile/provide the definitions here only when needed
+  #
+  DEBUGGER_NEEDS_CV_RENAME and ( eval <<'EOS' or die $@ );
+{
+  my( $sub_name_loaded, $sub_util_loaded );
+
+  sub _namer_load_error {
+    return '' if $sub_util_loaded or $sub_name_loaded;
+
+    # if S::N is loaded first *and* so is B - then go with that, otherwise
+    # prefer Sub::Util as S::U will provide a faster get_subname and will
+    # not need further require() calls
+    # this is rather arbitrary but remember this code exists only perls
+    # between 5.8.9 ~ 5.13.5
+
+    # when changing version also change in Makefile.PL
+    my $sn_ver = 0.04;
+
+    local $@;
+    my $err = '';
+
+    (
+      ! (
+        $INC{"B.pm"}
+          and
+        $INC{"Sub/Name.pm"}
+          and
+        eval { Sub::Name->VERSION($sn_ver) }
+      )
+        and
+      eval { require Sub::Util }
+        and
+      # see https://github.com/moose/Moo/commit/dafa5118
+      defined &Sub::Util::set_subname
+        and
+      $sub_util_loaded = 1
+    )
+      or
+    (
+      eval { require Sub::Name and Sub::Name->VERSION($sn_ver) }
+        and
+      $sub_name_loaded = 1
+    )
+      or
+    $err = "When running under -d on this perl $], namespace::clean requires 
either Sub::Name $sn_ver or Sub::Util to be installed"
+    ;
+
+    $err;
+  }
+
+  sub set_subname {
+    if( my $err = _namer_load_error() ) {
+      die $err;
+    }
+    elsif( $sub_name_loaded ) {
+      &Sub::Name::subname;
+    }
+    elsif( $sub_util_loaded ) {
+      &Sub::Util::set_subname;
+    }
+    else {
+      die "How the fuck did we get here? Read source and debug please!";
+    }
+  }
+
+  sub get_subname {
+    if(
+      _namer_load_error()
+        or
+      ! $sub_util_loaded
+    ) {
+      require B;
+      my $gv = B::svref_2object( $_[0] )->GV;
+      join '::', $gv->STASH->NAME, $gv->NAME;
+    }
+    else {
+      &Sub::Util::subname;
+    }
+  }
+}
+1;
+EOS
+
+}
+
+1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/lib/namespace/clean.pm 
new/namespace-clean-0.26/lib/namespace/clean.pm
--- old/namespace-clean-0.25/lib/namespace/clean.pm     2014-03-05 
12:22:29.000000000 +0100
+++ new/namespace-clean-0.26/lib/namespace/clean.pm     2015-10-07 
19:43:20.000000000 +0200
@@ -3,13 +3,227 @@
 use warnings;
 use strict;
 
-use Package::Stash;
+our $VERSION = '0.26';
+$VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev 
releases
 
-our $VERSION = '0.25';
 our $STORAGE_VAR = '__NAMESPACE_CLEAN_STORAGE';
 
 use B::Hooks::EndOfScope 'on_scope_end';
 
+# FIXME This is a crock of shit, needs to go away
+# currently here to work around 
https://rt.cpan.org/Ticket/Display.html?id=74151
+# kill with fire when PS::XS is *finally* fixed
+BEGIN {
+  my $provider;
+
+  if ( $] < 5.008007 ) {
+    require Package::Stash::PP;
+    $provider = 'Package::Stash::PP';
+  }
+  else {
+    require Package::Stash;
+    $provider = 'Package::Stash';
+  }
+  eval <<"EOS" or die $@;
+
+sub stash_for (\$) {
+  $provider->new(\$_[0]);
+}
+
+1;
+
+EOS
+}
+
+use namespace::clean::_Util qw( DEBUGGER_NEEDS_CV_RENAME 
DEBUGGER_NEEDS_CV_PIVOT );
+
+# Built-in debugger CV-retrieval fixups necessary before perl 5.15.5:
+# since we are deleting the glob where the subroutine was originally
+# defined, the assumptions below no longer hold.
+#
+# In 5.8.9 ~ 5.13.5 (inclusive) the debugger assumes that a CV can
+# always be found under sub_fullname($sub)
+# Workaround: use sub naming to properly name the sub hidden in the package's
+# deleted-stash
+#
+# In the rest of the range ( ... ~ 5.8.8 and 5.13.6 ~ 5.15.4 ) the debugger
+# assumes the name of the glob passed to entersub can be used to find the CV
+# Workaround: realias the original glob to the deleted-stash slot
+#
+# Can not tie constants to the current value of $^P directly,
+# as the debugger can be enabled during runtime (kinda dubious)
+#
+
+my $RemoveSubs = sub {
+    my $cleanee = shift;
+    my $store   = shift;
+    my $cleanee_stash = stash_for($cleanee);
+    my $deleted_stash;
+
+  SYMBOL:
+    for my $f (@_) {
+
+        # ignore already removed symbols
+        next SYMBOL if $store->{exclude}{ $f };
+
+        my $sub = $cleanee_stash->get_symbol("&$f")
+          or next SYMBOL;
+
+        my $need_debugger_fixup =
+          ( DEBUGGER_NEEDS_CV_RENAME or DEBUGGER_NEEDS_CV_PIVOT )
+            &&
+          $^P
+            &&
+          ref(my $globref = \$cleanee_stash->namespace->{$f}) eq 'GLOB'
+            &&
+         ( $deleted_stash ||= stash_for("namespace::clean::deleted::$cleanee") 
)
+        ;
+
+        # convince the Perl debugger to work
+        # see the comment on top
+        if ( DEBUGGER_NEEDS_CV_RENAME and $need_debugger_fixup ) {
+          #
+          # Note - both get_subname and set_subname are only compiled when 
CV_RENAME
+          # is true ( the 5.8.9 ~ 5.12 range ). On other perls this entire 
block is
+          # constant folded away, and so are the definitions in ::_Util
+          #
+          # Do not be surprised that they are missing without 
DEBUGGER_NEEDS_CV_RENAME
+          #
+          namespace::clean::_Util::get_subname( $sub ) eq  ( 
$cleanee_stash->name . "::$f" )
+            and
+          $deleted_stash->add_symbol(
+            "&$f",
+            namespace::clean::_Util::set_subname( $deleted_stash->name . 
"::$f", $sub ),
+          );
+        }
+        elsif ( DEBUGGER_NEEDS_CV_PIVOT and $need_debugger_fixup ) {
+          $deleted_stash->add_symbol("&$f", $sub);
+        }
+
+        my @symbols = map {
+            my $name = $_ . $f;
+            my $def = $cleanee_stash->get_symbol($name);
+            defined($def) ? [$name, $def] : ()
+        } '$', '@', '%', '';
+
+        $cleanee_stash->remove_glob($f);
+
+        # if this perl needs no renaming trick we need to
+        # rename the original glob after the fact
+        DEBUGGER_NEEDS_CV_PIVOT
+          and
+        $need_debugger_fixup
+          and
+        *$globref = $deleted_stash->namespace->{$f};
+
+        $cleanee_stash->add_symbol(@$_) for @symbols;
+    }
+};
+
+sub clean_subroutines {
+    my ($nc, $cleanee, @subs) = @_;
+    $RemoveSubs->($cleanee, {}, @subs);
+}
+
+sub import {
+    my ($pragma, @args) = @_;
+
+    my (%args, $is_explicit);
+
+  ARG:
+    while (@args) {
+
+        if ($args[0] =~ /^\-/) {
+            my $key = shift @args;
+            my $value = shift @args;
+            $args{ $key } = $value;
+        }
+        else {
+            $is_explicit++;
+            last ARG;
+        }
+    }
+
+    my $cleanee = exists $args{ -cleanee } ? $args{ -cleanee } : scalar caller;
+    if ($is_explicit) {
+        on_scope_end {
+            $RemoveSubs->($cleanee, {}, @args);
+        };
+    }
+    else {
+
+        # calling class, all current functions and our storage
+        my $functions = $pragma->get_functions($cleanee);
+        my $store     = $pragma->get_class_store($cleanee);
+        my $stash     = stash_for($cleanee);
+
+        # except parameter can be array ref or single value
+        my %except = map {( $_ => 1 )} (
+            $args{ -except }
+            ? ( ref $args{ -except } eq 'ARRAY' ? @{ $args{ -except } } : 
$args{ -except } )
+            : ()
+        );
+
+        # register symbols for removal, if they have a CODE entry
+        for my $f (keys %$functions) {
+            next if     $except{ $f };
+            next unless $stash->has_symbol("&$f");
+            $store->{remove}{ $f } = 1;
+        }
+
+        # register EOF handler on first call to import
+        unless ($store->{handler_is_installed}) {
+            on_scope_end {
+                $RemoveSubs->($cleanee, $store, keys %{ $store->{remove} });
+            };
+            $store->{handler_is_installed} = 1;
+        }
+
+        return 1;
+    }
+}
+
+sub unimport {
+    my ($pragma, %args) = @_;
+
+    # the calling class, the current functions and our storage
+    my $cleanee   = exists $args{ -cleanee } ? $args{ -cleanee } : scalar 
caller;
+    my $functions = $pragma->get_functions($cleanee);
+    my $store     = $pragma->get_class_store($cleanee);
+
+    # register all unknown previous functions as excluded
+    for my $f (keys %$functions) {
+        next if $store->{remove}{ $f }
+             or $store->{exclude}{ $f };
+        $store->{exclude}{ $f } = 1;
+    }
+
+    return 1;
+}
+
+sub get_class_store {
+    my ($pragma, $class) = @_;
+    my $stash = stash_for($class);
+    my $var = "%$STORAGE_VAR";
+    $stash->add_symbol($var, {})
+        unless $stash->has_symbol($var);
+    return $stash->get_symbol($var);
+}
+
+sub get_functions {
+    my ($pragma, $class) = @_;
+
+    my $stash = stash_for($class);
+    return {
+        map { $_ => $stash->get_symbol("&$_") }
+            $stash->list_all_symbols('CODE')
+    };
+}
+
+'Danger! Laws of Thermodynamics may not apply.'
+
+__END__
+
 =head1 NAME
 
 namespace::clean - Keep imports and functions out of your namespace
@@ -73,6 +287,30 @@
 If you just want to C<-except> a single sub, you can pass it directly.
 For more than one value you have to use an array reference.
 
+=head3 Late binding caveat
+
+Note that the L<technique used by this module|/IMPLEMENTATION DETAILS> relies
+on perl having resolved all names to actual code references during the
+compilation of a scope. While this is almost always what the interpreter does,
+there are some exceptions, notably the L<sort SUBNAME|perlfunc/sort> style of
+the C<sort> built-in invocation. The following example will not work, because
+C<sort> does not try to resolve the function name to an actual code reference
+until B<runtime>.
+
+ use MyApp::Utils 'my_sorter';
+ use namespace::clean;
+
+ my @sorted = sort my_sorter @list;
+
+You need to work around this by forcing a compile-time resolution like so:
+
+ use MyApp::Utils 'sorter';
+ use namespace::clean;
+
+ my $my_sorter_cref = \&sorter;
+
+ my @sorted = sort $my_sorter_cref @list;
+
 =head2 Explicitly removing functions when your scope is compiled
 
 It is also possible to explicitly tell C<namespace::clean> what packages
@@ -140,186 +378,11 @@
 effect at a specific time (e.g. C<namespace::clean> acts on scope compile end)
 it is your responsibility to make sure it runs at that time.
 
-=cut
-
-# Constant to optimise away the unused code branches
-use constant FIXUP_NEEDED => $] < 5.015_005_1;
-use constant FIXUP_RENAME_SUB => $] > 5.008_008_9 && $] < 5.013_005_1;
-{
-  no strict;
-  delete ${__PACKAGE__."::"}{FIXUP_NEEDED};
-  delete ${__PACKAGE__."::"}{FIXUP_RENAME_SUB};
-}
-
-# Debugger fixup necessary before perl 5.15.5
-#
-# In perl 5.8.9-5.12, it assumes that sub_fullname($sub) can
-# always be used to find the CV again.
-# In perl 5.8.8 and 5.14, it assumes that the name of the glob
-# passed to entersub can be used to find the CV.
-# since we are deleting the glob where the subroutine was originally
-# defined, those assumptions no longer hold.
-#
-# So in 5.8.9-5.12 we need to move it elsewhere and point the
-# CV's name to the new glob.
-#
-# In 5.8.8 and 5.14 we move it elsewhere and rename the
-# original glob by assigning the new glob back to it.
-my $sub_utils_loaded;
-my $DebuggerFixup = sub {
-  my ($f, $sub, $cleanee_stash, $deleted_stash) = @_;
-
-  if (FIXUP_RENAME_SUB) {
-    if (! defined $sub_utils_loaded ) {
-      $sub_utils_loaded = do {
-
-        # when changing version also change in Makefile.PL
-        my $sn_ver = 0.04;
-        eval { require Sub::Name; Sub::Name->VERSION($sn_ver) }
-          or die "Sub::Name $sn_ver required when running under -d or 
equivalent: $@";
-
-        # when changing version also change in Makefile.PL
-        my $si_ver = 0.04;
-        eval { require Sub::Identify; Sub::Identify->VERSION($si_ver) }
-          or die "Sub::Identify $si_ver required when running under -d or 
equivalent: $@";
-
-        1;
-      } ? 1 : 0;
-    }
-
-    if ( Sub::Identify::sub_fullname($sub) eq ($cleanee_stash->name . "::$f") 
) {
-      my $new_fq = $deleted_stash->name . "::$f";
-      Sub::Name::subname($new_fq, $sub);
-      $deleted_stash->add_symbol("&$f", $sub);
-    }
-  }
-  else {
-    $deleted_stash->add_symbol("&$f", $sub);
-  }
-};
-
-my $RemoveSubs = sub {
-    my $cleanee = shift;
-    my $store   = shift;
-    my $cleanee_stash = Package::Stash->new($cleanee);
-    my $deleted_stash;
-
-  SYMBOL:
-    for my $f (@_) {
-
-        # ignore already removed symbols
-        next SYMBOL if $store->{exclude}{ $f };
-
-        my $sub = $cleanee_stash->get_symbol("&$f")
-          or next SYMBOL;
-
-        my $need_debugger_fixup =
-          FIXUP_NEEDED
-            &&
-          $^P
-            &&
-          ref(my $globref = \$cleanee_stash->namespace->{$f}) eq 'GLOB'
-        ;
-
-        if (FIXUP_NEEDED && $need_debugger_fixup) {
-          # convince the Perl debugger to work
-          # see the comment on top of $DebuggerFixup
-          $DebuggerFixup->(
-            $f,
-            $sub,
-            $cleanee_stash,
-            $deleted_stash ||= 
Package::Stash->new("namespace::clean::deleted::$cleanee"),
-          );
-        }
-
-        my @symbols = map {
-            my $name = $_ . $f;
-            my $def = $cleanee_stash->get_symbol($name);
-            defined($def) ? [$name, $def] : ()
-        } '$', '@', '%', '';
-
-        $cleanee_stash->remove_glob($f);
-
-        # if this perl needs no renaming trick we need to
-        # rename the original glob after the fact
-        # (see commend of $DebuggerFixup
-        if (FIXUP_NEEDED && !FIXUP_RENAME_SUB && $need_debugger_fixup) {
-          *$globref = $deleted_stash->namespace->{$f};
-        }
-
-        $cleanee_stash->add_symbol(@$_) for @symbols;
-    }
-};
-
-sub clean_subroutines {
-    my ($nc, $cleanee, @subs) = @_;
-    $RemoveSubs->($cleanee, {}, @subs);
-}
-
 =head2 import
 
 Makes a snapshot of the current defined functions and installs a
 L<B::Hooks::EndOfScope> hook in the current scope to invoke the cleanups.
 
-=cut
-
-sub import {
-    my ($pragma, @args) = @_;
-
-    my (%args, $is_explicit);
-
-  ARG:
-    while (@args) {
-
-        if ($args[0] =~ /^\-/) {
-            my $key = shift @args;
-            my $value = shift @args;
-            $args{ $key } = $value;
-        }
-        else {
-            $is_explicit++;
-            last ARG;
-        }
-    }
-
-    my $cleanee = exists $args{ -cleanee } ? $args{ -cleanee } : scalar caller;
-    if ($is_explicit) {
-        on_scope_end {
-            $RemoveSubs->($cleanee, {}, @args);
-        };
-    }
-    else {
-
-        # calling class, all current functions and our storage
-        my $functions = $pragma->get_functions($cleanee);
-        my $store     = $pragma->get_class_store($cleanee);
-        my $stash     = Package::Stash->new($cleanee);
-
-        # except parameter can be array ref or single value
-        my %except = map {( $_ => 1 )} (
-            $args{ -except }
-            ? ( ref $args{ -except } eq 'ARRAY' ? @{ $args{ -except } } : 
$args{ -except } )
-            : ()
-        );
-
-        # register symbols for removal, if they have a CODE entry
-        for my $f (keys %$functions) {
-            next if     $except{ $f };
-            next unless $stash->has_symbol("&$f");
-            $store->{remove}{ $f } = 1;
-        }
-
-        # register EOF handler on first call to import
-        unless ($store->{handler_is_installed}) {
-            on_scope_end {
-                $RemoveSubs->($cleanee, $store, keys %{ $store->{remove} });
-            };
-            $store->{handler_is_installed} = 1;
-        }
-
-        return 1;
-    }
-}
 
 =head2 unimport
 
@@ -329,60 +392,17 @@
 
 It will start a new section of code that defines functions to clean up.
 
-=cut
-
-sub unimport {
-    my ($pragma, %args) = @_;
-
-    # the calling class, the current functions and our storage
-    my $cleanee   = exists $args{ -cleanee } ? $args{ -cleanee } : scalar 
caller;
-    my $functions = $pragma->get_functions($cleanee);
-    my $store     = $pragma->get_class_store($cleanee);
-
-    # register all unknown previous functions as excluded
-    for my $f (keys %$functions) {
-        next if $store->{remove}{ $f }
-             or $store->{exclude}{ $f };
-        $store->{exclude}{ $f } = 1;
-    }
-
-    return 1;
-}
-
 =head2 get_class_store
 
 This returns a reference to a hash in a passed package containing
 information about function names included and excluded from removal.
 
-=cut
-
-sub get_class_store {
-    my ($pragma, $class) = @_;
-    my $stash = Package::Stash->new($class);
-    my $var = "%$STORAGE_VAR";
-    $stash->add_symbol($var, {})
-        unless $stash->has_symbol($var);
-    return $stash->get_symbol($var);
-}
-
 =head2 get_functions
 
 Takes a class as argument and returns all currently defined functions
 in it as a hash reference with the function name as key and a typeglob
 reference to the symbol as value.
 
-=cut
-
-sub get_functions {
-    my ($pragma, $class) = @_;
-
-    my $stash = Package::Stash->new($class);
-    return {
-        map { $_ => $stash->get_symbol("&$_") }
-            $stash->list_all_symbols('CODE')
-    };
-}
-
 =head1 IMPLEMENTATION DETAILS
 
 This module works through the effect that a
@@ -439,8 +459,3 @@
 This software is copyright (c) 2011 by L</AUTHORS>
 
 This is free software; you can redistribute it and/or modify it under the same 
terms as the Perl 5 programming language system itself.
-
-=cut
-
-no warnings;
-'Danger! Laws of Thermodynamics may not apply.'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/t/07-debugger.t 
new/namespace-clean-0.26/t/07-debugger.t
--- old/namespace-clean-0.25/t/07-debugger.t    2013-07-10 04:19:30.000000000 
+0200
+++ new/namespace-clean-0.26/t/07-debugger.t    2015-10-07 08:03:43.000000000 
+0200
@@ -1,21 +1,19 @@
 use Test::More;
 
 BEGIN {
-  eval { require Sub::Name }
-    or plan skip_all => "Test requires Sub::Name";
-
-  eval { require Sub::Identify }
-    or plan skip_all => "Test requires Sub::Identify";
+  require namespace::clean;
+  if (
+    namespace::clean::_Util::DEBUGGER_NEEDS_CV_RENAME()
+      and
+    my $missing_xs = namespace::clean::_Util::_namer_load_error()
+  ) {
+    plan skip_all => $missing_xs;
+  }
 }
 
-
 BEGIN {
   # shut up the debugger
   $ENV{PERLDB_OPTS} = 'NonStop';
-
-  # work aroud the regex + P::S::XS buggery on
-  # < 5.8.6
-  require Package::Stash;
 }
 
 BEGIN {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/namespace-clean-0.25/t/10-pure-perl.t 
new/namespace-clean-0.26/t/10-pure-perl.t
--- old/namespace-clean-0.25/t/10-pure-perl.t   2013-07-10 04:19:30.000000000 
+0200
+++ new/namespace-clean-0.26/t/10-pure-perl.t   2015-10-01 05:54:37.000000000 
+0200
@@ -9,13 +9,18 @@
   plan skip_all => "B::Hooks::EndOfScope ($INC{'B/Hooks/EndOfScope.pm'}) 
loaded before the test even started >.<"
     if $INC{'B/Hooks/EndOfScope.pm'};
 
+  plan skip_all => "Package::Stash ($INC{'Package/Stash.pm'}) loaded before 
the test even started >.<"
+    if $INC{'Package/Stash.pm'};
+
   eval { require Variable::Magic }
     or plan skip_all => "PP tests already executed";
 
   $ENV{B_HOOKS_ENDOFSCOPE_IMPLEMENTATION} = 'PP';
+  $ENV{PACKAGE_STASH_IMPLEMENTATION} = 'PP';
 }
 
 use B::Hooks::EndOfScope 0.12;
+use Package::Stash;
 
 ok(
   ($INC{'B/Hooks/EndOfScope/PP.pm'} && ! $INC{'B/Hooks/EndOfScope/XS.pm'}),
@@ -25,6 +30,14 @@
   qw|EndOfScope.pm EndOfScope/XS.pm EndOfScope/PP.pm|
 ;
 
+ok(
+  ($INC{'Package/Stash/PP.pm'} && ! $INC{'Package/Stash/XS.pm'}),
+  'PP Package::Stash loaded properly'
+) || diag join "\n",
+  map { sprintf '%s => %s', $_, $INC{"Package/$_"} || 'undef' }
+  qw|Stash.pm Stash/XS.pm Stash/PP.pm|
+;
+
 use Config;
 use FindBin qw($Bin);
 use IPC::Open2 qw(open2);


Reply via email to