Subject: Re: bug#47569: ‘qt-build-system’retains too many references via wrappers

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 07 Apr 2021 17:23:21 -0400

Maxim Cournoyer <[email-masked]> writes:

> Seeing a growing number of packages require a custom wrap phase for
> qtwebengine, I think the following additions could make sense to be
> incorporated as part as this Qt-world rebuild:
>
> 2 files changed, 5 insertions(+), 1 deletion(-)
> gnu/packages/qt.scm            | 3 +++
> guix/build/qt-build-system.scm | 3 ++-
>
> modified   gnu/packages/qt.scm
> @@ -538,6 +538,9 @@ system, and the core design of Django is reused in Grantlee.")
>             (search-path-specification
>              (variable "QT_PLUGIN_PATH")
>              (files '("lib/qt5/plugins")))
> +           (search-path-specification
> +            (variable "QTWEBENGINEPROCESS_PATH")
> +            (files '("lib/qt5/libexec/QtWebEngineProcess")))
>             (search-path-specification
>              (variable "XDG_DATA_DIRS")
>              (files '("share")))

Actually, scratch that part above, as there's already a search path
defined on the qtwebengine package, and it's more correctly defined as:

(native-search-paths
     (list (search-path-specification
            (file-type 'regular)
            (separator #f)
            (variable "QTWEBENGINEPROCESS_PATH")
            (files '("lib/qt5/libexec/QtWebEngineProcess")))))
            
So what I proposed above is not needed.

> modified   guix/build/qt-build-system.scm
> @@ -86,7 +86,8 @@
>             "/cursors" "/wallpapers" "/icons" "/mime")
>           '("XDG_CONFIG_DIRS" "/etc/xdg")
>           '("QT_PLUGIN_PATH" "/lib/qt5/plugins")
> -         '("QML2_IMPORT_PATH" "/lib/qt5/qml"))))
> +         '("QML2_IMPORT_PATH" "/lib/qt5/qml")
> +         '("QTWEBENGINEPROCESS_PATH" "lib/qt5/libexec/QtWebEngineProcess"))))
>
>  (define* (wrap-all-programs #:key inputs outputs
>                              (qt-wrap-excluded-outputs '())

Still is still useful I think, but I noticed now it needs a leading
slash in from of the lib/qt5/libexec above.

Thanks,

Maxim