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.
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
--- 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
|
||||
@@ -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 = ''
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
--- 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
|
||||
Reference in New Issue
Block a user