From ad38cdac8ab9526d9eb15edcf5cb005103a9fef0 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 18:54:31 -0600 Subject: [PATCH 1/5] qt: upgrade to 5.3.2 This commit also removes the 5.2 branch in favor of 5.3. Several components of KDE5 require Qt 5.3, so it doesn't make much sense to have the rest of the system on an older version. Also, the application styles may not be compatible because Qt breaks ABI compatibility between versions. --- .../misc/cool-old-term/default.nix | 6 +- pkgs/development/libraries/qt-5/default.nix | 11 +- .../qt-5/qt-5.2-dlopen-absolute-paths.patch | 36 ---- pkgs/development/libraries/qt-5/qt-5.3.nix | 165 ------------------ pkgs/top-level/all-packages.nix | 15 -- 5 files changed, 8 insertions(+), 225 deletions(-) delete mode 100644 pkgs/development/libraries/qt-5/qt-5.2-dlopen-absolute-paths.patch delete mode 100644 pkgs/development/libraries/qt-5/qt-5.3.nix diff --git a/pkgs/applications/misc/cool-old-term/default.nix b/pkgs/applications/misc/cool-old-term/default.nix index 76d78f004024..c56393a1be83 100644 --- a/pkgs/applications/misc/cool-old-term/default.nix +++ b/pkgs/applications/misc/cool-old-term/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchFromGitHub, qt53 }: +{ stdenv, fetchFromGitHub, qt5 }: stdenv.mkDerivation rec { version = "0.9"; @@ -11,7 +11,7 @@ stdenv.mkDerivation rec { sha256 = "8462f3eded7b2219acc143258544b0dfac32d81e10cac61ff14276d426704c93"; }; - buildInputs = [ qt53 ]; + buildInputs = [ qt5 ]; buildPhase = '' pushd ./konsole-qml-plugin @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { cat > $out/bin/cool-old-term < Date: Mon, 17 Nov 2014 19:00:17 -0600 Subject: [PATCH 2/5] polkit-qt-1: Qt 5 support polkit-qt-1 is upgraded to the latest version, which supports Qt 5. The attributes are also renamed to differentiate the Qt 4 and Qt 5 branches. The prior naming scheme differentiated between polkit-qt-1 and polkit-qt, but we no longer package the latter. --- pkgs/desktops/kde-4.14/kdebindings/pykde4.nix | 4 ++-- pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix | 4 ++-- .../libraries/polkit-qt-1/default.nix | 20 ++++++++++--------- .../polkit-qt-1/polkit-install.patch | 12 ----------- .../security/polkit-kde-agent/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 9 ++++++++- 6 files changed, 25 insertions(+), 28 deletions(-) delete mode 100644 pkgs/development/libraries/polkit-qt-1/polkit-install.patch diff --git a/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix index 64e196452e31..f86412147d3b 100644 --- a/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix +++ b/pkgs/desktops/kde-4.14/kdebindings/pykde4.nix @@ -1,5 +1,5 @@ { 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 @@ -9,7 +9,7 @@ kde { buildInputs = [ python kdepimlibs shared_desktop_ontologies - boost polkit_qt_1 + boost polkit_qt4 ]; nativeBuildInputs = [ pkgconfig ]; diff --git a/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix b/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix index 4207dfd56544..52e0ebf2062d 100644 --- a/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix +++ b/pkgs/desktops/kde-4.14/kdelibs/kdelibs.nix @@ -2,7 +2,7 @@ , qt4, bzip2, fam, shared_mime_info, giflib, jasper, strigi , openexr, avahi, kerberos, shared_desktop_ontologies, libXScrnSaver , 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 , pkgconfig }: @@ -13,7 +13,7 @@ kde { buildInputs = [ 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 libXtst attr ]; diff --git a/pkgs/development/libraries/polkit-qt-1/default.nix b/pkgs/development/libraries/polkit-qt-1/default.nix index 13bc992d0263..c60ae560fe59 100644 --- a/pkgs/development/libraries/polkit-qt-1/default.nix +++ b/pkgs/development/libraries/polkit-qt-1/default.nix @@ -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 { - name = "polkit-qt-1-0.103.0"; +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); + +stdenv.mkDerivation { + name = "polkit-qt-1-0.112.0"; src = fetchurl { - url = "mirror://kde/stable/apps/KDE4.x/admin/${name}.tar.bz2"; - sha256 = "0k17sb70ywk94dmncnkyig03sg1hcfbhi5wlc77xf3rxirmmccif"; + url = "mirror://kde/stable/apps/KDE4.x/admin/polkit-qt-1-0.112.0.tar.bz2"; + sha256 = "1ip78x20hjqvm08kxhp6gb8hf6k5n6sxyx6kk2yvvq53djzh7yv7"; }; - patches = [ ./polkit-install.patch ]; + nativeBuildInputs = [ cmake automoc4 pkgconfig ]; - nativeBuildInputs = [ cmake automoc4 ]; - - propagatedBuildInputs = [ polkit glib qt4 ]; + propagatedBuildInputs = [ polkit glib (if withQt5 then qt5 else qt4) ]; meta = { description = "A Qt wrapper around PolKit"; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; }; } diff --git a/pkgs/development/libraries/polkit-qt-1/polkit-install.patch b/pkgs/development/libraries/polkit-qt-1/polkit-install.patch deleted file mode 100644 index 79beda2a3184..000000000000 --- a/pkgs/development/libraries/polkit-qt-1/polkit-install.patch +++ /dev/null @@ -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) diff --git a/pkgs/tools/security/polkit-kde-agent/default.nix b/pkgs/tools/security/polkit-kde-agent/default.nix index 7696ee93bce0..b3990b53a87a 100644 --- a/pkgs/tools/security/polkit-kde-agent/default.nix +++ b/pkgs/tools/security/polkit-kde-agent/default.nix @@ -1,4 +1,4 @@ -{ stdenv, fetchurl, kdelibs, polkit_qt_1, gettext }: +{ stdenv, fetchurl, kdelibs, polkit_qt4, gettext }: stdenv.mkDerivation rec { name = "polkit-kde-agent-1-0.99.0"; @@ -8,7 +8,7 @@ stdenv.mkDerivation rec { sha256 = "0rxlq6x0vhvha8i6w109zpzzacp4imins55v4p4fq7a3k0kgywg3"; }; - buildInputs = [ kdelibs polkit_qt_1 ]; + buildInputs = [ kdelibs polkit_qt4 ]; nativeBuildInputs = [ gettext ]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 76c26547dc0d..0ab82cd418e4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6536,7 +6536,14 @@ let 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 { }; From c3240b9315fea4c9744cb72ad7ab7ac0d9235a21 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 19:25:36 -0600 Subject: [PATCH 3/5] phonon: upgrade to 4.8.1 This version adds Qt 5 support. --- pkgs/development/libraries/phonon/default.nix | 20 +++++++++++++------ pkgs/top-level/all-packages.nix | 8 +++++++- 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix index 7fd99ab0244a..df32f04bb6c1 100644 --- a/pkgs/development/libraries/phonon/default.nix +++ b/pkgs/development/libraries/phonon/default.nix @@ -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 - v = "4.7.2"; + v = "4.8.1"; in stdenv.mkDerivation rec { name = "phonon-${v}"; src = fetchurl { - url = "mirror://kde/stable/phonon/${v}/${name}.tar.xz"; - sha256 = "1ghidabmi6vnnmz8q272qi259nb8bbqlbayqk52ln98fs8s9g7l1"; + url = "mirror://kde/stable/phonon/${v}/phonon-${v}.tar.xz"; + sha256 = "1l97h1jj3gvl1chx1qbipizfvjgqc05wrhdcflc76c2krlk03jmn"; }; - buildInputs = [ qt4 pulseaudio ]; + buildInputs = [ (if withQt5 then qt5 else qt4) pulseaudio ]; nativeBuildInputs = [ cmake automoc4 ]; + cmakeFlags = optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; + meta = { homepage = http://phonon.kde.org/; description = "Multimedia API for Qt"; license = stdenv.lib.licenses.lgpl2; platforms = stdenv.lib.platforms.linux; - }; + maintainers = with stdenv.lib.maintainers; [ ttuegel ]; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0ab82cd418e4..3b919b3d8cb4 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6514,7 +6514,13 @@ let pdf2xml = callPackage ../development/libraries/pdf2xml {} ; - phonon = callPackage ../development/libraries/phonon { }; + phonon = callPackage ../development/libraries/phonon { inherit qt4; }; + + phonon_qt5 = phonon.override { + withQt5 = true; + inherit qt5; + qt4 = null; + }; phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { }; From b1123db790131f0c581401967942c55cba01d2e9 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 19:30:46 -0600 Subject: [PATCH 4/5] phonon-backend-gstreamer: add Qt 5 support --- .../phonon-backend-gstreamer/default.nix | 29 +++++++++++++------ pkgs/top-level/all-packages.nix | 8 ++++- 2 files changed, 27 insertions(+), 10 deletions(-) diff --git a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix index 844c2e580093..5067a3bd2c25 100644 --- a/pkgs/development/libraries/phonon-backend-gstreamer/default.nix +++ b/pkgs/development/libraries/phonon-backend-gstreamer/default.nix @@ -1,28 +1,39 @@ -{ stdenv, fetchurl, cmake, automoc4, qt4, pkgconfig, phonon, gstreamer -, gst_plugins_base }: +{ stdenv, fetchurl, cmake, automoc4, pkgconfig, gst_all_1 +, phonon, qt4 ? null, qt5 ? null, withQt5 ? false }: + +with stdenv.lib; + +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); let - version = "4.7.2"; + version = "4.8.0"; 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 stdenv.mkDerivation rec { name = "${pname}-${version}"; src = fetchurl { - url = "mirror://kde/stable/phonon/${pname}/${version}/src/${name}.tar.xz"; - sha256 = "1cfjk450aajr8hfhnfq7zbmryprxiwr9ha5x585dsh7mja82mdw0"; + url = "mirror://kde/stable/phonon/${pname}/${version}/${name}.tar.xz"; + sha256 = "0zjqf1gpj6h9hj27225vihg5gj0fjgvh4n9nkrbij7kf57bcn6gq"; }; - buildInputs = [ phonon qt4 gstreamer gst_plugins_base ]; + buildInputs = with gst_all_1; [ phonon_ qt gstreamer gst-plugins-base ]; nativeBuildInputs = [ cmake automoc4 pkgconfig ]; - cmakeFlags = [ "-DCMAKE_INSTALL_LIBDIR=lib" ]; + cmakeFlags = + [ "-DCMAKE_INSTALL_LIBDIR=lib" + ] ++ optional withQt5 "-DPHONON_BUILD_PHONON4QT5=ON"; meta = { homepage = http://phonon.kde.org/; description = "GStreamer backend for Phonon"; - platforms = stdenv.lib.platforms.linux; - }; + platforms = platforms.linux; + maintainers = with maintainers; [ ttuegel ]; + license = licenses.lgpl21Plus; + }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 3b919b3d8cb4..f3b9331ce980 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6522,7 +6522,13 @@ let qt4 = null; }; - phonon_backend_gstreamer = callPackage ../development/libraries/phonon-backend-gstreamer { }; + 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 { }; From 66ebc65cd3fd91eba18e43e4cc37ddfecbddba95 Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Mon, 17 Nov 2014 19:33:10 -0600 Subject: [PATCH 5/5] phonon-backend-vlc: add Qt 5 support --- pkgs/applications/video/vlc/default.nix | 15 ++++++++--- .../libraries/phonon-backend-vlc/default.nix | 27 +++++++++++++------ pkgs/top-level/all-packages.nix | 10 ++++++- 3 files changed, 39 insertions(+), 13 deletions(-) diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix index 71db3d40a46f..f1d3cf836adb 100644 --- a/pkgs/applications/video/vlc/default.nix +++ b/pkgs/applications/video/vlc/default.nix @@ -1,14 +1,20 @@ { stdenv, fetchurl, xz, bzip2, perl, xlibs, libdvdnav, libbluray , 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 , libcaca, pulseaudio, flac, schroedinger, libxml2, librsvg , mpeg2dec, udev, gnutls, avahi, libcddb, jack2, SDL, SDL_image , libmtp, unzip, taglib, libkate, libtiger, libv4l, samba, liboggz , libass, libva, libdvbpsi, libdc1394, libraw1394, libopus , libvdpau +, onlyLibVLC ? false +, qt4 ? null, qt5 ? null, withQt5 ? false }: +with stdenv.lib; + +assert (withQt5 -> qt5 != null); assert (!withQt5 -> qt4 != null); + stdenv.mkDerivation rec { name = "vlc-${version}"; version = "2.1.5"; @@ -20,13 +26,13 @@ stdenv.mkDerivation rec { buildInputs = [ 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 udev gnutls avahi libcddb jack2 SDL SDL_image libmtp unzip taglib libkate libtiger libv4l samba liboggz libass libdvbpsi libva xlibs.xlibs xlibs.libXv xlibs.libXvMC xlibs.libXpm xlibs.xcbutilkeysyms libdc1394 libraw1394 libopus libebml libmatroska libvdpau - ]; + ] ++ [(if withQt5 then qt5 else qt4)]; nativeBuildInputs = [ pkgconfig ]; @@ -36,7 +42,8 @@ stdenv.mkDerivation rec { "--enable-dc1394" "--enable-ncurses" "--enable-vdpau" - ]; + ] + ++ optional onlyLibVLC "--disable-vlc"; preConfigure = ''sed -e "s@/bin/echo@echo@g" -i configure''; diff --git a/pkgs/development/libraries/phonon-backend-vlc/default.nix b/pkgs/development/libraries/phonon-backend-vlc/default.nix index 8a196463639c..8883f5c11d9e 100644 --- a/pkgs/development/libraries/phonon-backend-vlc/default.nix +++ b/pkgs/development/libraries/phonon-backend-vlc/default.nix @@ -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 pname = "phonon-backend-vlc"; - v = "0.7.2"; - vlc_ = vlc.override { inherit qt4; }; #Force using the same qt version + v = "0.8.1"; + # Force same Qt version in phonon and VLC + vlc_ = vlc.override { inherit qt4 qt5 withQt5; }; + phonon_ = phonon.override { inherit qt4 qt5 withQt5; }; in stdenv.mkDerivation { name = "${pname}-${v}"; src = fetchurl { - url = "mirror://kde/stable/phonon/${pname}/${v}/src/${pname}-${v}.tar.xz"; - sha256 = "1acmbn8pmmq16gcz825dlzaf3haj6avp1bmcxzpkjd1fvxh86y0a"; + url = "mirror://kde/stable/phonon/${pname}/${v}/${pname}-${v}.tar.xz"; + sha256 = "1fyfh7qyb6rld350v2fgz452ld96d3z5ifchr323q0vc3hb9k222"; }; 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 = { + homepage = http://phonon.kde.org/; description = "VideoLAN backend for Phonon multimedia framework"; - platforms = stdenv.lib.platforms.linux; - maintainers = [ stdenv.lib.maintainers.urkud ]; + platforms = platforms.linux; + maintainers = with maintainers; [ ttuegel urkud ]; + license = licenses.lgpl21Plus; }; } diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index f3b9331ce980..340852ff3568 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6530,7 +6530,13 @@ let qt4 = null; }; - phonon_backend_vlc = callPackage ../development/libraries/phonon-backend-vlc { }; + 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 { }; @@ -10890,6 +10896,8 @@ let ffmpeg = ffmpeg_2_3; }; + libvlc = vlc.override { onlyLibVLC = true; }; + vmpk = callPackage ../applications/audio/vmpk { }; vnstat = callPackage ../applications/networking/vnstat { };