2006-09-14 15:24:06 +02:00
|
|
|
{ stdenv, fetchurl
|
|
|
|
, xftSupport ? true, libXft ? null
|
|
|
|
, xrenderSupport ? true, libXrender ? null
|
|
|
|
, xrandrSupport ? true, libXrandr ? null, randrproto ? null
|
2009-11-03 22:55:53 +01:00
|
|
|
, xineramaSupport ? true, libXinerama ? null
|
2007-03-26 20:15:32 +02:00
|
|
|
, cursorSupport ? true, libXcursor ? null
|
2005-01-20 15:23:34 +01:00
|
|
|
, threadSupport ? true
|
2012-01-07 18:06:49 +01:00
|
|
|
, mysqlSupport ? false, mysql ? null
|
2018-02-24 14:12:44 +01:00
|
|
|
, openglSupport ? false, libGLU_combined ? null, libXmu ? null
|
2015-09-15 11:13:22 +02:00
|
|
|
, xlibsWrapper, xextproto, zlib, libjpeg, libpng, which
|
2005-01-19 23:51:27 +01:00
|
|
|
}:
|
|
|
|
|
|
|
|
assert xftSupport -> libXft != null;
|
2006-09-14 15:24:06 +02:00
|
|
|
assert xrenderSupport -> xftSupport && libXrender != null;
|
|
|
|
assert xrandrSupport -> libXrandr != null && randrproto != null;
|
2007-03-26 20:15:32 +02:00
|
|
|
assert cursorSupport -> libXcursor != null;
|
2005-01-22 01:19:27 +01:00
|
|
|
assert mysqlSupport -> mysql != null;
|
2018-02-24 14:12:44 +01:00
|
|
|
assert openglSupport -> libGLU_combined != null && libXmu != null;
|
2005-01-19 23:51:27 +01:00
|
|
|
|
|
|
|
stdenv.mkDerivation {
|
2007-03-26 15:39:50 +02:00
|
|
|
name = "qt-3.3.8";
|
2005-01-19 23:51:27 +01:00
|
|
|
|
|
|
|
builder = ./builder.sh;
|
2009-04-23 15:31:10 +02:00
|
|
|
|
|
|
|
setupHook = ./setup-hook.sh;
|
|
|
|
|
2005-01-19 23:51:27 +01:00
|
|
|
src = fetchurl {
|
2016-07-16 17:39:03 +02:00
|
|
|
url = http://download.qt.io/archive/qt/3/qt-x11-free-3.3.8.tar.bz2;
|
2007-03-26 15:39:50 +02:00
|
|
|
sha256 = "0jd4g3bwkgk2s4flbmgisyihm7cam964gzb3pawjlkhas01zghz8";
|
2005-01-19 23:51:27 +01:00
|
|
|
};
|
|
|
|
|
2012-12-28 19:20:09 +01:00
|
|
|
nativeBuildInputs = [ which ];
|
2015-09-15 11:13:22 +02:00
|
|
|
propagatedBuildInputs = [libpng xlibsWrapper libXft libXrender zlib libjpeg];
|
2005-01-19 23:51:27 +01:00
|
|
|
|
2016-02-26 18:38:15 +01:00
|
|
|
hardeningDisable = [ "format" ];
|
2016-02-12 16:10:52 +01:00
|
|
|
|
2006-09-14 15:24:06 +02:00
|
|
|
configureFlags = "
|
|
|
|
-v
|
|
|
|
-system-zlib -system-libpng -system-libjpeg
|
2007-03-26 20:15:32 +02:00
|
|
|
-qt-gif
|
|
|
|
-I${xextproto}/include
|
2006-09-14 15:24:06 +02:00
|
|
|
${if openglSupport then "-dlopen-opengl
|
2018-02-24 15:33:33 +01:00
|
|
|
-L${libGLU_combined}/lib -I${libGLU_combined}/include
|
2016-07-16 17:39:03 +02:00
|
|
|
-L${libXmu.out}/lib -I${libXmu.dev}/include" else ""}
|
2006-09-14 15:24:06 +02:00
|
|
|
${if threadSupport then "-thread" else "-no-thread"}
|
2016-07-16 17:39:03 +02:00
|
|
|
${if xrenderSupport then "-xrender -L${libXrender.out}/lib -I${libXrender.dev}/include" else "-no-xrender"}
|
2006-09-14 15:24:06 +02:00
|
|
|
${if xrandrSupport then "-xrandr
|
2016-07-16 17:39:03 +02:00
|
|
|
-L${libXrandr.out}/lib -I${libXrandr.dev}/include
|
2006-09-14 15:24:06 +02:00
|
|
|
-I${randrproto}/include" else "-no-xrandr"}
|
2016-07-16 17:39:03 +02:00
|
|
|
${if xineramaSupport then "-xinerama -L${libXinerama.out}/lib -I${libXinerama.dev}/include" else "-no-xinerama"}
|
|
|
|
${if cursorSupport then "-L${libXcursor.out}/lib -I${libXcursor.dev}/include" else ""}
|
2017-12-27 17:00:39 +01:00
|
|
|
${if mysqlSupport then "-qt-sql-mysql -L${mysql.connector-c}/lib/mysql -I${mysql.connector-c}/include/mysql" else ""}
|
2006-09-14 15:24:06 +02:00
|
|
|
${if xftSupport then "-xft
|
2015-10-05 12:23:02 +02:00
|
|
|
-L${libXft.out}/lib -I${libXft.dev}/include
|
2015-10-15 18:59:39 +02:00
|
|
|
-L${libXft.freetype.out}/lib -I${libXft.freetype.dev}/include
|
2015-10-05 12:23:02 +02:00
|
|
|
-L${libXft.fontconfig.lib}/lib -I${libXft.fontconfig.dev}/include" else "-no-xft"}
|
2006-09-14 15:24:06 +02:00
|
|
|
";
|
|
|
|
|
|
|
|
patches = [
|
|
|
|
# Don't strip everything so we can get useful backtraces.
|
|
|
|
./strip.patch
|
2013-06-25 09:17:34 +02:00
|
|
|
|
2006-09-14 15:24:06 +02:00
|
|
|
# Build on NixOS.
|
|
|
|
./qt-pwd.patch
|
2013-06-25 09:17:34 +02:00
|
|
|
|
2006-09-14 15:24:06 +02:00
|
|
|
# randr.h and Xrandr.h need not be in the same prefix.
|
|
|
|
./xrandr.patch
|
2012-02-26 22:27:15 +01:00
|
|
|
|
|
|
|
# Make it build with gcc 4.6.0
|
|
|
|
./qt3-gcc4.6.0.patch
|
2006-09-14 15:24:06 +02:00
|
|
|
];
|
2006-09-14 15:30:47 +02:00
|
|
|
|
|
|
|
passthru = {inherit mysqlSupport;};
|
2016-08-02 18:06:29 +02:00
|
|
|
|
|
|
|
meta = {
|
|
|
|
platforms = stdenv.lib.platforms.linux;
|
|
|
|
};
|
2005-01-19 23:51:27 +01:00
|
|
|
}
|