1a6039cb45
If a build expressions has set "enableParallelBuilding = true", then the generic builder may utilize more than one CPU core to build that particular expression. This feature works out of the box for GNU Make. Expressions that use other build drivers like Boost.Jam or SCons have to specify appropriate flags such as "-j${NIX_BUILD_CORES}" themselves. svn path=/nixpkgs/trunk/; revision=23042
113 lines
2.9 KiB
Nix
113 lines
2.9 KiB
Nix
{ stdenv, fetchurl
|
|
, alsaLib, gstreamer, gstPluginsBase, 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 ? true}:
|
|
|
|
let
|
|
v = "4.7.0-beta2";
|
|
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 = "1gxckb5pxybnj5413dxk7dm8hm945ymm4ppqwg14wfk83zhnw6g0";
|
|
};
|
|
|
|
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/qt4
|
|
"
|
|
'';
|
|
|
|
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
|
|
gstreamer
|
|
gstPluginsBase
|
|
pulseaudio
|
|
];
|
|
|
|
buildInputs = [ perl ];
|
|
|
|
prefixKey = "-prefix ";
|
|
|
|
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 -phonon -phonon-backend
|
|
-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"}'';
|
|
|
|
patches = [ ./phonon-4.4.0.patch ];
|
|
|
|
postPatch = ''
|
|
substituteInPlace configure --replace /bin/pwd pwd
|
|
substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
|
|
sed -e 's@/usr@/FOO@' -i config.tests/*/*.test -i mkspecs/*/*.conf
|
|
'';
|
|
|
|
postInstall = if useDocs then "rm -rf $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;
|
|
priority = 10;
|
|
};
|
|
}
|