From 679f2b64e12bd27835091c89ae0b59279d516680 Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Sun, 30 Apr 2023 10:24:14 -0600 Subject: [PATCH 1/4] qutebrowser: add vulkan support --- .../networking/browsers/qutebrowser/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 1f898ed87986..19f2885b048c 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -13,6 +13,8 @@ , wrapGAppsHook , enableWideVine ? false , widevine-cdm +, enableVulkan ? stdenv.isLinux +, vulkan-loader }: let @@ -115,6 +117,10 @@ python3.pkgs.buildPythonApplication { "''${gappsWrapperArgs[@]}" "''${qtWrapperArgs[@]}" ${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''} + ${lib.optionalString (enableVulkan) '' + --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [vulkan-loader]} + --set-default QSG_RHI_BACKEND vulkan + ''} ${lib.optionalString enableWideVine ''--add-flags "--qt-flag widevine-path=${widevine-cdm}/share/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so"''} ) ''; From 2057486da7a21bfa596e8694dd5552d9f1e4df09 Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Sun, 30 Apr 2023 10:33:15 -0600 Subject: [PATCH 2/4] qutebrowser: remove webkit support WebKit support will soon be dropped upstream. Also removes the media plugin codepath, which was only used by webkit. --- .../browsers/qutebrowser/default.nix | 20 +++---------------- 1 file changed, 3 insertions(+), 17 deletions(-) diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 19f2885b048c..c7c2b3672ec9 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -1,16 +1,13 @@ { stdenv, lib, fetchurl, fetchzip, python3 , wrapQtAppsHook, glib-networking , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2 -, libxslt, gst_all_1 ? null +, libxslt , withPdfReader ? true -, withMediaPlayback ? true -, backend ? "webengine" , pipewireSupport ? stdenv.isLinux , pipewire , qtwayland , qtbase , qtwebengine -, wrapGAppsHook , enableWideVine ? false , widevine-cdm , enableVulkan ? stdenv.isLinux @@ -31,12 +28,6 @@ let version = "3.0.0"; in -assert withMediaPlayback -> gst_all_1 != null; -assert lib.assertMsg (backend != "webkit") '' - Support for the QtWebKit backend has been removed. - Please remove the `backend = "webkit"` option from your qutebrowser override. -''; - python3.pkgs.buildPythonApplication { inherit pname version; src = fetchurl { @@ -50,13 +41,10 @@ python3.pkgs.buildPythonApplication { buildInputs = [ qtbase glib-networking - ] ++ lib.optionals withMediaPlayback (with gst_all_1; [ - gst-plugins-base gst-plugins-good - gst-plugins-bad gst-plugins-ugly gst-libav - ]); + ]; nativeBuildInputs = [ - wrapQtAppsHook wrapGAppsHook asciidoc + wrapQtAppsHook asciidoc docbook_xml_dtd_45 docbook_xsl libxml2 libxslt python3.pkgs.pygments ]; @@ -76,7 +64,6 @@ python3.pkgs.buildPythonApplication { ./fix-restart.patch ]; - dontWrapGApps = true; dontWrapQtApps = true; postPatch = '' @@ -114,7 +101,6 @@ python3.pkgs.buildPythonApplication { in '' makeWrapperArgs+=( - "''${gappsWrapperArgs[@]}" "''${qtWrapperArgs[@]}" ${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''} ${lib.optionalString (enableVulkan) '' From b094d6aea7d50b16e5631d5701ccd2819087164f Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Sun, 30 Apr 2023 11:08:24 -0600 Subject: [PATCH 3/4] qutebrowser(fix): lock runtime QT plugins --- pkgs/applications/networking/browsers/qutebrowser/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index c7c2b3672ec9..34e35f131099 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -101,6 +101,8 @@ python3.pkgs.buildPythonApplication { in '' makeWrapperArgs+=( + # Force the app to use QT_PLUGIN_PATH values from wrapper + --unset QT_PLUGIN_PATH "''${qtWrapperArgs[@]}" ${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''} ${lib.optionalString (enableVulkan) '' From fc4ae28f0ae9163e7464b416cf679aeee5685ae8 Mon Sep 17 00:00:00 2001 From: Timothy DeHerrera Date: Sun, 30 Apr 2023 11:08:46 -0600 Subject: [PATCH 4/4] qutebrowser(fix): use valid qt style --- pkgs/applications/networking/browsers/qutebrowser/default.nix | 2 ++ 1 file changed, 2 insertions(+) diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix index 34e35f131099..19d65d7a4b3b 100644 --- a/pkgs/applications/networking/browsers/qutebrowser/default.nix +++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix @@ -104,6 +104,8 @@ python3.pkgs.buildPythonApplication { # Force the app to use QT_PLUGIN_PATH values from wrapper --unset QT_PLUGIN_PATH "''${qtWrapperArgs[@]}" + # avoid persistant warning on starup + --set QT_STYLE_OVERRIDE Fusion ${lib.optionalString pipewireSupport ''--prefix LD_LIBRARY_PATH : ${libPath}''} ${lib.optionalString (enableVulkan) '' --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [vulkan-loader]}