SonicDE-rpmspecs/sonic-accounts-integration/sonic-accounts-integration.spec

211 lines
6.4 KiB
RPMSpec
Raw Normal View History

2026-08-25 01:26:42 +02:00
# Generated for SonicDE from Fedora's kaccounts-integration.spec.
# SonicDE is a hard fork of KDE Plasma; the sources come from the
# https://github.com/Sonic-DE/sonic-accounts-integration fork, not from download.kde.org.
%define _disable_source_fetch 0
%define debug_package %{nil}
%global reponame sonic-accounts-integration
# Upstream KDE project: kaccounts-integration
%global oldname kaccounts-integration
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
# SonicDE is a Qt6/KF6-only hard fork; no KF5 packages are shipped, so the
# Qt5/KF5 compat build is never produced.
2026-08-25 01:26:42 +02:00
%bcond_with kf5
#Name: kaccounts-integration
Name: sonic-accounts-integration
Version: 26.04.3
Release: 1%{?dist}
Summary: Small system to administer web accounts across the KDE desktop
License: CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-or-later
#URL: https://invent.kde.org/network/%%{name}
URL: https://github.com/Sonic-DE/%{reponame}
#Source0: https://download.kde.org/%%{stable_kf6}/release-service/%%{version}/src/%%{name}-%%{version}.tar.xz
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{reponame}-%{version}.tar.gz
## upstream fixes
## upstreamable fixes
BuildRequires: sonic-frameworks-cmake-modules
BuildRequires: sonic-rpm-macros
BuildRequires: sonic-frameworks-settings-utils-devel
BuildRequires: sonic-frameworks-qml-bridge-devel
BuildRequires: sonic-frameworks-io-devel
BuildRequires: sonic-frameworks-internationalization-devel
BuildRequires: sonic-frameworks-widgets-addons-devel
BuildRequires: sonic-frameworks-core-addons-devel
BuildRequires: sonic-frameworks-icon-themes-devel
BuildRequires: sonic-frameworks-settings-devel
BuildRequires: sonic-frameworks-keyring-devel
BuildRequires: sonic-frameworks-dbus-devel
BuildRequires: cmake(QCoro6)
BuildRequires: pkgconfig(Qt6Gui)
BuildRequires: pkgconfig(Qt6Qml)
BuildRequires: pkgconfig(accounts-qt6)
BuildRequires: pkgconfig(libaccounts-glib) >= 1.21
BuildRequires: cmake(SignOnQt6)
%if %{with kf5}
BuildRequires: kf5-rpm-macros
BuildRequires: kf5-kcmutils-devel
BuildRequires: kf5-kdeclarative-devel
BuildRequires: kf5-kio-devel
BuildRequires: kf5-ki18n-devel
BuildRequires: kf5-kwidgetsaddons-devel
BuildRequires: kf5-kcoreaddons-devel
BuildRequires: kf5-kiconthemes-devel
BuildRequires: kf5-kconfig-devel
BuildRequires: kf5-kwallet-devel
BuildRequires: kf5-kdbusaddons-devel
BuildRequires: cmake(QCoro5)
BuildRequires: pkgconfig(Qt5Gui)
BuildRequires: pkgconfig(Qt5Qml)
BuildRequires: qt5-qtbase-private-devel
BuildRequires: pkgconfig(accounts-qt5)
BuildRequires: cmake(SignOnQt5)
%endif
# For AutoReq cmake-filesystem
BuildRequires: cmake
Provides: kaccounts-integration = %{version}-%{release}
Conflicts: kaccounts-integration < %{version}-%{release}
%description
Small system to administer web accounts for the sites and services
across the KDE desktop.
%if %{with kf5}
%package qt5
Summary: qt5 runtime for %{name}
Obsoletes: kaccounts < 15.03
Provides: kaccounts = %{version}-%{release}
Obsoletes: sonic-accounts-integration < 24.01.75
Provides: sonic-accounts-integration = %{version}-%{release}
# translations moved here
Conflicts: kde-l10n < 17.03
Provides: kaccounts-integration-qt5 = %{version}-%{release}
Conflicts: kaccounts-integration-qt5 < %{version}-%{release}
%description qt5
Small system to administer web accounts for the sites and services
across the KDE desktop.
%package qt5-devel
Summary: Development files for %{name}
Requires: %{name}-qt5%{?_isa} = %{version}-%{release}
Requires: cmake(Qt5Widgets)
Requires: cmake(KF5CoreAddons)
Requires: cmake(AccountsQt5)
Requires: cmake(SignOnQt5)
Requires: pkgconfig(libaccounts-glib)
Requires: intltool
Obsoletes: kaccounts-integration-devel < 24.01.75
Provides: kaccounts-integration-devel = %{version}-%{release}
Provides: kaccounts-integration-qt5-devel = %{version}-%{release}
Conflicts: kaccounts-integration-qt5-devel < %{version}-%{release}
%description qt5-devel
Headers, development libraries and documentation for %{name}.
%endif
%package qt6
Summary: qt6 runtime for %{name}
Provides: kaccounts-integration-qt6 = %{version}-%{release}
Conflicts: kaccounts-integration-qt6 < %{version}-%{release}
%description qt6
Small system to administer web accounts for the sites and services
across the KDE desktop.
%package qt6-devel
Summary: Development files for %{name}
Requires: %{name}-qt6%{?_isa} = %{version}-%{release}
Requires: cmake(Qt6Widgets)
Requires: cmake(KF6CoreAddons)
Requires: cmake(AccountsQt6)
Requires: cmake(SignOnQt6)
Requires: pkgconfig(libaccounts-glib)
Requires: intltool
Provides: kaccounts-integration-qt6-devel = %{version}-%{release}
Conflicts: kaccounts-integration-qt6-devel < %{version}-%{release}
%description qt6-devel
Headers, development libraries and documentation for %{name}.
%prep
%autosetup -p1 -n %{reponame}-%{version}
%build
mkdir %{oldname}_qt6
pushd %{oldname}_qt6
%cmake_kf6 -S ..
%cmake_build
popd
%if %{with kf5}
mkdir %{oldname}_qt5
pushd %{oldname}_qt5
%cmake_kf5 -DKF6_COMPAT_BUILD=ON -S ..
%cmake_build
popd
%endif
%install
pushd %{oldname}_qt6
%cmake_install
popd
%find_lang %{oldname} --all-name --with-html
%if %{with kf5}
pushd %{oldname}_qt5
%cmake_install
popd
%endif
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 qt6 -f %{oldname}.lang
2026-08-25 01:26:42 +02:00
%doc README*
%license LICENSES/*
%{_kf6_datadir}/applications/kcm_kaccounts.desktop
%{_kf6_qtplugindir}/plasma/kcms/systemsettings/kcm_kaccounts.so
%{_kf6_plugindir}/kded/kded_accounts.so
%dir %{_qt6_plugindir}/kaccounts/daemonplugins
%{_qt6_plugindir}/kaccounts/daemonplugins/kaccounts_kio_webdav_plugin.so
%{_kf6_libdir}/libkaccounts6.so.*
%{_kf6_qmldir}/org/kde/kaccounts/
%{_kf6_datadir}/qlogging-categories6/kaccounts.categories
%files qt6-devel
%{_kf6_libdir}/libkaccounts6.so
%{_kf6_libdir}/cmake/KAccounts6/
%{_includedir}/KAccounts6/
%if %{with kf5}
%files qt5
%doc README*
%license LICENSES/*
%{_kf5_libdir}/libkaccounts.so.*
%{_kf5_qmldir}/org/kde/kaccounts/
%{_kf5_datadir}/qlogging-categories5/kaccounts.categories
%files qt5-devel
%{_kf5_libdir}/libkaccounts.so
%{_kf5_libdir}/cmake/KAccounts/
%{_includedir}/KAccounts/
%endif
%changelog
* Mon Aug 24 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 26.04.3-1
- SonicDE hard fork build for Enterprise Linux 10 and Fedora