Add SDL2 and delete old files

This commit is contained in:
Anders da Silva Rytter Hansen 2026-05-29 17:15:12 -03:00
commit 206bdff6d4
9 changed files with 274 additions and 622 deletions

View file

@ -0,0 +1,81 @@
From 68d8a2c6b4f732920df40bd79dc3c18b71a4a349 Mon Sep 17 00:00:00 2001
From: Neal Gompa <ngompa@fedoraproject.org>
Date: Fri, 29 Apr 2022 23:39:39 -0400
Subject: [PATCH] Revert "Revert "video: Prefer Wayland over X11""
For Fedora/RHEL, we want to continue using Wayland by default.
The majority of issues around Wayland by default seem to center
around cases that are issues for the Steam Runtime's bundled
copy of SDL and proprietary games that depend on that runtime.
These issues do not apply to us.
This reverts commit 254fcc90eb22bb159ab365ad956222a9c5632841.
---
src/video/SDL_video.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index 2b896c44b..6f31f4c9e 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -61,12 +61,12 @@ static VideoBootStrap *bootstrap[] = {
#if SDL_VIDEO_DRIVER_COCOA
&COCOA_bootstrap,
#endif
-#if SDL_VIDEO_DRIVER_X11
- &X11_bootstrap,
-#endif
#if SDL_VIDEO_DRIVER_WAYLAND
&Wayland_bootstrap,
#endif
+#if SDL_VIDEO_DRIVER_X11
+ &X11_bootstrap,
+#endif
#if SDL_VIDEO_DRIVER_VIVANTE
&VIVANTE_bootstrap,
#endif
@@ -4275,12 +4275,12 @@ SDL_IsScreenKeyboardShown(SDL_Window *window)
#if SDL_VIDEO_DRIVER_UIKIT
#include "uikit/SDL_uikitmessagebox.h"
#endif
-#if SDL_VIDEO_DRIVER_X11
-#include "x11/SDL_x11messagebox.h"
-#endif
#if SDL_VIDEO_DRIVER_WAYLAND
#include "wayland/SDL_waylandmessagebox.h"
#endif
+#if SDL_VIDEO_DRIVER_X11
+#include "x11/SDL_x11messagebox.h"
+#endif
#if SDL_VIDEO_DRIVER_HAIKU
#include "haiku/SDL_bmessagebox.h"
#endif
@@ -4388,17 +4388,17 @@ SDL_ShowMessageBox(const SDL_MessageBoxData *messageboxdata, int *buttonid)
retval = 0;
}
#endif
-#if SDL_VIDEO_DRIVER_X11
+#if SDL_VIDEO_DRIVER_WAYLAND
if (retval == -1 &&
- SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_X11) &&
- X11_ShowMessageBox(messageboxdata, buttonid) == 0) {
+ SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_WAYLAND) &&
+ Wayland_ShowMessageBox(messageboxdata, buttonid) == 0) {
retval = 0;
}
#endif
-#if SDL_VIDEO_DRIVER_WAYLAND
+#if SDL_VIDEO_DRIVER_X11
if (retval == -1 &&
- SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_WAYLAND) &&
- Wayland_ShowMessageBox(messageboxdata, buttonid) == 0) {
+ SDL_MessageboxValidForDriver(messageboxdata, SDL_SYSWM_X11) &&
+ X11_ShowMessageBox(messageboxdata, buttonid) == 0) {
retval = 0;
}
#endif
--
2.35.1

83
SDL2/SDL_config.h Normal file
View file

