Accepting request 1144393 from home:Vogtinator:frameworks6

Frameworks 6 RC 2 + polkit-qt + phonon. Still untested.

OBS-URL: https://build.opensuse.org/request/show/1144393
OBS-URL: https://build.opensuse.org/package/show/KDE:Frameworks/kf6-kconfig?expand=0&rev=1
This commit is contained in:
Luca Beltrame 2024-02-06 20:31:17 +00:00 committed by Git OBS Bridge
commit 578c4ea6dc
9 changed files with 492 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -0,0 +1,23 @@
## Default LFS
*.7z filter=lfs diff=lfs merge=lfs -text
*.bsp filter=lfs diff=lfs merge=lfs -text
*.bz2 filter=lfs diff=lfs merge=lfs -text
*.gem filter=lfs diff=lfs merge=lfs -text
*.gz filter=lfs diff=lfs merge=lfs -text
*.jar filter=lfs diff=lfs merge=lfs -text
*.lz filter=lfs diff=lfs merge=lfs -text
*.lzma filter=lfs diff=lfs merge=lfs -text
*.obscpio filter=lfs diff=lfs merge=lfs -text
*.oxt filter=lfs diff=lfs merge=lfs -text
*.pdf filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.rpm filter=lfs diff=lfs merge=lfs -text
*.tbz filter=lfs diff=lfs merge=lfs -text
*.tbz2 filter=lfs diff=lfs merge=lfs -text
*.tgz filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
*.txz filter=lfs diff=lfs merge=lfs -text
*.whl filter=lfs diff=lfs merge=lfs -text
*.xz filter=lfs diff=lfs merge=lfs -text
*.zip filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

29
frameworks.keyring Normal file
View File

@ -0,0 +1,29 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQENBFfNUR8BCADDjPXScwObp7mWwUnrjqrM0gGg+pId6vqe0a5A4xr+Rgj26quK
2qJLym0mmul/uh2M8z486qDTQYQaTEppFCosH3WqFonTN2LWpHcujeVABXkAe9qo
DHBZZRMw8CXtiEwvJ/xV/MXTR7G0QCqT4HF045SAyyBjusBiiGly32JEDD4FdjHj
KKUrAJyyoc6frake7ZMO0SO3tQNwmi4T5KLSoxhi3Zgez2k9GPZEj4/W7l5Ne0zQ
7C8Tgo8wraqj/8pzjfP6+Dc2LHOTtu8DGDQkXEFa9VvuAotOtI8Kjff+bOd36WTL
L2dk69Bb7WbhRLkkavHZCdKOpfyBtVn+hGWRABEBAAG0G0RhdmlkIEZhdXJlIDxm
YXVyZUBrZGUub3JnPokBPQQTAQgAJwUCV81RHwIbAwUJCWYBgAULCQgHAgYVCAkK
CwIEFgIDAQIeAQIXgAAKCRBY0O5kikizu/01B/46hG+MaTFW1CVevZrGyPacmDRj
pQhx/ODadBkVXXaJyr7aNKT3EvAedyT82SGT/ch+aqXjZK1kEwK6zITqoOZZUt2I
CjBN4+UfLrWwlKldZShbhJ6NMHJIeYQ5EDlMw7TWVn0OPkRuDvLEasgOhxR9ZjWW
c5wlcZXXy8N+wGSR0bThzl0pdFcIy9Z3g411ZOvjUdDuWqtKUH9iy1VdVyba7FXI
x/BqAXIVsAaIFNsJBZZ7C7j1a1IlTykRLiDjh3mpyBfX4xfMTo4z6pjfQsoPebJl
TlCnwAkIxeyatGXm4OCqEA9zPVd1Ju7+XuEr6+15ENYJ4oYsZjfyScHHJdWMuQEN
BFfNUR8BCADe5wRc/QFL92npVAgzPQ9mJKopscRcxs0f2DM7EBPzUFvWGRIGRdB8
obXfzBp4Pfyzqky7C1X/j7ENzx+Kol1AJ93wjUEfLoZ/zsvoj9ZT3GdjeVQeReKY
d4th7Jqo4qxvi33Pud0jZsENezzgdd4npiNN9bFX0mjNKNHL9o1n5nTm9pfDI/AS
PZz2RoRO7oUJb+aX6hKxTBaKoAiZHybAXQVchtwJx0O4wLbZ3E4ytJdcATlPDNXS
jw2Lmns8aGa6DBGyqiG6g1PlCnOI2Q/cQK1zbkSisfoCbpEq1MgIzuZSoJ00NIEp
eiACoR82565G68yAb+uKHkcFrYkfDT41ABEBAAGJASUEGAEIAA8FAlfNUR8CGwwF
CQlmAYAACgkQWNDuZIpIs7vWkgf9GNUZmD0UgbQmj0nwkEHum1g7LD+MZL0+P2kg
HyEL3Cm01ot9d+X5ed/gAJ6hDR55KYxHi+/wwwkCNDLoQoP+7VZq2fMiGD0/bDar
oWQqbckqDZU4l69u9NbYvVWHUerfwKfi0ZKN5sJqLwIkr57wEX0I/TBGoMuFB27q
2qyloS5m1Q2pke2mmZjKSqE0jxZJ7iFGJO/Buyjgd1B2kr0DaGaCrh0wjfVjAWpt
klK95Phry1jQc7W0Z4ZdWpB79S1yW670eutSC4fMjvsNxROGkPx4dDkyG5nToeau
zhEh/pXho2Eo/aFEqqY42GMSlN9rf7ekaTNo7OxsE7vvCB0fug==
=4o3u
-----END PGP PUBLIC KEY BLOCK-----

3
kconfig-5.249.0.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7d24cbc6c12dd8cb25959fd4ffc232efb14719ebb8a3a9eefd40673a57ff4d0d
size 292996

View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE4KPrIC+OV1KOE+cv11dEg7tXsY0FAmW6IcEACgkQ11dEg7tX
sY1Szg/+Pl+aowMhisFg6fSj2KwRrtyWb8a5RAFCxn36KBkPsh5eGV+GxXPe4oXK
qBkCCJpCcH62eHq3Rjs+Sxl1W5KVXGRd6aUebxt7lUMtkonHwD9TJSAqMipbZk5q
UrVuqqIQVKtEB+E6vfnEhXdM5XRqgx6cwIFE2/STt/8eMZgNHN7SY2eYvsitVpgA
+QNardqaz8e2ctO18ZxRVp763nk4lxujXFJt3U6soBkJmJMy+uVEdsgeZWMkOHPA
HRI0YDxqG+GxHM5p/1CKP7hsMXx+9+DK+alaCBEDXcUqyOo13gF0VJ08r1/FtAR1
4URgoxYDLpx+NR97smfbgnQEjQxkenh39lFvrbgdAHGIkcWzeT2M5iu0dtdxj5pk
C+tPcT9FTz+kI465d7J6ZRWGw3V24vUGrvDkM+7Ygfh4395MzvwpIl8+3Gp2AuqH
FhIqBc9WEMOP6/BgOtaCSZ4fBxjWnpKJzm53d5cm5xXfOUixXnY1XhwlGedQ9SYJ
d9kD3nNnLqIXOof6JlAgaVaHK3z5QQwD1YpOnggWw/Ffi/UHTA2iYyMTmTUGKcNG
cYl4RVKaWuUiFMAbmwsz8JC7P55WgwlDabmREHn/II+qnrFkXx0yTq8TOPdq5uJd
GU2WUasyOGxJu4K2HSJjd9TJcJV9f3+j4BVYz8WSQtlj+hgbH4U=
=zKH0
-----END PGP SIGNATURE-----

View File

@ -0,0 +1,201 @@
From 6673a1afb304714d05ccfb0a3e257d58388f8f2f Mon Sep 17 00:00:00 2001
From: Not sure who <>
Date: Tue, 12 Oct 2021 14:02:41 +0200
Subject: [PATCH] Translate desktop entries using gettext
For the desktop-file-translations mechanism:
https://github.com/openSUSE/desktop-file-translations
---
src/core/kconfig.cpp | 13 +++++++++++++
src/core/kconfig_p.h | 1 +
src/core/kconfigdata_p.h | 14 ++++++++++++++
src/core/kconfiggroup.cpp | 12 ++++++++++++
src/core/kconfiggroup.h | 5 +++++
src/core/kdesktopfile.cpp | 37 +++++++++++++++++++++++++++++++------
src/core/kdesktopfile.h | 2 ++
7 files changed, 78 insertions(+), 6 deletions(-)
Index: kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfig.cpp
===================================================================
--- kconfig-5.62.0git.20211128T012443~973dfd4.orig/src/core/kconfig.cpp
+++ kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfig.cpp
@@ -1008,6 +1008,19 @@ void KConfigPrivate::revertEntry(const Q
}
}
+QByteArray KConfigPrivate::lookupExactData(const QByteArray &group, const char *key,
+ KEntryMap::SearchFlags flags) const
+{
+ if (bReadDefaults) {
+ flags |= KEntryMap::SearchDefaults;
+ }
+ const KEntryMapConstIterator it = entryMap.findExactEntry(group, key, flags);
+ if (it == entryMap.constEnd()) {
+ return QByteArray();
+ }
+ return it->mValue;
+}
+
QByteArray KConfigPrivate::lookupData(const QByteArray &group, const char *key, KEntryMap::SearchFlags flags) const
{
return lookupInternalEntry(group, key, flags).mValue;
Index: kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfig_p.h
===================================================================
--- kconfig-5.62.0git.20211128T012443~973dfd4.orig/src/core/kconfig_p.h
+++ kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfig_p.h
@@ -35,6 +35,7 @@ public:
QString lookupData(const QByteArray &group, const char *key, KEntryMap::SearchFlags flags, bool *expand) const;
QByteArray lookupData(const QByteArray &group, const char *key, KEntryMap::SearchFlags flags) const;
KEntry lookupInternalEntry(const QByteArray &group, const char *key, KEntryMap::SearchFlags flags) const;
+ QByteArray lookupExactData(const QByteArray &group, const char *key, KEntryMap::SearchFlags flags) const;
void putData(const QByteArray &group, const char *key, const QByteArray &value, KConfigBase::WriteConfigFlags flags, bool expand = false);
void setEntryData(const QByteArray &group, const char *key, const QByteArray &value, KEntryMap::EntryOptions flags)
Index: kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfigdata_p.h
===================================================================
--- kconfig-5.62.0git.20211128T012443~973dfd4.orig/src/core/kconfigdata_p.h
+++ kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfigdata_p.h
@@ -192,6 +192,20 @@ public:
Iterator findEntry(const QByteArray &group, const QByteArray &key = QByteArray(), SearchFlags flags = SearchFlags());
+ ConstIterator findExactEntry(const QByteArray &group, const QByteArray &key = QByteArray(),
+ SearchFlags flags = SearchFlags()) const
+ {
+ KEntryKey theKey(group, key, false, bool(flags & SearchDefaults));
+
+ // try the localized key first
+ if (flags & SearchLocalized) {
+ theKey.bLocal = true;
+ return find(theKey);
+ }
+ return find(theKey);
+ }
+
+
ConstIterator findEntry(const QByteArray &group, const QByteArray &key = QByteArray(), SearchFlags flags = SearchFlags()) const
{
return constFindEntry(group, key, flags);
Index: kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfiggroup.cpp
===================================================================
--- kconfig-5.62.0git.20211128T012443~973dfd4.orig/src/core/kconfiggroup.cpp
+++ kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfiggroup.cpp
@@ -1165,6 +1165,18 @@ bool KConfigGroup::hasKey(const char *ke
return !config()->d_func()->lookupData(d->fullName(), key, flags).isNull();
}
+bool KConfigGroup::hasTranslatedKey(const char *key) const
+{
+ Q_ASSERT_X(isValid(), "KConfigGroup::hasTranslatedKey", "accessing an invalid group");
+
+ KEntryMap::SearchFlags flags = KEntryMap::SearchLocalized;
+ if (config()->readDefaults()) {
+ flags |= KEntryMap::SearchDefaults;
+ }
+
+ return !config()->d_func()->lookupExactData(d->fullName(), key, flags).isNull();
+}
+
bool KConfigGroup::hasKey(const QString &key) const
{
return hasKey(key.toUtf8().constData());
Index: kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfiggroup.h
===================================================================
--- kconfig-5.62.0git.20211128T012443~973dfd4.orig/src/core/kconfiggroup.h
+++ kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kconfiggroup.h
@@ -707,6 +707,11 @@ public:
*/
QMap<QString, QString> entryMap() const;
+ /**
+ * @internal
+ */
+ bool hasTranslatedKey(const char *key) const;
+
protected:
bool hasGroupImpl(const QByteArray &group) const override;
KConfigGroup groupImpl(const QByteArray &b) override;
Index: kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kdesktopfile.cpp
===================================================================
--- kconfig-5.62.0git.20211128T012443~973dfd4.orig/src/core/kdesktopfile.cpp
+++ kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kdesktopfile.cpp
@@ -18,6 +18,7 @@
#include <QFileInfo>
#include <QStandardPaths>
#include <QUrl>
+#include <libintl.h>
#ifndef Q_OS_WIN
#include <unistd.h>
@@ -166,6 +167,33 @@ bool KDesktopFile::isAuthorizedDesktopFi
return false;
}
+QString KDesktopFile::translatedEntry(const char *key) const
+{
+ Q_D(const KDesktopFile);
+ if (d->desktopGroup.hasTranslatedKey(key)) {
+ return d->desktopGroup.readEntry(key);
+ }
+
+ if (d->desktopGroup.hasKey(key)) {
+ QString value = d->desktopGroup.readEntryUntranslated(key);
+ QString fName = fileName();
+ fName = fName.mid(fName.lastIndexOf(QLatin1Char('/'))+1);
+ QString po_lookup_key = QString::fromLatin1(key) + QStringLiteral("(") + fName + QStringLiteral("): ") + value;
+ char *msgid = strdup(po_lookup_key.toUtf8().constData());
+ const char *po_value = dgettext("desktop_translations", msgid);
+
+ if (po_value == msgid) {
+ free(msgid);
+ return value;
+ }
+
+ free(msgid);
+ return QString::fromUtf8(po_value);
+ }
+
+ return QString();
+}
+
QString KDesktopFile::readType() const
{
Q_D(const KDesktopFile);
@@ -180,20 +208,17 @@ QString KDesktopFile::readIcon() const
QString KDesktopFile::readName() const
{
- Q_D(const KDesktopFile);
- return d->desktopGroup.readEntry("Name", QString());
+ return translatedEntry("Name");
}
QString KDesktopFile::readComment() const
{
- Q_D(const KDesktopFile);
- return d->desktopGroup.readEntry("Comment", QString());
+ return translatedEntry("Comment");
}
QString KDesktopFile::readGenericName() const
{
- Q_D(const KDesktopFile);
- return d->desktopGroup.readEntry("GenericName", QString());
+ return translatedEntry("GenericName");
}
QString KDesktopFile::readPath() const
Index: kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kdesktopfile.h
===================================================================
--- kconfig-5.62.0git.20211128T012443~973dfd4.orig/src/core/kdesktopfile.h
+++ kconfig-5.62.0git.20211128T012443~973dfd4/src/core/kdesktopfile.h
@@ -252,6 +252,8 @@ public:
#endif
private:
+ QString translatedEntry(const char *) const;
+
Q_DISABLE_COPY(KDesktopFile)
Q_DECLARE_PRIVATE(KDesktopFile)

2
kf6-kconfig-rpmlintrc Normal file
View File

@ -0,0 +1,2 @@
# rpmlint score is too high on leap
addFilter("shlib-fixed-dependency .*")

18
kf6-kconfig.changes Normal file
View File

@ -0,0 +1,18 @@
-------------------------------------------------------------------
Wed Jan 31 17:49:59 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.249.0 (6.0 RC 2):
* New bugfix release
* For more details see https://kde.org/announcements/megarelease/6/rc2/
-------------------------------------------------------------------
Mon Jan 15 20:00:42 UTC 2024 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.248.0 (6.0 RC 1)
* For more details please see:
https://kde.org/announcements/megarelease/6/rc1/
-------------------------------------------------------------------
Sat May 27 11:18:15 UTC 2023 - Christophe Marin <christophe@krop.fr>
- Init kf6-kconfig

199
kf6-kconfig.spec Normal file
View File

@ -0,0 +1,199 @@
#
# spec file for package kf6-kconfig
#
# Copyright (c) 2023 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%define qt6_version 6.5.0
%define rname kconfig
# Full KF6 version (e.g. 6.0.0)
%{!?_kf6_version: %global _kf6_version %{version}}
# Last major and minor KF6 version (e.g. 6.0)
%{!?_kf6_bugfix_version: %define _kf6_bugfix_version %(echo %{_kf6_version} | awk -F. '{print $1"."$2}')}
%bcond_without released
Name: kf6-kconfig
Version: 5.249.0
Release: 0
Summary: Advanced configuration system
License: LGPL-2.1-or-later AND GPL-2.0-or-later
URL: https://www.kde.org
Source: https://download.kde.org/unstable/frameworks/%{version}/%{rname}-%{version}.tar.xz
%if %{with released}
Source1: https://download.kde.org/unstable/frameworks/%{version}/%{rname}-%{version}.tar.xz.sig
Source2: frameworks.keyring
%endif
Source99: kf6-kconfig-rpmlintrc
# PATCH-FEATURE-OPENSUSE TODO: still wanted?
# Patch0: kconfig-desktop-translations.patch
BuildRequires: doxygen
BuildRequires: fdupes
BuildRequires: kf6-extra-cmake-modules >= %{_kf6_bugfix_version}
BuildRequires: cmake(Qt6Core) >= %{qt6_version}
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
BuildRequires: cmake(Qt6Gui) >= %{qt6_version}
BuildRequires: cmake(Qt6LinguistTools) >= %{qt6_version}
BuildRequires: cmake(Qt6Qml) >= %{qt6_version}
BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version}
BuildRequires: cmake(Qt6Xml) >= %{qt6_version}
%description
KConfig provides an advanced configuration system. It is made of three parts:
KConfigCore, KConfigGui and KConfigQml.
KConfigCore provides access to the configuration files themselves. It features:
- centralized definition: define your configuration in an XML file and use
`kconfig_compiler` to generate classes to read and write configuration entries.
- lock-down (kiosk) support.
KConfigGui provides a way to hook widgets to the configuration so that they are
automatically initialized from the configuration and automatically propagate
their changes to their respective configuration files.
KConfigQml provides QtQuick bindings to KConfig, allowing it to be used with QML.
%package imports
Summary: QML imports for kconfig
%requires_eq libQt6Quick6
Supplements: (libKF6ConfigCore6 and libQt6Quick6)
%description imports
QML imports for kconfig.
%package -n libKF6ConfigCore6
Summary: System for configuration files
Requires: kf6-kconfig >= %{version}
Recommends: kconf_update6 = %{version}
%description -n libKF6ConfigCore6
KConfig provides an advanced configuration system. It is made of two parts:
KConfigCore and KConfigGui.
KConfigCore provides access to the configuration files themselves.
%package -n libKF6ConfigGui6
Summary: Widgets hooks for configuration entities
Requires: libKF6ConfigCore6 = %{version}
%description -n libKF6ConfigGui6
KConfigGui provides a way to hook widgets to the configuration so that they are
automatically initialized from the configuration and automatically propagate
their changes to their respective configuration files.
%package -n libKF6ConfigQml6
Summary: QtQuick bindings for configuration entities
Requires: libKF6ConfigCore6 = %{version}
Requires: libKF6ConfigGui6 = %{version}
%description -n libKF6ConfigQml6
KConfigQml provides QtQuick bindings to KConfig, which allows using the library with
QML.
%package -n kconf_update6
Summary: Configuration file access
Requires: libKF6ConfigCore6 = %{version}
%description -n kconf_update6
KConfig provides an advanced configuration system. It is made of two parts:
KConfigCore and KConfigGui.
This package contains the kconf_update tool.
%package devel
Summary: KConfig Development files
Requires: kconf_update6 = %{version}
Requires: libKF6ConfigCore6 = %{version}
Requires: libKF6ConfigGui6 = %{version}
Requires: libKF6ConfigQml6 = %{version}
Requires: cmake(Qt6DBus) >= %{qt6_version}
Requires: cmake(Qt6Qml) >= %{qt6_version}
Requires: cmake(Qt6Xml) >= %{qt6_version}
%description devel
KConfig provides an advanced configuration system. It is made of two parts:
KConfigCore and KConfigGui.
KConfigCore provides access to the configuration files themselves. It features:
- centralized definition: define your configuration in an XML file and use
`kconfig_compiler` to generate classes to read and write configuration entries.
- lock-down (kiosk) support.
KConfigGui provides a way to hook widgets to the configuration so that they are
automatically initialized from the configuration and automatically propagate
their changes to their respective configuration files. Development files.
%lang_package -n libKF6ConfigCore6
%prep
%autosetup -p1 -n %{rname}-%{version}
%build
%cmake_kf6 -DBUILD_QCH:BOOL=TRUE
%kf6_build
%install
%kf6_install
%fdupes %{buildroot}
%find_lang kconfig6 --with-qt --without-mo
%ldconfig_scriptlets -n libKF6ConfigCore6
%ldconfig_scriptlets -n libKF6ConfigGui6
%ldconfig_scriptlets -n libKF6ConfigQml6
%files
%{_kf6_bindir}/kreadconfig6
%{_kf6_bindir}/kwriteconfig6
%{_kf6_debugdir}/kconfig.categories
%{_kf6_debugdir}/kconfig.renamecategories
%files imports
%{_kf6_qmldir}/org/kde/config/
%files -n libKF6ConfigCore6
%license LICENSES/*
%doc README.md
%{_kf6_libdir}/libKF6ConfigCore.so.*
%files -n libKF6ConfigGui6
%{_kf6_libdir}/libKF6ConfigGui.so.*
%files -n libKF6ConfigQml6
%{_kf6_libdir}/libKF6ConfigQml.so.*
%files -n kconf_update6
%{_kf6_libexecdir}/kconf_update
%files devel
%doc %{_kf6_qchdir}/KF6Config.*
%{_kf6_includedir}/KConfig/
%{_kf6_includedir}/KConfigCore/
%{_kf6_includedir}/KConfigGui/
%{_kf6_includedir}/KConfigQml/
%{_kf6_cmakedir}/KF6Config/
%{_kf6_libdir}/libKF6ConfigCore.so
%{_kf6_libdir}/libKF6ConfigGui.so
%{_kf6_libdir}/libKF6ConfigQml.so
%{_kf6_libexecdir}/kconfig_compiler_kf6
%files -n libKF6ConfigCore6-lang -f kconfig6.lang
%changelog