nixpkgs-suyu/pkgs/development/libraries/qt-4.5/default.nix

84 lines
2.3 KiB
Nix
Raw Normal View History

{ stdenv, fetchurl, lib
, libXft, libXrender, randrproto, xextproto, libXinerama, xineramaproto, libXcursor, libXmu
, libXext, libXfixes, inputproto, fixesproto, libXrandr, freetype, fontconfig
, zlib, libjpeg, mysql, libpng, which, mesa, openssl, dbus, cups, pkgconfig, libtiff, glib
, buildDemos ? false, buildExamples ? false, keepDocumentation ? false}:
stdenv.mkDerivation {
name = "qt-4.5.3";
src = fetchurl {
url = ftp://ftp.trolltech.com/qt/source/qt-x11-opensource-src-4.5.3.tar.gz;
sha256 = "19ls11m5skcjfgrfcidwqdm72kl7qrbj4hdl1nbmcdaxh91gr1qc";
};
setupHook = ./setup-hook.sh;
propagatedBuildInputs = [
libXft
libXrender
libXrandr
randrproto
xextproto
libXinerama
xineramaproto
libXcursor
zlib
libjpeg
mysql
libpng
which
mesa
libXmu
openssl
dbus.libs
cups
pkgconfig
libXext
freetype
fontconfig
inputproto
fixesproto
libXfixes
glib
libtiff
];
# libQtNetwork will call libQtCore for it to dlopen openssl.
NIX_LDFLAGS = "-rpath ${openssl}/lib";
# Don't shrink the rpath, to keep ${openssl} in it.
dontPatchELF = 1;
prefixKey = "-prefix ";
configureFlags = ''
-v -no-separate-debug-info -release
-system-zlib -system-libpng -system-libjpeg -fast
-qt-gif -confirm-license -opensource
-opengl -xrender -xrandr -xinerama -xcursor -qt-sql-mysql
-qdbus -cups -glib -xfixes -dbus-linked
-fontconfig -I${freetype}/include/freetype2
${if buildDemos == true then "" else "-nomake demos"}
${if buildExamples == true then "" else "-nomake examples"}
'';
patchPhase = ''
substituteInPlace configure --replace /bin/pwd pwd
sed -e 's@/usr@/FOO@' -i config.tests/*/*.test -i mkspecs/*/*.conf
'';
# Remove the documentation: it takes up >= 130 MB, which is more
# than half of the installed size. Ideally we should put this in a
# separate package (as well as the Qt Designer).
postInstall = ''
${if keepDocumentation == false then "rm -rf $out/doc" else ""}
'';
meta = {
homepage = http://www.qtsoftware.com/downloads/opensource/appdev/linux-x11-cpp;
description = "A cross-platform application framework for C++";
license = "GPL/LGPL";
maintainers = [ lib.maintainers.sander ];
};
}