Package: guix-patches;
To reply to this bug, email your comments to 75966 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
View this report as an mbox folder, status mbox, maintainer mbox
maxim.cournoyer <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org
:bug#75966
; Package guix-patches
.
(Fri, 31 Jan 2025 10:32:01 GMT) Full text and rfc822 format available.iyzsong <at> envs.net
:maxim.cournoyer <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org
.
(Fri, 31 Jan 2025 10:32:02 GMT) Full text and rfc822 format available.Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: iyzsong <at> envs.net To: guix-patches <at> gnu.org Cc: 宋文武 <iyzsong <at> member.fsf.org> Subject: [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess. Date: Fri, 31 Jan 2025 18:34:50 +0800
From: 宋文武 <iyzsong <at> 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(-) 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
guix-patches <at> gnu.org
:bug#75966
; Package guix-patches
.
(Fri, 31 Jan 2025 10:36:02 GMT) Full text and rfc822 format available.Message #8 received at 75966 <at> debbugs.gnu.org (full text, mbox):
From: 宋文武 <iyzsong <at> envs.net> To: 75966 <at> debbugs.gnu.org Cc: 宋文武 <iyzsong <at> member.fsf.org>, Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Subject: Re: [bug#75966] [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess. Date: Fri, 31 Jan 2025 18:39:07 +0800
iyzsong <at> envs.net writes: > * 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..
guix-patches <at> gnu.org
:bug#75966
; Package guix-patches
.
(Fri, 31 Jan 2025 13:25:02 GMT) Full text and rfc822 format available.Message #11 received at 75966 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: iyzsong <at> envs.net Cc: 宋文武 <iyzsong <at> member.fsf.org>, 75966 <at> debbugs.gnu.org Subject: Re: [bug#75966] [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess. Date: Fri, 31 Jan 2025 22:24:26 +0900
Hi, iyzsong <at> envs.net writes: > From: 宋文武 <iyzsong <at> 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
maxim.cournoyer <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org
:bug#75966
; Package guix-patches
.
(Sat, 01 Feb 2025 03:56:01 GMT) Full text and rfc822 format available.Message #14 received at 75966 <at> debbugs.gnu.org (full text, mbox):
From: iyzsong <at> envs.net To: 75966 <at> debbugs.gnu.org Cc: 宋文武 <iyzsong <at> member.fsf.org> Subject: [PATCH v2 1/2] gnu: qtwebengine: Fix default path for QtWebEngineProcess. Date: Sat, 1 Feb 2025 11:58:31 +0800
From: 宋文武 <iyzsong <at> 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(-) 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
maxim.cournoyer <at> gmail.com, iyzsong <at> envs.net, guix-patches <at> gnu.org
:bug#75966
; Package guix-patches
.
(Sat, 01 Feb 2025 03:56:02 GMT) Full text and rfc822 format available.Message #17 received at 75966 <at> debbugs.gnu.org (full text, mbox):
From: iyzsong <at> envs.net To: 75966 <at> debbugs.gnu.org Cc: 宋文武 <iyzsong <at> member.fsf.org> Subject: [PATCH v2 2/2] build: qt-utils: Remove wrapping for 'QTWEBENGINEPROCESS_PATH'. Date: Sat, 1 Feb 2025 11:58:32 +0800
From: 宋文武 <iyzsong <at> 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(-) 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
guix-patches <at> gnu.org
:bug#75966
; Package guix-patches
.
(Sat, 01 Feb 2025 04:04:01 GMT) Full text and rfc822 format available.Message #20 received at 75966 <at> debbugs.gnu.org (full text, mbox):
From: 宋文武 <iyzsong <at> envs.net> To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> Cc: 宋文武 <iyzsong <at> member.fsf.org>, 75966 <at> debbugs.gnu.org Subject: Re: [bug#75966] [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess. Date: Sat, 01 Feb 2025 12:06:49 +0800
Maxim Cournoyer <maxim.cournoyer <at> 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.
guix-patches <at> gnu.org
:bug#75966
; Package guix-patches
.
(Sat, 01 Feb 2025 14:39:01 GMT) Full text and rfc822 format available.Message #23 received at 75966 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: 宋文武 <iyzsong <at> envs.net> Cc: 宋文武 <iyzsong <at> member.fsf.org>, 75966 <at> debbugs.gnu.org Subject: Re: bug#75966: [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess. Date: Sat, 01 Feb 2025 23:38:06 +0900
Hi, 宋文武 <iyzsong <at> envs.net> writes: > Maxim Cournoyer <maxim.cournoyer <at> 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
guix-patches <at> gnu.org
:bug#75966
; Package guix-patches
.
(Sat, 01 Feb 2025 14:45:02 GMT) Full text and rfc822 format available.Message #26 received at 75966 <at> debbugs.gnu.org (full text, mbox):
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com> To: iyzsong <at> envs.net Cc: 宋文武 <iyzsong <at> member.fsf.org>, 75966 <at> debbugs.gnu.org Subject: Re: bug#75966: [PATCH] gnu: qtwebengine: Set default path for QtWebEngineProcess. Date: Sat, 01 Feb 2025 23:44:09 +0900
Hello, iyzsong <at> envs.net writes: > From: 宋文武 <iyzsong <at> 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
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.