[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
01/01: gnu: perl: Fix Module::Pluggable for symlink forests.
From: |
Eric Bavier |
Subject: |
01/01: gnu: perl: Fix Module::Pluggable for symlink forests. |
Date: |
Wed, 22 Apr 2015 19:43:51 +0000 |
bavier pushed a commit to branch core-updates
in repository guix.
commit cc8ddcb09771dff47c669a4e585f91c28d08359f
Author: Eric Bavier <address@hidden>
Date: Sun Apr 19 09:59:23 2015 -0500
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.
---
gnu-system.am | 1 +
.../patches/perl-module-pluggable-search.patch | 25 ++++++++++++++++++++
gnu/packages/perl.scm | 4 ++-
3 files changed, 29 insertions(+), 1 deletions(-)
diff --git a/gnu-system.am b/gnu-system.am
index 06ec6e7..8936b0b 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -503,6 +503,7 @@ dist_patch_DATA =
\
gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \
gnu/packages/patches/pavucontrol-sigsegv.patch \
gnu/packages/patches/perl-gd-options-passthrough-and-fontconfig.patch \
+ gnu/packages/patches/perl-module-pluggable-search.patch \
gnu/packages/patches/perl-net-amazon-s3-moose-warning.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/perl-tk-x11-discover.patch \
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 0000000..bb2a57f
--- /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;
diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm
index e55eb87..80c476b 100644
--- a/gnu/packages/perl.scm
+++ b/gnu/packages/perl.scm
@@ -44,7 +44,9 @@
(sha256
(base32
"15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km"))
- (patches (list (search-patch "perl-no-sys-dirs.patch")))))
+ (patches (map search-patch
+ '("perl-no-sys-dirs.patch"
+ "perl-module-pluggable-search.patch")))))
(build-system gnu-build-system)
(arguments
'(#:tests? #f