Merge branch 'qt5-support' into staging

Update Qt 5 to version 5.3.2. Drop the 5.2 branch. Update several
libraries to their latest versions to take advantage of Qt 5
support. The last point will cause a KDE 4 rebuild.
This commit is contained in:
Thomas Tuegel 2014-11-20 11:58:47 -06:00
commit 77e5ae6077
14 changed files with 120 additions and 283 deletions

View file

@ -1,4 +1,4 @@
{ stdenv, fetchFromGitHub, qt53 }: { stdenv, fetchFromGitHub, qt5 }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
version = "0.9"; version = "0.9";
@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
sha256 = "8462f3eded7b2219acc143258544b0dfac32d81e10cac61ff14276d426704c93"; sha256 = "8462f3eded7b2219acc143258544b0dfac32d81e10cac61ff14276d426704c93";
}; };
buildInputs = [ qt53 ]; buildInputs = [ qt5 ];
buildPhase = '' buildPhase = ''
pushd ./konsole-qml-plugin pushd ./konsole-qml-plugin
@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
cat > $out/bin/cool-old-term <<EOF cat > $out/bin/cool-old-term <<EOF
#!${stdenv.shell} #!${stdenv.shell}
${qt53}/bin/qmlscene -I $out/lib/cool-old-term/imports $out/share/cool-old-term/app/main.qml ${qt5}/bin/qmlscene -I $out/lib/cool-old-term/imports $out/share/cool-old-term/app/main.qml
EOF EOF
chmod a+x $out/bin/cool-old-term chmod a+x $out/bin/cool-old-term
''; '';

View file

@ -1,14 +1,20 @@
{ stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray { stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray
, zlib, a52dec, libmad, faad2, ffmpeg, alsaLib , zlib, a52dec, libmad, faad2, ffmpeg, alsaLib
, pkgconfig, dbus, fribidi, qt4, freefont_ttf, libebml, libmatroska , pkgconfig, dbus, fribidi, freefont_ttf, libebml, libmatroska
, libvorbis, libtheora, speex, lua5, libgcrypt, libupnp , libvorbis, libtheora, speex, lua5, libgcrypt, libupnp
, libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg , libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg
, mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image , mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image
, libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz
, libass, libva, libdvbpsi, libdc1394, libraw1394, libopus , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus
, libvdpau , libvdpau
, onlyLibVLC ? false
, qt4 ? null, qt5 ? null, withQt5 ? false
}: }:
with stdenv.lib;
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "vlc-${version}"; name = "vlc-${version}";
version = "2.1.5"; version = "2.1.5";
@ -20,13 +26,13 @@ stdenv.mkDerivation rec {
buildInputs = buildInputs =
[ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread [ xz bzip2 perl zlib a52dec libmad faad2 ffmpeg alsaLib libdvdnav libdvdnav.libdvdread
libbluray dbus fribidi qt4 libvorbis libtheora speex lua5 libgcrypt libbluray dbus fribidi libvorbis libtheora speex lua5 libgcrypt
libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec libupnp libcaca pulseaudio flac schroedinger libxml2 librsvg mpeg2dec
udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib
libkate libtiger libv4l samba liboggz libass libdvbpsi libva libkate libtiger libv4l samba liboggz libass libdvbpsi libva
xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms
libdc1394 libraw1394 libopus libebml libmatroska libvdpau libdc1394 libraw1394 libopus libebml libmatroska libvdpau
]; ] ++ [(if withQt5 then qt5 else qt4)];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];
@ -36,7 +42,8 @@ stdenv.mkDerivation rec {
"--enable-dc1394" "--enable-dc1394"
"--enable-ncurses" "--enable-ncurses"
"--enable-vdpau" "--enable-vdpau"
]; ]
++ optional onlyLibVLC "--disable-vlc";
preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure''; preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure'';

View file

