vivaldi: fix could not find the Qt platform plugin xcb/wayland

Qt applications should use wrapQtAppsHook to set the QT_PLUGIN_PATH environment variable and should not rely on the system-installed qt qpa. Since it is used together with makeWrapper, dontWrapQtApps is still set to false, I add the qtWrapperArgs parameter to wrapProgram.

Under wayland, Vivaldi is started by xwayland by default. If you set `Preferred Ozone platform` to wayland, it will look for the qtwayland qpa
This commit is contained in:
rewine
2025-05-14 09:56:40 +08:00
parent 873672a3ac
commit 60e60c3ff7
@@ -98,6 +98,7 @@ stdenv.mkDerivation rec {
nativeBuildInputs = [
patchelf
makeWrapper
qt5.wrapQtAppsHook
];
dontWrapQtApps = true;
@@ -137,6 +138,7 @@ stdenv.mkDerivation rec {
systemd
libva
qt5.qtbase
qt5.qtwayland
freetype
fontconfig
libXrender
@@ -219,6 +221,7 @@ stdenv.mkDerivation rec {
--set-default FONTCONFIG_PATH "${fontconfig.out}/etc/fonts" \
--suffix XDG_DATA_DIRS : ${gtk3}/share/gsettings-schemas/${gtk3.name}/ \
--prefix PATH : ${coreutils}/bin \
''${qtWrapperArgs[@]} \
${lib.optionalString enableWidevine "--suffix LD_LIBRARY_PATH : ${libPath}"}
''
+ lib.optionalString enableWidevine ''