Hello community,

here is the log from the commit of package perl-Devel-PatchPerl for 
openSUSE:Factory checked in at 2012-02-16 12:25:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Devel-PatchPerl (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Devel-PatchPerl.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Devel-PatchPerl", Maintainer is ""

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/perl-Devel-PatchPerl/perl-Devel-PatchPerl.changes    
    2012-01-04 07:26:35.000000000 +0100
+++ 
/work/SRC/openSUSE:Factory/.perl-Devel-PatchPerl.new/perl-Devel-PatchPerl.changes
   2012-02-16 12:25:28.000000000 +0100
@@ -1,0 +2,7 @@
+Mon Feb 13 19:41:12 UTC 2012 - [email protected]
+
+- updated to 0.66
+ - Added cygwin hints file 
+ - Added a plugin system 
+
+-------------------------------------------------------------------

Old:
----
  Devel-PatchPerl-0.62.tar.gz

New:
----
  Devel-PatchPerl-0.66.tar.gz

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

Other differences:
------------------
++++++ perl-Devel-PatchPerl.spec ++++++
--- /var/tmp/diff_new_pack.vUXDuS/_old  2012-02-16 12:25:32.000000000 +0100
+++ /var/tmp/diff_new_pack.vUXDuS/_new  2012-02-16 12:25:32.000000000 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Devel-PatchPerl
 #
-# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -15,8 +15,9 @@
 # Please submit bugfixes or comments via http://bugs.opensuse.org/
 #
 
+
 Name:           perl-Devel-PatchPerl
-Version:        0.62
+Version:        0.66
 Release:        0
 %define cpan_name Devel-PatchPerl
 Summary:        Patch perl source a la Devel::PPPort's buildperl.pl
@@ -29,10 +30,12 @@
 BuildRequires:  perl-macros
 BuildRequires:  perl(File::pushd) >= 1.00
 BuildRequires:  perl(IPC::Cmd) >= 0.40
+BuildRequires:  perl(Module::Pluggable)
 #BuildRequires: perl(Devel::PatchPerl)
 #BuildRequires: perl(Devel::PatchPerl::Hints)
 Requires:       perl(File::pushd) >= 1.00
 Requires:       perl(IPC::Cmd) >= 0.40
+Requires:       perl(Module::Pluggable)
 %{perl_requires}
 
 %description

++++++ Devel-PatchPerl-0.62.tar.gz -> Devel-PatchPerl-0.66.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/Changes 
new/Devel-PatchPerl-0.66/Changes
--- old/Devel-PatchPerl-0.62/Changes    2011-11-06 00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/Changes    2012-02-08 14:03:34.000000000 +0100
@@ -1,4 +1,24 @@
 ==============================
+2012-02-08 13:01:27 +0000 0.66
+==============================
+
+  commit 61579d54b0273fbfcb1ac39175ff641434a87103
+  Author: Chris 'BinGOs' Williams <[email protected]>
+  Date:   Wed Feb 8 13:01:27 2012 +0000
+  
+    Added cygwin hints file 
+
+==============================
+2012-02-04 14:40:40 +0000 0.64
+==============================
+
+  commit 31651f154271f81ce4b239366fa383e65c5b9355
+  Author: Chris 'BinGOs' Williams <[email protected]>
+  Date:   Sat Feb 4 14:37:53 2012 +0000
+  
+    Added a plugin system 
+
+==============================
 2011-11-05 23:14:37 +0000 0.62
 ==============================
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/LICENSE 
new/Devel-PatchPerl-0.66/LICENSE
--- old/Devel-PatchPerl-0.62/LICENSE    2011-11-06 00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/LICENSE    2012-02-08 14:03:34.000000000 +0100
@@ -1,4 +1,4 @@
-This software is copyright (c) 2011 by Chris Williams and Marcus 
Holland-Moritz.
+This software is copyright (c) 2012 by Chris Williams and Marcus 
Holland-Moritz.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
@@ -12,7 +12,7 @@
 
 --- The GNU General Public License, Version 1, February 1989 ---
 
-This software is Copyright (c) 2011 by Chris Williams and Marcus 
Holland-Moritz.
+This software is Copyright (c) 2012 by Chris Williams and Marcus 
Holland-Moritz.
 
 This is free software, licensed under:
 
@@ -272,7 +272,7 @@
 
 --- The Artistic License 1.0 ---
 
-This software is Copyright (c) 2011 by Chris Williams and Marcus 
Holland-Moritz.
+This software is Copyright (c) 2012 by Chris Williams and Marcus 
Holland-Moritz.
 
 This is free software, licensed under:
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/MANIFEST 
new/Devel-PatchPerl-0.66/MANIFEST
--- old/Devel-PatchPerl-0.62/MANIFEST   2011-11-06 00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/MANIFEST   2012-02-08 14:03:34.000000000 +0100
@@ -9,9 +9,12 @@
 dist.ini
 lib/Devel/PatchPerl.pm
 lib/Devel/PatchPerl/Hints.pm
+lib/Devel/PatchPerl/Plugin.pm
 t/00-compile.t
 t/01-hints.t
 t/02_vers.t
+t/03_plugin.t
+t/lib/Devel/PatchPerl/Plugin/TEST.pm
 t/modern/patchlevel.h
 t/old/patchlevel.h
 t/release-pod-coverage.t
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/META.json 
new/Devel-PatchPerl-0.66/META.json
--- old/Devel-PatchPerl-0.62/META.json  2011-11-06 00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/META.json  2012-02-08 14:03:34.000000000 +0100
@@ -4,7 +4,7 @@
       "Chris Williams <[email protected]>"
    ],
    "dynamic_config" : 0,