@ -1,5 +1,5 @@
{ kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies, { kde, kdelibs, python, sip, pyqt4, kdepimlibs, shared_desktop_ontologies,
polkit_qt_1, boost, lndir, pkgconfig }: polkit_qt4, boost, lndir, pkgconfig }:
let pydir = "lib/python${python.majorVersion}"; in let pydir = "lib/python${python.majorVersion}"; in
@ -9,7 +9,7 @@ kde {
buildInputs = [ buildInputs = [
python kdepimlibs shared_desktop_ontologies python kdepimlibs shared_desktop_ontologies
boost polkit_qt_1 boost polkit_qt4
]; ];
nativeBuildInputs = [ pkgconfig ]; nativeBuildInputs = [ pkgconfig ];

View file

@ -2,7 +2,7 @@
, qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi , qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi
, openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver , openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver
, automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee , automoc4, soprano, qca2, attica, enchant, libdbusmenu_qt, grantlee
, docbook_xml_dtd_42, docbook_xsl, polkit_qt_1, acl, attr, libXtst , docbook_xml_dtd_42, docbook_xsl, polkit_qt4, acl, attr, libXtst
, udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt , udev, herqq, phonon, libjpeg, xz, ilmbase, libxslt
, pkgconfig , pkgconfig
}: }:
@ -13,7 +13,7 @@ kde {
buildInputs = buildInputs =
[ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq [ pkgconfig attica avahi bzip2 enchant fam giflib grantlee herqq
libdbusmenu_qt libXScrnSaver polkit_qt_1 qca2 acl jasper libxslt libdbusmenu_qt libXScrnSaver polkit_qt4 qca2 acl jasper libxslt
shared_desktop_ontologies xz udev libjpeg kerberos openexr shared_desktop_ontologies xz udev libjpeg kerberos openexr
libXtst attr libXtst attr
]; ];

View file

@ -1,28 +1,39 @@
{ stdenv, fetchurl, cmake, automoc4, qt4, pkgconfig, phonon, gstreamer { stdenv, fetchurl, cmake, automoc4, pkgconfig, gst_all_1
, gst_plugins_base }: , phonon, qt4 ? null, qt5 ? null, withQt5 ? false }:
with stdenv.lib;
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
let let
version = "4.7.2"; version = "4.8.0";
pname = "phonon-backend-gstreamer"; pname = "phonon-backend-gstreamer";
qt = if withQt5 then qt5 else qt4;
# Force same Qt version in phonon
phonon_ = phonon.override { inherit qt4 qt5 withQt5; };
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "${pname}-${version}"; name = "${pname}-${version}";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz"; url = "mirror://kde/stable/phonon/${pname}/${version}/${name}.tar.xz";
sha256 = "1cfjk450aajr8hfhnfq7zbmryprxiwr9ha5x585dsh7mja82mdw0"; sha256 = "0zjqf1gpj6h9hj27225vihg5gj0fjgvh4n9nkrbij7kf57bcn6gq";
}; };
buildInputs = [ phonon qt4 gstreamer gst_plugins_base ]; buildInputs = with gst_all_1; [ phonon_ qt gstreamer gst-plugins-base ];
nativeBuildInputs = [ cmake automoc4 pkgconfig ]; nativeBuildInputs = [ cmake automoc4 pkgconfig ];
cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; cmakeFlags =
[ "-DCMAKE_INSTALL_LIBDIR=lib"
] ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
meta = { meta = {
homepage = http://phonon.kde.org/; homepage = http://phonon.kde.org/;
description = "GStreamer backend for Phonon"; description = "GStreamer backend for Phonon";
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
maintainers = with maintainers; [ ttuegel ];
license = licenses.lgpl21Plus;
}; };
} }

View file

