public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/kde:master commit in: kde-frameworks/kdbusaddons/, kde-frameworks/kservice/, kde-frameworks/kcmutils/, ...
@ 2019-11-10 17:11 Andreas Sturmlechner
  0 siblings, 0 replies; only message in thread
From: Andreas Sturmlechner @ 2019-11-10 17:11 UTC (permalink / raw
  To: gentoo-commits

commit:     488f765a65ba775083a645e60d5a3185ba3c5e6a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Nov  4 18:55:01 2019 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Nov 10 17:06:53 2019 +0000
URL:        https://gitweb.gentoo.org/proj/kde.git/commit/?id=488f765a

kde-frameworks: Port 5.64.0 to ecm.eclass and kde.org.eclass

Package-Manager: Portage-2.3.78, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 kde-frameworks/attica/attica-5.64.0.ebuild         |  7 +-
 kde-frameworks/baloo/baloo-5.64.0.ebuild           | 33 ++++----
 kde-frameworks/bluez-qt/bluez-qt-5.64.0.ebuild     | 13 +--
 .../extra-cmake-modules-5.64.0.ebuild              |  7 +-
 .../frameworkintegration-5.64.0.ebuild             | 34 ++++----
 .../kactivities-stats-5.64.0.ebuild                | 12 +--
 .../kactivities/kactivities-5.64.0.ebuild          | 19 +++--
 kde-frameworks/karchive/karchive-5.64.0.ebuild     |  4 +-
 kde-frameworks/kauth/kauth-5.64.0.ebuild           | 18 +++--
 kde-frameworks/kbookmarks/kbookmarks-5.64.0.ebuild | 28 ++++---
 .../kcalendarcore/kcalendarcore-5.64.0.ebuild      |  7 +-
 kde-frameworks/kcmutils/kcmutils-5.64.0.ebuild     | 36 +++++----
 kde-frameworks/kcodecs/kcodecs-5.64.0.ebuild       |  5 +-
 .../kcompletion/kcompletion-5.64.0.ebuild          | 15 ++--
 kde-frameworks/kconfig/kconfig-5.64.0.ebuild       | 15 ++--
 .../kconfigwidgets/kconfigwidgets-5.64.0.ebuild    | 28 ++++---
 kde-frameworks/kcontacts/kcontacts-5.64.0.ebuild   | 18 +++--
 .../kcoreaddons/kcoreaddons-5.64.0.ebuild          | 11 +--
 kde-frameworks/kcrash/kcrash-5.64.0.ebuild         | 16 ++--
 .../kdbusaddons/kdbusaddons-5.64.0.ebuild          | 11 +--
 .../kdeclarative/kdeclarative-5.64.0.ebuild        | 34 ++++----
 kde-frameworks/kded/kded-5.64.0.ebuild             | 30 +++----
 .../kdelibs4support/kdelibs4support-5.64.0.ebuild  | 94 +++++++++++-----------
 .../kdesignerplugin/kdesignerplugin-5.64.0.ebuild  | 16 ++--
 kde-frameworks/kdesu/kdesu-5.64.0.ebuild           | 17 ++--
 kde-frameworks/kdewebkit/kdewebkit-5.64.0.ebuild   | 34 ++++----
 kde-frameworks/kdnssd/kdnssd-5.64.0.ebuild         | 11 +--
 kde-frameworks/kdoctools/kdoctools-5.64.0.ebuild   | 13 +--
 kde-frameworks/kemoticons/kemoticons-5.64.0.ebuild | 18 +++--
 .../kfilemetadata/kfilemetadata-5.64.0.ebuild      | 21 ++---
 .../kglobalaccel/kglobalaccel-5.64.0.ebuild        | 24 +++---
 kde-frameworks/kguiaddons/kguiaddons-5.64.0.ebuild |  7 +-
 kde-frameworks/kholidays/kholidays-5.64.0.ebuild   | 13 +--
 kde-frameworks/khtml/khtml-5.64.0.ebuild           | 66 +++++++--------
 kde-frameworks/ki18n/ki18n-5.64.0.ebuild           | 11 +--
 .../kiconthemes/kiconthemes-5.64.0.ebuild          | 26 +++---
 kde-frameworks/kidletime/kidletime-5.64.0.ebuild   | 17 ++--
 .../kimageformats/kimageformats-5.64.0.ebuild      | 14 ++--
 kde-frameworks/kinit/kinit-5.64.0.ebuild           | 30 +++----
 kde-frameworks/kio/kio-5.64.0.ebuild               | 72 +++++++++--------
 kde-frameworks/kirigami/kirigami-5.64.0.ebuild     | 29 +++----
 .../kitemmodels/kitemmodels-5.64.0.ebuild          |  5 +-
 kde-frameworks/kitemviews/kitemviews-5.64.0.ebuild |  9 ++-
 .../kjobwidgets/kjobwidgets-5.64.0.ebuild          | 20 ++---
 kde-frameworks/kjs/kjs-5.64.0.ebuild               |  6 +-
 kde-frameworks/kjsembed/kjsembed-5.64.0.ebuild     | 24 +++---
 .../kmediaplayer/kmediaplayer-5.64.0.ebuild        | 14 ++--
 kde-frameworks/knewstuff/knewstuff-5.64.0.ebuild   | 44 +++++-----
 .../knotifications/knotifications-5.64.0.ebuild    | 28 ++++---
 .../knotifyconfig/knotifyconfig-5.64.0.ebuild      | 20 ++---
 kde-frameworks/kpackage/kpackage-5.64.0.ebuild     | 15 ++--
 kde-frameworks/kparts/kparts-5.64.0.ebuild         | 30 +++----
 kde-frameworks/kpeople/kpeople-5.64.0.ebuild       | 28 ++++---
 kde-frameworks/kplotting/kplotting-5.64.0.ebuild   |  8 +-
 kde-frameworks/kpty/kpty-5.64.0.ebuild             |  9 ++-
 kde-frameworks/kross/kross-5.64.0.ebuild           | 34 ++++----
 kde-frameworks/krunner/krunner-5.64.0.ebuild       | 30 +++----
 kde-frameworks/kservice/kservice-5.64.0.ebuild     | 26 +++---
 .../ktexteditor/ktexteditor-5.64.0.ebuild          | 56 ++++++-------
 .../ktextwidgets/ktextwidgets-5.64.0.ebuild        | 32 ++++----
 .../kunitconversion/kunitconversion-5.64.0.ebuild  | 10 ++-
 kde-frameworks/kwallet/kwallet-5.64.0.ebuild       | 32 ++++----
 kde-frameworks/kwayland/kwayland-5.64.0.ebuild     | 12 +--
 .../kwidgetsaddons/kwidgetsaddons-5.64.0.ebuild    | 13 +--
 .../kwindowsystem/kwindowsystem-5.64.0.ebuild      | 13 +--
 kde-frameworks/kxmlgui/kxmlgui-5.64.0.ebuild       | 44 +++++-----
 .../kxmlrpcclient/kxmlrpcclient-5.64.0.ebuild      | 14 ++--
 .../modemmanager-qt/modemmanager-qt-5.64.0.ebuild  |  8 +-
 .../networkmanager-qt-5.64.0.ebuild                |  9 ++-
 .../oxygen-icons/oxygen-icons-5.64.0.ebuild        |  6 +-
 kde-frameworks/plasma/plasma-5.64.0.ebuild         | 64 ++++++++-------
 kde-frameworks/prison/prison-5.64.0.ebuild         |  9 ++-
 kde-frameworks/purpose/purpose-5.64.0.ebuild       | 30 +++----
 .../qqc2-desktop-style-5.64.0.ebuild               | 22 ++---
 kde-frameworks/solid/solid-5.64.0.ebuild           | 17 ++--
 kde-frameworks/sonnet/sonnet-5.64.0.ebuild         | 13 +--
 .../syndication/syndication-5.64.0.ebuild          | 14 ++--
 .../syntax-highlighting-5.64.0.ebuild              | 15 ++--
 .../threadweaver/threadweaver-5.64.0.ebuild        |  4 +-
 79 files changed, 925 insertions(+), 796 deletions(-)

diff --git a/kde-frameworks/attica/attica-5.64.0.ebuild b/kde-frameworks/attica/attica-5.64.0.ebuild
index 080520ba58..cdc35a3939 100644
--- a/kde-frameworks/attica/attica-5.64.0.ebuild
+++ b/kde-frameworks/attica/attica-5.64.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=7
 
-inherit kde5
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing access to Open Collaboration Services"
 LICENSE="LGPL-2.1+"
@@ -11,7 +12,7 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 RDEPEND="
-	$(add_qt_dep qtnetwork)
+	>=dev-qt/qtnetwork-${QTMIN}:5
 "
 DEPEND="${RDEPEND}"
 
@@ -21,5 +22,5 @@ src_test() {
 		-E "(providertest)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/baloo/baloo-5.64.0.ebuild b/kde-frameworks/baloo/baloo-5.64.0.ebuild
index 912ce46a86..f6b87f1460 100644
--- a/kde-frameworks/baloo/baloo-5.64.0.ebuild
+++ b/kde-frameworks/baloo/baloo-5.64.0.ebuild
@@ -3,28 +3,31 @@
 
 EAPI=7
 
-KDE_TEST="forceoptional"
+ECM_TEST="forceoptional"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for searching and managing metadata"
+LICENSE="LGPL-2+"
 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kcrash)
-	$(add_frameworks_dep kdbusaddons)
-	$(add_frameworks_dep kfilemetadata)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kidletime)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep solid)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kcrash-${PVCUT}:5
+	>=kde-frameworks/kdbusaddons-${PVCUT}:5
+	>=kde-frameworks/kfilemetadata-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kidletime-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/solid-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	>=dev-db/lmdb-0.9.17
 "
 RDEPEND="${DEPEND}

diff --git a/kde-frameworks/bluez-qt/bluez-qt-5.64.0.ebuild b/kde-frameworks/bluez-qt/bluez-qt-5.64.0.ebuild
index e10b920874..9a634c9f2f 100644
--- a/kde-frameworks/bluez-qt/bluez-qt-5.64.0.ebuild
+++ b/kde-frameworks/bluez-qt/bluez-qt-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5 udev
+inherit ecm kde.org udev
 
 DESCRIPTION="Qt wrapper for Bluez 5 DBus API"
 LICENSE="LGPL-2"
@@ -12,9 +13,9 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtnetwork)
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 
@@ -23,7 +24,7 @@ src_configure() {
 		-DUDEV_RULES_INSTALL_DIR="$(get_udevdir)/rules.d"
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_test() {
@@ -33,5 +34,5 @@ src_test() {
 		-E "(managertest)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.64.0.ebuild b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.64.0.ebuild
index 0a94122d54..561fb537fe 100644
--- a/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.64.0.ebuild
+++ b/kde-frameworks/extra-cmake-modules/extra-cmake-modules-5.64.0.ebuild
@@ -4,6 +4,7 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6,7} )
+QTMIN=5.12.3
 inherit cmake-utils kde.org python-any-r1
 
 DESCRIPTION="Extra modules and scripts for CMake"
@@ -17,11 +18,11 @@ BDEPEND="
 	doc? (
 		${PYTHON_DEPS}
 		$(python_gen_any_dep 'dev-python/sphinx[${PYTHON_USEDEP}]')
-		dev-qt/qthelp:5
+		>=dev-qt/qthelp-${QTMIN}:5
 	)
 	test? (
-		dev-qt/linguist-tools:5
-		dev-qt/qtcore:5
+		>=dev-qt/linguist-tools-${QTMIN}:5
+		>=dev-qt/qtcore-${QTMIN}:5
 	)
 "
 RDEPEND="

diff --git a/kde-frameworks/frameworkintegration/frameworkintegration-5.64.0.ebuild b/kde-frameworks/frameworkintegration/frameworkintegration-5.64.0.ebuild
index f6721b5381..60fd3f2c44 100644
--- a/kde-frameworks/frameworkintegration/frameworkintegration-5.64.0.ebuild
+++ b/kde-frameworks/frameworkintegration/frameworkintegration-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for integrating Qt applications with KDE Plasma workspaces"
 LICENSE="LGPL-2+"
@@ -14,22 +16,22 @@ IUSE="appstream X"
 
 # drop qtwidgets subslot operator when QT_MINIMAL >= 5.14.0
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep knewstuff)
-	$(add_frameworks_dep knotifications)
-	$(add_frameworks_dep kpackage)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets '' '' '5=')
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/knewstuff-${PVCUT}:5
+	>=kde-frameworks/knotifications-${PVCUT}:5
+	>=kde-frameworks/kpackage-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5=
 	appstream? (
 		app-admin/packagekit-qt
 		dev-libs/appstream[qt5]
 	)
 	X? (
-		$(add_qt_dep qtx11extras)
+		>=dev-qt/qtx11extras-${QTMIN}:5
 		x11-libs/libxcb
 	)
 "
