SonicDE-rpmspecs/sonic-frameworks-text-editor/sonic-frameworks-text-editor.spec
Anders da Silva Rytter Hansen cc9183c735 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

141 lines
4.9 KiB
RPMSpec

# Generated for SonicDE from Fedora's kf6-ktexteditor.spec.
# SonicDE is a hard fork of KDE Plasma; the sources come from the
# https://github.com/Sonic-DE/sonic-frameworks-text-editor fork, not from download.kde.org.
%define _disable_source_fetch 0
%define debug_package %{nil}
%global reponame sonic-frameworks-text-editor
# Upstream KDE project: ktexteditor
%global oldname kf6-ktexteditor
%global framework ktexteditor
#Name: kf6-%%{framework}
Name: sonic-frameworks-text-editor
Version: 6.29.0
Release: 1%{?dist}
Summary: KDE Frameworks 6 Tier 3 with advanced embeddable text editor
License: BSD-2-Clause AND CC0-1.0 AND LGPL-2.0-only AND LGPL-2.0-or-later AND MIT
#URL: https://invent.kde.org/frameworks/%%{framework}
URL: https://github.com/Sonic-DE/%{reponame}
#Source0: https://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: https://download.kde.org/%%{stable_kf6}/frameworks/%%{majmin_ver_kf6}/%%{framework}-%%{version}.tar.xz.sig
BuildRequires: sonic-frameworks-cmake-modules >= %{version}
BuildRequires: cmake
BuildRequires: gcc-c++
BuildRequires: cmake(KF6Archive)
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6GuiAddons)
BuildRequires: cmake(KF6I18n)
BuildRequires: cmake(KF6IconThemes)
BuildRequires: cmake(KF6KIO)
BuildRequires: cmake(KF6Parts)
BuildRequires: cmake(KF6ColorScheme)
BuildRequires: sonic-rpm-macros
BuildRequires: pkgconfig(Qt6TextToSpeech)
BuildRequires: pkgconfig(Qt6Widgets)
BuildRequires: pkgconfig(Qt6PrintSupport)
BuildRequires: pkgconfig(Qt6Qml)
BuildRequires: pkgconfig(Qt6Xml)
BuildRequires: cmake(KF6SyntaxHighlighting)
BuildRequires: pkgconfig(editorconfig)
BuildRequires: pkgconfig(xkbcommon)
Requires: kf6-filesystem
Requires: git-core
Provides: kf6-ktexteditor = %{version}-%{release}
Conflicts: kf6-ktexteditor < %{version}-%{release}
%description
KTextEditor provides a powerful text editor component that you can embed in your
application, either as a KPart or using the KF6::TextEditor library (if you need
more control).
The text editor component contains many useful features, from syntax
highlighting and automatic indentation to advanced scripting support, making it
suitable for everything from a simple embedded text-file editor to an advanced
IDE.
%package devel
Summary: Development files for %{name}
Requires: %{name} = %{version}-%{release}
Requires: cmake(KF6Parts)
Requires: cmake(KF6SyntaxHighlighting)
#Requires: kf6-syntax-highlighting-devel
Provides: kf6-ktexteditor-devel = %{version}-%{release}
Conflicts: kf6-ktexteditor-devel < %{version}-%{release}
%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.
%package doc
Summary: Developer Documentation files for %{name}
BuildArch: noarch
Provides: kf6-ktexteditor-doc = %{version}-%{release}
Conflicts: kf6-ktexteditor-doc < %{version}-%{release}
%description doc
Developer Documentation files for %{name} for use with KDevelop or QtCreator.
%package html
Summary: Developer Documentation files for %{name}
BuildArch: noarch
Provides: kf6-ktexteditor-html = %{version}-%{release}
Conflicts: kf6-ktexteditor-html < %{version}-%{release}
%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
# create/own dirs
mkdir -p %{buildroot}%{_kf6_qtplugindir}/ktexteditor
# Removing empty file
rm -f %{buildroot}%{_kf6_datadir}/katepart5/script/README.md
%files -f %{oldname}.lang
%dir %{_kf6_plugindir}/parts/
%doc README.md
%license LICENSES/*.txt
%{_kf6_datadir}/dbus-1/system-services/org.kde.ktexteditor6.katetextbuffer.service
%{_kf6_datadir}/dbus-1/system.d/org.kde.ktexteditor6.katetextbuffer.conf
%{_kf6_datadir}/polkit-1/actions/org.kde.ktexteditor6.katetextbuffer.policy
%{_kf6_datadir}/qlogging-categories6/%{framework}.*
%{_kf6_libdir}/libKF6TextEditor.so.*
%{_kf6_plugindir}/parts/katepart.so
%{_kf6_qtplugindir}/ktexteditor/
%{_kf6_libexecdir}/kauth/kauth_ktexteditor_helper
%{_kf6_bindir}/ktexteditor-script-tester6
%files devel
%{_kf6_datadir}/kdevappwizard/templates/ktexteditor6-plugin.tar.bz2
%{_kf6_includedir}/KTextEditor/
%{_kf6_libdir}/cmake/KF6TextEditor/
%{_kf6_libdir}/libKF6TextEditor.so
%{_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