2026-08-25 01:26:42 +02:00
|
|
|
# Generated for SonicDE from Fedora's kf6-purpose.spec.
|
|
|
|
|
# SonicDE is a hard fork of KDE Plasma; the sources come from the
|
|
|
|
|
# https://github.com/Sonic-DE/sonic-frameworks-purpose fork, not from download.kde.org.
|
|
|
|
|
%define _disable_source_fetch 0
|
|
|
|
|
%define debug_package %{nil}
|
|
|
|
|
%global reponame sonic-frameworks-purpose
|
|
|
|
|
# Upstream KDE project: purpose
|
|
|
|
|
%global oldname kf6-purpose
|
|
|
|
|
|
|
|
|
|
%global framework purpose
|
|
|
|
|
|
|
|
|
|
#Name: kf6-purpose
|
|
|
|
|
Name: sonic-frameworks-purpose
|
|
|
|
|
Summary: Framework for providing abstractions to get the developer's purposes fulfilled
|
|
|
|
|
Version: 6.29.0
|
2026-08-27 17:11:06 +00:00
|
|
|
Release: 4%{?dist}
|
2026-08-25 01:26:42 +02:00
|
|
|
|
|
|
|
|
License: CC0-1.0 AND GPL-2.0-or-later AND LGPL-2.0-or-later AND LGPL-2.1-or-later
|
|
|
|
|
#URL: https://invent.kde.org/frameworks/%%{framework}
|
|
|
|
|
URL: https://github.com/Sonic-DE/%{reponame}
|
|
|
|
|
|
|
|
|
|
#Source0: http://download.kde.org/%%{stable_kf6}/frameworks/%%{majmin_ver_kf6}/%%{framework}-%%{version}.tar.xz
|
|
|
|
|
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
|
|
|
|
|
#Source1: http://download.kde.org/%%{stable_kf6}/frameworks/%%{majmin_ver_kf6}/%%{framework}-%%{version}.tar.xz.sig
|
|
|
|
|
|
|
|
|
|
# upstream patches
|
|
|
|
|
|
|
|
|
|
BuildRequires: sonic-frameworks-cmake-modules >= %{version}
|
|
|
|
|
BuildRequires: gcc-c++
|
|
|
|
|
BuildRequires: gettext
|
|
|
|
|
BuildRequires: intltool
|
|
|
|
|
BuildRequires: cmake
|
|
|
|
|
BuildRequires: sonic-rpm-macros
|
|
|
|
|
BuildRequires: cmake(KF6Config)
|
|
|
|
|
BuildRequires: cmake(KF6CoreAddons)
|
|
|
|
|
BuildRequires: cmake(KF6I18n)
|
|
|
|
|
BuildRequires: cmake(KF6KIO)
|
|
|
|
|
BuildRequires: cmake(KF6Kirigami2)
|
|
|
|
|
BuildRequires: cmake(KF6KIO)
|
|
|
|
|
BuildRequires: cmake(KF6Notifications)
|
|
|
|
|
BuildRequires: cmake(KAccounts6)
|
|
|
|
|
BuildRequires: pkgconfig(Qt6Network)
|
|
|
|
|
BuildRequires: pkgconfig(Qt6Qml)
|
|
|
|
|
|
2026-08-27 17:11:06 +00:00
|
|
|
Recommends: accounts-qml-module-qt6
|
2026-08-25 01:26:42 +02:00
|
|
|
BuildRequires: cmake(KF6Declarative)
|
|
|
|
|
Requires: sonic-frameworks-qml-bridge
|
|
|
|
|
BuildRequires: cmake(KF6Prison)
|
|
|
|
|
Requires: sonic-frameworks-barcode
|
|
|
|
|
BuildRequires: sonic-frameworks-data-models
|
|
|
|
|
Requires: qt6qml(org.kde.kitemmodels)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Requires: hicolor-icon-theme
|
|
|
|
|
Requires: sonic-frameworks-bluetooth >= %{version}
|
|
|
|
|
|
2026-08-27 17:11:06 +00:00
|
|
|
Provides: kf6-purpose%{?_isa} = %{version}-%{release}
|
|
|
|
|
Obsoletes: kf6-purpose < %{version}-%{release}
|
2026-08-25 01:26:42 +02:00
|
|
|
|
|
|
|
|
%description
|
|
|
|
|
Purpose offers the possibility to create integrate services and actions on
|
|
|
|
|
any application without having to implement them specifically. Purpose will
|
|
|
|
|
offer them mechanisms to list the different alternatives to execute given the
|
|
|
|
|
requested action type and will facilitate components so that all the plugins
|
|
|
|
|
can receive all the information they need.
|
|
|
|
|
|
|
|
|
|
%package devel
|
|
|
|
|
Summary: Development files for %{name}
|
|
|
|
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
|
|
|
|
Requires: cmake(KF6CoreAddons)
|
2026-08-27 17:11:06 +00:00
|
|
|
Provides: kf6-purpose-devel%{?_isa} = %{version}-%{release}
|
|
|
|
|
Obsoletes: kf6-purpose-devel < %{version}-%{release}
|
2026-08-25 01:26:42 +02:00
|
|
|
|
|
|
|
|
%description devel
|
|
|
|
|
%{summary}.
|
|
|
|
|
|
|
|
|
|
%package doc
|
|
|
|
|
Summary: Developer Documentation files for %{name}
|
|
|
|
|
BuildArch: noarch
|
2026-08-27 17:11:06 +00:00
|
|
|
Provides: kf6-purpose-doc%{?_isa} = %{version}-%{release}
|
|
|
|
|
Obsoletes: kf6-purpose-doc < %{version}-%{release}
|
2026-08-25 01:26:42 +02:00
|
|
|
|
|
|
|
|
%description doc
|
|
|
|
|
Developer Documentation files for %{name} for use with KDevelop or QtCreator.
|
|
|
|
|
|
|
|
|
|
%package html
|
|
|
|
|
Summary: Developer Documentation files for %{name}
|
|
|
|
|
BuildArch: noarch
|
2026-08-27 17:11:06 +00:00
|
|
|
Provides: kf6-purpose-html%{?_isa} = %{version}-%{release}
|
|
|
|
|
Obsoletes: kf6-purpose-html < %{version}-%{release}
|
2026-08-25 01:26:42 +02:00
|
|
|
|
|
|
|
|
%description html
|
|
|
|
|
Developer Documentation files for %{name} in HTML format
|
|
|
|
|
|
|
|
|
|
%prep
|
|
|
|
|
%autosetup -p1 -n %{reponame}-%{version}
|
|
|
|
|
|
|
|
|
|
%build
|
|
|
|
|
%cmake_kf6
|
|
|
|
|
%cmake_build_kf6
|
|
|
|
|
|
|
|
|
|
%install
|
|
|
|
|
%cmake_install_kf6
|
|
|
|
|
|
|
|
|
|
%find_lang %{oldname} --all-name
|
|
|
|
|
|
Fix build failures across all 136 SonicDE specs for RHEL 10
The hard-forked specs inherited Fedora's Qt5/KF5 dual-build logic and
upstream naming, but SonicDE is Qt6/KF6-only and renames many install
paths. This resolves every build failure so all 136 packages build
cleanly on AlmaLinux 10 (EPEL10).
Major categories of fixes:
- Qt5/KF5 bcond: force-disable kf5/qt5 in sonic-accounts-integration,
sonic-breeze, sonic-qt-theme-bridge and sonic-crypto-library, since
the forks are Qt6-only and no KF5 packages are shipped.
- %find_lang / %files -f mismatch: 41 specs called %find_lang with the
upstream name but referenced %{name}.lang in %files, so the .lang file
was never found. Aligned %files -f to the same name %find_lang emits.
- Fork-specific install paths: silver/silver-dark icon themes
(sonic-frameworks-silver-icons), Silver GTK theme dir
(sonic-gtk-theme-bridge), and glob-based wallpaper listing
(sonic-workspace-wallpapers) replace the old breeze/hardcoded paths.
- Library SOVERSION globs: sonic-frameworks-quick-ui and
sonic-quick-image-editor shipped %{version} in .so paths, but the
CMake project version differs from the spec version; switched to
SOVERSION globs.
- Distro compatibility: disable HEIF plugin in sonic-frameworks-image-
formats (libheif 1.17 API break), drop missing ffmpeg8 patch from
sonic-pipewire, always build X11 plugin in sonic-frameworks-idle-
tracker, and remove unbuildable kf5-rpm-macros / version-pinned
BuildRequires.
- sonic-frameworks-sso: drop D-Bus interface XML install rule and fix
sysconfdir path.
- sonic-polkit: remove Qt5 build (fork is Qt6-only).
2026-08-25 12:14:17 +02:00
|
|
|
%files -f %{oldname}.lang
|
2026-08-25 01:26:42 +02:00
|
|
|
%doc README.md
|
|
|
|
|
%license LICENSES/*.txt
|
|
|
|
|
%{_kf6_datadir}/qlogging-categories6/%{framework}.*
|
|
|
|
|
%{_kf6_libdir}/libKF6Purpose.so.6
|
|
|
|
|
%{_kf6_libdir}/libKF6Purpose.so.%{version}
|
|
|
|
|
%{_kf6_libdir}/libKF6PurposeWidgets.so.6
|
|
|
|
|
%{_kf6_libdir}/libKF6PurposeWidgets.so.%{version}
|
|
|
|
|
%{_kf6_libexecdir}/purposeprocess
|
|
|
|
|
%{_kf6_datadir}/kf6/purpose/
|
|
|
|
|
%{_kf6_datadir}/accounts/services/kde/*.service
|
|
|
|
|
%{_kf6_plugindir}/purpose/
|
|
|
|
|
%dir %{_kf6_plugindir}/kfileitemaction/
|
|
|
|
|
%{_kf6_plugindir}/kfileitemaction/sharefileitemaction.so
|
|
|
|
|
%{_kf6_qmldir}/org/kde/purpose/
|
|
|
|
|
%{_datadir}/icons/hicolor/*/apps/*-purpose6.*
|
|
|
|
|
|
|
|
|
|
%files devel
|
|
|
|
|
%{_kf6_libdir}/libKF6Purpose.so
|
|
|
|
|
%{_kf6_libdir}/libKF6PurposeWidgets.so
|
|
|
|
|
%{_kf6_includedir}/Purpose/
|
|
|
|
|
%{_kf6_includedir}/PurposeWidgets/
|
|
|
|
|
%{_kf6_libdir}/cmake/KF6Purpose/
|
|
|
|
|
%{_qt6_docdir}/*/*.tags
|
|
|
|
|
%{_qt6_docdir}/*/*.index
|
|
|
|
|
|
|
|
|
|
%files doc
|
|
|
|
|
%{_qt6_docdir}/*.qch
|
|
|
|
|
|
|
|
|
|
%files html
|
|
|
|
|
%{_qt6_docdir}/*/*
|
|
|
|
|
%exclude %{_qt6_docdir}/*/*.tags
|
|
|
|
|
%exclude %{_qt6_docdir}/*/*.index
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Mon Aug 24 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.29.0-1
|
|
|
|
|
- SonicDE hard fork build for Enterprise Linux 10 and Fedora
|