@ -1,26 +1,37 @@
{ stdenv, fetchurl, xz, qt4, vlc, automoc4, cmake, pkgconfig, phonon }: { stdenv, fetchurl, xz, vlc, automoc4, cmake, pkgconfig, phonon
, qt4 ? null, qt5 ? null, withQt5 ? false }:
with stdenv.lib;
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
let let
pname = "phonon-backend-vlc"; pname = "phonon-backend-vlc";
v = "0.7.2"; v = "0.8.1";
vlc_ = vlc.override { inherit qt4; }; #Force using the same qt version # Force same Qt version in phonon and VLC
vlc_ = vlc.override { inherit qt4 qt5 withQt5; };
phonon_ = phonon.override { inherit qt4 qt5 withQt5; };
in in
stdenv.mkDerivation { stdenv.mkDerivation {
name = "${pname}-${v}"; name = "${pname}-${v}";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz"; url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz";
sha256 = "1acmbn8pmmq16gcz825dlzaf3haj6avp1bmcxzpkjd1fvxh86y0a"; sha256 = "1fyfh7qyb6rld350v2fgz452ld96d3z5ifchr323q0vc3hb9k222";
}; };
nativeBuildInputs = [ cmake pkgconfig automoc4 xz ]; nativeBuildInputs = [ cmake pkgconfig automoc4 xz ];
buildInputs = [ qt4 vlc_ phonon ]; buildInputs = [ vlc_ phonon_ (if withQt5 then qt5 else qt4)];
cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
meta = { meta = {
homepage = http://phonon.kde.org/;
description = "VideoLAN backend for Phonon multimedia framework"; description = "VideoLAN backend for Phonon multimedia framework";
platforms = stdenv.lib.platforms.linux; platforms = platforms.linux;
maintainers = [ stdenv.lib.maintainers.urkud ]; maintainers = with maintainers; [ ttuegel urkud ];
license = licenses.lgpl21Plus;
}; };
} }

View file

@ -1,25 +1,33 @@
{ stdenv, fetchurl, cmake, automoc4, qt4, pulseaudio }: { stdenv, fetchurl, cmake, automoc4, pulseaudio
, qt4 ? null, qt5 ? null, withQt5 ? false }:
assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
with stdenv.lib;
let let
v = "4.7.2"; v = "4.8.1";
in in
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "phonon-${v}"; name = "phonon-${v}";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/phonon/${v}/${name}.tar.xz"; url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz";
sha256 = "1ghidabmi6vnnmz8q272qi259nb8bbqlbayqk52ln98fs8s9g7l1"; sha256 = "1l97h1jj3gvl1chx1qbipizfvjgqc05wrhdcflc76c2krlk03jmn";
}; };
buildInputs = [ qt4 pulseaudio ]; buildInputs = [ (if withQt5 then qt5 else qt4) pulseaudio ];
nativeBuildInputs = [ cmake automoc4 ]; nativeBuildInputs = [ cmake automoc4 ];
cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON";
meta = { meta = {
homepage = http://phonon.kde.org/; homepage = http://phonon.kde.org/;
description = "Multimedia API for Qt"; description = "Multimedia API for Qt";
license = stdenv.lib.licenses.lgpl2; license = stdenv.lib.licenses.lgpl2;
platforms = stdenv.lib.platforms.linux; platforms = stdenv.lib.platforms.linux;
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
}; };
} }

View file

@ -1,20 +1,22 @@
{ stdenv, fetchurl, cmake, qt4, pkgconfig, polkit, automoc4, glib }: { stdenv, fetchurl, cmake, pkgconfig, polkit, automoc4, glib
, qt4 ? null, qt5 ? null, withQt5 ? false }:
stdenv.mkDerivation rec { assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null);
name = "polkit-qt-1-0.103.0";
stdenv.mkDerivation {
name = "polkit-qt-1-0.112.0";
src = fetchurl { src = fetchurl {
url = "mirror://kde/stable/apps/KDE4.x/admin/${name}.tar.bz2"; url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2";
sha256 = "0k17sb70ywk94dmncnkyig03sg1hcfbhi5wlc77xf3rxirmmccif"; sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7";
}; };
patches = [ ./polkit-install.patch ]; nativeBuildInputs = [ cmake automoc4 pkgconfig ];
nativeBuildInputs = [ cmake automoc4 ]; propagatedBuildInputs = [ polkit glib (if withQt5 then qt5 else qt4) ];
propagatedBuildInputs = [ polkit glib qt4 ];
meta = { meta = {
description = "A Qt wrapper around PolKit"; description = "A Qt wrapper around PolKit";
maintainers = with stdenv.lib.maintainers; [ ttuegel ];
}; };
} }