@@ -39,8 +41,8 @@ RDEPEND="${DEPEND}"
 RESTRICT+=" test"
 
 src_prepare() {
-	punt_bogus_dep Qt5 DBus
-	kde5_src_prepare
+	ecm_punt_bogus_dep Qt5 DBus
+	ecm_src_prepare
 }
 
 src_configure() {
@@ -50,5 +52,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X XCB)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kactivities-stats/kactivities-stats-5.64.0.ebuild b/kde-frameworks/kactivities-stats/kactivities-stats-5.64.0.ebuild
index 1ddad0d7ab..d1db338484 100644
--- a/kde-frameworks/kactivities-stats/kactivities-stats-5.64.0.ebuild
+++ b/kde-frameworks/kactivities-stats/kactivities-stats-5.64.0.ebuild
@@ -3,7 +3,9 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for getting the usage statistics collected by the activities service"
 LICENSE="LGPL-2+"
@@ -11,10 +13,10 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 RDEPEND="
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtsql)
-	$(add_frameworks_dep kactivities)
-	$(add_frameworks_dep kconfig)
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtsql-${QTMIN}:5
+	>=kde-frameworks/kactivities-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
 "
 DEPEND="${RDEPEND}
 	>=dev-libs/boost-1.54

diff --git a/kde-frameworks/kactivities/kactivities-5.64.0.ebuild b/kde-frameworks/kactivities/kactivities-5.64.0.ebuild
index dba127edef..debb8dc1c6 100644
--- a/kde-frameworks/kactivities/kactivities-5.64.0.ebuild
+++ b/kde-frameworks/kactivities/kactivities-5.64.0.ebuild
@@ -3,7 +3,10 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+PLASMA_MINIMAL=5.16.5
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for working with KDE activities"
 LICENSE="|| ( LGPL-2.1 LGPL-3 )"
@@ -11,15 +14,15 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 COMMON_DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative widgets)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtsql)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtsql-${QTMIN}:5
 "
 RDEPEND="${COMMON_DEPEND}
-	$(add_plasma_dep kactivitymanagerd)
+	>=kde-plasma/kactivitymanagerd-${PLASMA_MINIMAL}:5
 "
 DEPEND="${COMMON_DEPEND}
 	>=dev-libs/boost-1.54

diff --git a/kde-frameworks/karchive/karchive-5.64.0.ebuild b/kde-frameworks/karchive/karchive-5.64.0.ebuild
index 83a1a47780..81944c89f2 100644
--- a/kde-frameworks/karchive/karchive-5.64.0.ebuild
+++ b/kde-frameworks/karchive/karchive-5.64.0.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for reading, creation, and manipulation of various archive formats"
 LICENSE="GPL-2 LGPL-2.1"
@@ -23,5 +23,5 @@ src_configure() {
 		$(cmake-utils_use_find_package lzma LibLZMA)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kauth/kauth-5.64.0.ebuild b/kde-frameworks/kauth/kauth-5.64.0.ebuild
index 396d6cb72e..716efe94fc 100644
--- a/kde-frameworks/kauth/kauth-5.64.0.ebuild
+++ b/kde-frameworks/kauth/kauth-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework to let applications perform actions as a privileged user"
 LICENSE="LGPL-2.1+"
@@ -12,13 +14,13 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls +policykit"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep kcoreaddons)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	policykit? ( sys-auth/polkit-qt[qt5(+)] )
 "
 RDEPEND="${DEPEND}"
@@ -29,7 +31,7 @@ src_configure() {
 		$(cmake-utils_use_find_package policykit PolkitQt5-1)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_test() {
@@ -38,5 +40,5 @@ src_test() {
 		-E "(KAuthHelperTest)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kbookmarks/kbookmarks-5.64.0.ebuild b/kde-frameworks/kbookmarks/kbookmarks-5.64.0.ebuild
index fdcb06e4cd..7edf8989b1 100644
--- a/kde-frameworks/kbookmarks/kbookmarks-5.64.0.ebuild
+++ b/kde-frameworks/kbookmarks/kbookmarks-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for managing bookmarks stored in XBEL format"
 LICENSE="LGPL-2+"
@@ -12,20 +14,20 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 RDEPEND="
-	$(add_frameworks_dep kcodecs)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kxmlgui)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 DEPEND="${RDEPEND}
-	$(add_frameworks_dep kconfigwidgets)
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
 "

diff --git a/kde-frameworks/kcalendarcore/kcalendarcore-5.64.0.ebuild b/kde-frameworks/kcalendarcore/kcalendarcore-5.64.0.ebuild
index 6b53e80523..367b365a8c 100644
--- a/kde-frameworks/kcalendarcore/kcalendarcore-5.64.0.ebuild
+++ b/kde-frameworks/kcalendarcore/kcalendarcore-5.64.0.ebuild
@@ -3,9 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="true"
+ECM_TEST="true"
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Library for interfacing with calendars"
 LICENSE="GPL-2+ test? ( LGPL-3+ )"
@@ -16,7 +17,7 @@ BDEPEND="
 	sys-devel/bison
 "
 DEPEND="
-	$(add_qt_dep qtgui)
+	>=dev-qt/qtgui-${QTMIN}:5
 	dev-libs/libical:=
 "
 RDEPEND="${DEPEND}

diff --git a/kde-frameworks/kcmutils/kcmutils-5.64.0.ebuild b/kde-frameworks/kcmutils/kcmutils-5.64.0.ebuild
index 23c6f904a9..a64af8047b 100644
--- a/kde-frameworks/kcmutils/kcmutils-5.64.0.ebuild
+++ b/kde-frameworks/kcmutils/kcmutils-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="false"
-inherit kde5
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework to work with KDE System Settings modules"
 LICENSE="LGPL-2"
@@ -12,20 +14,20 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kauth)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kdeclarative)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kitemviews)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kxmlgui)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative 'widgets')
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kauth-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kdeclarative-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kitemviews-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5[widgets]
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/kcodecs/kcodecs-5.64.0.ebuild b/kde-frameworks/kcodecs/kcodecs-5.64.0.ebuild
index 0833545c9d..9ca2014795 100644
--- a/kde-frameworks/kcodecs/kcodecs-5.64.0.ebuild
+++ b/kde-frameworks/kcodecs/kcodecs-5.64.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=7
 
-inherit kde5
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for manipulating strings using various encodings"
 LICENSE="GPL-2+ LGPL-2+"
@@ -12,5 +13,5 @@ IUSE="nls"
 
 BDEPEND="
 	dev-util/gperf
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "

diff --git a/kde-frameworks/kcompletion/kcompletion-5.64.0.ebuild b/kde-frameworks/kcompletion/kcompletion-5.64.0.ebuild
index f6c55546ab..6b03498212 100644
--- a/kde-frameworks/kcompletion/kcompletion-5.64.0.ebuild
+++ b/kde-frameworks/kcompletion/kcompletion-5.64.0.ebuild
@@ -4,20 +4,23 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for common completion tasks such as filename or URL completion"
+LICENSE="LGPL-2+"
 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/kconfig/kconfig-5.64.0.ebuild b/kde-frameworks/kconfig/kconfig-5.64.0.ebuild
index f53a08c98d..2d59508421 100644
--- a/kde-frameworks/kconfig/kconfig-5.64.0.ebuild
+++ b/kde-frameworks/kconfig/kconfig-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for reading and writing configuration"
 LICENSE="LGPL-2+"
@@ -12,15 +13,15 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="dbus nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 RDEPEND="
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtxml)
-	dbus? ( $(add_qt_dep qtdbus) )
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
+	dbus? ( >=dev-qt/qtdbus-${QTMIN}:5 )
 "
 DEPEND="${RDEPEND}
-	test? ( $(add_qt_dep qtconcurrent) )
+	test? ( >=dev-qt/qtconcurrent-${QTMIN}:5 )
 "
 
 # bug 560086
