From 3a59ef19f67f4399d13ce013edf8b07242d11780 Mon Sep 17 00:00:00 2001 From: Andreas Schaafsma Date: Tue, 15 Jul 2025 03:19:01 +0200 Subject: [PATCH] changes --- .../wallpaper-engine-kde-plugin/default.nix | 91 ++++++++++--------- 1 file changed, 50 insertions(+), 41 deletions(-) diff --git a/packages/wallpaper-engine-kde-plugin/default.nix b/packages/wallpaper-engine-kde-plugin/default.nix index 30184f8..0975403 100644 --- a/packages/wallpaper-engine-kde-plugin/default.nix +++ b/packages/wallpaper-engine-kde-plugin/default.nix @@ -1,7 +1,7 @@ { lib, pkgs, inputs ? null, ... }: -pkgs.stdenv.mkDerivation rec { - pname = "wallpaper-engine-kde-plugin"; +pkgs.kdePackages.mkKdeDerivation rec { + pname = "wallpaper-engine-plugin"; version = "unstable-2023-07-01"; src = if inputs != null && inputs ? wallpaper-engine-plugin-src @@ -11,56 +11,65 @@ pkgs.stdenv.mkDerivation rec { repo = "wallpaper-engine-kde-plugin"; rev = "9e60b364e268814a1a778549c579ad45a9b9c7bb"; sha256 = "sha256-tKeYJvVa8jzbyZ7MQaOuCUJa+UqABolTNe3e5XNw998="; + fetchSubmodules = true; }; - nativeBuildInputs = with pkgs; [ - cmake - extra-cmake-modules - pkg-config - libsForQt5.kpackage - libsForQt5.plasma-framework - libsForQt5.kdeclarative - wrapQtAppsHook + extraNativeBuildInputs = [ + pkgs.kdePackages.kpackage + pkgs.pkg-config + (pkgs.python3.withPackages (ps: with ps; [ websockets ])) ]; - buildInputs = with pkgs; [ - mpv lz4 vulkan-headers vulkan-loader - wayland wayland-protocols - libass - spirv-tools - xorg.libXext - xorg.libX11 - ] ++ (with pkgs.libsForQt5; [ - plasma-framework - qtwebsockets - qtwebchannel - qtx11extras - qtdeclarative - qtbase - qtmultimedia - dbus - ]); + extraBuildInputs = [ + pkgs.kdePackages.extra-cmake-modules + pkgs.kdePackages.libplasma + pkgs.lz4 + pkgs.mpv + pkgs.libass + pkgs.libsysprof-capture + pkgs.fribidi + pkgs.ffmpeg + pkgs.libplacebo + pkgs.libunwind + pkgs.shaderc + pkgs.lcms2 + pkgs.libdovi + pkgs.libdvdnav + pkgs.libdvdread + pkgs.vulkan-headers + pkgs.vulkan-loader + pkgs.spirv-tools + pkgs.gst_all_1.gstreamer + pkgs.gst_all_1.gst-plugins-base + pkgs.gst_all_1.gst-plugins-good + pkgs.gst_all_1.gst-plugins-bad + pkgs.gst_all_1.gst-plugins-ugly + pkgs.gst_all_1.gst-libav + pkgs.mujs + ]; + + # Disable the scene backend since it's missing CMakeLists.txt + postPatch = '' + sed -i 's|add_subdirectory(backend_scene)|# add_subdirectory(backend_scene)|' src/CMakeLists.txt + ''; cmakeFlags = [ - "-DUSE_PLASMAPKG=ON" - "-DQT_MAJOR_VERSION=5" - "-DCMAKE_INSTALL_PREFIX=${placeholder "out"}" - "-DCMAKE_INSTALL_LIBDIR=lib" - "-DKDE_INSTALL_PLUGINDIR=${placeholder "out"}/lib/qt5/plugins" - "-DKDE_INSTALL_QMLDIR=${placeholder "out"}/lib/qt5/qml" - "-DPLASMA_INSTALL_WALLPAPERDIR=${placeholder "out"}/share/plasma/wallpapers" + "-DQt6_DIR=${pkgs.kdePackages.qtbase}/lib/cmake/Qt6" + "-DUSE_PLASMAPKG=OFF" + "-DQT_MAJOR_VERSION=6" + "-DBUILD_QML=ON" + "-DBUILD_SCENE=OFF" ]; dontWrapQtApps = true; postInstall = '' - dest="$out/share/plasma/wallpapers/com.github.catsout.wallpaperEngineKde" - mkdir -p "$dest/contents" - cp -r ${src}/plugin/contents/* "$dest/contents/" - cp ${src}/plugin/metadata.desktop "$dest/" - mkdir -p "$dest/contents/code" - ln -sf $out/lib/qt5/qml/com/github/catsout/wallpaperEngineKde/libWallpaperEngineKde.so \ - "$dest/contents/code/libWallpaperEngineKde.so" + cd $out/share/plasma/wallpapers/com.github.catsout.wallpaperEngineKde + chmod +x ./contents/pyext.py + patchShebangs --build ./contents/pyext.py + substituteInPlace ./contents/ui/Pyext.qml \ + --replace-fail NIX_STORE_PACKAGE_PATH ${placeholder "out"} + cd - ''; meta = with lib; {