aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/perl-module-pluggable-search.patch
diff options
context:
space:
mode:
authorEric Bavier <bavier@member.fsf.org>2015-04-19 09:59:23 -0500
committerEric Bavier <bavier@member.fsf.org>2015-04-22 14:38:14 -0500
commitcc8ddcb09771dff47c669a4e585f91c28d08359f (patch)
treef6da4fda813079833b1ea8f33563795d98f17008 /gnu/packages/patches/perl-module-pluggable-search.patch
parentd8d6d096be8c37076060a3bc063582c404de1205 (diff)
downloadguix-cc8ddcb09771dff47c669a4e585f91c28d08359f.tar
guix-cc8ddcb09771dff47c669a4e585f91c28d08359f.tar.gz
gnu: perl: Fix Module::Pluggable for symlink forests.
* gnu/packages/patches/perl-module-pluggable-search.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/perl.scm (perl)[source]: Add patch.
Diffstat (limited to 'gnu/packages/patches/perl-module-pluggable-search.patch')
-rw-r--r--gnu/packages/patches/perl-module-pluggable-search.patch25
1 files changed, 25 insertions, 0 deletions
diff --git a/gnu/packages/patches/perl-module-pluggable-search.patch b/gnu/packages/patches/perl-module-pluggable-search.patch
new file mode 100644
index 0000000000..bb2a57f7e5
--- /dev/null
+++ b/gnu/packages/patches/perl-module-pluggable-search.patch
@@ -0,0 +1,25 @@
+Fix core Perl module Module::Pluggable such that it can find plugins that live
+in symlinked directories.
+
+Patch borrowed/adapted from Nixpkgs.
+
+--- perl-5.16.1/cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm 2015-04-08 23:28:48.120164135 -0500
++++ perl-5.16.1/cpan/Module-Pluggable/lib/Module/Pluggable/Object.pm 2015-04-08 23:30:27.032166704 -0500
+@@ -164,7 +164,7 @@
+ my $sp = catdir($dir, (split /::/, $searchpath));
+
+ # if it doesn't exist or it's not a dir then skip it
+- next unless ( -e $sp && -d _ ); # Use the cached stat the second time
++ next unless ( -e $sp );
+
+ my @files = $self->find_files($sp);
+
+@@ -279,7 +279,7 @@
+ (my $path = $File::Find::name) =~ s#^\\./##;
+ push @files, $path;
+ }
+- }, $search_path );
++ }, "$search_path/." );
+ }
+ #chdir $cwd;
+ return @files;