@@ -32,5 +33,5 @@ src_configure() {
 	local mycmakeargs=(
 		-DKCONFIG_USE_DBUS=$(usex dbus)
 	)
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kconfigwidgets/kconfigwidgets-5.64.0.ebuild b/kde-frameworks/kconfigwidgets/kconfigwidgets-5.64.0.ebuild
index af4851ca70..7604037971 100644
--- a/kde-frameworks/kconfigwidgets/kconfigwidgets-5.64.0.ebuild
+++ b/kde-frameworks/kconfigwidgets/kconfigwidgets-5.64.0.ebuild
@@ -4,8 +4,10 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing an assortment of configuration-related widgets"
 LICENSE="LGPL-2+"
@@ -13,19 +15,19 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="+man"
 
 BDEPEND="
-	man? ( $(add_frameworks_dep kdoctools) )
+	man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep kauth)
-	$(add_frameworks_dep kcodecs)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kguiaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kauth-${PVCUT}:5
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kguiaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 
@@ -34,5 +36,5 @@ src_configure() {
 		$(cmake-utils_use_find_package man KF5DocTools)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kcontacts/kcontacts-5.64.0.ebuild b/kde-frameworks/kcontacts/kcontacts-5.64.0.ebuild
index 5ea6a129cb..d947cf4fbd 100644
--- a/kde-frameworks/kcontacts/kcontacts-5.64.0.ebuild
+++ b/kde-frameworks/kcontacts/kcontacts-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_TEST="true"
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Address book API based on KDE Frameworks"
 LICENSE="GPL-2+"
@@ -13,11 +15,11 @@ KEYWORDS="~amd64 ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kcodecs)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_qt_dep qtgui)
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
 "
 RDEPEND="${DEPEND}
 	!kde-apps/kcontacts:5
@@ -30,5 +32,5 @@ src_test() {
 	local myctestargs=(
 		-E "(kcontacts-addresstest|kcontacts-picturetest)"
 	)
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kcoreaddons/kcoreaddons-5.64.0.ebuild b/kde-frameworks/kcoreaddons/kcoreaddons-5.64.0.ebuild
index b8fa9525e9..cd96455d3d 100644
--- a/kde-frameworks/kcoreaddons/kcoreaddons-5.64.0.ebuild
+++ b/kde-frameworks/kcoreaddons/kcoreaddons-5.64.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=7
 
-inherit kde5
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for solving common problems such as caching, randomisation, and more"
 LICENSE="LGPL-2+"
@@ -11,10 +12,10 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="fam nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_qt_dep qtcore 'icu')
+	>=dev-qt/qtcore-${QTMIN}:5[icu]
 	fam? ( virtual/fam )
 "
 RDEPEND="${DEPEND}"
@@ -25,7 +26,7 @@ src_configure() {
 		$(cmake-utils_use_find_package fam FAM)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_test() {
@@ -35,5 +36,5 @@ src_test() {
 		-E "(kautosavefiletest|kdirwatch_qfswatch_unittest|kdirwatch_stat_unittest|kformattest)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kcrash/kcrash-5.64.0.ebuild b/kde-frameworks/kcrash/kcrash-5.64.0.ebuild
index 59a1d61a49..2404ea267d 100644
--- a/kde-frameworks/kcrash/kcrash-5.64.0.ebuild
+++ b/kde-frameworks/kcrash/kcrash-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for intercepting and handling application crashes"
 LICENSE="LGPL-2+"
@@ -15,16 +17,16 @@ IUSE="nls"
 RESTRICT+=" test"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 RDEPEND="
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtx11extras)
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtx11extras-${QTMIN}:5
 	x11-libs/libX11
 "
 DEPEND="${RDEPEND}
 	x11-base/xorg-proto
-	test? ( $(add_qt_dep qtwidgets) )
+	test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )
 "

diff --git a/kde-frameworks/kdbusaddons/kdbusaddons-5.64.0.ebuild b/kde-frameworks/kdbusaddons/kdbusaddons-5.64.0.ebuild
index 4f7371c7a6..da9e9f40c1 100644
--- a/kde-frameworks/kdbusaddons/kdbusaddons-5.64.0.ebuild
+++ b/kde-frameworks/kdbusaddons/kdbusaddons-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
+QTMIN=5.12.3
 VIRTUALDBUS_TEST="true"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for registering services and applications per freedesktop standards"
 LICENSE="LGPL-2+"
@@ -12,11 +13,11 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls X"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_qt_dep qtdbus)
-	X? ( $(add_qt_dep qtx11extras) )
+	>=dev-qt/qtdbus-${QTMIN}:5
+	X? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
 "
 RDEPEND="${DEPEND}"
 
@@ -25,5 +26,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X Qt5X11Extras)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kdeclarative/kdeclarative-5.64.0.ebuild b/kde-frameworks/kdeclarative/kdeclarative-5.64.0.ebuild
index b02a67d153..dc4061ba3a 100644
--- a/kde-frameworks/kdeclarative/kdeclarative-5.64.0.ebuild
+++ b/kde-frameworks/kdeclarative/kdeclarative-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="false"
-inherit kde5
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing integration of QML and KDE work spaces"
 LICENSE="LGPL-2+"
@@ -13,20 +15,20 @@ IUSE=""
 
 # drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kglobalaccel)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kpackage)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui '' '' '5=')
-	$(add_qt_dep qtnetwork)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kglobalaccel-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kpackage-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	media-libs/libepoxy
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/kded/kded-5.64.0.ebuild b/kde-frameworks/kded/kded-5.64.0.ebuild
index 5126bc3307..a80cb6577e 100644
--- a/kde-frameworks/kded/kded-5.64.0.ebuild
+++ b/kde-frameworks/kded/kded-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
-KDE_TEST="false"
-inherit kde5
+ECM_QTHELP="false"
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Central daemon of KDE workspaces"
 LICENSE="LGPL-2+"
@@ -13,18 +15,18 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="+man"
 
 BDEPEND="
-	man? ( $(add_frameworks_dep kdoctools) )
+	man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kcrash)
-	$(add_frameworks_dep kdbusaddons)
-	$(add_frameworks_dep kinit)
-	$(add_frameworks_dep kservice)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kcrash-${PVCUT}:5
+	>=kde-frameworks/kdbusaddons-${PVCUT}:5
+	>=kde-frameworks/kinit-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 
@@ -33,5 +35,5 @@ src_configure() {
 		$(cmake-utils_use_find_package man KF5DocTools)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kdelibs4support/kdelibs4support-5.64.0.ebuild b/kde-frameworks/kdelibs4support/kdelibs4support-5.64.0.ebuild
index 642a724d90..2f990024c4 100644
--- a/kde-frameworks/kdelibs4support/kdelibs4support-5.64.0.ebuild
+++ b/kde-frameworks/kdelibs4support/kdelibs4support-5.64.0.ebuild
@@ -3,10 +3,12 @@
 
 EAPI=7
 
-KDE_HANDBOOK="true"
-KDE_QTHELP="false"
+ECM_HANDBOOK="true"
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework easing the development transition from KDELibs 4 to KF 5"
 LICENSE="LGPL-2+"
@@ -18,47 +20,47 @@ BDEPEND="
 	dev-perl/URI
 "
 COMMON_DEPEND="
-	$(add_frameworks_dep kauth)
-	$(add_frameworks_dep kcodecs)
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kcrash)
-	$(add_frameworks_dep kdbusaddons)
-	$(add_frameworks_dep kded)
-	$(add_frameworks_dep kdesignerplugin)
-	$(add_frameworks_dep kdoctools)
-	$(add_frameworks_dep kemoticons)
-	$(add_frameworks_dep kglobalaccel)
-	$(add_frameworks_dep kguiaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kitemviews)
-	$(add_frameworks_dep kjobwidgets)
-	$(add_frameworks_dep knotifications)
-	$(add_frameworks_dep kparts)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep ktextwidgets)
-	$(add_frameworks_dep kunitconversion)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_frameworks_dep kxmlgui)
-	$(add_frameworks_dep solid)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork 'ssl')
-	$(add_qt_dep qtprintsupport)
-	$(add_qt_dep qtsvg)
-	$(add_qt_dep qttest)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kauth-${PVCUT}:5
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=kde-frameworks/kcompletion-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kcrash-${PVCUT}:5
+	>=kde-frameworks/kdbusaddons-${PVCUT}:5
+	>=kde-frameworks/kded-${PVCUT}:5
+	>=kde-frameworks/kdesignerplugin-${PVCUT}:5
+	>=kde-frameworks/kdoctools-${PVCUT}:5
+	>=kde-frameworks/kemoticons-${PVCUT}:5
+	>=kde-frameworks/kglobalaccel-${PVCUT}:5
+	>=kde-frameworks/kguiaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kitemviews-${PVCUT}:5
+	>=kde-frameworks/kjobwidgets-${PVCUT}:5
+	>=kde-frameworks/knotifications-${PVCUT}:5
+	>=kde-frameworks/kparts-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/ktextwidgets-${PVCUT}:5
+	>=kde-frameworks/kunitconversion-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=kde-frameworks/solid-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+	>=dev-qt/qtprintsupport-${QTMIN}:5
+	>=dev-qt/qtsvg-${QTMIN}:5
+	>=dev-qt/qttest-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	app-text/docbook-xml-dtd:4.2
 	virtual/libintl
 	!libressl? ( dev-libs/openssl:0 )
 	libressl? ( dev-libs/libressl )
 	X? (
-		$(add_qt_dep qtx11extras)
+		>=dev-qt/qtx11extras-${QTMIN}:5
 		x11-libs/libICE
 		x11-libs/libSM
 		x11-libs/libX11
@@ -66,20 +68,20 @@ COMMON_DEPEND="
 	)
 "
 DEPEND="${COMMON_DEPEND}
-	$(add_qt_dep designer)
-	test? ( $(add_qt_dep qtconcurrent) )
+	>=dev-qt/designer-${QTMIN}:5
+	test? ( >=dev-qt/qtconcurrent-${QTMIN}:5 )
 	X? ( x11-base/xorg-proto )
 "
 RDEPEND="${COMMON_DEPEND}
-	$(add_frameworks_dep kinit)
-	$(add_frameworks_dep kitemmodels)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kinit-${PVCUT}:5
+	>=kde-frameworks/kitemmodels-${PVCUT}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 
 RESTRICT+=" test"
 
 src_prepare() {
-	kde5_src_prepare
+	ecm_src_prepare
 	if ! use handbook; then
 		sed -e "/kdoctools_install/ s/^/#DONT/" -i CMakeLists.txt || die
 	fi
@@ -90,5 +92,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X X11)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kdesignerplugin/kdesignerplugin-5.64.0.ebuild b/kde-frameworks/kdesignerplugin/kdesignerplugin-5.64.0.ebuild
index cee85aa618..f83e326bda 100644
--- a/kde-frameworks/kdesignerplugin/kdesignerplugin-5.64.0.ebuild
+++ b/kde-frameworks/kdesignerplugin/kdesignerplugin-5.64.0.ebuild
@@ -3,10 +3,12 @@
 
 EAPI=7
 
-KDE_HANDBOOK="optional"
-KDE_QTHELP="false"
-KDE_TEST="false"
-inherit kde5
+ECM_HANDBOOK="optional"
+ECM_QTHELP="false"
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing plugins to use KDE frameworks widgets in QtDesigner"
 LICENSE="LGPL-2.1+"
@@ -14,10 +16,10 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/kdesu/kdesu-5.64.0.ebuild b/kde-frameworks/kdesu/kdesu-5.64.0.ebuild
index 19af92e08b..fa265a950b 100644
--- a/kde-frameworks/kdesu/kdesu-5.64.0.ebuild
+++ b/kde-frameworks/kdesu/kdesu-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
-KDE_TEST="true"
-inherit kde5
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-2)
+inherit ecm kde.org
 
 DESCRIPTION="Framework to handle super user actions"
 LICENSE="LGPL-2"
@@ -12,11 +13,11 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="X"
 
 RDEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kpty)
-	$(add_frameworks_dep kservice)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kpty-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
 	X? ( x11-libs/libX11 )
 "
 DEPEND="${RDEPEND}
@@ -28,5 +29,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X X11)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kdewebkit/kdewebkit-5.64.0.ebuild b/kde-frameworks/kdewebkit/kdewebkit-5.64.0.ebuild
index 99a8ef95d3..05a5f55d83 100644
--- a/kde-frameworks/kdewebkit/kdewebkit-5.64.0.ebuild
+++ b/kde-frameworks/kdewebkit/kdewebkit-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
-KDE_TEST="false"
-inherit kde5
+ECM_QTHELP="false"
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing KDE integration of QtWebKit"
 LICENSE="LGPL-2+"
@@ -13,26 +15,26 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="designer"
 
 RDEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kjobwidgets)
-	$(add_frameworks_dep kparts)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwallet)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kjobwidgets-${PVCUT}:5
+	>=kde-frameworks/kparts-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwallet-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	>=dev-qt/qtwebkit-5.212.0_pre20180120:5
-	designer? ( $(add_frameworks_dep kdesignerplugin) )
+	designer? ( >=kde-frameworks/kdesignerplugin-${PVCUT}:5 )
 "
 DEPEND="${RDEPEND}