@ -0,0 +1,83 @@
/*
Simple DirectMedia Layer
Copyright (C) 1997-2013 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
/*
* This SDL_config.h is a wrapper include file for the original SDL_config.h,
* which has been renamed to SDL_config-<arch>.h. There are conflicts for the
* original SDL_config.h on multilib systems, which result from arch-specific
* configuration options. Please do not use the arch-specific file directly.
*
* Copyright (C) 2013 Igor Gnatenko
* Igor Gnatenko <i.gnatenko.brain@gmail.com>
*/
/**
* \file SDL_config.h
*/
#ifdef SDL_config_wrapper_h
#error "SDL_config_wrapper_h should not be defined!"
#endif
#define SDL_config_wrapper_h
#if defined(__i386__)
#include "SDL_config-i386.h"
#elif defined(__ia64__)
#include "SDL_config-ia64.h"
#elif defined(__powerpc64__)
# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
#include "SDL_config-ppc64.h"
# else
#include "SDL_config-ppc64le.h"
# endif
#elif defined(__powerpc__)
#include "SDL_config-ppc.h"
#elif defined(__s390x__)
#include "SDL_config-s390x.h"
#elif defined(__s390__)
#include "SDL_config-s390.h"
#elif defined(__x86_64__)
#include "SDL_config-x86_64.h"
#elif defined(__arm__)
#include "SDL_config-arm.h"
#elif defined(__alpha__)
#include "SDL_config-alpha.h"
#elif defined(__sparc__) && defined (__arch64__)
#include "SDL_config-sparc64.h"
#elif defined(__sparc__)
#include "SDL_config-sparc.h"
#elif defined(__aarch64__)
#include "SDL_config-aarch64.h"
#elif defined(__mips64) && defined(__MIPSEL__)
#include "SDL_config-mips64el.h"
#elif defined(__mips64)
#include "SDL_config-mips64.h"
#elif defined(__mips) && defined(__MIPSEL__)
#include "SDL_config-mipsel.h"
#elif defined(__mips)
#include "SDL_config-mips.h"
#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
#include "SDL_config-riscv64.h"
#else
#error "The SDL2-devel package is not usable with the architecture."
#endif
#undef SDL_config_wrapper_h

83
SDL2/SDL_revision.h Normal file
View file

@ -0,0 +1,83 @@
/*
Simple DirectMedia Layer
Copyright (C) 1997-2020 Sam Lantinga <slouken@libsdl.org>
This software is provided 'as-is', without any express or implied
warranty. In no event will the authors be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
1. The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
2. Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.
*/
/*
* This SDL_revision.h is a wrapper include file for the original SDL_revision.h,
* which has been renamed to SDL_revision-<arch>.h. There are conflicts for the
* original SDL_revision.h on multilib systems, which result from REVISION
* inconsistency between architecture builds, though, I'm not sure why.
* Computers are weird.
*
* Copyright (C) 2021 Tom Callaway <spotrh@gmail.com>
*/
/**
* \file SDL_revision.h
*/
#ifdef SDL_revision_wrapper_h
#error "SDL_revision_wrapper_h should not be defined!"
#endif
#define SDL_revision_wrapper_h
#if defined(__i386__)
#include "SDL_revision-i386.h"
#elif defined(__ia64__)
#include "SDL_revision-ia64.h"
#elif defined(__powerpc64__)
# if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
#include "SDL_revision-ppc64.h"
# else
#include "SDL_revision-ppc64le.h"
# endif
#elif defined(__powerpc__)
#include "SDL_revision-ppc.h"
#elif defined(__s390x__)
#include "SDL_revision-s390x.h"
#elif defined(__s390__)
#include "SDL_revision-s390.h"
#elif defined(__x86_64__)
#include "SDL_revision-x86_64.h"
#elif defined(__arm__)
#include "SDL_revision-arm.h"
#elif defined(__alpha__)
#include "SDL_revision-alpha.h"
#elif defined(__sparc__) && defined (__arch64__)
#include "SDL_revision-sparc64.h"
#elif defined(__sparc__)
#include "SDL_revision-sparc.h"
#elif defined(__aarch64__)
#include "SDL_revision-aarch64.h"
#elif defined(__mips64) && defined(__MIPSEL__)
#include "SDL_revision-mips64el.h"
#elif defined(__mips64)
#include "SDL_revision-mips64.h"
#elif defined(__mips) && defined(__MIPSEL__)
#include "SDL_revision-mipsel.h"
#elif defined(__mips)
#include "SDL_revision-mips.h"
#elif defined(__riscv) && defined(__riscv_xlen) && __riscv_xlen == 64
#include "SDL_revision-riscv64.h"
#else
#error "The SDL2-devel package is not usable with the architecture."
#endif
#undef SDL_revision_wrapper_h

27
SDL2/multilib.patch Normal file
View file

