about summary refs log tree commit diff
diff options
context:
space:
mode:
authorK900 <me@0upti.me>2024-09-27 10:03:24 +0300
committerGitHub <noreply@github.com>2024-09-27 10:03:24 +0300
commit1e15add1c28614820fcd4b75e8a5001f1e0b290f (patch)
tree88c911041e344e75306a946560193e72c08a8730
parentb4c968acd77ab5573dff0a5ff13c50e3a979720f (diff)
parente23ad5ca0e261b7dfc87bf61d4f1eb10bfac37c5 (diff)
xwaylandvideobridge refactor + default in Plasma (#344808)
-rw-r--r--nixos/modules/services/desktop-managers/plasma6.nix1
-rw-r--r--pkgs/tools/wayland/xwaylandvideobridge/default.nix20
-rw-r--r--pkgs/top-level/aliases.nix1
-rw-r--r--pkgs/top-level/all-packages.nix2
-rw-r--r--pkgs/top-level/qt5-packages.nix2
-rw-r--r--pkgs/top-level/qt6-packages.nix1
6 files changed, 20 insertions, 7 deletions
diff --git a/nixos/modules/services/desktop-managers/plasma6.nix b/nixos/modules/services/desktop-managers/plasma6.nix
index aa19f56b69153..a7f71f13fbbd2 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.
diff --git a/pkgs/tools/wayland/xwaylandvideobridge/default.nix b/pkgs/tools/wayland/xwaylandvideobridge/default.nix
index 5614ef40d5374..f87e678bdba98 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 17682f14430c8..3f6f4130bad57 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 146daf3109aa2..4533750950db0 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 e491c443657f3..d5d6c87f9b472 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 f63e2245b59b4..ebf433e667ee5 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\".";