-	$(add_qt_dep qtnetwork)
+	>=dev-qt/qtnetwork-${QTMIN}:5
 "
 
 src_configure() {
 	local mycmakeargs=(
 		-DBUILD_DESIGNERPLUGIN=$(usex designer)
 	)
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kdnssd/kdnssd-5.64.0.ebuild b/kde-frameworks/kdnssd/kdnssd-5.64.0.ebuild
index 7205c754ec..26c4ef1360 100644
--- a/kde-frameworks/kdnssd/kdnssd-5.64.0.ebuild
+++ b/kde-frameworks/kdnssd/kdnssd-5.64.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=7
 
-inherit kde5
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for network service discovery using Zeroconf"
 LICENSE="LGPL-2+"
@@ -11,12 +12,12 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls zeroconf"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_qt_dep qtnetwork)
+	>=dev-qt/qtnetwork-${QTMIN}:5
 	zeroconf? (
-		$(add_qt_dep qtdbus)
+		>=dev-qt/qtdbus-${QTMIN}:5
 		net-dns/avahi[mdnsresponder-compat]
 	)
 "
@@ -28,5 +29,5 @@ src_configure() {
 		$(cmake-utils_use_find_package zeroconf Avahi)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kdoctools/kdoctools-5.64.0.ebuild b/kde-frameworks/kdoctools/kdoctools-5.64.0.ebuild
index 3335554012..f4a9a9c44a 100644
--- a/kde-frameworks/kdoctools/kdoctools-5.64.0.ebuild
+++ b/kde-frameworks/kdoctools/kdoctools-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
-inherit kde5
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+inherit ecm kde.org
 
 DESCRIPTION="Tools to generate documentation in various formats from DocBook files"
 LICENSE="MIT"
@@ -14,10 +15,10 @@ IUSE="nls"
 BDEPEND="
 	dev-lang/perl
 	dev-perl/URI
-	nls? ( $(add_frameworks_dep ki18n) )
+	nls? ( >=kde-frameworks/ki18n-${PVCUT}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep karchive)
+	>=kde-frameworks/karchive-${PVCUT}:5
 	app-text/docbook-xml-dtd:4.5
 	app-text/docbook-xsl-stylesheets
 	app-text/sgml-common
@@ -33,7 +34,7 @@ src_configure() {
 		$(cmake-utils_use_find_package nls KF5I18n)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_test() {
@@ -42,5 +43,5 @@ src_test() {
 		-E "(kdoctools_install)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kemoticons/kemoticons-5.64.0.ebuild b/kde-frameworks/kemoticons/kemoticons-5.64.0.ebuild
index 2adfb1b0d0..07ceacb4fa 100644
--- a/kde-frameworks/kemoticons/kemoticons-5.64.0.ebuild
+++ b/kde-frameworks/kemoticons/kemoticons-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for converting text emoticons to graphical representations"
 LICENSE="LGPL-2.1+"
@@ -12,13 +14,13 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kservice)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 

diff --git a/kde-frameworks/kfilemetadata/kfilemetadata-5.64.0.ebuild b/kde-frameworks/kfilemetadata/kfilemetadata-5.64.0.ebuild
index 7e7db5b65b..dd5fdab75c 100644
--- a/kde-frameworks/kfilemetadata/kfilemetadata-5.64.0.ebuild
+++ b/kde-frameworks/kfilemetadata/kfilemetadata-5.64.0.ebuild
@@ -4,9 +4,12 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6,7} )
-inherit kde5 python-any-r1
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org python-any-r1
 
 DESCRIPTION="Library for extracting file metadata"
+LICENSE="LGPL-2+"
 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="epub exif ffmpeg kernel_linux libav office pdf taglib"
 
@@ -14,16 +17,16 @@ BDEPEND="
 	test? ( ${PYTHON_DEPS} )
 "
 RDEPEND="
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 	epub? ( app-text/ebook-tools )
 	exif? ( media-gfx/exiv2:= )
 	ffmpeg? (
 		libav? ( >=media-video/libav-12.2:= )
 		!libav? ( media-video/ffmpeg:0= )
 	)
-	office? ( $(add_frameworks_dep karchive) )
+	office? ( >=kde-frameworks/karchive-${PVCUT}:5 )
 	pdf? ( app-text/poppler[qt5] )
 	taglib? ( media-libs/taglib )
 "
@@ -35,7 +38,7 @@ RESTRICT+=" test"
 
 pkg_setup() {
 	use test && python-any-r1_pkg_setup
-	kde5_pkg_setup
+	ecm_pkg_setup
 }
 
 src_configure() {
@@ -48,17 +51,17 @@ src_configure() {
 		$(cmake-utils_use_find_package taglib Taglib)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_test() {
 	# FIXME: bug 644650, fails on tmpfs (but not for everyone)
 	local myctestargs=( -E "(usermetadatawritertest)" )
-	kde5_src_test
+	ecm_src_test
 }
 
 pkg_postinst() {
-	kde5_pkg_postinst
+	ecm_pkg_postinst
 
 	if ! has_version app-text/catdoc || ! has_version dev-libs/libxls; then
 		elog "To get additional features, optional runtime dependencies may be installed:"

diff --git a/kde-frameworks/kglobalaccel/kglobalaccel-5.64.0.ebuild b/kde-frameworks/kglobalaccel/kglobalaccel-5.64.0.ebuild
index 3b20c7929f..9d12929c77 100644
--- a/kde-frameworks/kglobalaccel/kglobalaccel-5.64.0.ebuild
+++ b/kde-frameworks/kglobalaccel/kglobalaccel-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework to handle global shortcuts"
 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
@@ -12,18 +14,18 @@ LICENSE="LGPL-2+"
 IUSE="nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kcrash)
-	$(add_frameworks_dep kdbusaddons)
-	$(add_frameworks_dep kwindowsystem X)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtx11extras)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kcrash-${PVCUT}:5
+	>=kde-frameworks/kdbusaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5[X]
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtx11extras-${QTMIN}:5
 	x11-libs/libxcb
 	x11-libs/xcb-util-keysyms
 "

diff --git a/kde-frameworks/kguiaddons/kguiaddons-5.64.0.ebuild b/kde-frameworks/kguiaddons/kguiaddons-5.64.0.ebuild
index ca1d8f4e2a..66fcf15856 100644
--- a/kde-frameworks/kguiaddons/kguiaddons-5.64.0.ebuild
+++ b/kde-frameworks/kguiaddons/kguiaddons-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing assorted high-level user interface components"
 LICENSE="LGPL-2+"
@@ -12,8 +13,8 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 RDEPEND="
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtx11extras)
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtx11extras-${QTMIN}:5
 	x11-libs/libX11
 "
 DEPEND="${RDEPEND}

diff --git a/kde-frameworks/kholidays/kholidays-5.64.0.ebuild b/kde-frameworks/kholidays/kholidays-5.64.0.ebuild
index 26d503ce0f..d6737854ed 100644
--- a/kde-frameworks/kholidays/kholidays-5.64.0.ebuild
+++ b/kde-frameworks/kholidays/kholidays-5.64.0.ebuild
@@ -3,9 +3,10 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
-KDE_TEST="true"
-inherit kde5
+ECM_QTHELP="false"
+ECM_TEST="true"
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Library to determine holidays and other special events for a geographical region"
 LICENSE="LGPL-2.1+"
@@ -13,10 +14,10 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_qt_dep qtdeclarative)
+	>=dev-qt/qtdeclarative-${QTMIN}:5
 "
 RDEPEND="${DEPEND}
 	!kde-apps/kholidays:5
@@ -26,5 +27,5 @@ src_test() {
 	# bug 624214
 	mkdir -p "${HOME}/.local/share/kf5/libkholidays" || die
 	cp -r "${S}/holidays/plan2" "${HOME}/.local/share/kf5/libkholidays/" || die
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/khtml/khtml-5.64.0.ebuild b/kde-frameworks/khtml/khtml-5.64.0.ebuild
index 29c6260dec..efd1781b4d 100644
--- a/kde-frameworks/khtml/khtml-5.64.0.ebuild
+++ b/kde-frameworks/khtml/khtml-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="KHTML web rendering engine"
 LICENSE="LGPL-2"
@@ -17,33 +19,33 @@ BDEPEND="
 	dev-util/gperf
 "
 RDEPEND="
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kcodecs)
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kglobalaccel)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kjobwidgets)
-	$(add_frameworks_dep kjs)
-	$(add_frameworks_dep knotifications)
-	$(add_frameworks_dep kparts)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep ktextwidgets)
-	$(add_frameworks_dep kwallet)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_frameworks_dep kxmlgui)
-	$(add_frameworks_dep sonnet)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork 'ssl')
-	$(add_qt_dep qtprintsupport)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=kde-frameworks/kcompletion-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kglobalaccel-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kjobwidgets-${PVCUT}:5
+	>=kde-frameworks/kjs-${PVCUT}:5
+	>=kde-frameworks/knotifications-${PVCUT}:5
+	>=kde-frameworks/kparts-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/ktextwidgets-${PVCUT}:5
+	>=kde-frameworks/kwallet-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=kde-frameworks/sonnet-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+	>=dev-qt/qtprintsupport-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 	media-libs/giflib:=
 	media-libs/libpng:0=
 	media-libs/phonon[qt5(+)]
@@ -52,12 +54,12 @@ RDEPEND="
 	!libressl? ( dev-libs/openssl:0 )
 	libressl? ( dev-libs/libressl )
 	X? (
-		$(add_qt_dep qtx11extras)
+		>=dev-qt/qtx11extras-${QTMIN}:5
 		x11-libs/libX11
 	)
 "
 DEPEND="${RDEPEND}
-	test? ( $(add_qt_dep qtx11extras) )
+	test? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
 	X? ( x11-base/xorg-proto )
 "
 
@@ -66,5 +68,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X X11)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/ki18n/ki18n-5.64.0.ebuild b/kde-frameworks/ki18n/ki18n-5.64.0.ebuild
index 93dafc1771..f4edcf3418 100644
--- a/kde-frameworks/ki18n/ki18n-5.64.0.ebuild
+++ b/kde-frameworks/ki18n/ki18n-5.64.0.ebuild
@@ -4,7 +4,8 @@
 EAPI=7
 
 PYTHON_COMPAT=( python3_{6,7} )
-inherit kde5 python-single-r1
+QTMIN=5.12.3
+inherit ecm kde.org python-single-r1
 
 DESCRIPTION="Framework based on Gettext for internationalizing user interface text"
 LICENSE="LGPL-2+"
@@ -14,18 +15,18 @@ IUSE=""
 REQUIRED_USE="${PYTHON_REQUIRED_USE}"
 
 RDEPEND="${PYTHON_DEPS}
-	$(add_qt_dep qtdeclarative)
+	>=dev-qt/qtdeclarative-${QTMIN}:5
 	sys-devel/gettext
 	virtual/libintl
 "
 DEPEND="${RDEPEND}
-	test? ( $(add_qt_dep qtconcurrent) )
+	test? ( >=dev-qt/qtconcurrent-${QTMIN}:5 )
 "
 
 PATCHES=( "${FILESDIR}/${PN}-5.57.0-python.patch" )
 
 pkg_setup() {
-	kde5_pkg_setup
+	ecm_pkg_setup
 	python-single-r1_pkg_setup
 }
 
@@ -33,5 +34,5 @@ src_configure() {
 	local mycmakeargs=(
 		-DPYTHON_EXECUTABLE="${PYTHON}"
 	)
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kiconthemes/kiconthemes-5.64.0.ebuild b/kde-frameworks/kiconthemes/kiconthemes-5.64.0.ebuild
index 2c766c40f8..9de2c969d2 100644
--- a/kde-frameworks/kiconthemes/kiconthemes-5.64.0.ebuild
+++ b/kde-frameworks/kiconthemes/kiconthemes-5.64.0.ebuild
@@ -4,8 +4,10 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for icon theming and configuration"
 LICENSE="LGPL-2+"
@@ -13,17 +15,17 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kitemviews)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtsvg)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kitemviews-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtsvg-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 

diff --git a/kde-frameworks/kidletime/kidletime-5.64.0.ebuild b/kde-frameworks/kidletime/kidletime-5.64.0.ebuild
index c79961fda8..97b08e5217 100644
--- a/kde-frameworks/kidletime/kidletime-5.64.0.ebuild
+++ b/kde-frameworks/kidletime/kidletime-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
-KDE_TEST="false"
-inherit kde5
+ECM_TEST="false"
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for detection and notification of device idle time"
 LICENSE="LGPL-2+"