@ -0,0 +1,27 @@
diff --git a/sdl2-config.in b/sdl2-config.in
index f6eca7668..93460f7ae 100644
--- a/sdl2-config.in
+++ b/sdl2-config.in
@@ -7,7 +7,6 @@ bindir=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
prefix=$(cd -P -- "$bindir/@bin_prefix_relpath@" && printf '%s\n' "$(pwd -P)")
exec_prefix=@exec_prefix@
exec_prefix_set=no
-libdir=@libdir@
@ENABLE_STATIC_FALSE@usage="\
@ENABLE_STATIC_FALSE@Usage: $0 [--prefix[=DIR]] [--exec-prefix[=DIR]] [--version] [--cflags] [--libs]"
@@ -49,12 +48,11 @@ while test $# -gt 0; do
echo -I@includedir@/SDL2 @SDL_CFLAGS@
;;
@ENABLE_SHARED_TRUE@ --libs)
-@ENABLE_SHARED_TRUE@ echo -L@libdir@ @SDL_RLD_FLAGS@ @SDL_LIBS@
+@ENABLE_SHARED_TRUE@ echo @SDL_RLD_FLAGS@ @SDL_LIBS@
@ENABLE_SHARED_TRUE@ ;;
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_TRUE@ --static-libs)
@ENABLE_STATIC_TRUE@@ENABLE_SHARED_FALSE@ --libs|--static-libs)
-@ENABLE_STATIC_TRUE@ sdl_static_libs=$(echo "@SDL_LIBS@ @SDL_STATIC_LIBS@" | sed -E "s#-lSDL2[ $]#$libdir/libSDL2.a #g")
-@ENABLE_STATIC_TRUE@ echo -L@libdir@ $sdl_static_libs
+@ENABLE_STATIC_TRUE@ echo @SDL_LIBS@ @SDL_STATIC_LIBS@
@ENABLE_STATIC_TRUE@ ;;
*)
echo "${usage}" 1>&2

Binary file not shown.

View file

