about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorNick Cao <nickcao@nichi.co>2023-04-17 19:46:30 +0800
committerGitHub <noreply@github.com>2023-04-17 19:46:30 +0800
commit563741a3fd25de0547acc9037142eccb24091dfb (patch)
tree339d0ea0f966fabba702fe107a41031f3efef281 /pkgs
parent085e018ca45bcea1343b4915edb84d1fc44f931c (diff)
parent6c15c20d94bbd454bdc7c8e7e8b58779409fe9ff (diff)
Merge pull request #226543 from lilyinstarlight/upd/teams-for-linux-1.0.65
teams-for-linux: 1.0.59 -> 1.0.65
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix9
-rw-r--r--pkgs/applications/networking/instant-messengers/teams-for-linux/screensharing-wayland-hack-fix.patch28
-rw-r--r--pkgs/top-level/all-packages.nix4
3 files changed, 36 insertions, 5 deletions
diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
index 2ea2de235bb2a..92fffd4a36fab 100644
--- a/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "teams-for-linux";
-  version = "1.0.59";
+  version = "1.0.65";
 
   src = fetchFromGitHub {
     owner = "IsmaelMartinez";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-82uRZEktKHMQhozG5Zpa2DFu1VZOEDBWpsbfgMzoXY8=";
+    sha256 = "sha256-Rj6A1h5R4w8zacoTV0WKTbTD67qwsw4zHP+KQ6h7/gs=";
   };
 
   offlineCache = fetchYarnDeps {
@@ -30,6 +30,11 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-3zjmVIPQ+F2jPQ2xkAv5hQUjr8k5jIHTsa73J+IMayw=";
   };
 
+  patches = [
+    # Can be removed once Electron upstream resolves https://github.com/electron/electron/issues/36660
+    ./screensharing-wayland-hack-fix.patch
+  ];
+
   nativeBuildInputs = [ yarn fixup_yarn_lock nodejs copyDesktopItems makeWrapper ];
 
   configurePhase = ''
diff --git a/pkgs/applications/networking/instant-messengers/teams-for-linux/screensharing-wayland-hack-fix.patch b/pkgs/applications/networking/instant-messengers/teams-for-linux/screensharing-wayland-hack-fix.patch
new file mode 100644
index 0000000000000..3e5d993e869ec
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/teams-for-linux/screensharing-wayland-hack-fix.patch
@@ -0,0 +1,28 @@
+diff --git a/app/index.js b/app/index.js
+index 20ccf43..b251f62 100644
+--- a/app/index.js
++++ b/app/index.js
+@@ -1,4 +1,4 @@
+-const { app, ipcMain, desktopCapturer, systemPreferences, powerMonitor } = require('electron');
++const { app, ipcMain, desktopCapturer, nativeImage, systemPreferences, powerMonitor } = require('electron');
+ const path = require('path');
+ const { LucidLog } = require('lucid-log');
+ const isDev = require('electron-is-dev');
+@@ -93,7 +93,16 @@ if (!gotTheLock) {
+ 	ipcMain.handle('getSystemIdleState', handleGetSystemIdleState);
+ 	ipcMain.handle('getZoomLevel', handleGetZoomLevel);
+ 	ipcMain.handle('saveZoomLevel', handleSaveZoomLevel);
+-	ipcMain.handle('desktopCapturerGetSources', (event, opts) => desktopCapturer.getSources(opts));
++	ipcMain.handle('desktopCapturerGetSources', (event, opts) => process.env.XDG_SESSION_TYPE == 'wayland' ?
++		// Port wayland electron 22+ screenshare "fix" from webcord
++		Promise.resolve([{
++			id: "screen:1:0",
++			appIcon: nativeImage.createEmpty(),
++			display_id: "",
++			name: "Entire Screen",
++			thumbnail: nativeImage.createEmpty()
++		}])
++		: desktopCapturer.getSources(opts));
+ 	ipcMain.on('play-notification-sound', playNotificationSound);
+ }
+ 
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index a0f21355e07a4..041a4ab2a9aaa 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -33941,9 +33941,7 @@ with pkgs;
 
   teams = callPackage ../applications/networking/instant-messengers/teams { };
 
-  teams-for-linux = callPackage ../applications/networking/instant-messengers/teams-for-linux {
-    electron = electron_21;
-  };
+  teams-for-linux = callPackage ../applications/networking/instant-messengers/teams-for-linux { };
 
   teamspeak_client = libsForQt5.callPackage ../applications/networking/instant-messengers/teamspeak/client.nix { };
   teamspeak5_client = callPackage ../applications/networking/instant-messengers/teamspeak/client5.nix { };