@@ -14,23 +15,23 @@ IUSE="X xscreensaver"
 REQUIRED_USE="xscreensaver? ( X )"
 
 DEPEND="
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	X? (
-		$(add_qt_dep qtx11extras)
+		>=dev-qt/qtx11extras-${QTMIN}:5
 		x11-libs/libX11
 		x11-libs/libxcb
 		x11-libs/libXext
 	)
 	xscreensaver? (
-		$(add_qt_dep qtdbus)
+		>=dev-qt/qtdbus-${QTMIN}:5
 		x11-libs/libXScrnSaver
 	)
 "
 RDEPEND="${DEPEND}"
 
 src_prepare() {
-	kde5_src_prepare
+	ecm_src_prepare
 	if ! use xscreensaver; then
 		sed -i -e "s/\${X11_Xscreensaver_FOUND}/0/" CMakeLists.txt || die
 	fi
@@ -42,5 +43,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X XCB)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kimageformats/kimageformats-5.64.0.ebuild b/kde-frameworks/kimageformats/kimageformats-5.64.0.ebuild
index 7a2936a743..cbc2271a83 100644
--- a/kde-frameworks/kimageformats/kimageformats-5.64.0.ebuild
+++ b/kde-frameworks/kimageformats/kimageformats-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing additional format plugins for Qt's image I/O system"
 LICENSE="LGPL-2+"
@@ -13,9 +15,9 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
 IUSE="eps openexr"
 
 DEPEND="
-	$(add_frameworks_dep karchive)
-	$(add_qt_dep qtgui)
-	eps? ( $(add_qt_dep qtprintsupport) )
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	eps? ( >=dev-qt/qtprintsupport-${QTMIN}:5 )
 	openexr? (
 		media-libs/ilmbase:=
 		media-libs/openexr:=
@@ -31,5 +33,5 @@ src_configure() {
 		$(cmake-utils_use_find_package openexr OpenEXR)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kinit/kinit-5.64.0.ebuild b/kde-frameworks/kinit/kinit-5.64.0.ebuild
index d94f8f7d6b..ecab5e164a 100644
--- a/kde-frameworks/kinit/kinit-5.64.0.ebuild
+++ b/kde-frameworks/kinit/kinit-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
-KDE_TEST="false"
-inherit kde5
+ECM_QTHELP="false"
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Helper library to speed up start of applications on KDE work spaces"
 LICENSE="LGPL-2+"
@@ -13,18 +15,18 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="+caps +man X"
 
 BDEPEND="
-	man? ( $(add_frameworks_dep kdoctools) )
+	man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )
 "
 RDEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kcrash)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kcrash-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
 	caps? ( sys-libs/libcap )
 	X? (
 		x11-libs/libX11
@@ -43,5 +45,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X XCB)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kio/kio-5.64.0.ebuild b/kde-frameworks/kio/kio-5.64.0.ebuild
index 78c6c0ea31..a3bc5a551c 100644
--- a/kde-frameworks/kio/kio-5.64.0.ebuild
+++ b/kde-frameworks/kio/kio-5.64.0.ebuild
@@ -4,9 +4,11 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
-KDE_TEST="forceoptional"
+ECM_TEST="forceoptional"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing transparent file and data management"
 LICENSE="LGPL-2+"
@@ -14,46 +16,46 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="acl +handbook kerberos +kwallet X"
 
 RDEPEND="
-	$(add_frameworks_dep kauth)
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kbookmarks)
-	$(add_frameworks_dep kcodecs)
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kcrash)
-	$(add_frameworks_dep kdbusaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kitemviews)
-	$(add_frameworks_dep kjobwidgets)
-	$(add_frameworks_dep knotifications)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep ktextwidgets)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_frameworks_dep kxmlgui)
-	$(add_frameworks_dep solid)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork 'ssl')
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kauth-${PVCUT}:5
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=kde-frameworks/kbookmarks-${PVCUT}:5
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=kde-frameworks/kcompletion-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kcrash-${PVCUT}:5
+	>=kde-frameworks/kdbusaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kitemviews-${PVCUT}:5
+	>=kde-frameworks/kjobwidgets-${PVCUT}:5
+	>=kde-frameworks/knotifications-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/ktextwidgets-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=kde-frameworks/solid-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 	dev-libs/libxml2
 	dev-libs/libxslt
 	acl? (
 		sys-apps/attr
 		virtual/acl
 	)
-	handbook? ( $(add_frameworks_dep kdoctools) )
+	handbook? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )
 	kerberos? ( virtual/krb5 )
-	kwallet? ( $(add_frameworks_dep kwallet) )
-	X? ( $(add_qt_dep qtx11extras) )
+	kwallet? ( >=kde-frameworks/kwallet-${PVCUT}:5 )
+	X? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
 "
 DEPEND="${RDEPEND}
-	$(add_qt_dep qtconcurrent)
+	>=dev-qt/qtconcurrent-${QTMIN}:5
 	test? ( sys-libs/zlib )
 	X? (
 		x11-base/xorg-proto
@@ -62,7 +64,7 @@ DEPEND="${RDEPEND}
 	)
 "
 PDEPEND="
-	$(add_frameworks_dep kded)
+	>=kde-frameworks/kded-${PVCUT}:5
 "
 
 # tests hang
@@ -77,5 +79,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X X11)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kirigami/kirigami-5.64.0.ebuild b/kde-frameworks/kirigami/kirigami-5.64.0.ebuild
index 906056e302..b2497ea6e5 100644
--- a/kde-frameworks/kirigami/kirigami-5.64.0.ebuild
+++ b/kde-frameworks/kirigami/kirigami-5.64.0.ebuild
@@ -3,11 +3,12 @@
 
 EAPI=7
 
-KDE_EXAMPLES="true"
-KDE_QTHELP="false"
-KDE_TEST="true"
-KMNAME="${PN}2"
-inherit kde5
+ECM_EXAMPLES="true"
+ECM_QTHELP="false"
+ECM_TEST="true"
+KDE_ORG_NAME="${PN}2"
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Lightweight user interface framework for mobile and convergent applications"
 HOMEPAGE="https://techbase.kde.org/Kirigami"
@@ -19,18 +20,18 @@ IUSE=""
 
 # drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
 BDEPEND="
-	$(add_qt_dep linguist-tools)
+	>=dev-qt/linguist-tools-${QTMIN}:5
 "
 DEPEND="
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui '' '' '5=')
-	$(add_qt_dep qtnetwork)
-	$(add_qt_dep qtquickcontrols2)
-	$(add_qt_dep qtsvg)
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtquickcontrols2-${QTMIN}:5
+	>=dev-qt/qtsvg-${QTMIN}:5
 "
 RDEPEND="${DEPEND}
-	$(add_qt_dep qtgraphicaleffects)
+	>=dev-qt/qtgraphicaleffects-${QTMIN}:5
 "
 
 # requires package to already be installed
@@ -41,5 +42,5 @@ src_configure() {
 		-DBUILD_EXAMPLES=$(usex examples)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kitemmodels/kitemmodels-5.64.0.ebuild b/kde-frameworks/kitemmodels/kitemmodels-5.64.0.ebuild
index 6a052c6930..c2a8ebaa61 100644
--- a/kde-frameworks/kitemmodels/kitemmodels-5.64.0.ebuild
+++ b/kde-frameworks/kitemmodels/kitemmodels-5.64.0.ebuild
@@ -3,12 +3,13 @@
 
 EAPI=7
 
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing data models to help with tasks such as sorting and filtering"
 LICENSE="LGPL-2+"
 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
-DEPEND="test? ( $(add_qt_dep qtwidgets) )"
+DEPEND="test? ( >=dev-qt/qtwidgets-${QTMIN}:5 )"

diff --git a/kde-frameworks/kitemviews/kitemviews-5.64.0.ebuild b/kde-frameworks/kitemviews/kitemviews-5.64.0.ebuild
index 968745fc7e..7e8bafba0b 100644
--- a/kde-frameworks/kitemviews/kitemviews-5.64.0.ebuild
+++ b/kde-frameworks/kitemviews/kitemviews-5.64.0.ebuild
@@ -4,8 +4,9 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing additional widgets for item models"
 LICENSE="LGPL-2+"
@@ -14,10 +15,10 @@ IUSE="nls"
 
 # drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_qt_dep qtgui '' '' '5=')
-	$(add_qt_dep qtwidgets)
+	>=dev-qt/qtgui-${QTMIN}:5=
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/kjobwidgets/kjobwidgets-5.64.0.ebuild b/kde-frameworks/kjobwidgets/kjobwidgets-5.64.0.ebuild
index bbd2b0e430..e8b265a3f2 100644
--- a/kde-frameworks/kjobwidgets/kjobwidgets-5.64.0.ebuild
+++ b/kde-frameworks/kjobwidgets/kjobwidgets-5.64.0.ebuild
@@ -3,7 +3,9 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing assorted widgets for showing the progress of jobs"
 LICENSE="LGPL-2+"
@@ -11,15 +13,15 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls X"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 RDEPEND="
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
-	X? ( $(add_qt_dep qtx11extras) )
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	X? ( >=dev-qt/qtx11extras-${QTMIN}:5 )
 "
 DEPEND="${RDEPEND}
 	X? (
@@ -33,5 +35,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X X11)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kjs/kjs-5.64.0.ebuild b/kde-frameworks/kjs/kjs-5.64.0.ebuild
index b0dafd2226..21a8cf5564 100644
--- a/kde-frameworks/kjs/kjs-5.64.0.ebuild
+++ b/kde-frameworks/kjs/kjs-5.64.0.ebuild
@@ -3,9 +3,9 @@
 
 EAPI=7
 
-KDE_HANDBOOK="optional"
-KDE_QTHELP="false"
-inherit kde5
+ECM_HANDBOOK="optional"
+ECM_QTHELP="false"
+inherit ecm kde.org
 
 DESCRIPTION="ECMAScipt compatible parser and engine"
 LICENSE="BSD-2 LGPL-2+"

diff --git a/kde-frameworks/kjsembed/kjsembed-5.64.0.ebuild b/kde-frameworks/kjsembed/kjsembed-5.64.0.ebuild
index c81d05a179..0d99ab13d6 100644
--- a/kde-frameworks/kjsembed/kjsembed-5.64.0.ebuild
+++ b/kde-frameworks/kjsembed/kjsembed-5.64.0.ebuild
@@ -3,10 +3,12 @@
 
 EAPI=7
 
-KDE_HANDBOOK="optional"
-KDE_QTHELP="false"
-KDE_TEST="false"
-inherit kde5
+ECM_HANDBOOK="optional"
+ECM_QTHELP="false"
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework binding JavaScript objects to QObjects"
 LICENSE="LGPL-2+"
@@ -14,13 +16,13 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 RDEPEND="
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kjs)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtsvg)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kjs-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtsvg-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 DEPEND="${RDEPEND}
-	$(add_qt_dep designer)
+	>=dev-qt/designer-${QTMIN}:5
 "

diff --git a/kde-frameworks/kmediaplayer/kmediaplayer-5.64.0.ebuild b/kde-frameworks/kmediaplayer/kmediaplayer-5.64.0.ebuild
index d4871ad9e5..5e578a53d9 100644
--- a/kde-frameworks/kmediaplayer/kmediaplayer-5.64.0.ebuild
+++ b/kde-frameworks/kmediaplayer/kmediaplayer-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing a common interface for KParts that can play media files"
 LICENSE="MIT"
@@ -13,9 +15,9 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kparts)
-	$(add_frameworks_dep kxmlgui)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kparts-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/knewstuff/knewstuff-5.64.0.ebuild b/kde-frameworks/knewstuff/knewstuff-5.64.0.ebuild
index 2d4a8f412a..e8b058f1b3 100644
--- a/kde-frameworks/knewstuff/knewstuff-5.64.0.ebuild
+++ b/kde-frameworks/knewstuff/knewstuff-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="false"
-inherit kde5
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for downloading and sharing additional application data"
 LICENSE="LGPL-2+"
