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.
This commit is contained in:
		
							parent
							
								
									d8d6d096be
								
							
						
					
					
						commit
						cc8ddcb097
					
				
					 3 changed files with 29 additions and 1 deletions
				
			
		|  | @ -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		\ | ||||
|  |  | |||
							
								
								
									
										25
									
								
								gnu/packages/patches/perl-module-pluggable-search.patch
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								gnu/packages/patches/perl-module-pluggable-search.patch
									
										
									
									
									
										Normal file
									
								
							|  | @ -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; | ||||
|  | @ -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 | ||||
|  |  | |||
		Reference in a new issue