From 41b117f6eda2cc12d079679a60e7c523514cd5a3 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 27 Sep 2024 08:16:34 +0300 Subject: [PATCH 1/2] xwaylandvideobridge: support building with qt6, clean up dependencies --- .../wayland/xwaylandvideobridge/default.nix | 20 ++++++++++++++----- pkgs/top-level/aliases.nix | 1 + pkgs/top-level/all-packages.nix | 2 -- pkgs/top-level/qt5-packages.nix | 2 ++ pkgs/top-level/qt6-packages.nix | 1 + 5 files changed, 19 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/wayland/xwaylandvideobridge/default.nix b/pkgs/tools/wayland/xwaylandvideobridge/default.nix index 5614ef40d537..f87e678bdba9 100644 --- a/pkgs/tools/wayland/xwaylandvideobridge/default.nix +++ b/pkgs/tools/wayland/xwaylandvideobridge/default.nix @@ -5,10 +5,14 @@ , extra-cmake-modules , pkg-config , qtbase -, qtquickcontrols2 -, qtx11extras -, kdelibs4support +, qtdeclarative +, qtx11extras ? null # qt5 only +, kcoreaddons +, ki18n +, knotifications , kpipewire +, kstatusnotifieritem ? null # qt6 only +, kwindowsystem , wrapQtAppsHook }: @@ -30,12 +34,18 @@ stdenv.mkDerivation (finalAttrs: { buildInputs = [ qtbase - qtquickcontrols2 + qtdeclarative qtx11extras - kdelibs4support + kcoreaddons + ki18n + knotifications kpipewire + kstatusnotifieritem + kwindowsystem ]; + cmakeFlags = ["-DQT_MAJOR_VERSION=${lib.versions.major qtbase.version}"]; + meta = { description = "Utility to allow streaming Wayland windows to X applications"; homepage = "https://invent.kde.org/system/xwaylandvideobridge"; diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index 17682f14430c..3f6f4130bad5 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -1700,6 +1700,7 @@ mapAliases { xtrt = throw "xtrt has been removed due to being abandoned"; # Added 2023-05-25 xulrunner = firefox-unwrapped; # Added 2023-11-03 xvfb_run = xvfb-run; # Added 2021-05-07 + xwaylandvideobridge = libsForQt5.xwaylandvideobridge; # Added 2024-09-27 ### Y ### diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 146daf3109aa..4533750950db 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -25575,8 +25575,6 @@ with pkgs; xwayland = callPackage ../servers/x11/xorg/xwayland.nix { }; - xwaylandvideobridge = libsForQt5.callPackage ../tools/wayland/xwaylandvideobridge { }; - yaws = callPackage ../servers/http/yaws { }; zabbixFor = version: rec { diff --git a/pkgs/top-level/qt5-packages.nix b/pkgs/top-level/qt5-packages.nix index e491c443657f..d5d6c87f9b47 100644 --- a/pkgs/top-level/qt5-packages.nix +++ b/pkgs/top-level/qt5-packages.nix @@ -287,6 +287,8 @@ in (noExtraAttrs (kdeFrameworks // plasmaMobileGear // plasma5 // plasma5.thirdP xp-pen-g430-driver = callPackage ../os-specific/linux/xp-pen-drivers/g430 { }; + xwaylandvideobridge = callPackage ../tools/wayland/xwaylandvideobridge { }; + yuview = callPackage ../applications/video/yuview { }; }) // lib.optionalAttrs pkgs.config.allowAliases { # Remove completely before 24.11 diff --git a/pkgs/top-level/qt6-packages.nix b/pkgs/top-level/qt6-packages.nix index f63e2245b59b..ebf433e667ee 100644 --- a/pkgs/top-level/qt6-packages.nix +++ b/pkgs/top-level/qt6-packages.nix @@ -114,6 +114,7 @@ makeScopeWithSplicing' { wayqt = callPackage ../development/libraries/wayqt { }; + xwaylandvideobridge = kdePackages.callPackage ../tools/wayland/xwaylandvideobridge { }; } // lib.optionalAttrs pkgs.config.allowAliases { # Remove completely before 24.11 overrideScope' = builtins.throw "qt6Packages now uses makeScopeWithSplicing which does not have \"overrideScope'\", use \"overrideScope\"."; From e23ad5ca0e261b7dfc87bf61d4f1eb10bfac37c5 Mon Sep 17 00:00:00 2001 From: K900 Date: Fri, 27 Sep 2024 08:16:56 +0300 Subject: [PATCH 2/2] nixos/plasma6: install xwaylandvideobridge by default --- nixos/modules/services/desktop-managers/plasma6.nix | 1 + 1 file changed, 1 insertion(+) diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix index aa19f56b6915..a7f71f13fbbd 100644 --- a/nixos/modules/services/desktop-managers/plasma6.nix +++ b/nixos/modules/services/desktop-managers/plasma6.nix @@ -148,6 +148,7 @@ in { spectacle ffmpegthumbs krdp + xwaylandvideobridge # exposes Wayland windows to X11 screen capture ] ++ lib.optionals config.services.flatpak.enable [ # Since PackageKit Nix support is not there yet, # only install discover if flatpak is enabled.