about summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers
diff options
context:
space:
mode:
authorChristian Albrecht <christian.albrecht@mayflower.de>2020-12-13 11:58:23 +0100
committerChristian Albrecht <christian.albrecht@mayflower.de>2020-12-16 22:30:32 +0100
commit5a7530e762912a6b32e7f77b69ea341dd000bcc2 (patch)
tree004829fbb44c1110a637342d9557586216ac4f66 /pkgs/applications/networking/browsers
parentb568bcf001636e7f5828d87a52389c019ffc20f3 (diff)
firefox-wayland: fix screen sharing using pipewire
After the fedora patches for screen sharing using pipewire got updated
for Firefox 83 (pipewire was inlined there), the nixpkgs buildInput
pipewire got stripped from the resulting firefox binary and so firefox
was unable to actually get the shared stream from the running pipewire
service.

Adding pipewire to the firefox binary with `patchelf --add-needed`
makes it atually get the stream from the service.

Fixes: #106812
Diffstat (limited to 'pkgs/applications/networking/browsers')
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix4
1 files changed, 4 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 1fbfdc2a7da64..20547be543c61 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -352,6 +352,10 @@ buildStdenv.mkDerivation ({
       }/lib:$(patchelf --print-rpath "$out"/lib/${binaryName}*/libxul.so)" \
         "$out"/lib/${binaryName}*/libxul.so
     patchelf --add-needed ${xorg.libXScrnSaver.out}/lib/libXss.so $out/lib/${binaryName}/${binaryName}
+    ${lib.optionalString (pipewireSupport && lib.versionAtLeast ffversion "83") ''
+      patchelf --add-needed "${lib.getLib pipewire}/lib/libpipewire-0.3.so" \
+        "$out"/lib/${binaryName}/${binaryName}
+    ''}
   '';
 
   doInstallCheck = true;