%global debug_package %{nil} %global tests 1 Name: dolphin Summary: KDE File Manager Version: 26.08.1 Release: 1.uke2%{?dist} License: BSD-2-Clause AND BSD-3-Clause AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-only AND LGPL-3.0-only AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) Provides: senemos-native-runtime(dolphin) = %{version}-%{release} ExclusiveArch: aarch64 BuildRequires: python3 = 3.15.0~rc2-1.fc46 URL: https://invent.kde.org/system/dolphin Source9999: dolphin-migration.cpp Source0: https://download.kde.org/%{stable_kf6}/release-service/%{maj_ver_kf6}.%{min_ver_kf6}.%{bug_ver_kf6}/src/%{name}-%{version}.tar.xz # Upstream BuildRequires: desktop-file-utils BuildRequires: libappstream-glib BuildRequires: systemd-rpm-macros BuildRequires: extra-cmake-modules BuildRequires: kf6-rpm-macros BuildRequires: cmake(KF6Baloo) # baloo-widget is part of Gear like Dolphin thus both versions need to match. # We use the major.minor.patch macros to not fail the build on hotfix releases. BuildRequires: cmake(KF6BalooWidgets) >= %{maj_ver_kf6}.%{min_ver_kf6}.%{bug_ver_kf6} BuildRequires: cmake(KF6Bookmarks) BuildRequires: cmake(KF6Codecs) BuildRequires: cmake(KF6Completion) BuildRequires: cmake(KF6Config) BuildRequires: cmake(KF6CoreAddons) BuildRequires: cmake(KF6Crash) BuildRequires: cmake(KF6DBusAddons) BuildRequires: cmake(KF6DocTools) BuildRequires: cmake(KF6FileMetaData) BuildRequires: cmake(KF6I18n) BuildRequires: cmake(KF6IconThemes) BuildRequires: cmake(KF6KCMUtils) BuildRequires: cmake(KF6KIO) BuildRequires: cmake(KF6NewStuff) BuildRequires: cmake(KF6Notifications) BuildRequires: cmake(KF6Parts) BuildRequires: cmake(KF6Solid) BuildRequires: cmake(KF6TextWidgets) BuildRequires: cmake(KF6UserFeedback) BuildRequires: cmake(KF6WidgetsAddons) BuildRequires: cmake(KF6WindowSystem) BuildRequires: cmake(KF6GuiAddons) BuildRequires: cmake(PlasmaActivities) BuildRequires: cmake(Qt6Concurrent) BuildRequires: cmake(Qt6Core) BuildRequires: cmake(Qt6DBus) BuildRequires: cmake(Qt6Gui) BuildRequires: cmake(Qt6Widgets) BuildRequires: cmake(Qt6Multimedia) BuildRequires: qt6-qtbase-private-devel BuildRequires: cmake(packagekitqt6) BuildRequires: cmake(Phonon4Qt6) %if 0%{?tests} BuildRequires: xorg-x11-server-Xvfb BuildRequires: rubygem(test-unit) %endif Requires: %{name}-libs%{?_isa} = %{version}-%{release} Recommends: konsole-part%{?_isa} Recommends: kio-fuse%{?_isa} Recommends: kio-extras%{?_isa} Recommends: %{name}-plugins # Image Previews Recommends: kf6-kimageformats%{?_isa} Recommends: qt6-qtimageformats%{?_isa} Recommends: ffmpegthumbs%{?_isa} %description %{summary}. %package libs Summary: Dolphin runtime libraries %description libs %{summary}. %package devel Summary: Developer files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: qt6-qtbase-devel%{?_isa} Requires: kf6-kio-devel%{?_isa} %description devel %{summary}. %prep %autosetup -n %{name}-%{version} -p1 %build %cmake_kf6 \ %{?flatpak:-DFLATPAK:BOOL=ON} \ -DKDE_INSTALL_SYSTEMDUSERUNITDIR=%{_userunitdir} \ -DBUILD_TESTING:BOOL=%{?tests:ON}%{!?tests:OFF} %cmake_build %{__cxx} -std=c++20 %{build_cxxflags} %{build_ldflags} $(pkg-config --cflags Qt6Core Qt6Xml) %{SOURCE9999} -o senemos-dolphin-migration $(pkg-config --libs Qt6Core Qt6Xml) %install %cmake_install %find_lang dolphin --all-name # Senemos Uke: keep Python outside every target payload. for helper in dolphin_replace_view_mode_with_view_settings_in_toolbar dolphin_tab_key_shortcut_for_focus_other_view; do rm -f %{buildroot}%{_kf6_datadir}/kconf_update/$helper.py install -Dm755 senemos-dolphin-migration %{buildroot}%{_libdir}/kconf_update_bin/$helper sed -i "s/Script=$helper.py/Script=$helper/" %{buildroot}%{_kf6_datadir}/kconf_update/$helper.upd done find %{buildroot}%{_datadir}/doc/HTML -mindepth 2 -maxdepth 2 -type d -name dolphin -exec rm -rf {} + if find %{buildroot} -type f \( -name "*.py" -o -name "*.pyc" -o -name "*.pyo" -o -name "python[0-9]*" \) -print | grep .; then exit 1; fi while IFS= read -r -d "" file; do if head -c 256 "$file" | LC_ALL=C grep -aE "^#!.*(python|pypy)"; then exit 1; fi; done < <(find %{buildroot} -type f -print0) %check appstream-util validate-relax --nonet %{buildroot}%{_kf6_metainfodir}/org.kde.%{name}.appdata.xml desktop-file-validate %{buildroot}%{_kf6_datadir}/applications/org.kde.%{name}.desktop %if 0%{?tests} xvfb-run -a bash -c "%ctest" || : %endif %files -f dolphin.lang %license LICENSES/* %doc README* %{_kf6_datadir}/qlogging-categories6/dolphin.* %{_kf6_bindir}/dolphin %{_kf6_bindir}/servicemenuinstaller %{_kf6_datadir}/config.kcfg/dolphin_* %{_kf6_datadir}/knsrcfiles/* %if 0%{?flatpak} %{_datadir}/dbus-1/services/org.freedesktop.FileManager1.service %else %{_datadir}/dbus-1/services/org.kde.dolphin.FileManager1.service %endif %{_userunitdir}/plasma-dolphin.service %{_kf6_metainfodir}/org.kde.%{name}.appdata.xml %{_kf6_datadir}/applications/org.kde.%{name}.desktop %dir %{_kf6_datadir}/kglobalaccel/ %{_kf6_datadir}/kglobalaccel/org.kde.dolphin.desktop %{_kf6_datadir}/kconf_update/dolphin_detailsmodesettings.upd %{_libdir}/kconf_update_bin/dolphin_replace_view_mode_with_view_settings_in_toolbar %{_kf6_datadir}/kconf_update/dolphin_replace_view_mode_with_view_settings_in_toolbar.upd %{_kf6_datadir}/kconf_update/dolphin_tab_key_shortcut_for_focus_other_view.upd %{_libdir}/kconf_update_bin/dolphin_tab_key_shortcut_for_focus_other_view %{_kf6_libdir}/kconf_update_bin/dolphin_25.04_update_statusandlocationbarssettings %{_kf6_datadir}/kconf_update/dolphin_statusandlocationbarssettings.upd %dir %{_kf6_datadir}/dolphin %{_kf6_datadir}/dolphin/dolphinpartactions.desktop %{_kf6_datadir}/zsh/site-functions/_dolphin %{_kf6_datadir}/icons/hicolor/scalable/apps/org.kde.dolphin.svg %{_kf6_libdir}/kconf_update_bin/dolphin_update_splitviewsettings %files libs %{_kf6_libdir}/libdolphinprivate.so.* %{_kf6_libdir}/libdolphinvcs.so.* %{_kf6_plugindir}/parts/dolphinpart.so %{_kf6_qtplugindir}/dolphin/ %{_kf6_qtplugindir}/kf6/kfileitemaction/movetonewfolderitemaction.so %{_kf6_qtplugindir}/kf6/kfileitemaction/setfoldericonitemaction.so %{_kf6_qtplugindir}/kf6/kfileitemaction/hidefileitemaction.so %files devel %{_includedir}/Dolphin/ %{_includedir}/dolphin*_export.h %{_kf6_libdir}/cmake/DolphinVcs/ %{_kf6_libdir}/libdolphinvcs.so %{_datadir}/dbus-1/interfaces/org.freedesktop.FileManager1.xml %changelog * Mon Oct 05 2026 Senemos Maintainers <75160848+MCC45TR@users.noreply.github.com> - %{version}-1.uke2 - Rebuild the exact Fedora source with a Python-free native runtime payload.