summary refs log tree commit diff
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@mailbox.org>2017-02-26 06:49:15 -0600
committerThomas Tuegel <ttuegel@mailbox.org>2017-02-27 11:49:46 -0600
commit127bf18a350afa562cad3f8cb3b2f626edd23de0 (patch)
tree3edc31bedef41e96f6a7f5062fb26e3950671a59
parentb39e491eb521d93ae983bc63b10efad3d147a9cd (diff)
downloadnixpkgs-127bf18a350afa562cad3f8cb3b2f626edd23de0.tar
nixpkgs-127bf18a350afa562cad3f8cb3b2f626edd23de0.tar.gz
nixpkgs-127bf18a350afa562cad3f8cb3b2f626edd23de0.tar.bz2
nixpkgs-127bf18a350afa562cad3f8cb3b2f626edd23de0.tar.lz
nixpkgs-127bf18a350afa562cad3f8cb3b2f626edd23de0.tar.xz
nixpkgs-127bf18a350afa562cad3f8cb3b2f626edd23de0.tar.zst
nixpkgs-127bf18a350afa562cad3f8cb3b2f626edd23de0.zip
extra-cmake-modules: Lift Qt dependency
-rw-r--r--nixos/modules/services/x11/desktop-managers/plasma5.nix12
-rw-r--r--pkgs/applications/editors/kile/default.nix4
-rw-r--r--pkgs/applications/graphics/digikam/default.nix4
-rw-r--r--pkgs/applications/graphics/kipi-plugins/default.nix4
-rw-r--r--pkgs/applications/kde/akonadi-contacts.nix4
-rw-r--r--pkgs/applications/kde/akonadi-mime.nix4
-rw-r--r--pkgs/applications/kde/akonadi.nix4
-rw-r--r--pkgs/applications/kde/ark/default.nix4
-rw-r--r--pkgs/applications/kde/baloo-widgets.nix4
-rw-r--r--pkgs/applications/kde/dolphin-plugins.nix4
-rw-r--r--pkgs/applications/kde/dolphin.nix4
-rw-r--r--pkgs/applications/kde/ffmpegthumbs.nix4
-rw-r--r--pkgs/applications/kde/filelight.nix4
-rw-r--r--pkgs/applications/kde/gwenview.nix4
-rw-r--r--pkgs/applications/kde/kate.nix4
-rw-r--r--pkgs/applications/kde/kcalc.nix4
-rw-r--r--pkgs/applications/kde/kcolorchooser.nix4
-rw-r--r--pkgs/applications/kde/kcontacts.nix4
-rw-r--r--pkgs/applications/kde/kde-locale-5.nix4
-rw-r--r--pkgs/applications/kde/kdegraphics-mobipocket.nix4
-rw-r--r--pkgs/applications/kde/kdegraphics-thumbnailers.nix4
-rw-r--r--pkgs/applications/kde/kdenetwork-filesharing.nix4
-rw-r--r--pkgs/applications/kde/kdf.nix4
-rw-r--r--pkgs/applications/kde/kgpg.nix4
-rw-r--r--pkgs/applications/kde/khelpcenter.nix4
-rw-r--r--pkgs/applications/kde/kig.nix4
-rw-r--r--pkgs/applications/kde/kio-extras.nix4
-rw-r--r--pkgs/applications/kde/kmime.nix4
-rw-r--r--pkgs/applications/kde/kmix.nix4
-rw-r--r--pkgs/applications/kde/kompare.nix4
-rw-r--r--pkgs/applications/kde/konsole.nix4
-rw-r--r--pkgs/applications/kde/kwalletmanager.nix4
-rw-r--r--pkgs/applications/kde/libkdcraw.nix5
-rw-r--r--pkgs/applications/kde/libkexiv2.nix5
-rw-r--r--pkgs/applications/kde/libkipi.nix4
-rw-r--r--pkgs/applications/kde/libkomparediff2.nix4
-rw-r--r--pkgs/applications/kde/marble.nix4
-rw-r--r--pkgs/applications/kde/okteta.nix4
-rw-r--r--pkgs/applications/kde/okular.nix4
-rw-r--r--pkgs/applications/kde/print-manager.nix4
-rw-r--r--pkgs/applications/kde/spectacle.nix4
-rw-r--r--pkgs/applications/misc/krename/default.nix4
-rw-r--r--pkgs/applications/misc/yakuake/default.nix4
-rw-r--r--pkgs/applications/networking/irc/konversation/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/ktorrent/default.nix4
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/office/skrooge/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/bluedevil.nix4
-rw-r--r--pkgs/desktops/plasma-5/breeze-gtk.nix6
-rw-r--r--pkgs/desktops/plasma-5/breeze-plymouth/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/breeze-qt5.nix4
-rw-r--r--pkgs/desktops/plasma-5/kactivitymanagerd.nix4
-rw-r--r--pkgs/desktops/plasma-5/kde-cli-tools.nix4
-rw-r--r--pkgs/desktops/plasma-5/kde-gtk-config/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/kdecoration.nix5
-rw-r--r--pkgs/desktops/plasma-5/kdeplasma-addons.nix4
-rw-r--r--pkgs/desktops/plasma-5/kgamma5.nix4
-rw-r--r--pkgs/desktops/plasma-5/khotkeys.nix4
-rw-r--r--pkgs/desktops/plasma-5/kinfocenter.nix4
-rw-r--r--pkgs/desktops/plasma-5/kmenuedit.nix4
-rw-r--r--pkgs/desktops/plasma-5/kscreen.nix4
-rw-r--r--pkgs/desktops/plasma-5/kscreenlocker.nix4
-rw-r--r--pkgs/desktops/plasma-5/ksshaskpass.nix4
-rw-r--r--pkgs/desktops/plasma-5/ksysguard.nix4
-rw-r--r--pkgs/desktops/plasma-5/kwallet-pam.nix4
-rw-r--r--pkgs/desktops/plasma-5/kwayland-integration.nix4
-rw-r--r--pkgs/desktops/plasma-5/kwin/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/kwrited.nix4
-rw-r--r--pkgs/desktops/plasma-5/libkscreen.nix4
-rw-r--r--pkgs/desktops/plasma-5/libksysguard/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/milou.nix4
-rw-r--r--pkgs/desktops/plasma-5/oxygen.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-desktop/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-integration.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-nm/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-pa.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix4
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/polkit-kde-agent.nix4
-rw-r--r--pkgs/desktops/plasma-5/powerdevil.nix4
-rw-r--r--pkgs/desktops/plasma-5/systemsettings.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/attica.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/baloo.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/bluez-qt.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/breeze-icons.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/default.nix164
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix22
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/no-hooks.nix18
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh4
-rw-r--r--pkgs/development/libraries/kde-frameworks/frameworkintegration.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kactivities-stats.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kactivities.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kapidox.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/karchive.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kauth/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kbookmarks.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcmutils/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcodecs.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcompletion.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kconfig.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcoreaddons.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kcrash.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdbusaddons.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdeclarative.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kded.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdesu.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdnssd.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/kdoctools/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kemoticons.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kglobalaccel.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kguiaddons.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/khtml.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/ki18n.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kidletime.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kimageformats.nix8
-rw-r--r--pkgs/development/libraries/kde-frameworks/kinit/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kio/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kitemmodels.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kitemviews.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjobwidgets.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjs.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kjsembed.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kmediaplayer.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/knewstuff.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/knotifications.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks/knotifyconfig.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpackage/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kparts.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpeople.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kplotting.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kpty.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kross.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/krunner.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kservice/default.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktexteditor.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktextwidgets.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kunitconversion.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwallet.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwayland.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/kwindowsystem.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks/kxmlgui.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix7
-rw-r--r--pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/plasma-framework.nix4
-rw-r--r--pkgs/development/libraries/kde-frameworks/solid.nix6
-rw-r--r--pkgs/development/libraries/kde-frameworks/sonnet.nix8
-rw-r--r--pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/threadweaver.nix5
-rw-r--r--pkgs/development/libraries/kirigami/default.nix4
-rw-r--r--pkgs/development/libraries/kirigami/v2.nix4
-rw-r--r--pkgs/development/libraries/libktorrent/default.nix4
-rw-r--r--pkgs/development/libraries/phonon/default.nix6
-rw-r--r--pkgs/development/tools/profiling/heaptrack/default.nix4
-rw-r--r--pkgs/development/tools/tora/default.nix4
-rw-r--r--pkgs/tools/misc/colord-kde/default.nix4
-rw-r--r--pkgs/tools/misc/kdecoration-viewer/default.nix4
-rw-r--r--pkgs/tools/misc/kronometer/default.nix4
-rw-r--r--pkgs/tools/misc/peruse/default.nix4
-rw-r--r--pkgs/tools/text/kdiff3/default.nix4
-rw-r--r--pkgs/top-level/all-packages.nix32
168 files changed, 493 insertions, 455 deletions
diff --git a/nixos/modules/services/x11/desktop-managers/plasma5.nix b/nixos/modules/services/x11/desktop-managers/plasma5.nix
index 4dbd8d7a2c0..24225308ffb 100644
--- a/nixos/modules/services/x11/desktop-managers/plasma5.nix
+++ b/nixos/modules/services/x11/desktop-managers/plasma5.nix
@@ -65,10 +65,10 @@ in
 
       security.wrappers = {
         kcheckpass.source = "${plasma5.plasma-workspace.out}/lib/libexec/kcheckpass";
-        "start_kdeinit".source = "${libsForQt5.kinit.out}/lib/libexec/kf5/start_kdeinit";
+        "start_kdeinit".source = "${pkgs.kinit.out}/lib/libexec/kf5/start_kdeinit";
       };
 