@@ -12,25 +14,25 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep attica)
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kitemviews)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep ktextwidgets)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kxmlgui)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/attica-${PVCUT}:5
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=kde-frameworks/kcompletion-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kitemviews-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/ktextwidgets-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 RDEPEND="${DEPEND}
-	$(add_frameworks_dep kirigami)
+	>=kde-frameworks/kirigami-${PVCUT}:5
 "

diff --git a/kde-frameworks/knotifications/knotifications-5.64.0.ebuild b/kde-frameworks/knotifications/knotifications-5.64.0.ebuild
index 5f9bd2e2b7..2221c7f0d1 100644
--- a/kde-frameworks/knotifications/knotifications-5.64.0.ebuild
+++ b/kde-frameworks/knotifications/knotifications-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="false"
-inherit kde5
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for notifying the user of an event"
 LICENSE="LGPL-2.1+"
@@ -12,22 +14,22 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="dbus nls phonon speech X"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 RDEPEND="
-	$(add_frameworks_dep kcodecs)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	dbus? ( dev-libs/libdbusmenu-qt[qt5(+)] )
 	!phonon? ( media-libs/libcanberra )
 	phonon? ( media-libs/phonon[qt5(+)] )
-	speech? ( $(add_qt_dep qtspeech) )
+	speech? ( >=dev-qt/qtspeech-${QTMIN}:5 )
 	X? (
-		$(add_qt_dep qtx11extras)
+		>=dev-qt/qtx11extras-${QTMIN}:5
 		x11-libs/libX11
 		x11-libs/libXtst
 	)
@@ -44,5 +46,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X X11)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/knotifyconfig/knotifyconfig-5.64.0.ebuild b/kde-frameworks/knotifyconfig/knotifyconfig-5.64.0.ebuild
index db3327f886..048aea4a69 100644
--- a/kde-frameworks/knotifyconfig/knotifyconfig-5.64.0.ebuild
+++ b/kde-frameworks/knotifyconfig/knotifyconfig-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="false"
-inherit kde5
+ECM_TEST="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for configuring desktop notifications"
 LICENSE="LGPL-2+"
@@ -12,13 +14,13 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="phonon"
 
 DEPEND="
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kio)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kcompletion-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	phonon? ( media-libs/phonon[qt5(+)] )
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/kpackage/kpackage-5.64.0.ebuild b/kde-frameworks/kpackage/kpackage-5.64.0.ebuild
index bcf035400b..770336e92f 100644
--- a/kde-frameworks/kpackage/kpackage-5.64.0.ebuild
+++ b/kde-frameworks/kpackage/kpackage-5.64.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+inherit ecm kde.org
 
 DESCRIPTION="Framework to install and load packages of non binary content"
 LICENSE="LGPL-2+"
@@ -11,12 +12,12 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="man"
 
 BDEPEND="
-	man? ( $(add_frameworks_dep kdoctools) )
+	man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
 "
 RDEPEND="${DEPEND}"
 
@@ -25,11 +26,11 @@ src_configure() {
 		$(cmake-utils_use_find_package man KF5DocTools)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_test() {
 	#bug 650214
 	local myctestargs=( -E "(plasma-plasmoidpackagetest)" )
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kparts/kparts-5.64.0.ebuild b/kde-frameworks/kparts/kparts-5.64.0.ebuild
index 25fcc3198b..530fb425bf 100644
--- a/kde-frameworks/kparts/kparts-5.64.0.ebuild
+++ b/kde-frameworks/kparts/kparts-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing elaborate user-interface components"
 LICENSE="LGPL-2+"
@@ -12,19 +14,19 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 RDEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kjobwidgets)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kxmlgui)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kjobwidgets-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 DEPEND="${RDEPEND}
-	$(add_frameworks_dep ktextwidgets)
+	>=kde-frameworks/ktextwidgets-${PVCUT}:5
 "

diff --git a/kde-frameworks/kpeople/kpeople-5.64.0.ebuild b/kde-frameworks/kpeople/kpeople-5.64.0.ebuild
index dbb09f0972..6255740419 100644
--- a/kde-frameworks/kpeople/kpeople-5.64.0.ebuild
+++ b/kde-frameworks/kpeople/kpeople-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="KDE contact person abstraction library"
 HOMEPAGE="https://cgit.kde.org/kpeople.git"
@@ -14,17 +16,17 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kitemviews)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtsql)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kitemviews-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtsql-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 
@@ -35,5 +37,5 @@ src_test() {
 		-E "(persondatatest)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kplotting/kplotting-5.64.0.ebuild b/kde-frameworks/kplotting/kplotting-5.64.0.ebuild
index 7701f970e3..f899a6f2a3 100644
--- a/kde-frameworks/kplotting/kplotting-5.64.0.ebuild
+++ b/kde-frameworks/kplotting/kplotting-5.64.0.ebuild
@@ -4,8 +4,10 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing easy data-plotting functions"
 LICENSE="LGPL-2+"
@@ -13,7 +15,7 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/kpty/kpty-5.64.0.ebuild b/kde-frameworks/kpty/kpty-5.64.0.ebuild
index 61bf735439..9b3b76a721 100644
--- a/kde-frameworks/kpty/kpty-5.64.0.ebuild
+++ b/kde-frameworks/kpty/kpty-5.64.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+inherit ecm kde.org
 
 DESCRIPTION="Framework for pseudo terminal devices and running child processes"
 LICENSE="LGPL-2+"
@@ -11,8 +12,8 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
 	sys-libs/libutempter
 "
 RDEPEND="${DEPEND}"
@@ -22,5 +23,5 @@ src_configure() {
 		-DUTEMPTER_EXECUTABLE="${EPREFIX}/usr/sbin/utempter"
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kross/kross-5.64.0.ebuild b/kde-frameworks/kross/kross-5.64.0.ebuild
index 85c1f9c029..46868df51f 100644
--- a/kde-frameworks/kross/kross-5.64.0.ebuild
+++ b/kde-frameworks/kross/kross-5.64.0.ebuild
@@ -3,10 +3,12 @@
 
 EAPI=7
 
-KDE_HANDBOOK="forceoptional"
-KDE_QTHELP="false"
+ECM_HANDBOOK="forceoptional"
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for embedding scripting into applications"
 LICENSE="LGPL-2+"
@@ -14,19 +16,19 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 RDEPEND="
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kparts)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kxmlgui)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtscript)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kcompletion-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kparts-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtscript-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 DEPEND="${RDEPEND}
-	$(add_qt_dep designer)
+	>=dev-qt/designer-${QTMIN}:5
 "

diff --git a/kde-frameworks/krunner/krunner-5.64.0.ebuild b/kde-frameworks/krunner/krunner-5.64.0.ebuild
index 89d4d420b4..f4778b81d5 100644
--- a/kde-frameworks/krunner/krunner-5.64.0.ebuild
+++ b/kde-frameworks/krunner/krunner-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for providing different actions given a string query"
 LICENSE="LGPL-2+"
@@ -12,18 +14,18 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep plasma)
-	$(add_frameworks_dep solid)
-	$(add_frameworks_dep threadweaver)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/plasma-${PVCUT}:5
+	>=kde-frameworks/solid-${PVCUT}:5
+	>=kde-frameworks/threadweaver-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 
@@ -32,5 +34,5 @@ src_test() {
 	local myctestargs=(
 		-E "(dbusrunnertest)"
 	)
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kservice/kservice-5.64.0.ebuild b/kde-frameworks/kservice/kservice-5.64.0.ebuild
index b5c3ef504b..a1f31005d8 100644
--- a/kde-frameworks/kservice/kservice-5.64.0.ebuild
+++ b/kde-frameworks/kservice/kservice-5.64.0.ebuild
@@ -3,7 +3,9 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Advanced plugin and service introspection"
 LICENSE="LGPL-2 LGPL-2.1+"
@@ -13,19 +15,19 @@ IUSE="+man"
 BDEPEND="
 	sys-devel/bison
 	sys-devel/flex
-	man? ( $(add_frameworks_dep kdoctools) )
+	man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )
 "
 RDEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kcrash)
-	$(add_frameworks_dep kdbusaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kcrash-${PVCUT}:5
+	>=kde-frameworks/kdbusaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 DEPEND="${RDEPEND}
-	test? ( $(add_qt_dep qtconcurrent) )
+	test? ( >=dev-qt/qtconcurrent-${QTMIN}:5 )
 "
 
 # requires running kde environment
@@ -37,11 +39,11 @@ src_configure() {
 		$(cmake-utils_use_find_package man KF5DocTools)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_install() {
-	kde5_src_install
+	ecm_src_install
 
 	# bug 596316
 	dosym kf5-applications.menu /etc/xdg/menus/applications.menu

diff --git a/kde-frameworks/ktexteditor/ktexteditor-5.64.0.ebuild b/kde-frameworks/ktexteditor/ktexteditor-5.64.0.ebuild
index 4413fff506..6d43f24cc3 100644
--- a/kde-frameworks/ktexteditor/ktexteditor-5.64.0.ebuild
+++ b/kde-frameworks/ktexteditor/ktexteditor-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing a full text editor component"
 LICENSE="LGPL-2+"
@@ -12,33 +14,33 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="editorconfig git"
 
 BDEPEND="
-	test? ( $(add_frameworks_dep kservice) )
+	test? ( >=kde-frameworks/kservice-${PVCUT}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kauth)
-	$(add_frameworks_dep kcodecs)
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kguiaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kitemviews)
-	$(add_frameworks_dep kjobwidgets)
-	$(add_frameworks_dep kparts)
-	$(add_frameworks_dep ktextwidgets)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kxmlgui)
-	$(add_frameworks_dep sonnet)
-	$(add_frameworks_dep syntax-highlighting)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtprintsupport)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=kde-frameworks/kauth-${PVCUT}:5
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=kde-frameworks/kcompletion-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kguiaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kitemviews-${PVCUT}:5
+	>=kde-frameworks/kjobwidgets-${PVCUT}:5
+	>=kde-frameworks/kparts-${PVCUT}:5
+	>=kde-frameworks/ktextwidgets-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=kde-frameworks/sonnet-${PVCUT}:5
+	>=kde-frameworks/syntax-highlighting-${PVCUT}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtprintsupport-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 	editorconfig? ( app-text/editorconfig-core-c )
 	git? ( dev-libs/libgit2:= )
 "
@@ -52,5 +54,5 @@ src_configure() {
 		$(cmake-utils_use_find_package git LibGit2)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/ktextwidgets/ktextwidgets-5.64.0.ebuild b/kde-frameworks/ktextwidgets/ktextwidgets-5.64.0.ebuild
index df00a88a77..4535ec9ffe 100644
--- a/kde-frameworks/ktextwidgets/ktextwidgets-5.64.0.ebuild
+++ b/kde-frameworks/ktextwidgets/ktextwidgets-5.64.0.ebuild
@@ -4,8 +4,10 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing an assortment of widgets for displaying and editing text"
 LICENSE="LGPL-2+ LGPL-2.1+"
@@ -13,19 +15,19 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="speech"
 
 DEPEND="
-	$(add_frameworks_dep kcompletion)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_frameworks_dep sonnet)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
-	speech? ( $(add_qt_dep qtspeech) )
+	>=kde-frameworks/kcompletion-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=kde-frameworks/sonnet-${PVCUT}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	speech? ( >=dev-qt/qtspeech-${QTMIN}:5 )
 "
 RDEPEND="${DEPEND}"
 
