X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f4d99ac1ca03121255e545df89e7d841a02cc0bf..4a67f6130fe9e85140cc26cc2a6ba928277db51e:/pm_filter?ds=sidebyside diff --git a/pm_filter b/pm_filter index 89449bd91..7b03418ab 100755 --- a/pm_filter +++ b/pm_filter @@ -3,14 +3,31 @@ BEGIN { $prefix=shift; $ver=shift; + $libdir=shift; } if (/INSTALLDIR_AUTOREPLACE/) { - $_=qq{my \$installdir="$prefix";}; + $_=qq{our \$installdir="\Q$prefix\E";}; } elsif (/VERSION_AUTOREPLACE/) { - $_=qq{our \$version="$ver";}; + $_=qq{our \$version="\Q$ver\E";}; } -elsif (/^use lib/) { - $_=""; +elsif (/^(?:use FindBin; *)?use lib/) { + # The idea here is to figure out if the libdir the Makefile.PL + # was configured to use is in perl's normal search path. + # If not, hard code it into ikiwiki. + if ((grep { $_ eq $libdir } @INC) && + (! exists $ENV{PERL5LIB} || ! length $ENV{PERL5LIB} || + $ENV{PERL5LIB} ne $libdir)) { + $_=""; + } + else { + $_="use lib \"\Q$libdir\E\";\n"; + } +} +elsif ($. == 1 && ($ENV{NOTAINT}=0) && m{^(#!.*perl.*?)$}) { + $_=qq{$1 -T\n}; +} +elsif (/^\$ENV\{PATH}="(.*)";/) { + $_="\$ENV{PATH}=\"\Q$1\E:\Q$prefix\E/bin\";\n"; }