-   "generated_by" : "Dist::Zilla version 4.300003, CPAN::Meta::Converter 
version 2.112621",
+   "generated_by" : "Dist::Zilla version 4.300007, CPAN::Meta::Converter 
version 2.120351",
    "license" : [
       "perl_5"
    ],
@@ -22,9 +22,10 @@
       "runtime" : {
          "requires" : {
             "File::pushd" : "1.00",
-            "IO::File" : 0,
+            "IO::File" : "0",
             "IPC::Cmd" : "0.40",
-            "MIME::Base64" : 0,
+            "MIME::Base64" : "0",
+            "Module::Pluggable" : "0",
             "perl" : "v5.6.0"
          }
       }
@@ -38,6 +39,6 @@
          "web" : "https://github.com/bingos/devel-patchperl";
       }
    },
-   "version" : "0.62"
+   "version" : "0.66"
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/META.yml 
new/Devel-PatchPerl-0.66/META.yml
--- old/Devel-PatchPerl-0.62/META.yml   2011-11-06 00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/META.yml   2012-02-08 14:03:34.000000000 +0100
@@ -6,7 +6,7 @@
 configure_requires:
   ExtUtils::MakeMaker: 6.30
 dynamic_config: 0
-generated_by: 'Dist::Zilla version 4.300003, CPAN::Meta::Converter version 
2.112621'
+generated_by: 'Dist::Zilla version 4.300007, CPAN::Meta::Converter version 
2.120351'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -17,8 +17,9 @@
   IO::File: 0
   IPC::Cmd: 0.40
   MIME::Base64: 0
+  Module::Pluggable: 0
   perl: v5.6.0
 resources:
   homepage: https://github.com/bingos/devel-patchperl
   repository: https://github.com/bingos/devel-patchperl.git
-version: 0.62
+version: 0.66
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/Makefile.PL 
new/Devel-PatchPerl-0.66/Makefile.PL
--- old/Devel-PatchPerl-0.62/Makefile.PL        2011-11-06 00:15:59.000000000 
+0100
+++ new/Devel-PatchPerl-0.66/Makefile.PL        2012-02-08 14:03:34.000000000 
+0100
@@ -25,9 +25,10 @@
     "File::pushd" => "1.00",
     "IO::File" => 0,
     "IPC::Cmd" => "0.40",
-    "MIME::Base64" => 0
+    "MIME::Base64" => 0,
+    "Module::Pluggable" => 0
   },
