summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/qutebrowser/default.nix
diff options
context:
space:
mode:
authorrnhmjoj <rnhmjoj@inventati.org>2020-07-17 10:45:02 +0200
committerrnhmjoj <rnhmjoj@inventati.org>2020-07-17 10:50:59 +0200
commit322d13eb6746f63b4eb29211b2455213c7fa866d (patch)
tree2e3853e8dfd32f4b0180f680cb4158e6c22ebbba /pkgs/applications/networking/browsers/qutebrowser/default.nix
parent3ecbb6a81735f7a62af175096dcc79177128385a (diff)
downloadnixpkgs-322d13eb6746f63b4eb29211b2455213c7fa866d.tar
nixpkgs-322d13eb6746f63b4eb29211b2455213c7fa866d.tar.gz
nixpkgs-322d13eb6746f63b4eb29211b2455213c7fa866d.tar.bz2
nixpkgs-322d13eb6746f63b4eb29211b2455213c7fa866d.tar.lz
nixpkgs-322d13eb6746f63b4eb29211b2455213c7fa866d.tar.xz
nixpkgs-322d13eb6746f63b4eb29211b2455213c7fa866d.tar.zst
nixpkgs-322d13eb6746f63b4eb29211b2455213c7fa866d.zip
qutebrowser: re-add option to control the browser backend
Diffstat (limited to 'pkgs/applications/networking/browsers/qutebrowser/default.nix')
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix22
1 files changed, 15 insertions, 7 deletions
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index f65ae2f4695..82ec598371a 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -2,8 +2,9 @@
 , mkDerivationWith, wrapQtAppsHook, wrapGAppsHook, qtbase, glib-networking
 , asciidoc, docbook_xml_dtd_45, docbook_xsl, libxml2
 , libxslt, gst_all_1 ? null
-, withPdfReader        ? true
-, withMediaPlayback    ? true
+, withPdfReader      ? true
+, withMediaPlayback  ? true
+, backend            ? "webkit"
 }:
 
 assert withMediaPlayback -> gst_all_1 != null;
@@ -19,6 +20,14 @@ let
     stripRoot = false;
   };
 
+  backendPackage =
+   if backend == "webengine" then python3Packages.pyqtwebengine else
+   if backend == "webkit"    then python3Packages.pyqt5_with_qtwebkit else
+   throw ''
+     Unknown qutebrowser backend "${backend}".
+     Valid choices are qtwebengine (recommended) or qtwebkit.
+   '';
+
 in mkDerivationWith python3Packages.buildPythonApplication rec {
   pname = "qutebrowser";
   version = "1.13.0";
@@ -46,16 +55,14 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
   ];
 
   propagatedBuildInputs = with python3Packages; [
-    pyyaml pyqt5 pyqtwebengine jinja2 pygments
+    pyyaml backendPackage jinja2 pygments
     pypeg2 cssutils pyopengl attrs setuptools
     # scripts and userscripts libs
     tldextract beautifulsoup4
     pyreadability pykeepass stem
   ];
 
-  patches = [
-    ./fix-restart.patch
-  ];
+  patches = [ ./fix-restart.patch ];
 
   dontWrapGApps = true;
   dontWrapQtApps = true;
@@ -101,7 +108,8 @@ in mkDerivationWith python3Packages.buildPythonApplication rec {
   postFixup = ''
     wrapProgram $out/bin/qutebrowser \
       "''${gappsWrapperArgs[@]}" \
-      "''${qtWrapperArgs[@]}"
+      "''${qtWrapperArgs[@]}" \
+      --add-flags '--backend ${backend}'
   '';
 
   meta = with stdenv.lib; {