-      environment.systemPackages = with qt5; with libsForQt5; with plasma5; with kdeApplications;
+      environment.systemPackages = with pkgs; with qt5; with libsForQt5; with plasma5; with kdeApplications;
         [
           frameworkintegration
           kactivities
@@ -213,10 +213,10 @@ in
 
       services.xserver.displayManager.sddm = {
         theme = "breeze";
-        themes = with libsForQt5; with plasma5; [
-          ecm # for the setup-hook
-          plasma-workspace
-          breeze-icons
+        themes = [
+          pkgs.extra-cmake-modules # for the setup-hook
+          plasma5.plasma-workspace
+          pkgs.breeze-icons
         ];
       };
 
diff --git a/pkgs/applications/editors/kile/default.nix b/pkgs/applications/editors/kile/default.nix
index ad3300b9221..a5914c92e8f 100644
--- a/pkgs/applications/editors/kile/default.nix
+++ b/pkgs/applications/editors/kile/default.nix
@@ -1,7 +1,7 @@
 { kdeDerivation
 , lib
 , fetchgit
-, ecm
+, extra-cmake-modules
 , kdoctools
 , kdeWrapper
 , qtscript
@@ -33,7 +33,7 @@ let
 
       };
 
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 
       buildInputs = [
         kconfig
diff --git a/pkgs/applications/graphics/digikam/default.nix b/pkgs/applications/graphics/digikam/default.nix
index a9d7d357ad7..00c0da7a78e 100644
--- a/pkgs/applications/graphics/digikam/default.nix
+++ b/pkgs/applications/graphics/digikam/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, ecm, makeQtWrapper
+{ stdenv, fetchurl, cmake, extra-cmake-modules, makeQtWrapper
 
 # For `digitaglinktree`
 , perl, sqlite
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     sha256 = "0dgsgji14l5zvxny36hrfsp889fsfrsbbn9bg57m18404xp903kg";
   };
 
-  nativeBuildInputs = [ cmake ecm makeQtWrapper ];
+  nativeBuildInputs = [ cmake extra-cmake-modules makeQtWrapper ];
 
   patches = [ ./0001-Disable-fno-operator-names.patch ];
 
diff --git a/pkgs/applications/graphics/kipi-plugins/default.nix b/pkgs/applications/graphics/kipi-plugins/default.nix
index 2f6cc8e4ece..d27fdb8b53b 100644
--- a/pkgs/applications/graphics/kipi-plugins/default.nix
+++ b/pkgs/applications/graphics/kipi-plugins/default.nix
@@ -1,6 +1,6 @@
 {
   stdenv, fetchurl,
-  ecm,
+  extra-cmake-modules,
   karchive, kconfig, ki18n, kiconthemes, kio, kservice, kwindowsystem, kxmlgui,
   libkipi, qtbase, qtsvg, qtxmlpatterns
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     cd extra/kipi-plugins
   '';
 
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     karchive kconfig ki18n kiconthemes kio kservice kwindowsystem kxmlgui libkipi
     qtbase qtsvg qtxmlpatterns
diff --git a/pkgs/applications/kde/akonadi-contacts.nix b/pkgs/applications/kde/akonadi-contacts.nix
index 7acfa3a230b..830c9e6899e 100644
--- a/pkgs/applications/kde/akonadi-contacts.nix
+++ b/pkgs/applications/kde/akonadi-contacts.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm,
+  extra-cmake-modules,
   akonadi-mime, grantlee, kcontacts, kio, kitemmodels, kmime, qtwebengine,
   akonadi
 }:
@@ -11,7 +11,7 @@ kdeApp {
     license = with lib.licenses; [ gpl2 lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     akonadi-mime grantlee kcontacts kio kitemmodels kmime qtwebengine
   ];
diff --git a/pkgs/applications/kde/akonadi-mime.nix b/pkgs/applications/kde/akonadi-mime.nix
index 26e1559c779..ba4b4b50242 100644
--- a/pkgs/applications/kde/akonadi-mime.nix
+++ b/pkgs/applications/kde/akonadi-mime.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm,
+  extra-cmake-modules,
   akonadi, kdbusaddons, kio, kitemmodels, kmime
 }:
 
@@ -10,6 +10,6 @@ kdeApp {
     license = with lib.licenses; [ gpl2 lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ akonadi kdbusaddons kio kitemmodels kmime ];
 }
diff --git a/pkgs/applications/kde/akonadi.nix b/pkgs/applications/kde/akonadi.nix
index 03483e5ec0d..284ed60a9cb 100644
--- a/pkgs/applications/kde/akonadi.nix
+++ b/pkgs/applications/kde/akonadi.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm,
+  extra-cmake-modules,
   kcompletion, kconfigwidgets, kdbusaddons, kdesignerplugin, kiconthemes,
   kio,
   boost, kitemmodels
@@ -12,7 +12,7 @@ kdeApp {
     license = [ lib.licenses.lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [
     kcompletion kconfigwidgets kdbusaddons kdesignerplugin kiconthemes kio
   ];
diff --git a/pkgs/applications/kde/ark/default.nix b/pkgs/applications/kde/ark/default.nix
index 6b471614f5a..f3adf1828de 100644
--- a/pkgs/applications/kde/ark/default.nix
+++ b/pkgs/applications/kde/ark/default.nix
@@ -1,7 +1,7 @@
 {
   kdeApp, lib, kdeWrapper,
 
-  ecm, kdoctools, makeWrapper,
+  extra-cmake-modules, kdoctools, makeWrapper,
 
   karchive, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, khtml, kio,
   kservice, kpty, kwidgetsaddons, libarchive,
@@ -15,7 +15,7 @@ let
     kdeApp {
       name = "ark";
       nativeBuildInputs = [
-        ecm kdoctools makeWrapper
+        extra-cmake-modules kdoctools makeWrapper
       ];
       propagatedBuildInputs = [
         khtml ki18n kio karchive kconfig kcrash kdbusaddons kiconthemes kservice
diff --git a/pkgs/applications/kde/baloo-widgets.nix b/pkgs/applications/kde/baloo-widgets.nix
index f6f3a7ce14e..bb680305709 100644
--- a/pkgs/applications/kde/baloo-widgets.nix
+++ b/pkgs/applications/kde/baloo-widgets.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   baloo, kconfig, kdelibs4support, kfilemetadata, ki18n, kio, kservice
 }:
 
@@ -10,7 +10,7 @@ kdeApp {
     license = [ lib.licenses.lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     baloo kconfig kdelibs4support kfilemetadata ki18n kio kservice
   ];
diff --git a/pkgs/applications/kde/dolphin-plugins.nix b/pkgs/applications/kde/dolphin-plugins.nix
index e9932adc5dc..7f436c7a55a 100644
--- a/pkgs/applications/kde/dolphin-plugins.nix
+++ b/pkgs/applications/kde/dolphin-plugins.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   dolphin, kdelibs4support, ki18n, kio, kxmlgui
 }:
 
@@ -10,7 +10,7 @@ kdeApp {
     license = [ lib.licenses.gpl2 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     dolphin.unwrapped kdelibs4support ki18n kio kxmlgui
   ];
diff --git a/pkgs/applications/kde/dolphin.nix b/pkgs/applications/kde/dolphin.nix
index 9be40e9439b..6515c230c28 100644
--- a/pkgs/applications/kde/dolphin.nix
+++ b/pkgs/applications/kde/dolphin.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools, makeQtWrapper,
+  extra-cmake-modules, kdoctools, makeQtWrapper,
   baloo, baloo-widgets, dolphin-plugins, kactivities, kbookmarks, kcmutils,
   kcompletion, kconfig, kcoreaddons, kdelibs4support, kdbusaddons,
   kfilemetadata, ki18n, kiconthemes, kinit, kio, knewstuff, knotifications,
@@ -15,7 +15,7 @@ let
         license = with lib.licenses; [ gpl2 fdl12 ];
         maintainers = [ lib.maintainers.ttuegel ];
       };
-      nativeBuildInputs = [ ecm kdoctools makeQtWrapper ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
       propagatedBuildInputs = [
         baloo baloo-widgets kactivities kbookmarks kcmutils kcompletion kconfig
         kcoreaddons kdelibs4support kdbusaddons kfilemetadata ki18n kiconthemes
diff --git a/pkgs/applications/kde/ffmpegthumbs.nix b/pkgs/applications/kde/ffmpegthumbs.nix
index c063b1e6035..5dde6d8a64e 100644
--- a/pkgs/applications/kde/ffmpegthumbs.nix
+++ b/pkgs/applications/kde/ffmpegthumbs.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm,
+  extra-cmake-modules,
   ffmpeg, kio
 }:
 
@@ -10,6 +10,6 @@ kdeApp {
     license = with lib.licenses; [ gpl2 bsd3 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ ffmpeg kio ];
 }
diff --git a/pkgs/applications/kde/filelight.nix b/pkgs/applications/kde/filelight.nix
index e3d9172145c..71ab51320ab 100644
--- a/pkgs/applications/kde/filelight.nix
+++ b/pkgs/applications/kde/filelight.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kio, kparts, kxmlgui, qtscript, solid
 }:
 
@@ -12,7 +12,7 @@ let
         license = with lib.licenses; [ gpl2 ];
         maintainers = with lib.maintainers; [ fridh vcunat ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         kio kparts kxmlgui qtscript solid
       ];
diff --git a/pkgs/applications/kde/gwenview.nix b/pkgs/applications/kde/gwenview.nix
index 37a1605fe70..0fa06ed0fbe 100644
--- a/pkgs/applications/kde/gwenview.nix
+++ b/pkgs/applications/kde/gwenview.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   baloo, exiv2, kactivities, kdelibs4support, kio, kipi-plugins, lcms2,
   libkdcraw, libkipi, phonon, qtimageformats, qtsvg, qtx11extras
 }:
@@ -13,7 +13,7 @@ let
         license = with lib.licenses; [ gpl2 fdl12 ];
         maintainers = [ lib.maintainers.ttuegel ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         baloo kactivities kdelibs4support kio exiv2 lcms2 libkdcraw
         libkipi phonon qtimageformats qtsvg qtx11extras
diff --git a/pkgs/applications/kde/kate.nix b/pkgs/applications/kde/kate.nix
index 03cc0e1fe33..cd320afd8d3 100644
--- a/pkgs/applications/kde/kate.nix
+++ b/pkgs/applications/kde/kate.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kactivities, kconfig, kcrash, kdbusaddons, kguiaddons, kiconthemes, ki18n,
   kinit, kio, kitemmodels, kjobwidgets, knewstuff, knotifications, konsole,
   kparts, ktexteditor, kwindowsystem, kwallet, kxmlgui, libgit2,
@@ -15,7 +15,7 @@ let
         license = with lib.licenses; [ gpl3 lgpl3 lgpl2 ];
         maintainers = [ lib.maintainers.ttuegel ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         kactivities ki18n kio ktexteditor kwindowsystem plasma-framework
         qtscript kconfig kcrash kguiaddons kiconthemes kinit kjobwidgets kparts
diff --git a/pkgs/applications/kde/kcalc.nix b/pkgs/applications/kde/kcalc.nix
index 10164692f77..8ec7591460e 100644
--- a/pkgs/applications/kde/kcalc.nix
+++ b/pkgs/applications/kde/kcalc.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kconfig, kconfigwidgets, kguiaddons, kinit, knotifications, gmp
 }:
 
@@ -12,7 +12,7 @@ let
         license = with lib.licenses; [ gpl2 ];
         maintainers = [ lib.maintainers.fridh ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         gmp kconfig kconfigwidgets kguiaddons kinit knotifications
       ];
diff --git a/pkgs/applications/kde/kcolorchooser.nix b/pkgs/applications/kde/kcolorchooser.nix
index 1dc6ccbc44c..c1266009b68 100644
--- a/pkgs/applications/kde/kcolorchooser.nix
+++ b/pkgs/applications/kde/kcolorchooser.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, ki18n, kwidgetsaddons, kxmlgui
+  extra-cmake-modules, ki18n, kwidgetsaddons, kxmlgui
 }:
 
 let
@@ -11,7 +11,7 @@ let
         license = with lib.licenses; [ mit ];
         maintainers = [ lib.maintainers.ttuegel ];
       };
-      nativeBuildInputs = [ ecm ];
+      nativeBuildInputs = [ extra-cmake-modules ];
       propagatedBuildInputs = [ ki18n kwidgetsaddons kxmlgui ];
     };
 in
diff --git a/pkgs/applications/kde/kcontacts.nix b/pkgs/applications/kde/kcontacts.nix
index 441d73d363d..5143df60ef4 100644
--- a/pkgs/applications/kde/kcontacts.nix
+++ b/pkgs/applications/kde/kcontacts.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm, ki18n,
+  extra-cmake-modules, ki18n,
   kcoreaddons, kconfig, kcodecs
 }:
 
@@ -10,6 +10,6 @@ kdeApp {
     license = [ lib.licenses.lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ki18n ];
+  nativeBuildInputs = [ extra-cmake-modules ki18n ];
   buildInputs = [ kcoreaddons kconfig kcodecs ];
 }
diff --git a/pkgs/applications/kde/kde-locale-5.nix b/pkgs/applications/kde/kde-locale-5.nix
index 2b9cc0e35eb..772ebe37e44 100644
--- a/pkgs/applications/kde/kde-locale-5.nix
+++ b/pkgs/applications/kde/kde-locale-5.nix
@@ -1,6 +1,6 @@
 name: args:
 
-{ kdeApp, cmake, ecm, gettext, kdoctools }:
+{ kdeApp, cmake, extra-cmake-modules, gettext, kdoctools }:
 
 kdeApp (args // {
   sname = "kde-l10n-${name}";
@@ -9,7 +9,7 @@ kdeApp (args // {
   outputs = [ "out" ];
 
   nativeBuildInputs =
-    [ cmake ecm gettext kdoctools ]
+    [ cmake extra-cmake-modules gettext kdoctools ]
     ++ (args.nativeBuildInputs or []);
 
   preConfigure = ''
diff --git a/pkgs/applications/kde/kdegraphics-mobipocket.nix b/pkgs/applications/kde/kdegraphics-mobipocket.nix
index 984524dc1b2..e50c92f8884 100644
--- a/pkgs/applications/kde/kdegraphics-mobipocket.nix
+++ b/pkgs/applications/kde/kdegraphics-mobipocket.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm,
+  extra-cmake-modules,
   kio
 }:
 
@@ -10,6 +10,6 @@ kdeApp {
     license = [ lib.licenses.gpl2Plus ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ kio ];
 }
diff --git a/pkgs/applications/kde/kdegraphics-thumbnailers.nix b/pkgs/applications/kde/kdegraphics-thumbnailers.nix
index c3947226690..5aa974a9c96 100644
--- a/pkgs/applications/kde/kdegraphics-thumbnailers.nix
+++ b/pkgs/applications/kde/kdegraphics-thumbnailers.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm, kio, libkexiv2, libkdcraw
+  extra-cmake-modules, kio, libkexiv2, libkdcraw
 }:
 
 kdeApp {
@@ -9,6 +9,6 @@ kdeApp {
     license = [ lib.licenses.lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kio libkexiv2 libkdcraw ];
 }
diff --git a/pkgs/applications/kde/kdenetwork-filesharing.nix b/pkgs/applications/kde/kdenetwork-filesharing.nix
index 4aa11967528..20f81563c3b 100644
--- a/pkgs/applications/kde/kdenetwork-filesharing.nix
+++ b/pkgs/applications/kde/kdenetwork-filesharing.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kcoreaddons, ki18n, kio, kwidgetsaddons, samba
 }:
 
@@ -10,6 +10,6 @@ kdeApp {
     license = [ lib.licenses.gpl2 lib.licenses.lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [ kcoreaddons ki18n kio kwidgetsaddons samba ];
 }
diff --git a/pkgs/applications/kde/kdf.nix b/pkgs/applications/kde/kdf.nix
index c73eadc1df4..97e74eb2e12 100644
--- a/pkgs/applications/kde/kdf.nix
+++ b/pkgs/applications/kde/kdf.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kcmutils
 }:
 
@@ -12,7 +12,7 @@ let
         license = with lib.licenses; [ gpl2 ];
         maintainers = [ lib.maintainers.peterhoeg ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         kcmutils
       ];
diff --git a/pkgs/applications/kde/kgpg.nix b/pkgs/applications/kde/kgpg.nix
index cd462acdf2b..c4428598229 100644
--- a/pkgs/applications/kde/kgpg.nix
+++ b/pkgs/applications/kde/kgpg.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm, kdoctools, ki18n,
+  extra-cmake-modules, kdoctools, ki18n,
   akonadi-contacts, gpgme, karchive, kcodecs, kcontacts, kcoreaddons, kcrash,
   kdbusaddons, kiconthemes, kjobwidgets, kio, knotifications, kservice,
   ktextwidgets, kxmlgui, kwidgetsaddons, kwindowsystem
@@ -8,7 +8,7 @@
 
 kdeApp {
   name = "kgpg";
-  nativeBuildInputs = [ ecm kdoctools ki18n ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ki18n ];
   buildInputs = [
     akonadi-contacts gpgme karchive kcodecs kcontacts kcoreaddons kcrash kdbusaddons
     kiconthemes kjobwidgets kio knotifications kservice ktextwidgets kxmlgui
diff --git a/pkgs/applications/kde/khelpcenter.nix b/pkgs/applications/kde/khelpcenter.nix
index 3f13d131c77..0579faa72a0 100644
--- a/pkgs/applications/kde/khelpcenter.nix
+++ b/pkgs/applications/kde/khelpcenter.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   grantlee, kconfig, kcoreaddons, kdbusaddons, ki18n, kinit, kcmutils,
   kdelibs4support, khtml, kservice, xapian
 }:
@@ -9,7 +9,7 @@ let
   unwrapped =
     kdeApp {
       name = "khelpcenter";
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       buildInputs = [
         grantlee kdelibs4support khtml ki18n kconfig kcoreaddons kdbusaddons
         kinit kcmutils kservice xapian
diff --git a/pkgs/applications/kde/kig.nix b/pkgs/applications/kde/kig.nix
index 9636f82974b..9f38079316f 100644
--- a/pkgs/applications/kde/kig.nix
+++ b/pkgs/applications/kde/kig.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper
-  , ecm, kdoctools, kparts
+  , extra-cmake-modules, kdoctools, kparts
   , qtsvg, qtxmlpatterns, ktexteditor, boost
 }:
 
@@ -12,7 +12,7 @@ let
         license = with lib.licenses; [ gpl2 ];
         maintainers = with lib.maintainers; [ raskin ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       buildInputs = [
         kparts qtsvg qtxmlpatterns ktexteditor boost
       ];
diff --git a/pkgs/applications/kde/kio-extras.nix b/pkgs/applications/kde/kio-extras.nix
index fe3e3fad200..77f795167fc 100644
--- a/pkgs/applications/kde/kio-extras.nix
+++ b/pkgs/applications/kde/kio-extras.nix
@@ -1,5 +1,5 @@
 {
-  kdeApp, lib, ecm, kdoctools, shared_mime_info,
+  kdeApp, lib, extra-cmake-modules, kdoctools, shared_mime_info,
   exiv2, kactivities, karchive, kbookmarks, kconfig, kconfigwidgets,
   kcoreaddons, kdbusaddons, kguiaddons, kdnssd, kiconthemes, ki18n, kio, khtml,
   kdelibs4support, kpty, libmtp, libssh, openexr, ilmbase, openslp, phonon,
@@ -12,7 +12,7 @@ kdeApp {
     license = with lib.licenses; [ gpl2 lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm kdoctools shared_mime_info ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools shared_mime_info ];
   propagatedBuildInputs = [
     exiv2 kactivities karchive kbookmarks kconfig kconfigwidgets kcoreaddons
     kdbusaddons kguiaddons kdnssd kiconthemes ki18n kio khtml kdelibs4support
diff --git a/pkgs/applications/kde/kmime.nix b/pkgs/applications/kde/kmime.nix
index d60909ec7bc..c17b3fdcd8e 100644
--- a/pkgs/applications/kde/kmime.nix
+++ b/pkgs/applications/kde/kmime.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib,
-  ecm, ki18n,
+  extra-cmake-modules, ki18n,
   kcodecs
 }:
 
@@ -10,6 +10,6 @@ kdeApp {
     license = [ lib.licenses.lgpl21 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ki18n ];
+  nativeBuildInputs = [ extra-cmake-modules ki18n ];
   buildInputs = [ kcodecs ];
 }
diff --git a/pkgs/applications/kde/kmix.nix b/pkgs/applications/kde/kmix.nix
index 46a67e06ee0..6ab653cfce0 100644
--- a/pkgs/applications/kde/kmix.nix
+++ b/pkgs/applications/kde/kmix.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kglobalaccel, kxmlgui, kcoreaddons, kdelibs4support,
   plasma-framework, libpulseaudio, alsaLib, libcanberra_kde
 }:
@@ -13,7 +13,7 @@ let
         license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
         maintainers = [ lib.maintainers.rongcuid ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       buildInputs = [ libpulseaudio alsaLib libcanberra_kde ];
       propagatedBuildInputs = [
         kglobalaccel kxmlgui kcoreaddons kdelibs4support
diff --git a/pkgs/applications/kde/kompare.nix b/pkgs/applications/kde/kompare.nix
index 45789edbfcc..660090dc84a 100644
--- a/pkgs/applications/kde/kompare.nix
+++ b/pkgs/applications/kde/kompare.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kparts, ktexteditor, kwidgetsaddons, libkomparediff2
 }:
 
@@ -9,7 +9,7 @@ let
     kdeApp {
       name = "kompare";
       meta = { license = with lib.licenses; [ gpl2 ]; };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         kparts ktexteditor kwidgetsaddons libkomparediff2
       ];
diff --git a/pkgs/applications/kde/konsole.nix b/pkgs/applications/kde/konsole.nix
index 2dfd305b46b..15b6373bdb0 100644
--- a/pkgs/applications/kde/konsole.nix
+++ b/pkgs/applications/kde/konsole.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kguiaddons,
   ki18n, kiconthemes, kinit, kdelibs4support, kio, knotifications,
   knotifyconfig, kparts, kpty, kservice, ktextwidgets, kwidgetsaddons,
@@ -15,7 +15,7 @@ let
         license = with lib.licenses; [ gpl2 lgpl21 fdl12 ];
         maintainers = [ lib.maintainers.ttuegel ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         kdelibs4support ki18n kwindowsystem qtscript kbookmarks kcompletion
         kconfig kconfigwidgets kcoreaddons kguiaddons kiconthemes kinit kio
diff --git a/pkgs/applications/kde/kwalletmanager.nix b/pkgs/applications/kde/kwalletmanager.nix
index 03c2ab3853a..afa870d90a5 100644
--- a/pkgs/applications/kde/kwalletmanager.nix
+++ b/pkgs/applications/kde/kwalletmanager.nix
@@ -1,7 +1,7 @@
 { lib
 , kdeApp
 , kdeWrapper
-, ecm
+, extra-cmake-modules
 , kdoctools
 , kauth
 , kcmutils
@@ -19,7 +19,7 @@ let
       license = with lib.licenses; [ gpl2 ];
       maintainers = with lib.maintainers; [ fridh ];
     };
-    nativeBuildInputs = [ ecm kdoctools ];
+    nativeBuildInputs = [ extra-cmake-modules kdoctools ];
     propagatedBuildInputs = [
       kauth
       kcmutils
diff --git a/pkgs/applications/kde/libkdcraw.nix b/pkgs/applications/kde/libkdcraw.nix
index 421f7dbb4cf..179e9f414dc 100644
--- a/pkgs/applications/kde/libkdcraw.nix
+++ b/pkgs/applications/kde/libkdcraw.nix
@@ -1,4 +1,4 @@
-{ kdeApp, lib, ecm, libraw }:
+{ kdeApp, lib, extra-cmake-modules, libraw, qtbase }:
 
 kdeApp {
   name = "libkdcraw";
@@ -6,6 +6,7 @@ kdeApp {
     license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
   propagatedBuildInputs = [ libraw ];
 }
diff --git a/pkgs/applications/kde/libkexiv2.nix b/pkgs/applications/kde/libkexiv2.nix
index 0fac0759ab6..0991c5df5ab 100644
--- a/pkgs/applications/kde/libkexiv2.nix
+++ b/pkgs/applications/kde/libkexiv2.nix
@@ -1,4 +1,4 @@
-{ kdeApp, lib, exiv2, ecm }:
+{ kdeApp, lib, exiv2, extra-cmake-modules, qtbase }:
 
 kdeApp {
   name = "libkexiv2";
@@ -6,6 +6,7 @@ kdeApp {
     license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
   propagatedBuildInputs = [ exiv2 ];
 }
diff --git a/pkgs/applications/kde/libkipi.nix b/pkgs/applications/kde/libkipi.nix
index fa9dcc8323d..32eeb171ff8 100644
--- a/pkgs/applications/kde/libkipi.nix
+++ b/pkgs/applications/kde/libkipi.nix
@@ -1,4 +1,4 @@
-{ kdeApp, lib, ecm, kconfig, ki18n, kservice, kxmlgui }:
+{ kdeApp, lib, extra-cmake-modules, kconfig, ki18n, kservice, kxmlgui }:
 
 kdeApp {
   name = "libkipi";
@@ -6,6 +6,6 @@ kdeApp {
     license = with lib.licenses; [ gpl2 lgpl21 bsd3 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kconfig ki18n kservice kxmlgui ];
 }
diff --git a/pkgs/applications/kde/libkomparediff2.nix b/pkgs/applications/kde/libkomparediff2.nix
index 91b469fed3c..aacc89a0efe 100644
--- a/pkgs/applications/kde/libkomparediff2.nix
+++ b/pkgs/applications/kde/libkomparediff2.nix
@@ -1,7 +1,7 @@
-{ kdeApp, lib, ecm, ki18n, kxmlgui, kcodecs, kio }:
+{ kdeApp, lib, extra-cmake-modules, ki18n, kxmlgui, kcodecs, kio }:
 
 kdeApp {
   name = "libkomparediff2";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kcodecs ki18n kxmlgui kio ];
 }
diff --git a/pkgs/applications/kde/marble.nix b/pkgs/applications/kde/marble.nix
index 5b8a82dbf09..c151396f247 100644
--- a/pkgs/applications/kde/marble.nix
+++ b/pkgs/applications/kde/marble.nix
@@ -1,5 +1,5 @@
 { kdeApp, lib, kdeWrapper
-, ecm, qtscript, qtsvg, qtquickcontrols
+, extra-cmake-modules, qtscript, qtsvg, qtquickcontrols
 , gpsd
 }:
 
@@ -9,7 +9,7 @@ let
       name = "marble";
       meta.license = with lib.licenses; [ lgpl21 gpl3 ];
 
-      nativeBuildInputs = [ ecm ];
+      nativeBuildInputs = [ extra-cmake-modules ];
       propagatedBuildInputs = [
         qtscript qtsvg qtquickcontrols
         gpsd
diff --git a/pkgs/applications/kde/okteta.nix b/pkgs/applications/kde/okteta.nix
index 6683b9876fc..59520e28532 100644
--- a/pkgs/applications/kde/okteta.nix
+++ b/pkgs/applications/kde/okteta.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kconfig, kinit,
   kcmutils, kconfigwidgets, knewstuff, kparts, qca-qt5
 }:
@@ -13,7 +13,7 @@ let
         license = with lib.licenses; [ gpl2 ];
         maintainers = with lib.maintainers; [ peterhoeg ];
       };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         kconfig kinit
         kcmutils kconfigwidgets knewstuff kparts qca-qt5
diff --git a/pkgs/applications/kde/okular.nix b/pkgs/applications/kde/okular.nix
index 499e8cc9368..f5b3e38ca7c 100644
--- a/pkgs/applications/kde/okular.nix
+++ b/pkgs/applications/kde/okular.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   djvulibre, ebook_tools, kactivities, karchive, kbookmarks, kcompletion,
   kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdegraphics-mobipocket,
   kiconthemes, kjs, khtml, kio, kparts, kpty, kwallet, kwindowsystem, libkexiv2,
@@ -10,7 +10,7 @@
 let
   unwrapped = kdeApp {
     name = "okular";
-    nativeBuildInputs = [ ecm kdoctools ];
+    nativeBuildInputs = [ extra-cmake-modules kdoctools ];
     propagatedBuildInputs = [
       djvulibre ebook_tools kactivities karchive kbookmarks kcompletion kconfig
       kconfigwidgets kcoreaddons kdbusaddons kdegraphics-mobipocket kiconthemes
diff --git a/pkgs/applications/kde/print-manager.nix b/pkgs/applications/kde/print-manager.nix
index c4a82780b44..0a3d311eb27 100644
--- a/pkgs/applications/kde/print-manager.nix
+++ b/pkgs/applications/kde/print-manager.nix
@@ -1,5 +1,5 @@
 {
-  kdeApp, lib, ecm,
+  kdeApp, lib, extra-cmake-modules,
   cups, kconfig, kconfigwidgets, kdbusaddons, kiconthemes, ki18n, kcmutils, kio,
   knotifications, kwidgetsaddons, kwindowsystem, kitemviews, plasma-framework,
   qtdeclarative
@@ -11,7 +11,7 @@ kdeApp {
     license = [ lib.licenses.gpl2 ];
     maintainers = [ lib.maintainers.ttuegel ];
   };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     cups kconfig kconfigwidgets kdbusaddons kiconthemes kcmutils knotifications
     kwidgetsaddons kitemviews ki18n kio kwindowsystem plasma-framework
diff --git a/pkgs/applications/kde/spectacle.nix b/pkgs/applications/kde/spectacle.nix
index 4c3a5246b2e..30abfc23e83 100644
--- a/pkgs/applications/kde/spectacle.nix
+++ b/pkgs/applications/kde/spectacle.nix
@@ -1,6 +1,6 @@
 {
   kdeApp, lib, kdeWrapper,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kconfig, kcoreaddons, kdbusaddons, kdeclarative, ki18n, kio, kipi-plugins,
   knotifications, kscreen, kwidgetsaddons, kwindowsystem, kxmlgui, libkipi,
   xcb-util-cursor
@@ -11,7 +11,7 @@ let
     kdeApp {
       name = "spectacle";
       meta = with lib; { maintainers = with maintainers; [ ttuegel ]; };
-      nativeBuildInputs = [ ecm kdoctools ];
+      nativeBuildInputs = [ extra-cmake-modules kdoctools ];
       propagatedBuildInputs = [
         kconfig kcoreaddons kdbusaddons kdeclarative ki18n kio knotifications
         kscreen kwidgetsaddons kwindowsystem kxmlgui libkipi xcb-util-cursor
diff --git a/pkgs/applications/misc/krename/default.nix b/pkgs/applications/misc/krename/default.nix
index a2137060ef6..8ce74850e1a 100644
--- a/pkgs/applications/misc/krename/default.nix
+++ b/pkgs/applications/misc/krename/default.nix
@@ -1,6 +1,6 @@
 {
   kdeDerivation, kdeWrapper, fetchFromGitHub, lib,
-  ecm, kdoctools, kconfig, kinit, kjsembed,
+  extra-cmake-modules, kdoctools, kconfig, kinit, kjsembed,
   taglib, exiv2, podofo
 }:
 
@@ -25,7 +25,7 @@ let
     };
 
     buildInputs = [ taglib exiv2 podofo ];
-    nativeBuildInputs = [ ecm kdoctools ];
+    nativeBuildInputs = [ extra-cmake-modules kdoctools ];
     propagatedBuildInputs = [ kconfig kinit kjsembed ];
   };
 
diff --git a/pkgs/applications/misc/yakuake/default.nix b/pkgs/applications/misc/yakuake/default.nix
index 8bce26deefc..0d9f3834c61 100644
--- a/pkgs/applications/misc/yakuake/default.nix
+++ b/pkgs/applications/misc/yakuake/default.nix
@@ -3,7 +3,7 @@
 , fetchurl
 , kdoctools
 , kdeWrapper
-, ecm
+, extra-cmake-modules
 , karchive
 , kcrash
 , kdbusaddons
@@ -43,7 +43,7 @@ let
     ];
 
     nativeBuildInputs = [
-      ecm kdoctools
+      extra-cmake-modules kdoctools
     ];
 
     meta = {
diff --git a/pkgs/applications/networking/irc/konversation/default.nix b/pkgs/applications/networking/irc/konversation/default.nix
index 9724ae5f4bf..6f4bc2af79f 100644
--- a/pkgs/applications/networking/irc/konversation/default.nix
+++ b/pkgs/applications/networking/irc/konversation/default.nix
@@ -1,7 +1,7 @@
 { kdeDerivation
 , lib
 , fetchurl
-, ecm
+, extra-cmake-modules
 , kbookmarks
 , karchive
 , kconfig
@@ -64,7 +64,7 @@ let
     ];
 
     nativeBuildInputs = [
-      ecm
+      extra-cmake-modules
       kdoctools
     ];
 
diff --git a/pkgs/applications/networking/p2p/ktorrent/default.nix b/pkgs/applications/networking/p2p/ktorrent/default.nix
index 7e47838c4f9..73cd26b2a6e 100644
--- a/pkgs/applications/networking/p2p/ktorrent/default.nix
+++ b/pkgs/applications/networking/p2p/ktorrent/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, cmake
-, ecm, qtbase, qtscript
+, extra-cmake-modules, qtbase, qtscript
 , ki18n, kio, knotifications, knotifyconfig, kdoctools, kross, kcmutils, kdelibs4support
 , libktorrent, boost, taglib
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       })
     ];
 
-  nativeBuildInputs = [ kdoctools ecm ];
+  nativeBuildInputs = [ kdoctools extra-cmake-modules ];
 
   buildInputs =
     [ cmake qtbase qtscript
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 7315b84d7f3..fd709aa7660 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, pkgconfig, pcre, perl, flex, bison, gettext, libpcap, libnl, c-ares
 , gnutls, libgcrypt, libgpgerror, geoip, openssl, lua5, makeDesktopItem, python, libcap, glib
-, libssh, zlib, cmake, ecm
+, libssh, zlib, cmake, extra-cmake-modules
 , withGtk ? false, gtk3 ? null, pango ? null, cairo ? null, gdk_pixbuf ? null
 , withQt ? false, qt5 ? null
 , ApplicationServices, SystemConfiguration, gmp
@@ -24,7 +24,7 @@ in stdenv.mkDerivation {
   };
 
   buildInputs = [
-    bison cmake ecm flex gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt libgpgerror gnutls
+    bison cmake extra-cmake-modules flex gettext pcre perl pkgconfig libpcap lua5 libssh openssl libgcrypt libgpgerror gnutls
     geoip c-ares python glib zlib
   ] ++ (optionals withQt  (with qt5; [ qtbase qtmultimedia qtsvg qttools ]))
     ++ (optionals withGtk [ gtk3 pango cairo gdk_pixbuf ])
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index 42cc9b0c6eb..acf60bd0375 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, ecm, makeQtWrapper, qtwebkit, qtscript, grantlee,
+{ stdenv, fetchurl, cmake, extra-cmake-modules, makeQtWrapper, qtwebkit, qtscript, grantlee,
   kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin,
   kiconthemes, knewstuff, sqlcipher, qca-qt5, kdelibs4support, kactivities,
   knotifyconfig, krunner, libofx }:
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1xrh9nal122rzlv4m0x8qah6zpqb6891al3351piarpk2xgjgj4x";
   };
 
-  nativeBuildInputs = [ cmake ecm makeQtWrapper ];
+  nativeBuildInputs = [ cmake extra-cmake-modules makeQtWrapper ];
 
   buildInputs = [ qtwebkit qtscript grantlee kxmlgui kwallet kparts kdoctools
     kjobwidgets kdesignerplugin kiconthemes knewstuff sqlcipher qca-qt5
diff --git a/pkgs/desktops/plasma-5/bluedevil.nix b/pkgs/desktops/plasma-5/bluedevil.nix
index 1deef241a62..d0e78499813 100644
--- a/pkgs/desktops/plasma-5/bluedevil.nix
+++ b/pkgs/desktops/plasma-5/bluedevil.nix
@@ -1,12 +1,12 @@
 {
-  plasmaPackage, ecm, shared_mime_info,
+  plasmaPackage, extra-cmake-modules, shared_mime_info,
   bluez-qt, kcoreaddons, kdbusaddons, kded, ki18n, kiconthemes, kio,
   knotifications, kwidgetsaddons, kwindowsystem, plasma-framework, qtdeclarative
 }:
 
 plasmaPackage {
   name = "bluedevil";
-  nativeBuildInputs = [ ecm shared_mime_info ];
+  nativeBuildInputs = [ extra-cmake-modules shared_mime_info ];
   propagatedBuildInputs = [
     bluez-qt ki18n kio kwindowsystem plasma-framework qtdeclarative kcoreaddons
     kdbusaddons kded kiconthemes knotifications kwidgetsaddons
diff --git a/pkgs/desktops/plasma-5/breeze-gtk.nix b/pkgs/desktops/plasma-5/breeze-gtk.nix
index 57de2fa2d47..4048d98431d 100644
--- a/pkgs/desktops/plasma-5/breeze-gtk.nix
+++ b/pkgs/desktops/plasma-5/breeze-gtk.nix
@@ -1,9 +1,11 @@
 { plasmaPackage
-, ecm
+, extra-cmake-modules
+, qtbase
 }:
 
 plasmaPackage {
   name = "breeze-gtk";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   cmakeFlags = [ "-DWITH_GTK3_VERSION=3.20" ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
index 0de1ca1f680..dfbdf48165a 100644
--- a/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
+++ b/pkgs/desktops/plasma-5/breeze-plymouth/default.nix
@@ -1,12 +1,12 @@
 {
   plasmaPackage, lib, copyPathsToStore,
-  ecm,
+  extra-cmake-modules,
   plymouth
 }:
 
 plasmaPackage {
   name = "breeze-plymouth";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ plymouth ];
   outputs = [ "out" ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
diff --git a/pkgs/desktops/plasma-5/breeze-qt5.nix b/pkgs/desktops/plasma-5/breeze-qt5.nix
index ea2776a13c5..a1b64a4656c 100644
--- a/pkgs/desktops/plasma-5/breeze-qt5.nix
+++ b/pkgs/desktops/plasma-5/breeze-qt5.nix
@@ -1,6 +1,6 @@
 {
   plasmaPackage,
-  ecm,
+  extra-cmake-modules,
   frameworkintegration, kcmutils, kconfigwidgets, kcoreaddons, kdecoration,
   kguiaddons, ki18n, kwayland, kwindowsystem, plasma-framework, qtx11extras
 }:
@@ -8,7 +8,7 @@
 plasmaPackage {
   name = "breeze-qt5";
   sname = "breeze";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     frameworkintegration kcmutils kconfigwidgets kcoreaddons kdecoration
     kguiaddons ki18n kwayland kwindowsystem plasma-framework qtx11extras
diff --git a/pkgs/desktops/plasma-5/kactivitymanagerd.nix b/pkgs/desktops/plasma-5/kactivitymanagerd.nix
index bb90fd6d3ab..282e58ecf9e 100644
--- a/pkgs/desktops/plasma-5/kactivitymanagerd.nix
+++ b/pkgs/desktops/plasma-5/kactivitymanagerd.nix
@@ -1,12 +1,12 @@
 { plasmaPackage
-, ecm
+, extra-cmake-modules
 , boost, kconfig, kcoreaddons, kdbusaddons, ki18n, kio, kglobalaccel
 , kwindowsystem, kxmlgui
 }:
 
 plasmaPackage {
   name = "kactivitymanagerd";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     boost kconfig kcoreaddons kdbusaddons kglobalaccel ki18n kio kwindowsystem
     kxmlgui
diff --git a/pkgs/desktops/plasma-5/kde-cli-tools.nix b/pkgs/desktops/plasma-5/kde-cli-tools.nix
index 33a7340cb85..87a46703997 100644
--- a/pkgs/desktops/plasma-5/kde-cli-tools.nix
+++ b/pkgs/desktops/plasma-5/kde-cli-tools.nix
@@ -1,12 +1,12 @@
 {
-  plasmaPackage, ecm,
+  plasmaPackage, extra-cmake-modules,
   kcmutils, kconfig, kdelibs4support, kdesu, kdoctools, ki18n, kiconthemes,
   kwindowsystem, qtsvg, qtx11extras
 }:
 
 plasmaPackage {
   name = "kde-cli-tools";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kcmutils kconfig kdesu kdelibs4support ki18n kiconthemes kwindowsystem qtsvg
     qtx11extras
diff --git a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
index 10e55f0d698..f482f2a6a3f 100644
--- a/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
+++ b/pkgs/desktops/plasma-5/kde-gtk-config/default.nix
@@ -1,5 +1,5 @@
 { plasmaPackage
-, ecm
+, extra-cmake-modules
 , glib
 , gtk2
 , gtk3
@@ -15,7 +15,7 @@
 plasmaPackage {
   name = "kde-gtk-config";
   patches = [ ./0001-follow-symlinks.patch ];
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     ki18n kio glib gtk2 gtk3 karchive kcmutils kconfigwidgets kiconthemes
     knewstuff
diff --git a/pkgs/desktops/plasma-5/kdecoration.nix b/pkgs/desktops/plasma-5/kdecoration.nix
index a0f9d93e60b..546f72c3f38 100644
--- a/pkgs/desktops/plasma-5/kdecoration.nix
+++ b/pkgs/desktops/plasma-5/kdecoration.nix
@@ -1,6 +1,7 @@
-{ plasmaPackage, ecm }:
+{ plasmaPackage, extra-cmake-modules, qtbase }:
 
 plasmaPackage {
   name = "kdecoration";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/desktops/plasma-5/kdeplasma-addons.nix b/pkgs/desktops/plasma-5/kdeplasma-addons.nix
index a2805f5d804..3371e17beaf 100644
--- a/pkgs/desktops/plasma-5/kdeplasma-addons.nix
+++ b/pkgs/desktops/plasma-5/kdeplasma-addons.nix
@@ -1,4 +1,4 @@
-{ plasmaPackage, ecm, kdoctools
+{ plasmaPackage, extra-cmake-modules, kdoctools
 , kconfig, kconfigwidgets, kcoreaddons, kcmutils, kdelibs4support, ki18n
 , kio, knewstuff, kross, krunner, kservice, ksysguard, kunitconversion
 , plasma-framework, plasma-workspace, qtdeclarative, qtx11extras
@@ -8,7 +8,7 @@
 plasmaPackage {
   name = "kdeplasma-addons";
   nativeBuildInputs = [
-    ecm
+    extra-cmake-modules
     kdoctools
   ];
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/plasma-5/kgamma5.nix b/pkgs/desktops/plasma-5/kgamma5.nix
index 70d7cc17a1c..965c33e6eef 100644
--- a/pkgs/desktops/plasma-5/kgamma5.nix
+++ b/pkgs/desktops/plasma-5/kgamma5.nix
@@ -1,9 +1,9 @@
-{ plasmaPackage, ecm, kdoctools, kdelibs4support
+{ plasmaPackage, extra-cmake-modules, kdoctools, kdelibs4support
 , qtx11extras
 }:
 
 plasmaPackage {
   name = "kgamma5";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [ kdelibs4support qtx11extras ];
 }
diff --git a/pkgs/desktops/plasma-5/khotkeys.nix b/pkgs/desktops/plasma-5/khotkeys.nix
index f23a17e5479..5360f6cf0b7 100644
--- a/pkgs/desktops/plasma-5/khotkeys.nix
+++ b/pkgs/desktops/plasma-5/khotkeys.nix
@@ -1,4 +1,4 @@
-{ plasmaPackage, ecm, kdoctools, kcmutils
+{ plasmaPackage, extra-cmake-modules, kdoctools, kcmutils
 , kdbusaddons, kdelibs4support, kglobalaccel, ki18n, kio, kxmlgui
 , plasma-framework, plasma-workspace, qtx11extras
 , fetchpatch
@@ -6,7 +6,7 @@
 
 plasmaPackage {
   name = "khotkeys";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 
   patches = [
     # Patch is in 5.9 and up.
diff --git a/pkgs/desktops/plasma-5/kinfocenter.nix b/pkgs/desktops/plasma-5/kinfocenter.nix
index 939e4fa62a9..b4c8dc99adc 100644
--- a/pkgs/desktops/plasma-5/kinfocenter.nix
+++ b/pkgs/desktops/plasma-5/kinfocenter.nix
@@ -1,6 +1,6 @@
 {
   plasmaPackage,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kcmutils, kcompletion, kconfig, kconfigwidgets, kcoreaddons, kdbusaddons,
   kdeclarative, kdelibs4support, ki18n, kiconthemes, kio, kpackage, kservice,
   kwayland, kwidgetsaddons, kxmlgui, libraw1394, mesa_glu, pciutils, solid
@@ -8,7 +8,7 @@
 
 plasmaPackage {
   name = "kinfocenter";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kcmutils kcompletion kconfig kconfigwidgets kcoreaddons kdbusaddons
     kdeclarative kdelibs4support ki18n kiconthemes kio kpackage kservice
diff --git a/pkgs/desktops/plasma-5/kmenuedit.nix b/pkgs/desktops/plasma-5/kmenuedit.nix
index f10bf6bb3cd..a27dc5dd92a 100644
--- a/pkgs/desktops/plasma-5/kmenuedit.nix
+++ b/pkgs/desktops/plasma-5/kmenuedit.nix
@@ -1,13 +1,13 @@
 {
   plasmaPackage,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kdbusaddons, kdelibs4support, khotkeys, ki18n, kiconthemes, kio, kxmlgui,
   sonnet
 }:
 
 plasmaPackage {
   name = "kmenuedit";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kdbusaddons kdelibs4support khotkeys ki18n kiconthemes kio kxmlgui sonnet
   ];
diff --git a/pkgs/desktops/plasma-5/kscreen.nix b/pkgs/desktops/plasma-5/kscreen.nix
index ecbd88c2146..e0fbea5d746 100644
--- a/pkgs/desktops/plasma-5/kscreen.nix
+++ b/pkgs/desktops/plasma-5/kscreen.nix
@@ -1,11 +1,11 @@
-{ plasmaPackage, ecm, kconfig, kconfigwidgets
+{ plasmaPackage, extra-cmake-modules, kconfig, kconfigwidgets
 , kdbusaddons, kglobalaccel, ki18n, kwidgetsaddons, kxmlgui
 , libkscreen, qtdeclarative, qtgraphicaleffects
 }:
 
 plasmaPackage {
   name = "kscreen";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kglobalaccel ki18n libkscreen qtdeclarative qtgraphicaleffects kconfig
     kconfigwidgets kdbusaddons kwidgetsaddons kxmlgui
diff --git a/pkgs/desktops/plasma-5/kscreenlocker.nix b/pkgs/desktops/plasma-5/kscreenlocker.nix
index 3c5d7b37472..3551feab76f 100644
--- a/pkgs/desktops/plasma-5/kscreenlocker.nix
+++ b/pkgs/desktops/plasma-5/kscreenlocker.nix
@@ -1,13 +1,13 @@
 {
   plasmaPackage,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kcmutils, kcrash, kdeclarative, kdelibs4support, kglobalaccel, kidletime,
   kwayland, libXcursor, pam, plasma-framework, qtdeclarative, wayland
 }:
 
 plasmaPackage {
   name = "kscreenlocker";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kcmutils kcrash kdeclarative kdelibs4support kglobalaccel kidletime kwayland
     libXcursor pam plasma-framework qtdeclarative wayland
diff --git a/pkgs/desktops/plasma-5/ksshaskpass.nix b/pkgs/desktops/plasma-5/ksshaskpass.nix
index 80b529a6668..f1a6b82ae93 100644
--- a/pkgs/desktops/plasma-5/ksshaskpass.nix
+++ b/pkgs/desktops/plasma-5/ksshaskpass.nix
@@ -1,9 +1,9 @@
-{ plasmaPackage, ecm, kdoctools, kcoreaddons
+{ plasmaPackage, extra-cmake-modules, kdoctools, kcoreaddons
 , ki18n, kwallet, kwidgetsaddons
 }:
 
 plasmaPackage {
   name = "ksshaskpass";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [ kcoreaddons ki18n kwallet kwidgetsaddons ];
 }
diff --git a/pkgs/desktops/plasma-5/ksysguard.nix b/pkgs/desktops/plasma-5/ksysguard.nix
index f7e5cced708..366b154cae7 100644
--- a/pkgs/desktops/plasma-5/ksysguard.nix
+++ b/pkgs/desktops/plasma-5/ksysguard.nix
@@ -1,6 +1,6 @@
 {
   plasmaPackage,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   lm_sensors,
   kconfig, kcoreaddons, kdelibs4support, ki18n, kiconthemes, kitemviews,
   knewstuff, libksysguard, qtwebkit
@@ -8,7 +8,7 @@
 
 plasmaPackage {
   name = "ksysguard";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [ lm_sensors ];
   propagatedBuildInputs = [
     kconfig kcoreaddons kitemviews knewstuff kiconthemes libksysguard
diff --git a/pkgs/desktops/plasma-5/kwallet-pam.nix b/pkgs/desktops/plasma-5/kwallet-pam.nix
index 86ba52292f9..2789499c50a 100644
--- a/pkgs/desktops/plasma-5/kwallet-pam.nix
+++ b/pkgs/desktops/plasma-5/kwallet-pam.nix
@@ -1,10 +1,10 @@
-{ plasmaPackage, ecm, pam, socat, libgcrypt
+{ plasmaPackage, extra-cmake-modules, pam, socat, libgcrypt
 }:
 
 plasmaPackage {
   name = "kwallet-pam";
 
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
 
   buildInputs = [ pam socat libgcrypt ];
 
diff --git a/pkgs/desktops/plasma-5/kwayland-integration.nix b/pkgs/desktops/plasma-5/kwayland-integration.nix
index 376e8ed7cbd..9045227a51a 100644
--- a/pkgs/desktops/plasma-5/kwayland-integration.nix
+++ b/pkgs/desktops/plasma-5/kwayland-integration.nix
@@ -1,5 +1,5 @@
 { plasmaPackage
-, ecm
+, extra-cmake-modules
 , kidletime
 , kwayland
 , kwindowsystem
@@ -8,7 +8,7 @@
 plasmaPackage {
   name = "kwayland-integration";
   nativeBuildInputs = [
-    ecm
+    extra-cmake-modules
   ];
   propagatedBuildInputs = [
     kidletime kwindowsystem kwayland
diff --git a/pkgs/desktops/plasma-5/kwin/default.nix b/pkgs/desktops/plasma-5/kwin/default.nix
index 73e40cdb114..3555cf91e00 100644
--- a/pkgs/desktops/plasma-5/kwin/default.nix
+++ b/pkgs/desktops/plasma-5/kwin/default.nix
@@ -1,6 +1,6 @@
 {
   plasmaPackage, lib, copyPathsToStore,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   breeze-qt5, epoxy, kactivities, kcompletion, kcmutils, kconfig,
   kconfigwidgets, kcoreaddons, kcrash, kdeclarative, kdecoration, kglobalaccel,
   ki18n, kiconthemes, kidletime, kinit, kio, knewstuff, knotifications,
@@ -12,7 +12,7 @@
 plasmaPackage {
   name = "kwin";
   nativeBuildInputs = [
-    ecm
+    extra-cmake-modules
     kdoctools
   ];
   propagatedBuildInputs = [
diff --git a/pkgs/desktops/plasma-5/kwrited.nix b/pkgs/desktops/plasma-5/kwrited.nix
index 8dd814f783d..29498e93404 100644
--- a/pkgs/desktops/plasma-5/kwrited.nix
+++ b/pkgs/desktops/plasma-5/kwrited.nix
@@ -1,9 +1,9 @@
-{ plasmaPackage, ecm, kcoreaddons, ki18n, kpty
+{ plasmaPackage, extra-cmake-modules, kcoreaddons, ki18n, kpty
 , knotifications, kdbusaddons
 }:
 
 plasmaPackage {
   name = "kwrited";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kcoreaddons ki18n kpty knotifications kdbusaddons ];
 }
diff --git a/pkgs/desktops/plasma-5/libkscreen.nix b/pkgs/desktops/plasma-5/libkscreen.nix
index 838ab6ef0e5..4e04fd5ed1d 100644
--- a/pkgs/desktops/plasma-5/libkscreen.nix
+++ b/pkgs/desktops/plasma-5/libkscreen.nix
@@ -1,5 +1,5 @@
 { plasmaPackage
-, ecm
+, extra-cmake-modules
 , kwayland, libXrandr
 , qtx11extras
 }:
@@ -7,7 +7,7 @@
 plasmaPackage {
   name = "libkscreen";
   nativeBuildInputs = [
-    ecm
+    extra-cmake-modules
   ];
   propagatedBuildInputs = [
     kwayland libXrandr qtx11extras
diff --git a/pkgs/desktops/plasma-5/libksysguard/default.nix b/pkgs/desktops/plasma-5/libksysguard/default.nix
index 2d81d061f4c..b67e041a782 100644
--- a/pkgs/desktops/plasma-5/libksysguard/default.nix
+++ b/pkgs/desktops/plasma-5/libksysguard/default.nix
@@ -1,6 +1,6 @@
 {
   plasmaPackage,
-  ecm,
+  extra-cmake-modules,
   kauth, kcompletion, kconfig, kconfigwidgets, kcoreaddons, ki18n, kiconthemes,
   kservice, kwidgetsaddons, kwindowsystem, plasma-framework, qtscript, qtwebkit,
   qtx11extras
@@ -11,7 +11,7 @@ plasmaPackage {
   patches = [
     ./0001-qdiriterator-follow-symlinks.patch
   ];
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kauth kconfig ki18n kiconthemes kwindowsystem kcompletion kconfigwidgets
     kcoreaddons kservice kwidgetsaddons plasma-framework qtscript qtx11extras
diff --git a/pkgs/desktops/plasma-5/milou.nix b/pkgs/desktops/plasma-5/milou.nix
index dbf9d0b9e53..43f78d9e2a9 100644
--- a/pkgs/desktops/plasma-5/milou.nix
+++ b/pkgs/desktops/plasma-5/milou.nix
@@ -1,4 +1,4 @@
-{ plasmaPackage, ecm, qtscript, qtdeclarative
+{ plasmaPackage, extra-cmake-modules, qtscript, qtdeclarative
 , kcoreaddons, ki18n, kdeclarative, kservice, plasma-framework
 , krunner
 }:
@@ -6,7 +6,7 @@
 plasmaPackage {
   name = "milou";
   nativeBuildInputs = [
-    ecm
+    extra-cmake-modules
   ];
   propagatedBuildInputs = [
     kdeclarative ki18n krunner plasma-framework qtdeclarative qtscript
diff --git a/pkgs/desktops/plasma-5/oxygen.nix b/pkgs/desktops/plasma-5/oxygen.nix
index ca63c8d7a37..b4ff775264f 100644
--- a/pkgs/desktops/plasma-5/oxygen.nix
+++ b/pkgs/desktops/plasma-5/oxygen.nix
@@ -1,6 +1,6 @@
 {
   plasmaPackage, kdeWrapper,
-  ecm,
+  extra-cmake-modules,
   frameworkintegration, kcmutils, kcompletion, kconfig, kdecoration, kguiaddons,
   ki18n, kwidgetsaddons, kservice, kwayland, kwindowsystem, qtx11extras
 }:
@@ -8,7 +8,7 @@
 let
   unwrapped = plasmaPackage {
     name = "oxygen";
-    nativeBuildInputs = [ ecm ];
+    nativeBuildInputs = [ extra-cmake-modules ];
     propagatedBuildInputs = [
       frameworkintegration kcmutils kcompletion kconfig kdecoration kguiaddons
       ki18n kservice kwayland kwidgetsaddons kwindowsystem qtx11extras
diff --git a/pkgs/desktops/plasma-5/plasma-desktop/default.nix b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
index 21ceec25d53..1ac25705730 100644
--- a/pkgs/desktops/plasma-5/plasma-desktop/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-desktop/default.nix
@@ -1,6 +1,6 @@
 {
   plasmaPackage, lib, copyPathsToStore,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   attica, baloo, boost, fontconfig, ibus, kactivities, kactivities-stats, kauth,
   kcmutils, kdbusaddons, kdeclarative, kded, kdelibs4support, kemoticons,
   kglobalaccel, ki18n, kitemmodels, knewstuff, knotifications, knotifyconfig,
@@ -13,7 +13,7 @@
 
 plasmaPackage rec {
   name = "plasma-desktop";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     attica boost fontconfig ibus kcmutils kdbusaddons kded kitemmodels knewstuff
     knotifications knotifyconfig kwallet libcanberra_kde libXcursor
diff --git a/pkgs/desktops/plasma-5/plasma-integration.nix b/pkgs/desktops/plasma-5/plasma-integration.nix
index e8680fea930..97d30dcd773 100644
--- a/pkgs/desktops/plasma-5/plasma-integration.nix
+++ b/pkgs/desktops/plasma-5/plasma-integration.nix
@@ -1,4 +1,4 @@
-{ plasmaPackage, ecm
+{ plasmaPackage, extra-cmake-modules
 , breeze-qt5, kconfig, kconfigwidgets, kiconthemes, kio, kwayland
 , libXcursor
 }:
@@ -8,7 +8,7 @@
 plasmaPackage {
   name = "plasma-integration";
   nativeBuildInputs = [
-    ecm
+    extra-cmake-modules
   ];
   buildInputs = [
     breeze-qt5 kconfig kconfigwidgets kiconthemes kio kwayland
diff --git a/pkgs/desktops/plasma-5/plasma-nm/default.nix b/pkgs/desktops/plasma-5/plasma-nm/default.nix
index b6d18dbf91d..da57653bb08 100644
--- a/pkgs/desktops/plasma-5/plasma-nm/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-nm/default.nix
@@ -1,4 +1,4 @@
-{ plasmaPackage, substituteAll, ecm, kdoctools
+{ plasmaPackage, substituteAll, extra-cmake-modules, kdoctools
 , kcompletion, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative
 , kdelibs4support, ki18n, kiconthemes, kinit, kio, kitemviews
 , knotifications, kservice, kwallet, kwidgetsaddons, kwindowsystem
@@ -15,7 +15,7 @@ plasmaPackage {
       inherit mobile_broadband_provider_info;
     })
   ];
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kdeclarative kdelibs4support ki18n kio kwindowsystem plasma-framework
     qtdeclarative kcompletion kconfigwidgets kcoreaddons kdbusaddons kiconthemes
diff --git a/pkgs/desktops/plasma-5/plasma-pa.nix b/pkgs/desktops/plasma-5/plasma-pa.nix
index 7bf97d745fe..f398e1a9efc 100644
--- a/pkgs/desktops/plasma-5/plasma-pa.nix
+++ b/pkgs/desktops/plasma-5/plasma-pa.nix
@@ -1,6 +1,6 @@
 {
   plasmaPackage,
-  ecm,
+  extra-cmake-modules,
   gconf, glib, kdoctools, kconfigwidgets, kcoreaddons, kdeclarative, kglobalaccel,
   ki18n, libcanberra_gtk3, libpulseaudio, plasma-framework
 }:
@@ -8,7 +8,7 @@
 plasmaPackage {
   name = "plasma-pa";
   nativeBuildInputs = [
-    ecm kdoctools
+    extra-cmake-modules kdoctools
   ];
   propagatedBuildInputs = [
     gconf glib kconfigwidgets kcoreaddons kdeclarative
diff --git a/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix b/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix
index 6ffdb17cbea..8af9caaa579 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace-wallpapers.nix
@@ -1,11 +1,11 @@
 { plasmaPackage
-, ecm
+, extra-cmake-modules
 }:
 
 plasmaPackage {
   name = "plasma-workspace-wallpapers";
   outputs = [ "out" ];
   nativeBuildInputs = [
-    ecm
+    extra-cmake-modules
   ];
 }
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/default.nix b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
index 1e38c0c74dd..19d530da1a6 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/default.nix
+++ b/pkgs/desktops/plasma-5/plasma-workspace/default.nix
@@ -1,7 +1,7 @@
 {
   plasmaPackage, lib, copyPathsToStore,
 
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
 
   baloo, kactivities, kcmutils, kconfig, kcrash, kdbusaddons, kdeclarative,
   kdelibs4support, kdesu, kglobalaccel, kidletime, kjsembed, knewstuff,
@@ -14,7 +14,7 @@
 plasmaPackage {
   name = "plasma-workspace";
 
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   buildInputs = [
     baloo kactivities kcmutils kconfig kcrash kdbusaddons kdeclarative
     kdelibs4support kdesu kglobalaccel kidletime kjsembed knewstuff
diff --git a/pkgs/desktops/plasma-5/polkit-kde-agent.nix b/pkgs/desktops/plasma-5/polkit-kde-agent.nix
index 002c2bb10ff..1d7d20a7ffb 100644
--- a/pkgs/desktops/plasma-5/polkit-kde-agent.nix
+++ b/pkgs/desktops/plasma-5/polkit-kde-agent.nix
@@ -1,12 +1,12 @@
 {
-  plasmaPackage, ecm,
+  plasmaPackage, extra-cmake-modules,
   kcoreaddons, kconfig, kcrash, kdbusaddons, ki18n, kiconthemes, knotifications,
   kwidgetsaddons, kwindowsystem, polkit-qt
 }:
 
 plasmaPackage {
   name = "polkit-kde-agent";
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kdbusaddons kwidgetsaddons kcoreaddons kcrash kconfig ki18n kiconthemes
     knotifications kwindowsystem polkit-qt
diff --git a/pkgs/desktops/plasma-5/powerdevil.nix b/pkgs/desktops/plasma-5/powerdevil.nix
index c0c18a6eae6..c3469cc2ebc 100644
--- a/pkgs/desktops/plasma-5/powerdevil.nix
+++ b/pkgs/desktops/plasma-5/powerdevil.nix
@@ -1,4 +1,4 @@
-{ plasmaPackage, ecm, kdoctools, bluez-qt, kactivities
+{ plasmaPackage, extra-cmake-modules, kdoctools, bluez-qt, kactivities
 , kauth, kconfig, kdbusaddons, kdelibs4support, kglobalaccel, ki18n
 , kidletime, kio, knotifyconfig, kwayland, libkscreen, networkmanager-qt
 , plasma-workspace, qtx11extras, solid, udev
@@ -6,7 +6,7 @@
 
 plasmaPackage {
   name = "powerdevil";
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kconfig kdbusaddons knotifyconfig solid udev bluez-qt kactivities kauth
     kdelibs4support kglobalaccel ki18n kio kidletime kwayland libkscreen
diff --git a/pkgs/desktops/plasma-5/systemsettings.nix b/pkgs/desktops/plasma-5/systemsettings.nix
index 407d0e91626..32ea83d9d50 100644
--- a/pkgs/desktops/plasma-5/systemsettings.nix
+++ b/pkgs/desktops/plasma-5/systemsettings.nix
@@ -1,12 +1,12 @@
 {
-  plasmaPackage, ecm, kdoctools, makeQtWrapper,
+  plasmaPackage, extra-cmake-modules, kdoctools, makeQtWrapper,
   kcmutils, kconfig, kdbusaddons, khtml, ki18n, kiconthemes, kio, kitemviews,
   kservice, kwindowsystem, kxmlgui, qtquickcontrols
 }:
 
 plasmaPackage {
   name = "systemsettings";
-  nativeBuildInputs = [ ecm kdoctools makeQtWrapper ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools makeQtWrapper ];
   propagatedBuildInputs = [
     kcmutils kconfig kdbusaddons khtml ki18n kiconthemes kio kitemviews kservice
     kwindowsystem kxmlgui qtquickcontrols
diff --git a/pkgs/development/libraries/kde-frameworks/attica.nix b/pkgs/development/libraries/kde-frameworks/attica.nix
index d34b3f3a2c5..6533a05b160 100644
--- a/pkgs/development/libraries/kde-frameworks/attica.nix
+++ b/pkgs/development/libraries/kde-frameworks/attica.nix
@@ -1,7 +1,8 @@
-{ kdeFramework, lib, ecm }:
+{ kdeFramework, lib, extra-cmake-modules, qtbase }:
 
 kdeFramework {
   name = "attica";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/baloo.nix b/pkgs/development/libraries/kde-frameworks/baloo.nix
index 9c803fdc717..dc7b6af193b 100644
--- a/pkgs/development/libraries/kde-frameworks/baloo.nix
+++ b/pkgs/development/libraries/kde-frameworks/baloo.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, kauth, kconfig
+{ kdeFramework, lib, extra-cmake-modules, kauth, kconfig
 , kcoreaddons, kcrash, kdbusaddons, kfilemetadata, ki18n, kidletime
 , kio, lmdb, qtbase, solid
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "baloo";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kauth kconfig kcoreaddons kcrash kdbusaddons kfilemetadata ki18n kio
     kidletime lmdb qtbase solid
diff --git a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
index 7ab82bdc1ef..93c945b58ca 100644
--- a/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/bluez-qt.nix
@@ -1,12 +1,12 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , qtdeclarative
 }:
 
 kdeFramework {
   name = "bluez-qt";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtdeclarative ];
   preConfigure = ''
     substituteInPlace CMakeLists.txt \
diff --git a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
index c87ba75b2b4..9a18ade96a8 100644
--- a/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
+++ b/pkgs/development/libraries/kde-frameworks/breeze-icons.nix
@@ -1,10 +1,10 @@
-{ kdeFramework, lib, ecm, qtsvg }:
+{ kdeFramework, lib, extra-cmake-modules, qtsvg }:
 
 kdeFramework {
   name = "breeze-icons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   outputs = [ "out" ];
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   buildInputs = [ qtsvg ];
   propagatedUserEnvPkgs = [ qtsvg.out ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/default.nix b/pkgs/development/libraries/kde-frameworks/default.nix
index 00965bd0a58..2906dc78886 100644
--- a/pkgs/development/libraries/kde-frameworks/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/default.nix
@@ -24,87 +24,89 @@ existing packages here and modify it as necessary.
 
 */
 
-{ newScope, kdeDerivation, lib, fetchurl }:
+{ libsForQt5, kdeDerivation, lib, fetchurl }:
 
 let
-  callPackage = newScope {
-    kdeFramework = import ./build-support/framework.nix {
-      inherit kdeDerivation lib fetchurl;
+  packages = self: with self;
+    let
+      callPackage = self.newScope {
+        kdeFramework = import ./build-support/framework.nix {
+          inherit kdeDerivation lib fetchurl;
+        };
+      };
+    in {
+      attica = callPackage ./attica.nix {};
+      baloo = callPackage ./baloo.nix {};
+      bluez-qt = callPackage ./bluez-qt.nix {};
+      breeze-icons = callPackage ./breeze-icons.nix {};
+      extra-cmake-modules = callPackage ./extra-cmake-modules {};
+      frameworkintegration = callPackage ./frameworkintegration.nix {};
+      kactivities = callPackage ./kactivities.nix {};
+      kactivities-stats = callPackage ./kactivities-stats.nix {};
+      kapidox = callPackage ./kapidox.nix {};
+      karchive = callPackage ./karchive.nix {};
+      kauth = callPackage ./kauth {};
+      kbookmarks = callPackage ./kbookmarks.nix {};
+      kcmutils = callPackage ./kcmutils {};
+      kcodecs = callPackage ./kcodecs.nix {};
+      kcompletion = callPackage ./kcompletion.nix {};
+      kconfig = callPackage ./kconfig.nix {};
+      kconfigwidgets = callPackage ./kconfigwidgets {};
+      kcoreaddons = callPackage ./kcoreaddons.nix {};
+      kcrash = callPackage ./kcrash.nix {};
+      kdbusaddons = callPackage ./kdbusaddons.nix {};
+      kdeclarative = callPackage ./kdeclarative.nix {};
+      kded = callPackage ./kded.nix {};
+      kdelibs4support = callPackage ./kdelibs4support {};
+      kdesignerplugin = callPackage ./kdesignerplugin.nix {};
+      kdesu = callPackage ./kdesu.nix {};
+      kdnssd = callPackage ./kdnssd.nix {};
+      kdoctools = callPackage ./kdoctools {};
+      kemoticons = callPackage ./kemoticons.nix {};
+      kfilemetadata = callPackage ./kfilemetadata {};
+      kglobalaccel = callPackage ./kglobalaccel.nix {};
+      kguiaddons = callPackage ./kguiaddons.nix {};
+      khtml = callPackage ./khtml.nix {};
+      ki18n = callPackage ./ki18n.nix {};
+      kiconthemes = callPackage ./kiconthemes {};
+      kidletime = callPackage ./kidletime.nix {};
+      kimageformats = callPackage ./kimageformats.nix {};
+      kinit = callPackage ./kinit {};
+      kio = callPackage ./kio {};
+      kitemmodels = callPackage ./kitemmodels.nix {};
+      kitemviews = callPackage ./kitemviews.nix {};
+      kjobwidgets = callPackage ./kjobwidgets.nix {};
+      kjs = callPackage ./kjs.nix {};
+      kjsembed = callPackage ./kjsembed.nix {};
+      kmediaplayer = callPackage ./kmediaplayer.nix {};
+      knewstuff = callPackage ./knewstuff.nix {};
+      knotifications = callPackage ./knotifications.nix {};
+      knotifyconfig = callPackage ./knotifyconfig.nix {};
+      kpackage = callPackage ./kpackage {};
+      kparts = callPackage ./kparts.nix {};
+      kpeople = callPackage ./kpeople.nix {};
+      kplotting = callPackage ./kplotting.nix {};
+      kpty = callPackage ./kpty.nix {};
+      kross = callPackage ./kross.nix {};
+      krunner = callPackage ./krunner.nix {};
+      kservice = callPackage ./kservice {};
+      ktexteditor = callPackage ./ktexteditor.nix {};
+      ktextwidgets = callPackage ./ktextwidgets.nix {};
+      kunitconversion = callPackage ./kunitconversion.nix {};
+      kwallet = callPackage ./kwallet.nix {};
+      kwayland = callPackage ./kwayland.nix {};
+      kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
+      kwindowsystem = callPackage ./kwindowsystem.nix {};
+      kxmlgui = callPackage ./kxmlgui.nix {};
+      kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
+      modemmanager-qt = callPackage ./modemmanager-qt.nix {};
+      networkmanager-qt = callPackage ./networkmanager-qt.nix {};
+      oxygen-icons5 = callPackage ./oxygen-icons5.nix {};
+      plasma-framework = callPackage ./plasma-framework.nix {};
+      solid = callPackage ./solid.nix {};
+      sonnet = callPackage ./sonnet.nix {};
+      syntax-highlighting = callPackage ./syntax-highlighting.nix {};
+      threadweaver = callPackage ./threadweaver.nix {};
     };
-  };
-in
-{
-  attica = callPackage ./attica.nix {};
-  baloo = callPackage ./baloo.nix {};
-  bluez-qt = callPackage ./bluez-qt.nix {};
-  breeze-icons = callPackage ./breeze-icons.nix {};
-  ecm = callPackage ./extra-cmake-modules {};
-  ecmNoHooks = callPackage ./extra-cmake-modules/no-hooks.nix { };
-  frameworkintegration = callPackage ./frameworkintegration.nix {};
-  kactivities = callPackage ./kactivities.nix {};
-  kactivities-stats = callPackage ./kactivities-stats.nix {};
-  kapidox = callPackage ./kapidox.nix {};
-  karchive = callPackage ./karchive.nix {};
-  kauth = callPackage ./kauth {};
-  kbookmarks = callPackage ./kbookmarks.nix {};
-  kcmutils = callPackage ./kcmutils {};
-  kcodecs = callPackage ./kcodecs.nix {};
-  kcompletion = callPackage ./kcompletion.nix {};
-  kconfig = callPackage ./kconfig.nix {};
-  kconfigwidgets = callPackage ./kconfigwidgets {};
-  kcoreaddons = callPackage ./kcoreaddons.nix {};
-  kcrash = callPackage ./kcrash.nix {};
-  kdbusaddons = callPackage ./kdbusaddons.nix {};
-  kdeclarative = callPackage ./kdeclarative.nix {};
-  kded = callPackage ./kded.nix {};
-  kdelibs4support = callPackage ./kdelibs4support {};
-  kdesignerplugin = callPackage ./kdesignerplugin.nix {};
-  kdesu = callPackage ./kdesu.nix {};
-  kdnssd = callPackage ./kdnssd.nix {};
-  kdoctools = callPackage ./kdoctools {};
-  kemoticons = callPackage ./kemoticons.nix {};
-  kfilemetadata = callPackage ./kfilemetadata {};
-  kglobalaccel = callPackage ./kglobalaccel.nix {};
-  kguiaddons = callPackage ./kguiaddons.nix {};
-  khtml = callPackage ./khtml.nix {};
-  ki18n = callPackage ./ki18n.nix {};
-  kiconthemes = callPackage ./kiconthemes {};
-  kidletime = callPackage ./kidletime.nix {};
-  kimageformats = callPackage ./kimageformats.nix {};
-  kinit = callPackage ./kinit {};
-  kio = callPackage ./kio {};
-  kitemmodels = callPackage ./kitemmodels.nix {};
-  kitemviews = callPackage ./kitemviews.nix {};
-  kjobwidgets = callPackage ./kjobwidgets.nix {};
-  kjs = callPackage ./kjs.nix {};
-  kjsembed = callPackage ./kjsembed.nix {};
-  kmediaplayer = callPackage ./kmediaplayer.nix {};
-  knewstuff = callPackage ./knewstuff.nix {};
-  knotifications = callPackage ./knotifications.nix {};
-  knotifyconfig = callPackage ./knotifyconfig.nix {};
-  kpackage = callPackage ./kpackage {};
-  kparts = callPackage ./kparts.nix {};
-  kpeople = callPackage ./kpeople.nix {};
-  kplotting = callPackage ./kplotting.nix {};
-  kpty = callPackage ./kpty.nix {};
-  kross = callPackage ./kross.nix {};
-  krunner = callPackage ./krunner.nix {};
-  kservice = callPackage ./kservice {};
-  ktexteditor = callPackage ./ktexteditor.nix {};
-  ktextwidgets = callPackage ./ktextwidgets.nix {};
-  kunitconversion = callPackage ./kunitconversion.nix {};
-  kwallet = callPackage ./kwallet.nix {};
-  kwayland = callPackage ./kwayland.nix {};
-  kwidgetsaddons = callPackage ./kwidgetsaddons.nix {};
-  kwindowsystem = callPackage ./kwindowsystem.nix {};
-  kxmlgui = callPackage ./kxmlgui.nix {};
-  kxmlrpcclient = callPackage ./kxmlrpcclient.nix {};
-  modemmanager-qt = callPackage ./modemmanager-qt.nix {};
-  networkmanager-qt = callPackage ./networkmanager-qt.nix {};
-  oxygen-icons5 = callPackage ./oxygen-icons5.nix {};
-  plasma-framework = callPackage ./plasma-framework.nix {};
-  solid = callPackage ./solid.nix {};
-  sonnet = callPackage ./sonnet.nix {};
-  syntax-highlighting = callPackage ./syntax-highlighting.nix {};
-  threadweaver = callPackage ./threadweaver.nix {};
-}
+
+in lib.makeScope libsForQt5.newScope packages
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
index 6c0919a2361..b2e3a371e96 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/default.nix
@@ -1,6 +1,20 @@
-{ makeSetupHook, lib, cmake, ecmNoHooks, pkgconfig, qtbase, qttools }:
+{ kdeFramework, lib, copyPathsToStore, cmake, pkgconfig }:
 
-makeSetupHook {
-  deps = lib.chooseDevOutputs [ cmake ecmNoHooks pkgconfig qtbase qttools ];
+kdeFramework {
+  name = "extra-cmake-modules";
+
+  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
+
+  outputs = [ "out" ];  # this package has no runtime components
+
+  propagatedNativeBuildInputs = [ cmake pkgconfig ];
+
+  setupHook = ./setup-hook.sh;
+
+  meta = with lib; {
+    platforms = lib.platforms.linux;
+    homepage = "http://www.kde.org";
+    license = licenses.bsd2;
+    maintainers = [ maintainers.ttuegel ];
+  };
 }
-./setup-hook.sh
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/no-hooks.nix b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/no-hooks.nix
deleted file mode 100644
index 855d6bdb3d2..00000000000
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/no-hooks.nix
+++ /dev/null
@@ -1,18 +0,0 @@
-{ kdeFramework, lib, copyPathsToStore, cmake }:
-
-kdeFramework {
-  name = "extra-cmake-modules";
-
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-
-  outputs = [ "out" ];  # this package has no runtime components
-
-  nativeBuildInputs = [ cmake ];
-
-  meta = with lib; {
-    platforms = lib.platforms.linux;
-    homepage = "http://www.kde.org";
-    license = licenses.bsd2;
-    maintainers = [ maintainers.ttuegel ];
-  };
-}
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
index a1638ca541b..9ee9ef90a44 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
@@ -1,6 +1,6 @@
 _ecmSetXdgDirs() {
-    addToSearchPathOnce XDG_DATA_DIRS "$1/share"
-    addToSearchPathOnce XDG_CONFIG_DIRS "$1/etc/xdg"
+    addToSearchPath XDG_DATA_DIRS "$1/share"
+    addToSearchPath XDG_CONFIG_DIRS "$1/etc/xdg"
 }
 
 envHooks+=(_ecmSetXdgDirs)
diff --git a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
index 029a661601d..325758bf91d 100644
--- a/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
+++ b/pkgs/development/libraries/kde-frameworks/frameworkintegration.nix
@@ -1,6 +1,6 @@
 {
   kdeFramework, lib,
-  ecm,
+  extra-cmake-modules,
   kbookmarks, kcompletion, kconfig, kconfigwidgets, ki18n, kiconthemes, kio,
   knewstuff, knotifications, kpackage, kwidgetsaddons, libXcursor, qtx11extras
 }:
@@ -8,7 +8,7 @@
 kdeFramework {
   name = "frameworkintegration";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kbookmarks kcompletion kconfig kconfigwidgets ki18n kio kiconthemes
     knewstuff knotifications kpackage kwidgetsaddons libXcursor qtx11extras
diff --git a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
index 4f406376faa..25188b009b6 100644
--- a/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kactivities-stats.nix
@@ -1,8 +1,8 @@
-{ kdeFramework, lib, ecm, boost, kactivities, kconfig }:
+{ kdeFramework, lib, extra-cmake-modules, boost, kactivities, kconfig }:
 
 kdeFramework {
   name = "kactivities-stats";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ boost kactivities kconfig ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kactivities.nix b/pkgs/development/libraries/kde-frameworks/kactivities.nix
index a2cacd4b257..167c3f15bbd 100644
--- a/pkgs/development/libraries/kde-frameworks/kactivities.nix
+++ b/pkgs/development/libraries/kde-frameworks/kactivities.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, boost, kcmutils, kconfig
+{ kdeFramework, lib, extra-cmake-modules, boost, kcmutils, kconfig
 , kcoreaddons, kdbusaddons, kdeclarative, kglobalaccel, ki18n
 , kio, kservice, kwindowsystem, kxmlgui, qtdeclarative
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "kactivities";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     boost kcmutils kconfig kcoreaddons kdbusaddons kdeclarative kglobalaccel
     ki18n kio kservice kwindowsystem kxmlgui qtdeclarative
diff --git a/pkgs/development/libraries/kde-frameworks/kapidox.nix b/pkgs/development/libraries/kde-frameworks/kapidox.nix
index f6c60b7731e..749cf9b2970 100644
--- a/pkgs/development/libraries/kde-frameworks/kapidox.nix
+++ b/pkgs/development/libraries/kde-frameworks/kapidox.nix
@@ -1,7 +1,7 @@
-{ kdeFramework, lib, ecm, python }:
+{ kdeFramework, lib, extra-cmake-modules, python }:
 
 kdeFramework {
   name = "kapidox";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm python ];
+  nativeBuildInputs = [ extra-cmake-modules python ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/karchive.nix b/pkgs/development/libraries/kde-frameworks/karchive.nix
index 265df45800f..ca3321bef84 100644
--- a/pkgs/development/libraries/kde-frameworks/karchive.nix
+++ b/pkgs/development/libraries/kde-frameworks/karchive.nix
@@ -1,7 +1,8 @@
-{ kdeFramework, lib, ecm }:
+{ kdeFramework, lib, extra-cmake-modules, qtbase }:
 
 kdeFramework {
   name = "karchive";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kauth/default.nix b/pkgs/development/libraries/kde-frameworks/kauth/default.nix
index f2a1c7717d5..7561575ae84 100644
--- a/pkgs/development/libraries/kde-frameworks/kauth/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kauth/default.nix
@@ -1,9 +1,9 @@
-{ kdeFramework, lib, copyPathsToStore, ecm, kcoreaddons, polkit-qt }:
+{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules, kcoreaddons, polkit-qt, qttools }:
 
 kdeFramework {
   name = "kauth";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
   propagatedBuildInputs = [ kcoreaddons polkit-qt ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
index 50cec5a39c8..36ea7405842 100644
--- a/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
+++ b/pkgs/development/libraries/kde-frameworks/kbookmarks.nix
@@ -1,12 +1,12 @@
 {
-  kdeFramework, lib, ecm,
+  kdeFramework, lib, extra-cmake-modules,
   kcodecs, kconfig, kconfigwidgets, kcoreaddons, kiconthemes, kxmlgui
 }:
 
 kdeFramework {
   name = "kbookmarks";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kcodecs kconfig kconfigwidgets kcoreaddons kiconthemes kxmlgui
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix b/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
index dd1af737d68..fdf55174548 100644
--- a/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcmutils/default.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, kconfigwidgets
+{ kdeFramework, lib, extra-cmake-modules, kconfigwidgets
 , kcoreaddons, kdeclarative, ki18n, kiconthemes, kitemviews
 , kpackage, kservice, kxmlgui
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "kcmutils";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kconfigwidgets kcoreaddons kdeclarative ki18n kiconthemes kitemviews
     kpackage kservice kxmlgui
diff --git a/pkgs/development/libraries/kde-frameworks/kcodecs.nix b/pkgs/development/libraries/kde-frameworks/kcodecs.nix
index a3fcd3023f5..482c30b7b57 100644
--- a/pkgs/development/libraries/kde-frameworks/kcodecs.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcodecs.nix
@@ -1,7 +1,8 @@
-{ kdeFramework, lib, ecm }:
+{ kdeFramework, lib, extra-cmake-modules, qtbase, qttools }:
 
 kdeFramework {
   name = "kcodecs";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kcompletion.nix b/pkgs/development/libraries/kde-frameworks/kcompletion.nix
index 893f374933e..f143524889a 100644
--- a/pkgs/development/libraries/kde-frameworks/kcompletion.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcompletion.nix
@@ -1,8 +1,9 @@
-{ kdeFramework, lib, ecm, kconfig, kwidgetsaddons }:
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kwidgetsaddons, qtbase, qttools }:
 
 kdeFramework {
   name = "kcompletion";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  buildInputs = [ qtbase ];
   propagatedBuildInputs = [ kconfig kwidgetsaddons ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kconfig.nix b/pkgs/development/libraries/kde-frameworks/kconfig.nix
index 0f003f8ea97..981256e75bf 100644
--- a/pkgs/development/libraries/kde-frameworks/kconfig.nix
+++ b/pkgs/development/libraries/kde-frameworks/kconfig.nix
@@ -1,7 +1,8 @@
-{ kdeFramework, lib, ecm }:
+{ kdeFramework, lib, extra-cmake-modules, qtbase, qttools }:
 
 kdeFramework {
   name = "kconfig";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
index b88308b634c..c44473bb915 100644
--- a/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kconfigwidgets/default.nix
@@ -1,12 +1,12 @@
 {
-  kdeFramework, lib, ecm,
+  kdeFramework, lib, extra-cmake-modules,
   kauth, kcodecs, kconfig, kdoctools, kguiaddons, ki18n, kwidgetsaddons
 }:
 
 kdeFramework {
   name = "kconfigwidgets";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kauth kconfig kcodecs kguiaddons ki18n kwidgetsaddons
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
index ca8c521894b..f5d04a30b1a 100644
--- a/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcoreaddons.nix
@@ -1,8 +1,9 @@
-{ kdeFramework, lib, fetchurl, ecm, shared_mime_info }:
+{ kdeFramework, lib, fetchurl, extra-cmake-modules, qtbase, qttools, shared_mime_info }:
 
 kdeFramework {
   name = "kcoreaddons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  buildInputs = [ qtbase ];
   propagatedBuildInputs = [ shared_mime_info ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kcrash.nix b/pkgs/development/libraries/kde-frameworks/kcrash.nix
index 2fcadc828cf..bd008c732af 100644
--- a/pkgs/development/libraries/kde-frameworks/kcrash.nix
+++ b/pkgs/development/libraries/kde-frameworks/kcrash.nix
@@ -1,8 +1,8 @@
-{ kdeFramework, lib, ecm, kcoreaddons, kwindowsystem, qtx11extras }:
+{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, kwindowsystem, qtx11extras }:
 
 kdeFramework {
   name = "kcrash";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kcoreaddons kwindowsystem qtx11extras ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix b/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
index 66320051660..bc5aeff556d 100644
--- a/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdbusaddons.nix
@@ -1,8 +1,8 @@
-{ kdeFramework, lib, ecm, qtx11extras }:
+{ kdeFramework, lib, extra-cmake-modules, qttools, qtx11extras }:
 
 kdeFramework {
   name = "kdbusaddons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
   propagatedBuildInputs = [ qtx11extras ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
index a90a419d9b8..05eaffb9fbf 100644
--- a/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdeclarative.nix
@@ -1,5 +1,5 @@
 {
-  kdeFramework, lib, ecm,
+  kdeFramework, lib, extra-cmake-modules,
   epoxy, kconfig, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kpackage,
   kwidgetsaddons, kwindowsystem, pkgconfig, qtdeclarative
 }:
@@ -7,7 +7,7 @@
 kdeFramework {
   name = "kdeclarative";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     epoxy kconfig kglobalaccel kguiaddons ki18n kiconthemes kio kpackage
     kwidgetsaddons kwindowsystem qtdeclarative
diff --git a/pkgs/development/libraries/kde-frameworks/kded.nix b/pkgs/development/libraries/kde-frameworks/kded.nix
index d8fe820518d..2da1bac8f39 100644
--- a/pkgs/development/libraries/kde-frameworks/kded.nix
+++ b/pkgs/development/libraries/kde-frameworks/kded.nix
@@ -1,12 +1,12 @@
 {
-  kdeFramework, lib, ecm,
+  kdeFramework, lib, extra-cmake-modules,
   kconfig, kcoreaddons, kcrash, kdbusaddons, kdoctools, kinit, kservice
 }:
 
 kdeFramework {
   name = "kded";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kconfig kcoreaddons kcrash kdbusaddons kinit kservice
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
index f3fd315e550..1174972917e 100644
--- a/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdelibs4support/default.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib, copyPathsToStore
-, ecm, docbook_xml_dtd_45, kauth
+, extra-cmake-modules, docbook_xml_dtd_45, kauth
 , karchive, kcompletion, kconfig, kconfigwidgets, kcoreaddons
 , kcrash, kdbusaddons, kded, kdesignerplugin, kdoctools, kemoticons
 , kglobalaccel, kguiaddons, ki18n, kiconthemes, kio, kitemmodels
@@ -15,7 +15,7 @@ kdeFramework {
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
   setupHook = ./setup-hook.sh;
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kauth karchive kcompletion kconfig kconfigwidgets kcoreaddons kcrash
     kdbusaddons kded kdesignerplugin kemoticons kglobalaccel kguiaddons ki18n
diff --git a/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix b/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
index e87bb5bf9d0..8e17a1a60c8 100644
--- a/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdesignerplugin.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , kcompletion
 , kconfig
 , kconfigwidgets
@@ -18,7 +18,7 @@
 kdeFramework {
   name = "kdesignerplugin";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kcompletion kconfig kconfigwidgets kcoreaddons kiconthemes kio
     kitemviews kplotting ktextwidgets kwidgetsaddons kxmlgui sonnet
diff --git a/pkgs/development/libraries/kde-frameworks/kdesu.nix b/pkgs/development/libraries/kde-frameworks/kdesu.nix
index 0c5cb85cc49..fcccea9161f 100644
--- a/pkgs/development/libraries/kde-frameworks/kdesu.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdesu.nix
@@ -1,10 +1,10 @@
-{ kdeFramework, lib, ecm, kcoreaddons, ki18n, kpty
+{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n, kpty
 , kservice
 }:
 
 kdeFramework {
   name = "kdesu";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kcoreaddons ki18n kpty kservice ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdnssd.nix b/pkgs/development/libraries/kde-frameworks/kdnssd.nix
index 49fd368fccb..ad86b660c74 100644
--- a/pkgs/development/libraries/kde-frameworks/kdnssd.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdnssd.nix
@@ -1,11 +1,12 @@
 { kdeFramework, lib
-, ecm
-, avahi
+, extra-cmake-modules, qttools
+, avahi, qtbase
 }:
 
 kdeFramework {
   name = "kdnssd";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
   propagatedBuildInputs = [ avahi ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
index 4a31ea5396d..99fc4c7d023 100644
--- a/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kdoctools/default.nix
@@ -1,11 +1,11 @@
-{ kdeFramework, lib, ecm, docbook_xml_dtd_45
+{ kdeFramework, lib, extra-cmake-modules, docbook_xml_dtd_45
 , docbook5_xsl, karchive, ki18n, perl, perlPackages
 }:
 
 kdeFramework {
   name = "kdoctools";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ karchive ki18n ];
   propagatedNativeBuildInputs = [ perl perlPackages.URI ];
   cmakeFlags = [
diff --git a/pkgs/development/libraries/kde-frameworks/kemoticons.nix b/pkgs/development/libraries/kde-frameworks/kemoticons.nix
index cdffbd50357..1e31277172d 100644
--- a/pkgs/development/libraries/kde-frameworks/kemoticons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kemoticons.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , karchive
 , kconfig
 , kcoreaddons
@@ -9,6 +9,6 @@
 kdeFramework {
   name = "kemoticons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ karchive kconfig kcoreaddons kservice ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix b/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
index 31f692deca6..bc7349e7453 100644
--- a/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kfilemetadata/default.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, copyPathsToStore, ecm
+{ kdeFramework, lib, copyPathsToStore, extra-cmake-modules
 , attr, ebook_tools, exiv2, ffmpeg, karchive, ki18n, poppler, qtbase, taglib
 }:
 
@@ -6,7 +6,7 @@ kdeFramework {
   name = "kfilemetadata";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     attr ebook_tools exiv2 ffmpeg karchive ki18n poppler qtbase taglib
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
index bbb480c3165..1c1336dd4d0 100644
--- a/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
+++ b/pkgs/development/libraries/kde-frameworks/kglobalaccel.nix
@@ -1,5 +1,5 @@
 {
-  kdeFramework, lib, ecm,
+  kdeFramework, lib, extra-cmake-modules,
   kconfig, kcoreaddons, kcrash, kdbusaddons, kservice, kwindowsystem,
   qtx11extras
 }:
@@ -7,7 +7,7 @@
 kdeFramework {
   name = "kglobalaccel";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kconfig kcoreaddons kcrash kdbusaddons kservice kwindowsystem qtx11extras
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
index 9f20ecd598a..6ebfd1104f7 100644
--- a/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kguiaddons.nix
@@ -1,11 +1,11 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , qtx11extras
 }:
 
 kdeFramework {
   name = "kguiaddons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtx11extras ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/khtml.nix b/pkgs/development/libraries/kde-frameworks/khtml.nix
index be1094b7cf5..99f6fe31e0d 100644
--- a/pkgs/development/libraries/kde-frameworks/khtml.nix
+++ b/pkgs/development/libraries/kde-frameworks/khtml.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, giflib, karchive
+{ kdeFramework, lib, extra-cmake-modules, giflib, karchive
 , kcodecs, kglobalaccel, ki18n, kiconthemes, kio, kjs
 , knotifications, kparts, ktextwidgets, kwallet, kwidgetsaddons
 , kwindowsystem, kxmlgui, perl, phonon, qtx11extras, sonnet
@@ -7,7 +7,7 @@
 kdeFramework {
   name = "khtml";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm perl ];
+  nativeBuildInputs = [ extra-cmake-modules perl ];
   propagatedBuildInputs = [
     giflib karchive kcodecs kglobalaccel ki18n kiconthemes kio kjs
     knotifications kparts ktextwidgets kwallet kwidgetsaddons kwindowsystem
diff --git a/pkgs/development/libraries/kde-frameworks/ki18n.nix b/pkgs/development/libraries/kde-frameworks/ki18n.nix
index cf2212413bd..2698a97fd33 100644
--- a/pkgs/development/libraries/kde-frameworks/ki18n.nix
+++ b/pkgs/development/libraries/kde-frameworks/ki18n.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , gettext
 , python
 , qtdeclarative
@@ -9,7 +9,7 @@
 kdeFramework {
   name = "ki18n";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtdeclarative qtscript ];
   propagatedNativeBuildInputs = [ gettext python ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
index 6141db849ef..6102bb0d4b5 100644
--- a/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kiconthemes/default.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib, copyPathsToStore
-, ecm
+, extra-cmake-modules
 , karchive, kconfigwidgets, ki18n, breeze-icons, kitemviews, qtsvg
 }:
 
@@ -7,6 +7,6 @@ kdeFramework {
   name = "kiconthemes";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ breeze-icons kconfigwidgets karchive ki18n kitemviews qtsvg ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kidletime.nix b/pkgs/development/libraries/kde-frameworks/kidletime.nix
index d3f46512db2..758260517e7 100644
--- a/pkgs/development/libraries/kde-frameworks/kidletime.nix
+++ b/pkgs/development/libraries/kde-frameworks/kidletime.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , qtbase
 , qtx11extras
 }:
@@ -7,6 +7,6 @@
 kdeFramework {
   name = "kidletime";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ qtbase qtx11extras ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kimageformats.nix b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
index 631cac4217c..2a8e825893b 100644
--- a/pkgs/development/libraries/kde-frameworks/kimageformats.nix
+++ b/pkgs/development/libraries/kde-frameworks/kimageformats.nix
@@ -1,14 +1,14 @@
 {
   kdeFramework, lib,
-  ecm,
-  ilmbase, karchive
+  extra-cmake-modules,
+  ilmbase, karchive, qtbase
 }:
 
 kdeFramework {
   name = "kimageformats";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
-  buildInputs = [ ilmbase ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ ilmbase qtbase ];
   propagatedBuildInputs = [ karchive ];
   NIX_CFLAGS_COMPILE = "-I${ilmbase.dev}/include/OpenEXR";
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kinit/default.nix b/pkgs/development/libraries/kde-frameworks/kinit/default.nix
index 032bdd30d9e..b965f761e92 100644
--- a/pkgs/development/libraries/kde-frameworks/kinit/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kinit/default.nix
@@ -1,13 +1,13 @@
 {
   kdeFramework, lib, copyPathsToStore,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kconfig, kcrash, ki18n, kio, kservice, kwindowsystem
 }:
 
 kdeFramework {
   name = "kinit";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kconfig kcrash ki18n kio kservice kwindowsystem
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kio/default.nix b/pkgs/development/libraries/kde-frameworks/kio/default.nix
index 7623e44a076..cb67c845903 100644
--- a/pkgs/development/libraries/kde-frameworks/kio/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kio/default.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib, copyPathsToStore
-, ecm, acl, karchive
+, extra-cmake-modules, acl, karchive
 , kbookmarks, kcompletion, kconfig, kconfigwidgets, kcoreaddons
 , kdbusaddons, kdoctools, ki18n, kiconthemes, kitemviews
 , kjobwidgets, knotifications, kservice, ktextwidgets, kwallet
@@ -10,7 +10,7 @@
 kdeFramework {
   name = "kio";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     acl karchive kbookmarks kcompletion kconfig kconfigwidgets kcoreaddons
     kdbusaddons ki18n kiconthemes kitemviews kjobwidgets knotifications kservice
diff --git a/pkgs/development/libraries/kde-frameworks/kitemmodels.nix b/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
index 0a474dfdb7d..d6538e57698 100644
--- a/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
+++ b/pkgs/development/libraries/kde-frameworks/kitemmodels.nix
@@ -1,9 +1,10 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules, qtbase
 }:
 
 kdeFramework {
   name = "kitemmodels";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kitemviews.nix b/pkgs/development/libraries/kde-frameworks/kitemviews.nix
index 0af3de5770a..f114c007038 100644
--- a/pkgs/development/libraries/kde-frameworks/kitemviews.nix
+++ b/pkgs/development/libraries/kde-frameworks/kitemviews.nix
@@ -1,9 +1,10 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules, qtbase, qttools
 }:
 
 kdeFramework {
   name = "kitemviews";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix b/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
index 1337f4109c2..ddc66d2eb20 100644
--- a/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjobwidgets.nix
@@ -1,13 +1,13 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , kcoreaddons
 , kwidgetsaddons
-, qtx11extras
+, qttools, qtx11extras
 }:
 
 kdeFramework {
   name = "kjobwidgets";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
   propagatedBuildInputs = [ kcoreaddons kwidgetsaddons qtx11extras ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kjs.nix b/pkgs/development/libraries/kde-frameworks/kjs.nix
index 12852e6a1e7..abdc15ce8df 100644
--- a/pkgs/development/libraries/kde-frameworks/kjs.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjs.nix
@@ -1,10 +1,10 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , kdoctools
 }:
 
 kdeFramework {
   name = "kjs";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kjsembed.nix b/pkgs/development/libraries/kde-frameworks/kjsembed.nix
index 20c8b2eea16..95bc02422f1 100644
--- a/pkgs/development/libraries/kde-frameworks/kjsembed.nix
+++ b/pkgs/development/libraries/kde-frameworks/kjsembed.nix
@@ -1,10 +1,10 @@
-{ kdeFramework, lib, ecm, kdoctools, ki18n, kjs
+{ kdeFramework, lib, extra-cmake-modules, kdoctools, ki18n, kjs
 , qtsvg
 }:
 
 kdeFramework {
   name = "kjsembed";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [ ki18n kjs qtsvg ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix b/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
index 360d8e90daf..93a6b450f76 100644
--- a/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
+++ b/pkgs/development/libraries/kde-frameworks/kmediaplayer.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , kparts
 , kxmlgui
 }:
@@ -7,6 +7,6 @@
 kdeFramework {
   name = "kmediaplayer";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kparts kxmlgui ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/knewstuff.nix b/pkgs/development/libraries/kde-frameworks/knewstuff.nix
index b6a84e2539d..002418c65ad 100644
--- a/pkgs/development/libraries/kde-frameworks/knewstuff.nix
+++ b/pkgs/development/libraries/kde-frameworks/knewstuff.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, attica, karchive
+{ kdeFramework, lib, extra-cmake-modules, attica, karchive
 , kcompletion, kconfig, kcoreaddons, ki18n, kiconthemes, kio
 , kitemviews, kservice, ktextwidgets, kwidgetsaddons, kxmlgui
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "knewstuff";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     attica karchive kcompletion kconfig kcoreaddons ki18n kiconthemes kio
     kitemviews kservice ktextwidgets kwidgetsaddons kxmlgui
diff --git a/pkgs/development/libraries/kde-frameworks/knotifications.nix b/pkgs/development/libraries/kde-frameworks/knotifications.nix
index 061a5d8d142..c1c07957872 100644
--- a/pkgs/development/libraries/kde-frameworks/knotifications.nix
+++ b/pkgs/development/libraries/kde-frameworks/knotifications.nix
@@ -1,15 +1,15 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules
 , kcodecs, kconfig, kcoreaddons, kwindowsystem
 , libdbusmenu
 , phonon
-, qtx11extras
+, qttools, qtx11extras
 }:
 
 kdeFramework {
   name = "knotifications";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
   propagatedBuildInputs = [
     kcodecs kconfig kcoreaddons kwindowsystem libdbusmenu phonon qtx11extras
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix b/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
index b64f109f08b..0e357aecb99 100644
--- a/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
+++ b/pkgs/development/libraries/kde-frameworks/knotifyconfig.nix
@@ -1,10 +1,10 @@
-{ kdeFramework, lib, ecm, kcompletion, kconfig
+{ kdeFramework, lib, extra-cmake-modules, kcompletion, kconfig
 , ki18n, kio, phonon
 }:
 
 kdeFramework {
   name = "knotifyconfig";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kcompletion kconfig ki18n kio phonon ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
index 86ca5935a75..2953aea9a55 100644
--- a/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpackage/default.nix
@@ -1,13 +1,13 @@
 {
   kdeFramework, fetchurl, lib, copyPathsToStore,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   karchive, kconfig, kcoreaddons, ki18n
 }:
 
 kdeFramework {
   name = "kpackage";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [ karchive kconfig kcoreaddons ki18n ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kparts.nix b/pkgs/development/libraries/kde-frameworks/kparts.nix
index a46fa210b27..ad6ea2dbc30 100644
--- a/pkgs/development/libraries/kde-frameworks/kparts.nix
+++ b/pkgs/development/libraries/kde-frameworks/kparts.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, kconfig, kcoreaddons
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
 , ki18n, kiconthemes, kio, kjobwidgets, knotifications, kservice
 , ktextwidgets, kwidgetsaddons, kxmlgui
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "kparts";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kconfig kcoreaddons ki18n kiconthemes kio kjobwidgets knotifications
     kservice ktextwidgets kwidgetsaddons kxmlgui
diff --git a/pkgs/development/libraries/kde-frameworks/kpeople.nix b/pkgs/development/libraries/kde-frameworks/kpeople.nix
index 4ca9bc7fdbf..6acb5e2eed5 100644
--- a/pkgs/development/libraries/kde-frameworks/kpeople.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpeople.nix
@@ -1,11 +1,11 @@
-{ kdeFramework, lib, ecm, kcoreaddons, ki18n
+{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n
 , kitemviews, kservice, kwidgetsaddons, qtdeclarative
 }:
 
 kdeFramework {
   name = "kpeople";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kcoreaddons ki18n kitemviews kservice kwidgetsaddons qtdeclarative
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kplotting.nix b/pkgs/development/libraries/kde-frameworks/kplotting.nix
index 6eda06445dc..3fa8283d06c 100644
--- a/pkgs/development/libraries/kde-frameworks/kplotting.nix
+++ b/pkgs/development/libraries/kde-frameworks/kplotting.nix
@@ -1,9 +1,10 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules, qtbase
 }:
 
 kdeFramework {
   name = "kplotting";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kpty.nix b/pkgs/development/libraries/kde-frameworks/kpty.nix
index d42f96fb92c..8bdaacb85f8 100644
--- a/pkgs/development/libraries/kde-frameworks/kpty.nix
+++ b/pkgs/development/libraries/kde-frameworks/kpty.nix
@@ -1,8 +1,8 @@
-{ kdeFramework, lib, ecm, kcoreaddons, ki18n }:
+{ kdeFramework, lib, extra-cmake-modules, kcoreaddons, ki18n }:
 
 kdeFramework {
   name = "kpty";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ kcoreaddons ki18n ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kross.nix b/pkgs/development/libraries/kde-frameworks/kross.nix
index ae098654eb1..0e66d95b5cc 100644
--- a/pkgs/development/libraries/kde-frameworks/kross.nix
+++ b/pkgs/development/libraries/kde-frameworks/kross.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, kcompletion, kcoreaddons
+{ kdeFramework, lib, extra-cmake-modules, kcompletion, kcoreaddons
 , kdoctools, ki18n, kiconthemes, kio, kparts, kwidgetsaddons
 , kxmlgui, qtscript
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "kross";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kcompletion kcoreaddons ki18n kiconthemes kio kparts kwidgetsaddons kxmlgui
     qtscript
diff --git a/pkgs/development/libraries/kde-frameworks/krunner.nix b/pkgs/development/libraries/kde-frameworks/krunner.nix
index 064a89e0806..ec9ab7abe9f 100644
--- a/pkgs/development/libraries/kde-frameworks/krunner.nix
+++ b/pkgs/development/libraries/kde-frameworks/krunner.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, kconfig, kcoreaddons
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kcoreaddons
 , ki18n, kio, kservice, plasma-framework, solid
 , threadweaver
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "krunner";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kconfig kcoreaddons ki18n kio kservice plasma-framework solid
     threadweaver
diff --git a/pkgs/development/libraries/kde-frameworks/kservice/default.nix b/pkgs/development/libraries/kde-frameworks/kservice/default.nix
index ca840fc8b71..2751a7f5d6e 100644
--- a/pkgs/development/libraries/kde-frameworks/kservice/default.nix
+++ b/pkgs/development/libraries/kde-frameworks/kservice/default.nix
@@ -1,13 +1,13 @@
 {
   kdeFramework, lib, copyPathsToStore,
-  bison, ecm, flex,
+  bison, extra-cmake-modules, flex,
   kconfig, kcoreaddons, kcrash, kdbusaddons, kdoctools, ki18n, kwindowsystem
 }:
 
 kdeFramework {
   name = "kservice";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  propagatedNativeBuildInputs = [ bison ecm flex ];
+  propagatedNativeBuildInputs = [ bison extra-cmake-modules flex ];
   nativeBuildInputs = [ kdoctools ];
   propagatedBuildInputs = [ kconfig kcoreaddons kcrash kdbusaddons ki18n kwindowsystem ];
   patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
diff --git a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
index 0e444cc8db6..fbd73c65eff 100644
--- a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
@@ -1,5 +1,5 @@
 { kdeFramework, lib, copyPathsToStore
-, ecm, perl
+, extra-cmake-modules, perl
 , karchive, kconfig, kguiaddons, kiconthemes, kparts
 , libgit2
 , qtscript, qtxmlpatterns
@@ -9,7 +9,7 @@
 kdeFramework {
   name = "ktexteditor";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm perl ];
+  nativeBuildInputs = [ extra-cmake-modules perl ];
   propagatedBuildInputs = [
     karchive kconfig kguiaddons ki18n kiconthemes kio kparts libgit2 qtscript
     qtxmlpatterns sonnet syntax-highlighting
diff --git a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
index 3a1258e9a37..25954c60397 100644
--- a/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktextwidgets.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, kcompletion, kconfig
+{ kdeFramework, lib, extra-cmake-modules, kcompletion, kconfig
 , kconfigwidgets, ki18n, kiconthemes, kservice, kwindowsystem
 , sonnet
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "ktextwidgets";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     kcompletion kconfig kconfigwidgets ki18n kiconthemes kservice kwindowsystem
     sonnet
diff --git a/pkgs/development/libraries/kde-frameworks/kunitconversion.nix b/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
index 136587cc682..c04ded722aa 100644
--- a/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
+++ b/pkgs/development/libraries/kde-frameworks/kunitconversion.nix
@@ -1,8 +1,8 @@
-{ kdeFramework, lib, ecm, ki18n }:
+{ kdeFramework, lib, extra-cmake-modules, ki18n }:
 
 kdeFramework {
   name = "kunitconversion";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ ki18n ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kwallet.nix b/pkgs/development/libraries/kde-frameworks/kwallet.nix
index fb801f48b11..f02c6138df7 100644
--- a/pkgs/development/libraries/kde-frameworks/kwallet.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwallet.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, kconfig, kconfigwidgets
+{ kdeFramework, lib, extra-cmake-modules, kconfig, kconfigwidgets
 , kcoreaddons , kdbusaddons, kdoctools, ki18n, kiconthemes
 , knotifications , kservice, kwidgetsaddons, kwindowsystem, libgcrypt
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "kwallet";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kconfig kconfigwidgets kcoreaddons kdbusaddons ki18n kiconthemes
     knotifications kservice kwidgetsaddons kwindowsystem libgcrypt
diff --git a/pkgs/development/libraries/kde-frameworks/kwayland.nix b/pkgs/development/libraries/kde-frameworks/kwayland.nix
index c530bf80a90..b5255022a86 100644
--- a/pkgs/development/libraries/kde-frameworks/kwayland.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwayland.nix
@@ -1,13 +1,14 @@
 { kdeFramework
-, ecm
-, wayland
+, extra-cmake-modules
+, qtbase, wayland
 }:
 
 kdeFramework {
   name = "kwayland";
   nativeBuildInputs = [
-    ecm
+    extra-cmake-modules
   ];
+  buildInputs = [ qtbase ];
   propagatedBuildInputs = [
     wayland
   ];
diff --git a/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix b/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
index ae34e60c4c1..c5c0063c463 100644
--- a/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwidgetsaddons.nix
@@ -1,9 +1,10 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules, qtbase, qttools
 }:
 
 kdeFramework {
   name = "kwidgetsaddons";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix b/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix
index 64186a30ead..e55c4021b9e 100644
--- a/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix
+++ b/pkgs/development/libraries/kde-frameworks/kwindowsystem.nix
@@ -1,11 +1,11 @@
 { kdeFramework, lib
-, ecm
-, qtx11extras
+, extra-cmake-modules
+, qttools, qtx11extras
 }:
 
 kdeFramework {
   name = "kwindowsystem";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
   propagatedBuildInputs = [ qtx11extras ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
index c48fc9efdfa..ea800bf58ae 100644
--- a/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
+++ b/pkgs/development/libraries/kde-frameworks/kxmlgui.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, ecm, attica, kconfig
+{ kdeFramework, lib, extra-cmake-modules, attica, kconfig
 , kconfigwidgets, kglobalaccel, ki18n, kiconthemes, kitemviews
 , ktextwidgets, kwindowsystem, sonnet
 }:
@@ -6,7 +6,7 @@
 kdeFramework {
   name = "kxmlgui";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [
     attica kconfig kconfigwidgets kglobalaccel ki18n kiconthemes kitemviews
     ktextwidgets kwindowsystem sonnet
diff --git a/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix b/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
index 31301875351..f20f4a22394 100644
--- a/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
+++ b/pkgs/development/libraries/kde-frameworks/kxmlrpcclient.nix
@@ -1,8 +1,8 @@
-{ kdeFramework, lib, ecm, ki18n, kio }:
+{ kdeFramework, lib, extra-cmake-modules, ki18n, kio }:
 
 kdeFramework {
   name = "kxmlrpcclient";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
   propagatedBuildInputs = [ ki18n kio ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix b/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
index bf3487dcb39..b4d05678dc2 100644
--- a/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/modemmanager-qt.nix
@@ -1,11 +1,12 @@
 { kdeFramework, lib
-, ecm
-, modemmanager
+, extra-cmake-modules
+, modemmanager, qtbase
 }:
 
 kdeFramework {
   name = "modemmanager-qt";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
   propagatedBuildInputs = [ modemmanager ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix b/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
index bb596863538..9d765eac95c 100644
--- a/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
+++ b/pkgs/development/libraries/kde-frameworks/networkmanager-qt.nix
@@ -1,11 +1,12 @@
 { kdeFramework, lib
-, ecm
-, networkmanager
+, extra-cmake-modules
+, qtbase, networkmanager
 }:
 
 kdeFramework {
   name = "networkmanager-qt";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
   propagatedBuildInputs = [ networkmanager ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix b/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
index 42978b46992..1d45b51274c 100644
--- a/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
+++ b/pkgs/development/libraries/kde-frameworks/oxygen-icons5.nix
@@ -1,6 +1,6 @@
 { kdeFramework
 , lib
-, ecm
+, extra-cmake-modules, qtbase
 }:
 
 kdeFramework {
@@ -10,5 +10,6 @@ kdeFramework {
     maintainers = [ lib.maintainers.ttuegel ];
   };
   outputs = [ "out" ];
-  nativeBuildInputs = [ ecm ];
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
index 963e9322727..2fd667af0dc 100644
--- a/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
+++ b/pkgs/development/libraries/kde-frameworks/plasma-framework.nix
@@ -1,4 +1,4 @@
-{ kdeFramework, lib, fetchurl, ecm, kactivities, karchive
+{ kdeFramework, lib, fetchurl, extra-cmake-modules, kactivities, karchive
 , kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kdeclarative
 , kdoctools, kglobalaccel, kguiaddons, ki18n, kiconthemes, kio
 , knotifications, kpackage, kservice, kwayland, kwindowsystem, kxmlgui
@@ -8,7 +8,7 @@
 kdeFramework {
   name = "plasma-framework";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm kdoctools ];
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
   propagatedBuildInputs = [
     kactivities karchive kconfig kconfigwidgets kcoreaddons kdbusaddons
     kdeclarative kglobalaccel kguiaddons ki18n kiconthemes kio knotifications
diff --git a/pkgs/development/libraries/kde-frameworks/solid.nix b/pkgs/development/libraries/kde-frameworks/solid.nix
index de10a734558..330b64035a1 100644
--- a/pkgs/development/libraries/kde-frameworks/solid.nix
+++ b/pkgs/development/libraries/kde-frameworks/solid.nix
@@ -1,12 +1,12 @@
 {
   kdeFramework, lib,
-  bison, ecm, flex,
-  qtdeclarative
+  bison, extra-cmake-modules, flex,
+  qtdeclarative, qttools
 }:
 
 kdeFramework {
   name = "solid";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ bison ecm flex ];
+  nativeBuildInputs = [ bison extra-cmake-modules flex qttools ];
   propagatedBuildInputs = [ qtdeclarative ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/sonnet.nix b/pkgs/development/libraries/kde-frameworks/sonnet.nix
index 8b1cf6a2cd1..190f2bae1b8 100644
--- a/pkgs/development/libraries/kde-frameworks/sonnet.nix
+++ b/pkgs/development/libraries/kde-frameworks/sonnet.nix
@@ -1,11 +1,11 @@
 { kdeFramework, lib
-, ecm
-, hunspell
+, extra-cmake-modules
+, hunspell, qtbase, qttools
 }:
 
 kdeFramework {
   name = "sonnet";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm ];
-  buildInputs = [ hunspell ];
+  nativeBuildInputs = [ extra-cmake-modules qttools ];
+  buildInputs = [ hunspell qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix b/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
index 24b1bbc4f67..155e9fb8961 100644
--- a/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
+++ b/pkgs/development/libraries/kde-frameworks/syntax-highlighting.nix
@@ -1,9 +1,10 @@
 { kdeFramework, lib
-, ecm, perl
+, extra-cmake-modules, perl, qtbase, qttools
 }:
 
 kdeFramework {
   name = "syntax-highlighting";
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
-  nativeBuildInputs = [ ecm perl ];
+  nativeBuildInputs = [ extra-cmake-modules perl qttools ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/threadweaver.nix b/pkgs/development/libraries/kde-frameworks/threadweaver.nix
index 6d3dff60413..bf36a21e9ec 100644
--- a/pkgs/development/libraries/kde-frameworks/threadweaver.nix
+++ b/pkgs/development/libraries/kde-frameworks/threadweaver.nix
@@ -1,9 +1,10 @@
 { kdeFramework, lib
-, ecm
+, extra-cmake-modules, qtbase
 }:
 
 kdeFramework {
   name = "threadweaver";
-  nativeBuildInputs = [ ecm ];
   meta = { maintainers = [ lib.maintainers.ttuegel ]; };
+  nativeBuildInputs = [ extra-cmake-modules ];
+  buildInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/kirigami/default.nix b/pkgs/development/libraries/kirigami/default.nix
index 0fd80d7fa53..66e67e6b853 100644
--- a/pkgs/development/libraries/kirigami/default.nix
+++ b/pkgs/development/libraries/kirigami/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, ecm, pkgconfig, plasma-framework, qtbase, qtquickcontrols }:
+{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig, plasma-framework, qtbase, qtquickcontrols }:
 
 stdenv.mkDerivation rec {
   pname = "kirigami";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase qtquickcontrols plasma-framework ];
 
-  nativeBuildInputs = [ cmake pkgconfig ecm ];
+  nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ];
 
   meta = with stdenv.lib; {
     license = licenses.lgpl2;
diff --git a/pkgs/development/libraries/kirigami/v2.nix b/pkgs/development/libraries/kirigami/v2.nix
index 7dc6e799bcf..0b332d40329 100644
--- a/pkgs/development/libraries/kirigami/v2.nix
+++ b/pkgs/development/libraries/kirigami/v2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, ecm, pkgconfig, plasma-framework, qtbase, qtquickcontrols2 }:
+{ stdenv, fetchurl, cmake, extra-cmake-modules, pkgconfig, plasma-framework, qtbase, qtquickcontrols2 }:
 
 stdenv.mkDerivation rec {
   pname = "kirigami";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase qtquickcontrols2 plasma-framework ];
 
-  nativeBuildInputs = [ cmake pkgconfig ecm ];
+  nativeBuildInputs = [ cmake pkgconfig extra-cmake-modules ];
 
   meta = with stdenv.lib; {
     license = licenses.lgpl2;
diff --git a/pkgs/development/libraries/libktorrent/default.nix b/pkgs/development/libraries/libktorrent/default.nix
index e5406d3a2a5..8b9778b269d 100644
--- a/pkgs/development/libraries/libktorrent/default.nix
+++ b/pkgs/development/libraries/libktorrent/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, cmake, ecm
+{ stdenv, fetchurl, cmake, extra-cmake-modules
 , karchive, kcrash, ki18n, kio, solid
 , boost, gmp, qca-qt5, libgcrypt
 }:
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "dev" ];
 
-  nativeBuildInputs = [ cmake ecm ];
+  nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [ karchive kcrash ki18n kio solid qca-qt5 libgcrypt ];
 
   propagatedBuildInputs = [ gmp boost ];
diff --git a/pkgs/development/libraries/phonon/default.nix b/pkgs/development/libraries/phonon/default.nix
index 31d8b7d7c8e..defeb8db490 100644
--- a/pkgs/development/libraries/phonon/default.nix
+++ b/pkgs/development/libraries/phonon/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, cmake, mesa, pkgconfig, libpulseaudio
-, qt4 ? null, ecm ? null, qtbase ? null, qttools ? null
+, qt4 ? null, extra-cmake-modules ? null, qtbase ? null, qttools ? null
 , withQt5 ? false
 , debug ? false }:
 
@@ -32,7 +32,9 @@ stdenv.mkDerivation rec {
     [ mesa libpulseaudio ]
     ++ (if withQt5 then [ qtbase qttools ] else [ qt4 ]);
 
-  nativeBuildInputs = [ cmake pkgconfig ] ++ optional withQt5 ecm;
+  nativeBuildInputs =
+    [ cmake pkgconfig ]
+    ++ optional withQt5 extra-cmake-modules;
 
   NIX_CFLAGS_COMPILE = "-fPIC";
 
diff --git a/pkgs/development/tools/profiling/heaptrack/default.nix b/pkgs/development/tools/profiling/heaptrack/default.nix
index 5d151b9c9a3..69aa84951a4 100644
--- a/pkgs/development/tools/profiling/heaptrack/default.nix
+++ b/pkgs/development/tools/profiling/heaptrack/default.nix
@@ -1,5 +1,5 @@
 {
-  stdenv, fetchFromGitHub, cmake, ecm,
+  stdenv, fetchFromGitHub, cmake, extra-cmake-modules,
   zlib, boost162, libunwind, elfutils, sparsehash,
   qtbase, kio, kitemmodels, threadweaver, kconfigwidgets, kcoreaddons,
 }:
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     sha256 = "0dqchd2r4khv9gzj4n0qjii2nqygkj5jclkji8jbvivx5qwsqznc";
   };
 
-  nativeBuildInputs = [ cmake ecm ];
+  nativeBuildInputs = [ cmake extra-cmake-modules ];
   buildInputs = [
     zlib boost162 libunwind elfutils sparsehash
     qtbase kio kitemmodels threadweaver kconfigwidgets kcoreaddons
diff --git a/pkgs/development/tools/tora/default.nix b/pkgs/development/tools/tora/default.nix
index 9f8f2df358a..350cda4e263 100644
--- a/pkgs/development/tools/tora/default.nix
+++ b/pkgs/development/tools/tora/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromGitHub, cmake, ecm, makeQtWrapper
+{ stdenv, lib, fetchFromGitHub, cmake, extra-cmake-modules, makeQtWrapper
 , boost, doxygen, openssl, mysql, postgresql, graphviz, loki, qscintilla, qtbase }:
 
 let
@@ -18,7 +18,7 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs = [
-    cmake ecm makeQtWrapper
+    cmake extra-cmake-modules makeQtWrapper
     boost doxygen graphviz loki mysql openssl postgresql qscintillaLib qtbase
   ];
 
diff --git a/pkgs/tools/misc/colord-kde/default.nix b/pkgs/tools/misc/colord-kde/default.nix
index 7dc48db104c..0c8e9d6bcee 100644
--- a/pkgs/tools/misc/colord-kde/default.nix
+++ b/pkgs/tools/misc/colord-kde/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl
-, ecm, ki18n
+, extra-cmake-modules, ki18n
 , kconfig, kconfigwidgets, kcoreaddons, kdbusaddons, kiconthemes, kcmutils
 , kio, knotifications, plasma-framework, kwidgetsaddons, kwindowsystem
 , kitemviews, lcms2, libXrandr, qtx11extras
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     sha256 = "0brdnpflm95vf4l41clrqxwvjrdwhs859n7401wxcykkmw4m0m3c";
   };
 
-  nativeBuildInputs = [ ecm ki18n ];
+  nativeBuildInputs = [ extra-cmake-modules ki18n ];
 
   buildInputs = [
     kconfig kconfigwidgets kcoreaddons kdbusaddons kiconthemes
diff --git a/pkgs/tools/misc/kdecoration-viewer/default.nix b/pkgs/tools/misc/kdecoration-viewer/default.nix
index c32a814f232..33ccf28cb0d 100644
--- a/pkgs/tools/misc/kdecoration-viewer/default.nix
+++ b/pkgs/tools/misc/kdecoration-viewer/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub
-, cmake, ecm, qtquickcontrols, kconfigwidgets, kdeclarative, kdecoration }:
+, cmake, extra-cmake-modules, qtquickcontrols, kconfigwidgets, kdeclarative, kdecoration }:
 
 stdenv.mkDerivation rec {
   name = "kdecoration-viewer-2015-08-20";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "1cc4xxv72a82p1w9r76090xba7g069r41bi4zx32k4gz3vyl1am6";
   };
 
-  buildInputs = [ cmake ecm qtquickcontrols kconfigwidgets kdeclarative kdecoration ];
+  buildInputs = [ cmake extra-cmake-modules qtquickcontrols kconfigwidgets kdeclarative kdecoration ];
 
   meta = with stdenv.lib; {
     description = "Allows to preview a KDecoration plugin";
diff --git a/pkgs/tools/misc/kronometer/default.nix b/pkgs/tools/misc/kronometer/default.nix
index 598d0126623..5ba2543e273 100644
--- a/pkgs/tools/misc/kronometer/default.nix
+++ b/pkgs/tools/misc/kronometer/default.nix
@@ -1,6 +1,6 @@
 {
   kdeDerivation, kdeWrapper, fetchurl, lib,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   kconfig, kinit
 }:
 
@@ -19,7 +19,7 @@ let
       license = licenses.gpl2;
       maintainers = with maintainers; [ peterhoeg ];
     };
-    nativeBuildInputs = [ ecm kdoctools ];
+    nativeBuildInputs = [ extra-cmake-modules kdoctools ];
     propagatedBuildInputs = [ kconfig kinit ];
   };
 in
diff --git a/pkgs/tools/misc/peruse/default.nix b/pkgs/tools/misc/peruse/default.nix
index 61e9fae906b..1c7a28e2975 100644
--- a/pkgs/tools/misc/peruse/default.nix
+++ b/pkgs/tools/misc/peruse/default.nix
@@ -1,6 +1,6 @@
 {
   kdeDerivation, kdeWrapper, fetchFromGitHub, fetchurl, lib,
-  ecm, kdoctools,
+  extra-cmake-modules, kdoctools,
   baloo, kconfig, kfilemetadata, kinit, kirigami, knewstuff, plasma-framework
 }:
 
@@ -21,7 +21,7 @@ let
       sha256 = "1ik2627xynkichsq9x28rkczqn3l3p06q6vw5jdafdh3hisccmjq";
     };
 
-    nativeBuildInputs = [ ecm kdoctools ];
+    nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 
     propagatedBuildInputs = [ baloo kconfig kfilemetadata kinit kirigami knewstuff plasma-framework ];
 
diff --git a/pkgs/tools/text/kdiff3/default.nix b/pkgs/tools/text/kdiff3/default.nix
index f1ae958ed63..b53d619d837 100644
--- a/pkgs/tools/text/kdiff3/default.nix
+++ b/pkgs/tools/text/kdiff3/default.nix
@@ -1,6 +1,6 @@
 {
   kdeDerivation, kdeWrapper, lib, fetchgit,
-  ecm, kdoctools, kconfig, kinit, kparts
+  extra-cmake-modules, kdoctools, kconfig, kinit, kparts
 }:
 
 let
@@ -18,7 +18,7 @@ let
 
     preConfigure = "cd kdiff3";
 
-    nativeBuildInputs = [ ecm kdoctools ];
+    nativeBuildInputs = [ extra-cmake-modules kdoctools ];
 
     propagatedBuildInputs = [ kconfig kinit kparts ];
 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 297aae6147e..0571966d15b 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -6292,7 +6292,7 @@ with pkgs;
   cmakeWithGui = cmakeCurses.override { useQt4 = true; };
 
   # Does not actually depend on Qt 5
-  extra-cmake-modules = libsForQt5.ecmNoHooks;
+  inherit (kdeFrameworks) extra-cmake-modules;
 
   coccinelle = callPackage ../development/tools/misc/coccinelle {
     ocamlPackages = ocamlPackages_4_01_0;
@@ -7852,6 +7852,16 @@ with pkgs;
 
   judy = callPackage ../development/libraries/judy { };
 
+  kdeFrameworks =
+    let
+      mkFrameworks = import ../development/libraries/kde-frameworks;
+      attrs = {
+        inherit libsForQt5;
+        inherit kdeDerivation lib fetchurl;
+      };
+    in
+      recurseIntoAttrs (makeOverridable mkFrameworks attrs);
+
   kdelibs4 = kdeApplications.kdelibs;
 
   keybinder = callPackage ../development/libraries/keybinder {
@@ -9341,12 +9351,14 @@ with pkgs;
 
   qt5ct = libsForQt5.callPackage ../tools/misc/qt5ct { };
 
-  mkLibsForQt5 = self: with self;
-    let kdeFrameworks = import ../development/libraries/kde-frameworks {
-          inherit (self) newScope;
-          inherit kdeDerivation lib fetchurl;
-        };
-    in {
+  mkLibsForQt5 = self: with self; {
+
+    ### KDE FRAMEWORKS
+
+    inherit (kdeFrameworks.override { libsForQt5 = self; })
+      attica;
+
+    ### LIBRARIES
 
     ### BUILD SUPPORT
 
@@ -9426,7 +9438,7 @@ with pkgs;
 
     qtwebkit-plugins = callPackage ../development/libraries/qtwebkit-plugins { };
 
-  } // kdeFrameworks;
+  };
 
   qtEnv = qt5.env;
   qt5Full = qt5.full;
@@ -12140,6 +12152,8 @@ with pkgs;
 
   bgnet = callPackage ../data/documentation/bgnet { };
 
+  inherit (kdeFrameworks) breeze-icons;
+
   cacert = callPackage ../data/misc/cacert { };
 
   caladea = callPackage ../data/fonts/caladea {};
@@ -12376,6 +12390,8 @@ with pkgs;
 
   oxygenfonts = callPackage ../data/fonts/oxygenfonts { };
 
+  inherit (kdeFrameworks) oxygen-icons5;
+
   paper-icon-theme = callPackage ../data/icons/paper-icon-theme { };
 
   pecita = callPackage ../data/fonts/pecita {};