-  "VERSION" => "0.62",
+  "VERSION" => "0.66",
   "test" => {
     "TESTS" => "t/*.t"
   }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/README 
new/Devel-PatchPerl-0.66/README
--- old/Devel-PatchPerl-0.62/README     2011-11-06 00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/README     2012-02-08 14:03:34.000000000 +0100
@@ -2,7 +2,7 @@
     Devel::PatchPerl - Patch perl source a la Devel::PPPort's buildperl.pl
 
 VERSION
-    version 0.62
+    version 0.66
 
 SYNOPSIS
       use strict;
@@ -30,14 +30,20 @@
         If you don't supply the path to unwrapped perl source, it will
         assume the current working directory.
 
+PLUGIN SYSTEM
+    See Devel::PatchPerl::Plugin for details of Devel::PatchPerl's plugin
+    system.
+
 SEE ALSO
     Devel::PPPort
 
+    Devel::PatchPerl::Plugin
+
 AUTHOR
     Chris Williams <[email protected]>
 
 COPYRIGHT AND LICENSE
-    This software is copyright (c) 2011 by Chris Williams and Marcus
+    This software is copyright (c) 2012 by Chris Williams and Marcus
     Holland-Moritz.
 
     This is free software; you can redistribute it and/or modify it under
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/bin/patchperl 
new/Devel-PatchPerl-0.66/bin/patchperl
--- old/Devel-PatchPerl-0.62/bin/patchperl      2011-11-06 00:15:59.000000000 
+0100
+++ new/Devel-PatchPerl-0.66/bin/patchperl      2012-02-08 14:03:34.000000000 
+0100
@@ -19,7 +19,7 @@
 
 =head1 VERSION
 
-version 0.62
+version 0.66
 
 =head1 AUTHOR
 
@@ -27,7 +27,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2011 by Chris Williams and Marcus 
Holland-Moritz.
+This software is copyright (c) 2012 by Chris Williams and Marcus 
Holland-Moritz.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/dist.ini 
new/Devel-PatchPerl-0.66/dist.ini
--- old/Devel-PatchPerl-0.62/dist.ini   2011-11-06 00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/dist.ini   2012-02-08 14:03:34.000000000 +0100
@@ -1,5 +1,5 @@
 name = Devel-PatchPerl
-version = 0.62
+version = 0.66
 author = Chris Williams <[email protected]>
 license = Perl_5
 copyright_holder = Chris Williams and Marcus Holland-Moritz
@@ -12,3 +12,4 @@
 IO::File                        = 0
 IPC::Cmd                        = 0.40
 MIME::Base64                    = 0
+Module::Pluggable               = 0
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/lib/Devel/PatchPerl/Hints.pm 
new/Devel-PatchPerl-0.66/lib/Devel/PatchPerl/Hints.pm
--- old/Devel-PatchPerl-0.62/lib/Devel/PatchPerl/Hints.pm       2011-11-06 
00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/lib/Devel/PatchPerl/Hints.pm       2012-02-08 
14:03:34.000000000 +0100
@@ -1,6 +1,6 @@
 package Devel::PatchPerl::Hints;
 {
-  $Devel::PatchPerl::Hints::VERSION = '0.62';
+  $Devel::PatchPerl::Hints::VERSION = '0.66';
 }
 
 #ABSTRACT: replacement 'hints' files
@@ -1183,6 +1183,47 @@
 LgpjYXNlICIkZF9vbGRwdGhyZWFkcyIgaW4KICAgICcnfCR1bmRlZikKCWRfY3J5cHRfcl9wcm90
 bz0ndW5kZWYnCglkX2dldGdyZW50X3JfcHJvdG89J3VuZGVmJwoJZF9nZXRwd2VudF9yX3Byb3Rv
 PSd1bmRlZicKCWRfc3RyZXJyb3Jfcl9wcm90bz0ndW5kZWYnCgk7OwogICAgZXNhYwo=',
