Commit e4dcdb13 authored by László Vaskó's avatar László Vaskó
Browse files

qtwebengine: link to pulseaudio

Nix builds of QTWebEngine doesn't support sound output via Pulse, only
through ALSA, unless sandboxing is disabled and LD_LIBRARY_PATH
contains a reference to the Pulse libraries.

By default, Chromium won't link to PulseAudio, but dlopens it in
run-time. It is tricky to make this work because of the nontrivial
sandbox configuration. Nix builds of Chromium already link against
Pulse directly, so it makes sense to copy this behavior in
QTWebEngine.
parent 0c79d4f1
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -170,6 +170,7 @@ let
        extraPrefix = "src/3rdparty/";
        hash = "sha256-s4GsGMJTBNWw2gTJuIEP3tqT82AmTsR2mbj59m2p6rM=";
      })
      ./qtwebengine-link-pulseaudio.patch
    ] ++ lib.optionals stdenv.isDarwin [
      ./qtwebengine-darwin-no-platform-check.patch
      ./qtwebengine-mac-dont-set-dsymutil-path.patch
+8 −0
Original line number Diff line number Diff line
--- a/src/core/config/common.pri
+++ b/src/core/config/common.pri
@@ -47,3 +47,5 @@

 !qtConfig(webengine-nodejs10): gn_args += use_rollup=false
 gn_args += enable_ipc_logging=false
+
+gn_args += link_pulseaudio=true
+1 −0
Original line number Diff line number Diff line
@@ -135,6 +135,7 @@ qtModule {
    # environment variable, since NixOS relies on it working.
    # See https://github.com/NixOS/nixpkgs/issues/226484 for more context.
    ../patches/qtwebengine-xkb-includes.patch
    ../patches/qtwebengine-link-pulseaudio.patch
  ];

  postPatch = ''
+10 −0
Original line number Diff line number Diff line
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -341,6 +341,7 @@
             devtools_fast_bundle=false
             devtools_skip_typecheck=false
             enable_jxl_decoder=false # temporarily because libjxl causes internal compiler error on armv7
+            link_pulseaudio=true
         )

         extend_gn_list(gnArgArg
 No newline at end of file