Subject: Re: [bug#56771] [PATCH 00/33] *** Update Jami to 20220725, core Qt packages along the way

From: Maxime Devos <[email-masked]>
Date: Tue, 2 Aug 2022 00:00:55 +0200

On 01-08-2022 17:39, Maxim Cournoyer wrote:
> Hi Maxime,
>
> Maxime Devos <[email-masked]> writes:
>
>> On 25-07-2022 23:17, Maxim Cournoyer wrote:
>>> Hello Guix,
>>>
>>> This series add the base Qt 6 components required by Jami and updates Jami
>>> itself to its latest stable release (made today!).  All the Qt components
>>> updated have their test suite enabled except for qtwebengine, for which it was
>>> already disabled. [...]
>> This patch series appears to have caused some failures in other
>> packages:
>> <https://ci.guix.gnu.org/eval/504295?border-high-time=1659350617&border-high-id=1141372&status=failed>,
>> could they be fixed?
> Thanks for the heads-up.  It appears the qt-build-system change
> (introducing #:qtbase) broke all packages explicitly defining the build
> arguments, in which case #:qtbase is #f.
>
> The following change fixes it:
>
> --8<---------------cut here---------------start------------->8---
> modified   guix/build-system/qt.scm
> @@ -122,7 +122,7 @@ (define private-keywords
>   
>   (define* (qt-build name inputs
>                      #:key
> -                   qtbase
> +                   (qtbase (default-qtbase))
>                      source (guile #f)
>                      (outputs '("out")) (configure-flags ''())
>                      (search-paths '())
> @@ -161,7 +161,7 @@ (define builder
>                       #:phases #$(if (pair? phases)
>                                      (sexp->gexp phases)
>                                      phases)
> -                    #:qtbase #$qtbase
> +                    #:qtbase #+qtbase
>                       #:qt-wrap-excluded-outputs #$qt-wrap-excluded-outputs
>                       #:qt-wrap-excluded-inputs #$qt-wrap-excluded-inputs
>                       #:configure-flags #$configure-flags
> @@ -193,7 +193,7 @@ (define* (qt-cross-build name
>                            #:key
>                            source target
>                            build-inputs target-inputs host-inputs
> -                         qtbase
> +                         (qtbase (default-qtbase))
>                            (guile #f)
>                            (outputs '("out"))
>                            (configure-flags ''())
> @@ -250,7 +250,7 @@ (define %outputs
>                                                 search-path-specification->sexp
>                                                 native-search-paths)
>                       #:phases #$phases
> -                    #:qtbase #$qtbase
> +                    #:qtbase #+qtbase

Why the #$ -> #+ change? qtbase looks like some library used by the Qt 
program, so seems like a non-native input to me (and maybe it needs to 
be moved from 'biild-inputs' to 'host-inputs').

Unfortunately some of the dependencies don't support cross-compilation 
yet so it cannot yet be tested ...

$ LANG=en_US.UTF-8 guix build qtbase@5 --target=aarch64-linux-gnu
 > guix build: error: gnu/packages/freedesktop.scm:1923:2: 
[email-masked]: build system `perl' does not support cross builds

Greetings,
Maxime