* 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:
parent
f1ae49c01b
commit
ba6f269bf5
@ -10,6 +10,13 @@ myBuilder() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
genericBuild
|
postInstall=postInstall
|
||||||
|
postInstall() {
|
||||||
|
sqlDir="$out/share/mythtv/sql"
|
||||||
|
ensureDir $sqlDir
|
||||||
|
cp -p ./database/mc.sql $sqlDir/
|
||||||
|
cp -p ./setup/setup $out/bin/mythsetup
|
||||||
|
}
|
||||||
|
|
||||||
exit 1
|
|
||||||
|
genericBuild
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
{stdenv, fetchurl, which, qt3, x11, libXinerama, libXv, libXxf86vm, lame}:
|
{stdenv, fetchurl, which, qt3, x11, libXinerama, libXv, libXxf86vm, lame}:
|
||||||
|
|
||||||
|
assert qt3.mysqlSupport;
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "mythtv-0.16";
|
name = "mythtv-0.16";
|
||||||
|
|
||||||
|
@ -7,15 +7,14 @@ preConfigure() {
|
|||||||
# Patch some of the configure files a bit to get of global paths.
|
# Patch some of the configure files a bit to get of global paths.
|
||||||
# (Buildings using stuff in those paths will fail anyway, but it
|
# (Buildings using stuff in those paths will fail anyway, but it
|
||||||
# will cause ./configure misdetections).
|
# will cause ./configure misdetections).
|
||||||
for i in config.tests/*/*.test mkspecs/*/qmake.conf; do
|
for i in config.tests/unix/checkavail config.tests/*/*.test mkspecs/*/qmake.conf; do
|
||||||
echo "patching $i..."
|
echo "patching $i..."
|
||||||
sed < $i > $i.tmp \
|
sed < $i > $i.tmp \
|
||||||
-e 's^ /lib^ /FOO^g' \
|
-e 's^ /lib^ /FOO^g' \
|
||||||
-e 's^/usr^/FOO^g'
|
-e 's^/usr^/FOO^g'
|
||||||
|
if test -x $i; then chmod +x $i.tmp; fi
|
||||||
mv $i.tmp $i
|
mv $i.tmp $i
|
||||||
done
|
done
|
||||||
|
|
||||||
chmod +x config.tests/*/*.test
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -36,6 +35,12 @@ if test -n "$xftSupport"; then
|
|||||||
$configureFlags"
|
$configureFlags"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if test -n "$mysqlSupport"; then
|
||||||
|
configureFlags="-qt-sql-mysql -L$mysql/lib/mysql -I$mysql/include/mysql $configureFlags";
|
||||||
|
else
|
||||||
|
configureFlags="-no-thread $configureFlags";
|
||||||
|
fi
|
||||||
|
|
||||||
if test -n "$xrenderSupport"; then
|
if test -n "$xrenderSupport"; then
|
||||||
configureFlags="-xrender -L$libXrender/lib -I$libXrender/include $configureFlags"
|
configureFlags="-xrender -L$libXrender/lib -I$libXrender/include $configureFlags"
|
||||||
fi
|
fi
|
||||||
|
@ -1,12 +1,14 @@
|
|||||||
{ xftSupport ? true
|
{ xftSupport ? true
|
||||||
, xrenderSupport ? true
|
, xrenderSupport ? true
|
||||||
, threadSupport ? true
|
, threadSupport ? true
|
||||||
, stdenv, fetchurl, x11, libXft ? null, libXrender ? null
|
, mysqlSupport ? true
|
||||||
|
, stdenv, fetchurl, x11, libXft ? null, libXrender ? null, mysql ? null
|
||||||
, zlib, libjpeg, libpng, which
|
, zlib, libjpeg, libpng, which
|
||||||
}:
|
}:
|
||||||
|
|
||||||
assert xftSupport -> libXft != null;
|
assert xftSupport -> libXft != null;
|
||||||
assert xrenderSupport -> xftSupport && libXft != null;
|
assert xrenderSupport -> xftSupport && libXft != null;
|
||||||
|
assert mysqlSupport -> mysql != null;
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "qt-3.3.3";
|
name = "qt-3.3.3";
|
||||||
@ -20,5 +22,6 @@ stdenv.mkDerivation {
|
|||||||
buildInputs = [x11 libXft libXrender zlib libjpeg libpng which];
|
buildInputs = [x11 libXft libXrender zlib libjpeg libpng which];
|
||||||
|
|
||||||
inherit threadSupport xftSupport libXft xrenderSupport libXrender;
|
inherit threadSupport xftSupport libXft xrenderSupport libXrender;
|
||||||
|
inherit mysqlSupport mysql;
|
||||||
inherit (libXft) freetype fontconfig;
|
inherit (libXft) freetype fontconfig;
|
||||||
}
|
}
|
||||||
|
45
pkgs/development/perl-modules/generic/builder.sh
Normal file
45
pkgs/development/perl-modules/generic/builder.sh
Normal 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
|
8
pkgs/development/perl-modules/generic/default.nix
Normal file
8
pkgs/development/perl-modules/generic/default.nix
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
perl:
|
||||||
|
|
||||||
|
attrs:
|
||||||
|
|
||||||
|
perl.stdenv.mkDerivation (attrs // {
|
||||||
|
builder = ./builder.sh;
|
||||||
|
buildInputs = [(if attrs ? buildInputs then attrs.buildInputs else []) perl];
|
||||||
|
})
|
@ -156,6 +156,12 @@ rec {
|
|||||||
inherit fetchurl stdenv x11;
|
inherit fetchurl stdenv x11;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
xmltv = import ../tools/misc/xmltv {
|
||||||
|
inherit fetchurl perl perlTermReadKey perlXMLTwig perlXMLWriter
|
||||||
|
perlDateManip perlHTMLTree perlHTMLParser perlHTMLTagset
|
||||||
|
perlURI perlLWP;
|
||||||
|
};
|
||||||
|
|
||||||
openssh = (import ../tools/networking/openssh) {
|
openssh = (import ../tools/networking/openssh) {
|
||||||
inherit fetchurl stdenv zlib openssl;
|
inherit fetchurl stdenv zlib openssl;
|
||||||
};
|
};
|
||||||
@ -605,7 +611,7 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
qt3 = import ../development/libraries/qt-3 {
|
qt3 = import ../development/libraries/qt-3 {
|
||||||
inherit fetchurl stdenv x11 zlib libjpeg libpng which;
|
inherit fetchurl stdenv x11 zlib libjpeg libpng which mysql;
|
||||||
inherit (xlibs) libXft libXrender;
|
inherit (xlibs) libXft libXrender;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -698,6 +704,80 @@ rec {
|
|||||||
inherit fetchurl stdenv perl expat;
|
inherit fetchurl stdenv perl expat;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
perlXMLTwig = import ../development/perl-modules/generic perl {
|
||||||
|
name = "XML-Twig-3.15";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/M/MI/MIROD/XML-Twig-3.15.tar.gz;
|
||||||
|
md5 = "b26886b8bd19761fff37b23e4964b499";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [perlXMLParser];
|
||||||
|
};
|
||||||
|
|
||||||
|
perlXMLWriter = import ../development/perl-modules/generic perl {
|
||||||
|
name = "XML-Writer-0.520";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/J/JO/JOSEPHW/XML-Writer-0.520.tar.gz;
|
||||||
|
md5 = "0a194acc70c906c0be32f4b2b7a9f689";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perlTermReadKey = import ../development/perl-modules/generic perl {
|
||||||
|
name = "TermReadKey-2.30";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/J/JS/JSTOWE/TermReadKey-2.30.tar.gz;
|
||||||
|
md5 = "f0ef2cea8acfbcc58d865c05b0c7e1ff";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perlDateManip = import ../development/perl-modules/generic perl {
|
||||||
|
name = "DateManip-5.42a";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/S/SB/SBECK/DateManip-5.42a.tar.gz;
|
||||||
|
md5 = "648386bbf46d021ae283811f75b07bdf";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perlHTMLTree = import ../development/perl-modules/generic perl {
|
||||||
|
name = "HTML-Tree-3.18";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/S/SB/SBURKE/HTML-Tree-3.18.tar.gz;
|
||||||
|
md5 = "6a9e4e565648c9772e7d8ec6d4392497";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perlHTMLParser = import ../development/perl-modules/generic perl {
|
||||||
|
name = "HTML-Parser-3.45";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/HTML-Parser-3.45.tar.gz;
|
||||||
|
md5 = "c2ac1379ac5848dd32e24347cd679391";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perlHTMLTagset = import ../development/perl-modules/generic perl {
|
||||||
|
name = "HTML-Tagset-3.04";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/S/SB/SBURKE/HTML-Tagset-3.04.tar.gz;
|
||||||
|
md5 = "b82e0f08c1ececefe98b891f30dd56a6";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perlURI = import ../development/perl-modules/generic perl {
|
||||||
|
name = "URI-1.35";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/URI-1.35.tar.gz;
|
||||||
|
md5 = "1a933b1114c41a25587ee59ba8376f7c";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
perlLWP = import ../development/perl-modules/generic perl {
|
||||||
|
name = "libwww-perl-5.803";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.803.tar.gz;
|
||||||
|
md5 = "3345d5f15a4f42350847254141725c8f";
|
||||||
|
};
|
||||||
|
propagatedBuildInputs = [perlURI perlHTMLParser];
|
||||||
|
};
|
||||||
|
|
||||||
wxPython = (import ../development/python-modules/wxPython-2.5) {
|
wxPython = (import ../development/python-modules/wxPython-2.5) {
|
||||||
inherit fetchurl stdenv pkgconfig wxGTK python;
|
inherit fetchurl stdenv pkgconfig wxGTK python;
|
||||||
};
|
};
|
||||||
|
17
pkgs/tools/misc/xmltv/default.nix
Normal file
17
pkgs/tools/misc/xmltv/default.nix
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
{ fetchurl, perl, perlTermReadKey, perlXMLTwig, perlXMLWriter
|
||||||
|
, perlDateManip, perlHTMLTree, perlHTMLParser, perlHTMLTagset
|
||||||
|
, perlURI, perlLWP
|
||||||
|
}:
|
||||||
|
|
||||||
|
import ../../../development/perl-modules/generic perl {
|
||||||
|
name = "xmltv-0.5.37";
|
||||||
|
src = fetchurl {
|
||||||
|
url = http://heanet.dl.sourceforge.net/sourceforge/xmltv/xmltv-0.5.37.tar.bz2;
|
||||||
|
md5 = "40b7675cc1b7632065ebbd1e0ecf860f";
|
||||||
|
};
|
||||||
|
makeMakerFlags = "-components tv_grab_nl";
|
||||||
|
buildInputs = [
|
||||||
|
perlTermReadKey perlXMLTwig perlXMLWriter perlDateManip
|
||||||
|
perlHTMLTree perlHTMLParser perlHTMLTagset perlURI perlLWP
|
||||||
|
];
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user