@@ -34,5 +36,5 @@ src_configure() {
 		$(cmake-utils_use_find_package speech Qt5TextToSpeech)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kunitconversion/kunitconversion-5.64.0.ebuild b/kde-frameworks/kunitconversion/kunitconversion-5.64.0.ebuild
index abfd9e40ec..f917fa757d 100644
--- a/kde-frameworks/kunitconversion/kunitconversion-5.64.0.ebuild
+++ b/kde-frameworks/kunitconversion/kunitconversion-5.64.0.ebuild
@@ -3,7 +3,9 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for converting units"
 LICENSE="LGPL-2+"
@@ -11,8 +13,8 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep ki18n)
-	$(add_qt_dep qtnetwork)
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 
@@ -22,5 +24,5 @@ src_test() {
 		-E "(convertertest)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kwallet/kwallet-5.64.0.ebuild b/kde-frameworks/kwallet/kwallet-5.64.0.ebuild
index a0ccb309fc..309fe1ce6f 100644
--- a/kde-frameworks/kwallet/kwallet-5.64.0.ebuild
+++ b/kde-frameworks/kwallet/kwallet-5.64.0.ebuild
@@ -3,7 +3,9 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing desktop-wide storage for passwords"
 LICENSE="LGPL-2+"
@@ -11,21 +13,21 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="gpg +man"
 
 BDEPEND="
-	man? ( $(add_frameworks_dep kdoctools) )
+	man? ( >=kde-frameworks/kdoctools-${PVCUT}:5 )
 "
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kdbusaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep knotifications)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kdbusaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/knotifications-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	dev-libs/libgcrypt:0=
 	gpg? ( >=app-crypt/gpgme-1.7.1[cxx,qt5] )
 "
@@ -37,7 +39,7 @@ src_configure() {
 		$(cmake-utils_use_find_package man KF5DocTools)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 pkg_postinst() {

diff --git a/kde-frameworks/kwayland/kwayland-5.64.0.ebuild b/kde-frameworks/kwayland/kwayland-5.64.0.ebuild
index 14617478e0..dc0c7976a4 100644
--- a/kde-frameworks/kwayland/kwayland-5.64.0.ebuild
+++ b/kde-frameworks/kwayland/kwayland-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="true"
-inherit kde5
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Qt-style client and server library wrapper for Wayland libraries"
 HOMEPAGE="https://cgit.kde.org/kwayland.git"
@@ -14,8 +16,8 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
 IUSE=""
 
 COMMON_DEPEND="
-	$(add_qt_dep qtconcurrent)
-	$(add_qt_dep qtgui 'egl')
+	>=dev-qt/qtconcurrent-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5[egl]
 	>=dev-libs/wayland-1.15.0
 	media-libs/mesa[egl]
 "
@@ -23,7 +25,7 @@ DEPEND="${COMMON_DEPEND}
 	>=dev-libs/wayland-protocols-1.15
 "
 RDEPEND="${COMMON_DEPEND}
-	$(add_qt_dep qtwayland)
+	>=dev-qt/qtwayland-${QTMIN}:5
 "
 
 # All failing, I guess we need a virtual wayland server

diff --git a/kde-frameworks/kwidgetsaddons/kwidgetsaddons-5.64.0.ebuild b/kde-frameworks/kwidgetsaddons/kwidgetsaddons-5.64.0.ebuild
index 12ff77eab9..9500e83fb1 100644
--- a/kde-frameworks/kwidgetsaddons/kwidgetsaddons-5.64.0.ebuild
+++ b/kde-frameworks/kwidgetsaddons/kwidgetsaddons-5.64.0.ebuild
@@ -4,26 +4,27 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="An assortment of high-level widgets for common tasks"
 LICENSE="LGPL-2.1+"
 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="nls"
 
-# drop qtwidgets subslot operator when QT_MINIMAL >= 5.14.0
+# drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_qt_dep qtgui '' '' '5=')
-	$(add_qt_dep qtwidgets)
+	>=dev-qt/qtgui-${QTMIN}:5=
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 
 src_test() {
 	# bug 650216, 653186
 	local myctestargs=( -E "(kdatecomboboxtest|ktooltipwidgettest)" )
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kwindowsystem/kwindowsystem-5.64.0.ebuild b/kde-frameworks/kwindowsystem/kwindowsystem-5.64.0.ebuild
index fb8ed8357d..e33905d92a 100644
--- a/kde-frameworks/kwindowsystem/kwindowsystem-5.64.0.ebuild
+++ b/kde-frameworks/kwindowsystem/kwindowsystem-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing access to properties and features of the window manager"
 LICENSE="|| ( LGPL-2.1 LGPL-3 ) MIT"
@@ -12,13 +13,13 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
 IUSE="nls X"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 RDEPEND="
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	X? (
-		$(add_qt_dep qtx11extras)
+		>=dev-qt/qtx11extras-${QTMIN}:5
 		x11-libs/libX11
 		x11-libs/libXfixes
 		x11-libs/libxcb
@@ -38,5 +39,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X X11)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/kxmlgui/kxmlgui-5.64.0.ebuild b/kde-frameworks/kxmlgui/kxmlgui-5.64.0.ebuild
index d92a7f5a40..637e759d02 100644
--- a/kde-frameworks/kxmlgui/kxmlgui-5.64.0.ebuild
+++ b/kde-frameworks/kxmlgui/kxmlgui-5.64.0.ebuild
@@ -4,8 +4,10 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for managing menu and toolbar actions in an abstract way"
 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
@@ -14,24 +16,24 @@ IUSE="attica"
 
 # slot op: includes QtCore/private/qlocale_p.h
 DEPEND="
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kglobalaccel)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kitemviews)
-	$(add_frameworks_dep ktextwidgets)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_qt_dep qtcore '' '' '5=')
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork 'ssl')
-	$(add_qt_dep qtprintsupport)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
-	attica? ( $(add_frameworks_dep attica) )
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kglobalaccel-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kitemviews-${PVCUT}:5
+	>=kde-frameworks/ktextwidgets-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=dev-qt/qtcore-${QTMIN}:5=
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5[ssl]
+	>=dev-qt/qtprintsupport-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
+	attica? ( >=kde-frameworks/attica-${PVCUT}:5 )
 "
 RDEPEND="${DEPEND}"
 
@@ -40,7 +42,7 @@ src_configure() {
 		$(cmake-utils_use_find_package attica KF5Attica)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_test() {
@@ -49,5 +51,5 @@ src_test() {
 		-E "(ktoolbar_unittest|kxmlgui_unittest)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/kxmlrpcclient/kxmlrpcclient-5.64.0.ebuild b/kde-frameworks/kxmlrpcclient/kxmlrpcclient-5.64.0.ebuild
index a50d097c8a..997a013857 100644
--- a/kde-frameworks/kxmlrpcclient/kxmlrpcclient-5.64.0.ebuild
+++ b/kde-frameworks/kxmlrpcclient/kxmlrpcclient-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="true"
-inherit kde5
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework providing client-side support for the XML-RPC protocol"
 LICENSE="BSD-2"
@@ -12,9 +14,9 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kio)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/modemmanager-qt/modemmanager-qt-5.64.0.ebuild b/kde-frameworks/modemmanager-qt/modemmanager-qt-5.64.0.ebuild
index a1b0690160..0ed60b2cc4 100644
--- a/kde-frameworks/modemmanager-qt/modemmanager-qt-5.64.0.ebuild
+++ b/kde-frameworks/modemmanager-qt/modemmanager-qt-5.64.0.ebuild
@@ -3,7 +3,9 @@
 
 EAPI=7
 
-inherit kde5
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="ModemManager bindings for Qt"
 LICENSE="LGPL-2"
@@ -14,8 +16,8 @@ BDEPEND="
 	virtual/pkgconfig
 "
 DEPEND="
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtxml)
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 	net-misc/modemmanager
 "
 RDEPEND="${DEPEND}"

diff --git a/kde-frameworks/networkmanager-qt/networkmanager-qt-5.64.0.ebuild b/kde-frameworks/networkmanager-qt/networkmanager-qt-5.64.0.ebuild
index b73b617c12..1a94f74ce1 100644
--- a/kde-frameworks/networkmanager-qt/networkmanager-qt-5.64.0.ebuild
+++ b/kde-frameworks/networkmanager-qt/networkmanager-qt-5.64.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=7
 
-inherit kde5
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="NetworkManager bindings for Qt"
 LICENSE="LGPL-2"
@@ -14,8 +15,8 @@ BDEPEND="
 	virtual/pkgconfig
 "
 DEPEND="
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtnetwork)
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5
 	>=net-misc/networkmanager-1.4.0-r1[teamd=]
 "
 RDEPEND="${DEPEND}
@@ -30,5 +31,5 @@ src_test() {
 	# bug: 625276
 	local myctestargs=( -E "(managertest|settingstest|activeconnectiontest)" )
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/oxygen-icons/oxygen-icons-5.64.0.ebuild b/kde-frameworks/oxygen-icons/oxygen-icons-5.64.0.ebuild
index 8b82d171c1..107ceb9815 100644
--- a/kde-frameworks/oxygen-icons/oxygen-icons-5.64.0.ebuild
+++ b/kde-frameworks/oxygen-icons/oxygen-icons-5.64.0.ebuild
@@ -4,6 +4,8 @@
 EAPI=7
 
 KDE_ORG_NAME="oxygen-icons5"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 inherit cmake-utils kde.org
 
 DESCRIPTION="Oxygen SVG icon theme"
@@ -12,8 +14,8 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
 IUSE="test"
 
 BDEPEND="
-	dev-qt/qtcore:5
-	kde-frameworks/extra-cmake-modules:5
+	>=dev-qt/qtcore-${QTMIN}:5
+	>=kde-frameworks/extra-cmake-modules-${PVCUT}:5
 	test? ( app-misc/fdupes )
 "
 DEPEND="test? ( dev-qt/qttest:5 )"

diff --git a/kde-frameworks/plasma/plasma-5.64.0.ebuild b/kde-frameworks/plasma/plasma-5.64.0.ebuild
index f524fc2b9a..3870f47467 100644
--- a/kde-frameworks/plasma/plasma-5.64.0.ebuild
+++ b/kde-frameworks/plasma/plasma-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KMNAME="${PN}-framework"
+KDE_ORG_NAME="${PN}-framework"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Plasma framework"
 LICENSE="LGPL-2+"
@@ -14,41 +16,41 @@ IUSE="gles2 wayland X"
 
 # drop qtgui subslot operator when QT_MINIMAL >= 5.14.0
 BDEPEND="
-	$(add_frameworks_dep kdoctools)
+	>=kde-frameworks/kdoctools-${PVCUT}:5
 "
 RDEPEND="
-	$(add_frameworks_dep kactivities)
-	$(add_frameworks_dep karchive)
-	$(add_frameworks_dep kconfig)
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep kdeclarative)
-	$(add_frameworks_dep kglobalaccel)
-	$(add_frameworks_dep kguiaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kirigami)
-	$(add_frameworks_dep knotifications)
-	$(add_frameworks_dep kpackage)
-	$(add_frameworks_dep kservice)
-	$(add_frameworks_dep kwidgetsaddons)
-	$(add_frameworks_dep kwindowsystem)
-	$(add_frameworks_dep kxmlgui)
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui 'gles2=' '' '5=')
-	$(add_qt_dep qtquickcontrols)
-	$(add_qt_dep qtsql)
-	$(add_qt_dep qtsvg)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kactivities-${PVCUT}:5
+	>=kde-frameworks/karchive-${PVCUT}:5
+	>=kde-frameworks/kconfig-${PVCUT}:5
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/kdeclarative-${PVCUT}:5
+	>=kde-frameworks/kglobalaccel-${PVCUT}:5
+	>=kde-frameworks/kguiaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kirigami-${PVCUT}:5
+	>=kde-frameworks/knotifications-${PVCUT}:5
+	>=kde-frameworks/kpackage-${PVCUT}:5
+	>=kde-frameworks/kservice-${PVCUT}:5
+	>=kde-frameworks/kwidgetsaddons-${PVCUT}:5
+	>=kde-frameworks/kwindowsystem-${PVCUT}:5
+	>=kde-frameworks/kxmlgui-${PVCUT}:5
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5=[gles2=]
+	>=dev-qt/qtquickcontrols-${QTMIN}:5
+	>=dev-qt/qtsql-${QTMIN}:5
+	>=dev-qt/qtsvg-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	!gles2? ( virtual/opengl )
 	wayland? (
-		$(add_frameworks_dep kwayland)
+		>=kde-frameworks/kwayland-${PVCUT}:5
 		media-libs/mesa[egl]
 	)
 	X? (
-		$(add_qt_dep qtx11extras)
+		>=dev-qt/qtx11extras-${QTMIN}:5
 		x11-libs/libX11
 		x11-libs/libxcb
 	)
