added attrPath="qt53Full" and "attrPath="qt53"; qt-5.2 still default
This commit is contained in:
parent
6025caa92b
commit
9d724820c3
@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
|
|||||||
patches =
|
patches =
|
||||||
[ ./glib-2.32.patch
|
[ ./glib-2.32.patch
|
||||||
(substituteAll {
|
(substituteAll {
|
||||||
src = ./dlopen-absolute-paths.patch;
|
src = ./qt-5.2-dlopen-absolute-paths.patch;
|
||||||
inherit cups icu libXfixes;
|
inherit cups icu libXfixes;
|
||||||
glibc = stdenv.gcc.libc;
|
glibc = stdenv.gcc.libc;
|
||||||
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
||||||
|
@ -0,0 +1,24 @@
|
|||||||
|
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp
|
||||||
|
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-08-25 20:03:35.000000000 +0200
|
||||||
|
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/network/kernel/qhostinfo_unix.cpp 2013-09-25 17:43:14.047015411 +0200
|
||||||
|
@@ -103,7 +103,7 @@
|
||||||
|
if (!lib.load())
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
- lib.setFileName(QLatin1String("resolv"));
|
||||||
|
+ lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
|
||||||
|
if (!lib.load())
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp
|
||||||
|
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-08-25 20:03:35.000000000 +0200
|
||||||
|
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/plugins/platforms/xcb/qglxintegration.cpp 2013-09-25 17:51:29.834674976 +0200
|
||||||
|
@@ -379,7 +379,7 @@
|
||||||
|
{
|
||||||
|
extern const QString qt_gl_library_name();
|
||||||
|
// QLibrary lib(qt_gl_library_name());
|
||||||
|
- QLibrary lib(QLatin1String("GL"));
|
||||||
|
+ QLibrary lib(QLatin1String("@openglDriver@/lib/libGL"));
|
||||||
|
glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
|
||||||
|
}
|
||||||
|
}
|
162
pkgs/development/libraries/qt-5/qt-5.3.nix
Normal file
162
pkgs/development/libraries/qt-5/qt-5.3.nix
Normal file
@ -0,0 +1,162 @@
|
|||||||
|
{ stdenv, fetchurl, substituteAll, libXrender, libXext
|
||||||
|
, libXfixes, freetype, fontconfig, zlib, libjpeg, libpng
|
||||||
|
, mesaSupported, mesa, mesa_glu, openssl, dbus, cups, pkgconfig
|
||||||
|
, libtiff, glib, icu, mysql, postgresql, sqlite, perl, coreutils, libXi
|
||||||
|
, gdk_pixbuf, python, gdb, xlibs, libX11, libxcb, xcbutil, xcbutilimage
|
||||||
|
, xcbutilkeysyms, xcbutilwm,udev, libxml2, libxslt, pcre, libxkbcommon
|
||||||
|
, alsaLib, gstreamer, gst_plugins_base
|
||||||
|
, pulseaudio, bison, flex, gperf, ruby, libwebp
|
||||||
|
, flashplayerFix ? false
|
||||||
|
, gtkStyle ? false, libgnomeui, gtk, GConf, gnome_vfs
|
||||||
|
, buildDocs ? false
|
||||||
|
, buildExamples ? false
|
||||||
|
, buildTests ? false
|
||||||
|
, developerBuild ? false
|
||||||
|
}:
|
||||||
|
|
||||||
|
with stdenv.lib;
|
||||||
|
|
||||||
|
let
|
||||||
|
v_maj = "5.3";
|
||||||
|
v_min = "0";
|
||||||
|
ver = "${v_maj}.${v_min}";
|
||||||
|
in
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "qt-${ver}";
|
||||||
|
|
||||||
|
src = fetchurl {
|
||||||
|
url = "http://download.qt-project.org/official_releases/qt/"
|
||||||
|
+ "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
|
||||||
|
sha256 = "09gp19377zpqyfzk063b3pjz8gjm2x7xsj71bdpmnhs1scz0khcj";
|
||||||
|
};
|
||||||
|
|
||||||
|
# The version property must be kept because it will be included into the QtSDK package name
|
||||||
|
version = ver;
|
||||||
|
|
||||||
|
prePatch = ''
|
||||||
|
substituteInPlace configure --replace /bin/pwd pwd
|
||||||
|
substituteInPlace qtbase/configure --replace /bin/pwd pwd
|
||||||
|
substituteInPlace qtbase/src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
|
||||||
|
sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i qtbase/mkspecs/*/*.conf
|
||||||
|
'';
|
||||||
|
|
||||||
|
patches =
|
||||||
|
[ ./glib-2.32.patch
|
||||||
|
(substituteAll {
|
||||||
|
src = ./qt-5.3-dlopen-absolute-paths.patch;
|
||||||
|
inherit cups icu libXfixes;
|
||||||
|
glibc = stdenv.gcc.libc;
|
||||||
|
openglDriver = if mesaSupported then mesa.driverLink else "/no-such-path";
|
||||||
|
})
|
||||||
|
] ++ optional gtkStyle (substituteAll {
|
||||||
|
src = ./dlopen-gtkstyle.patch;
|
||||||
|
# substituteAll ignores env vars starting with capital letter
|
||||||
|
gconf = GConf;
|
||||||
|
inherit gnome_vfs libgnomeui gtk;
|
||||||
|
})
|
||||||
|
++ optional flashplayerFix (substituteAll {
|
||||||
|
src = ./dlopen-webkit-nsplugin.patch;
|
||||||
|
inherit gtk gdk_pixbuf;
|
||||||
|
});
|
||||||
|
|
||||||
|
preConfigure = ''
|
||||||
|
export LD_LIBRARY_PATH="$PWD/qtbase/lib:$PWD/qtbase/plugins/platforms:$PWD/qttools/lib:$LD_LIBRARY_PATH"
|
||||||
|
export MAKEFLAGS=-j$NIX_BUILD_CORES
|
||||||
|
'';
|
||||||
|
|
||||||
|
prefixKey = "-prefix ";
|
||||||
|
|
||||||
|
# -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
|
||||||
|
# TODO Remove obsolete and useless flags once the build will be totally mastered
|
||||||
|
configureFlags = ''
|
||||||
|
-verbose
|
||||||
|
-confirm-license
|
||||||
|
-opensource
|
||||||
|
|
||||||
|
-release
|
||||||
|
-shared
|
||||||
|
-c++11
|
||||||
|
${optionalString developerBuild "-developer-build"}
|
||||||
|
-largefile
|
||||||
|
-accessibility
|
||||||
|
-rpath
|
||||||
|
-optimized-qmake
|
||||||
|
-strip
|
||||||
|
-reduce-relocations
|
||||||
|
-system-proxies
|
||||||
|
|
||||||
|
-gui
|
||||||
|
-widgets
|
||||||
|
-opengl desktop
|
||||||
|
-qml-debug
|
||||||
|
-nis
|
||||||
|
-iconv
|
||||||
|
-icu
|
||||||
|
-pch
|
||||||
|
-glib
|
||||||
|
-xcb
|
||||||
|
-qpa xcb
|
||||||
|
-${optionalString (cups == null) "no-"}cups
|
||||||
|
|
||||||
|
-no-eglfs
|
||||||
|
-no-directfb
|
||||||
|
-no-linuxfb
|
||||||
|
-no-kms
|
||||||
|
|
||||||
|
-system-zlib
|
||||||
|
-system-libpng
|
||||||
|
-system-libjpeg
|
||||||
|
-system-xcb
|
||||||
|
-system-xkbcommon
|
||||||
|
-openssl-linked
|
||||||
|
-dbus-linked
|
||||||
|
|
||||||
|
-system-sqlite
|
||||||
|
-${if mysql != null then "plugin" else "no"}-sql-mysql
|
||||||
|
-${if postgresql != null then "plugin" else "no"}-sql-psql
|
||||||
|
|
||||||
|
-make libs
|
||||||
|
-make tools
|
||||||
|
-${optionalString (buildExamples == false) "no"}make examples
|
||||||
|
-${optionalString (buildTests == false) "no"}make tests
|
||||||
|
'';
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
|
||||||
|
fontconfig freetype openssl dbus.libs glib udev libxml2 libxslt pcre
|
||||||
|
zlib libjpeg libpng libtiff sqlite icu
|
||||||
|
libwebp alsaLib gstreamer gst_plugins_base pulseaudio
|
||||||
|
xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
|
||||||
|
]
|
||||||
|
# Qt doesn't directly need GLU (just GL), but many apps use, it's small and
|
||||||
|
# doesn't remain a runtime-dep if not used
|
||||||
|
++ optionals mesaSupported [ mesa mesa_glu ]
|
||||||
|
++ optional (cups != null) cups
|
||||||
|
++ optional (mysql != null) mysql
|
||||||
|
++ optional (postgresql != null) postgresql;
|
||||||
|
|
||||||
|
buildInputs = [ gdb bison flex gperf ruby ];
|
||||||
|
|
||||||
|
nativeBuildInputs = [ python perl pkgconfig ];
|
||||||
|
|
||||||
|
postInstall =
|
||||||
|
''
|
||||||
|
${optionalString buildDocs ''
|
||||||
|
make docs && make install_docs
|
||||||
|
''}
|
||||||
|
|
||||||
|
# Don't retain build-time dependencies like gdb and ruby.
|
||||||
|
sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $out/mkspecs/qconfig.pri
|
||||||
|
'';
|
||||||
|
|
||||||
|
enableParallelBuilding = true; # often fails on Hydra, as well as qt4
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
homepage = http://qt-project.org;
|
||||||
|
description = "A cross-platform application framework for C++";
|
||||||
|
license = "GPL/LGPL";
|
||||||
|
maintainers = [ maintainers.bbenoist maintainers.qknight ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
@ -5861,6 +5861,21 @@ let
|
|||||||
qtLib = qt48Full;
|
qtLib = qt48Full;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
qt53Full = qt53.override {
|
||||||
|
buildDocs = true;
|
||||||
|
buildExamples = true;
|
||||||
|
buildTests = true;
|
||||||
|
developerBuild = true;
|
||||||
|
};
|
||||||
|
|
||||||
|
qt53 = callPackage ../development/libraries/qt-5/qt-5.3.nix {
|
||||||
|
mesa = mesa_noglu;
|
||||||
|
cups = if stdenv.isLinux then cups else null;
|
||||||
|
# GNOME dependencies are not used unless gtkStyle == true
|
||||||
|
inherit (gnome) libgnomeui GConf gnome_vfs;
|
||||||
|
bison = bison2; # error: too few arguments to function 'int yylex(...
|
||||||
|
};
|
||||||
|
|
||||||
qt5 = callPackage ../development/libraries/qt-5 {
|
qt5 = callPackage ../development/libraries/qt-5 {
|
||||||
mesa = mesa_noglu;
|
mesa = mesa_noglu;
|
||||||
cups = if stdenv.isLinux then cups else null;
|
cups = if stdenv.isLinux then cups else null;
|
||||||
|
Loading…
Reference in New Issue
Block a user