View file

@ -1,12 +0,0 @@
diff -ru -x '*~' polkit-qt-1-0.99.0-orig/PolkitQt-1Config.cmake.in polkit-qt-1-0.99.0/PolkitQt-1Config.cmake.in
--- polkit-qt-1-0.99.0-orig/PolkitQt-1Config.cmake.in 2010-12-08 18:22:28.000000000 +0100
+++ polkit-qt-1-0.99.0/PolkitQt-1Config.cmake.in 2011-07-12 13:26:51.000000000 +0200
@@ -15,7 +15,7 @@
set(POLKITQT-1_INCLUDE_DIR "@INCLUDE_INSTALL_DIR@/polkit-qt-1")
set(POLKITQT-1_LIB_DIR "@LIB_INSTALL_DIR@")
-set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${POLKITQT-1_INSTALL_DIR}/share/polkit-1/actions")
+set(POLKITQT-1_POLICY_FILES_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions")
# Compatibility
if(WIN32)

View file

@ -17,8 +17,8 @@
with stdenv.lib; with stdenv.lib;
let let
v_maj = "5.2"; v_maj = "5.3";
v_min = "1"; v_min = "2";
ver = "${v_maj}.${v_min}"; ver = "${v_maj}.${v_min}";
in in
@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
src = fetchurl { src = fetchurl {
url = "http://download.qt-project.org/official_releases/qt/" url = "http://download.qt-project.org/official_releases/qt/"
+ "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz"; + "${v_maj}/${ver}/single/qt-everywhere-opensource-src-${ver}.tar.gz";
sha256 = "18bxrnyis7xbhpxpf7w42i54hs4qr062b1wx4c0dpmja3lc29sc4"; sha256 = "0b98n2jl62dyqxwn1gdj9xmk8wrrdxnazr65fdk5qw1hmlpgvly8";
}; };
# The version property must be kept because it will be included into the QtSDK package name # The version property must be kept because it will be included into the QtSDK package name
@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
patches = patches =
[ ./glib-2.32.patch [ ./glib-2.32.patch
(substituteAll { (substituteAll {
src = ./qt-5.2-dlopen-absolute-paths.patch; src = ./qt-5.3-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";
@ -92,7 +92,6 @@ stdenv.mkDerivation rec {
-gui -gui
-widgets -widgets
-opengl desktop -opengl desktop
-javascript-jit
-qml-debug -qml-debug
-nis -nis
-iconv -iconv
@ -160,7 +159,7 @@ stdenv.mkDerivation rec {
homepage = http://qt-project.org; homepage = http://qt-project.org;
description = "A cross-platform application framework for C++"; description = "A cross-platform application framework for C++";
license = "GPL/LGPL"; license = "GPL/LGPL";
maintainers = [ maintainers.bbenoist ]; maintainers = [ maintainers.bbenoist maintainers.qknight ];
platforms = platforms.linux; platforms = platforms.linux;
}; };
} }

View file

@ -1,36 +0,0 @@
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");
}
}
diff -ruN qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp
--- qt-everywhere-opensource-src-5.1.1-orig/qtbase/src/printsupport/kernel/qcups.cpp 2013-08-25 20:03:36.000000000 +0200
+++ qt-everywhere-opensource-src-5.1.1/qtbase/src/printsupport/kernel/qcups.cpp 2013-09-25 17:40:35.895942599 +0200
@@ -91,7 +91,7 @@
static void resolveCups()
{
- QLibrary cupsLib(QLatin1String("cups"), 2);
+ QLibrary cupsLib(QLatin1String("@cups@/lib/libcups"), 2);
if(cupsLib.load()) {
_cupsGetDests = (CupsGetDests) cupsLib.resolve("cupsGetDests");
_cupsFreeDests = (CupsFreeDests) cupsLib.resolve("cupsFreeDests");

View file

@ -1,165 +0,0 @@
{ 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 = "1";
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 = "189mgfqxjg0jp0vkfrj55p9brl018wzf7lir8yjr0pajp8jqd2ds";
};
# 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
substituteInPlace qtbase/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
--replace /usr/share/X11/locale ${libX11}/share/X11/locale \
--replace /usr/lib/X11/locale ${libX11}/share/X11/locale
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;
};
}

View file

@ -1,4 +1,4 @@
{ stdenv, fetchurl, kdelibs, polkit_qt_1, gettext }: { stdenv, fetchurl, kdelibs, polkit_qt4, gettext }:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
name = "polkit-kde-agent-1-0.99.0"; name = "polkit-kde-agent-1-0.99.0";
@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
sha256 = "0rxlq6x0vhvha8i6w109zpzzacp4imins55v4p4fq7a3k0kgywg3"; sha256 = "0rxlq6x0vhvha8i6w109zpzzacp4imins55v4p4fq7a3k0kgywg3";
}; };
buildInputs = [ kdelibs polkit_qt_1 ]; buildInputs = [ kdelibs polkit_qt4 ];
nativeBuildInputs = [ gettext ]; nativeBuildInputs = [ gettext ];

View file

@ -6514,11 +6514,29 @@ let
pdf2xml = callPackage ../development/libraries/pdf2xml {} ; pdf2xml = callPackage ../development/libraries/pdf2xml {} ;
phonon = callPackage ../development/libraries/phonon { }; phonon = callPackage ../development/libraries/phonon { inherit qt4; };
phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { }; phonon_qt5 = phonon.override {
withQt5 = true;
inherit qt5;
qt4 = null;
};
phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { }; phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { inherit qt4; };
phonon_qt5_backend_gstreamer = phonon_backend_gstreamer.override {
withQt5 = true;
inherit qt5;
qt4 = null;
};
phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { inherit qt4; };
phonon_qt5_backend_vlc = phonon_backend_vlc.override {
withQt5 = true;
inherit qt5;
qt4 = null;
};
physfs = callPackage ../development/libraries/physfs { }; physfs = callPackage ../development/libraries/physfs { };
@ -6536,7 +6554,14 @@ let
spidermonkey = spidermonkey_185; spidermonkey = spidermonkey_185;
}; };
polkit_qt_1 = callPackage ../development/libraries/polkit-qt-1 { }; polkit_qt4 = callPackage ../development/libraries/polkit-qt-1 {
inherit qt4;
};
polkit_qt5 = callPackage ../development/libraries/polkit-qt-1 {
inherit qt5;
withQt5 = true;
};
policykit = callPackage ../development/libraries/policykit { }; policykit = callPackage ../development/libraries/policykit { };
@ -6615,21 +6640,6 @@ let
qtLib = qt48Full; qtLib = qt48Full;
}; };
qt53Full = appendToName "full" (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;
@ -10886,6 +10896,8 @@ let
ffmpeg = ffmpeg_2_3; ffmpeg = ffmpeg_2_3;
}; };
libvlc = vlc.override { onlyLibVLC = true; };
vmpk = callPackage ../applications/audio/vmpk { }; vmpk = callPackage ../applications/audio/vmpk { };
vnstat = callPackage ../applications/networking/vnstat { }; vnstat = callPackage ../applications/networking/vnstat { };