GNU bug report logs - #38148
Guix packages old/broken version of qutebrowser

Previous Next

Package: guix;

Reported by: Florian Bruhin <me <at> the-compiler.org>

Date: Sat, 9 Nov 2019 11:26:04 UTC

Severity: normal

Done: Ricardo Wurmus <rekado <at> elephly.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 38148 in the body.
You can then email your comments to 38148 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Sat, 09 Nov 2019 11:26:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Florian Bruhin <me <at> the-compiler.org>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Sat, 09 Nov 2019 11:26:04 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Florian Bruhin <me <at> the-compiler.org>
To: bug-guix <at> gnu.org
Subject: Guix packages old/broken version of qutebrowser
Date: Sat, 9 Nov 2019 11:05:30 +0100
[Message part 1 (text/plain, inline)]
Hi,

I'm the upstream author of qutebrowser - it looks like Guix currently packages
qutebrowser 0.11.0: https://guix.gnu.org/packages/qutebrowser-0.11.0/

That version is very outdated (July 2017, there have been 28 new releases since
then). It has various known security issues, but currently it just crashes
outright, because such an old version isn't compatible with Qt 5.11 which is
packaged in Guix.

That results in me getting crash reports around once per week - at this point,
it'd probably be better to not package qutebrowser at all, seeing that nobody
seems to maintain that package for a long time now.

Florian

-- 
https://www.qutebrowser.org | me <at> the-compiler.org (Mail/XMPP)
   GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc
         I love long mails! | https://email.is-not-s.ms/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Sat, 09 Nov 2019 16:50:01 GMT) Full text and rfc822 format available.

Message #8 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Tobias Geerinckx-Rice <me <at> tobias.gr>
To: Florian Bruhin <me <at> the-compiler.org>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: Guix packages old/broken version of qutebrowser
Date: Sat, 09 Nov 2019 17:49:49 +0100
[Message part 1 (text/plain, inline)]
Florian,

[I'm not a regular qutebrowser user, nor maintainer — I don't 
think we have one.]

Florian Bruhin 写道:
> I'm the upstream author of qutebrowser - it looks like Guix 
> currently packages
> qutebrowser 0.11.0: 
> https://guix.gnu.org/packages/qutebrowser-0.11.0/
>
> That version is very outdated (July 2017, there have been 28 new 
> releases since
> then). It has various known security issues, but currently it 
> just crashes
> outright, because such an old version isn't compatible with Qt 
> 5.11 which is
> packaged in Guix.
>
> That results in me getting crash reports around once per week - 
> at this point,
> it'd probably be better to not package qutebrowser at all, 
> seeing that nobody
> seems to maintain that package for a long time now.

Thank you for letting us know.  My apologies for the noise from 
these useless crash reports.

Is there a supported way to replace the default bug report URL 
with our own?

If not, I could patch qutebrowser to pop up a dialogue with our 
bug tracker (e-mail) address instead.  The crash report itself 
would likely be lost.

I've tried qutebrowser 1.8.1 with QtWebKit and it runs, but then 
freezes (@ 0% CPU) after some minutes.  I had to SIGKILL it. 
However, so does 0.11.0.

I'll try to get it to run, and hopefully the state of 
qutebrowser's dependencies in Guix will improve as well.

Kind regards,

T G-R
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Sun, 10 Nov 2019 02:33:02 GMT) Full text and rfc822 format available.

Message #11 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Bengt Richter <bokr <at> bokr.com>
To: Tobias Geerinckx-Rice <me <at> tobias.gr>
Cc: Florian Bruhin <me <at> the-compiler.org>, 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: Guix packages old/broken version of qutebrowser
Date: Sat, 9 Nov 2019 18:32:36 -0800
On +2019-11-09 17:49:49 +0100, Tobias Geerinckx-Rice via Bug reports for GNU Guix wrote:
> Florian,
> 
> [I'm not a regular qutebrowser user, nor maintainer — I don't think we have
> one.]
> 
> Florian Bruhin 写道:
> > I'm the upstream author of qutebrowser - it looks like Guix currently
> > packages
> > qutebrowser 0.11.0: https://guix.gnu.org/packages/qutebrowser-0.11.0/
> > 
> > That version is very outdated (July 2017, there have been 28 new
> > releases since
> > then). It has various known security issues, but currently it just
> > crashes
> > outright, because such an old version isn't compatible with Qt 5.11
> > which is
> > packaged in Guix.
> > 
> > That results in me getting crash reports around once per week - at this
> > point,
> > it'd probably be better to not package qutebrowser at all, seeing that
> > nobody
> > seems to maintain that package for a long time now.
> 
> Thank you for letting us know.  My apologies for the noise from these
> useless crash reports.
> 
> Is there a supported way to replace the default bug report URL with our own?
> 
> If not, I could patch qutebrowser to pop up a dialogue with our bug tracker
> (e-mail) address instead.  The crash report itself would likely be lost.
> 
> I've tried qutebrowser 1.8.1 with QtWebKit and it runs, but then freezes (@
> 0% CPU) after some minutes.  I had to SIGKILL it. However, so does 0.11.0.
> 
> I'll try to get it to run, and hopefully the state of qutebrowser's
> dependencies in Guix will improve as well.
> 
> Kind regards,
> 
> T G-R

On reading the above, I wonder if we can invent a useful measure of
"runs" vs "works" vs "crashes" that could automatically be visible
in "guix show whatever-package".

I mean, there is a huge difference in confidence (at least on my part :)
between knowing that two developers have successfuly built and run a package
for the first time after refurbishing some orphan package vs knowing that
a thousand users have been using a tool many times daily for months without problems.

Could packages be instrumented with a simple invocation-with-normal/abnormal-exit
counter intialized on install, that could be voluntarily submitted to
some guix email addrress for automatic reliability-score update that
guix show whatever-package then accesses and presents?

Some finer-grain reporting would problably be desirable for packages that
install many executables.

A service could be enabled to send reports periodically for a list of packages
in use by a particular user, at the user's opt-in option of course.

I guess you'd have to have some guard against robo-shill-bots pumping
successful-use scores, but WDYT of the general idea?

Maybe also a count of historical CVE's against any inputs to the package build?
Well, the imagination rambles, but maybe something simple to start with could
test the usefulness?
-- 
Regards,
Bengt Richter




Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Mon, 13 Jan 2020 10:34:01 GMT) Full text and rfc822 format available.

Message #14 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Mon, 13 Jan 2020 02:33:03 -0800
* gnu/packages/qt.scm (python-pyqtwebengine): New variable.
---
 gnu/packages/qt.scm | 97 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 97 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 514577678e..fcb297e99c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -38,6 +38,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system python)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -1947,6 +1948,17 @@ module provides support functions to the automatically generated code.")
                   ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
