nixpkgs/pkgs/development/perl-modules/generic/builder.sh
Eelco Dolstra ba6f269bf5 * Qt: add optional support for MySQL.
* MythTV: the setup program works :-).
* Added XmlTV.  This requires a huge number of Perl modules, so...
* Added a generic builder for Perl modules.  I'm lazy so the modules
  are defined directly in all-packages-generic.nix.  The generic
  builder also patches Perl scripts to include a hard-coded Perl
  module search path (i.e., similar to an RPATH in ELF executables).

svn path=/nixpkgs/trunk/; revision=2083
2005-01-22 00:19:27 +00:00

46 lines
961 B
Bash

addInputsHook=addInputsHook
addInputsHook() {
# Should be in a Perl setup hook.
envHooks=(${envHooks[@]} addPerlLibs)
}
addPerlLibs() {
PERL5LIB="$PERL5LIB${PERL5LIB:+:}$1/lib/site_perl"
}
. $stdenv/setup
PERL5LIB="$PERL5LIB${PERL5LIB:+:}$out/lib/site_perl"
export PERL5LIB
oldIFS=$IFS
IFS=:
perlFlags=
for i in $PERL5LIB; do
perlFlags="$perlFlags -I$i"
done
IFS=$oldIFS
echo "$perlFlags"
preConfigure=preConfigure
preConfigure() {
find . | while read fn; do
if test -f "$fn"; then
first=$(dd if="$fn" count=2 bs=1 2> /dev/null)
if test "$first" = "#!"; then
echo "patching $fn..."
sed < "$fn" > "$fn".tmp \
-e "s|^#\!\(.*/perl.*\)$|#\! \1$perlFlags|"
if test -x "$fn"; then chmod +x "$fn".tmp; fi
mv "$fn".tmp "$fn"
fi
fi
done
perl Makefile.PL PREFIX=$out $makeMakerFlags
}
genericBuild