Subject: [PATCH v2] gnu: qutebrowser: Update to 3.1.0.

From: Herman Rimm <[email-masked]>
Date: Mon, 25 Dec 2023 18:22:35 +0100

* gnu/packages/web-browsers (qutebrowser): Update to 3.1.0.
[source]: Bump version and recompute hash.
[inputs]: Use PyQt6, placed before PyQtWebengine.
[arguments]: Replace qt5 path with qt6 path and wrap program with
QTWEBENGINE_RESOURCES_PATH.
[description]: Replace PyQt5 with PyQt6.
---
Hello,

A qutebrowser 3.0.2 and 3.1.0 bug: Start a video (on invidio.us), switch
to another workspace in Sway wm, the video stutters for a few seconds
and recovers. A workaround is to use mpv or the like to play videos. May
be related to #63863 of guix-patches, which implements a pipewire home
service. Let me know if you experience it using ALSA/Pulseaudio service.

Cheers,
Herman Rimm
 gnu/packages/web-browsers.scm | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 141917ad42..5477584805 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -21,6 +21,7 @@
 ;;; Copyright © 2021 Alexander Krotov <[email-masked]>
 ;;; Copyright © 2020 Hartmut Goebel <[email-masked]>
 ;;; Copyright © 2021 Christopher Howard <[email-masked]>
+;;; Copyright © 2023 Herman Rimm <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -460,7 +461,7 @@ (define-public kristall
 (define-public qutebrowser
   (package
     (name "qutebrowser")
-    (version "2.5.4")
+    (version "3.1.0")
     (source
      (origin
        (method url-fetch)
@@ -468,7 +469,7 @@ (define-public qutebrowser
                            "qutebrowser/releases/download/v" version "/"
                            "qutebrowser-" version ".tar.gz"))
        (sha256
-        (base32 "1c8skkc5vjbvbslz65hzrj9d05v4zbcjbli61ikjmr174lhb4q54"))))
+        (base32 "0prf9c7nx4aizfczjb0fpsn3alz210i6wc7s2jwb1mh8r8fcq3ah"))))
     (build-system python-build-system)
     (native-inputs
      (list python-attrs))               ; for tests
@@ -481,15 +482,13 @@ (define-public qutebrowser
            python-pynacl
            python-pypeg2
            python-pyyaml
-           ;; FIXME: python-pyqtwebengine needs to come before python-pyqt so
-           ;; that it's __init__.py is used first.
-           python-pyqtwebengine
-           python-pyqt
-           ;; While qtwebengine-5 is provided by python-pyqtwebengine, it's
+           python-pyqt-6
+           python-pyqtwebengine-6
+           ;; While qtwebengine is provided by python-pyqtwebengine-6, it's
            ;; included here so we can wrap QTWEBENGINEPROCESS_PATH.
-           qtwebengine-5))
+           qtwebengine))
     (arguments
-     `(;; FIXME: With the existance of qtwebengine-5, tests can now run.  But
+     `(;; FIXME: With the existence of qtwebengine, tests can now run.  But
        ;; they are still disabled because test phase hangs.  It's not readily
        ;; apparent as to why.
        #:tests? #f
@@ -539,13 +538,16 @@ (define-public qutebrowser
          (add-after 'wrap 'wrap-qt-process-path
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (wrap-program (search-input-file outputs "bin/qutebrowser")
+               `("QTWEBENGINE_RESOURCES_PATH" =
+                 (,(search-input-directory
+                    inputs "/share/qt6/resources")))
                `("QTWEBENGINEPROCESS_PATH" =
                  (,(search-input-file
-                    inputs "/lib/qt5/libexec/QtWebEngineProcess")))))))))
+                    inputs "/lib/qt6/libexec/QtWebEngineProcess")))))))))
     (home-page "https://qutebrowser.org/")
     (synopsis "Minimal, keyboard-focused, vim-like web browser")
     (description "qutebrowser is a keyboard-focused browser with a minimal
-GUI.  It is based on PyQt5 and QtWebEngine.")
+GUI.  It is based on PyQt6 and QtWebEngine.")
     (license license:gpl3+)))
 
 (define-public vimb

base-commit: 0d13d095420861022e68e87ceebd5e037e12a8b3
-- 
2.41.0