+'cygwin' =>
+'IyEgL2Jpbi9zaAojIGN5Z3dpbi5zaCAtIGhpbnRzIGZvciBidWlsZGluZyBwZXJsIHVzaW5nIHRo
+ZSBDeWd3aW4gZW52aXJvbm1lbnQgZm9yIFdpbjMyCiMKCiMgbm90IG90aGVyd2lzZSBzZXR0YWJs
+ZQpleGVfZXh0PScuZXhlJwpmaXJzdG1ha2VmaWxlPSdHTlVtYWtlZmlsZScKY2FzZSAiJGxkbGli
+cHRobmFtZSIgaW4KJycpIGxkbGlicHRobmFtZT1QQVRIIDs7CmVzYWMKYXJjaG9ianM9J2N5Z3dp
+bi5vJwoKIyBtYW5kYXRvcnkgKG92ZXJyaWRlcyBpbmNvcnJlY3QgZGVmYXVsdHMpCnRlc3QgLXog
+IiRjYyIgJiYgY2M9J2djYycKaWYgdGVzdCAteiAiJHBsaWJwdGgiCnRoZW4KICAgIHBsaWJwdGg9
+YGdjYyAtcHJpbnQtZmlsZS1uYW1lPWxpYmMuYWAKICAgIHBsaWJwdGg9YGRpcm5hbWUgJHBsaWJw
+dGhgCiAgICBwbGlicHRoPWBjZCAkcGxpYnB0aCAmJiBwd2RgCmZpCnNvPSdkbGwnCiMgLSBlbGlt
+aW5hdGUgLWxjLCBpbXBsaWVkIGJ5IGdjYyBhbmQgYSBzeW1saW5rIHRvIGxpYmN5Z3dpbi5hCmxp
+YnN3YW50ZWQ9YGVjaG8gIiAkbGlic3dhbnRlZCAiIHwgc2VkIC1lICdzLyBjIC8gL2cnYAojIC0g
+ZWxpbWluYXRlIC1sbSwgc3ltbGluayB0byBsaWJjeWd3aW4uYQpsaWJzd2FudGVkPWBlY2hvICIg
+JGxpYnN3YW50ZWQgIiB8IHNlZCAtZSAncy8gbSAvIC9nJ2AKIyAtIGVsaW1pbmF0ZSAtbHV0aWws
+IHN5bWJvbHMgYXJlIGFsbCBpbiBsaWJjeWd3aW4uYQpsaWJzd2FudGVkPWBlY2hvICIgJGxpYnN3
+YW50ZWQgIiB8IHNlZCAtZSAncy8gdXRpbCAvIC9nJ2AKIyAtIGFkZCBsaWJnZGJtX2NvbXBhdCAk
+bGlic3dhbnRlZApsaWJzd2FudGVkPSIkbGlic3dhbnRlZCBnZGJtX2NvbXBhdCIKdGVzdCAteiAi
+JG9wdGltaXplIiAmJiBvcHRpbWl6ZT0nLU8zJwptYW4zZXh0PSczcG0nCnRlc3QgLXogIiR1c2U2
+NGJpdGludCIgJiYgdXNlNjRiaXRpbnQ9J2RlZmluZScKdGVzdCAteiAiJHVzZWl0aHJlYWRzIiAm
+JiB1c2VpdGhyZWFkcz0nZGVmaW5lJwpjY2ZsYWdzPSIkY2NmbGFncyAtRFBFUkxfVVNFX1NBRkVf
+UFVURU5WIC1VX19TVFJJQ1RfQU5TSV9fIgojIC0gb3RoZXJ3aXNlIGk2ODYtY3lnd2luCmFyY2hu
+YW1lPSdjeWd3aW4nCgojIGR5bmFtaWMgbG9hZGluZwojIC0gb3RoZXJ3aXNlIC1mcGljCmNjY2Rs
+ZmxhZ3M9JyAnCmxkZGxmbGFncz0nIC0tc2hhcmVkJwp0ZXN0IC16ICIkbGQiICYmIGxkPSdnKysn
+CgpjYXNlICIkb3N2ZXJzIiBpbgogICAgIyBDb25maWd1cmUgZ2V0cyB0aGVzZSB3cm9uZyBpZiB0
+aGUgSVBDIHNlcnZlciBpc24ndCB5ZXQgcnVubmluZzoKICAgICMgb25seSB1c2UgZm9yIDEuNS43
+IGFuZCBvbndhcmRzCiAgICBbMi05XSp8MS5bNi05XSp8MS5bMS01XVswLTldKnwxLjUuWzctOV0q
+fDEuNS5bMS02XVswLTldKikKICAgICAgICBkX3NlbWN0bF9zZW1pZF9kcz0nZGVmaW5lJwogICAg
+ICAgIGRfc2VtY3RsX3NlbXVuPSdkZWZpbmUnCiAgICAgICAgOzsKZXNhYwoKY2FzZSAiJG9zdmVy
+cyIgaW4KICAgIFsyLTldKnwxLls2LTldKikKICAgICAgICAjIElQdjYgb25seSBzaW5jZSAxLjcK
+ICAgICAgICBkX2luZXRudG9wPSdkZWZpbmUnCiAgICAgICAgZF9pbmV0cHRvbj0nZGVmaW5lJwog
+ICAgICAgIDs7CiAgICAqKQogICAgICAgICMgSVB2NiBub3QgaW1wbGVtZW50ZWQgYmVmb3JlIGN5
+Z3dpbi0xLjcKICAgICAgICBkX2luZXRudG9wPSd1bmRlZicKICAgICAgICBkX2luZXRwdG9uPSd1
+bmRlZicKZXNhYwoKIyBjb21waWxlIFdpbjMyQ09SRSAibW9kdWxlIiBhcyBzdGF0aWMuIHRyeSB0
+byBhdm9pZCB0aGUgc3BhY2UuCmlmIHRlc3QgLXogIiRzdGF0aWNfZXh0IjsgdGhlbgogIHN0YXRp
+Y19leHQ9IldpbjMyQ09SRSIKZWxzZQogIHN0YXRpY19leHQ9IiRzdGF0aWNfZXh0IFdpbjMyQ09S
+RSIKZmkKCiMgV2luOXggcHJvYmxlbSB3aXRoIG5vbi1ibG9ja2luZyByZWFkIGZyb20gYSBjbG9z
+ZWQgcGlwZQpkX2VvZm5ibGs9J2RlZmluZScKCiMgc3VwcHJlc3MgYXV0by1pbXBvcnQgd2Fybmlu
+Z3MKbGRmbGFncz0iJGxkZmxhZ3MgLVdsLC0tZW5hYmxlLWF1dG8taW1wb3J0IC1XbCwtLWV4cG9y
+dC1hbGwtc3ltYm9scyAtV2wsLS1lbmFibGUtYXV0by1pbWFnZS1iYXNlIgpsZGRsZmxhZ3M9IiRs
+ZGRsZmxhZ3MgJGxkZmxhZ3MiCgojIHN0cmlwIGV4ZSdzIGFuZCBkbGwncywgYmV0dGVyIGRvIGl0
+IGFmdGVyd2FyZHMKI2xkZmxhZ3M9IiRsZGZsYWdzIC1zIgojY2NkbGZsYWdzPSIkY2NkbGZsYWdz
+IC1zIgojbGRkbGZsYWdzPSIkbGRkbGZsYWdzIC1zIgo=',
 );
 
 my %files = (
@@ -1193,6 +1234,7 @@
   'dragonfly' => 'dragonfly.sh',
   'darwin' => 'darwin.sh',
   'hpux' => 'hpux.sh',
+  'cygwin' => 'cygwin.sh',
 );
 
 sub hint_file {
@@ -1217,7 +1259,7 @@
 
 =head1 VERSION
 
-version 0.62
+version 0.66
 
 =head1 SYNOPSIS
 
@@ -1272,7 +1314,7 @@
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2011 by Chris Williams and Marcus 
Holland-Moritz.
+This software is copyright (c) 2012 by Chris Williams and Marcus 
Holland-Moritz.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/lib/Devel/PatchPerl/Plugin.pm 
new/Devel-PatchPerl-0.66/lib/Devel/PatchPerl/Plugin.pm
--- old/Devel-PatchPerl-0.62/lib/Devel/PatchPerl/Plugin.pm      1970-01-01 
01:00:00.000000000 +0100
+++ new/Devel-PatchPerl-0.66/lib/Devel/PatchPerl/Plugin.pm      2012-02-08 
14:03:34.000000000 +0100
@@ -0,0 +1,92 @@
+package Devel::PatchPerl::Plugin;
+{
+  $Devel::PatchPerl::Plugin::VERSION = '0.66';
+}
+
+#ABSTRACT: Devel::PatchPerl plugins explained
+
+use strict;
+use warnings;
+
+qq[Plug it in];
+
+
+__END__
+=pod
+
+=head1 NAME
+
+Devel::PatchPerl::Plugin - Devel::PatchPerl plugins explained
+
+=head1 VERSION
+
+version 0.66
+
+=head1 DESCRIPTION
+
+This document explains the L<Devel::PatchPerl> plugin system.
+
+Plugins are a mechanism for providing additional functionality to
+L<Devel::PatchPerl>.
+
+Plugins are searched for in the L<Devel::PatchPerl::Plugin> namespace.
+
+=head1 INITIALISATION
+
+The plugin constructor is C<patchperl>.
+
+A plugin is specified using the C<PERL5_PATCHPERL_PLUGIN> environment
+variable. It may either be specified in full (ie. 
C<Devel::PatchPerl::Plugin::Feegle>)
+or as the short part (ie. C<Feegle>).
+
+  $ export PERL5_PATCHPERL_PLUGIN=Devel::PatchPerl::Plugin::Feegle
+
+  $ export PERL5_PATCHPERL_PLUGIN=Feegle
+
+When L<Devel::PatchPerl> has identified the perl source patch and done its 
patching
+it will attempt to load the plugin identified. It will then call the class 
method
+C<patchperl> for the plugin package, with the following parameters:
+
+  'version', the Perl version of the source tree;
+  'source', the absolute path to the Perl source tree;
+  'patchexe', the 'patch' utility that can be used;
+
+Plugins are called with the current working directory being the root of the
+Perl source tree, ie. C<source>.
+
+Summarised:
+
+  $ENV{PERL5_PATCHPERL_PLUGIN} = 'Devel::PatchPerl::Plugin::Feegle';
+
+  my $plugin = $ENV{PERL5_PATCHPERL_PLUGIN};
+
+  eval "require $plugin";
+
+  eval {
+    $plugin->patchperl( version => $vers, source => $srcdir, patchexe => 
$patch );
+  };
+
+=head1 WHAT CAN PLUGINS DO?
+
+Anything you desire to a Perl source tree.
+
+=head1 WHY USE AN ENVIRONMENT VARIABLE TO SPECIFY PLUGINS?
+
+So that indicating a plugin to use can be specified independently of whatever 
mechanism is
+calling L<Devel::PatchPerl> to do its bidding.
+
+Think L<perlbrew>.
+
+=head1 AUTHOR
+
+Chris Williams <[email protected]>
+
+=head1 COPYRIGHT AND LICENSE
+
+This software is copyright (c) 2012 by Chris Williams and Marcus 
Holland-Moritz.
+
+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
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/lib/Devel/PatchPerl.pm 
new/Devel-PatchPerl-0.66/lib/Devel/PatchPerl.pm
--- old/Devel-PatchPerl-0.62/lib/Devel/PatchPerl.pm     2011-11-06 
00:15:59.000000000 +0100
+++ new/Devel-PatchPerl-0.66/lib/Devel/PatchPerl.pm     2012-02-08 
14:03:34.000000000 +0100
@@ -1,6 +1,6 @@
 package Devel::PatchPerl;
 {
-  $Devel::PatchPerl::VERSION = '0.62';
+  $Devel::PatchPerl::VERSION = '0.66';
 }
 
 # ABSTRACT: Patch perl source a la Devel::PPPort's buildperl.pl
@@ -12,6 +12,7 @@
 use IO::File;
 use IPC::Cmd qw[can_run run];
 use Devel::PatchPerl::Hints qw[hint_file];
+use Module::Pluggable search_path => ['Devel::PatchPerl::Plugin'];
 use vars qw[@ISA @EXPORT_OK];
 
 @ISA       = qw(Exporter);
@@ -164,9 +165,41 @@
          $sub->(@args);
        }
     }
