From dfaa39db41de3833c66260f1659e914ca77611ed Mon Sep 17 00:00:00 2001
From: Thomas Tuegel <ttuegel@gmail.com>
Date: Mon, 17 Nov 2014 19:00:17 -0600
Subject: [PATCH] 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 { };