3
0
Fork 0
forked from mirrors/nixpkgs

Added kde-team version for qt4.

KDE4 needs their own version of qt4 (with KDE patches). I've added this version.
You could choose Trolltech version for specific package by
qt4 = qt4_alts.trolltech
or change default in configuration.nix

svn path=/nixpkgs/trunk/; revision=9458
This commit is contained in:
Yury G. Kudryashov 2007-10-12 20:38:39 +00:00
parent 8a0194b4e5
commit 51e3a34bdb
3 changed files with 47 additions and 62 deletions

View file

@ -1,62 +1,37 @@
{ stdenv, fetchurl
, libXft, pkgconfig, libX11, inputproto
, xrenderSupport ? true, libXrender ? null
, xrandrSupport ? true, libXrandr ? null, randrproto ? null
, xineramaSupport ? true, libXinerama ? null, xineramaproto ? null
, cursorSupport ? true, libXcursor ? null, libXext ? null
, mysqlSupport ? true, mysql ? null
, openglSupport ? false, mesa ? null, libXmu ? null
, cupsSupport ? true, cups ? null
, dbusSupport ? true, dbus ? null
, xfixesSupport ? true, fixesproto ? null, libXfixes ? null
, smSupport ? true, libICE ? null, libSM ? null
, freetypeSupport ? true, fontconfig ? null, freetype ? null
, glibSupport ? true, glib ? null
, openssl, xextproto, zlib, libjpeg, libpng, which
}:
assert xrenderSupport -> libXrender != null;
assert xrandrSupport -> libXrandr != null && randrproto != null;
assert cursorSupport -> libXcursor != null && libXext != null;
assert mysqlSupport -> mysql != null;
assert openglSupport -> mesa != null && libXmu != null;
assert dbusSupport -> dbus != null;
assert cupsSupport -> cups != null;
assert glibSupport -> glib != null;
assert smSupport -> libICE != null && libSM != null;
assert freetypeSupport -> fontconfig != null && freetype != null;
stdenv.mkDerivation {
name = "qt-4.3.0";
builder = ./builder.sh;
hook = ./setup-hook.sh;
src = fetchurl {
url = ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.3.0.tar.gz;
sha256 = "0h0liy7sdp5sarhzdfn7ss61d4ky9h0ky8jysg8v3a97sds7ghxb";
};
buildInputs = [libXft libXrender libXrandr randrproto xextproto libXinerama xineramaproto libXcursor zlib libjpeg mysql libpng which mesa libXmu openssl dbus cups pkgconfig libXext freetype fontconfig inputproto fixesproto libXfixes glib];
patchPhase = "sed -e 's@/bin/pwd@pwd@' -i configure; sed -e 's@/usr@/FOO@' -i config.tests/*/*.test -i mkspecs/*/*.conf";
dontAddPrefix = 1;
postConfigure = "export LD_LIBRARY_PATH=$(pwd)/lib";
args: with args;
let common =
rec {
setupHook = ./setup-hook.sh;
propagatedBuildInputs = [libXft libXrender libXrandr randrproto xextproto
libXinerama xineramaproto libXcursor zlib libjpeg mysql libpng which mesa
libXmu openssl dbus cups pkgconfig libXext freetype fontconfig inputproto
fixesproto libXfixes glib];
prefixKey = "-prefix ";
configureFlags = "
-v -no-separate-debug-info -release
-system-zlib -system-libpng -system-libjpeg
-v -no-separate-debug-info -release -nomake examples -nomake demos
-system-zlib -system-libpng -system-libjpeg -fast
-qt-gif -confirm-license
${if openglSupport then "-opengl" else "-no-opengl"}
${if xrenderSupport then "-xrender" else "-no-xrender"}
${if xrandrSupport then "-xrandr" else "-no-xrandr"}
${if xineramaSupport then "-xinerama" else "-no-xinerama"}
${if cursorSupport then "-xcursor" else "-no-xcursor"}
${if mysqlSupport then "-qt-sql-mysql -L${mysql}/lib/mysql -I${mysql}/include/mysql" else ""}
${if dbusSupport then "-qdbus" else "-no-qdbus"}
${if cupsSupport then "-cups" else "-no-cups"}
${if glibSupport then "-glib" else "-no-glib"}
${if xfixesSupport then "-xfixes" else "-no-xfixes"}
${if freetypeSupport then "-fontconfig -I${freetype}/include/freetype2" else "-no-fontconfig"}
";
passthru = {inherit mysqlSupport;};
-opengl -xrender -xrandr -xinerama -xcursor -qt-sql-mysql
-L${mysql}/lib/mysql -I${mysql}/include/mysql -qdbus -cups -glib -xfixes
-fontconfig -I${freetype}/include/freetype2";
patchPhase = "sed -e 's@/bin/pwd@pwd@' -i configure; sed -e 's@/usr@/FOO@' -i config.tests/*/*.test -i mkspecs/*/*.conf";
}; in
rec {
trolltech = stdenv.mkDerivation (common // {
name = "qt-4.3.1";
src = fetchurl {
url = ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.3.1.tar.gz;
sha256 = "0qg6apy2r7jbbfinxh0v1jm08yv890r40hhmy5cysn239v3x0nad";
};
patchPhase = common.patchPhase;
});
kde = stdenv.mkDerivation (common // {
name = "qt-kde-4.3svn";
src = fetchsvn {
url = svn://anonsvn.kde.org/home/kde/trunk/qt-copy;
md5 = "b0588d8ef36642613bdb92930a2330b4";
};
patchPhase = "mkdir .svn; bash apply_patches;patch -R -p0 < patches/0172-prefer-xrandr-over-xinerama.diff;" + common.patchPhase;
});
default = kde;
}

View file

@ -1 +1,6 @@
export QTDIR=@out@
if [ -n $qt4BadIncludes ]; then
for d in @out@/include/*; do
export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I$d";
done;
fi

View file

@ -1992,12 +1992,17 @@ rec {
mysqlSupport = false;
};
qt4 = getVersion "qt4" qt4_alts;
# Builds, but not tested yet
qt4 = import ../development/libraries/qt-4 {
inherit fetchurl stdenv zlib libjpeg libpng which mysql mesa openssl cups dbus fontconfig freetype pkgconfig;
# There are two versions: kde and trolltech
qt4_alts = import ../development/libraries/qt-4 {
inherit fetchurl fetchsvn zlib libjpeg libpng which mysql mesa openssl cups dbus
fontconfig freetype pkgconfig;
inherit (xlibs) xextproto libXft libXrender libXrandr randrproto
libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext inputproto fixesproto libXfixes;
libXmu libXinerama xineramaproto libXcursor libICE libSM libX11 libXext
inputproto fixesproto libXfixes;
inherit (gnome) glib;
stdenv = overrideSetup stdenv ../stdenv/generic/setup-new-2.sh;
openglSupport = mesaSupported;
mysqlSupport = true;
};