nixpkgs/pkgs/development/libraries/qt-4.x/4.7/default.nix
Eelco Dolstra c416926580 * Qt: remove Phonon since we can just use the external Phonon
package.  This also removes the GStreamer dependency because only
  Phonon uses it.

svn path=/nixpkgs/branches/kde-4.7/; revision=27814
2011-07-18 09:18:38 +00:00

115 lines
3 KiB
Nix

{ stdenv, fetchurl
, alsaLib, pulseaudio
, libXft, libXrender, randrproto, xextproto, libXinerama, xineramaproto, libXcursor, libXmu
, libXv, libXext, libXfixes, inputproto, fixesproto, libXrandr, freetype, fontconfig
, zlib, libjpeg, libpng, libmng, which, mesa, openssl, dbus, cups, pkgconfig, libtiff, glib
, mysql, postgresql, sqlite
, perl, coreutils, libXi
, buildDemos ? false, buildExamples ? false, useDocs ? false
}:
let
v = "4.7.3";
in
stdenv.mkDerivation rec {
name = "qt-${v}";
src = fetchurl {
url = "ftp://ftp.qt.nokia.com/qt/source/qt-everywhere-opensource-src-${v}.tar.gz";
sha256 = "0zlk0lcrkhi8wdb5j2lqz3nclk07blbiial7lzs03708kpb6yayh";
};
preConfigure =
''
export LD_LIBRARY_PATH="`pwd`/lib:$LD_LIBRARY_PATH"
configureFlags+="
-docdir $out/share/doc/${name}
-plugindir $out/lib/qt4/plugins
-importdir $out/lib/qt4/imports
-examplesdir $out/share/doc/${name}/examples
-demosdir $out/share/doc/${name}/demos
-datadir $out/share/${name}
-translationdir $out/share/${name}/translations
"
'';
configureFlags =
''
-v -no-separate-debug-info -release -fast -confirm-license -opensource
-system-zlib -system-libpng -system-libjpeg -qt-gif -system-libmng
-opengl -xrender -xrandr -xinerama -xcursor
-plugin-sql-mysql -system-sqlite
-qdbus -cups -glib -xfixes -dbus-linked -openssl-linked
-fontconfig -I${freetype}/include/freetype2
-exceptions -xmlpatterns
-multimedia -audio-backend -no-phonon
-webkit -javascript-jit
-make libs -make tools -make translations
${if buildDemos == true then "-make demos" else "-nomake demos"}
${if buildExamples == true then "-make examples" else "-nomake examples"}
${if useDocs then "-make docs" else "-nomake docs"}
'';
propagatedBuildInputs = [
alsaLib
sqlite
libXft
libXrender
libXrandr
libXi
randrproto
xextproto
libXinerama
xineramaproto
libXcursor
zlib
libjpeg
libmng
mysql
postgresql
libpng
which
mesa
libXmu
libXv
openssl
dbus.libs
cups
pkgconfig
libXext
freetype
fontconfig
inputproto
fixesproto
libXfixes
glib
libtiff
pulseaudio
];
buildInputs = [ perl ];
prefixKey = "-prefix ";
prePatch = ''
substituteInPlace configure --replace /bin/pwd pwd
substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf
'';
postInstall = ''
${if useDocs then "rm -rfv $out/share/doc/${name}/{html,src}" else ""}
'';
enableParallelBuilding = true;
meta = with stdenv.lib; {
homepage = http://qt.nokia.com/products;
description = "A cross-platform application framework for C++";
license = "GPL/LGPL";
maintainers = with maintainers; [ urkud sander ];
platforms = platforms.linux;
};
}