Subject: bug#50593: closed (Re: bug#50593: [PATCH core-updates-frozen] gnu: gtk+: Fix testsuite failure on non-x86_64 platforms)

From: [email-masked] (GNU bug Tracking System)
Date: Sun, 19 Sep 2021 18:19:02 +0000

Your bug report

#50593: [PATCH core-updates-frozen] gnu: gtk+: Fix testsuite failure on non-x86_64 platforms

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
50593: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=50593
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#50593: [PATCH core-updates-frozen] gnu: gtk+: Fix testsuite failure on non-x86_64 platforms
From: Mathieu Othacehe <[email-masked]>
To: Thiago Jung Bauermann <[email-masked]>
Cc: [email-masked]
Date: Sun, 19 Sep 2021 18:18:28 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hello Thiago,

> And together with the one in issue 50521, it allows gtk+ to build on
> powerpc64le-linux. In fact, I can even build GTK+ apps such as Emacs and
> Transmission! Unfortunately, GNOME apps need SVG support because of the
> icon theme. And rust doesn’t build on powerpc64le-linux (mrustc errors out
> with “Unknown target name ''”).

Nice one, pushed as b452fe87e0c6e7634a2cb44274fa46832c763b40.

Thanks,

Mathieu

Subject: [PATCH core-updates-frozen] gnu: gtk+: Fix testsuite failure on non-x86_64 platforms
From: Thiago Jung Bauermann <[email-masked]>
To: [email-masked]
Cc: Thiago Jung Bauermann <[email-masked]>
Date: Tue, 14 Sep 2021 20:24:37 -0300
List-Id: <debbugs-submit.debbugs.gnu.org>

On non-x86_64 platforms, gtk+ is linked with a gdk-pixbuf version that
doesn’t support SVG.  This causes the ‘icontheme’ test to fail because it
tries to fetch SVG icons in some of the tests.

Therefore, we need to disable the test when SVG support isn’t available.

* gnu/packages/gtk.scm (gtk+)[propagated-inputs]: Use the ‘target-x86-64?’
convenience function.
[arguments]<#:phases>{disable-failing-tests}: Disable ‘icontheme’ test on
non-x86_64 platforms.
---

Hello,

This patch doesn’t change the gtk+ output derivations on x86_64-linux, so
it won’t cause any rebuilds there.

And together with the one in issue 50521, it allows gtk+ to build on
powerpc64le-linux. In fact, I can even build GTK+ apps such as Emacs and
Transmission! Unfortunately, GNOME apps need SVG support because of the
icon theme. And rust doesn’t build on powerpc64le-linux (mrustc errors out
with “Unknown target name ''”).

Thanks,
Thiago

 gnu/packages/gtk.scm | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 24c24d56530f..876071235ef4 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -958,8 +958,7 @@ application suites.")
        ("freetype" ,freetype)
        ;; SVG support is optional and requires librsvg, which pulls in rust.
        ;; Rust is not supported well on every architecture yet.
-       ("gdk-pixbuf" ,(if (string-prefix? "x86_64" (or (%current-target-system)
-                                                       (%current-system)))
+       ("gdk-pixbuf" ,(if (target-x86-64?)
                           gdk-pixbuf+svg
                           gdk-pixbuf))
        ("glib" ,glib)
@@ -1028,7 +1027,12 @@ application suites.")
                (("notify no-gtk-init object objects-finalize papersize rbtree")
                 "no-gtk-init papersize rbtree")
                (("stylecontext templates textbuffer textiter treemodel treepath")
-                "stylecontext textbuffer textiter treemodel treepath"))
+                "stylecontext textbuffer textiter treemodel treepath")
+               ;; The ‘icontheme’ test needs SVG support.
+               ,@(if (not (target-x86-64?))
+                     '((("floating focus gestures grid gtkmenu icontheme keyhash listbox")
+                        "floating focus gestures grid gtkmenu keyhash listbox"))
+                     '()))
              (substitute* "testsuite/a11y/Makefile.in"
                (("accessibility-dump tree-performance text children derive")
                 "tree-performance text children derive"))