%bcond kf6_pim 0 Name: plasma-workspace Version: 6.7.4 Release: 2%{?dist} Summary: Plasma workspace, applications and applets License: BSD-2-Clause AND BSD-3-Clause AND CC0-1.0 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-2.1-or-later AND LGPL-3.0-only AND LGPL-3.0-or-later AND (GPL-2.0-only OR GPL-3.0-only) AND (LGPL-2.1-only OR LGPL-3.0-only) AND MIT URL: https://invent.kde.org/plasma/%{name} Source0: https://download.kde.org/stable/plasma/%{version}/%{name}-%{version}.tar.xz BuildRequires: zlib-ng-compat-devel BuildRequires: mesa-libGL-devel BuildRequires: mesa-libGLES-devel BuildRequires: libSM-devel BuildRequires: libX11-devel BuildRequires: libXau-devel BuildRequires: libXdmcp-devel BuildRequires: libxkbfile-devel BuildRequires: libXcomposite-devel BuildRequires: libXdamage-devel BuildRequires: libXrender-devel BuildRequires: libXfixes-devel BuildRequires: libXrandr-devel BuildRequires: libXcursor-devel BuildRequires: libXtst-devel BuildRequires: libXft-devel BuildRequires: libxcb-devel BuildRequires: xcb-util-cursor-devel BuildRequires: xcb-util-keysyms-devel BuildRequires: xcb-util-image-devel BuildRequires: xcb-util-renderutil-devel BuildRequires: xcb-util-wm-devel BuildRequires: xcb-util-devel BuildRequires: glib2-devel BuildRequires: fontconfig-devel BuildRequires: boost-devel BuildRequires: libbsd-devel BuildRequires: pam-devel BuildRequires: libxcrypt-devel BuildRequires: lm_sensors-devel BuildRequires: pciutils-devel %ifnarch s390 s390x BuildRequires: libraw1394-devel %endif BuildRequires: libicu-devel BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtbase-private-devel BuildRequires: qt6-qtdeclarative-devel BuildRequires: qt6-qtsvg-devel BuildRequires: cmake(Qt6ShaderTools) BuildRequires: cmake(Qt6WaylandClient) BuildRequires: polkit-qt6-1-devel BuildRequires: libcanberra-devel BuildRequires: kf6-rpm-macros BuildRequires: systemd-rpm-macros BuildRequires: pkgconfig(libudev) BuildRequires: systemd BuildRequires: gcc-c++ BuildRequires: cmake BuildRequires: extra-cmake-modules BuildRequires: cmake(KF6Baloo) BuildRequires: cmake(KF6Archive) BuildRequires: cmake(KF6KCMUtils) BuildRequires: cmake(KF6Crash) BuildRequires: cmake(KF6DBusAddons) BuildRequires: cmake(KF6Declarative) BuildRequires: cmake(KF6Su) BuildRequires: cmake(KF6DocTools) BuildRequires: cmake(KF6GlobalAccel) BuildRequires: cmake(KF6GuiAddons) BuildRequires: cmake(KF6IdleTime) BuildRequires: cmake(KF6ItemModels) BuildRequires: cmake(KF6KIO) BuildRequires: cmake(KF6NewStuff) BuildRequires: cmake(KF6Notifications) BuildRequires: cmake(KF6NotifyConfig) BuildRequires: cmake(KF6People) BuildRequires: cmake(KF6Runner) BuildRequires: cmake(KF6TextEditor) BuildRequires: cmake(KF6TextWidgets) BuildRequires: cmake(KF6UnitConversion) BuildRequires: cmake(KF6Wallet) BuildRequires: cmake(KF6ThreadWeaver) BuildRequires: cmake(KF6Kirigami) BuildRequires: cmake(KF6KirigamiAddons) BuildRequires: cmake(KF6QuickCharts) BuildRequires: cmake(KF6StatusNotifierItem) BuildRequires: cmake(KF6Svg) BuildRequires: cmake(KF6KDED) BuildRequires: cmake(KF6NetworkManagerQt) BuildRequires: cmake(KF6Screen) BuildRequires: cmake(KF6Holidays) BuildRequires: cmake(KF6Prison) BuildRequires: cmake(KF6UserFeedback) BuildRequires: cmake(KNightTime) BuildRequires: cmake(Plasma5Support) BuildRequires: wayland-devel >= 1.3.0 BuildRequires: libksysguard-devel BuildRequires: kscreenlocker-devel BuildRequires: kwin-devel BuildRequires: layer-shell-qt-devel BuildRequires: cmake(Phonon4Qt6) BuildRequires: cmake(Plasma) BuildRequires: cmake(KWayland) BuildRequires: cmake(PlasmaActivities) BuildRequires: cmake(PlasmaActivitiesStats) BuildRequires: qt6-qtbase-static BuildRequires: cmake(Qt6Core5Compat) BuildRequires: cmake(QCoro6) BuildRequires: pkgconfig(libxcrypt) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: cmake(PlasmaWaylandProtocols) BuildRequires: plasma-breeze-devel BuildRequires: chrpath BuildRequires: desktop-file-utils BuildRequires: cmake(AppStreamQt) >= 1.0.0 Requires: %{name}-common = %{version}-%{release} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: libkworkspace6%{?_isa} = %{version}-%{release} Requires: kf6-baloo Requires: kf6-kded Requires: kf6-kdoctools Requires: kf6-kglobalaccel Requires: kf6-kquickcharts Requires: kf6-kirigami Requires: kf6-kirigami-addons Requires: kf6-frameworkintegration Requires: dbus Requires: dbus-tools Requires: coreutils Requires: socat Requires: qt6-qttools Requires: xrdb Requires: xprop Requires: systemd %description %{summary}. Built without pipewire-devel/unity-gtk3-module/libqalculate-devel/ PackageKit-Qt6-devel/KExiv2Qt6/kio-extras/kio-fuse: all confirmed either genuinely absent on this distro, or non-REQUIRED (plain pkg_check_modules/find_package with no REQUIRED, or TYPE RUNTIME/OPTIONAL in set_package_properties) against the real upstream CMakeLists.txt -- verified by grepping the actual source tree rather than trusting the reference spec's BuildRequires list wholesale. Dropped the Fedora-branded org.fedoraproject.* look-and-feel themes and sddm-wayland-plasma/plasma-lookandfeel-fedora subpackages (Fedora Source files not available in this repo) in favor of upstream's own org.kde.breeze default theme, which this source ships directly. %package common Summary: Common files for %{name} %description common %{name}. %package -n libkworkspace6 Summary: Runtime libkworkspace6 library Requires: %{name}-common = %{version}-%{release} %description -n libkworkspace6 %{summary}. %package libs Summary: Runtime libraries for %{name} Requires: %{name}-common = %{version}-%{release} Provides: plasma-packagestructure = %{version}-%{release} %description libs %{summary}. %package devel Summary: Development files for %{name} Requires: %{name}-libs%{?_isa} = %{version}-%{release} Requires: libkworkspace6%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for developing applications that use %{name}. %prep %autosetup -p1 # Real upstream hard-requires Qt6Location + Qt6Positioning at the top-level # find_package(Qt6 ... REQUIRED COMPONENTS ...) call, but qt6-qtlocation is # not packaged on this distro at all. Grepping the full source tree shows # the ONLY real CMake link consumer of either module is a single settings # panel (kcms/nighttime, the Night Color schedule KCM), and within it only # Qt6::Positioning is linked -- Qt6::Location is unused dead weight in the # find_package() call. Building an entire new Qt module (which itself would # need geoservices plugins/network backends) for one KCM's GPS-based # schedule mode is disproportionate, so this drops the Location source # entirely (keeping the Times/manual-schedule mode, which remains fully # functional) and swaps the one C++ use of QGeoCoordinate (a plain # lat/lon/isValid value holder, verified against real usage in # darklightschedulepreview.cpp) for a small local replacement type with no # QtPositioning dependency. pkgconfig(libusb) is dropped too: verified via # grep that it appears nowhere in the real source outside translation .po # strings, a vestigial BuildRequires from the Fedora reference spec. python3 - <<'PYEOF' import re def sub_file(path, pattern, repl, count=1, flags=0): with open(path, encoding="utf-8") as f: content = f.read() new_content, n = re.subn(pattern, repl, content, count=count, flags=flags) assert n == count, f"{path}: expected {count} replacement(s) for pattern {pattern!r}, got {n}" with open(path, "w", encoding="utf-8") as f: f.write(new_content) sub_file( "CMakeLists.txt", r"Concurrent DBus Location Network Positioning Quick QuickWidgets", "Concurrent DBus Network Quick QuickWidgets", ) sub_file( "kcms/nighttime/CMakeLists.txt", r" Qt6::Positioning\n", "", ) sub_file( "kcms/nighttime/darklightschedulepreview.h", r"#include \n", "", ) sub_file( "kcms/nighttime/darklightschedulepreview.h", r"class KDarkLightTransition;\n", '''class KDarkLightTransition; // Local stand-in for QtPositioning's QGeoCoordinate (that module is not // available on this distro); only latitude/longitude/validity are needed. class GeoCoordinate { Q_GADGET Q_PROPERTY(double latitude READ latitude CONSTANT) Q_PROPERTY(double longitude READ longitude CONSTANT) public: GeoCoordinate() = default; GeoCoordinate(double latitude, double longitude) : m_latitude(latitude) , m_longitude(longitude) , m_valid(true) { } bool isValid() const { return m_valid; } double latitude() const { return m_latitude; } double longitude() const { return m_longitude; } bool operator==(const GeoCoordinate &other) const { return m_valid == other.m_valid && m_latitude == other.m_latitude && m_longitude == other.m_longitude; } bool operator!=(const GeoCoordinate &other) const { return !(*this == other); } private: double m_latitude = 0; double m_longitude = 0; bool m_valid = false; }; ''', ) sub_file( "kcms/nighttime/darklightschedulepreview.h", r"Q_PROPERTY\(QGeoCoordinate coordinate", "Q_PROPERTY(GeoCoordinate coordinate", ) sub_file( "kcms/nighttime/darklightschedulepreview.h", r" QGeoCoordinate coordinate\(\) const;\n void setCoordinate\(const QGeoCoordinate &coordinate\);", " GeoCoordinate coordinate() const;\n void setCoordinate(const GeoCoordinate &coordinate);", ) sub_file( "kcms/nighttime/darklightschedulepreview.h", r" QGeoCoordinate m_coordinate;\n", " GeoCoordinate m_coordinate;\n", ) sub_file( "kcms/nighttime/darklightschedulepreview.cpp", r"QGeoCoordinate DarkLightSchedulePreview::coordinate\(\) const", "GeoCoordinate DarkLightSchedulePreview::coordinate() const", ) sub_file( "kcms/nighttime/darklightschedulepreview.cpp", r"void DarkLightSchedulePreview::setCoordinate\(const QGeoCoordinate &coordinate\)", "void DarkLightSchedulePreview::setCoordinate(const GeoCoordinate &coordinate)", ) sub_file( "kcms/nighttime/darklightschedulepreview.cpp", r" m_coordinate = QGeoCoordinate\(\);\n", " m_coordinate = GeoCoordinate();\n", ) with open("kcms/nighttime/ui/main.qml", encoding="utf-8") as f: qml = f.read() qml, n = re.subn(r"import QtPositioning\n", "", qml, count=1) assert n == 1 qml, n = re.subn( r" model: \[\n" r" \{ value: Private\.NightTimeSettings\.Location, text: i18nc\(\"@item:inlistbox part of a sentence: 'Determine sunrise and sunset times'\", \"Based on device's location\"\) \},\n" r" \{ value: Private\.NightTimeSettings\.Times, text: i18nc\(\"@item:inlistbox part of a sentence: 'Determine sunrise and sunset times'\", \"Using custom times\"\) \}\n" r" \]\n", " model: [\n" " { value: Private.NightTimeSettings.Times, text: i18nc(\"@item:inlistbox part of a sentence: 'Determine sunrise and sunset times'\", \"Using custom times\") }\n" " ]\n", qml, count=1, ) assert n == 1 qml, n = re.subn( r" ColumnLayout \{\n" r" Layout\.alignment: Qt\.AlignHCenter\n" r" visible: kcm\.settings\.source === Private\.NightTimeSettings\.Location\n" r".*?\n \}\n\n WorldMap \{\n" r".*?\n \}\n", "", qml, count=1, flags=re.DOTALL, ) assert n == 1 qml, n = re.subn( r" PositionSource \{\n" r" id: automaticLocationProvider\n" r" active: kcm\.settings\.source === Private\.NightTimeSettings\.Location && kcm\.settings\.automaticLocation\n" r" \}\n\n", "", qml, count=1, ) assert n == 1 qml, n = re.subn( r" coordinate: \{\n" r" if \(kcm\.settings\.source === Private\.NightTimeSettings\.Location\) \{\n" r" if \(kcm\.settings\.automaticLocation\) \{\n" r" return automaticLocationProvider\.position\.coordinate;\n" r" \} else \{\n" r" return QtPositioning\.coordinate\(kcm\.settings\.manualLatitude, kcm\.settings\.manualLongitude\);\n" r" \}\n" r" \} else \{\n" r" return undefined;\n" r" \}\n" r" \}\n", " coordinate: undefined\n", qml, count=1, ) assert n == 1 with open("kcms/nighttime/ui/main.qml", "w", encoding="utf-8") as f: f.write(qml) sub_file( "kcms/nighttime/nighttimesettings.kcfg", r' \n \n \n \n Location', ' \n \n \n Times', ) sub_file( "kcms/nighttime/nighttimesettings.kcfg", r' \n.*?\n \n\n', "", flags=re.DOTALL, ) print("OK: nighttime Qt6Location/Positioning patches applied") PYEOF %build %cmake_kf6 \ -DINSTALL_SDDM_WAYLAND_SESSION:BOOL=OFF \ -DWITH_X11_SESSION:BOOL=OFF \ -DGLIBC_LOCALE_GEN:BOOL=OFF \ -DGLIBC_LOCALE_PREGENERATED:BOOL=ON %cmake_build_kf6 %install %cmake_install_kf6 ln -sr %{buildroot}%{_kf6_bindir}/startplasma-wayland %{buildroot}%{_kf6_bindir}/startplasma sed -E 's| \(.*\)||g' -i %{buildroot}%{_datadir}/wayland-sessions/plasma.desktop mkdir -p %{buildroot}%{_sysconfdir}/pam.d cat > %{buildroot}%{_sysconfdir}/pam.d/kde <<'PAMEOF' #%%PAM-1.0 auth include system-auth account include system-auth password include system-auth session include system-auth PAMEOF mkdir -p %{buildroot}%{_userunitdir}/plasma-core.target.d/ mkdir -p %{buildroot}%{_userunitdir}/plasma-workspace@.target.d/ %files common %license LICENSES %files %exclude %{_datadir}/locale/*/LC_MESSAGES/*.qm %exclude %{_datadir}/locale/*/LC_MESSAGES/*.mo %{_libexecdir}/ksecretprompter %{_libexecdir}/plasma-startup-sound %{_kf6_datadir}/xdg-desktop-portal/portals/plasmanotify.portal %{_kf6_datadir}/applications/org.kde.baloorunner.desktop %{_kf6_datadir}/applications/org.kde.secretprompter.desktop %{_kf6_datadir}/xdg-desktop-portal/kde-portals.conf %{_sysconfdir}/xdg/menus/plasma-applications.menu %{_kf6_bindir}/gmenudbusmenuproxy %{_kf6_bindir}/kcminit %{_kf6_bindir}/kcminit_startup %{_kf6_bindir}/krunner %{_kf6_bindir}/ksmserver %{_kf6_bindir}/ksplashqml %{_kf6_bindir}/plasmashell %{_kf6_bindir}/plasmawindowed %{_kf6_bindir}/plasma_session %{_kf6_bindir}/plasma-apply-* %{_kf6_bindir}/plasma-interactiveconsole %{_kf6_bindir}/plasma-shutdown %{_kf6_bindir}/plasma_waitforname %{_kf6_bindir}/xembedsniproxy %{_kf6_bindir}/kcolorschemeeditor %{_kf6_bindir}/kde-systemd-start-condition %{_kf6_bindir}/kfontinst %{_kf6_bindir}/kfontview %{_kf6_bindir}/lookandfeeltool %{_kf6_qmldir}/org/kde/* %{_libexecdir}/baloorunner %{_libexecdir}/ksmserver-logout-greeter %{_libexecdir}/kf6/kauth/fontinst* %{_libexecdir}/kfontprint %{_libexecdir}/plasma-changeicons %{_libexecdir}/plasma-dbus-run-session-if-needed %{_libexecdir}/plasma-fallback-session-* %{_kf6_datadir}/plasma/avatars/ %{_kf6_datadir}/plasma/plasmoids/ %{_kf6_datadir}/plasma/wallpapers/ %dir %{_kf6_datadir}/plasma/look-and-feel/ %{_kf6_datadir}/plasma/look-and-feel/org.kde.breeze.desktop/ %{_kf6_datadir}/plasma/look-and-feel/org.kde.breezedark.desktop/ %{_kf6_datadir}/plasma/look-and-feel/org.kde.breezetwilight.desktop/ %{_kf6_datadir}/solid/ %{_kf6_datadir}/kstyle/ %{_sysconfdir}/xdg/autostart/*.desktop %{_datadir}/zsh/site-functions/_krunner %{_datadir}/zsh/site-functions/_plasmashell %{_datadir}/icons/hicolor/*/*/*font*.png %{_datadir}/icons/hicolor/scalable/apps/preferences-desktop-font-installer.svgz %{_datadir}/desktop-directories/*.directory %{_datadir}/dbus-1/services/*.service %{_datadir}/dbus-1/system-services/org.kde.fontinst.service %{_datadir}/dbus-1/system.d/org.kde.fontinst.conf %{_datadir}/knsrcfiles/*.knsrc %{_datadir}/kfontinst/icons/hicolor/*/actions/*font*.png %{_datadir}/konqsidebartng/virtual_folders/services/fonts.desktop %{_datadir}/krunner/dbusplugins/plasma-runner-baloosearch.desktop %{_datadir}/kxmlgui5/kfontviewpart/kfontviewpart.rc %{_datadir}/kxmlgui5/kfontview/kfontviewui.rc %{_kf6_datadir}/knotifications6/*.notifyrc %{_kf6_datadir}/config.kcfg/* %{_kf6_datadir}/kio_desktop/ %{_kf6_datadir}/applications/kcm_* %{_kf6_datadir}/applications/org.kde.plasmashell.desktop %{_kf6_datadir}/applications/org.kde.kcolorschemeeditor.desktop %{_kf6_datadir}/applications/org.kde.kfontview.desktop %{_kf6_datadir}/applications/org.kde.kfontinst.desktop %{_kf6_datadir}/applications/org.kde.plasmawindowed.desktop %{_kf6_datadir}/applications/org.kde.plasma-fallback-session-save.desktop %{_kf6_datadir}/applications/org.kde.klipper.desktop %{_kf6_datadir}/kio/servicemenus/installfont.desktop %{_kf6_datadir}/qlogging-categories6/*.categories %{_sysconfdir}/xdg/plasmanotifyrc %{_kf6_datadir}/polkit-1/actions/org.kde.fontinst.policy %{_userunitdir}/*.service %{_userunitdir}/plasma-core.target %dir %{_userunitdir}/plasma-core.target.d/ %{_userunitdir}/plasma-workspace.target %{_userunitdir}/plasma-workspace-wayland.target %{_userunitdir}/plasma-workspace-x11.target %dir %{_userunitdir}/plasma-workspace@.target.d/ %{_libdir}/kconf_update_bin/plasma6.3-update-clipboard-database-2-to-3 %{_datadir}/kconf_update/plasma6.3-update-clipboard-database-2-to-3.upd %{_libdir}/kconf_update_bin/plasmashell-6.5-remove-stop-activity-shortcut %{_datadir}/kconf_update/plasmashell-6.5-remove-stop-activity-shortcut.upd %{_kf6_datadir}/timezonefiles/timezones.json %{_kf6_datadir}/applications/org.kde.plasma-interactiveconsole.desktop %config(noreplace) %{_sysconfdir}/pam.d/kde %{_kf6_bindir}/startplasma %{_kf6_bindir}/startplasma-wayland %{_datadir}/wayland-sessions/plasma.desktop %files -n libkworkspace6 %{_libdir}/libkworkspace6.so.* %files libs %{_libdir}/libbatterycontrol.so.* %{_libdir}/libtaskmanager.so.* %{_libdir}/libklipper.so.* %{_libdir}/libkrdb.so %{_libdir}/libnotificationmanager.* %{_libdir}/libkfontinst* %{_libdir}/libkmpris.so.* %{_kf6_qtplugindir}/plasma/applets/ %{_kf6_plugindir}/kio/*.so %{_kf6_plugindir}/kded/*.so %{_libdir}/libklookandfeel.so.6 %{_libdir}/libklookandfeel.so.%{version} %{_kf6_plugindir}/krunner/* %{_qt6_plugindir}/plasma/kcms/systemsettings/kcm_*.so %{_kf6_qtplugindir}/kf6/parts/kfontviewpart.so %{_kf6_qtplugindir}/kf6/thumbcreator/fontthumbnail.so %{_kf6_qtplugindir}/kf6/kfileitemaction/wallpaperfileitemaction.so %{_kf6_qtplugindir}/kf6/packagestructure/plasma_layouttemplate.so %{_kf6_qtplugindir}/kf6/packagestructure/plasma_lookandfeel.so %{_kf6_qtplugindir}/kf6/packagestructure/wallpaper_images.so %{_kf6_qtplugindir}/plasma/containmentactions/org.kde.applauncher.so %{_kf6_qtplugindir}/plasma/containmentactions/org.kde.contextmenu.so %{_kf6_qtplugindir}/plasma/containmentactions/org.kde.paste.so %{_kf6_qtplugindir}/plasma/containmentactions/org.kde.switchdesktop.so %{_kf6_qtplugindir}/plasma/containmentactions/switchwindow.so %{_kf6_qtplugindir}/plasma/containmentactions/switchactivity.so %{_kf6_qtplugindir}/plasma/kcminit/kcm_fonts_init.so %{_kf6_qtplugindir}/plasma/kcminit/kcm_style_init.so %{_kf6_qtplugindir}/plasma/kcms/systemsettings_qwidgets/kcm_fontinst.so %{_libexecdir}/plasma-sourceenv.sh %{_kf6_datadir}/kconf_update/plasma6.0-remove-dpi-settings.upd %{_kf6_datadir}/kconf_update/plasmashell-6.0-keep-default-floating-setting-for-plasma-5-panels.upd %{_kf6_datadir}/kconf_update/plasma6.0-remove-old-shortcuts.upd %{_kf6_datadir}/kconf_update/migrate-calendar-to-plugin-id.upd %{_kf6_datadir}/kconf_update/migrate-calendar-to-plugin-id.py %{_kf6_datadir}/kconf_update/plasmashell-6.0-keep-custom-position-of-panels.upd %{_kf6_datadir}/kconf_update/plasma6.4-migrate-fullscreen-notifications-to-dnd.upd %{_libdir}/kconf_update_bin/plasma6.0-remove-old-shortcuts %{_libdir}/kconf_update_bin/plasmashell-6.0-keep-default-floating-setting-for-plasma-5-panels %{_libdir}/kconf_update_bin/plasma6.0-remove-dpi-settings %{_libdir}/kconf_update_bin/plasmashell-6.0-keep-custom-position-of-panels %{_libdir}/kconf_update_bin/plasma6.4-migrate-fullscreen-notifications-to-dnd %{_kf6_datadir}/kglobalaccel/org.kde.krunner.desktop %files devel %{_libdir}/libbatterycontrol.so %{_libdir}/libklipper.so %{_libdir}/libtaskmanager.so %{_libdir}/libkworkspace6.so %{_includedir}/kworkspace6/ %{_includedir}/taskmanager/ %{_includedir}/notificationmanager/ %{_libdir}/cmake/KRunnerAppDBusInterface/ %{_libdir}/cmake/KSMServerDBusInterface/ %{_libdir}/cmake/LibKLookAndFeel/ %{_libdir}/cmake/LibKWorkspace/ %{_libdir}/cmake/LibTaskManager/ %{_libdir}/cmake/LibNotificationManager/ %{_datadir}/dbus-1/interfaces/*.xml %{_includedir}/krdb/krdb.h %{_includedir}/krdb/krdb_export.h %{_includedir}/klookandfeel/ %{_libdir}/cmake/Krdb/*.cmake %{_libdir}/libklookandfeel.so %changelog * Sat Aug 29 2026 Smech - 6.7.4-2 - R1 failed: cmake(Qt6Location) and pkgconfig(libusb) have no matching package (qt6-qtlocation not packaged on this distro; libusb was vestigial, only in .po strings). Real source grep confirmed Qt6Location is unused dead weight and Qt6Positioning's only real consumer is the nighttime (Night Color schedule) KCM's GPS/manual-location source mode. Dropped both BuildRequires and patched out the Location source in kcms/nighttime (kept the Times/manual-schedule mode), swapping the one QGeoCoordinate C++ use for a small local replacement type -- verified by testing the patch against real extracted upstream source first. * Sat Aug 29 2026 Smech - 6.7.4-1 - Real upstream source; dropped pipewire-devel/unity-gtk3-module/ libqalculate-devel/PackageKit-Qt6-devel/KExiv2Qt6/kio-extras/kio-fuse (all verified non-REQUIRED or genuinely absent against real CMakeLists.txt); dropped Fedora-branded lookandfeel/sddm/PAM Source files in favor of upstream org.kde.breeze default and a generic system-auth-based PAM stack; X11 session disabled (Wayland-only build, consistent with the rest of this repo)