+    _process_plugin( version => $vers, source => $source, patchexe => 
$patch_exe );
   }
 }
 
+sub _process_plugin {
+  my %args = @_;
+  return unless my $possible = $ENV{PERL5_PATCHPERL_PLUGIN};
+  my ($plugin) = grep { $possible eq $_ or /\Q$possible\E$/ } 
__PACKAGE__->plugins;
+  unless ( $plugin ) {
+    warn "# You specified a plugin '", $ENV{PERL5_PATCHPERL_PLUGIN},
+         "' that isn't installed, just thought you might be interested.\n";
+    return;
+  }
+  {
+    local $@;
+    eval "require $plugin";
+    if ($@) {
+      die "# I tried to load '", $ENV{PERL5_PATCHPERL_PLUGIN},
+          "' but it didn't work out. Here is what happened '$@'\n";
+    }
+  }
+  {
+    local $@;
+    eval {
+      $plugin->patchperl(
+        %args,
+      );
+    };
+    if ($@) {
+      warn "# Warnings from the plugin: '$@'\n";
+    }
+  }
+  return 1;
+}
+
 sub _is
 {
   my($s1, $s2) = @_;
@@ -1756,7 +1789,7 @@
 
 =head1 VERSION
 
-version 0.62
+version 0.66
 
 =head1 SYNOPSIS
 
@@ -1792,17 +1825,23 @@
 
 =back
 
+=head1 PLUGIN SYSTEM
+
+See L<Devel::PatchPerl::Plugin> for details of Devel::PatchPerl's plugin 
system.
+
 =head1 SEE ALSO
 
 L<Devel::PPPort>
 
+L<Devel::PatchPerl::Plugin>
+
 =head1 AUTHOR
 
 Chris Williams <[email protected]>
 
 =head1 COPYRIGHT AND LICENSE
 
-This software is copyright (c) 2011 by Chris Williams and Marcus 
Holland-Moritz.
+This software is copyright (c) 2012 by Chris Williams and Marcus 
Holland-Moritz.
 
 This is free software; you can redistribute it and/or modify it under
 the same terms as the Perl 5 programming language system itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Devel-PatchPerl-0.62/t/03_plugin.t 
new/Devel-PatchPerl-0.66/t/03_plugin.t
--- old/Devel-PatchPerl-0.62/t/03_plugin.t      1970-01-01 01:00:00.000000000 
+0100
+++ new/Devel-PatchPerl-0.66/t/03_plugin.t      2012-02-08 14:03:34.000000000 
+0100
@@ -0,0 +1,11 @@
+use strict;
+use warnings;
+use lib 't/lib';
+BEGIN {
+  $ENV{PERL5_PATCHPERL_PLUGIN} = 'TEST';
+}
+use Test::More qq'no_plan';
+use File::Spec;
+use Devel::PatchPerl;
+my $result = Devel::PatchPerl::_process_plugin(version => '5.14.2');
+ok( $result, 'The result was okay' );
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Devel-PatchPerl-0.62/t/lib/Devel/PatchPerl/Plugin/TEST.pm 
new/Devel-PatchPerl-0.66/t/lib/Devel/PatchPerl/Plugin/TEST.pm
--- old/Devel-PatchPerl-0.62/t/lib/Devel/PatchPerl/Plugin/TEST.pm       
1970-01-01 01:00:00.000000000 +0100
+++ new/Devel-PatchPerl-0.66/t/lib/Devel/PatchPerl/Plugin/TEST.pm       
2012-02-08 14:03:34.000000000 +0100
@@ -0,0 +1,10 @@
+package Devel::PatchPerl::Plugin::TEST;
+
+use strict;
+use warnings;
+
+sub patchperl {
+  warn "I AM A TEST PLUGIN\n";
+}
+
+qq[1];

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to