Subject: bug#43296: [PATCH 1/1] gnu: Fix gnome-builder build.

From: Mark H Weaver <[email-masked]>
Date: Thu, 10 Sep 2020 14:08:19 -0400

Hi,

Leo Prikler <[email-masked]> writes:

> As reported in #43296, gnome-builder tries to be linked against the static
> version of libselinux (propagated through glib/gio), failing to do so, as it
> also wants to be a PIE.  To keep the PIE, link it against the dynamic library.
> * gnu/packages/gnome.scm (gnome-builder)[#:phases]: Add 'fix-ninja.
> ---
>  gnu/packages/gnome.scm | 6 ++++++
>  1 file changed, 6 insertions(+)

Thanks for this!  One comment, though:

> diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
> index 31c5b0319c..ff4cb8a383 100644
> --- a/gnu/packages/gnome.scm
> +++ b/gnu/packages/gnome.scm
> @@ -11336,6 +11336,12 @@ libraries.  Applications do not need to be recompiled--or even restarted.")
>                  (string-append (assoc-ref inputs "python-pygobject")
>                                 "/lib")))
>               #t))
> +         (add-after 'configure 'fix-ninja
> +           (lambda _
> +             ;; #43296: meson(?) incorrectly assumes we want to link
> +             ;;         this PIE against a static libselinux.
> +             (substitute* "build.ninja"
> +               (("libselinux\\.a") "libselinux.so"))))
>           (add-before 'check 'pre-check
>             (lambda _
>               (system "Xvfb :1 &")

This new phase should end by returning #t.

      Thanks,
        Mark