+         ;; When building python-pyqtwebengine <qprinter.h> can not be
+         ;; included. Here we substitute the full path to the header in the
+         ;; store.
+         (add-before 'configure 'substitute-source
+           (lambda* (#:key inputs  #:allow-other-keys)
+             (let* ((qtbase (assoc-ref inputs "qtbase"))
+                    (qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\"")))
+               (substitute* "sip/QtPrintSupport/qprinter.sip"
+                 (("<qprinter.h>")
+                  qtprinter.h))
+               #t)))
          (replace 'configure
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
@@ -1986,6 +1998,91 @@ framework.  The bindings are implemented as a set of Python modules and
 contain over 620 classes.")
     (license license:gpl3)))
 
+(define-public python-pyqtwebengine
+  (package
+    (name "python-pyqtwebengine")
+    (version "5.12.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://www.riverbankcomputing.com/static/Downloads/PyQtWebEngine/"
+            version "/PyQtWebEngine_gpl-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wylkd7fh2g27y3710rpxmj9wx0wpi3z7qbv6khiddm15rkh81w6"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("python" ,python)
+       ("python-sip" ,python-sip)
+       ;; qtbase is required for qmake
+       ("qtbase" ,qtbase)))
+    (inputs
+     `(("python" ,python-wrapper)
+       ("python-sip" ,python-sip)
+       ("python-pyqt" ,python-pyqt)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtwebengine" ,qtwebengine)
+       ("python-pyqt" ,python-pyqt)
+       ("qtwebengine" ,qtwebengine)))
+    (arguments
+     `(#:modules ((srfi srfi-1)
+                  ,@%gnu-build-system-modules)
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (sipdir (string-append out "/share/sip"))
+                    (pyqt-sipdir (string-append
+                                  (assoc-ref inputs "python-pyqt") "/share/sip"))
+                    (python (assoc-ref inputs "python"))
+                    (python-version
+                     (last (string-split python #\-)))
+                    (python-major+minor
+                     (string-join
+                      (take (string-split python-version #\.) 2)
+                      "."))
+                    (lib (string-append out "/lib/python"
+                                        python-major+minor
+                                        "/site-packages/PyQt5"))
+                    (stubs (string-append lib "/PyQt5")))
+
+               (system* "mkdir" "-p" sipdir)
+               (invoke "python" "configure.py"
+                       "-w"
+                       "--no-dist-info"
+                       "--destdir" lib
+                       "--no-qsci-api"
+                       "--stubsdir" stubs
+                       "--sipdir" sipdir
+                       "--pyqt-sipdir" pyqt-sipdir))))
+         ;; Because this has a different prefix then python-pyqt then we need
+         ;; to make this a namespace of it's own
+         (add-after 'install 'make-namespace
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((__init__.py (string-append
+                                  (assoc-ref outputs "out")
+                                  "/lib/python3.7/site-packages/PyQt5/__init__.py")))
+               (with-output-to-file __init__.py
+                 (lambda _ (display "
+from pkgutil import extend_path
+__path__ = extend_path(__path__, __name__)
+")))
+               #t)))
+         )))
+    (home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro")
+    (synopsis "Python bindings for QtWebEngine")
+    (description
+     "PyQtWebEngine is a set of Python bindings for The Qt Company's Qt
+WebEngine libraries.  The bindings sit on top of PyQt5 and are implemented as a
+set of three modules.  Prior to v5.12 these bindings were part of PyQt
+itself.")
+    (license license:gpl3)))
+
 ;; XXX: This is useful because qtwebkit does not build reliably at this time.
 ;; Ultimately, it would be nicer to have a more modular set of python-pyqt-*
 ;; packages that could be used together.
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Mon, 13 Jan 2020 10:34:02 GMT) Full text and rfc822 format available.

Message #17 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 2/2] gnu: qutebrowser: Update to 1.9.0.
Date: Mon, 13 Jan 2020 02:33:04 -0800
* gnu/packages/web-browsers.scm (qutebrowser): Update to 1.9.0.

qutebrowser no longer uses qtwebkit by default. It now defaults to qtwebengine.
---
 gnu/packages/web-browsers.scm | 40 ++++++++++++++++++++++++-----------
 1 file changed, 28 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 137dccab81..035fdc1dd9 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -276,7 +276,7 @@ access.")
 (define-public qutebrowser
   (package
     (name "qutebrowser")
-    (version "1.8.3")
+    (version "1.9.0")
     (source
      (origin
        (method url-fetch)
@@ -285,11 +285,10 @@ access.")
                            "qutebrowser-" version ".tar.gz"))
        (sha256
         (base32
-         "055zmzk3q0m3hx1742nfy2mdawfllrkvijnbzp1hiv01dj1bxaf8"))))
+         "1y0yq1qfr6g1s7kf3w2crd0b025dv2dfknhlz3v0001ns3rgwj17"))))
     (build-system python-build-system)
     (native-inputs
-     `(("asciidoc" ,asciidoc)
-       ("python-attrs" ,python-attrs))) ; for tests
+     `(("python-attrs" ,python-attrs))) ; for tests
     (inputs
      `(("python-colorama" ,python-colorama)
        ("python-cssutils" ,python-cssutils)
@@ -298,23 +297,30 @@ access.")
        ("python-pygments" ,python-pygments)
        ("python-pypeg2" ,python-pypeg2)
        ("python-pyyaml" ,python-pyyaml)
+       ;; FIXME: python-pyqtwebengine needs to come before python-pyqt so
+       ;; that it's __init__.py is used first.
+       ("python-pyqtwebengine" ,python-pyqtwebengine)
        ("python-pyqt" ,python-pyqt)
-       ("qtwebkit" ,qtwebkit)))
+       ;; qtwebengine is not a direct input because it's already provided by
+       ;; python-pyqtwebengine.  It's included so we can wrap
+       ;; QTWEBENGINEPROCESS_PATH
+       ("qtwebengine" ,qtwebengine)))
     (arguments
-     `(;; FIXME: Tests have been added to Qutebrowser. But they currently fail on
-       ;; trying to locate QtWebEngine, and run it on a specific display.
-       ;; There does not seem to be a trivial way to suppress this test.
-       ;; Either fix this, or wait for a liberated QtWebEngine to make into GNU Guix.
-       ;; Change this according to <https://bugs.gnu.org/35866>.
+     `( ;; FIXME: With the existance 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
        #:phases
        (modify-phases %standard-phases
+         (add-before 'check 'set-env-offscreen
+           (lambda _
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t))
          (add-after 'install 'install-more
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (app (string-append out "/share/applications"))
                     (hicolor (string-append out "/share/icons/hicolor")))
-               (invoke "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc")
                (install-file "doc/qutebrowser.1"
                              (string-append out "/share/man/man1"))
                (for-each
@@ -331,11 +337,21 @@ access.")
                  (("Exec=qutebrowser")
                   (string-append "Exec=" out "/bin/qutebrowser")))
                (install-file "misc/org.qutebrowser.qutebrowser.desktop" app)
+               #t)))
+         (add-after 'wrap 'wrap-qt-process-path
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin/qutebrowser"))
+                    (qt-process-path (string-append
+                                      (assoc-ref inputs "qtwebengine")
+                                      "/lib/qt5/libexec/QtWebEngineProcess")))
+               (wrap-program bin
+                 `("QTWEBENGINEPROCESS_PATH" ":" prefix (,qt-process-path)))
                #t))))))
     (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 QtWebKit.")
+GUI.  It is based on PyQt5 and QtWebEngine.")
     (license license:gpl3+)))
 
 (define-public vimb
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Mon, 13 Jan 2020 10:46:02 GMT) Full text and rfc822 format available.

Message #20 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: Re: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Mon, 13 Jan 2020 02:45:14 -0800
Hello Florian

With the addition of QtWebengine into Guix. I've created some patches to
upgrade qutebrowser to 1.9.0 and to use QtWebengine by default.

And Guix is now using Qt 5.12.6 which is not to bad.

I hope this leads to less error reports for you. Once this gets merged
in.

Regards,

Mike




Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Mon, 13 Jan 2020 14:17:01 GMT) Full text and rfc822 format available.