@@ -68,5 +70,5 @@ src_configure() {
 		$(cmake-utils_use_find_package X XCB)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/prison/prison-5.64.0.ebuild b/kde-frameworks/prison/prison-5.64.0.ebuild
index ebcb4c899a..1b1b582bf3 100644
--- a/kde-frameworks/prison/prison-5.64.0.ebuild
+++ b/kde-frameworks/prison/prison-5.64.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=7
 
-inherit kde5
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="QRCode and data matrix barcode library"
 HOMEPAGE="https://cgit.kde.org/prison.git"
@@ -13,10 +14,10 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="qml"
 
 DEPEND="
-	$(add_qt_dep qtgui)
+	>=dev-qt/qtgui-${QTMIN}:5
 	media-gfx/qrencode:=
 	media-libs/libdmtx
-	qml? ( $(add_qt_dep qtdeclarative) )
+	qml? ( >=dev-qt/qtdeclarative-${QTMIN}:5 )
 "
 RDEPEND="${DEPEND}"
 
@@ -25,5 +26,5 @@ src_configure() {
 		$(cmake-utils_use_find_package qml Qt5Quick)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }

diff --git a/kde-frameworks/purpose/purpose-5.64.0.ebuild b/kde-frameworks/purpose/purpose-5.64.0.ebuild
index 9fb4086238..a80a56efd2 100644
--- a/kde-frameworks/purpose/purpose-5.64.0.ebuild
+++ b/kde-frameworks/purpose/purpose-5.64.0.ebuild
@@ -3,9 +3,11 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
-KDE_TEST="forceoptional"
-inherit kde5
+ECM_QTHELP="false"
+ECM_TEST="forceoptional"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Library for providing abstractions to get the developer's purposes fulfilled"
 LICENSE="LGPL-2.1+"
@@ -13,16 +15,16 @@ KEYWORDS="~amd64 ~arm ~arm64 ~x86"
 IUSE="+kaccounts"
 
 DEPEND="
-	$(add_frameworks_dep kcoreaddons)
-	$(add_frameworks_dep ki18n)
-	$(add_frameworks_dep kio)
-	$(add_frameworks_dep kirigami)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kcoreaddons-${PVCUT}:5
+	>=kde-frameworks/ki18n-${PVCUT}:5
+	>=kde-frameworks/kio-${PVCUT}:5
+	>=kde-frameworks/kirigami-${PVCUT}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	kaccounts? (
-		$(add_kdeapps_dep kaccounts-integration)
+		>=kde-apps/kaccounts-integration-19.04.3:5
 		net-libs/accounts-qt
 	)
 "
@@ -36,11 +38,11 @@ src_configure() {
 		$(cmake-utils_use_find_package kaccounts KAccounts)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 pkg_postinst(){
-	kde5_pkg_postinst
+	ecm_pkg_postinst
 
 	if ! has_version "kde-misc/kdeconnect[app]" ; then
 		elog "Optional runtime dependency:"

diff --git a/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.64.0.ebuild b/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.64.0.ebuild
index a2b2911b13..b7c0e031d8 100644
--- a/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.64.0.ebuild
+++ b/kde-frameworks/qqc2-desktop-style/qqc2-desktop-style-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_QTHELP="false"
-inherit kde5
+ECM_QTHELP="false"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Style for QtQuickControls 2 that uses QWidget's QStyle for painting"
 KEYWORDS="~amd64 ~arm ~arm64 ~x86"
@@ -12,14 +14,14 @@ LICENSE="|| ( GPL-2+ LGPL-3+ )"
 IUSE=""
 
 DEPEND="
-	$(add_frameworks_dep kconfigwidgets)
-	$(add_frameworks_dep kiconthemes)
-	$(add_frameworks_dep kirigami)
-	$(add_qt_dep qtdeclarative '' '' '5=')
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=kde-frameworks/kconfigwidgets-${PVCUT}:5
+	>=kde-frameworks/kiconthemes-${PVCUT}:5
+	>=kde-frameworks/kirigami-${PVCUT}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5=
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 "
 RDEPEND="${DEPEND}
-	$(add_qt_dep qtgraphicaleffects)
-	$(add_qt_dep qtquickcontrols2)
+	>=dev-qt/qtgraphicaleffects-${QTMIN}:5
+	>=dev-qt/qtquickcontrols2-${QTMIN}:5
 "

diff --git a/kde-frameworks/solid/solid-5.64.0.ebuild b/kde-frameworks/solid/solid-5.64.0.ebuild
index 465afb9a5c..b24edd42d7 100644
--- a/kde-frameworks/solid/solid-5.64.0.ebuild
+++ b/kde-frameworks/solid/solid-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Provider for platform independent hardware discovery, abstraction and management"
 LICENSE="LGPL-2.1+"
@@ -12,22 +13,22 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
 IUSE="nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 RDEPEND="
-	$(add_qt_dep qtdbus)
-	$(add_qt_dep qtdeclarative)
-	$(add_qt_dep qtwidgets)
-	$(add_qt_dep qtxml)
+	>=dev-qt/qtdbus-${QTMIN}:5
+	>=dev-qt/qtdeclarative-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 	sys-fs/udisks:2
 	virtual/libudev:=
 "
 DEPEND="${RDEPEND}
-	test? ( $(add_qt_dep qtconcurrent) )
+	test? ( >=dev-qt/qtconcurrent-${QTMIN}:5 )
 "
 
 pkg_postinst() {
-	kde5_pkg_postinst
+	ecm_pkg_postinst
 
 	if [[ -z "${REPLACING_VERSIONS}" ]] && ! has_version "app-misc/media-player-info" ; then
 		elog "For media player support, install app-misc/media-player-info"

diff --git a/kde-frameworks/sonnet/sonnet-5.64.0.ebuild b/kde-frameworks/sonnet/sonnet-5.64.0.ebuild
index 338953f58f..bd90ae56be 100644
--- a/kde-frameworks/sonnet/sonnet-5.64.0.ebuild
+++ b/kde-frameworks/sonnet/sonnet-5.64.0.ebuild
@@ -4,8 +4,9 @@
 EAPI=7
 
 ECM_DESIGNERPLUGIN="true"
+QTMIN=5.12.3
 VIRTUALX_REQUIRED="test"
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for providing spell-checking through abstraction of popular backends"
 LICENSE="LGPL-2+ LGPL-2.1+"
@@ -13,11 +14,11 @@ KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
 IUSE="aspell +hunspell nls"
 
 BDEPEND="
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtwidgets)
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtwidgets-${QTMIN}:5
 	aspell? ( app-text/aspell )
 	hunspell? ( app-text/hunspell:= )
 "
@@ -29,7 +30,7 @@ src_configure() {
 		$(cmake-utils_use_find_package hunspell HUNSPELL)
 	)
 
-	kde5_src_configure
+	ecm_src_configure
 }
 
 src_test() {
@@ -38,5 +39,5 @@ src_test() {
 		-E "(sonnet-test_settings|sonnet-test_highlighter)"
 	)
 
-	kde5_src_test
+	ecm_src_test
 }

diff --git a/kde-frameworks/syndication/syndication-5.64.0.ebuild b/kde-frameworks/syndication/syndication-5.64.0.ebuild
index 660dcd1e48..7bbb67f822 100644
--- a/kde-frameworks/syndication/syndication-5.64.0.ebuild
+++ b/kde-frameworks/syndication/syndication-5.64.0.ebuild
@@ -3,8 +3,10 @@
 
 EAPI=7
 
-KDE_TEST="true"
-inherit kde5
+ECM_TEST="true"
+PVCUT=$(ver_cut 1-2)
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Library for parsing RSS and Atom feeds"
 LICENSE="LGPL-2+"
@@ -12,13 +14,13 @@ KEYWORDS="~amd64 ~arm64 ~x86"
 IUSE=""
 
 COMMON_DEPEND="
-	$(add_frameworks_dep kcodecs)
-	$(add_qt_dep qtxml)
+	>=kde-frameworks/kcodecs-${PVCUT}:5
+	>=dev-qt/qtxml-${QTMIN}:5
 "
 DEPEND="${COMMON_DEPEND}
 	test? (
-		$(add_qt_dep qtnetwork)
-		$(add_qt_dep qtwidgets)
+		>=dev-qt/qtnetwork-${QTMIN}:5
+		>=dev-qt/qtwidgets-${QTMIN}:5
 	)
 "
 RDEPEND="${COMMON_DEPEND}

diff --git a/kde-frameworks/syntax-highlighting/syntax-highlighting-5.64.0.ebuild b/kde-frameworks/syntax-highlighting/syntax-highlighting-5.64.0.ebuild
index 92fd354824..a21e01eb92 100644
--- a/kde-frameworks/syntax-highlighting/syntax-highlighting-5.64.0.ebuild
+++ b/kde-frameworks/syntax-highlighting/syntax-highlighting-5.64.0.ebuild
@@ -3,8 +3,9 @@
 
 EAPI=7
 
-KDE_TEST="forceoptional"
-inherit kde5
+ECM_TEST="forceoptional"
+QTMIN=5.12.3
+inherit ecm kde.org
 
 DESCRIPTION="Framework for syntax highlighting"
 LICENSE="LGPL-2+ LGPL-2.1+"
@@ -13,16 +14,16 @@ IUSE="nls"
 
 BDEPEND="
 	dev-lang/perl
-	nls? ( $(add_qt_dep linguist-tools) )
+	nls? ( >=dev-qt/linguist-tools-${QTMIN}:5 )
 "
 DEPEND="
-	$(add_qt_dep qtgui)
-	$(add_qt_dep qtnetwork)
-	$(add_qt_dep qtxmlpatterns)
+	>=dev-qt/qtgui-${QTMIN}:5
+	>=dev-qt/qtnetwork-${QTMIN}:5
+	>=dev-qt/qtxmlpatterns-${QTMIN}:5
 "
 RDEPEND="${DEPEND}"
 
 src_install() {
-	kde5_src_install
+	ecm_src_install
 	dobin "${BUILD_DIR}"/bin/katehighlightingindexer
 }

diff --git a/kde-frameworks/threadweaver/threadweaver-5.64.0.ebuild b/kde-frameworks/threadweaver/threadweaver-5.64.0.ebuild
index c6a70c62cb..3e0eead67c 100644
--- a/kde-frameworks/threadweaver/threadweaver-5.64.0.ebuild
+++ b/kde-frameworks/threadweaver/threadweaver-5.64.0.ebuild
@@ -3,7 +3,7 @@
 
 EAPI=7
 
-inherit kde5
+inherit ecm kde.org
 
 DESCRIPTION="Framework for managing threads using job and queue-based interfaces"
 LICENSE="LGPL-2+"
@@ -12,5 +12,5 @@ IUSE=""
 
 src_prepare() {
 	cmake_comment_add_subdirectory benchmarks
-	kde5_src_prepare
+	ecm_src_prepare
 }


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2019-11-10 17:11 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-11-10 17:11 [gentoo-commits] proj/kde:master commit in: kde-frameworks/kdbusaddons/, kde-frameworks/kservice/, kde-frameworks/kcmutils/, Andreas Sturmlechner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox