summary refs log tree commit diff
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2015-12-16 09:10:39 -0600
committerThomas Tuegel <ttuegel@gmail.com>2015-12-16 09:48:18 -0600
commit42d19d7e713b1be95e25908cebaa00c3c0fe7462 (patch)
treef707dff18bb292920a1524966281f4d32d79e29e
parentaf5015fa8078af7a23a78c510b1500c18ff4d009 (diff)
downloadnixpkgs-42d19d7e713b1be95e25908cebaa00c3c0fe7462.tar
nixpkgs-42d19d7e713b1be95e25908cebaa00c3c0fe7462.tar.gz
nixpkgs-42d19d7e713b1be95e25908cebaa00c3c0fe7462.tar.bz2
nixpkgs-42d19d7e713b1be95e25908cebaa00c3c0fe7462.tar.lz
nixpkgs-42d19d7e713b1be95e25908cebaa00c3c0fe7462.tar.xz
nixpkgs-42d19d7e713b1be95e25908cebaa00c3c0fe7462.tar.zst
nixpkgs-42d19d7e713b1be95e25908cebaa00c3c0fe7462.zip
kdeApps_15_12: don't inherit kdelibs
The beta versions of KDE Applications 15.12 did not include a kdelibs
release, so that package was borrowed from KDE Applications 15.08. The
final release of KDE Applications 15.12.0 does include kdelibs, however.
-rw-r--r--pkgs/applications/kde-apps-15.12/default.nix2
-rw-r--r--pkgs/applications/kde-apps-15.12/kdelibs/0001-old-kde4-cmake-policies.patch56
-rw-r--r--pkgs/applications/kde-apps-15.12/kdelibs/0002-polkit-install-path.patch25
-rw-r--r--pkgs/applications/kde-apps-15.12/kdelibs/0003-remove_xdg_impurities.patch47
-rw-r--r--pkgs/applications/kde-apps-15.12/kdelibs/default.nix43
-rw-r--r--pkgs/applications/kde-apps-15.12/kdelibs/polkit-install.patch12
-rw-r--r--pkgs/applications/kde-apps-15.12/kdelibs/setup-hook.sh10
-rw-r--r--pkgs/applications/kde-apps-15.12/ksnapshot.nix29
8 files changed, 194 insertions, 30 deletions
diff --git a/pkgs/applications/kde-apps-15.12/default.nix b/pkgs/applications/kde-apps-15.12/default.nix
index 807c32ccb7d..a89f88b58fa 100644
--- a/pkgs/applications/kde-apps-15.12/default.nix
+++ b/pkgs/applications/kde-apps-15.12/default.nix
@@ -27,7 +27,7 @@ let
   };
 
   packages = self: with self; {
-    inherit (pkgs.kdeApps_15_08) kdelibs ksnapshot;
+    kdelibs = callPackage ./kdelibs { inherit (pkgs) attica phonon; };
 
     ark = callPackage ./ark.nix {};
     baloo-widgets = callPackage ./baloo-widgets.nix {};
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/0001-old-kde4-cmake-policies.patch b/pkgs/applications/kde-apps-15.12/kdelibs/0001-old-kde4-cmake-policies.patch
new file mode 100644
index 00000000000..b7d7300e9a8
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kdelibs/0001-old-kde4-cmake-policies.patch
@@ -0,0 +1,56 @@
+From b43c49109694940f0a26240753e879eb629dd02d Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 7 Sep 2015 13:54:57 -0500
+Subject: [PATCH 1/2] old kde4 cmake policies
+
+---
+ cmake/modules/FindKDE4Internal.cmake | 33 +++++++++++++++++++++++++++++++++
+ 1 file changed, 33 insertions(+)
+
+diff --git a/cmake/modules/FindKDE4Internal.cmake b/cmake/modules/FindKDE4Internal.cmake
+index 7d54b9b..c435571 100644
+--- a/cmake/modules/FindKDE4Internal.cmake
++++ b/cmake/modules/FindKDE4Internal.cmake
+@@ -345,6 +345,39 @@
+ # Redistribution and use is allowed according to the terms of the BSD license.
+ # For details see the accompanying COPYING-CMAKE-SCRIPTS file.
+ 
++# this is required now by cmake 2.6 and so must not be skipped by if(KDE4_FOUND) below
++cmake_minimum_required(VERSION 2.8.9 FATAL_ERROR)
++# set the cmake policies to the 2.4.x compatibility settings (may change for KDE 4.3)
++cmake_policy(VERSION 2.4.5)
++
++# CMake 2.6, set compatibility behaviour to cmake 2.4
++# this must be executed always, because the CMAKE_MINIMUM_REQUIRED() command above
++# resets the policy settings, so we get a lot of warnings
++
++# CMP0000: don't require cmake_minimum_version() directly in the top level CMakeLists.txt, FindKDE4Internal.cmake is good enough
++cmake_policy(SET CMP0000 OLD)
++# CMP0002: in KDE4 we have multiple targets with the same name for the unit tests
++cmake_policy(SET CMP0002 OLD)
++# CMP0003: add the link paths to the link command as with cmake 2.4
++cmake_policy(SET CMP0003 OLD)
++# CMP0005: keep escaping behaviour for definitions added via add_definitions()
++cmake_policy(SET CMP0005 OLD)
++# since cmake 2.6.3: NEW behaviour is that setting policies doesn't "escape" the file
++# where this is done, macros and functions are executed with the policies as they
++# were when the were defined. Keep the OLD behaviour so we can set the policies here
++# for all KDE software without the big warning
++cmake_policy(SET CMP0011 OLD)
++
++# since cmake 2.8.4: when include()ing from inside cmake's module dir, prefer the files
++# in this directory over those from CMAKE_MODULE_PATH
++cmake_policy(SET CMP0017 NEW)
++
++# since cmake 3.0: use of the LOCATION target property is disallowed while it is used in KDE4Macros.cmake
++if (POLICY CMP0026)
++  cmake_policy(SET CMP0026 OLD)
++endif (POLICY CMP0026)
++
++
+ # Only do something if it hasn't been found yet
+ if(NOT KDE4_FOUND)
+ 
+-- 
+2.5.0
+
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/0002-polkit-install-path.patch b/pkgs/applications/kde-apps-15.12/kdelibs/0002-polkit-install-path.patch
new file mode 100644
index 00000000000..ff0306ea148
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kdelibs/0002-polkit-install-path.patch
@@ -0,0 +1,25 @@
+From fab35bac146a817f3af80f45531355fd70cd226b Mon Sep 17 00:00:00 2001
+From: Thomas Tuegel <ttuegel@gmail.com>
+Date: Mon, 7 Sep 2015 13:56:03 -0500
+Subject: [PATCH 2/2] polkit install path
+
+---
+ kdecore/auth/ConfigureChecks.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kdecore/auth/ConfigureChecks.cmake b/kdecore/auth/ConfigureChecks.cmake
+index 7cf9cb5..c8334ae 100644
+--- a/kdecore/auth/ConfigureChecks.cmake
++++ b/kdecore/auth/ConfigureChecks.cmake
+@@ -150,7 +150,7 @@ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "POLKITQT-1")
+         ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
+         ${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
+ 
+-    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING 
++    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING 
+         "Where policy files generated by KAuth will be installed" FORCE)
+ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
+     set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
+-- 
+2.5.0
+
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/0003-remove_xdg_impurities.patch b/pkgs/applications/kde-apps-15.12/kdelibs/0003-remove_xdg_impurities.patch
new file mode 100644
index 00000000000..a79d7b2b7d1
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kdelibs/0003-remove_xdg_impurities.patch
@@ -0,0 +1,47 @@
+diff --git a/kdecore/kernel/kstandarddirs.cpp b/kdecore/kernel/kstandarddirs.cpp
+index ab8f76d..2ae5089 100644
+--- a/kdecore/kernel/kstandarddirs.cpp
++++ b/kdecore/kernel/kstandarddirs.cpp
+@@ -1768,12 +1768,6 @@ void KStandardDirs::addKDEDefaults()
+     else
+     {
+         xdgdirList.clear();
+-        xdgdirList.append(QString::fromLatin1("/etc/xdg"));
+-#ifdef Q_WS_WIN
+-        xdgdirList.append(installPath("kdedir") + QString::fromLatin1("etc/xdg"));
+-#else
+-        xdgdirList.append(QFile::decodeName(KDESYSCONFDIR "/xdg"));
+-#endif
+     }
+ 
+     QString localXdgDir = readEnvPath("XDG_CONFIG_HOME");
+@@ -1821,10 +1815,6 @@ void KStandardDirs::addKDEDefaults()
+         }
+     } else {
+         xdgdirList = kdedirDataDirs;
+-#ifndef Q_WS_WIN
+-        xdgdirList.append(QString::fromLatin1("/usr/local/share/"));
+-        xdgdirList.append(QString::fromLatin1("/usr/share/"));
+-#endif
+     }
+ 
+     localXdgDir = readEnvPath("XDG_DATA_HOME");
+diff --git a/solid/solid/xdgbasedirs.cpp b/solid/solid/xdgbasedirs.cpp
+index 4c9cad9..6849d45 100644
+--- a/solid/solid/xdgbasedirs.cpp
++++ b/solid/solid/xdgbasedirs.cpp
+@@ -70,12 +70,12 @@ QStringList Solid::XdgBaseDirs::systemPathList( const char *resource )
+ {
+   if ( qstrncmp( "data", resource, 4 ) == 0 ) {
+     if ( instance()->mDataDirs.isEmpty() ) {
+-      instance()->mDataDirs = instance()->systemPathList( "XDG_DATA_DIRS", "/usr/local/share:/usr/share" );
++      instance()->mDataDirs = instance()->systemPathList( "XDG_DATA_DIRS", "" );
+     }
+     return instance()->mDataDirs;
+   } else if ( qstrncmp( "config", resource, 6 ) == 0 ) {
+     if ( instance()->mConfigDirs.isEmpty() ) {
+-      instance()->mConfigDirs = instance()->systemPathList( "XDG_CONFIG_DIRS", "/etc/xdg" );
++      instance()->mConfigDirs = instance()->systemPathList( "XDG_CONFIG_DIRS", "" );
+     }
+     return instance()->mConfigDirs;
+   }
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/default.nix b/pkgs/applications/kde-apps-15.12/kdelibs/default.nix
new file mode 100644
index 00000000000..a30b19774f2
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kdelibs/default.nix
@@ -0,0 +1,43 @@
+{ kdeApp, attica, attr, automoc4, avahi, bison, cmake
+, docbook_xml_dtd_42, docbook_xsl, flex, giflib, ilmbase
+, libdbusmenu_qt, libjpeg, libxml2, libxslt, perl, phonon, pkgconfig
+, polkit_qt4, qca2, qt4, shared_desktop_ontologies, shared_mime_info
+, soprano, strigi, udev, xz
+, lib
+}:
+
+kdeApp {
+  name = "kdelibs";
+
+  buildInputs = [
+    attica attr avahi giflib libdbusmenu_qt libjpeg libxml2
+    polkit_qt4 qca2 shared_desktop_ontologies udev xz
+  ];
+  propagatedBuildInputs = [ qt4 soprano phonon strigi ];
+  nativeBuildInputs = [
+    automoc4 bison cmake flex libxslt perl pkgconfig shared_mime_info
+  ];
+
+  patches = [
+    ./0001-old-kde4-cmake-policies.patch
+    ./0002-polkit-install-path.patch
+    ./0003-remove_xdg_impurities.patch
+  ];
+
+  # cmake does not detect path to `ilmbase`
+  NIX_CFLAGS_COMPILE = "-I${ilmbase}/include/OpenEXR";
+
+  cmakeFlags = [
+    "-DDOCBOOKXML_CURRENTDTD_DIR=${docbook_xml_dtd_42}/xml/dtd/docbook"
+    "-DDOCBOOKXSL_DIR=${docbook_xsl}/xml/xsl/docbook"
+    "-DWITH_SOLID_UDISKS2=ON"
+    "-DKDE_DEFAULT_HOME=.kde"
+  ];
+
+  setupHook = ./setup-hook.sh;
+
+  meta = {
+    licenses = with lib.licenses; [ gpl2 fdl12 lgpl21 ];
+    maintainers = [ lib.maintainers.ttuegel ];
+  };
+}
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/polkit-install.patch b/pkgs/applications/kde-apps-15.12/kdelibs/polkit-install.patch
new file mode 100644
index 00000000000..d2ecac663ec
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kdelibs/polkit-install.patch
@@ -0,0 +1,12 @@
+diff -ru -x '*~' kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake
+--- kdelibs-4.6.90-orig/kdecore/auth/ConfigureChecks.cmake	2011-05-20 22:24:54.000000000 +0200
++++ kdelibs-4.6.90/kdecore/auth/ConfigureChecks.cmake	2011-07-12 14:03:00.000000000 +0200
+@@ -139,7 +139,7 @@
+         ${CMAKE_INSTALL_PREFIX} _KDE4_AUTH_POLICY_FILES_INSTALL_DIR
+         ${POLKITQT-1_POLICY_FILES_INSTALL_DIR})
+ 
+-    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR ${_KDE4_AUTH_POLICY_FILES_INSTALL_DIR} CACHE STRING 
++    set(KDE4_AUTH_POLICY_FILES_INSTALL_DIR "\${CMAKE_INSTALL_PREFIX}/share/polkit-1/actions" CACHE STRING 
+         "Where policy files generated by KAuth will be installed" FORCE)
+ elseif(KDE4_AUTH_BACKEND_NAME STREQUAL "FAKE")
+     set (KAUTH_COMPILING_FAKE_BACKEND TRUE)
diff --git a/pkgs/applications/kde-apps-15.12/kdelibs/setup-hook.sh b/pkgs/applications/kde-apps-15.12/kdelibs/setup-hook.sh
new file mode 100644
index 00000000000..e0a75dc8acd
--- /dev/null
+++ b/pkgs/applications/kde-apps-15.12/kdelibs/setup-hook.sh
@@ -0,0 +1,10 @@
+addQt4Plugins() {
+  if [[ -d "$1/lib/qt4/plugins" ]]; then
+      propagatedUserEnvPkgs+=" $1"
+  fi
+
+  if [[ -d "$1/lib/kde4/plugins" ]]; then
+      propagatedUserEnvPkgs+=" $1"
+  fi
+}
+envHooks+=(addQt4Plugins)
diff --git a/pkgs/applications/kde-apps-15.12/ksnapshot.nix b/pkgs/applications/kde-apps-15.12/ksnapshot.nix
deleted file mode 100644
index b757f4f0403..00000000000
--- a/pkgs/applications/kde-apps-15.12/ksnapshot.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ kdeApp
-, lib
-, automoc4
-, cmake
-, perl
-, pkgconfig
-, kdelibs
-, libkipi
-, libXfixes
-}:
-
-kdeApp {
-  name = "ksnapshot";
-  nativeBuildInputs = [
-    automoc4
-    cmake
-    perl
-    pkgconfig
-  ];
-  buildInputs = [
-    kdelibs
-    libkipi
-    libXfixes
-  ];
-  meta = {
-    license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
-    maintainers = [ lib.maintainers.ttuegel ];
-  };
-}