X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f4d99ac1ca03121255e545df89e7d841a02cc0bf..310c7a1d0b8d80aca5bdd548b3cac632d4ef7aab:/pm_filter?ds=inline

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";
 }