Message #23 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Mike Rosset <mike.rosset <at> gmail.com>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Mon, 13 Jan 2020 15:16:14 +0100
Thanks for the patches, comments below:

Mike Rosset <mike.rosset <at> gmail.com> writes:

> * gnu/packages/qt.scm (python-pyqtwebengine): New variable.
> ---
>  gnu/packages/qt.scm | 97 +++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 97 insertions(+)
>
> diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
> index 514577678e..fcb297e99c 100644
> --- a/gnu/packages/qt.scm
> +++ b/gnu/packages/qt.scm
> @@ -38,6 +38,7 @@
>    #:use-module (guix build-system cmake)
>    #:use-module (guix build-system gnu)
>    #:use-module (guix build-system trivial)
> +  #:use-module (guix build-system python)
>    #:use-module (guix packages)
>    #:use-module (guix deprecation)
>    #:use-module (guix utils)
> @@ -1947,6 +1948,17 @@ module provides support functions to the automatically generated code.")
>                    ,@%gnu-build-system-modules)
>         #:phases
>         (modify-phases %standard-phases
> +         ;; When building python-pyqtwebengine <qprinter.h> can not be

Comma after python-pyqtwebengine helps with readability.

> +         ;; included. Here we substitute the full path to the header in the

Double-space after period.

> +         ;; store.
> +         (add-before 'configure 'substitute-source
> +           (lambda* (#:key inputs  #:allow-other-keys)
> +             (let* ((qtbase (assoc-ref inputs "qtbase"))
> +                    (qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\"")))
> +               (substitute* "sip/QtPrintSupport/qprinter.sip"
> +                 (("<qprinter.h>")
> +                  qtprinter.h))
> +               #t)))
>           (replace 'configure
>             (lambda* (#:key inputs outputs #:allow-other-keys)
>               (let* ((out (assoc-ref outputs "out"))
> @@ -1986,6 +1998,91 @@ framework.  The bindings are implemented as a set of Python modules and
>  contain over 620 classes.")
>      (license license:gpl3)))

Please apply the above pyqt change to a separate commit.

> +(define-public python-pyqtwebengine
> +  (package
> +    (name "python-pyqtwebengine")
> +    (version "5.12.1")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append
> +             "https://www.riverbankcomputing.com/static/Downloads/PyQtWebEngine/"
> +            version "/PyQtWebEngine_gpl-" version ".tar.gz"))
> +       (sha256
> +        (base32
> +         "0wylkd7fh2g27y3710rpxmj9wx0wpi3z7qbv6khiddm15rkh81w6"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("python" ,python)
> +       ("python-sip" ,python-sip)
> +       ;; qtbase is required for qmake
> +       ("qtbase" ,qtbase)))
> +    (inputs
> +     `(("python" ,python-wrapper)
> +       ("python-sip" ,python-sip)
> +       ("python-pyqt" ,python-pyqt)
> +       ("qtbase" ,qtbase)
> +       ("qtsvg" ,qtsvg)
> +       ("qtdeclarative" ,qtdeclarative)
> +       ("qtwebchannel" ,qtwebchannel)
> +       ("qtwebengine" ,qtwebengine)
> +       ("python-pyqt" ,python-pyqt)
> +       ("qtwebengine" ,qtwebengine)))

qbwebengine duplicate.

> +    (arguments
> +     `(#:modules ((srfi srfi-1)
> +                  ,@%gnu-build-system-modules)
> +       #:phases
> +       (modify-phases %standard-phases
> +         (replace 'configure
> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((out (assoc-ref outputs "out"))
> +                    (sipdir (string-append out "/share/sip"))
> +                    (pyqt-sipdir (string-append
> +                                  (assoc-ref inputs "python-pyqt") "/share/sip"))
> +                    (python (assoc-ref inputs "python"))
> +                    (python-version
> +                     (last (string-split python #\-)))
> +                    (python-major+minor
> +                     (string-join
> +                      (take (string-split python-version #\.) 2)
> +                      "."))

Use version-major+minor from (guix utils) instead?

> +                    (lib (string-append out "/lib/python"
> +                                        python-major+minor
> +                                        "/site-packages/PyQt5"))
> +                    (stubs (string-append lib "/PyQt5")))
> +
> +               (system* "mkdir" "-p" sipdir)

(mkdir-p sipdir)

> +               (invoke "python" "configure.py"
> +                       "-w"
> +                       "--no-dist-info"
> +                       "--destdir" lib
> +                       "--no-qsci-api"
> +                       "--stubsdir" stubs
> +                       "--sipdir" sipdir
> +                       "--pyqt-sipdir" pyqt-sipdir))))
> +         ;; Because this has a different prefix then python-pyqt then we need

"then python-pyqt" -> "than python-pyqt".

> +         ;; to make this a namespace of it's own

Missing period.

-- 
Pierre Neidhardt
https://ambrevar.xyz/




Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Mon, 13 Jan 2020 14:21:01 GMT) Full text and rfc822 format available.

Message #26 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Mike Rosset <mike.rosset <at> gmail.com>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 2/2] gnu: qutebrowser: Update to 1.9.0.
Date: Mon, 13 Jan 2020 15:20:20 +0100
Mike Rosset <mike.rosset <at> gmail.com> writes:

> * gnu/packages/web-browsers.scm (qutebrowser): Update to 1.9.0.
>
> qutebrowser no longer uses qtwebkit by default. It now defaults to qtwebengine.
> ---
>  gnu/packages/web-browsers.scm | 40 ++++++++++++++++++++++++-----------
>  1 file changed, 28 insertions(+), 12 deletions(-)
>
> diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
> index 137dccab81..035fdc1dd9 100644
> --- a/gnu/packages/web-browsers.scm
> +++ b/gnu/packages/web-browsers.scm
> @@ -276,7 +276,7 @@ access.")
>  (define-public qutebrowser
>    (package
>      (name "qutebrowser")
> -    (version "1.8.3")
> +    (version "1.9.0")
>      (source
>       (origin
>         (method url-fetch)
> @@ -285,11 +285,10 @@ access.")
>                             "qutebrowser-" version ".tar.gz"))
>         (sha256
>          (base32
> -         "055zmzk3q0m3hx1742nfy2mdawfllrkvijnbzp1hiv01dj1bxaf8"))))
> +         "1y0yq1qfr6g1s7kf3w2crd0b025dv2dfknhlz3v0001ns3rgwj17"))))
>      (build-system python-build-system)
>      (native-inputs
> -     `(("asciidoc" ,asciidoc)
> -       ("python-attrs" ,python-attrs))) ; for tests
> +     `(("python-attrs" ,python-attrs))) ; for tests
>      (inputs
>       `(("python-colorama" ,python-colorama)
>         ("python-cssutils" ,python-cssutils)
> @@ -298,23 +297,30 @@ access.")
>         ("python-pygments" ,python-pygments)
>         ("python-pypeg2" ,python-pypeg2)
>         ("python-pyyaml" ,python-pyyaml)
> +       ;; FIXME: python-pyqtwebengine needs to come before python-pyqt so
> +       ;; that it's __init__.py is used first.
> +       ("python-pyqtwebengine" ,python-pyqtwebengine)
>         ("python-pyqt" ,python-pyqt)
> -       ("qtwebkit" ,qtwebkit)))
> +       ;; qtwebengine is not a direct input because it's already provided by
> +       ;; python-pyqtwebengine.  It's included so we can wrap
> +       ;; QTWEBENGINEPROCESS_PATH

The phrasing is a bit confusing.  I'd say

"While qtwebengine is already provided by python-pyqtwebengine, it's
included here so we can wrap QTWEBENGINEPROCESS_PATH."

> +       ("qtwebengine" ,qtwebengine)))
>      (arguments
> -     `(;; FIXME: Tests have been added to Qutebrowser. But they currently fail on
> -       ;; trying to locate QtWebEngine, and run it on a specific display.
> -       ;; There does not seem to be a trivial way to suppress this test.
> -       ;; Either fix this, or wait for a liberated QtWebEngine to make into GNU Guix.
> -       ;; Change this according to <https://bugs.gnu.org/35866>.
> +     `( ;; FIXME: With the existance of qtwebengine, tests can now run.  But
> +       ;; they are still disabled because test phase hangs. It's not readily
> +       ;; apparent as to why

Missing period.

>         #:tests? #f
>         #:phases
>         (modify-phases %standard-phases
> +         (add-before 'check 'set-env-offscreen
> +           (lambda _
> +             (setenv "QT_QPA_PLATFORM" "offscreen")
> +             #t))
>           (add-after 'install 'install-more
>             (lambda* (#:key outputs #:allow-other-keys)
>               (let* ((out (assoc-ref outputs "out"))
>                      (app (string-append out "/share/applications"))
>                      (hicolor (string-append out "/share/icons/hicolor")))
> -               (invoke "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc")

Why are you removing this?

Other than those few nits, looks good to me!

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/




Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Mon, 13 Jan 2020 18:55:02 GMT) Full text and rfc822 format available.

Message #29 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 2/2] gnu: qutebrowser: Update to 1.9.0.
Date: Mon, 13 Jan 2020 10:54:41 -0800
Pierre Neidhardt writes:

>
> Why are you removing this?
>
> Other than those few nits, looks good to me!
>

Thanks for looking at this Pierre. I will makes these changes you have
suggested ASAP.


I removed the man page generation because it is already distributed with
the tarball and it caused a fatal error during this phase with 1.9.0. I
figured generating the man page was redundant, and we could remove an
unneeded native input. WDYT?

see

--8<---------------cut here---------------start------------->8---
tar -tf $(guix build -S qutebrowser) | grep 'doc/qutebrowser.1$'
--8<---------------cut here---------------end--------------->8---


Mike




Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Mon, 13 Jan 2020 19:03:02 GMT) Full text and rfc822 format available.

Message #32 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Mike Rosset <mike.rosset <at> gmail.com>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 2/2] gnu: qutebrowser: Update to 1.9.0.
Date: Mon, 13 Jan 2020 20:02:39 +0100
[Message part 1 (text/plain, inline)]
Mike Rosset <mike.rosset <at> gmail.com> writes:

> I removed the man page generation because it is already distributed with
> the tarball and it caused a fatal error during this phase with 1.9.0. I
> figured generating the man page was redundant, and we could remove an
> unneeded native input. WDYT?

Sure.  Please add a comment explaining this in the commit message.

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 00:14:02 GMT) Full text and rfc822 format available.

Message #35 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 3/4] gnu: python-pyqt: Improved qprinter.h substitutition
 comment
Date: Mon, 13 Jan 2020 16:13:20 -0800
* gnu/packages/qt.scm (python-pyqt)[comments]: And python-pyqtwebengine now
uses mkdir-p instead of a system call.
---
 gnu/packages/qt.scm | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index fcb297e99c..611c38a443 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1948,8 +1948,8 @@ module provides support functions to the automatically generated code.")
                   ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
-         ;; When building python-pyqtwebengine <qprinter.h> can not be
-         ;; included. Here we substitute the full path to the header in the
+         ;; When building python-pyqtwebengine, <qprinter.h> can not be
+         ;; included.  Here we substitute the full path to the header in the
          ;; store.
          (add-before 'configure 'substitute-source
            (lambda* (#:key inputs  #:allow-other-keys)
@@ -2025,7 +2025,6 @@ contain over 620 classes.")
        ("qtsvg" ,qtsvg)
        ("qtdeclarative" ,qtdeclarative)
        ("qtwebchannel" ,qtwebchannel)
-       ("qtwebengine" ,qtwebengine)
        ("python-pyqt" ,python-pyqt)
        ("qtwebengine" ,qtwebengine)))
     (arguments
@@ -2044,14 +2043,13 @@ contain over 620 classes.")
                      (last (string-split python #\-)))
                     (python-major+minor
                      (string-join
-                      (take (string-split python-version #\.) 2)
-                      "."))
+                      (take (string-split python-version #\.) 2) "."))
                     (lib (string-append out "/lib/python"
                                         python-major+minor
                                         "/site-packages/PyQt5"))
                     (stubs (string-append lib "/PyQt5")))
 
-               (system* "mkdir" "-p" sipdir)
+               (mkdir-p sipdir)
                (invoke "python" "configure.py"
                        "-w"
                        "--no-dist-info"
@@ -2072,8 +2070,7 @@ contain over 620 classes.")
 from pkgutil import extend_path
 __path__ = extend_path(__path__, __name__)
 ")))
-               #t)))
-         )))
+               #t))))))
     (home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro")
     (synopsis "Python bindings for QtWebEngine")
     (description
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 00:14:02 GMT) Full text and rfc822 format available.

Message #38 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 4/4] gnu: qutebrowser: Improve comment sections.
Date: Mon, 13 Jan 2020 16:13:21 -0800
* gnu/packages/web-browsers.scm (qutebrowser)[comments]: Improve the comment
  describing why qtwebengine is used as an input. Added punctuation to FIXME
  for test phase.
---
 gnu/packages/web-browsers.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 035fdc1dd9..a44add3c0a 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -301,14 +301,13 @@ access.")
        ;; that it's __init__.py is used first.
        ("python-pyqtwebengine" ,python-pyqtwebengine)
        ("python-pyqt" ,python-pyqt)
-       ;; qtwebengine is not a direct input because it's already provided by
-       ;; python-pyqtwebengine.  It's included so we can wrap
-       ;; QTWEBENGINEPROCESS_PATH
+       ;; While qtwebengine is provided by python-pyqtwebengine.  It's
+       ;; included here so we can wrap QTWEBENGINEPROCESS_PATH
        ("qtwebengine" ,qtwebengine)))
     (arguments
-     `( ;; FIXME: With the existance of qtwebengine, tests can now run.  But
-       ;; they are still disabled because test phase hangs. It's not readily
-       ;; apparent as to why
+     `(;; FIXME: With the existance 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
        #:phases
        (modify-phases %standard-phases
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 00:44:01 GMT) Full text and rfc822 format available.

Message #41 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Mon, 13 Jan 2020 16:42:47 -0800
>> +         ;; store.
>> +         (add-before 'configure 'substitute-source
>> +           (lambda* (#:key inputs  #:allow-other-keys)
>> +             (let* ((qtbase (assoc-ref inputs "qtbase"))
>> +                    (qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\"")))
>> +               (substitute* "sip/QtPrintSupport/qprinter.sip"
>> +                 (("<qprinter.h>")
>> +                  qtprinter.h))
>> +               #t)))
>>           (replace 'configure
>>             (lambda* (#:key inputs outputs #:allow-other-keys)
>>               (let* ((out (assoc-ref outputs "out"))
>> @@ -1986,6 +1998,91 @@ framework.  The bindings are implemented as a set of Python modules and
>>  contain over 620 classes.")
>>      (license license:gpl3)))
>
> Please apply the above pyqt change to a separate commit.

I missed this comment with my new series. If this really needs to be
done, I'll have to redo all of the commits and resend the series. Can
this be avoided if possible?

> +    (arguments
>> +     `(#:modules ((srfi srfi-1)
>> +                  ,@%gnu-build-system-modules)
>> +       #:phases
>> +       (modify-phases %standard-phases
>> +         (replace 'configure
>> +           (lambda* (#:key inputs outputs #:allow-other-keys)
>> +             (let* ((out (assoc-ref outputs "out"))
>> +                    (sipdir (string-append out "/share/sip"))
>> +                    (pyqt-sipdir (string-append
>> +                                  (assoc-ref inputs "python-pyqt") "/share/sip"))
>> +                    (python (assoc-ref inputs "python"))
>> +                    (python-version
>> +                     (last (string-split python #\-)))
>> +                    (python-major+minor
>> +                     (string-join
>> +                      (take (string-split python-version #\.) 2)
>> +                      "."))
>
> Use version-major+minor from (guix utils) instead?


This is not an easy fix, I actually snarfed this from python-pyqt. In
fact most of the python packages in this file use this
method. Unfortunately version-major+minor cannot take an input, it needs
to take a guix package record.

This creates some scoping issues, in order to get the version for
python. you would need to do something like

semi pseudo code.
--8<---------------cut here---------------start------------->8---
(begin (use-modules (gnu packages python)) (version-major+minor python))
--8<---------------cut here---------------end--------------->8---

This approach in theory works only when the input is python. But take
the scenario were the input changes to a specific python version. Then
our above code will still work but no longer produce the correct path.

How python-build-system handles this. Is the same way as this let. In
fact it looks like they wer copied verbatim.

Unfortunately these python packages don't use python setuptools. So
gnu-build-system is used instead. Even if we could use
python-build-system. This would just make the code more ascetically
pleasing. The underlying code would still be the same.

The string parsing is not pretty, but it at least functional. If the
input version changes the so probably will the path.

Mike




Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 09:43:02 GMT) Full text and rfc822 format available.

Message #44 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Mike Rosset <mike.rosset <at> gmail.com>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Tue, 14 Jan 2020 10:42:54 +0100
[Message part 1 (text/plain, inline)]
Mike Rosset <mike.rosset <at> gmail.com> writes:

>> Please apply the above pyqt change to a separate commit.
>
> I missed this comment with my new series. If this really needs to be
> done, I'll have to redo all of the commits and resend the series. Can
> this be avoided if possible?

Yes, this is really necessary, commits must be atomic or else the log
gets easily tangled.

This is not hard to do though:

- rebase-edit the offending commit ("r m" with magit), this will leave
  git in a detached state.

- Soft-reset HEAD~.

- Commit the first changes to a new commit.

- Commit the rest.

Let me know if you need more help.

>> Use version-major+minor from (guix utils) instead?
>
>
> This is not an easy fix, I actually snarfed this from python-pyqt.

No problem, it's OK to leave it.

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 10:26:01 GMT) Full text and rfc822 format available.

Message #47 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Tue, 14 Jan 2020 02:25:36 -0800
Pierre Neidhardt writes:

> Mike Rosset <mike.rosset <at> gmail.com> writes:
>
>>> Please apply the above pyqt change to a separate commit.
>>
>> I missed this comment with my new series. If this really needs to be
>> done, I'll have to redo all of the commits and resend the series. Can
>> this be avoided if possible?
>
> Yes, this is really necessary, commits must be atomic or else the log
> gets easily tangled.
>
> This is not hard to do though:
>
> - rebase-edit the offending commit ("r m" with magit), this will leave
>   git in a detached state.
>
> - Soft-reset HEAD~.
>
> - Commit the first changes to a new commit.
>
> - Commit the rest.
>
> Let me know if you need more help.
>

Forgive me. After I had replied here, I realized your suggestion was
the right way to go about this. I was tired and lazy when I responded.

I will fix the commits. I'm not sure how this will effect the series
worse case I'll just send the final series. We can treat this as a
squash in away.

Mike




Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 11:06:02 GMT) Full text and rfc822 format available.

Message #50 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 1/5] gnu: python-pyqt: Substitute the full path of <qprinter.h>
Date: Tue, 14 Jan 2020 03:04:59 -0800
* gnu/packages/qt.scm (python-pyqt)[phases]: When building
  python-pyqtwebengine qprinter.h can not be found.  This substitutes the full
  path of qprinter.h in the qprinter sip specification file.
---
 gnu/packages/qt.scm | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 514577678e..9f289aa6df 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1947,6 +1947,17 @@ module provides support functions to the automatically generated code.")
                   ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
+         ;; When building python-pyqtwebengine <qprinter.h> can not be
+         ;; included. Here we substitute the full path to the header in the
+         ;; store.
+         (add-before 'configure 'substitute-source
+           (lambda* (#:key inputs  #:allow-other-keys)
+             (let* ((qtbase (assoc-ref inputs "qtbase"))
+                    (qtprinter.h (string-append "\"" qtbase "/include/qt5/QtPrintSupport/qprinter.h\"")))
+               (substitute* "sip/QtPrintSupport/qprinter.sip"
+                 (("<qprinter.h>")
+                  qtprinter.h))
+               #t)))
          (replace 'configure
            (lambda* (#:key inputs outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 11:08:02 GMT) Full text and rfc822 format available.

Message #53 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 2/5] gnu: Add python-pyqtwebengine.
Date: Tue, 14 Jan 2020 03:06:36 -0800
* gnu/packages/qt.scm (python-pyqtwebengine): New variable.
---
 gnu/packages/qt.scm | 86 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 86 insertions(+)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 9f289aa6df..fcb297e99c 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -38,6 +38,7 @@
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (guix build-system trivial)
+  #:use-module (guix build-system python)
   #:use-module (guix packages)
   #:use-module (guix deprecation)
   #:use-module (guix utils)
@@ -1997,6 +1998,91 @@ framework.  The bindings are implemented as a set of Python modules and
 contain over 620 classes.")
     (license license:gpl3)))
 
+(define-public python-pyqtwebengine
+  (package
+    (name "python-pyqtwebengine")
+    (version "5.12.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append
+             "https://www.riverbankcomputing.com/static/Downloads/PyQtWebEngine/"
+            version "/PyQtWebEngine_gpl-" version ".tar.gz"))
+       (sha256
+        (base32
+         "0wylkd7fh2g27y3710rpxmj9wx0wpi3z7qbv6khiddm15rkh81w6"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("python" ,python)
+       ("python-sip" ,python-sip)
+       ;; qtbase is required for qmake
+       ("qtbase" ,qtbase)))
+    (inputs
+     `(("python" ,python-wrapper)
+       ("python-sip" ,python-sip)
+       ("python-pyqt" ,python-pyqt)
+       ("qtbase" ,qtbase)
+       ("qtsvg" ,qtsvg)
+       ("qtdeclarative" ,qtdeclarative)
+       ("qtwebchannel" ,qtwebchannel)
+       ("qtwebengine" ,qtwebengine)
+       ("python-pyqt" ,python-pyqt)
+       ("qtwebengine" ,qtwebengine)))
+    (arguments
+     `(#:modules ((srfi srfi-1)
+                  ,@%gnu-build-system-modules)
+       #:phases
+       (modify-phases %standard-phases
+         (replace 'configure
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (sipdir (string-append out "/share/sip"))
+                    (pyqt-sipdir (string-append
+                                  (assoc-ref inputs "python-pyqt") "/share/sip"))
+                    (python (assoc-ref inputs "python"))
+                    (python-version
+                     (last (string-split python #\-)))
+                    (python-major+minor
+                     (string-join
+                      (take (string-split python-version #\.) 2)
+                      "."))
+                    (lib (string-append out "/lib/python"
+                                        python-major+minor
+                                        "/site-packages/PyQt5"))
+                    (stubs (string-append lib "/PyQt5")))
+
+               (system* "mkdir" "-p" sipdir)
+               (invoke "python" "configure.py"
+                       "-w"
+                       "--no-dist-info"
+                       "--destdir" lib
+                       "--no-qsci-api"
+                       "--stubsdir" stubs
+                       "--sipdir" sipdir
+                       "--pyqt-sipdir" pyqt-sipdir))))
+         ;; Because this has a different prefix then python-pyqt then we need
+         ;; to make this a namespace of it's own
+         (add-after 'install 'make-namespace
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((__init__.py (string-append
+                                  (assoc-ref outputs "out")
+                                  "/lib/python3.7/site-packages/PyQt5/__init__.py")))
+               (with-output-to-file __init__.py
+                 (lambda _ (display "
+from pkgutil import extend_path
+__path__ = extend_path(__path__, __name__)
+")))
+               #t)))
+         )))
+    (home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro")
+    (synopsis "Python bindings for QtWebEngine")
+    (description
+     "PyQtWebEngine is a set of Python bindings for The Qt Company's Qt
+WebEngine libraries.  The bindings sit on top of PyQt5 and are implemented as a
+set of three modules.  Prior to v5.12 these bindings were part of PyQt
+itself.")
+    (license license:gpl3)))
+
 ;; XXX: This is useful because qtwebkit does not build reliably at this time.
 ;; Ultimately, it would be nicer to have a more modular set of python-pyqt-*
 ;; packages that could be used together.
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 11:08:02 GMT) Full text and rfc822 format available.

Message #56 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 3/5] gnu: qutebrowser: Update to 1.9.0.
Date: Tue, 14 Jan 2020 03:06:37 -0800
* gnu/packages/web-browsers.scm (qutebrowser): Update to 1.9.0.

qutebrowser no longer uses qtwebkit by default. It now defaults to qtwebengine.
---
 gnu/packages/web-browsers.scm | 40 ++++++++++++++++++++++++-----------
 1 file changed, 28 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 137dccab81..035fdc1dd9 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -276,7 +276,7 @@ access.")
 (define-public qutebrowser
   (package
     (name "qutebrowser")
-    (version "1.8.3")
+    (version "1.9.0")
     (source
      (origin
        (method url-fetch)
@@ -285,11 +285,10 @@ access.")
                            "qutebrowser-" version ".tar.gz"))
        (sha256
         (base32
-         "055zmzk3q0m3hx1742nfy2mdawfllrkvijnbzp1hiv01dj1bxaf8"))))
+         "1y0yq1qfr6g1s7kf3w2crd0b025dv2dfknhlz3v0001ns3rgwj17"))))
     (build-system python-build-system)
     (native-inputs
-     `(("asciidoc" ,asciidoc)
-       ("python-attrs" ,python-attrs))) ; for tests
+     `(("python-attrs" ,python-attrs))) ; for tests
     (inputs
      `(("python-colorama" ,python-colorama)
        ("python-cssutils" ,python-cssutils)
@@ -298,23 +297,30 @@ access.")
        ("python-pygments" ,python-pygments)
        ("python-pypeg2" ,python-pypeg2)
        ("python-pyyaml" ,python-pyyaml)
+       ;; FIXME: python-pyqtwebengine needs to come before python-pyqt so
+       ;; that it's __init__.py is used first.
+       ("python-pyqtwebengine" ,python-pyqtwebengine)
        ("python-pyqt" ,python-pyqt)
-       ("qtwebkit" ,qtwebkit)))
+       ;; qtwebengine is not a direct input because it's already provided by
+       ;; python-pyqtwebengine.  It's included so we can wrap
+       ;; QTWEBENGINEPROCESS_PATH
+       ("qtwebengine" ,qtwebengine)))
     (arguments
-     `(;; FIXME: Tests have been added to Qutebrowser. But they currently fail on
-       ;; trying to locate QtWebEngine, and run it on a specific display.
-       ;; There does not seem to be a trivial way to suppress this test.
-       ;; Either fix this, or wait for a liberated QtWebEngine to make into GNU Guix.
-       ;; Change this according to <https://bugs.gnu.org/35866>.
+     `( ;; FIXME: With the existance 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
        #:phases
        (modify-phases %standard-phases
+         (add-before 'check 'set-env-offscreen
+           (lambda _
+             (setenv "QT_QPA_PLATFORM" "offscreen")
+             #t))
          (add-after 'install 'install-more
            (lambda* (#:key outputs #:allow-other-keys)
              (let* ((out (assoc-ref outputs "out"))
                     (app (string-append out "/share/applications"))
                     (hicolor (string-append out "/share/icons/hicolor")))
-               (invoke "a2x" "-f" "manpage" "doc/qutebrowser.1.asciidoc")
                (install-file "doc/qutebrowser.1"
                              (string-append out "/share/man/man1"))
                (for-each
@@ -331,11 +337,21 @@ access.")
                  (("Exec=qutebrowser")
                   (string-append "Exec=" out "/bin/qutebrowser")))
                (install-file "misc/org.qutebrowser.qutebrowser.desktop" app)
+               #t)))
+         (add-after 'wrap 'wrap-qt-process-path
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((out (assoc-ref outputs "out"))
+                    (bin (string-append out "/bin/qutebrowser"))
+                    (qt-process-path (string-append
+                                      (assoc-ref inputs "qtwebengine")
+                                      "/lib/qt5/libexec/QtWebEngineProcess")))
+               (wrap-program bin
+                 `("QTWEBENGINEPROCESS_PATH" ":" prefix (,qt-process-path)))
                #t))))))
     (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 QtWebKit.")
+GUI.  It is based on PyQt5 and QtWebEngine.")
     (license license:gpl3+)))
 
 (define-public vimb
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 11:08:03 GMT) Full text and rfc822 format available.

Message #59 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 4/5] gnu: python-pyqt: Improved qprinter.h substitutition
 comment
Date: Tue, 14 Jan 2020 03:06:38 -0800
* gnu/packages/qt.scm (python-pyqt)[comments]: And python-pyqtwebengine now
uses mkdir-p instead of a system call.
---
 gnu/packages/qt.scm | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index fcb297e99c..611c38a443 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -1948,8 +1948,8 @@ module provides support functions to the automatically generated code.")
                   ,@%gnu-build-system-modules)
        #:phases
        (modify-phases %standard-phases
-         ;; When building python-pyqtwebengine <qprinter.h> can not be
-         ;; included. Here we substitute the full path to the header in the
+         ;; When building python-pyqtwebengine, <qprinter.h> can not be
+         ;; included.  Here we substitute the full path to the header in the
          ;; store.
          (add-before 'configure 'substitute-source
            (lambda* (#:key inputs  #:allow-other-keys)
@@ -2025,7 +2025,6 @@ contain over 620 classes.")
        ("qtsvg" ,qtsvg)
        ("qtdeclarative" ,qtdeclarative)
        ("qtwebchannel" ,qtwebchannel)
-       ("qtwebengine" ,qtwebengine)
        ("python-pyqt" ,python-pyqt)
        ("qtwebengine" ,qtwebengine)))
     (arguments
@@ -2044,14 +2043,13 @@ contain over 620 classes.")
                      (last (string-split python #\-)))
                     (python-major+minor
                      (string-join
-                      (take (string-split python-version #\.) 2)
-                      "."))
+                      (take (string-split python-version #\.) 2) "."))
                     (lib (string-append out "/lib/python"
                                         python-major+minor
                                         "/site-packages/PyQt5"))
                     (stubs (string-append lib "/PyQt5")))
 
-               (system* "mkdir" "-p" sipdir)
+               (mkdir-p sipdir)
                (invoke "python" "configure.py"
                        "-w"
                        "--no-dist-info"
@@ -2072,8 +2070,7 @@ contain over 620 classes.")
 from pkgutil import extend_path
 __path__ = extend_path(__path__, __name__)
 ")))
-               #t)))
-         )))
+               #t))))))
     (home-page "https://www.riverbankcomputing.com/software/pyqtwebengine/intro")
     (synopsis "Python bindings for QtWebEngine")
     (description
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 11:08:03 GMT) Full text and rfc822 format available.

Message #62 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: 38148 <at> debbugs.gnu.org
Cc: mike.rosset <at> gmail.com
Subject: [PATCH 5/5] gnu: qutebrowser: Improve comment sections.
Date: Tue, 14 Jan 2020 03:06:39 -0800
* gnu/packages/web-browsers.scm (qutebrowser)[comments]: Improve the comment
  describing why qtwebengine is used as an input. Added punctuation to FIXME
  for test phase.
---
 gnu/packages/web-browsers.scm | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index 035fdc1dd9..a44add3c0a 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -301,14 +301,13 @@ access.")
        ;; that it's __init__.py is used first.
        ("python-pyqtwebengine" ,python-pyqtwebengine)
        ("python-pyqt" ,python-pyqt)
-       ;; qtwebengine is not a direct input because it's already provided by
-       ;; python-pyqtwebengine.  It's included so we can wrap
-       ;; QTWEBENGINEPROCESS_PATH
+       ;; While qtwebengine is provided by python-pyqtwebengine.  It's
+       ;; included here so we can wrap QTWEBENGINEPROCESS_PATH
        ("qtwebengine" ,qtwebengine)))
     (arguments
-     `( ;; FIXME: With the existance of qtwebengine, tests can now run.  But
-       ;; they are still disabled because test phase hangs. It's not readily
-       ;; apparent as to why
+     `(;; FIXME: With the existance 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
        #:phases
        (modify-phases %standard-phases
-- 
2.24.1





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Tue, 14 Jan 2020 11:10:02 GMT) Full text and rfc822 format available.

Message #65 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Tue, 14 Jan 2020 03:09:22 -0800
Pierre Neidhardt writes:

> Mike Rosset <mike.rosset <at> gmail.com> writes:
>
>>> Please apply the above pyqt change to a separate commit.
>>
>> I missed this comment with my new series. If this really needs to be
>> done, I'll have to redo all of the commits and resend the series. Can
>> this be avoided if possible?
>
> Yes, this is really necessary, commits must be atomic or else the log
> gets easily tangled.
>
> This is not hard to do though:
>
> - rebase-edit the offending commit ("r m" with magit), this will leave
>   git in a detached state.
>
> - Soft-reset HEAD~.
>
> - Commit the first changes to a new commit.
>
> - Commit the rest.
>
> Let me know if you need more help.
>

I've reworked the commit as suggested. I resent the series. Nothing else
has changed in the series other then I split the first commit into two.
And I problem broke git am or the bug thread. sorry in advance :(

Mike




Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Wed, 15 Jan 2020 15:32:01 GMT) Full text and rfc822 format available.

Message #68 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Pierre Neidhardt <mail <at> ambrevar.xyz>
To: Mike Rosset <mike.rosset <at> gmail.com>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Wed, 15 Jan 2020 16:31:34 +0100
[Message part 1 (text/plain, inline)]
Thank you, I've merged!
qtwebengine is finally in, hooray!

Thank you to you all, and big thanks to Mike for driving this effort!

I committed a few changes to your commits:

- I squashed the comment fixing commits.
- Edited some more typos.
- Removed "bug#38148: [PATCH n/p]" from the commit headline.

Cheers!

-- 
Pierre Neidhardt
https://ambrevar.xyz/
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Wed, 15 Jan 2020 17:27:02 GMT) Full text and rfc822 format available.

Message #71 received at 38148 <at> debbugs.gnu.org (full text, mbox):

From: Mike Rosset <mike.rosset <at> gmail.com>
To: Pierre Neidhardt <mail <at> ambrevar.xyz>
Cc: 38148 <at> debbugs.gnu.org
Subject: Re: bug#38148: [PATCH 1/2] gnu: Add python-pyqtwebengine.
Date: Wed, 15 Jan 2020 09:26:03 -0800
Pierre Neidhardt writes:

> Thank you, I've merged!
> qtwebengine is finally in, hooray!
>
> Thank you to you all, and big thanks to Mike for driving this effort!
>
> I committed a few changes to your commits:
>
> - I squashed the comment fixing commits.
> - Edited some more typos.
> - Removed "bug#38148: [PATCH n/p]" from the commit headline.
>
> Cheers!

Thanks for the fix ups and merge Pierre, It's appreciated.

Mike




Reply sent to Ricardo Wurmus <rekado <at> elephly.net>:
You have taken responsibility. (Wed, 15 Jan 2020 20:56:02 GMT) Full text and rfc822 format available.

Notification sent to Florian Bruhin <me <at> the-compiler.org>:
bug acknowledged by developer. (Wed, 15 Jan 2020 20:56:02 GMT) Full text and rfc822 format available.

Message #76 received at 38148-done <at> debbugs.gnu.org (full text, mbox):

From: Ricardo Wurmus <rekado <at> elephly.net>
To: me <at> the-compiler.org
Cc: 38148-done <at> debbugs.gnu.org
Subject: Re: bug#38148: Guix packages old/broken version of qutebrowser
Date: Wed, 15 Jan 2020 21:55:40 +0100
Hi Florian,

> I'm the upstream author of qutebrowser - it looks like Guix currently packages
> qutebrowser 0.11.0: https://guix.gnu.org/packages/qutebrowser-0.11.0/
>
> That version is very outdated (July 2017, there have been 28 new releases since
> then).

The qutebrowser package has been updated to 1.8.3 on Dec 24 with commit
d7c58c3e5449d9fb96a15928cc65f12f111d0569.

--
Ricardo





Information forwarded to bug-guix <at> gnu.org:
bug#38148; Package guix. (Thu, 16 Jan 2020 12:06:02 GMT) Full text and rfc822 format available.

Message #79 received at 38148-done <at> debbugs.gnu.org (full text, mbox):

From: Florian Bruhin <me <at> the-compiler.org>
To: Ricardo Wurmus <rekado <at> elephly.net>
Cc: 38148-done <at> debbugs.gnu.org
Subject: Re: bug#38148: Guix packages old/broken version of qutebrowser
Date: Thu, 16 Jan 2020 13:04:56 +0100
[Message part 1 (text/plain, inline)]
Hey Ricardo, hey everyone!

On Wed, Jan 15, 2020 at 09:55:40PM +0100, Ricardo Wurmus wrote:
> > I'm the upstream author of qutebrowser - it looks like Guix currently packages
> > qutebrowser 0.11.0: https://guix.gnu.org/packages/qutebrowser-0.11.0/
> >
> > That version is very outdated (July 2017, there have been 28 new releases since
> > then).
> 
> The qutebrowser package has been updated to 1.8.3 on Dec 24 with commit
> d7c58c3e5449d9fb96a15928cc65f12f111d0569.

Thanks a lot to everyone involved for the update! :)

Sorry for not replying earlier to your questions/ideas about customizing crash
reporting. There's no way to customize the crash reporting at the moment. In
general, I'm fine with dealing with reports upstream - it's quite rare for
issues to be distribution specific, and often there are issues I'm aware of,
but where a crash report gives me the missing bit to fix it.

I guess this was a bit of a special case, but I'm glad to see it's been fixed!

Florian

-- 
me <at> the-compiler.org (Mail/XMPP) | https://www.qutebrowser.org 
       https://bruhin.software/ | https://github.com/sponsors/The-Compiler/
       GPG: 916E B0C8 FD55 A072 | https://the-compiler.org/pubkey.asc
             I love long mails! | https://email.is-not-s.ms/
[signature.asc (application/pgp-signature, inline)]

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Thu, 13 Feb 2020 12:24:07 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 66 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.