[PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess.

  • Open
  • quality assurance status badge
Details
2 participants
  • iyzsong
  • Maxim Cournoyer
Owner
unassigned
Submitted by
iyzsong
Severity
normal
I
I
iyzsong wrote on 31 Jan 11:34 +0100
(address . guix-patches@gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
b8b729d1b9d924bf9e1b93b48a716356e36a7f47.1738319683.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/qt.scm (qtwebengine-5, qtwebengine)[arguments]:
Substitute 'QLibraryInfo::LibraryExecutablesPath' in 'substitute-source phase.
[native-search-paths]: Remove QTWEBENGINEPROCESS_PATH.
* gnu/packages/ebook.scm (calibre)
* gnu/packages/education.scm (anki)
* gnu/packages/kde-internet.scm (falkon)
* gnu/packages/kde-systemtools.scm (khelpcenter)
* gnu/packages/kde.scm (akregator)
* gnu/packages/video.scm (openshot)
* gnu/packages/vpn.scm (openconnect-sso)
* gnu/packages/web-browsers.scm (qutebrowser)
* gnu/packages/web.scm (kiwix-desktop): Remove wrapper for QTWEBENGINEPROCESS_PATH.

Change-Id: I43745969ce80daa0f077da37671d1b44a468c953
---
gnu/packages/ebook.scm | 21 +--------------------
gnu/packages/education.scm | 13 +++----------
gnu/packages/kde-internet.scm | 13 -------------
gnu/packages/kde-systemtools.scm | 10 +---------
gnu/packages/kde.scm | 13 +------------
gnu/packages/qt.scm | 22 ++++++++--------------
gnu/packages/video.scm | 14 +-------------
gnu/packages/vpn.scm | 12 +-----------
gnu/packages/web-browsers.scm | 10 ++--------
gnu/packages/web.scm | 10 +---------
10 files changed, 19 insertions(+), 119 deletions(-)

Toggle diff (282 lines)
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 0cd2b31724..73fea2f66a 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -320,26 +320,7 @@ (define-public calibre
(string-append #$(this-package-input "font-liberation")
"/share/fonts/truetype")))
(delete-file-recursively font-dest)
- (symlink font-src font-dest))))
- ;; Make run-time dependencies available to the binaries.
- (add-after 'wrap 'wrap-program
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion (string-append #$output "/bin")
- (for-each
- (lambda (binary)
- (wrap-program binary
- ;; Make QtWebEngineProcess available.
- `("QTWEBENGINEPROCESS_PATH" =
- ,(list
- (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))))
- ;; Wrap all the binaries shipping with the package, except
- ;; for the wrappings created during the 'wrap standard
- ;; phase. This extends existing .calibre-real wrappers
- ;; rather than create ..calibre-real-real-s. For more
- ;; information see: https://issues.guix.gnu.org/43249.
- (find-files "." (lambda (file stat)
- (not (wrapped-program? file)))))))))))
+ (symlink font-src font-dest)))))))
(home-page "https://calibre-ebook.com/")
(synopsis "E-book library management software")
(description "Calibre is an e-book library manager. It can view, convert
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index f42a216972..f0c0e931bf 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -836,18 +836,11 @@ (define-public anki
(filter (match-lambda
((label . _)
(string-prefix? "python-" label)))
- inputs)))
- (qtwebengineprocess
- (search-input-file inputs
- "lib/qt5/libexec/QtWebEngineProcess")))
- ;; The program fails to find the QtWebEngineProcess program, so
- ;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is
- ;; wrapped to avoid declaring Python libraries as propagated
- ;; inputs.
+ inputs))))
+ ;; PYTHONPATH is wrapped to avoid declaring Python libraries as
+ ;; propagated inputs.
(for-each (lambda (program)
(wrap-program program
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengineprocess))
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 4bf40afe88..d54126ed12 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -130,19 +130,6 @@ (define-public falkon
(base32
"0j930i2nvg71p05z881inbk59c54gx8dzhyjb8iaqkw8i5s5r983"))))
(build-system qt-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((qtwebengineprocess
- (search-input-file inputs
- "lib/qt6/libexec/QtWebEngineProcess")))
- ;; The program fails to find the QtWebEngineProcess program, so
- ;; we set QTWEBENGINEPROCESS_PATH to help it.
- (wrap-program (string-append #$output "/bin/falkon")
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengineprocess)))))))))
(native-inputs
(list extra-cmake-modules pkg-config qttools))
(inputs
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 4923854a7c..a86b550a7f 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -178,15 +178,7 @@ (define-public khelpcenter
PrintSupport")
(("Qt6::WebEngineWidgets")
"Qt6::PrintSupport
- Qt6::WebEngineWidgets"))))
- (add-after 'install 'wrap-executable
- (lambda* (#:key inputs #:allow-other-keys)
- (wrap-program (string-append #$output
- "/bin/khelpcenter")
- `("QTWEBENGINEPROCESS_PATH" =
- (,(search-input-file
- inputs
- "lib/qt6/libexec/QtWebEngineProcess")))))))))
+ Qt6::WebEngineWidgets")))))))
(home-page "https://apps.kde.org/khelpcenter/")
(synopsis "KDE documentation viewer")
(description "KHelpCenter uses meta data files which describe the
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 765176f42b..9a4115eda6 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -205,18 +205,7 @@ (define-public akregator
(base32 "07flc3617px9w1c729p0lsixf1g0h297hkbip259ykkbwxizn71q"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/akregator"))
- (qt-process-path
- (search-input-file
- inputs "/lib/qt6/libexec/QtWebEngineProcess")))
- (wrap-program bin
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ (list #:qtbase qtbase))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 76c11af543..c29f8e14e7 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3415,7 +3415,10 @@ (define-public qtwebengine-5
"/share/qt5/translations\")"))
(("QLibraryInfo::location\\(QLibraryInfo::DataPath\\)")
(string-append "QLatin1String(\"" #$output
- "/share/qt5\")")))
+ "/share/qt5\")"))
+ (("QLibraryInfo::location\\(QLibraryInfo::LibraryExecutablesPath)")
+ (string-append "QLatin1String(\"" #$output
+ "/lib/qt5/libexec\")")))
;; Substitute full dynamic library path for nss.
(substitute* "src/3rdparty/chromium/crypto/nss_util.cc"
(("libnssckbi.so")
@@ -3453,12 +3456,6 @@ (define-public qtwebengine-5
;; It's possible this can be fixed by setting QTWEBENGINEPROCESS_PATH
;; before running tests.
((#:tests? _ #f) #f)))
- (native-search-paths
- (list (search-path-specification
- (file-type 'regular)
- (separator #f)
- (variable "QTWEBENGINEPROCESS_PATH")
- (files '("lib/qt5/libexec/QtWebEngineProcess")))))
(home-page "https://wiki.qt.io/QtWebEngine")
(synopsis "Qt WebEngine module")
(description "The Qt5WebEngine module provides support for web applications
@@ -3824,7 +3821,10 @@ (define-public qtwebengine
"/share/qt6/translations\")"))
(("QLibraryInfo::path\\(QLibraryInfo::DataPath)")
(string-append "QLatin1String(\"" #$output
- "/share/qt6\")")))
+ "/share/qt6\")"))
+ (("QLibraryInfo::path\\(QLibraryInfo::LibraryExecutablesPath)")
+ (string-append "QLatin1String(\"" #$output
+ "/lib/qt6/libexec\")")))
;; Substitute full dynamic library path for nss.
(substitute* "src/3rdparty/chromium/crypto/nss_util.cc"
(("libnssckbi.so")
@@ -3884,12 +3884,6 @@ (define-public qtwebengine
(replace "qtbase" qtbase)
(replace "qtdeclarative" qtdeclarative)
(replace "qtwebchannel" qtwebchannel)))
- (native-search-paths
- (list (search-path-specification
- (file-type 'regular)
- (separator #f)
- (variable "QTWEBENGINEPROCESS_PATH")
- (files '("lib/qt6/libexec/QtWebEngineProcess")))))
(home-page "https://wiki.qt.io/QtWebEngine")
(synopsis "Qt WebEngine module")
(description "The Qt WebEngine module provides support for web
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d0b5907bdd..4881f6ba64 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -6049,19 +6049,7 @@ (define-public openshot
(lambda _
;; src/classes/info.py "needs" to create several
;; directories in $HOME when loaded during build
- (setenv "HOME" "/tmp")))
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (qtwebengine-process-path
- (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-qt-program "openshot-qt"
- #:output out #:inputs inputs)
- ;; Help the program discover QtWebEngine at runtime.
- (wrap-program (string-append out "/bin/openshot-qt")
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengine-process-path)))))))))
+ (setenv "HOME" "/tmp"))))))
(home-page "https://www.openshot.org/")
(synopsis "Video editor")
(description "OpenShot takes your videos, photos, and music files and
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 0b62e8c7cf..b64617c5df 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -800,17 +800,7 @@ (define-public openconnect-sso
(("\"openconnect\"")
(string-append "\""
(search-input-file inputs "/sbin/openconnect")
- "\"")))))
- (add-after 'check 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/openconnect-sso"))
- (qt-process-path
- (search-input-file inputs
- "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-program bin
- #:sh (search-input-file inputs "bin/bash")
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ "\""))))))))
(inputs
(list openconnect
poetry
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index c0138eea17..5159a3b76d 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -490,10 +490,7 @@ (define-public qutebrowser
python-pyyaml
python-pyqt-6
python-pyqtwebengine-6
- python-tldextract
- ;; While qtwebengine is provided by python-pyqtwebengine-6, it's
- ;; included here so we can wrap QTWEBENGINEPROCESS_PATH.
- qtwebengine))
+ python-tldextract))
(arguments
`(;; FIXME: With the existence of qtwebengine, tests can now run. But
;; they are still disabled because test phase hangs. It's not readily
@@ -547,10 +544,7 @@ (define-public qutebrowser
(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/qt6/libexec/QtWebEngineProcess")))))))))
+ inputs "/share/qt6/resources")))))))))
(home-page "https://qutebrowser.org/")
(synopsis "Minimal, keyboard-focused, vim-like web browser")
(description "qutebrowser is a keyboard-focused browser with a minimal
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index a23a0f3dcd..0cf1c18a56 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -9404,15 +9404,7 @@ (define-public kiwix-desktop
(lambda* (#:key outputs #:allow-other-keys)
(invoke "qmake"
(string-append "PREFIX="
- (assoc-ref outputs "out")))))
- (add-after 'install 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/kiwix-desktop"))
- (qt-process-path (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-program bin
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ (assoc-ref outputs "out"))))))))
(inputs
(list bash-minimal
curl

base-commit: bdd6760b8c46e59f86415d67981acb6f77e9ed22
--
2.47.1
?
(address . 75966@debbugs.gnu.org)
87wmebz2r8.fsf@envs.net
iyzsong@envs.net writes:

Toggle quote (4 lines)
> * gnu/packages/qt.scm (qtwebengine-5, qtwebengine)[arguments]:
> Substitute 'QLibraryInfo::LibraryExecutablesPath' in 'substitute-source phase.
> [native-search-paths]: Remove QTWEBENGINEPROCESS_PATH.

Haven't build qtwebengine, so not tested, but I think it should work..
M
M
Maxim Cournoyer wrote on 31 Jan 14:24 +0100
(address . iyzsong@envs.net)
87bjvnnmk5.fsf@gmail.com
Hi,

iyzsong@envs.net writes:

Toggle quote (15 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> * gnu/packages/qt.scm (qtwebengine-5, qtwebengine)[arguments]:
> Substitute 'QLibraryInfo::LibraryExecutablesPath' in 'substitute-source phase.
> [native-search-paths]: Remove QTWEBENGINEPROCESS_PATH.
> * gnu/packages/ebook.scm (calibre)
> * gnu/packages/education.scm (anki)
> * gnu/packages/kde-internet.scm (falkon)
> * gnu/packages/kde-systemtools.scm (khelpcenter)
> * gnu/packages/kde.scm (akregator)
> * gnu/packages/video.scm (openshot)
> * gnu/packages/vpn.scm (openconnect-sso)
> * gnu/packages/web-browsers.scm (qutebrowser)
> * gnu/packages/web.scm (kiwix-desktop): Remove wrapper for QTWEBENGINEPROCESS_PATH.

Could you mention what is the rationale in the commit message? Is the
QTWEBENGINEPROCESS_PATH environment variable problematic is some ways
(perhaps mixing Qt5 and Qt6 qtwebengine?).

Shouldn't we keep the native-search-path for it? Perhaps not all
software are patched yet, and it shouldn't hurt? Or would it defeat the
aim of this series?

--
Thanks,
Maxim
I
I
iyzsong wrote on 1 Feb 04:58 +0100
[PATCH v2 1/2] gnu: qtwebengine: Fix default path for QtWebEngineProcess.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
64b2f94cf05195646d5076df6bd67a8538001e00.1738382284.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

Since qtwebengine and qtbase are not installed into the same prefix,
the default path for QtWebEngineProcess won't work. Fix it so that
we no longer need to set QTWEBENGINEPROCESS_PATH anymore.

* gnu/packages/qt.scm (qtwebengine-5, qtwebengine)[arguments]:
Substitute 'QLibraryInfo::LibraryExecutablesPath' in 'substitute-source phase.
[native-search-paths]: Remove QTWEBENGINEPROCESS_PATH.
* gnu/packages/ebook.scm (calibre)
* gnu/packages/education.scm (anki)
* gnu/packages/kde-internet.scm (falkon)
* gnu/packages/kde-systemtools.scm (khelpcenter)
* gnu/packages/kde.scm (akregator)
* gnu/packages/video.scm (openshot)
* gnu/packages/vpn.scm (openconnect-sso)
* gnu/packages/web-browsers.scm (qutebrowser)
* gnu/packages/web.scm (kiwix-desktop): Remove wrapper for QTWEBENGINEPROCESS_PATH.

Change-Id: I43745969ce80daa0f077da37671d1b44a468c953
---
gnu/packages/ebook.scm | 21 +--------------------
gnu/packages/education.scm | 13 +++----------
gnu/packages/kde-internet.scm | 13 -------------
gnu/packages/kde-systemtools.scm | 10 +---------
gnu/packages/kde.scm | 13 +------------
gnu/packages/qt.scm | 22 ++++++++--------------
gnu/packages/video.scm | 14 +-------------
gnu/packages/vpn.scm | 12 +-----------
gnu/packages/web-browsers.scm | 10 ++--------
gnu/packages/web.scm | 10 +---------
10 files changed, 19 insertions(+), 119 deletions(-)

Toggle diff (282 lines)
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 0cd2b31724..73fea2f66a 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -320,26 +320,7 @@ (define-public calibre
(string-append #$(this-package-input "font-liberation")
"/share/fonts/truetype")))
(delete-file-recursively font-dest)
- (symlink font-src font-dest))))
- ;; Make run-time dependencies available to the binaries.
- (add-after 'wrap 'wrap-program
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion (string-append #$output "/bin")
- (for-each
- (lambda (binary)
- (wrap-program binary
- ;; Make QtWebEngineProcess available.
- `("QTWEBENGINEPROCESS_PATH" =
- ,(list
- (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))))
- ;; Wrap all the binaries shipping with the package, except
- ;; for the wrappings created during the 'wrap standard
- ;; phase. This extends existing .calibre-real wrappers
- ;; rather than create ..calibre-real-real-s. For more
- ;; information see: https://issues.guix.gnu.org/43249.
- (find-files "." (lambda (file stat)
- (not (wrapped-program? file)))))))))))
+ (symlink font-src font-dest)))))))
(home-page "https://calibre-ebook.com/")
(synopsis "E-book library management software")
(description "Calibre is an e-book library manager. It can view, convert
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index f42a216972..f0c0e931bf 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -836,18 +836,11 @@ (define-public anki
(filter (match-lambda
((label . _)
(string-prefix? "python-" label)))
- inputs)))
- (qtwebengineprocess
- (search-input-file inputs
- "lib/qt5/libexec/QtWebEngineProcess")))
- ;; The program fails to find the QtWebEngineProcess program, so
- ;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is
- ;; wrapped to avoid declaring Python libraries as propagated
- ;; inputs.
+ inputs))))
+ ;; PYTHONPATH is wrapped to avoid declaring Python libraries as
+ ;; propagated inputs.
(for-each (lambda (program)
(wrap-program program
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengineprocess))
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 4bf40afe88..d54126ed12 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -130,19 +130,6 @@ (define-public falkon
(base32
"0j930i2nvg71p05z881inbk59c54gx8dzhyjb8iaqkw8i5s5r983"))))
(build-system qt-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((qtwebengineprocess
- (search-input-file inputs
- "lib/qt6/libexec/QtWebEngineProcess")))
- ;; The program fails to find the QtWebEngineProcess program, so
- ;; we set QTWEBENGINEPROCESS_PATH to help it.
- (wrap-program (string-append #$output "/bin/falkon")
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengineprocess)))))))))
(native-inputs
(list extra-cmake-modules pkg-config qttools))
(inputs
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 4923854a7c..a86b550a7f 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -178,15 +178,7 @@ (define-public khelpcenter
PrintSupport")
(("Qt6::WebEngineWidgets")
"Qt6::PrintSupport
- Qt6::WebEngineWidgets"))))
- (add-after 'install 'wrap-executable
- (lambda* (#:key inputs #:allow-other-keys)
- (wrap-program (string-append #$output
- "/bin/khelpcenter")
- `("QTWEBENGINEPROCESS_PATH" =
- (,(search-input-file
- inputs
- "lib/qt6/libexec/QtWebEngineProcess")))))))))
+ Qt6::WebEngineWidgets")))))))
(home-page "https://apps.kde.org/khelpcenter/")
(synopsis "KDE documentation viewer")
(description "KHelpCenter uses meta data files which describe the
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 765176f42b..9a4115eda6 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -205,18 +205,7 @@ (define-public akregator
(base32 "07flc3617px9w1c729p0lsixf1g0h297hkbip259ykkbwxizn71q"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/akregator"))
- (qt-process-path
- (search-input-file
- inputs "/lib/qt6/libexec/QtWebEngineProcess")))
- (wrap-program bin
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ (list #:qtbase qtbase))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 76c11af543..c29f8e14e7 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3415,7 +3415,10 @@ (define-public qtwebengine-5
"/share/qt5/translations\")"))
(("QLibraryInfo::location\\(QLibraryInfo::DataPath\\)")
(string-append "QLatin1String(\"" #$output
- "/share/qt5\")")))
+ "/share/qt5\")"))
+ (("QLibraryInfo::location\\(QLibraryInfo::LibraryExecutablesPath)")
+ (string-append "QLatin1String(\"" #$output
+ "/lib/qt5/libexec\")")))
;; Substitute full dynamic library path for nss.
(substitute* "src/3rdparty/chromium/crypto/nss_util.cc"
(("libnssckbi.so")
@@ -3453,12 +3456,6 @@ (define-public qtwebengine-5
;; It's possible this can be fixed by setting QTWEBENGINEPROCESS_PATH
;; before running tests.
((#:tests? _ #f) #f)))
- (native-search-paths
- (list (search-path-specification
- (file-type 'regular)
- (separator #f)
- (variable "QTWEBENGINEPROCESS_PATH")
- (files '("lib/qt5/libexec/QtWebEngineProcess")))))
(home-page "https://wiki.qt.io/QtWebEngine")
(synopsis "Qt WebEngine module")
(description "The Qt5WebEngine module provides support for web applications
@@ -3824,7 +3821,10 @@ (define-public qtwebengine
"/share/qt6/translations\")"))
(("QLibraryInfo::path\\(QLibraryInfo::DataPath)")
(string-append "QLatin1String(\"" #$output
- "/share/qt6\")")))
+ "/share/qt6\")"))
+ (("QLibraryInfo::path\\(QLibraryInfo::LibraryExecutablesPath)")
+ (string-append "QLatin1String(\"" #$output
+ "/lib/qt6/libexec\")")))
;; Substitute full dynamic library path for nss.
(substitute* "src/3rdparty/chromium/crypto/nss_util.cc"
(("libnssckbi.so")
@@ -3884,12 +3884,6 @@ (define-public qtwebengine
(replace "qtbase" qtbase)
(replace "qtdeclarative" qtdeclarative)
(replace "qtwebchannel" qtwebchannel)))
- (native-search-paths
- (list (search-path-specification
- (file-type 'regular)
- (separator #f)
- (variable "QTWEBENGINEPROCESS_PATH")
- (files '("lib/qt6/libexec/QtWebEngineProcess")))))
(home-page "https://wiki.qt.io/QtWebEngine")
(synopsis "Qt WebEngine module")
(description "The Qt WebEngine module provides support for web
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d0b5907bdd..4881f6ba64 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -6049,19 +6049,7 @@ (define-public openshot
(lambda _
;; src/classes/info.py "needs" to create several
;; directories in $HOME when loaded during build
- (setenv "HOME" "/tmp")))
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (qtwebengine-process-path
- (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-qt-program "openshot-qt"
- #:output out #:inputs inputs)
- ;; Help the program discover QtWebEngine at runtime.
- (wrap-program (string-append out "/bin/openshot-qt")
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengine-process-path)))))))))
+ (setenv "HOME" "/tmp"))))))
(home-page "https://www.openshot.org/")
(synopsis "Video editor")
(description "OpenShot takes your videos, photos, and music files and
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 0b62e8c7cf..b64617c5df 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -800,17 +800,7 @@ (define-public openconnect-sso
(("\"openconnect\"")
(string-append "\""
(search-input-file inputs "/sbin/openconnect")
- "\"")))))
- (add-after 'check 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/openconnect-sso"))
- (qt-process-path
- (search-input-file inputs
- "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-program bin
- #:sh (search-input-file inputs "bin/bash")
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ "\""))))))))
(inputs
(list openconnect
poetry
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index c0138eea17..5159a3b76d 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -490,10 +490,7 @@ (define-public qutebrowser
python-pyyaml
python-pyqt-6
python-pyqtwebengine-6
- python-tldextract
- ;; While qtwebengine is provided by python-pyqtwebengine-6, it's
- ;; included here so we can wrap QTWEBENGINEPROCESS_PATH.
- qtwebengine))
+ python-tldextract))
(arguments
`(;; FIXME: With the existence of qtwebengine, tests can now run. But
;; they are still disabled because test phase hangs. It's not readily
@@ -547,10 +544,7 @@ (define-public qutebrowser
(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/qt6/libexec/QtWebEngineProcess")))))))))
+ inputs "/share/qt6/resources")))))))))
(home-page "https://qutebrowser.org/")
(synopsis "Minimal, keyboard-focused, vim-like web browser")
(description "qutebrowser is a keyboard-focused browser with a minimal
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index a23a0f3dcd..0cf1c18a56 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -9404,15 +9404,7 @@ (define-public kiwix-desktop
(lambda* (#:key outputs #:allow-other-keys)
(invoke "qmake"
(string-append "PREFIX="
- (assoc-ref outputs "out")))))
- (add-after 'install 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/kiwix-desktop"))
- (qt-process-path (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-program bin
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ (assoc-ref outputs "out"))))))))
(inputs
(list bash-minimal
curl

base-commit: d48da2d21610f9cf5f76cd846703b12beedb1fd5
--
2.47.1
I
I
iyzsong wrote on 1 Feb 04:58 +0100
[PATCH v2 2/2] build: qt-utils: Remove wrapping for 'QTWEBENGINEPROCESS_PATH'.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
9dac26b1691456f8a54d6ae6a0e10880909c7976.1738382284.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* guix/build/qt-utils.scm (variables-for-wrapping): Remove 'QTWEBENGINEPROCESS_PATH'.

Change-Id: I834da403d750fe1b20e369ecee9ae081a6d57c25
---
guix/build/qt-utils.scm | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

Toggle diff (19 lines)
diff --git a/guix/build/qt-utils.scm b/guix/build/qt-utils.scm
index d7609b9f21..65592757e6 100644
--- a/guix/build/qt-utils.scm
+++ b/guix/build/qt-utils.scm
@@ -93,11 +93,7 @@ (define* (variables-for-wrapping base-directories output-directory
`(,(if (>= (string->number qt-major-version) 6)
"QML_IMPORT_PATH"
"QML2_IMPORT_PATH")
- prefix directory ,(format #f "/lib/qt~a/qml" qt-major-version))
- ;; QTWEBENGINEPROCESS_PATH accepts a single value, which makes 'exact the
- ;; most suitable environment variable type for it.
- `("QTWEBENGINEPROCESS_PATH" = regular
- ,(format #f "/lib/qt~a/libexec/QtWebEngineProcess" qt-major-version)))))
+ prefix directory ,(format #f "/lib/qt~a/qml" qt-major-version)))))
(define* (wrap-qt-program* program #:key sh inputs output-dir
qt-wrap-excluded-inputs
--
2.47.1
?
Re: [bug#75966] [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess.
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
878qqqfgva.fsf@envs.net
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Toggle quote (4 lines)
> Could you mention what is the rationale in the commit message? Is the
> QTWEBENGINEPROCESS_PATH environment variable problematic is some ways
> (perhaps mixing Qt5 and Qt6 qtwebengine?).

It seems fine to mixing QtWebEngineProcess from Qt5 and Qt6, but the
default path is wrong due to we have different install prefixes,
normally there is no need to set QTWEBENGINEPROCESS_PATH ourself.

Toggle quote (5 lines)
>
> Shouldn't we keep the native-search-path for it? Perhaps not all
> software are patched yet, and it shouldn't hurt? Or would it defeat the
> aim of this series?

The rationale is to drop the wrapping for QTWEBENGINEPROCESS_PATH, as
there is no need to use it if the default path is working from the beginning.

v2 patches send, thanks.
M
M
Maxim Cournoyer wrote on 1 Feb 15:38 +0100
Re: bug#75966: [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess.
(name . ???)(address . iyzsong@envs.net)
87tt9dlohd.fsf_-_@gmail.com
Hi,

??? <iyzsong@envs.net> writes:

Toggle quote (20 lines)
> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> Could you mention what is the rationale in the commit message? Is the
>> QTWEBENGINEPROCESS_PATH environment variable problematic is some ways
>> (perhaps mixing Qt5 and Qt6 qtwebengine?).
>
> It seems fine to mixing QtWebEngineProcess from Qt5 and Qt6, but the
> default path is wrong due to we have different install prefixes,
> normally there is no need to set QTWEBENGINEPROCESS_PATH ourself.
>
>>
>> Shouldn't we keep the native-search-path for it? Perhaps not all
>> software are patched yet, and it shouldn't hurt? Or would it defeat the
>> aim of this series?
>
> The rationale is to drop the wrapping for QTWEBENGINEPROCESS_PATH, as
> there is no need to use it if the default path is working from the beginning.
>
> v2 patches send, thanks.

Makes sense now, thank your for the explanation.

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 1 Feb 15:44 +0100
(address . iyzsong@envs.net)
87jza9lo7a.fsf_-_@gmail.com
Hello,

iyzsong@envs.net writes:

Toggle quote (19 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> Since qtwebengine and qtbase are not installed into the same prefix,
> the default path for QtWebEngineProcess won't work. Fix it so that
> we no longer need to set QTWEBENGINEPROCESS_PATH anymore.
>
> * gnu/packages/qt.scm (qtwebengine-5, qtwebengine)[arguments]:
> Substitute 'QLibraryInfo::LibraryExecutablesPath' in 'substitute-source phase.
> [native-search-paths]: Remove QTWEBENGINEPROCESS_PATH.
> * gnu/packages/ebook.scm (calibre)
> * gnu/packages/education.scm (anki)
> * gnu/packages/kde-internet.scm (falkon)
> * gnu/packages/kde-systemtools.scm (khelpcenter)
> * gnu/packages/kde.scm (akregator)
> * gnu/packages/video.scm (openshot)
> * gnu/packages/vpn.scm (openconnect-sso)
> * gnu/packages/web-browsers.scm (qutebrowser)
> * gnu/packages/web.scm (kiwix-desktop): Remove wrapper for QTWEBENGINEPROCESS_PATH.

I think it'd be a bit clearer to introduce the change to qt/qt-utils in
a same commit, and then proceed to remove the wrappers in one commit per
package, since it doesn't break anything to do it this way and it
matches our usual 1 package per commit change convention.

Would you mind to split you series this way? Or if it's too much work,
at least extract the core qt change as a prerequisite commit, and the
adjustment of the packages as a 2nd commit on top of it.

--
Thanks,
Maxim
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 01/10] gnu: qtwebengine: Fix default path for QtWebEngineProcess.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
ebaf44f5878864d22b164cc144bc1258b2a2fae6.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

Since qtwebengine and qtbase are not installed into the same prefix,
the default path for QtWebEngineProcess won't work. Fix it so that
we no longer need to set QTWEBENGINEPROCESS_PATH anymore.

* gnu/packages/qt.scm (qtwebengine-5, qtwebengine)[arguments]:
Substitute 'QLibraryInfo::LibraryExecutablesPath' in 'substitute-source phase.
[native-search-paths]: Remove QTWEBENGINEPROCESS_PATH.
* guix/build/qt-utils.scm (variables-for-wrapping): Remove
QTWEBENGINEPROCESS_PATH.

Change-Id: Ie0dfaf8c2355a679e2a3ddeacf09654830f9ab2f
---
gnu/packages/qt.scm | 22 ++++++++--------------
guix/build/qt-utils.scm | 6 +-----
2 files changed, 9 insertions(+), 19 deletions(-)

Toggle diff (75 lines)
diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm
index 432282f9cf..430f0bb96d 100644
--- a/gnu/packages/qt.scm
+++ b/gnu/packages/qt.scm
@@ -3415,7 +3415,10 @@ (define-public qtwebengine-5
"/share/qt5/translations\")"))
(("QLibraryInfo::location\\(QLibraryInfo::DataPath\\)")
(string-append "QLatin1String(\"" #$output
- "/share/qt5\")")))
+ "/share/qt5\")"))
+ (("QLibraryInfo::location\\(QLibraryInfo::LibraryExecutablesPath)")
+ (string-append "QLatin1String(\"" #$output
+ "/lib/qt5/libexec\")")))
;; Substitute full dynamic library path for nss.
(substitute* "src/3rdparty/chromium/crypto/nss_util.cc"
(("libnssckbi.so")
@@ -3453,12 +3456,6 @@ (define-public qtwebengine-5
;; It's possible this can be fixed by setting QTWEBENGINEPROCESS_PATH
;; before running tests.
((#:tests? _ #f) #f)))
- (native-search-paths
- (list (search-path-specification
- (file-type 'regular)
- (separator #f)
- (variable "QTWEBENGINEPROCESS_PATH")
- (files '("lib/qt5/libexec/QtWebEngineProcess")))))
(home-page "https://wiki.qt.io/QtWebEngine")
(synopsis "Qt WebEngine module")
(description "The Qt5WebEngine module provides support for web applications
@@ -3824,7 +3821,10 @@ (define-public qtwebengine
"/share/qt6/translations\")"))
(("QLibraryInfo::path\\(QLibraryInfo::DataPath)")
(string-append "QLatin1String(\"" #$output
- "/share/qt6\")")))
+ "/share/qt6\")"))
+ (("QLibraryInfo::path\\(QLibraryInfo::LibraryExecutablesPath)")
+ (string-append "QLatin1String(\"" #$output
+ "/lib/qt6/libexec\")")))
;; Substitute full dynamic library path for nss.
(substitute* "src/3rdparty/chromium/crypto/nss_util.cc"
(("libnssckbi.so")
@@ -3884,12 +3884,6 @@ (define-public qtwebengine
(replace "qtbase" qtbase)
(replace "qtdeclarative" qtdeclarative)
(replace "qtwebchannel" qtwebchannel)))
- (native-search-paths
- (list (search-path-specification
- (file-type 'regular)
- (separator #f)
- (variable "QTWEBENGINEPROCESS_PATH")
- (files '("lib/qt6/libexec/QtWebEngineProcess")))))
(home-page "https://wiki.qt.io/QtWebEngine")
(synopsis "Qt WebEngine module")
(description "The Qt WebEngine module provides support for web
diff --git a/guix/build/qt-utils.scm b/guix/build/qt-utils.scm
index d7609b9f21..65592757e6 100644
--- a/guix/build/qt-utils.scm
+++ b/guix/build/qt-utils.scm
@@ -93,11 +93,7 @@ (define* (variables-for-wrapping base-directories output-directory
`(,(if (>= (string->number qt-major-version) 6)
"QML_IMPORT_PATH"
"QML2_IMPORT_PATH")
- prefix directory ,(format #f "/lib/qt~a/qml" qt-major-version))
- ;; QTWEBENGINEPROCESS_PATH accepts a single value, which makes 'exact the
- ;; most suitable environment variable type for it.
- `("QTWEBENGINEPROCESS_PATH" = regular
- ,(format #f "/lib/qt~a/libexec/QtWebEngineProcess" qt-major-version)))))
+ prefix directory ,(format #f "/lib/qt~a/qml" qt-major-version)))))
(define* (wrap-qt-program* program #:key sh inputs output-dir
qt-wrap-excluded-inputs

base-commit: 070c073d508d3197f0235adc424aec287e7dd916
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 03/10] gnu: anki: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
3ab14499f91127ac45500e86ce6a4d71772e60a8.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/education.scm (anki):[arguments]: Remove
QTWEBENGINEPROCESS_PATH from the 'wrap phase.

Change-Id: If8b2cd5bcb0624033b6f7a29c9b865b70943032d
---
gnu/packages/education.scm | 13 +++----------
1 file changed, 3 insertions(+), 10 deletions(-)

Toggle diff (28 lines)
diff --git a/gnu/packages/education.scm b/gnu/packages/education.scm
index f42a216972..f0c0e931bf 100644
--- a/gnu/packages/education.scm
+++ b/gnu/packages/education.scm
@@ -836,18 +836,11 @@ (define-public anki
(filter (match-lambda
((label . _)
(string-prefix? "python-" label)))
- inputs)))
- (qtwebengineprocess
- (search-input-file inputs
- "lib/qt5/libexec/QtWebEngineProcess")))
- ;; The program fails to find the QtWebEngineProcess program, so
- ;; we set QTWEBENGINEPROCESS_PATH to help it. PYTHONPATH is
- ;; wrapped to avoid declaring Python libraries as propagated
- ;; inputs.
+ inputs))))
+ ;; PYTHONPATH is wrapped to avoid declaring Python libraries as
+ ;; propagated inputs.
(for-each (lambda (program)
(wrap-program program
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengineprocess))
`("PATH" prefix (,(string-append
(assoc-ref inputs "mpv")
"/bin")))
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 02/10] gnu: calibre: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
c29bb9157b159b0bb364f501dee62d35343b9e91.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/ebook.scm (calibre)[arguments]: Remove 'wrap-program phase.

Change-Id: If289d6d5bcd1582134bbb02a179425a4f9c6a4d0
---
gnu/packages/ebook.scm | 21 +--------------------
1 file changed, 1 insertion(+), 20 deletions(-)

Toggle diff (34 lines)
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 0cd2b31724..73fea2f66a 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -320,26 +320,7 @@ (define-public calibre
(string-append #$(this-package-input "font-liberation")
"/share/fonts/truetype")))
(delete-file-recursively font-dest)
- (symlink font-src font-dest))))
- ;; Make run-time dependencies available to the binaries.
- (add-after 'wrap 'wrap-program
- (lambda* (#:key inputs #:allow-other-keys)
- (with-directory-excursion (string-append #$output "/bin")
- (for-each
- (lambda (binary)
- (wrap-program binary
- ;; Make QtWebEngineProcess available.
- `("QTWEBENGINEPROCESS_PATH" =
- ,(list
- (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))))
- ;; Wrap all the binaries shipping with the package, except
- ;; for the wrappings created during the 'wrap standard
- ;; phase. This extends existing .calibre-real wrappers
- ;; rather than create ..calibre-real-real-s. For more
- ;; information see: https://issues.guix.gnu.org/43249.
- (find-files "." (lambda (file stat)
- (not (wrapped-program? file)))))))))))
+ (symlink font-src font-dest)))))))
(home-page "https://calibre-ebook.com/")
(synopsis "E-book library management software")
(description "Calibre is an e-book library manager. It can view, convert
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 04/10] gnu: falkon: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
d6d5a8e32b95eaac20d839e3cae5026f900e49c7.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/kde-internet.scm (falkon)[arguments]: Remove 'wrap phase.

Change-Id: Iad27eace218b15e847d5918170e68427176cc3ff
---
gnu/packages/kde-internet.scm | 13 -------------
1 file changed, 13 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/kde-internet.scm b/gnu/packages/kde-internet.scm
index 4bf40afe88..d54126ed12 100644
--- a/gnu/packages/kde-internet.scm
+++ b/gnu/packages/kde-internet.scm
@@ -130,19 +130,6 @@ (define-public falkon
(base32
"0j930i2nvg71p05z881inbk59c54gx8dzhyjb8iaqkw8i5s5r983"))))
(build-system qt-build-system)
- (arguments
- (list #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'wrap
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let ((qtwebengineprocess
- (search-input-file inputs
- "lib/qt6/libexec/QtWebEngineProcess")))
- ;; The program fails to find the QtWebEngineProcess program, so
- ;; we set QTWEBENGINEPROCESS_PATH to help it.
- (wrap-program (string-append #$output "/bin/falkon")
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengineprocess)))))))))
(native-inputs
(list extra-cmake-modules pkg-config qttools))
(inputs
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 05/10] gnu: khelpcenter: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
f6c6f378c8ee56790f77e412f1e87cca9b744f8b.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/kde-systemtools.scm (khelpcenter):[arguments]: Remove
'wrap-executable phase.

