This commit is contained in:
2025-12-25 19:04:12 +08:00
parent 11cb7520d9
commit 46095941ba
4 changed files with 182 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,7 @@
-----BEGIN PGP SIGNATURE-----
iHUEABYKAB0WIQSQqWisqEU3zCe5nq8sjfWHptSqwQUCaTLb9AAKCRAsjfWHptSq
wZlUAP0YcVxujDSwWYaigRKl0Acd924WdI9DGRfl1a7RT1E6IgEAy6Zm5lWf7FCP
p5nxvQshscYQYR1u8vX6xPiKtRWheQ4=
=FilL
-----END PGP SIGNATURE-----

View File

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

View File

@@ -0,0 +1,173 @@
%define qt6_version 6.8.0
%define rname kconfig
# Full KF6 version (e.g. 6.21.0)
%{!?_kf6_version: %global _kf6_version %{version}}
Name: kf6-kconfig
Version: 6.21.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: %{rname}-%{version}.tar.xz
Source99: kf6-kconfig-rpmlintrc
BuildRequires: fdupes
BuildRequires: kf6-extra-cmake-modules >= %{_kf6_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(Qt6Quick) >= %{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
Supplements: (libKF6ConfigCore6 and libQt6Qml6)
%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
%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
%{_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