%global _enable_debug_package 0 %global debug_package %{nil} %global commit f1b86e1ca7982b5b9f47d21ac2cb5c2adfb45902 %global shortcommit %(c=%{commit}; echo ${c:0:7}) %global git_date 20260101T000000Z %global tag 0.5.4 %global clean_tag %(echo %{tag} | sed 's/^v//') # Bundled submodule commits %global scene_renderer_commit 8dde7e7454c1d3906189d7294fd93a3c97bb4ff0 %global spirv_reflect_commit c6c0f5c9796bdef40c55065d82e0df67c38a29a4 %global nlohmann_commit 0457de21cffb298c22b629e538036bfeb96130b7 %global miniaudio_commit 4a5b74bef029b3592c54b6048650ee5f972c1a48 %global glslang_commit 9db8c369e6f49b5c00376040ba8c0cda6cbb7b4d %global eigen_commit 3147391d946bb4b6c68edd901f2add6ac1f31f8c Name: wallpaper-engine-kde-plugin Version: %{clean_tag}^%{git_date}.g%{shortcommit} Release: %autorelease Summary: KDE wallpaper plugin integrating wallpaper engine License: GPLv2 URL: https://github.com/catsout/wallpaper-engine-kde-plugin Source0: %{url}/archive/%{commit}.tar.gz # Bundled submodules Source1: https://github.com/catsout/wallpaper-scene-renderer/archive/%{scene_renderer_commit}.tar.gz Source2: https://github.com/KhronosGroup/SPIRV-Reflect/archive/%{spirv_reflect_commit}.tar.gz Source3: https://github.com/nlohmann/json/archive/%{nlohmann_commit}.tar.gz Source4: https://github.com/mackron/miniaudio/archive/%{miniaudio_commit}.tar.gz Source5: https://github.com/KhronosGroup/glslang/archive/%{glslang_commit}.tar.gz Source6: https://gitlab.com/libeigen/eigen/-/archive/%{eigen_commit}/eigen-%{eigen_commit}.tar.gz Patch1: 001-system-deps.patch BuildRequires: vulkan-loader-devel # TODO wait until the backend doesn't rely on internal headers. #BuildRequires: glslang-devel >= 14.1.0-1 BuildRequires: plasma-workspace-devel BuildRequires: libplasma-devel BuildRequires: kf6-kcoreaddons-devel BuildRequires: gstreamer1-plugin-libav BuildRequires: lz4-devel BuildRequires: mpv-libs-devel BuildRequires: python3-websockets BuildRequires: qt6-qtbase-private-devel BuildRequires: qt6-qtwebsockets-devel BuildRequires: qt6-qtwebchannel-devel BuildRequires: cmake BuildRequires: extra-cmake-modules BuildRequires: kf6-rpm-macros Requires: python3-websockets Requires: qt6-qtwebchannel # Code requires the devel package for things to work correctly.. not sure why Requires: qt6-qtwebsockets-devel Requires: wallpaper-engine-kde-plugin-lib = %{version}-%{release} %description %{name} is a wallpaper plugin integrating wallpaper engine into the KDE wallpaper settings. %package lib Summary: plugin lib for %{name} %description lib %summary %prep %autosetup -n %{name}-%{commit} -N # Extract bundled submodules tar xzf %{SOURCE1} --strip-components=1 -C src/backend_scene tar xzf %{SOURCE2} --strip-components=1 -C src/backend_scene/third_party/SPIRV-Reflect tar xzf %{SOURCE3} --strip-components=1 -C src/backend_scene/third_party/nlohmann tar xzf %{SOURCE4} --strip-components=1 -C src/backend_scene/third_party/miniaudio tar xzf %{SOURCE5} --strip-components=1 -C src/backend_scene/third_party/glslang tar xzf %{SOURCE6} --strip-components=1 -C src/backend_scene/third_party/Eigen %autopatch -p1 %build %cmake_kf6 -DQT_MAJOR_VERSION=6 -DBUILD_QML=ON -DUSE_PLASMAPKG=OFF %cmake_build %install %cmake_install %files # Metainfo isn't being generated with newer versions of KDE Frameworks %if 0%{?fedora} <= 41 %{_kf6_metainfodir}/com.github.catsout.wallpaperEngineKde.appdata.xml %endif %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/images/* %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/*.py %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/*.qml %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/backend/*.qml %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/components/*.qml %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/components/qmldir %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/js/*.mjs %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/page/qmldir %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/qmldir %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/style/*.qml %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/style/qmldir %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/metadata.desktop %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/metadata.json %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/config/*.xml %{_kf6_datadir}/plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/ui/page/*.qml %files lib %{_kf6_qmldir}/com/github/catsout/wallpaperEngineKde/* %changelog %autochangelog