Change-Id: I6e1ab2c41638a60d5ab1942f101f3ff34b8d1a86
---
gnu/packages/kde-systemtools.scm | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/kde-systemtools.scm b/gnu/packages/kde-systemtools.scm
index 4923854a7c..a86b550a7f 100644
--- a/gnu/packages/kde-systemtools.scm
+++ b/gnu/packages/kde-systemtools.scm
@@ -178,15 +178,7 @@ (define-public khelpcenter
PrintSupport")
(("Qt6::WebEngineWidgets")
"Qt6::PrintSupport
- Qt6::WebEngineWidgets"))))
- (add-after 'install 'wrap-executable
- (lambda* (#:key inputs #:allow-other-keys)
- (wrap-program (string-append #$output
- "/bin/khelpcenter")
- `("QTWEBENGINEPROCESS_PATH" =
- (,(search-input-file
- inputs
- "lib/qt6/libexec/QtWebEngineProcess")))))))))
+ Qt6::WebEngineWidgets")))))))
(home-page "https://apps.kde.org/khelpcenter/")
(synopsis "KDE documentation viewer")
(description "KHelpCenter uses meta data files which describe the
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 06/10] gnu: akregator: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
c33cf3cb9808ee5b48cbf2c0c62fb253e963f486.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/kde.scm (akregator):[arguments]: Remove 'wrap-qt-process-path
phase.

Change-Id: I827e8375186492064c934c35196790af6e999e0d
---
gnu/packages/kde.scm | 13 +------------
1 file changed, 1 insertion(+), 12 deletions(-)

Toggle diff (26 lines)
diff --git a/gnu/packages/kde.scm b/gnu/packages/kde.scm
index 765176f42b..9a4115eda6 100644
--- a/gnu/packages/kde.scm
+++ b/gnu/packages/kde.scm
@@ -205,18 +205,7 @@ (define-public akregator
(base32 "07flc3617px9w1c729p0lsixf1g0h297hkbip259ykkbwxizn71q"))))
(build-system qt-build-system)
(arguments
- (list #:qtbase qtbase
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'install 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/akregator"))
- (qt-process-path
- (search-input-file
- inputs "/lib/qt6/libexec/QtWebEngineProcess")))
- (wrap-program bin
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ (list #:qtbase qtbase))
(native-inputs
(list extra-cmake-modules kdoctools))
(inputs
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 08/10] gnu: openconnect-sso: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
7e8cec7bc3ed4d2e39332b648ef462bdca5885ba.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/vpn.scm (openconnect-sso):[arguments]: Remove
'wrap-qt-process-path phase.

Change-Id: I10332aac3d482c991cccd583c12489a9291c89bf
---
gnu/packages/vpn.scm | 12 +-----------
1 file changed, 1 insertion(+), 11 deletions(-)

Toggle diff (25 lines)
diff --git a/gnu/packages/vpn.scm b/gnu/packages/vpn.scm
index 0b62e8c7cf..b64617c5df 100644
--- a/gnu/packages/vpn.scm
+++ b/gnu/packages/vpn.scm
@@ -800,17 +800,7 @@ (define-public openconnect-sso
(("\"openconnect\"")
(string-append "\""
(search-input-file inputs "/sbin/openconnect")
- "\"")))))
- (add-after 'check 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/openconnect-sso"))
- (qt-process-path
- (search-input-file inputs
- "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-program bin
- #:sh (search-input-file inputs "bin/bash")
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ "\""))))))))
(inputs
(list openconnect
poetry
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 09/10] gnu: kiwix-desktop: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
87fc24ae32b650b129f1fe714bf400a17fcfa1c1.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/web.scm (kiwix-desktop):[arguments]: Remove
'wrap-qt-process-path phase.

Change-Id: Iaf33c180268358a3b1bf1695b37313f20b410f9d
---
gnu/packages/web.scm | 10 +---------
1 file changed, 1 insertion(+), 9 deletions(-)

Toggle diff (23 lines)
diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm
index a23a0f3dcd..0cf1c18a56 100644
--- a/gnu/packages/web.scm
+++ b/gnu/packages/web.scm
@@ -9404,15 +9404,7 @@ (define-public kiwix-desktop
(lambda* (#:key outputs #:allow-other-keys)
(invoke "qmake"
(string-append "PREFIX="
- (assoc-ref outputs "out")))))
- (add-after 'install 'wrap-qt-process-path
- (lambda* (#:key inputs outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (bin (string-append out "/bin/kiwix-desktop"))
- (qt-process-path (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-program bin
- `("QTWEBENGINEPROCESS_PATH" = (,qt-process-path)))))))))
+ (assoc-ref outputs "out"))))))))
(inputs
(list bash-minimal
curl
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 07/10] gnu: openshot: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
06ea53b41d3dce61ff0b6e5e669016568d5bd516.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/video.scm (openshot)[arguments]: Remove 'wrap-program phase.

Change-Id: Id09d18cb0f2f9e6542cdeeaa3026a0ff71164121
---
gnu/packages/video.scm | 14 +-------------
1 file changed, 1 insertion(+), 13 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index d0b5907bdd..4881f6ba64 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -6049,19 +6049,7 @@ (define-public openshot
(lambda _
;; src/classes/info.py "needs" to create several
;; directories in $HOME when loaded during build
- (setenv "HOME" "/tmp")))
- (add-after 'install 'wrap-program
- (lambda* (#:key outputs inputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out"))
- (qtwebengine-process-path
- (search-input-file
- inputs "/lib/qt5/libexec/QtWebEngineProcess")))
- (wrap-qt-program "openshot-qt"
- #:output out #:inputs inputs)
- ;; Help the program discover QtWebEngine at runtime.
- (wrap-program (string-append out "/bin/openshot-qt")
- `("QTWEBENGINEPROCESS_PATH" =
- (,qtwebengine-process-path)))))))))
+ (setenv "HOME" "/tmp"))))))
(home-page "https://www.openshot.org/")
(synopsis "Video editor")
(description "OpenShot takes your videos, photos, and music files and
--
2.48.1
I
I
iyzsong wrote on 2 Feb 05:34 +0100
[PATCH v3 10/10] gnu: qutebrowser: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . 75966@debbugs.gnu.org)(name . ???)(address . iyzsong@member.fsf.org)
01b9a27f0667f70e1370265f28045136460edc1a.1738470835.git.iyzsong@member.fsf.org
From: ??? <iyzsong@member.fsf.org>

* gnu/packages/web-browsers.scm (qutebrowser): [arguments]: Remove
QTWEBENGINEPROCESS_PATH from the 'wrap-qt-process-path phase.

Change-Id: I7227e1f5abd9e9db98d603ca74ece6ea268b7eaa
---
gnu/packages/web-browsers.scm | 7 ++-----
1 file changed, 2 insertions(+), 5 deletions(-)

Toggle diff (27 lines)
diff --git a/gnu/packages/web-browsers.scm b/gnu/packages/web-browsers.scm
index c0138eea17..2bc79de3b5 100644
--- a/gnu/packages/web-browsers.scm
+++ b/gnu/packages/web-browsers.scm
@@ -492,7 +492,7 @@ (define-public qutebrowser
python-pyqtwebengine-6
python-tldextract
;; While qtwebengine is provided by python-pyqtwebengine-6, it's
- ;; included here so we can wrap QTWEBENGINEPROCESS_PATH.
+ ;; included here so we can wrap QTWEBENGINE_RESOURCES_PATH.
qtwebengine))
(arguments
`(;; FIXME: With the existence of qtwebengine, tests can now run. But
@@ -547,10 +547,7 @@ (define-public qutebrowser
(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/qt6/libexec/QtWebEngineProcess")))))))))
+ inputs "/share/qt6/resources")))))))))
(home-page "https://qutebrowser.org/")
(synopsis "Minimal, keyboard-focused, vim-like web browser")
(description "qutebrowser is a keyboard-focused browser with a minimal
--
2.48.1
?
Re: bug#75966: [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess.
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
87cyg1t11z.fsf@envs.net
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Toggle quote (4 lines)
> I think it'd be a bit clearer to introduce the change to qt/qt-utils in
> a same commit, and then proceed to remove the wrappers in one commit per
> package.

Done and sent as v3, thanks.
M
M
Maxim Cournoyer wrote on 3 Feb 15:37 +0100
(address . iyzsong@envs.net)
87ed0fdrhe.fsf_-_@gmail.com
Hi,

iyzsong@envs.net writes:

Toggle quote (14 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> Since qtwebengine and qtbase are not installed into the same prefix,
> the default path for QtWebEngineProcess won't work. Fix it so that
> we no longer need to set QTWEBENGINEPROCESS_PATH anymore.
>
> * gnu/packages/qt.scm (qtwebengine-5, qtwebengine)[arguments]:
> Substitute 'QLibraryInfo::LibraryExecutablesPath' in 'substitute-source phase.
> [native-search-paths]: Remove QTWEBENGINEPROCESS_PATH.
> * guix/build/qt-utils.scm (variables-for-wrapping): Remove
> QTWEBENGINEPROCESS_PATH.
>
> Change-Id: Ie0dfaf8c2355a679e2a3ddeacf09654830f9ab2f

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>

I note that given then change to qt-utils, that's a Qt world rebuild
change, and should go to a qt-team branch. Perhaps we could bunch a qt
upgrade on top if time permits; we have a manifest that makes this
rather simple (unless there are new test failures...). See
etc/teams/qt-team/qt-manifest.scm for example, and the comment inside.

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 3 Feb 15:40 +0100
(address . iyzsong@envs.net)
874j1bdrcj.fsf_-_@gmail.com
iyzsong@envs.net writes:

Toggle quote (6 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> * gnu/packages/ebook.scm (calibre)[arguments]: Remove 'wrap-program phase.
>
> Change-Id: If289d6d5bcd1582134bbb02a179425a4f9c6a4d0

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 3 Feb 15:42 +0100
(address . iyzsong@envs.net)
87zfj3ccoo.fsf_-_@gmail.com
Hi,

iyzsong@envs.net writes:

Toggle quote (5 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> * gnu/packages/education.scm (anki):[arguments]: Remove
> QTWEBENGINEPROCESS_PATH from the 'wrap phase.

nitpick: You can omit single quotes for phase names in the change log,
and there shouldn't be a colon between (anki) and [arguments] (there
should be a space according to (info '(standards) Style of Change Logs')
which is a manual provided the autoconf package.).

Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail>

--
Thanks,
Maxim
M
M
Maxim Cournoyer wrote on 3 Feb 16:19 +0100
Re: [bug#75966] [PATCH v3 10/10] gnu: qutebrowser: Do not wrap with QTWEBENGINEPROCESS_PATH.
(address . iyzsong@envs.net)
871pwfcayo.fsf@gmail.com
Hi,

iyzsong@envs.net writes:

Toggle quote (6 lines)
> From: ??? <iyzsong@member.fsf.org>
>
> * gnu/packages/web-browsers.scm (qutebrowser): [arguments]: Remove
> QTWEBENGINEPROCESS_PATH from the 'wrap-qt-process-path phase.
>

[...]

This one and the other before LGTM, with the same nitpicks about the GNU
change log style.

Toggle snippet (3 lines)
Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>

By the way, I notice that sending the cover letter on each submission is
useful, as I could then put my reviewed-by trailer on the 0/N commit
(the cover letter) to mean 'whole series LGTM', at least per 'b4 shazam'
semantic, which will add the trailer for you if you use it to apply the
patches.

--
Thanks,
Maxim
?
?
??? wrote 7 days ago
Re: [bug#75966] [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess.
(name . Maxim Cournoyer)(address . maxim.cournoyer@gmail.com)
87ldumqj15.fsf@envs.net
Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:

Toggle quote (10 lines)
> [...]
>
> Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
>
> I note that given then change to qt-utils, that's a Qt world rebuild
> change, and should go to a qt-team branch. Perhaps we could bunch a qt
> upgrade on top if time permits; we have a manifest that makes this
> rather simple (unless there are new test failures...). See
> etc/teams/qt-team/qt-manifest.scm for example, and the comment inside.

I have adjust the change logs and push them into qt-team branch. Also
with 'guix refresh' for 'qt-manifest.scm', update qt to 6.8.2. qtbase
now require a newer version of freetype, so update it first.

I haven't build them locally, so consider the 'qt-team' branch WIP.
I'll test them and update python-pyqt later. Thank you!
M
M
Maxim Cournoyer wrote 6 days ago
(name . ???)(address . iyzsong@envs.net)
87bjvh9mn9.fsf@gmail.com
Hi,

??? <iyzsong@envs.net> writes:

Toggle quote (19 lines)
> Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
>> [...]
>>
>> Reviewed-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
>>
>> I note that given then change to qt-utils, that's a Qt world rebuild
>> change, and should go to a qt-team branch. Perhaps we could bunch a qt
>> upgrade on top if time permits; we have a manifest that makes this
>> rather simple (unless there are new test failures...). See
>> etc/teams/qt-team/qt-manifest.scm for example, and the comment inside.
>
> I have adjust the change logs and push them into qt-team branch. Also
> with 'guix refresh' for 'qt-manifest.scm', update qt to 6.8.2. qtbase
> now require a newer version of freetype, so update it first.
>
> I haven't build them locally, so consider the 'qt-team' branch WIP.
> I'll test them and update python-pyqt later. Thank you!

Awesome, thank you.

--
Thanks,
Maxim
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 75966@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 75966
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch