Files
desktop/kf6-kxmlgui/kf6-kxmlgui.spec
2026-02-27 11:16:06 +08:00

106 lines
3.7 KiB
RPMSpec

# SPDX-FileCopyrightText: (C) 2026 Institute of Software, Chinese Academy of Sciences (ISCAS)
# SPDX-FileCopyrightText: (C) 2026 openRuyi Project Contributors
# SPDX-FileContributor: jingyupu <pujingyu@iscas.ac.cn>
#
# SPDX-License-Identifier: MulanPSL-2.0
%define qt6_version 6.8.0
%define rname kxmlgui
# Full KF6 version (e.g. 6.22.0)
%{!?_kf6_version: %global _kf6_version %{version}}
Name: kf6-kxmlgui
Version: 6.22.0
Release: %autorelease
Summary: Framework for managing menu and toolbar actions
License: LGPL-2.1-or-later AND GPL-2.0-or-later
URL: https://www.kde.org
VCS: git:https://invent.kde.org/frameworks/kxmlgui
#!RemoteAsset
Source: https://download.kde.org/stable/frameworks/6.22/%{rname}-%{version}.tar.xz
BuildRequires: fdupes
BuildRequires: kf6-extra-cmake-modules >= %{_kf6_version}
BuildRequires: pkgconfig
BuildRequires: qt6-qtbase-private-devel >= %{qt6_version}
BuildRequires: cmake(KF6Config) >= %{_kf6_version}
BuildRequires: cmake(KF6ConfigWidgets) >= %{_kf6_version}
BuildRequires: cmake(KF6CoreAddons) >= %{_kf6_version}
BuildRequires: cmake(KF6GlobalAccel) >= %{_kf6_version}
BuildRequires: cmake(KF6GuiAddons) >= %{_kf6_version}
BuildRequires: cmake(KF6I18n) >= %{_kf6_version}
BuildRequires: cmake(KF6IconThemes) >= %{_kf6_version}
BuildRequires: cmake(KF6ItemViews) >= %{_kf6_version}
BuildRequires: cmake(KF6WidgetsAddons) >= %{_kf6_version}
BuildRequires: cmake(Qt6Core) >= %{qt6_version}
BuildRequires: cmake(Qt6DBus) >= %{qt6_version}
BuildRequires: cmake(Qt6Network) >= %{qt6_version}
BuildRequires: cmake(Qt6PrintSupport) >= %{qt6_version}
BuildRequires: cmake(Qt6ToolsTools) >= %{qt6_version}
BuildRequires: cmake(Qt6UiPlugin) >= %{qt6_version}
BuildRequires: cmake(Qt6Widgets) >= %{qt6_version}
BuildRequires: cmake(Qt6Xml) >= %{qt6_version}
BuildRequires: pkgconfig(x11)
BuildRequires: qt6-qttools
BuildRequires: qt6-doctools
BuildRequires: qt6-linguist
%description
libkxmlgui provides a framework for managing menu and toolbar actions in an
abstract way. The actions are configured through a XML description and hooks
in the application code. The framework supports merging of multiple
description for example for integrating actions from plugins.
%package devel
Summary: Framework for managing menu and toolbar actions
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: cmake(KF6Config) >= %{_kf6_version}
Requires: cmake(KF6ConfigWidgets) >= %{_kf6_version}
Requires: cmake(Qt6DBus) >= %{qt6_version}
Requires: cmake(Qt6Widgets) >= %{qt6_version}
Requires: cmake(Qt6Xml) >= %{qt6_version}
%description devel
libkxmlgui provides a framework for managing menu and toolbar actions in an
abstract way. The actions are configured through a XML description and hooks
in the application code. The framework supports merging of multiple
description for example for integrating actions from plugins. Development files.
%prep
%autosetup -p1 -n %{rname}-%{version}
%build
%cmake_kf6 -DBUILD_PYTHON_BINDINGS=OFF
%kf6_build
%install
%kf6_install
%fdupes %{buildroot}
# todo: fix the name error.
# Avoid illegal package names
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/*@*
rm -rf $RPM_BUILD_ROOT%{_datadir}/locale/en_GB/
# Use langpacks macro to auto-split translations
%find_lang %{name}6 --with-qt --all-name --generate-subpackages
%files
%license LICENSES/*
%doc README.md
%{_kf6_debugdir}/kxmlgui.categories
%{_kf6_debugdir}/kxmlgui.renamecategories
%{_kf6_libdir}/libKF6XmlGui.so.*
%files devel
%{_kf6_cmakedir}/KF6XmlGui/
%{_kf6_includedir}/KXmlGui/
%{_kf6_libdir}/libKF6XmlGui.so
%{_kf6_plugindir}/designer/kxmlgui6widgets.so
%changelog
%{?autochangelog}