* 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
This commit is contained in:
Eelco Dolstra
2005-01-22 00:19:27 +00:00
parent f1ae49c01b
commit ba6f269bf5
8 changed files with 174 additions and 7 deletions

View File

@@ -0,0 +1,45 @@
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

View File

@@ -0,0 +1,8 @@
perl:
attrs:
perl.stdenv.mkDerivation (attrs // {
builder = ./builder.sh;
buildInputs = [(if attrs ? buildInputs then attrs.buildInputs else []) perl];
})