@ -1,138 +0,0 @@
%define _disable_source_fetch 0
%define debug_package %{nil}
Name: sonic-interface-libraries
Version: 6.6.4
Release: 1%{?dist}
Summary: Foundation of the SonicDE user interface (fork of libplasma)
License: LGPL-2.0-or-later
URL: https://github.com/Sonic-DE/sonic-interface-libraries
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
%global plasma_version %(echo %{version} | cut -d. -f1-3)
BuildRequires: extra-cmake-modules
BuildRequires: gcc-c++
BuildRequires: cmake(KF6Archive)
BuildRequires: cmake(KF6Declarative)
BuildRequires: cmake(KF6Su)
BuildRequires: cmake(KF6GlobalAccel)
BuildRequires: cmake(KF6Kirigami2)
BuildRequires: cmake(KF6Package)
BuildRequires: cmake(KF6Parts)
BuildRequires: cmake(KF6ConfigWidgets)
BuildRequires: cmake(KF6ColorScheme)
BuildRequires: kf6-rpm-macros
BuildRequires: cmake(KF6Solid)
BuildRequires: openssl-devel
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtbase-private-devel
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: qt6-qtsvg-devel
# KDE Frameworks
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6CoreAddons)
BuildRequires: cmake(KF6DBusAddons)
BuildRequires: cmake(KF6DocTools)
BuildRequires: cmake(KF6GuiAddons)
BuildRequires: cmake(KF6I18n)
BuildRequires: cmake(KF6IconThemes)
BuildRequires: cmake(KF6KCMUtils)
BuildRequires: cmake(KF6KIO)
BuildRequires: cmake(KF6Notifications)
BuildRequires: cmake(KF6Service)
BuildRequires: cmake(KF6Svg)
BuildRequires: cmake(KF6WidgetsAddons)
BuildRequires: cmake(KF6WindowSystem)
BuildRequires: cmake(KF6XmlGui)
BuildRequires: cmake(PlasmaWaylandProtocols)
# Qt
BuildRequires: cmake(Qt6WaylandClient)
# Plasma
BuildRequires: cmake(PlasmaActivities)
BuildRequires: wayland-devel
BuildRequires: kwayland-devel
# X11 Support
BuildRequires: libX11-devel
BuildRequires: libxcb-devel
BuildRequires: xcb-util-devel
BuildRequires: libXcursor-devel
BuildRequires: libXrender-devel
BuildRequires: libXext-devel
BuildRequires: libXfixes-devel
BuildRequires: libXi-devel
Provides: libplasma%{?_isa} >= %{plasma_version}
Provides: libplasma >= %{plasma_version}
Obsoletes: libplasma <= %{plasma_version}
# Renamed from kf6-plasma
Obsoletes: kf6-plasma < 1:%{version}-%{release}
Provides: kf6-plasma = 1:%{version}-%{release}
%description
Sonic Interface Libraries is a fork of libplasma, providing the foundational
libraries for themes, applets, and widgets in SonicDE.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: cmake(KF6Package)
Requires: qt6-qtbase-devel
Requires: cmake(KF6Service)
Requires: cmake(KF6WindowSystem)
Provides: libplasma-devel%{?_isa} >= %{plasma_version}
Provides: libplasma-devel >= %{plasma_version}
Obsoletes: libplasma-devel <= %{plasma_version}
Obsoletes: kf6-plasma-devel < 1:%{version}-%{release}
Provides: kf6-plasma-devel = 1:%{version}-%{release}
%description devel
Development files for sonic-interface-libraries.
%prep
%autosetup -p1
%build
%cmake_kf6
%cmake_build
%install
%cmake_install
%find_lang %{name} --all-name
%files -f %{name}.lang
%license LICENSES/*
%{_libdir}/libPlasma.so.*
%{_libdir}/libPlasmaQuick.so.*
%{_qt6_plugindir}/kf6/
%{_qt6_qmldir}/org/kde/plasma/
%{_qt6_qmldir}/org/kde/kirigami/styles/Plasma/
%{_datadir}/plasma/
%{_datadir}/qlogging-categories6/*.categories
%{_datadir}/qlogging-categories6/*.renamecategories
%files devel
%{_includedir}/Plasma/
%{_includedir}/PlasmaQuick/
%{_libdir}/libPlasma.so
%{_libdir}/libPlasmaQuick.so
%{_libdir}/cmake/Plasma/
%{_libdir}/cmake/PlasmaQuick/
%{_datadir}/doc/qt6/Plasma.qch
%{_datadir}/doc/qt6/Plasma.tags
%{_datadir}/kdevappwizard/templates/*.tar.bz2
%changelog
* Wed May 27 2026 Anders da Silva Rytter Hansen <gitnf@a.rytter.me> - 6.6.4-1
- Upgrade to 6.6.4
* Wed Mar 21 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.4.5-7
- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility)

View file

@ -1,209 +0,0 @@
%define _disable_source_fetch 0
%define debug_package %{nil}
Name: sonic-win
Version: 6.6.4
Release: 1%{?dist}
Summary: KWin window manager for SonicDE (fork of kwin)
%global plasma_version %{version}
License: GPL-2.0-or-later
URL: https://github.com/Sonic-DE/sonic-win
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
BuildRequires: extra-cmake-modules
BuildRequires: kf6-rpm-macros
BuildRequires: systemd-rpm-macros
# Qt
BuildRequires: cmake(QAccessibilityClient6)
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtbase-private-devel
BuildRequires: qt6-qtsensors-devel
BuildRequires: qt6-qttools-devel
BuildRequires: qt6-qtwayland-devel
BuildRequires: cmake(Qt6Core5Compat)
BuildRequires: cmake(Qt6Svg)
BuildRequires: cmake(Qt6Multimedia)
# X11/OpenGL
BuildRequires: pkgconfig(libxcvt)
BuildRequires: mesa-libGL-devel
BuildRequires: mesa-libEGL-devel
BuildRequires: mesa-libgbm-devel
BuildRequires: libxkbcommon-devel
BuildRequires: libxkbcommon-x11-devel
BuildRequires: libX11-devel
BuildRequires: libXi-devel
BuildRequires: libxcb-devel
BuildRequires: libICE-devel
BuildRequires: libSM-devel
BuildRequires: libXcursor-devel
BuildRequires: xcb-util-wm-devel
BuildRequires: xcb-util-image-devel
BuildRequires: xcb-util-keysyms-devel
BuildRequires: xcb-util-cursor-devel
BuildRequires: xcb-util-devel
BuildRequires: libepoxy-devel
BuildRequires: libcap-devel
BuildRequires: lcms2-devel
BuildRequires: glib2-devel
BuildRequires: pipewire-devel
# Wayland
BuildRequires: wayland-devel >= 1.22.0
BuildRequires: wayland-protocols-devel
BuildRequires: pkgconfig(libinput) >= 0.10
BuildRequires: pkgconfig(libudev)
%if 0%{?rhel} == 10
# Integrate with Xlibre on EL10
BuildRequires: xlibre-xserver-devel
Requires: xlibre-xserver-Xorg
Requires: xlibre-xf86-input-libinput
%else
BuildRequires: pkgconfig(xwayland)
%endif
# KF6
BuildRequires: cmake(KF6Completion)
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6ConfigWidgets)
BuildRequires: cmake(KF6CoreAddons)
BuildRequires: cmake(KF6Crash)
BuildRequires: cmake(KF6DBusAddons)
BuildRequires: cmake(KF6GlobalAccel)
BuildRequires: cmake(KF6GuiAddons)
BuildRequires: cmake(KF6I18n)
BuildRequires: cmake(KF6KIO)
BuildRequires: cmake(KF6Notifications)
BuildRequires: cmake(KF6Service)
BuildRequires: cmake(KF6WidgetsAddons)
BuildRequires: cmake(KF6WindowSystem)
BuildRequires: cmake(KF6DocTools)
BuildRequires: cmake(KF6KCMUtils)
BuildRequires: cmake(KF6NewStuff)
BuildRequires: cmake(KF6Declarative)
BuildRequires: cmake(KF6IconThemes)
BuildRequires: cmake(KF6IdleTime)
BuildRequires: cmake(KF6TextWidgets)
BuildRequires: cmake(KF6Kirigami2)
BuildRequires: cmake(KF6Runner)
BuildRequires: cmake(KF6Svg)
BuildRequires: cmake(KNightTime)
# Workspace components
BuildRequires: cmake(KDecoration3)
BuildRequires: kscreenlocker-devel
BuildRequires: plasma-breeze-devel
BuildRequires: plasma-wayland-protocols-devel
BuildRequires: cmake(KGlobalAccelD)
BuildRequires: libdisplay-info-devel
BuildRequires: cmake(KWayland)
BuildRequires: cmake(Plasma)
BuildRequires: cmake(PlasmaActivities)
BuildRequires: libeis-devel
BuildRequires: pkgconfig(libcanberra)
# Conflicts with kwin-x11
Conflicts: kwin-x11
Requires: sonic-interface-libraries%{?_isa} >= %{plasma_version}
Requires: kscreenlocker%{?_isa}
Requires: kf6-kirigami2%{?_isa}
Requires: kf6-kdeclarative%{?_isa}
Requires: qt6-qtmultimedia%{?_isa}
Requires: qt6-qtdeclarative%{?_isa}
%description
Sonic Win is a fork of KWin, the window manager and compositor for SonicDE,
focusing on an optimized X11 experience.
%package libs
Summary: KWin libraries for SonicDE
Conflicts: kwin-x11-libs
%description libs
Shared libraries for sonic-win.
%package devel
Summary: Development files for %{name}
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
Requires: %{name}%{?_isa} = %{version}-%{release}
Conflicts: kwin-x11-devel
%description devel
Development files for sonic-win.
Provides: kwin-devel = %{version}-%{release}
Provides: kwin-x11-devel = %{version}-%{release}
Provides: cmake(KWinDBusInterface) = %{version}
%prep
%autosetup -p1
%build
%cmake_kf6
%cmake_build
%install
%cmake_install
# Create compatibility CMake files for sonic-workspace
mkdir -p %{buildroot}%{_libdir}/cmake/KWinDBusInterface
cat <<EOF > %{buildroot}%{_libdir}/cmake/KWinDBusInterface/KWinDBusInterfaceConfig.cmake
find_package(KWinX11DBusInterface REQUIRED)
include(\${KWinX11DBusInterface_DIR}/KWinX11DBusInterfaceConfig.cmake)
EOF
# Create compatibility symlinks for DBus interfaces
pushd %{buildroot}%{_datadir}/dbus-1/interfaces/
for f in kwin_x11_*.xml; do
newname=$(echo $f | sed 's/kwin_x11_//')
ln -s "$f" "$newname"
done
popd
# The translation domain in the source is likely still 'kwin'
%find_lang kwin --all-name --with-html
%files -f kwin.lang
%license LICENSES/*
# Binares and specialized folders
%{_bindir}/kwin_x11
%{_libdir}/kconf_update_bin/kwin*
%{_libexecdir}/kwin*
%{_userunitdir}/plasma-kwin_x11.service
# Database and plugins
%{_libdir}/qt6/plugins/
%{_qt6_qmldir}/org/kde/*/
# Data and Assets
%{_datadir}/kwin-x11/
%{_datadir}/applications/*.desktop
%{_datadir}/dbus-1/interfaces/*.xml
%{_datadir}/icons/hicolor/*/apps/kwin-x11.*
%{_datadir}/kconf_update/kwin-x11.upd
%{_datadir}/knotifications6/kwin-x11.notifyrc
%{_datadir}/knsrcfiles/*.knsrc
%{_datadir}/krunner/dbusplugins/*.desktop
%{_datadir}/qlogging-categories6/*.categories
%files libs
# Libraries
%{_libdir}/lib*.so.*
%files devel
%{_includedir}/
%{_libdir}/lib*.so
%{_libdir}/cmake/
%changelog
* Wed May 27 2026 Anders da Silva Rytter Hansen <gitnf@a.rytter.me> - 6.6.4-1
- Upgrade to 6.6.4
* Wed Mar 21 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.4.5-8
- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility)

View file

@ -1,275 +0,0 @@
%define _disable_source_fetch 0
%define debug_package %{nil}
Name: sonic-workspace
Version: 6.6.4
Release: 1%{?dist}
Summary: Core workspace components for SonicDE (fork of plasma-workspace)
License: GPL-2.0-or-later
URL: https://github.com/Sonic-DE/sonic-workspace
Source0: %{url}/archive/refs/tags/%{version}.tar.gz#/%{name}-%{version}.tar.gz
%global plasma_version %(echo %{version} | cut -d. -f1-3)
BuildRequires: extra-cmake-modules
BuildRequires: kf6-rpm-macros
BuildRequires: qt6-qtbase-devel
BuildRequires: qt6-qtbase-private-devel
BuildRequires: qt6-qtdeclarative-devel
BuildRequires: qt6-qtdeclarative-private-devel
BuildRequires: qt6-qtsvg-devel
BuildRequires: qt6-qtwayland-devel
BuildRequires: qt6-qtlocation-devel
BuildRequires: qt6-qtshadertools-devel
BuildRequires: qcoro-qt6-devel
BuildRequires: phonon-qt6-devel
BuildRequires: wayland-devel
BuildRequires: wayland-protocols-devel
BuildRequires: plasma-wayland-protocols-devel
BuildRequires: cmake(Qt6Core5Compat)
BuildRequires: cmake(KF6Config)
BuildRequires: cmake(KF6Archive)
BuildRequires: cmake(KF6Declarative)
BuildRequires: cmake(KF6ConfigWidgets)
BuildRequires: cmake(KF6CoreAddons)
BuildRequires: cmake(KF6Crash)
BuildRequires: cmake(KF6DBusAddons)
BuildRequires: cmake(KF6GlobalAccel)
BuildRequires: cmake(KF6GuiAddons)
BuildRequires: cmake(KF6I18n)
BuildRequires: cmake(KF6IdleTime)
BuildRequires: cmake(KF6KIO)
BuildRequires: cmake(KF6Notifications)
BuildRequires: cmake(KF6NotifyConfig)
BuildRequires: cmake(KF6Runner)
BuildRequires: cmake(KF6Service)
BuildRequires: cmake(KF6Solid)
BuildRequires: cmake(KF6WidgetsAddons)
BuildRequires: cmake(KF6WindowSystem)
BuildRequires: cmake(KF6XmlGui)
BuildRequires: cmake(KF6DocTools)
BuildRequires: cmake(KF6ItemModels)
BuildRequires: cmake(KF6KDED)
BuildRequires: cmake(KF6StatusNotifierItem)
BuildRequires: cmake(KF6UnitConversion)
BuildRequires: cmake(KF6Wallet)
BuildRequires: cmake(KF6KCMUtils)
BuildRequires: cmake(KF6NewStuff)
BuildRequires: cmake(KF6Package)
BuildRequires: cmake(KF6Parts)
BuildRequires: cmake(KF6Prison)
BuildRequires: cmake(KF6Sonnet)
BuildRequires: cmake(KF6TextEditor)
BuildRequires: cmake(KF6TextWidgets)
BuildRequires: cmake(KF6Svg)
BuildRequires: cmake(KF6Kirigami2)
BuildRequires: cmake(KF6KirigamiAddons)
BuildRequires: cmake(KF6NetworkManagerQt)
BuildRequires: cmake(KF6QuickCharts)
BuildRequires: cmake(KF6UserFeedback)
BuildRequires: cmake(KF6Baloo)
BuildRequires: cmake(KF6Holidays)
BuildRequires: kf6-kdesu-devel
BuildRequires: pkgconfig(libqalculate)
BuildRequires: sonic-win-devel
BuildRequires: sonic-interface-libraries-devel
BuildRequires: kdecoration-devel
BuildRequires: libkscreen-devel
BuildRequires: libksysguard-devel
BuildRequires: plasma-activities-devel
BuildRequires: cmake(KSysGuard)
BuildRequires: cmake(Plasma5Support)
BuildRequires: cmake(KScreenLocker)
BuildRequires: cmake(Breeze)
BuildRequires: cmake(KExiv2Qt6)
BuildRequires: cmake(KPipeWire)
BuildRequires: cmake(PlasmaActivities)
BuildRequires: cmake(PlasmaActivitiesStats)
BuildRequires: cmake(KF6Screen)
BuildRequires: cmake(KWayland)
BuildRequires: cmake(Plasma)
BuildRequires: cmake(PlasmaQuick)
BuildRequires: cmake(LayerShellQt)
BuildRequires: cmake(KNightTime)
BuildRequires: pkgconfig(x11)
BuildRequires: pkgconfig(xau)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xcomposite)
BuildRequires: pkgconfig(xcursor)
BuildRequires: pkgconfig(xdamage)
BuildRequires: pkgconfig(xext)
BuildRequires: pkgconfig(xfixes)
BuildRequires: pkgconfig(xft)
BuildRequires: pkgconfig(xi)
BuildRequires: pkgconfig(xinerama)
BuildRequires: pkgconfig(xres)
BuildRequires: pkgconfig(xkbcommon)
BuildRequires: pkgconfig(xkbfile)
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(xrender)
BuildRequires: pkgconfig(xtst)
BuildRequires: pkgconfig(xxf86vm)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(xcb-aux)
BuildRequires: pkgconfig(xcb-cursor)
BuildRequires: pkgconfig(xcb-image)
BuildRequires: pkgconfig(xcb-event)
BuildRequires: pkgconfig(xcb-util)
BuildRequires: pkgconfig(xcb-keysyms)
BuildRequires: pkgconfig(xcb-icccm)
BuildRequires: pkgconfig(xcb-renderutil)
BuildRequires: pkgconfig(xcb-atom)
BuildRequires: pkgconfig(xcb-ewmh)
BuildRequires: systemd-devel
BuildRequires: NetworkManager-libnm-devel
BuildRequires: glib2-devel
BuildRequires: polkit-qt6-1-devel
BuildRequires: PackageKit-Qt6-devel
BuildRequires: appstream-qt-devel
BuildRequires: iso-codes-devel
BuildRequires: libcanberra-devel
BuildRequires: fontconfig-devel
BuildRequires: zlib-devel
BuildRequires: libicu-devel
Requires: sonic-win
Requires: xmessage
Requires: xprop
Requires: xrdb
Requires: xsetroot
Conflicts: plasma-workspace-x11
Provides: plasma-workspace%{?_isa} >= %{plasma_version}
Provides: plasma-workspace >= %{plasma_version}
Obsoletes: plasma-workspace <= %{plasma_version}
Provides: plasma-workspace-libs%{?_isa} >= %{plasma_version}
Provides: plasma-workspace-libs >= %{plasma_version}
Obsoletes: plasma-workspace-libs <= %{plasma_version}
Provides: libkworkspace6%{?_isa} >= %{plasma_version}
Provides: libkworkspace6 >= %{plasma_version}
Obsoletes: libkworkspace6 <= %{plasma_version}
Provides: desktop-notification-daemon
%description
Core workspace components for SonicDE, fork of plasma-workspace.
%package devel
Summary: Development files for %{name}
Requires: %{name}%{?_isa} = %{version}-%{release}
Conflicts: plasma-workspace-devel
%description devel
Development files for sonic-workspace.
%package x11
Summary: SonicDE X11 session
#Requires: %%{name}%%{?_isa} = %%{version}-%%{release}
Requires: xlibre-xserver-Xorg
Conflicts: plasma-workspace-x11
%description x11
SonicDE X11 session.
%prep
%autosetup -p1
%build
%cmake_kf6
%cmake_build
%install
%cmake_install
# Many translation files have different names than the package
%find_lang plasmanetworkmanagement --all-name || :
%find_lang plasmashell --all-name || :
%files
%license LICENSES/*
%{_bindir}/plasma*
%{_bindir}/krunner
%{_bindir}/ksmserver
%{_bindir}/ksplashqml
%{_bindir}/kcminit*
%{_bindir}/kde-systemd-start-condition
%{_bindir}/lookandfeeltool
%{_bindir}/kcolorschemeeditor
%{_bindir}/kfontinst
%{_bindir}/kfontview
%{_bindir}/xembedsniproxy
%{_bindir}/gmenudbusmenuproxy
#%%{_bindir}/startplasma-wayland
%{_libdir}/lib*.so.*
%{_libdir}/kconf_update_bin/
%{_libexecdir}/ksmserver-logout-greeter
%{_libexecdir}/plasma*
%{_libexecdir}/kf6/kauth/
%{_libexecdir}/kfontprint
%{_libexecdir}/baloorunner
%{_libexecdir}/ksecretprompter
%{_qt6_plugindir}/plasma/
%{_qt6_plugindir}/kf6/
#%%{_qt6_plugindir}/phonon_platform/
#%%{_qt6_plugindir}/plasma5support/
%{_qt6_plugindir}/plasmacalendarplugins/
%{_qt6_qmldir}/org/kde/
%{_userunitdir}/plasma*
%{_datadir}/plasma/
#%%{_datadir}/plasma5support/
%{_datadir}/applications/*.desktop
%{_datadir}/desktop-directories/
%{_datadir}/config.kcfg/
%{_datadir}/dbus-1/
%{_datadir}/doc/
%{_datadir}/icons/
%{_datadir}/kconf_update/
%{_datadir}/kfontinst/
%{_datadir}/kglobalaccel/
%{_datadir}/kio*/
%{_datadir}/knotifications6/
%{_datadir}/knsrcfiles/
%{_datadir}/konqsidebartng/
%{_datadir}/krunner/
%{_datadir}/kstyle/
%{_datadir}/kxmlgui5/
%{_datadir}/polkit-1/
%{_datadir}/qlogging-categories6/
%{_datadir}/solid/
%{_datadir}/timezonefiles/
%{_datadir}/wayland-sessions/
%{_datadir}/xdg-desktop-portal/
%{_datadir}/zsh/
%{_datadir}/locale/*/LC_MESSAGES/*.mo
%{_sysconfdir}/xdg/*
%files devel
%defattr(-,root,root,-)
%{_includedir}/kworkspace6/
%{_includedir}/taskmanager/
%{_includedir}/notificationmanager/
#%%{_includedir}/colorcorrect/
%{_includedir}/krdb/
%{_includedir}/klookandfeel/
#%%{_includedir}/plasma5support/
%{_libdir}/lib*.so
%{_libdir}/cmake/*/
%files x11
%defattr(-,root,root,-)
%{_datadir}/xsessions/plasmax11.desktop
%{_bindir}/startplasma-x11
%changelog
* Wed May 27 2026 Anders da Silva Rytter Hansen <gitnf@a.rytter.me> - 6.6.4-1
- Upgrade to 6.6.4
* Wed Mar 21 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 6.4.5-5
- Initial release of SonicDE/KDE Plasma X11 for EL10 (Downgraded to 6.4.5 for EL 10.1 compatibility)