unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
@ 2023-07-18 14:38 Janneke Nieuwenhuizen
  2023-07-18 14:39 ` [bug#64711] [PATCH 01/43] Revert "gnu: libunistring: Fix make check for the Hurd." Janneke Nieuwenhuizen
                   ` (44 more replies)
  0 siblings, 45 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:38 UTC (permalink / raw)
  To: 64711

Hi!

Now that native builds work again on the Hurd, we need builds to succeed and
test suites to pass.  Sadly, quite some packages have several problems with
their test suite.  Notably e2fsprogs (+62), c-ares (+37), coreutils (+21),
python (+17), elfutils (+12), cmake (+11), curl (+9).  And then there's a
problem with gnulib's stack tests that we see some recurrences of.

Some good news, previous commits that skipped tests for sed and libunistring
can now be reverted, because their test suites pass.

Also, most probably problematic tests in the guile test suite were fixed on
guile master.  As I understand, Josselin is working on this, so way may want
to skip the patch for guile (or apply it anyway and revert it later).

Because many patches are almost trivial and similar, you may want to give some
specific comments to the non-trivial patches and possibly some general
comments for the trivial ones instead of a LGTM on every individual patch?

Greetings,
Janneke

Janneke Nieuwenhuizen (43):
  Revert "gnu: libunistring: Fix make check for the Hurd."
  gnu: guile: Skip hanging and failing pipe tests on the Hurd.
  gnu: coreutils: Skip hanging and failing test on the Hurd.
  gnu: grep: Update hanging and failing tests on the Hurd.
  Revert "gnu: sed: Skip failing test on GNU/Hurd."
  gnu: findutils: Move test-strerror_r from XFAIL to skip on the Hurd.
  gnu: diffutils: Remove test-perror2 from XFAIL_TESTS on the Hurd.
  gnu: gettext-minimal: Remove XFAIL_TESTS for the Hurd.
  gnu: m4: Skip gnulib stack-overflow tests for the Hurd.
  gnu: openssl: Build fix for the Hurd.
  gnu: python: Support native build on the Hurd.
  gnu: mpfr: Skip failing test on the Hurd.
  gnu: elfutils: Skip failing tests on the Hurd.
  gnu: libbsd: Skip failing test on the Hurd.
  gnu: c-ares: Skip failing tests on the Hurd.
  gnu: libgpg-error: Skip failing test on the Hurd.
  gnu: libgcrypt: Skip hanging benchmark tests on the Hurd.
  gnu: tcl: Remove failing tests on the Hurd..
  gnu: curl: Skip failing test on the Hurd.
  gnu: git: Skip failing test on the Hurd.
  gnu: emacs: Depend on libc-for-target.
  gnu: procps: Skip linux-version test for the Hurd.
  gnu: e2fsprogs: Skip failing tests on the Hurd.
  gnu: parted: Disable tests for the Hurd.
  gnu: libpaper: Disable tests for the Hurd.
  gnu: cairo: Support building for the Hurd.
  gnu: openssl-1.1: Fix shared build for the Hurd.
  gnu: ruby-2.6: Skip test on the Hurd.
  gnu: tcsh: Skip substitution tests on the Hurd.
  gnu: swig: Skip tests when building for the Hurd.
  gnu: zstd: Skip tests when building for the Hurd.
  gnu: cmake-bootstrap: Fix build for the Hurd.
  gnu: cmake-minimal: Skip tests on the Hurd.
  gnu: doxygen: Fix build for the Hurd.
  gnu: graphite2: Skip test on the Hurd.
  gnu: guile-git: Skip http proxy test on the Hurd.
  gnu: glib: Disable tests for the Hurd.
  gnu: ghostscript: Fix build for the Hurd.
  gnu: harfbuzz: Support build for the Hurd.
  gnu: pango: Support build for the Hurd.
  gnu: fontforge: Support build on the Hurd.
  gnu: po4a: Skip failing test on the Hurd.
  gnu: guile-2.0: Skip failing tests on the Hurd.

 gnu/local.mk                                  |   5 +-
 gnu/packages/adns.scm                         |  68 +++++++++--
 gnu/packages/base.scm                         | 101 +++++++++-------
 gnu/packages/cmake.scm                        |  48 +++++---
 gnu/packages/compression.scm                  |   5 +-
 gnu/packages/curl.scm                         |  19 ++-
 gnu/packages/disk.scm                         |   1 +
 gnu/packages/documentation.scm                |  12 +-
 gnu/packages/elf.scm                          |  23 ++++
 gnu/packages/emacs.scm                        |   4 +-
 gnu/packages/fontutils.scm                    | 108 +++++++++++++-----
 gnu/packages/gettext.scm                      |  14 ++-
 gnu/packages/ghostscript.scm                  |  20 +++-
 gnu/packages/glib.scm                         |   3 +-
 gnu/packages/gnupg.scm                        |  92 +++++++++------
 gnu/packages/gtk.scm                          |  39 ++++---
 gnu/packages/guile.scm                        |  40 ++++++-
 gnu/packages/libbsd.scm                       |  12 +-
 gnu/packages/libunistring.scm                 |   8 +-
 gnu/packages/linux.scm                        |  85 +++++++++++++-
 gnu/packages/m4.scm                           |  12 +-
 gnu/packages/multiprecision.scm               |  12 ++
 gnu/packages/patches/doxygen-hurd.patch       |  30 +++++
 gnu/packages/patches/fontforge-hurd.patch     |  82 +++++++++++++
 .../patches/ghostscript-leptonica-hurd.patch  |  78 +++++++++++++
 gnu/packages/python.scm                       |  27 ++++-
 gnu/packages/ruby.scm                         |   9 +-
 gnu/packages/shells.scm                       |   9 +-
 gnu/packages/swig.scm                         |   3 +
 gnu/packages/tcl.scm                          |  10 +-
 gnu/packages/tls.scm                          |  18 ++-
 gnu/packages/version-control.scm              |  11 +-
 32 files changed, 820 insertions(+), 188 deletions(-)
 create mode 100644 gnu/packages/patches/doxygen-hurd.patch
 create mode 100644 gnu/packages/patches/fontforge-hurd.patch
 create mode 100644 gnu/packages/patches/ghostscript-leptonica-hurd.patch


base-commit: 61835f33c6fee35457c7277e3216c10c15d0a391
-- 
2.40.1





^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 01/43] Revert "gnu: libunistring: Fix make check for the Hurd."
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
@ 2023-07-18 14:39 ` Janneke Nieuwenhuizen
  2023-07-18 14:39 ` [bug#64711] [PATCH 02/43] gnu: guile: Skip hanging and failing pipe tests on the Hurd Janneke Nieuwenhuizen
                   ` (43 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:39 UTC (permalink / raw)
  To: 64711

This reverts commit 12e6a5923812abf180f03bea9e07dd99244a3fcd, which used
XFAIL_TESTS to have 'make check' pass with failing tests "test-perror2"
"test-strerror_r" that now pass with glibc-2.37 and libc-for-target in
commencement.
---
 gnu/packages/libunistring.scm | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/libunistring.scm b/gnu/packages/libunistring.scm
index e68b7d2378..eccd053a35 100644
--- a/gnu/packages/libunistring.scm
+++ b/gnu/packages/libunistring.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016, 2018, 2022 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2017 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -28,7 +28,6 @@ (define-module (gnu packages libunistring)
   #:use-module (guix packages)
   #:use-module (guix download)
   #:use-module (guix gexp)
-  #:use-module (guix utils)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages base))
@@ -61,10 +60,7 @@ (define-public libunistring
               (with-directory-excursion (string-append #$output "/lib")
                 (install-file "libunistring.a"
                               (string-append #$output:static "/lib"))
-                (delete-file "libunistring.a")))))
-      #:make-flags (if (target-hurd?)
-                       #~(list "XFAIL_TESTS=test-perror2 test-strerror_r")
-                       #~'())))
+                (delete-file "libunistring.a")))))))
    (synopsis "C library for manipulating Unicode strings")
    (description
     "GNU libunistring is a library providing functions to manipulate
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 02/43] gnu: guile: Skip hanging and failing pipe tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
  2023-07-18 14:39 ` [bug#64711] [PATCH 01/43] Revert "gnu: libunistring: Fix make check for the Hurd." Janneke Nieuwenhuizen
@ 2023-07-18 14:39 ` Janneke Nieuwenhuizen
  2023-07-18 20:18   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
  2023-07-18 14:39 ` [bug#64711] [PATCH 03/43] gnu: coreutils: Skip hanging and failing test on " Janneke Nieuwenhuizen
                   ` (42 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:39 UTC (permalink / raw)
  To: 64711

* gnu/packages/guile.scm (guile-3.0)[arguments]: When building on the Hurd,
add stage 'disable-popen.test-open-pipe' to avoid running the
open-input-pipe test (hangs) and open-output-pipe test (fails.
---
 gnu/packages/guile.scm | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index 48bee600a9..ed20c1dfbc 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -378,6 +378,15 @@ (define-public guile-3.0
                                (search-patch "guile-hurd-posix-spawn.patch")))
                           (invoke "patch" "--force" "-p1" "-i" patch))))
                    #~())
+            #$@(if (system-hurd?)
+                   #~((add-after 'unpack 'disable-popen.test-no-duplicate
+                        ;; This test hangs on the Hurd.
+                        (lambda _
+                          (substitute* "test-suite/tests/popen.test"
+                            (("\\(pass-if \"no duplicate\".*" all)
+                             (string-append all "     (when (string-ci= \"GNU\" (vector-ref (uname) 0)) (throw 'unresolved))
+"))))))
+                   #~())
             #$@(if (target-ppc32?)
                    #~((add-after 'unpack 'adjust-bootstrap-flags
                         (lambda _
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 03/43] gnu: coreutils: Skip hanging and failing test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
  2023-07-18 14:39 ` [bug#64711] [PATCH 01/43] Revert "gnu: libunistring: Fix make check for the Hurd." Janneke Nieuwenhuizen
  2023-07-18 14:39 ` [bug#64711] [PATCH 02/43] gnu: guile: Skip hanging and failing pipe tests on the Hurd Janneke Nieuwenhuizen
@ 2023-07-18 14:39 ` Janneke Nieuwenhuizen
  2023-07-18 20:13   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
  2023-07-18 14:39 ` [bug#64711] [PATCH 04/43] gnu: grep: Update hanging and failing tests on " Janneke Nieuwenhuizen
                   ` (41 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:39 UTC (permalink / raw)
  To: 64711

* gnu/packages/base.scm (coreutils)[arguments]: When building natively on the
Hurd, remove "test/df/unreadable.sh" and "test-perror2" from #:make-flags's
XFAIL_TESTS as they now pass.  Move failing script tests from XFAIL_TESTS to
'remove-tests' phase.  In phase 'remove-tests' rewrite substitute* to skip
tests instead of removing them.  Add hanging and failing tests.
---
 gnu/packages/base.scm | 47 ++++++++++++++++++++++++++++---------------
 1 file changed, 31 insertions(+), 16 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 55fe70309c..e941853d20 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -397,23 +397,13 @@ (define-public coreutils
    (outputs '("out" "debug"))
    (arguments
     `(#:parallel-build? #f            ; help2man may be called too early
-      ,@(if (target-hurd?)
+      ,@(if (system-hurd?)
             '(#:make-flags            ; these tests fail deterministically
-              (list (string-append "XFAIL_TESTS=tests/misc/env-S.pl"
-                                   " tests/misc/kill.sh"
-                                   " tests/misc/nice.sh"
-                                   " tests/misc/pwd-long.sh"
-                                   " tests/split/fail.sh"
-
-                                   ;; /hurd/fifo issue:
-                                   ;; <https://issues.guix.gnu.org/58803>.
-                                   " tests/df/unreadable.sh"
-
+              (list (string-append "XFAIL_TESTS="
                                    ;; Gnulib tests.
                                    " test-fdutimensat"
                                    " test-futimens"
                                    " test-linkat"
-                                   " test-perror2"
                                    " test-renameat"
                                    " test-renameatu"
                                    " test-utimensat")))
@@ -435,10 +425,35 @@ (define-public coreutils
                        (("#!/bin/sh") (string-append "#!" (which "sh"))))))
                  (add-after 'unpack 'remove-tests
                    (lambda _
-                     ,@(if (target-hurd?)
-                           '((substitute* "Makefile.in"
-                               ;; this test hangs
-                               (("^ *tests/misc/timeout-group.sh.*") ""))
+                     ,@(if (system-hurd?)
+                           '((substitute*
+                                 ;; These tests hang
+                                 '("tests/cp/sparse-to-pipe.sh"
+                                   "tests/split/fail.sh"
+                                   ;; These tests error
+                                   "tests/dd/nocache.sh"
+                                   ;; These tests fail
+                                   "tests/cp/sparse.sh"
+                                   "tests/cp/special-f.sh"
+                                   "tests/dd/bytes.sh"
+                                   "tests/dd/stats.sh"
+                                   "tests/ls/dangle.sh"
+                                   "tests/ls/follow-slink.sh"
+                                   "tests/ls/hyperlink.sh"
+                                   "tests/ls/infloop.sh"
+                                   "tests/ls/inode.sh"
+                                   "tests/ls/selinux-segfault.sh"
+                                   "tests/misc/env-S.pl"
+                                   "tests/misc/factor-parallel.sh"
+                                   "tests/misc/ls-misc.pl"
+                                   "tests/misc/nice.sh"
+                                   "tests/misc/pwd-long.sh"
+                                   "tests/misc/shred-passes.sh"
+                                   "tests/misc/stat-slash.sh"
+                                   "tests/rm/fail-eperm.xpl"
+                                   "tests/split/filter.sh")
+                               (("^#!.*" all)
+                                (string-append all "exit 77;\n")))
                              (substitute* "gnulib-tests/Makefile.in"
                                ;; This test sometimes fails and sometimes
                                ;; passes, but it does this consistently, so
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 04/43] gnu: grep: Update hanging and failing tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (2 preceding siblings ...)
  2023-07-18 14:39 ` [bug#64711] [PATCH 03/43] gnu: coreutils: Skip hanging and failing test on " Janneke Nieuwenhuizen
@ 2023-07-18 14:39 ` Janneke Nieuwenhuizen
  2023-07-18 20:23   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
  2023-07-18 14:39 ` [bug#64711] [PATCH 05/43] Revert "gnu: sed: Skip failing test on GNU/Hurd." Janneke Nieuwenhuizen
                   ` (40 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:39 UTC (permalink / raw)
  To: 64711

* gnu/packages/base.scm (grep)[arguments]: When building natively on the Hurd,
remove Rename phase 'skip-triple-backref-test' to 'skip-tests'.  Remove
"tests/triple-backref" as it now passes.  Add the hanging
"tests/hash-collision-perf" test, and the failing "tests/file" test.
---
 gnu/packages/base.scm | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index e941853d20..f1b027b0dc 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -134,21 +134,17 @@ (define-public grep
                                  (string-append bin "/fgrep"))
                 (("^exec grep")
                  (string-append "exec " bin "/grep"))))))
-        ,@(if (target-hurd?)
-              '((add-before 'check 'skip-triple-backref-test
+        ,@(if (system-hurd?)
+              '((add-before 'check 'skip-test
                   (lambda _
-                    ;; This test is marked as malfunctioning on glibc systems
-                    ;; due to
-                    ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=11053>
-                    ;; and it triggers a segfault with glibc 2.33 on GNU/Hurd.
-                    ;; Skip it.
-                    (substitute* "tests/triple-backref"
-                      (("^warn_" all)
-                       (string-append "exit 77\n" all))))))
-              '()))
-      #:make-flags ,(if (target-hurd?)
-                        ''("XFAIL_TESTS=test-perror2 equiv-classes") ;XXX
-                        ''())))
+                    (substitute*
+                        ;; This test hangs
+                        '("tests/hash-collision-perf"
+                          ;; This test fails
+                          "tests/file")
+                      (("^#!.*" all)
+                       (string-append all "exit 77;\n"))))))
+              '()))))
    (synopsis "Print lines matching a pattern")
    (description
      "grep is a tool for finding text inside files.  Text is found by
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 05/43] Revert "gnu: sed: Skip failing test on GNU/Hurd."
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (3 preceding siblings ...)
  2023-07-18 14:39 ` [bug#64711] [PATCH 04/43] gnu: grep: Update hanging and failing tests on " Janneke Nieuwenhuizen
@ 2023-07-18 14:39 ` Janneke Nieuwenhuizen
  2023-07-18 14:39 ` [bug#64711] [PATCH 06/43] gnu: findutils: Move test-strerror_r from XFAIL to skip on the Hurd Janneke Nieuwenhuizen
                   ` (39 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:39 UTC (permalink / raw)
  To: 64711

This reverts commit 779757047997d315d899b40c199be3709115cce4, as
the gnulib "tests-perror2" test now passes.
---
 gnu/packages/base.scm | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index f1b027b0dc..00e59e6f46 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -183,10 +183,6 @@ (define-public sed
                     "  CONFIG_HEADER='$(CONFIG_HEADER)'\t\t\\\n")))))
             (modules '((guix build utils)))))
    (build-system gnu-build-system)
-   (arguments
-    `(#:make-flags ,(if (target-hurd?)
-                        ''("XFAIL_TESTS=test-perror2")
-                        ''())))
    (synopsis "Stream editor")
    (native-inputs (list perl))                    ;for tests
    (description
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 06/43] gnu: findutils: Move test-strerror_r from XFAIL to skip on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (4 preceding siblings ...)
  2023-07-18 14:39 ` [bug#64711] [PATCH 05/43] Revert "gnu: sed: Skip failing test on GNU/Hurd." Janneke Nieuwenhuizen
@ 2023-07-18 14:39 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 07/43] gnu: diffutils: Remove test-perror2 from XFAIL_TESTS " Janneke Nieuwenhuizen
                   ` (38 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:39 UTC (permalink / raw)
  To: 64711

* gnu/packages/base.scm (findutils)[arguments]: When building natively on the
Hurd, remove #:make-flags as "test-strerror_r" fails non-deterministically.
Instead, add 'skip-test' phase and skip it.
---
 gnu/packages/base.scm | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 00e59e6f46..14479c4951 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -340,10 +340,16 @@ (define-public findutils
                      (substitute* '("tests/xargs/verbose-quote.sh"
                                     "tests/find/exec-plus-last-file.sh")
                        (("#!/bin/sh")
-                        (string-append "#!" (which "sh")))))))
-      #:make-flags ,(if (target-hurd?)
-                        ''("XFAIL_TESTS=test-strerror_r")
-                        ''())))
+                        (string-append "#!" (which "sh"))))))
+                 ,@(if (system-hurd?)
+                       '((add-after 'unpack 'skip-tests
+                           (lambda _
+                             (substitute*
+                                 ;; This test fails non-deterministically
+                                 "gnulib-tests/test-strerror_r.c"
+                               (("(^| )main *\\(.*" all)
+                                (string-append all "{\n  exit (77);//"))))))
+                       '()))))
    (synopsis "Operating on files matching given criteria")
    (description
     "Findutils supplies the basic file directory searching utilities of the
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 07/43] gnu: diffutils: Remove test-perror2 from XFAIL_TESTS on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (5 preceding siblings ...)
  2023-07-18 14:39 ` [bug#64711] [PATCH 06/43] gnu: findutils: Move test-strerror_r from XFAIL to skip on the Hurd Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 08/43] gnu: gettext-minimal: Remove XFAIL_TESTS for " Janneke Nieuwenhuizen
                   ` (37 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/base.scm (diffutils)[arguments]: When building natively on the
Hurd, Move "large-subopt" test from #:make-flags' XFAIL_TESTS to a new
'skip-tests' phase.  Remove #:make-flags for the Hurd, as "test-perror2" now
passes.
---
 gnu/packages/base.scm | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm
index 14479c4951..1fdfaf8a57 100644
--- a/gnu/packages/base.scm
+++ b/gnu/packages/base.scm
@@ -303,9 +303,15 @@ (define-public diffutils
             (patches (search-patches "diffutils-fix-signal-processing.patch"))))
    (build-system gnu-build-system)
    (arguments
-    `(#:make-flags ,(if (target-hurd?)
-                        ''("XFAIL_TESTS=test-perror2 large-subopt")
-                        ''())))
+    (list
+     #:phases (if (system-hurd?)
+                  #~(modify-phases %standard-phases
+                      (add-after 'unpack 'skip-tests
+                        (lambda _
+                          (substitute* "tests/large-subopt"
+                            (("^#!.*" all)
+                             (string-append all "exit 77;\n"))))))
+                  #~%standard-phases)))
    (native-inputs (list perl))
    (synopsis "Comparing and merging files")
    (description
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 08/43] gnu: gettext-minimal: Remove XFAIL_TESTS for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (6 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 07/43] gnu: diffutils: Remove test-perror2 from XFAIL_TESTS " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 09/43] gnu: m4: Skip gnulib stack-overflow tests " Janneke Nieuwenhuizen
                   ` (36 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/gettext.scm (gettext-minimal)[arguments]: When building for the
Hurd, remove XTESTS_FAIL from, as "test-perror2" now passes.
---
 gnu/packages/gettext.scm | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 114d8cf7af..0cb01154d3 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -133,10 +133,7 @@ (define-public gettext-minimal
                        #t)))))
 
        ;; When tests fail, we want to know the details.
-       #:make-flags #~'("VERBOSE=yes"
-                        #$@(if (target-hurd?)
-                               '("XFAIL_TESTS=test-perror2")
-                               '()))))
+       #:make-flags #~'("VERBOSE=yes")))
     (home-page "https://www.gnu.org/software/gettext/")
     (synopsis
      "Tools and documentation for translation (used to build other packages)")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 09/43] gnu: m4: Skip gnulib stack-overflow tests for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (7 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 08/43] gnu: gettext-minimal: Remove XFAIL_TESTS for " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 10/43] gnu: openssl: Build fix " Janneke Nieuwenhuizen
                   ` (35 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/m4.scm (m4)[arguments]: When building for the Hurd, add stage
'skip-stack-overflow-tests'.
---
 gnu/packages/m4.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/m4.scm b/gnu/packages/m4.scm
index fbc075a2cb..39b50b6800 100644
--- a/gnu/packages/m4.scm
+++ b/gnu/packages/m4.scm
@@ -2,6 +2,7 @@
 ;;; Copyright © 2012, 2013, 2015 Ludovic Courtès <ludo@gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,7 +24,8 @@ (define-module (gnu packages m4)
   #:use-module (gnu packages)
   #:use-module (guix packages)
   #:use-module (guix download)
-  #:use-module (guix build-system gnu))
+  #:use-module (guix build-system gnu)
+  #:use-module (guix utils))
 
 (define-public m4
   (package
@@ -54,6 +56,14 @@ (define-public m4
             (substitute* "tests/test-execute.sh"
               (("4 5 6")
                "4 6"))))
+        ,@(if (target-hurd?)
+              '((add-after 'unpack 'skip-stack-overflow-tests
+                  (lambda _
+                    (substitute* '("tests/test-sigsegv-catch-stackoverflow1.c"
+                                   "tests/test-sigsegv-catch-stackoverflow2.c")
+                      (("(^| )main *\\(.*" all)
+                       (string-append all "{\n  exit (77);//"))))))
+              '())
         (add-after 'unpack 'configure-shell
           (lambda* (#:key native-inputs inputs #:allow-other-keys)
             (let ((/bin/sh (search-input-file (or native-inputs inputs)
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 10/43] gnu: openssl: Build fix for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (8 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 09/43] gnu: m4: Skip gnulib stack-overflow tests " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 17:53   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests " Ludovic Courtès
  2023-07-18 14:40 ` [bug#64711] [PATCH 11/43] gnu: python: Support native build on " Janneke Nieuwenhuizen
                   ` (34 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/tls.scm (openssl-3.0)[arguments]: When building on the Hurd,
add "hurd-x86" to #:configure-flags.
---
 gnu/packages/tls.scm | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index d94b7c27f5..e8ed0d61a4 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -585,7 +585,13 @@ (define-public openssl-3.0
               (lambda* (#:key native-inputs inputs #:allow-other-keys)
                 (setenv "HASHBANGPERL"
                         (search-input-file (or native-inputs inputs)
-                                           "/bin/perl"))))))))
+                                           "/bin/perl"))))))
+       ((#:configure-flags flags #~'())
+        (if (target-hurd? (%current-system))
+            #~(append
+               #$flags
+               '("hurd-x86"))
+            flags))))
     (license license:asl2.0)))
 
 (define-public openssl openssl-3.0)
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 11/43] gnu: python: Support native build on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (9 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 10/43] gnu: openssl: Build fix " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 12/43] gnu: mpfr: Skip failing test " Janneke Nieuwenhuizen
                   ` (33 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Lars-Dominik Braun, jgart

Running "test_concurrent_futures" and "test_venv" freeze the Hurd.  Tests
"test_multiprocessing_forkserver" and "test_multiprocessing_spawn" run over
10mins. Debian simply skips all tests on the Hurd.

* gnu/packages/python.scm (python-3.10)[arguments]: When building for the
Hurd, add hanging and failing to #:make-flags's --exclude flag.  Also, add
'disable-multi-processing' phase to avoid compileall.py hang during install.
---
 gnu/packages/python.scm | 27 ++++++++++++++++++++++++---
 1 file changed, 24 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm
index 302f995b0f..51d5f598d7 100644
--- a/gnu/packages/python.scm
+++ b/gnu/packages/python.scm
@@ -457,7 +457,7 @@ (define-public python-3.10
                 (format #f "TESTOPTS=-j~d" (parallel-job-count))
                 ;; test_mmap fails on low-memory systems
                 " --exclude test_mmap test_socket"
-                ,@(if (target-hurd?)
+                ,@(if (system-hurd?)
                       '(" test_posix"      ;multiple errors
                         " test_time"
                         " test_pty"
@@ -487,12 +487,33 @@ (define-public python-3.10
                         " test_open_unix_connection"
                         " test_open_unix_connection_error"
                         " test_read_pty_output"
-                        " test_write_pty")
+                        " test_write_pty"
+                        " test_concurrent_futures" ;freeze
+                        " test_venv"       ;freeze
+                        " test_multiprocessing_forkserver" ;runs over 10min
+                        " test_multiprocessing_spawn" ;runs over 10min
+                        " test_builtin"
+                        " test_capi"
+                        " test_dbm_ndbm"
+                        " test_exceptions"
+                        " test_faulthandler"
+                        " test_getopt"
+                        " test_importlib"
+                        " test_json"
+                        " test_multiprocessing_fork"
+                        " test_multiprocessing_main_handling"
+                        " test_pdb "
+                        " test_regrtest"
+                        " test_sqlite")
                       '()))))
        ((#:phases phases)
         `(modify-phases ,phases
            ,@(if (system-hurd?)
-                 `((delete 'patch-regen-for-hurd)) ;regen was removed after 3.5.9
+                 `((delete 'patch-regen-for-hurd)  ;regen was removed after 3.5.9
+                   (add-after 'unpack 'disable-multi-processing
+                     (lambda _
+                       (substitute* "Makefile.pre.in"
+                         (("-j0") "-j1")))))
                  '())
            (add-after 'unpack 'remove-windows-binaries
              (lambda _
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 12/43] gnu: mpfr: Skip failing test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (10 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 11/43] gnu: python: Support native build on " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 17:57   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
  2023-07-18 14:40 ` [bug#64711] [PATCH 13/43] gnu: elfutils: Skip failing tests on " Janneke Nieuwenhuizen
                   ` (32 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/multiprecision.scm (mpfr)[arguments]: When building natively on
the Hurd, add 'skip-tests' phase to skip "tsprintf".
---
 gnu/packages/multiprecision.scm | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm
index 51ba21162c..3aa5dccfab 100644
--- a/gnu/packages/multiprecision.scm
+++ b/gnu/packages/multiprecision.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2018, 2019, 2021, 2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -126,6 +127,17 @@ (define-public mpfr
                                 ".tar.xz"))
             (sha256 (base32
                      "14yr4sf4mys64nzbgnd997l6l4n8l9vsjnnvnb0lh4jh2ggpi8q6"))))
+   (arguments
+    (list
+     #:phases (if (system-hurd?)
+                  #~(modify-phases %standard-phases
+                      (add-after 'unpack 'skip-tests
+                        (lambda _
+                          (substitute*
+                              "tests/tsprintf.c"
+                            (("(^| )main *\\(.*" all)
+                             (string-append all "{\n  exit (77);//"))))))
+                  #~%standard-phases)))
    (build-system gnu-build-system)
    (outputs '("out" "debug"))
    (propagated-inputs (list gmp))            ; <mpfr.h> refers to <gmp.h>
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 13/43] gnu: elfutils: Skip failing tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (11 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 12/43] gnu: mpfr: Skip failing test " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 14/43] gnu: libbsd: Skip failing test " Janneke Nieuwenhuizen
                   ` (31 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/elf.scm (elfutils)[arguments]:  When building natively on the Hurd,
add phase 'skip-tests'.
---
 gnu/packages/elf.scm | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm
index d188099812..a100038f14 100644
--- a/gnu/packages/elf.scm
+++ b/gnu/packages/elf.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2020 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -112,6 +113,28 @@ (define-public elfutils
                      (("run-reverse-sections-self.sh") "")
                      (("run-strip-strmerge.sh") "")
                      (("run-elflint-self.sh") "")))))
+             '())
+         ,@(if (system-hurd?)
+             `((add-after 'unpack 'skip-tests
+                 (lambda _
+                   (substitute* '("tests/elfstrtab.c"
+                                  "tests/emptyfile.c")
+                     (("elf_version \\(EV_CURRENT\\);" all)
+                      "exit (77);"))
+                   (substitute* '("tests/run-all-dwarf-ranges.sh"
+                                  "tests/run-allfcts-multi.sh"
+                                  "tests/run-attr-integrate-skel.sh"
+                                  "tests/run-bug1-test.sh"
+                                  "tests/run-copyadd-sections.sh"
+                                  "tests/run-deleted.sh"
+                                  "tests/run-get-units-split.sh"
+                                  "tests/run-native-test.sh"
+                                  "tests/run-readelf-loc.sh"
+                                  "tests/run-readelf-ranges.sh"
+                                  "tests/run-unit-info.sh"
+                                  "tests/run-varlocs.sh")
+                               (("^#!.*" all)
+                                (string-append all "exit 77;\n"))))))
              '()))))
 
     (native-inputs (list m4))
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 14/43] gnu: libbsd: Skip failing test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (12 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 13/43] gnu: elfutils: Skip failing tests on " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 15/43] gnu: c-ares: Skip failing tests " Janneke Nieuwenhuizen
                   ` (30 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/libbsd.scm (libbsd)[arguments]: When building natively on the
Hurd, add stage 'skip-tests'.
---
 gnu/packages/libbsd.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/libbsd.scm b/gnu/packages/libbsd.scm
index 79f1389081..46a11a61e2 100644
--- a/gnu/packages/libbsd.scm
+++ b/gnu/packages/libbsd.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2016 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2022 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -23,6 +24,7 @@ (define-module (gnu packages libbsd)
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix gexp)
+  #:use-module (guix utils)
   #:use-module (gnu packages crypto))
 
 (define-public libbsd
@@ -64,7 +66,15 @@ (define-public libbsd
                             ;; build container.
                             (substitute* "test/Makefile"
                               (("pwcache\\$\\(EXEEXT\\) ")
-                               "")))))))
+                               ""))))
+                        #$@(if (system-hurd?)
+                               #~((add-after 'unpack 'skip-tests
+                                  (lambda _
+                                    (substitute* "test/explicit_bzero.c"
+                                      (("(^| )main *\\(.*" all)
+                                       (string-append all
+                                                      "{\n  exit (77);//"))))))
+                               #~()))))
     (inputs
      (list libmd))
     (synopsis "Utility functions from BSD systems")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 15/43] gnu: c-ares: Skip failing tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (13 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 14/43] gnu: libbsd: Skip failing test " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 16/43] gnu: libgpg-error: Skip failing test " Janneke Nieuwenhuizen
                   ` (29 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/adns.scm (c-ares)[arguments: When building natively on the
Hurd, add phases 'skip-tests' and 'filter-hurd-tests'.
---
 gnu/packages/adns.scm | 68 ++++++++++++++++++++++++++++++++++++++-----
 1 file changed, 61 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/adns.scm b/gnu/packages/adns.scm
index 913d885af4..ead40bce1b 100644
--- a/gnu/packages/adns.scm
+++ b/gnu/packages/adns.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015, 2016, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2019, 2021 Marius Bakke <marius@gnu.org>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -20,9 +21,11 @@
 ;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
 
 (define-module (gnu packages adns)
+  #:use-module (guix gexp)
   #:use-module (guix licenses)
   #:use-module (guix packages)
   #:use-module (guix download)
+  #:use-module (guix utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages m4)
@@ -76,18 +79,69 @@ (define-public c-ares
                 "1kxviskwsaa7dcgscvssxa8ps88pdq7kq4z93gxvz7sam2l54z8s"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:phases
-       (modify-phases %standard-phases
-         (add-before 'check 'filter-live-tests
-           (lambda _
-             ;; Filter tests that require internet access.
-             (setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*"))))))
+     (list
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-before 'check 'filter-live-tests
+            (lambda _
+              ;; Filter tests that require internet access.
+              (setenv "GTEST_FILTER" "-*.Live*:*.FamilyV4*")))
+          #$@(if (system-hurd?)
+                 #~((add-after 'unpack 'skip-tests
+                      (lambda _
+                        (substitute* "test/ares-test-main.cc"
+                          (("(^| )main *\\(.*" all)
+                           (string-append all "  exit (77);\n")))))
+                    (add-after 'filter-live-tests 'filter-hurd-tests
+                      (lambda _
+                        (setenv "GTEST_FILTER"
+                                (string-append
+                                 (getenv "GTEST_FILTER")
+                                 ":.*Basic/2"
+                                 ":.*CancelImmediate/2"
+                                 ":.*CancelImmediateGetHostByAddr/2"
+                                 ":.*CancelLater/1"
+                                 ":.*FamilyUnspecified/2"
+                                 ":.*FamilyV6/2"
+                                 ":.*GetAddrInfoParallelLookups/1"
+                                 ":.*GetHostByAddrDestroy/2"
+                                 ":.*GetHostByNameCNAMENoData/2"
+                                 ":.*GetHostByNameDestroyAbsolute/2"
+                                 ":.*GetHostByNameDestroyRelative/2"
+                                 ":.*GetHostByNameParallelLookups/1"
+                                 ":.*HostAlias/2"
+                                 ":.*HostAliasMissing/2"
+                                 ":.*HostAliasMissingFile/2"
+                                 ":.*NotImplResponse/2"
+                                 ":.*RefusedResponse/2"
+                                 ":.*Resend/1"
+                                 ":.*RetryWithoutEDNS/2"
+                                 ":.*SearchDomains/2"
+                                 ":.*SearchDomainsBare/2"
+                                 ":.*SearchDomainsServFailOnAAAA/2"
+                                 ":.*SearchDomainsWithResentReply/1"
+                                 ":.*SearchHighNdots/2"
+                                 ":.*SearchNoDataThenFail/2"
+                                 ":.*SearchNoDataThenNoDataBare/2"
+                                 ":.*SearchNoDataThenSuccess/2"
+                                 ":.*ServFailResponse/2"
+                                 ":.*SimpleQuery/2"
+                                 ":.*SockCallback/2"
+                                 ":.*SockConfigureCallback/2"
+                                 ":.*SortListV4/2"
+                                 ":.*SortListV6/2"
+                                 ":.*ThirdServer/2"
+                                 ":.*TruncationRetry/1"
+                                 ":.*UnspecifiedFamilyCname6A4/2"
+                                 ":.*UnspecifiedFamilyV4/2"
+                                 ":.*UnspecifiedFamilyV6/2")))))
+                 #~()))))
     (native-inputs
      (list pkg-config))
     (home-page "https://c-ares.haxx.se/")
     (synopsis "C library for asynchronous DNS requests")
     (description
-      "C-ares is a C library that performs DNS requests and name resolution
+     "C-ares is a C library that performs DNS requests and name resolution
 asynchronously.  It is intended for applications which need to perform DNS
 queries without blocking, or need to perform multiple DNS queries in parallel.
 The primary examples of such applications are servers which communicate with
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 16/43] gnu: libgpg-error: Skip failing test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (14 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 15/43] gnu: c-ares: Skip failing tests " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 17/43] gnu: libgcrypt: Skip hanging benchmark tests " Janneke Nieuwenhuizen
                   ` (28 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/gnupg.scm (libgpg-error)[arguments]: When building natively on
the Hurd, add phase 'skip-tests'.
---
 gnu/packages/gnupg.scm | 82 ++++++++++++++++++++++++------------------
 1 file changed, 48 insertions(+), 34 deletions(-)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 49d29ed9bd..4a9a8fbb57 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -22,6 +22,7 @@
 ;;; Copyright © 2021 Nikita Domnitskii <nikita@domnitskii.me>
 ;;; Copyright © 2021 Aleksandr Vityazev <avityazev@posteo.org>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -94,40 +95,42 @@ (define-public libgpg-error
     (version "1.45")
     (source
      (origin
-      (method url-fetch)
-      (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-"
-                          version ".tar.bz2"))
-      (sha256
-       (base32
-        "09haz1kk48b8q0hd58g98whylah0fp121yfgjms7pzsbzgj8w3sp"))))
+       (method url-fetch)
+       (uri (string-append "mirror://gnupg/libgpg-error/libgpg-error-"
+                           version ".tar.bz2"))
+       (sha256
+        (base32
+         "09haz1kk48b8q0hd58g98whylah0fp121yfgjms7pzsbzgj8w3sp"))))
     (build-system gnu-build-system)
     (arguments
-     (if (%current-target-system)
-         `(#:modules ((guix build gnu-build-system)
-                      (guix build utils))
-           #:phases
-           (modify-phases %standard-phases
-             ;; If this is left out, some generated header
-             ;; files will be sprinkled with ‘\c’, which
-             ;; the compiler won't like.
-             (add-after 'unpack 'fix-gen-lock-obj.sh
-               (lambda _
-                 (substitute* "src/gen-lock-obj.sh"
-                   (("if test -n `echo -n`") "if ! test -n `echo -n`"))))
-             ;; When cross-compiling, some platform specific properties cannot
-             ;; be detected. Create a symlink to the appropriate platform
-             ;; file if required. Note that these platform files depend on
-             ;; both the operating system and architecture!
-             ;;
-             ;; See Cross-Compiling section at:
-             ;; https://github.com/gpg/libgpg-error/blob/master/README
-             (add-after 'unpack 'cross-symlinks
-               (lambda _
-                 (define (link triplet source)
-                   (symlink (string-append "lock-obj-pub." triplet ".h")
-                            (string-append "src/syscfg/lock-obj-pub."
-                                           source ".h")))
-                 ,(let* ((target (%current-target-system))
+     (cond
+      ((%current-target-system)
+       (list
+        #:modules '((guix build gnu-build-system)
+                    (guix build utils))
+        #:phases
+        #~(modify-phases %standard-phases
+            ;; If this is left out, some generated header
+            ;; files will be sprinkled with ‘\c’, which
+            ;; the compiler won't like.
+            (add-after 'unpack 'fix-gen-lock-obj.sh
+              (lambda _
+                (substitute* "src/gen-lock-obj.sh"
+                  (("if test -n `echo -n`") "if ! test -n `echo -n`"))))
+            ;; When cross-compiling, some platform specific properties cannot
+            ;; be detected. Create a symlink to the appropriate platform
+            ;; file if required. Note that these platform files depend on
+            ;; both the operating system and architecture!
+            ;;
+            ;; See Cross-Compiling section at:
+            ;; https://github.com/gpg/libgpg-error/blob/master/README
+            (add-after 'unpack 'cross-symlinks
+              (lambda _
+                (define (link triplet source)
+                  (symlink (string-append "lock-obj-pub." triplet ".h")
+                           (string-append "src/syscfg/lock-obj-pub."
+                                          source ".h")))
+                #$(let* ((target (%current-target-system))
                          (architecture
                           (string-take target (string-index target #\-))))
                     (cond ((target-linux? target)
@@ -140,8 +143,19 @@ (define-public libgpg-error
                              ;; configuration, as this is not correct for
                              ;; all architectures.
                              (_ #t)))
-                          (#t #t)))))))
-         '()))
+                          (#t #t))))))))
+      ((system-hurd?)
+       (list
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'skip-tests
+              (lambda _
+                (substitute*
+                    "tests/t-syserror.c"
+                  (("(^| )main *\\(.*" all)
+                   (string-append all "{\n  exit (77);//"))))))))
+      (else
+       '())))
     (native-inputs (list gettext-minimal))
     (home-page "https://gnupg.org")
     (synopsis "Library of error values for GnuPG components")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 17/43] gnu: libgcrypt: Skip hanging benchmark tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (15 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 16/43] gnu: libgpg-error: Skip failing test " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 18/43] gnu: tcl: Remove failing " Janneke Nieuwenhuizen
                   ` (27 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/gnupg.scm (libgcrypt)[arguments]: When building natively on the
Hurd, add phase 'setenv' to set "GCRYPT_NO_BENCHMARKS".
---
 gnu/packages/gnupg.scm | 10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm
index 4a9a8fbb57..8d92c60bf2 100644
--- a/gnu/packages/gnupg.scm
+++ b/gnu/packages/gnupg.scm
@@ -204,7 +204,15 @@ (define-public libgcrypt
              ,@(if (%current-target-system)
                    ;; When cross-compiling, _gcry_mpih_lshift etc are undefined.
                    `("--disable-asm")
-                   '()))))
+                   '()))
+       ,@(if (system-hurd?)
+             (list
+              #:phases
+              #~(modify-phases %standard-phases
+                  (add-before 'configure 'setenv
+                    (lambda _
+                      (setenv "GCRYPT_NO_BENCHMARKS" "t")))))
+             '())))
     (outputs '("out" "debug"))
     (home-page "https://gnupg.org/")
     (synopsis "Cryptographic function library")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 18/43] gnu: tcl: Remove failing tests on the Hurd..
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (16 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 17/43] gnu: libgcrypt: Skip hanging benchmark tests " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 19/43] gnu: curl: Skip failing test " Janneke Nieuwenhuizen
                   ` (26 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/tcl.scm (tcl)[arguments]: When building natively on the Hurd,
add phase 'delete-tests'.
---
 gnu/packages/tcl.scm | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm
index 2a5fbc6fe8..b69dba2254 100644
--- a/gnu/packages/tcl.scm
+++ b/gnu/packages/tcl.scm
@@ -3,7 +3,7 @@
 ;;; Copyright © 2014, 2015, 2018 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016, 2018 Efraim Flashner <efraim@flashner.co.il>
-;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2016, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2017 Kei Kebreau <kkebreau@posteo.net>
 ;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Julien Lepiller <julien@lepiller.eu>
@@ -69,7 +69,13 @@ (define-public tcl
                        ;; Programs such as Ghostscript rely on it.
                        (with-directory-excursion bin
                          (symlink (car (find-files "." "tclsh"))
-                                  "tclsh"))))))
+                                  "tclsh")))))
+                 ,@(if (system-hurd?)
+                       '((add-after 'unpack 'delete-tests
+                           (lambda _
+                             (delete-file "tests/chanio.test")
+                             (delete-file "tests/socket.test"))))
+                       '()))
 
        ;; By default, man pages are put in PREFIX/man, but we want them in
        ;; PREFIX/share/man.  The 'validate-documentation-location' phase is
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 19/43] gnu: curl: Skip failing test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (17 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 18/43] gnu: tcl: Remove failing " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 20/43] gnu: git: " Janneke Nieuwenhuizen
                   ` (25 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/curl.scm (curl)[arguments]: When building natively on the Hurd,
add phase 'skip-tests'.
---
 gnu/packages/curl.scm | 19 +++++++++++++++++--
 1 file changed, 17 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm
index 76fcc115cf..4e3c563570 100644
--- a/gnu/packages/curl.scm
+++ b/gnu/packages/curl.scm
@@ -11,7 +11,7 @@
 ;;; Copyright © 2019, 2021 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba@kadziolka.net>
 ;;; Copyright © 2020 Dale Mellor <guix-devel-0brg6b@rdmp.org>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2021 Jean-Baptiste Volatier <jbv@pm.me>
 ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus@gmail.com>
@@ -125,7 +125,22 @@ (define-public curl
                 ;; The top-level "make check" does "make -C tests quiet-test", which
                 ;; is too quiet.  Use the "test" target instead, which is more
                 ;; verbose.
-                (invoke "make" "-C" "tests" "test")))))))
+                (invoke "make" "-C" "tests" "test"))))
+          #$@(if (system-hurd?)
+                 #~((add-after 'unpack 'skip-tests
+                      (lambda _
+                        (let ((port (open-file "tests/data/DISABLED" "a")))
+                          (display "526\n" port)
+                          (display "527\n" port)
+                          (display "532\n" port)
+                          (display "533\n" port)
+                          (display "537\n" port)
+                          (display "546\n" port)
+                          (display "575\n" port)
+                          (display "1021\n" port)
+                          (display "1501\n" port)
+                          (close port)))))
+                 #~()))))
     (synopsis "Command line tool for transferring data with URL syntax")
     (description
      "curl is a command line tool for transferring data with URL syntax,
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 20/43] gnu: git: Skip failing test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (18 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 19/43] gnu: curl: Skip failing test " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target Janneke Nieuwenhuizen
                   ` (24 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/version-control.scm (git)[arguments]: When building natively on
the Hurd, add stage 'delete-tests/hurd'.
---
 gnu/packages/version-control.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm
index ecdb1d1781..2f70655ac1 100644
--- a/gnu/packages/version-control.scm
+++ b/gnu/packages/version-control.scm
@@ -28,7 +28,7 @@
 ;;; Copyright © 2020 Roel Janssen <roel@gnu.org>
 ;;; Copyright © 2020, 2021 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego@posteo.net>
 ;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
 ;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike@rohleder.de>
@@ -570,7 +570,14 @@ (define-public git
                     (manpages (assoc-ref inputs "git-manpages")))
                (mkdir-p man)
                (with-directory-excursion man
-                 (invoke "tar" "xvf" manpages))))))))
+                 (invoke "tar" "xvf" manpages)))))
+         ,@(if (system-hurd?)
+               '((add-after 'unpack 'delete-tests/hurd
+                   (lambda _
+                     (delete-file "t/t0052-simple-ipc.sh")
+                     (delete-file "t/t5562-http-backend-content-length.sh")
+                     (delete-file "t/t9902-completion.sh"))))
+               '()))))
 
     (native-search-paths
      ;; For HTTPS access, Git needs a single-file certificate bundle, specified
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (19 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 20/43] gnu: git: " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 15:54   ` Liliana Marie Prikler
  2023-07-18 14:40 ` [bug#64711] [PATCH 22/43] gnu: procps: Skip linux-version test for the Hurd Janneke Nieuwenhuizen
                   ` (23 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Andrew Tropin, Liliana Marie Prikler

* gnu/packages/emacs.scm (emacs)[inputs]: Change glibc to (libc-for-target).
---
 gnu/packages/emacs.scm | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index 437564f6f0..d3689c2474 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2017, 2019, 2020 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
 ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
-;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2017, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2018, 2023 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
 ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me@tobias.gr>
@@ -310,7 +310,7 @@ (define-public emacs
 
            ;; For native compilation
            binutils
-           glibc
+           (libc-for-target)
            libgccjit
 
            ;; Required for "core" functionality, such as dired and compression.
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 22/43] gnu: procps: Skip linux-version test for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (20 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 23/43] gnu: e2fsprogs: Skip failing tests on " Janneke Nieuwenhuizen
                   ` (22 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Leo Famulari, Tobias Geerinckx-Rice

* gnu/packages/linux.scm (procps)[arguments]: When building natively on the
Hurd, add stage 'skip-tests'.
---
 gnu/packages/linux.scm | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 39503de6ff..190c28cb60 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -42,7 +42,7 @@
 ;;; Copyright © 2020 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2020 Chris Marusich <cmmarusich@gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll@gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith@outlook.com>
 ;;; Copyright © 2020 John Soo <jsoo1@asu.edu>
 ;;; Copyright © 2020, 2022 Michael Rohleder <mike@rohleder.de>
@@ -2390,7 +2390,14 @@ (define-public procps
                    (let* ((out #$output)
                           (dup (append-map (cut find-files out <>)
                                            '("^kill" "^uptime"))))
-                     (for-each delete-file dup)))))))
+                     (for-each delete-file dup))))
+               #$@(if (system-hurd?)
+                      #~((add-after 'unpack 'skip-tests
+                           (lambda _
+                             (substitute* "library/tests/test_version.c"
+                               (("^int main\\(.*" all)
+                                (string-append all "{\n  exit (77);//"))))))
+                      #~()))))
     (inputs (list ncurses))
     (native-inputs (list pkg-config))
     (home-page "https://gitlab.com/procps-ng/procps/")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 23/43] gnu: e2fsprogs: Skip failing tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (21 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 22/43] gnu: procps: Skip linux-version test for the Hurd Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 24/43] gnu: parted: Disable tests for " Janneke Nieuwenhuizen
                   ` (21 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Leo Famulari, Tobias Geerinckx-Rice

* gnu/packages/linux.scm (e2fsprogs)[arguments]: When building natively on the
Hurd, add phase 'skip-tests'.
---
 gnu/packages/linux.scm | 74 ++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 72 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 190c28cb60..81658534b5 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2505,7 +2505,7 @@ (define-public e2fsprogs
                          perl
                          procps))
     (arguments
-     '(;; util-linux is the preferred source for some of the libraries and
+     `(;; util-linux is the preferred source for some of the libraries and
        ;; commands, so disable them (see, e.g.,
        ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b33633>.)
        #:configure-flags (list "--disable-libblkid"
@@ -2552,7 +2552,77 @@ (define-public e2fsprogs
                  (let ((archives (find-files lib "\\.a$")))
                    (for-each (lambda (file)
                                (chmod file #o666))
-                             archives))))))))
+                             archives)))))
+           ,@(if (system-hurd?)
+                 '((add-after 'unpack 'skip-tests
+                     (lambda _
+                       (with-directory-excursion "tests"
+                         (for-each
+                          (lambda (directory)
+                            (delete-file-recursively directory))
+                          '("d_bad_ostype"
+                            "f_detect_junk"
+                            "f_extent_oobounds"
+                            "j_ext_long_revoke_trans"
+                            "j_ext_long_trans"
+                            "j_long_revoke_trans"
+                            "j_long_revoke_trans_mcsum_32bit"
+                            "j_long_revoke_trans_mcsum_64bit"
+                            "j_long_trans"
+                            "j_long_trans_mcsum_32bit"
+                            "j_long_trans_mcsum_64bit"
+                            "j_short_revoke_trans"
+                            "j_short_revoke_trans_mcsum_64bit"
+                            "j_short_trans_64bit"
+                            "j_short_trans"
+                            "j_short_trans_mcsum_64bit"
+                            "j_short_trans_old_csum"
+                            "j_short_trans_open_recover"
+                            "j_short_trans_recover"
+                            "j_short_trans_recover_mcsum_64bit"
+                            "j_short_uncommitted_trans"
+                            "j_short_uncommitted_trans_mcsum_64bit"
+                            "m_error_behavior"
+                            "m_minrootdir"
+                            "m_rootdir"
+                            "r_32to64bit_expand_full"
+                            "r_expand_full"
+                            "r_fixup_lastbg_big"
+                            "t_change_uuid"
+                            "t_change_uuid_mcsum"
+                            "t_change_uuid_mcsum_mounted"
+                            "t_change_uuid_mcsum_seed_mounted"
+                            "t_change_uuid_mounted"
+                            "t_disable_changed_csum_seed"
+                            "t_disable_changed_csum_seed_mounted"
+                            "t_disable_csum_seed"
+                            "t_disable_meta_csum_and_seed"
+                            "t_enable_csum_seed"
+                            "t_format_csum_seed"
+                            "t_replay_and_set"
+                            "u_compound_rollback"
+                            "u_corrupt_blk_csum"
+                            "u_corrupt_blk_csum_force"
+                            "u_corrupt_key_csum"
+                            "u_debugfs_opt"
+                            "u_dryrun"
+                            "u_e2fsck_opt"
+                            "u_errorout"
+                            "u_force"
+                            "u_force_dryrun"
+                            "u_incomplete"
+                            "u_mke2fs_opt"
+                            "u_mke2fs_opt_oddsize"
+                            "u_offset"
+                            "u_onefile_bad"
+                            "u_resize2fs_opt"
+                            "u_revert_64bitmcsum_onefile"
+                            "u_revert_all_onefile"
+                            "u_revert_upgrade_to_64bitmcsum"
+                            "u_tune2fs_opt"
+                            "u_undo_undo"
+                            "u_wrong_fs"))))))
+                 '()))))
     (home-page "https://e2fsprogs.sourceforge.net/")
     (synopsis "Creating and checking ext2/ext3/ext4 file systems")
     (description
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 24/43] gnu: parted: Disable tests for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (22 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 23/43] gnu: e2fsprogs: Skip failing tests on " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 25/43] gnu: libpaper: " Janneke Nieuwenhuizen
                   ` (20 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/disk.scm (parted)[argument]: Set #:tests? to #false when
building for the Hurd.
---
 gnu/packages/disk.scm | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 6306504503..35ffcf173e 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -259,6 +259,7 @@ (define-public parted
       #:configure-flags (if (target-hurd?)
                             #~'("--disable-device-mapper")
                             #~'())
+      #:tests? (not (target-hurd?))
       #:phases
       #~(modify-phases %standard-phases
           (add-after 'unpack 'fix-locales-and-python
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 25/43] gnu: libpaper: Disable tests for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (23 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 24/43] gnu: parted: Disable tests for " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 26/43] gnu: cairo: Support building " Janneke Nieuwenhuizen
                   ` (19 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/ghostscript.scm (libpaper)[arguments]: When building for the
Hurd, set #:tests? to #false.
---
 gnu/packages/ghostscript.scm | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 8d35f1195c..94807fdd94 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -9,7 +9,7 @@
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018, 2020, 2022 Marius Bakke <mbakke@fastmail.com>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -89,9 +89,11 @@ (define-public libpaper
     (native-inputs
      (list help2man))
     (arguments
-     '(#:configure-flags '("--disable-static"
-                           ;; Tests require a relocatable build.
-                           "--enable-relocatable")))
+     (list #:configure-flags ''("--disable-static"
+                                 ;; Tests require a relocatable build.
+                                 "--enable-relocatable")
+           ;; --enable-relocate is broken on the Hurd
+           #:tests? (not (target-hurd?))))
     (outputs '("out" "debug"))
     (home-page "https://github.com/rrthomas/libpaper")
     (synopsis "Library for handling paper sizes")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (24 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 25/43] gnu: libpaper: " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 15:57   ` Liliana Marie Prikler
  2023-07-18 14:40 ` [bug#64711] [PATCH 27/43] gnu: openssl-1.1: Fix shared build " Janneke Nieuwenhuizen
                   ` (18 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Liliana Marie Prikler, Maxim Cournoyer, Raghav Gururajan

Gobject-introspection and libdrm does not build for the Hurd.  Poppler depends
on nss, which does not build for the Hurd.

* gnu/packages/gtk.scm (cairo)[native-inputs]: When building for the Hurd, do
not include gobject-introspection.
[inputs]: Likewise, do not include libdrm, poppler.
---
 gnu/packages/gtk.scm | 13 ++++++++++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 9621357b99..eb69a88221 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -35,6 +35,7 @@
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
 ;;; Copyright © 2023 Sergiu Ivanov <sivanov@colimite.fr>
 ;;; Copyright © 2023 Zheng Junjie <873216071@qq.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -194,15 +195,21 @@ (define-public cairo
                        (assoc-ref %outputs "doc")
                        "/share/gtk-doc/html"))))
     (native-inputs
-     `(("gobject-introspection" ,gobject-introspection)
+     `(,@(if (target-hurd?)
+             '()
+             `(("gobject-introspection" ,gobject-introspection)))
        ("pkg-config" ,pkg-config)
        ("python" ,python-wrapper)))
     (inputs
      `(("bash-minimal" ,bash-minimal)   ;for glib-or-gtk-wrap
-       ("drm" ,libdrm)
+       ,@(if (target-hurd?)
+             '()
+             `(("drm" ,libdrm)))
        ("ghostscript" ,ghostscript)
        ("libspectre" ,libspectre)
-       ("poppler" ,poppler)))
+       ,@(if (target-hurd?)
+             '()
+             `(("poppler" ,poppler)))))
     (propagated-inputs
      `( ;; ("cogl" ,cogl)
        ;; ("directfb" ,directfb)
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 27/43] gnu: openssl-1.1: Fix shared build for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (25 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 26/43] gnu: cairo: Support building " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 28/43] gnu: ruby-2.6: Skip test on " Janneke Nieuwenhuizen
                   ` (17 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/tls.scm (openssl-1.1)[arguments]: When building for the Hurd,
add phase 'patch-configure'.
(openssl)[arguments]: And delete it again.
---
 gnu/packages/tls.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/tls.scm b/gnu/packages/tls.scm
index e8ed0d61a4..021c125983 100644
--- a/gnu/packages/tls.scm
+++ b/gnu/packages/tls.scm
@@ -470,6 +470,13 @@ (define-public openssl-1.1
                                 #$(target->openssl-target
                                    (%current-target-system))))))
                  #~())
+          #$@(if (target-hurd?)
+                 #~((add-after 'unpack 'patch-configure
+                      (lambda _
+                        (substitute* "config"
+                          (("case \"\\$GUESSOS\" in.*" all)
+                           (string-append all "hurd-x86*) OUT=hurd-x86;;\n"))))))
+                 #~())
           (replace 'configure
             (lambda* (#:key configure-flags #:allow-other-keys)
               ;; It's not a shebang so patch-source-shebangs misses it.
@@ -585,7 +592,10 @@ (define-public openssl-3.0
               (lambda* (#:key native-inputs inputs #:allow-other-keys)
                 (setenv "HASHBANGPERL"
                         (search-input-file (or native-inputs inputs)
-                                           "/bin/perl"))))))
+                                           "/bin/perl"))))
+            #$@(if (target-hurd?)
+                   #~((delete 'patch-configure))
+                   #~())))
        ((#:configure-flags flags #~'())
         (if (target-hurd? (%current-system))
             #~(append
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 28/43] gnu: ruby-2.6: Skip test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (26 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 27/43] gnu: openssl-1.1: Fix shared build " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 29/43] gnu: tcsh: Skip substitution tests " Janneke Nieuwenhuizen
                   ` (16 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Christopher Baines

* gnu/packages/ruby.scm (ruby-2.7)[arguments]: When building natively on the
Hurd, add phase 'skip-tests'.
---
 gnu/packages/ruby.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm
index b96daad0ff..e0dca646ac 100644
--- a/gnu/packages/ruby.scm
+++ b/gnu/packages/ruby.scm
@@ -33,6 +33,7 @@
 ;;; Copyright © 2022 Taiju HIGASHI <higashi@taiju.info>
 ;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
 ;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -195,7 +196,13 @@ (define-public ruby-2.7
                             "test/ruby/test_system.rb"
                             "tool/rbinstall.rb")
                (("/bin/sh") (which "sh")))
-             #t)))))
+             #t))
+         ,@(if (system-hurd?)
+               '((add-after 'unpack 'skip-tests
+                   (lambda _
+                     (delete-file "bootstraptest/test_io.rb")
+                     (delete-file "test/ruby/test_io.rb"))))
+               '()))))
     (native-inputs
      (list autoconf))))
 
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 29/43] gnu: tcsh: Skip substitution tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (27 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 28/43] gnu: ruby-2.6: Skip test on " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 30/43] gnu: swig: Skip tests when building for " Janneke Nieuwenhuizen
                   ` (15 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/shells.scm (tcsh)[arguments]: When building natively on the
Hurd, add phase 'skip-tests'.
---
 gnu/packages/shells.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index 0dae9ee954..aef22efd01 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -12,7 +12,7 @@
 ;;; Copyright © 2019 Meiyo Peng <meiyo.peng@gmail.com>
 ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
-;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2019, 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
 ;;; Copyright © 2020 Ryan Prior <rprior@protonmail.com>
 ;;; Copyright © 2020, 2022 Efraim Flashner <efraim@flashner.co.il>
@@ -416,6 +416,13 @@ (define-public tcsh
                           (("CC_FOR_GETHOST=\"cc\"")
                            "CC_FOR_GETHOST=\"gcc\"")))))
                  #~())
+          #$@(if (system-hurd?)
+                 #~((add-after 'unpack 'skip-tests
+                      (lambda _
+                        (substitute* "tests/testsuite.at"
+                          (("m4_include\\(\\[subst.at\\]\\)" all)
+                           (string-append "# " all))))))
+                 #~())
           (add-before 'check 'patch-test-scripts
             (lambda _
               ;; Take care of pwd
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 30/43] gnu: swig: Skip tests when building for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (28 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 29/43] gnu: tcsh: Skip substitution tests " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 31/43] gnu: zstd: " Janneke Nieuwenhuizen
                   ` (14 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/swig.scm (swig)[arguments]: When building for the Hurd,
set #:tests? to #false.
---
 gnu/packages/swig.scm | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gnu/packages/swig.scm b/gnu/packages/swig.scm
index 6e2fb8b4e9..42996fa812 100644
--- a/gnu/packages/swig.scm
+++ b/gnu/packages/swig.scm
@@ -4,6 +4,7 @@
 ;;; Copyright © 2018, 2021 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2019 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -25,6 +26,7 @@ (define-module (gnu packages swig)
   #:use-module (guix download)
   #:use-module (guix licenses)
   #:use-module (guix build-system gnu)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages boost)
   #:use-module (gnu packages guile)
@@ -54,6 +56,7 @@ (define-public swig
                          perl))
                      ;;("python" ,python-wrapper)
     (inputs (list pcre))
+    (arguments (list #:tests? (not (target-hurd?))))
     (home-page "https://swig.org/")
     (synopsis
      "Interface compiler that connects C/C++ code to higher-level languages")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 31/43] gnu: zstd: Skip tests when building for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (29 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 30/43] gnu: swig: Skip tests when building for " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 32/43] gnu: cmake-bootstrap: Fix build " Janneke Nieuwenhuizen
                   ` (13 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/compression.scm(zstd)[arguments]: When building for the Hurd,
set #:tests? to #false.
:
---
 gnu/packages/compression.scm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 09ac57668d..e4d3293f9d 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -24,7 +24,7 @@
 ;;; Copyright © 2018 Joshua Sierles, Nextjournal <joshua@nextjournal.com>
 ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail@ambrevar.xyz>
 ;;; Copyright © 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2019, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling@bjoernhoefling.de>
 ;;; Copyright © 2020 Arun Isaac <arunisaac@systemreboot.net>
 ;;; Copyright © 2020, 2021 Lars-Dominik Braun <lars@6xq.net>
@@ -1660,7 +1660,8 @@ (define-public zstd
              "HAVE_LZMA=0"
              ;; Not currently detected, but be explicit & avoid surprises later.
              "HAVE_LZ4=0"
-             "HAVE_ZLIB=0")))
+             "HAVE_ZLIB=0")
+       #:tests? ,(not (target-hurd?))))
     (home-page "https://facebook.github.io/zstd/")
     (synopsis "Zstandard real-time compression algorithm")
     (description "Zstandard (@command{zstd}) is a lossless compression algorithm
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 32/43] gnu: cmake-bootstrap: Fix build for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (30 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 31/43] gnu: zstd: " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 33/43] gnu: cmake-minimal: Skip tests on " Janneke Nieuwenhuizen
                   ` (12 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/cmake.scm (%common-disabled-tests/hurd): New variable.
(cmake-bootstrap) [inputs]: Include libuv for the Hurd too.
[arguments]: Add %common-disabled-tests/hurd to #:make-flags for the Hurd.
Also add a 'patch-hurd' phase to fix the build.
---
 gnu/packages/cmake.scm | 43 +++++++++++++++++++++++++++---------------
 1 file changed, 28 insertions(+), 15 deletions(-)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 821b8808f7..9064ca3822 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -10,7 +10,7 @@
 ;;; Copyright © 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer@gmail.com>
 ;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque@gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2021 Ricardo Wurmus <rekado@elephly.net>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -136,6 +136,19 @@ (define %common-disabled-tests
     ;; This test fails for unknown reason.
     "RunCMake.file-GET_RUNTIME_DEPENDENCIES"))
 
+(define %common-disabled-tests/hurd
+  '("CTestTestTimeout"
+    "CTestTestRerunFailed"
+    "RunCMake.CompilerChange"
+    "RunCMake.ctest_test"
+    "RunCMake.file"
+    "RunCMake.BundleUtilities"
+    "RunCMake.configure_file"
+    "RunCMake.CTestTimeout"
+    "RunCMake.CTestTimeoutAfterMatch"
+    "RunCMake.CommandLine"
+    "RunCMake.CTestCommandLine"))
+
 (define %preserved-third-party-files
   '(;; 'Source/cm_getdate.c' includes archive_getdate.c wholesale, so it must
     ;; be available along with the required headers.
@@ -190,7 +203,10 @@ (define-public cmake-bootstrap
                      "CTestTestSubdir" ; This test fails to build 2 of the 3 tests.
                      ;; This test fails when ARGS (below) is in use, see
                      ;; <https://gitlab.kitware.com/cmake/cmake/issues/17165>.
-                     "CTestCoverageCollectGCOV")))
+                     "CTestCoverageCollectGCOV"
+                     #$@(if (target-hurd?)
+                            %common-disabled-tests/hurd
+                            #~()))))
           (list
            (string-append
             ;; These arguments apply for the tests only.
@@ -210,20 +226,17 @@ (define-public cmake-bootstrap
           ;; CMake uses its own configure script.
           (replace 'configure
             (lambda* (#:key (configure-flags '()) #:allow-other-keys)
-              (apply invoke "./configure" configure-flags))))))
+              (apply invoke "./configure" configure-flags)))
+          #$@(if (target-hurd?)
+                 #~((add-after 'unpack 'patch-hurd
+                      (lambda _
+                        ;; Version 3.25.0 has a similar fix.
+                        (substitute* "Utilities/cmlibuv/src/unix/udp.c"
+                          (("!defined\\(__QNX__\\)")
+                           "!defined(__GNU__)")))))
+                 #~()))))
     (inputs
-     (append
-      (if (target-hurd?)
-          '()
-          (list libuv))                 ;not supported on the Hurd
-      (list bzip2
-            curl
-            expat
-            file
-            jsoncpp
-            libarchive
-            rhash
-            zlib)))
+     (list libuv bzip2 curl expat file jsoncpp libarchive rhash zlib))
     (native-search-paths
      (list (search-path-specification
             (variable "CMAKE_PREFIX_PATH")
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 33/43] gnu: cmake-minimal: Skip tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (31 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 32/43] gnu: cmake-bootstrap: Fix build " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 34/43] gnu: doxygen: Fix build for " Janneke Nieuwenhuizen
                   ` (11 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/cmake.scm (cmake-minimal)[arguments]: When building natively on
the Hurd, add %common-disabled-tests/hurd to skipped tests in phase 'check'.
---
 gnu/packages/cmake.scm | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index 9064ca3822..bc14286070 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -324,7 +324,10 @@ (define-public cmake-minimal
             (lambda* (#:key tests? parallel-tests? #:allow-other-keys)
               (let ((skipped-tests (list #$@%common-disabled-tests
                                          ;; This test requires the bundled libuv.
-                                         "BootstrapTest")))
+                                         "BootstrapTest"
+                                         #$@(if (system-hurd?)
+                                                %common-disabled-tests/hurd
+                                                #~()))))
                 (if tests?
                     (begin
                       (invoke "ctest" "-j" (if parallel-tests?
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 34/43] gnu: doxygen: Fix build for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (32 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 33/43] gnu: cmake-minimal: Skip tests on " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 35/43] gnu: graphite2: Skip test on " Janneke Nieuwenhuizen
                   ` (10 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/patches/doxygen-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/documentation.scm (doxygen)[arguments]: When building for the
Hurd, add new phase 'apply-patch' and use it.
---
 gnu/local.mk                            |  1 +
 gnu/packages/documentation.scm          | 12 +++++++++-
 gnu/packages/patches/doxygen-hurd.patch | 30 +++++++++++++++++++++++++
 3 files changed, 42 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/doxygen-hurd.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 0d0f8c1937..84c4167723 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1066,6 +1066,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/doc++-segfault-fix.patch			\
   %D%/packages/patches/dovecot-opensslv3.patch			\
   %D%/packages/patches/dovecot-trees-support-dovecot-2.3.patch	\
+  %D%/packages/patches/doxygen-hurd.patch			\
   %D%/packages/patches/dstat-fix-crash-when-specifying-delay.patch	\
   %D%/packages/patches/dstat-skip-devices-without-io.patch	\
   %D%/packages/patches/dune-common-skip-failing-tests.patch	\
diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm
index ec70ca4d8f..5d455431d3 100644
--- a/gnu/packages/documentation.scm
+++ b/gnu/packages/documentation.scm
@@ -12,6 +12,7 @@
 ;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
 ;;; Copyright © 2021, 2022 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.counoyer@gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -40,6 +41,7 @@ (define-module (gnu packages documentation)
   #:use-module (guix build-system python)
   #:use-module (guix build-system qt)
   #:use-module (guix deprecation)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages backup)
@@ -224,7 +226,15 @@ (define-public doxygen
               (let ((/bin/sh (search-input-file inputs "/bin/sh")))
                 (substitute* "src/portable.cpp"
                   (("/bin/sh")
-                   /bin/sh))))))))
+                   /bin/sh)))))
+          #$@(if (target-hurd?)
+                 #~((add-after 'unpack 'apply-patch
+                      (lambda _
+                        (let ((patch-file
+                               #$(local-file
+                                  (search-patch "doxygen-hurd.patch"))))
+                          (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+                 #~()))))
     (synopsis "Generate documentation from annotated sources")
     (description "Doxygen is the de facto standard tool for generating
 documentation from annotated C++ sources, but it also supports other popular
diff --git a/gnu/packages/patches/doxygen-hurd.patch b/gnu/packages/patches/doxygen-hurd.patch
new file mode 100644
index 0000000000..a40923184b
--- /dev/null
+++ b/gnu/packages/patches/doxygen-hurd.patch
@@ -0,0 +1,30 @@
+Upstream status: Adapted from upstream.
+
+From d3d968e5835f449d7ea715f45160db81ea906303 Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Tue, 16 Aug 2022 20:29:54 +0200
+Subject: [PATCH] Fix build on GNU/Hurd
+
+There is no path length limitation there, even via pathconf.  But glibc
+provides a getcwd function that allocates the buffer dynamically so we can
+just leverage that.
+---
+ include/ghc/filesystem.hpp | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+--- a/filesystem/filesystem.hpp.orig	2022-08-11 22:14:32.000000000 +0200
++++ b/filesystem/filesystem.hpp	2023-06-13 07:26:25.310000000 +0200
+@@ -4081,6 +4081,13 @@
+         return path();
+     }
+     return path(std::wstring(buffer.get()), path::native_format);
++#elif defined(__GLIBC__)
++    std::unique_ptr<char, decltype(&std::free)> buffer { ::getcwd(NULL, 0), std::free };
++    if (buffer == nullptr) {
++        ec = detail::make_system_error();
++        return path();
++    }
++    return path(buffer.get());
+ #else
+     size_t pathlen = static_cast<size_t>(std::max(int(::pathconf(".", _PC_PATH_MAX)), int(PATH_MAX)));
+     std::unique_ptr<char[]> buffer(new char[pathlen + 1]);
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 35/43] gnu: graphite2: Skip test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (33 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 34/43] gnu: doxygen: Fix build for " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 36/43] gnu: guile-git: Skip http proxy " Janneke Nieuwenhuizen
                   ` (9 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/fontutils.scm (graphite2)[arguments]: When building natively on
the Hurd, replace phase 'check' to set make-flags to skip "awamicmp3" test.
---
 gnu/packages/fontutils.scm | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index e5170b5ae3..64b15fbf05 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2022 Felipe Balbi <balbi@kernel.org>
 ;;; Copyright © 2023 gemmaro <gemmaro.dev@gmail.com>
 ;;; Copyright © 2023 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1369,6 +1370,25 @@ (define-public graphite2
     (list python python-fonttools-minimal))
    (inputs
     (list freetype))
+   (arguments
+    (if (system-hurd?)
+        (list
+         #:phases
+         #~(modify-phases %standard-phases
+             (replace 'check
+               ;; cmake-build-system ignores #:make-flags for make check
+               (lambda* (#:key test-target tests? parallel-tests?
+                         #:allow-other-keys)
+                 (if tests?
+                     (let ((jobs (if parallel-tests?
+                                     (number->string (parallel-job-count))
+                                     "1")))
+                       (invoke "make"
+                               (string-append
+                                "ARGS=-j " jobs " --exclude-regex ^awamicmp3$")
+                               test-target))
+                     (format #t "test suite not run~%"))))))
+        '()))
    (synopsis "Reimplementation of the SIL Graphite text processing engine")
    (description
     "Graphite2 is a reimplementation of the SIL Graphite text processing
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 36/43] gnu: guile-git: Skip http proxy test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (34 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 35/43] gnu: graphite2: Skip test on " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for " Janneke Nieuwenhuizen
                   ` (8 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/guile.scm (guile-git)[arguments]: When building natively on the
Hurd, add phase 'skip-tests/hurd'.
---
 gnu/packages/guile.scm | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index ed20c1dfbc..e9bed75fb1 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -838,7 +838,20 @@ (define-public guile-git
                  (lambda _
                    (substitute* "Makefile.am"
                      ((".*tests/blob\\.scm.*") ""))))))
-           '())))
+           '())
+       ,@(if (system-hurd?)
+             (list
+              #:phases
+              #~(modify-phases %standard-phases
+                  (add-after 'unpack 'skip-tests/hurd
+                    (lambda _
+                      (substitute* "tests/proxy.scm"
+                        (("\\(test-begin.*" all)
+                         (string-append
+                          all
+                          "(when (string-ci= \"GNU\" (vector-ref (uname) 0))\n"
+                          "  (test-skip 1))\n")))))))
+             '())))
     (native-inputs
      (list pkg-config autoconf automake texinfo guile-3.0 guile-bytestructures))
     (inputs
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (35 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 36/43] gnu: guile-git: Skip http proxy " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 15:56   ` Liliana Marie Prikler
  2023-07-18 14:40 ` [bug#64711] [PATCH 38/43] gnu: ghostscript: Fix build " Janneke Nieuwenhuizen
                   ` (7 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Liliana Marie Prikler, Maxim Cournoyer, Raghav Gururajan

* gnu/packages/glib.scm (glib)[arguments]: When building for the Hurd,
set #:tests? to #false.
---
 gnu/packages/glib.scm | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index e988e8dc87..bcbc1f22b1 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
 ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
@@ -241,6 +241,7 @@ (define glib
                "debug"))
     (arguments
      (list
+      #:tests? (not (target-hurd?))
       #:disallowed-references
       (cons tzdata-for-tests
             ;; Verify glib-mkenums, gtester, ... use the cross-compiled
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 38/43] gnu: ghostscript: Fix build for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (36 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 39/43] gnu: harfbuzz: Support " Janneke Nieuwenhuizen
                   ` (6 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/patches/ghostscript-leptonica-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/ghostscript.scm (ghostscript)[arguments]: When building for the
Hurd, add phase 'patch-leptonica' and use it.
---
 gnu/local.mk                                  |  3 +-
 gnu/packages/ghostscript.scm                  | 10 +++
 .../patches/ghostscript-leptonica-hurd.patch  | 78 +++++++++++++++++++
 3 files changed, 89 insertions(+), 2 deletions(-)
 create mode 100644 gnu/packages/patches/ghostscript-leptonica-hurd.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 84c4167723..45b1c1356b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1238,8 +1238,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/ghc-bloomfilter-ghc9.2.patch	\
   %D%/packages/patches/ghc-bytestring-handle-ghc9.patch	\
   %D%/packages/patches/ghc-language-haskell-extract-ghc-8.10.patch	\
-  %D%/packages/patches/ghostscript-CVE-2023-36664.patch		\
-  %D%/packages/patches/ghostscript-CVE-2023-36664-fixup.patch	\
+  %D%/packages/patches/ghostscript-leptonica-hurd.patch		\
   %D%/packages/patches/ghostscript-no-header-id.patch		\
   %D%/packages/patches/ghostscript-no-header-uuid.patch		\
   %D%/packages/patches/ghostscript-no-header-creationdate.patch \
diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm
index 94807fdd94..2d7f07fb40 100644
--- a/gnu/packages/ghostscript.scm
+++ b/gnu/packages/ghostscript.scm
@@ -201,6 +201,16 @@ (define-public ghostscript
                      '()))
       #:phases
       #~(modify-phases %standard-phases
+          #$@(if (target-hurd?)
+                 #~((add-after 'unpack 'patch-leptonica
+                      (lambda _
+                        (let ((patch-file
+                               #$(local-file
+                                  (search-patch
+                                   "ghostscript-leptonica-hurd.patch"))))
+                          (with-directory-excursion "leptonica"
+                            (invoke "patch" "--force" "-p1" "-i" patch-file))))))
+                 #~())
           (add-before 'configure 'create-output-directory
             (lambda _
               ;; The configure script refuses to function if the directory
diff --git a/gnu/packages/patches/ghostscript-leptonica-hurd.patch b/gnu/packages/patches/ghostscript-leptonica-hurd.patch
new file mode 100644
index 0000000000..124365b3e6
--- /dev/null
+++ b/gnu/packages/patches/ghostscript-leptonica-hurd.patch
@@ -0,0 +1,78 @@
+Upstream status: This patch was taken from leptonica upstream.
+
+Backported to ghostscripts bundled leptonica.
+
+From f04da7c816feb1d5f689c34f3d0e7e3621edf1f5 Mon Sep 17 00:00:00 2001
+From: Samuel Thibault <samuel.thibault@ens-lyon.org>
+Date: Wed, 1 Feb 2023 19:35:43 +0100
+Subject: [PATCH] Fix GNU/Hurd build
+
+There is no PATH_MAX limitation on GNU/Hurd, and realpath() can be
+safely be used with its second parameter set to NULL (as required by
+posix since its version 2001).
+---
+ src/sarray1.c | 29 +++++++++++++++++++++++------
+ 1 file changed, 23 insertions(+), 6 deletions(-)
+
+--- a/src/sarray1.c	2023-06-13 12:31:13.393672916 +0200
++++ a/src/sarray1.c	2023-06-13 12:34:13.574237149 +0200
+@@ -1953,7 +1953,11 @@
+ SARRAY *
+ getFilenamesInDirectory(const char  *dirname)
+ {
++#if _POSIX_VERSION >= 200112 || defined(__GLIBC__)
++char           *dir;
++#else
+ char            dir[PATH_MAX + 1];
++#endif
+ char           *realdir, *stat_path, *ignore;
+ size_t          size;
+ SARRAY         *safiles;
+@@ -1976,17 +1980,28 @@
+             * If the file or directory exists, realpath returns its path;
+               else it returns NULL.
+             * If the second arg to realpath is passed in, the canonical path
+-              is returned there.  Use a buffer of sufficient size.  If the
+-              second arg is NULL, the path is malloc'd and returned if the
+-              file or directory exists.
+-           We pass in a buffer for the second arg, and check that the canonical
+-           directory path was made.  The existence of the directory is checked
+-           later, after its actual path is returned by genPathname().  */
++              is returned there.  Use a buffer of sufficient size.
++              We pass in a buffer for the second arg, and check that the
++              canonical directory path was made.  The existence of the
++              directory is checked later, after its actual path is returned by
++              genPathname().
++              With GNU libc or Posix 2001, if the second arg is NULL, the path
++              is malloc'd and returned if the file or directory exists.
++           */
++#if _POSIX_VERSION >= 200112 || defined(__GLIBC__)
++    dir = realpath(dirname, NULL);
++    if (dir == NULL)
++        return (SARRAY *)ERROR_PTR("dir not made", __func__, NULL);
++#else
+     dir[0] = '\0';  /* init empty in case realpath() fails to write it */
+     ignore = realpath(dirname, dir);
+     if (dir[0] == '\0')
+         return (SARRAY *)ERROR_PTR("dir not made", procName, NULL);
++#endif
+     realdir = genPathname(dir, NULL);
++#if _POSIX_VERSION >= 200112 || defined(__GLIBC__)
++    LEPT_FREE(dir);
++#endif
+     if ((pdir = opendir(realdir)) == NULL) {
+         LEPT_FREE(realdir);
+         return (SARRAY *)ERROR_PTR("pdir not opened", procName, NULL);
+@@ -1998,10 +2013,12 @@
+         stat_ret = fstatat(dfd, pdirentry->d_name, &st, 0);
+ #else
+         size = strlen(realdir) + strlen(pdirentry->d_name) + 2;
++#if _POSIX_VERSION < 200112 && !defined(__GLIBC__)
+         if (size > PATH_MAX) {
+             L_ERROR("size = %zu too large; skipping\n", procName, size);
+             continue;
+         }
++#endif
+         stat_path = (char *)LEPT_CALLOC(size, 1);
+         snprintf(stat_path, size, "%s/%s", realdir, pdirentry->d_name);
+         stat_ret = stat(stat_path, &st);
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 39/43] gnu: harfbuzz: Support build for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (37 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 38/43] gnu: ghostscript: Fix build " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 20:13   ` Maxim Cournoyer
  2023-07-18 14:40 ` [bug#64711] [PATCH 40/43] gnu: pango: " Janneke Nieuwenhuizen
                   ` (5 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Liliana Marie Prikler, Maxim Cournoyer, Raghav Gururajan

* gnu/packages/gtk.scm (harfbuzz)[native-inputs]: Do not include
gobject-introspection when building for the Hurd.
---
 gnu/packages/gtk.scm | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index eb69a88221..853696c7f5 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -276,11 +276,13 @@ (define-public harfbuzz
      ;; There are all in the Requires or Requires.private field of '.pc'.
      (list glib graphite2 icu4c))
     (native-inputs
-     (list `(,glib "bin")               ;for glib-mkenums
-           gobject-introspection
-           pkg-config
-           python-wrapper
-           which))
+     `((,glib "bin")               ;for glib-mkenums
+       ,@(if (target-hurd?)
+             '()
+             (list gobject-introspection))
+       ,pkg-config
+       ,python-wrapper
+       ,which))
     (arguments
      (list #:configure-flags
            #~(list "--with-graphite2"
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (38 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 39/43] gnu: harfbuzz: Support " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 20:04   ` Maxim Cournoyer
  2023-07-18 14:40 ` [bug#64711] [PATCH 41/43] gnu: fontforge: Support build on " Janneke Nieuwenhuizen
                   ` (4 subsequent siblings)
  44 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711; +Cc: Liliana Marie Prikler, Maxim Cournoyer, Raghav Gururajan

* gnu/packages/gtk.scm (pango)[native-inputs]: Do not include
gobject-introspection when building for the Hurd.
---
 gnu/packages/gtk.scm | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
index 853696c7f5..15dea2852b 100644
--- a/gnu/packages/gtk.scm
+++ b/gnu/packages/gtk.scm
@@ -401,12 +401,14 @@ (define-public pango
      (list bash-minimal
            zlib))
     (native-inputs
-     (list `(,glib "bin")               ;glib-mkenums, etc.
-           gobject-introspection        ;g-ir-compiler, etc.
-           help2man
-           perl
-           pkg-config
-           python-wrapper))
+     `((,glib "bin")               ;glib-mkenums, etc.
+       ,@(if (target-hurd?)
+             '()
+             (list gobject-introspection)) ;g-ir-compiler, etc.
+       ,help2man
+       ,perl
+       ,pkg-config
+       ,python-wrapper))
     (synopsis "Text and font handling library")
     (description "Pango is a library for laying out and rendering of text, with
 an emphasis on internationalization.  Pango can be used anywhere that text
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 41/43] gnu: fontforge: Support build on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (39 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 40/43] gnu: pango: " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 42/43] gnu: po4a: Skip failing test " Janneke Nieuwenhuizen
                   ` (3 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/patches/fontforge-hurd.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.
* gnu/packages/fontutils.scm (fontforge)[arguments]: When building natively on
the Hurd, add new phase 'apply-hurd-patch' and use it, and replace phase
'check' to skip two tests.
---
 gnu/local.mk                              |  1 +
 gnu/packages/fontutils.scm                | 88 +++++++++++++++--------
 gnu/packages/patches/fontforge-hurd.patch | 82 +++++++++++++++++++++
 3 files changed, 141 insertions(+), 30 deletions(-)
 create mode 100644 gnu/packages/patches/fontforge-hurd.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 45b1c1356b..5befa67e6e 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1147,6 +1147,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/flatpak-unset-gdk-pixbuf-for-sandbox.patch	\
   %D%/packages/patches/fluxbox-1.3.7-no-dynamic-cursor.patch	\
   %D%/packages/patches/fontconfig-cache-ignore-mtime.patch	\
+  %D%/packages/patches/fontforge-hurd.patch			\
   %D%/packages/patches/foobillard++-pkg-config.patch		\
   %D%/packages/patches/foomatic-filters-CVE-2015-8327.patch	\
   %D%/packages/patches/foomatic-filters-CVE-2015-8560.patch	\
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index 64b15fbf05..2cfaa45c37 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -1534,37 +1534,65 @@ (define-public fontforge
              ("python"          ,python)
              ("zlib"            ,zlib)))
    (arguments
-    '(#:configure-flags '(;; TODO: Provide GTK+ for the Wayland-friendly GDK
-                          ;; backend, instead of the legacy X11 backend.
-                          ;; Currently it introduces a circular dependency.
-                          "-DENABLE_X11=ON")
+    (list
+     #:configure-flags #~'( ;; TODO: Provide GTK+ for the Wayland-friendly GDK
+                           ;; backend, instead of the legacy X11 backend.
+                           ;; Currently it introduces a circular dependency.
+                           "-DENABLE_X11=ON")
       #:phases
-      (modify-phases %standard-phases
-        (add-after 'unpack 'do-not-override-RPATH
-          (lambda _
-            ;; Do not attempt to set a default RPATH, as our ld-wrapper
-            ;; already does the right thing.
-            (substitute* "CMakeLists.txt"
-              (("^set_default_rpath\\(\\)")
-               ""))
-            #t))
-        (add-after 'install 'set-library-path
-          (lambda* (#:key inputs outputs #:allow-other-keys)
-            (let ((out (assoc-ref outputs "out"))
-                  (potrace (dirname
-                            (search-input-file inputs "bin/potrace"))))
-              (wrap-program (string-append out "/bin/fontforge")
-                ;; Fontforge dynamically opens libraries.
-                `("LD_LIBRARY_PATH" ":" prefix
-                  ,(map (lambda (input)
-                          (string-append (assoc-ref inputs input)
-                                         "/lib"))
-                        '("libtiff" "libjpeg" "libpng" "libungif"
-                          "libxml2" "zlib" "libspiro" "freetype"
-                          "pango" "cairo" "fontconfig")))
-                ;; Checks for potrace program at runtime
-                `("PATH" ":" prefix (,potrace)))
-              #t))))))
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'do-not-override-RPATH
+            (lambda _
+              ;; Do not attempt to set a default RPATH, as our ld-wrapper
+              ;; already does the right thing.
+              (substitute* "CMakeLists.txt"
+                (("^set_default_rpath\\(\\)")
+                 ""))
+              #t))
+          #$@(if (target-hurd?)
+                 #~((add-after 'unpack 'apply-hurd-patch
+                      (lambda _
+                        (let ((patch-file
+                               #$(local-file
+                                  (search-patch "fontforge-hurd.patch"))))
+                          (invoke "patch" "--force" "-p1" "-i" patch-file)))))
+                 #~())
+          #$@(if (system-hurd?)
+                 #~((replace 'check
+                      ;; cmake-build-system ignores #:make-flags for make check
+                      (lambda* (#:key test-target tests? parallel-tests?
+                                #:allow-other-keys)
+                        (let ((skip '("test0001_py" "test0001_pyhook")))
+                          (if tests?
+                              (let ((jobs
+                                     (if parallel-tests?
+                                         (number->string (parallel-job-count))
+                                         "1")))
+                                (invoke "make"
+                                        (string-append "ARGS=-j " jobs
+                                                       " --exclude-regex ^"
+                                                       (string-join skip "\\|")
+                                                       "$")
+                                        test-target))
+                              (format #t "test suite not run~%"))))))
+                 #~())
+          (add-after 'install 'set-library-path
+            (lambda* (#:key inputs outputs #:allow-other-keys)
+              (let ((out (assoc-ref outputs "out"))
+                    (potrace (dirname
+                              (search-input-file inputs "bin/potrace"))))
+                (wrap-program (string-append out "/bin/fontforge")
+                  ;; Fontforge dynamically opens libraries.
+                  `("LD_LIBRARY_PATH" ":" prefix
+                    ,(map (lambda (input)
+                            (string-append (assoc-ref inputs input)
+                                           "/lib"))
+                          '("libtiff" "libjpeg" "libpng" "libungif"
+                            "libxml2" "zlib" "libspiro" "freetype"
+                            "pango" "cairo" "fontconfig")))
+                  ;; Checks for potrace program at runtime
+                  `("PATH" ":" prefix (,potrace)))
+                #t))))))
    (synopsis "Outline font editor")
    (description
     "FontForge allows you to create and modify postscript, truetype and
diff --git a/gnu/packages/patches/fontforge-hurd.patch b/gnu/packages/patches/fontforge-hurd.patch
new file mode 100644
index 0000000000..20d62b8ce2
--- /dev/null
+++ b/gnu/packages/patches/fontforge-hurd.patch
@@ -0,0 +1,82 @@
+Upstream status: Taken from upstream.
+
+From dca87c025665f0f010f906a4eba96da9794a4d04 Mon Sep 17 00:00:00 2001
+From: Anthony Fok <foka@debian.org>
+Date: Thu, 16 Jun 2022 02:40:23 -0600
+Subject: [PATCH] Define PATH_MAX and MAXPATHLEN for GNU/Hurd compatibility
+
+Special thanks to @henrich, @ucko and @kilobyte for reporting the issue
+and offering suggestions on a fix.
+
+See also https://bugs.debian.org/877795
+
+Fixes #3119
+---
+ inc/basics.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/inc/basics.h b/inc/basics.h
+index b8d65823b..14590c5b1 100644
+--- a/inc/basics.h
++++ b/inc/basics.h
+@@ -123,5 +123,13 @@ static inline int imax(int a, int b)
+ 			last = newitem;		       \
+ 		    }
+ 
++#ifdef __GNU__
++# ifndef PATH_MAX
++#  define PATH_MAX 4096
++# endif
++# ifndef MAXPATHLEN
++#  define MAXPATHLEN 4096
++# endif
++#endif
+ 
+ #endif /* FONTFORGE_BASICS_H */
+-- 
+2.40.1
+
+From e0480f143f27f8f2686b5b14d7d302fe22f35002 Mon Sep 17 00:00:00 2001
+From: Anthony Fok <foka@debian.org>
+Date: Thu, 16 Jun 2022 03:06:56 -0600
+Subject: [PATCH] Undefine "extended" macro temporarily on GNU Hurd
+
+GNU Mach microkernel header files (gnumach-dev 1.8+git20201129) added to
+struct i386_xfp_save in /usr/include/i386-gnu/include/mach/i386/fp_reg.h
+a new "extended" field which happens to collide with the macro definition
+"#define extended double" in FontForge, leading to FTBFS on GNU Hurd.
+
+This issue may be circumvented by temporarily undefining the "extended"
+macro before loading `<gio/gio.h>` and friends, and redefining the
+"extended" macro right after.
+---
+ inc/ffglib.h | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/inc/ffglib.h b/inc/ffglib.h
+index f3419f0ab..25fe9ebde 100644
+--- a/inc/ffglib.h
++++ b/inc/ffglib.h
+@@ -26,11 +26,19 @@
+ #define GMenuItem GMenuItem_GIO
+ #define GTimer GTimer_GTK
+ 
++#ifdef __GNU__
++# undef extended
++#endif
++
+ #include <gio/gio.h>
+ #include <glib-object.h>
+ #include <glib.h>
+ #include <glib/gstdio.h>
+ 
++#ifdef __GNU__
++# define extended	double
++#endif
++
+ #undef GList
+ #undef GMenuItem
+ #undef GTimer
+-- 
+2.40.1
+
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 42/43] gnu: po4a: Skip failing test on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (40 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 41/43] gnu: fontforge: Support build on " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:40 ` [bug#64711] [PATCH 43/43] gnu: guile-2.0: Skip failing tests " Janneke Nieuwenhuizen
                   ` (2 subsequent siblings)
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/gettext.scm (po4a)[arguments]: When building natively on the
Hurd, add phase 'skip-tests/hurd'.
---
 gnu/packages/gettext.scm | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/gettext.scm b/gnu/packages/gettext.scm
index 0cb01154d3..99a4d4edbc 100644
--- a/gnu/packages/gettext.scm
+++ b/gnu/packages/gettext.scm
@@ -279,7 +279,14 @@ (define-public po4a
           (add-before 'check 'disable-failing-tests
             (lambda _
               ;; FIXME: fails despite of importing SGMLS
-              (delete-file "t/fmt-sgml.t"))))))
+              (delete-file "t/fmt-sgml.t")))
+          #$@(if (system-hurd?)
+                 #~((add-after 'unpack 'skip-tests/hurd
+                      (lambda _
+                        (delete-file "t/cfg-multi.t")
+                        (delete-file "t/cfg-single.t")
+                        (delete-file "t/cfg-split.t"))))
+                 #~()))))
     (native-inputs
      (list gettext-minimal
            perl-module-build
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 43/43] gnu: guile-2.0: Skip failing tests on the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (41 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 42/43] gnu: po4a: Skip failing test " Janneke Nieuwenhuizen
@ 2023-07-18 14:40 ` Janneke Nieuwenhuizen
  2023-07-18 14:48 ` [bug#64711] [PATCH 00/43] Fix builds and skip failing tests for " Janneke Nieuwenhuizen
  2023-07-18 20:29 ` [bug#64711] [PATCH 00/45] " Ludovic Courtès
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:40 UTC (permalink / raw)
  To: 64711

* gnu/packages/guile.scm (guile-2.0)[arguments]: When building natively on the
Hurd, add stage 'disable-threads.tests'...
(guile-2.2): ...and when building natively on the Hurd, delete it again.
---
 gnu/packages/guile.scm | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm
index e9bed75fb1..9aefead3b3 100644
--- a/gnu/packages/guile.scm
+++ b/gnu/packages/guile.scm
@@ -212,8 +212,13 @@ (define-public guile-2.0
                     (rename-file "test-suite/tests/srfi-18.test" "srfi-18.test")
                     ;; failed to remove 't-guild-compile-7215.go.tdL7yC
                     (substitute* "test-suite/standalone/Makefile.in"
-                      (("test-guild-compile ") ""))
-                    #t)))
+                      (("test-guild-compile ") "")))))
+              '())
+        ,@(if (system-hurd?)
+              '((add-after 'unpack 'disable-threads.tests
+                  (lambda _
+                    ;; Many tests hang, esp. (join-thread ..), also others.
+                    (rename-file "test-suite/tests/threads.test" "threads.test"))))
               '())
         (add-before 'configure 'pre-configure
           (lambda* (#:key inputs #:allow-other-keys)
@@ -286,7 +291,12 @@ (define-public guile-2.2
         (if (target-x86-32?)            ;<https://issues.guix.gnu.org/49368>
             `(append '("--disable-static")
                  '("CFLAGS=-g -O2 -fexcess-precision=standard"))
-            flags))))
+            flags))
+       ((#:phases phases '%standard-phases)
+        #~(modify-phases #$phases
+            #$@(if (system-hurd?)
+                   #~((delete 'disable-threads.tests))
+                   '())))))
 
     (properties '((timeout . 72000)               ;20 hours
                   (max-silent-time . 36000)))     ;10 hours (needed on ARM
-- 
2.40.1





^ permalink raw reply related	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/43] Fix builds and skip failing tests for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (42 preceding siblings ...)
  2023-07-18 14:40 ` [bug#64711] [PATCH 43/43] gnu: guile-2.0: Skip failing tests " Janneke Nieuwenhuizen
@ 2023-07-18 14:48 ` Janneke Nieuwenhuizen
  2023-07-18 20:29 ` [bug#64711] [PATCH 00/45] " Ludovic Courtès
  44 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 14:48 UTC (permalink / raw)
  To: 64711

Janneke Nieuwenhuizen writes:

The 00/45 should really be 00/43:

> Janneke Nieuwenhuizen (43):
[..]

as I decided to skip two non-build fix/test-skip patches for now.

Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target.
  2023-07-18 14:40 ` [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target Janneke Nieuwenhuizen
@ 2023-07-18 15:54   ` Liliana Marie Prikler
  2023-07-18 16:39     ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Liliana Marie Prikler @ 2023-07-18 15:54 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen, 64711; +Cc: Andrew Tropin

Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
Nieuwenhuizen:
> * gnu/packages/emacs.scm (emacs)[inputs]: Change glibc to (libc-for-
> target).
> ---
>  gnu/packages/emacs.scm | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
> index 437564f6f0..d3689c2474 100644
> --- a/gnu/packages/emacs.scm
> +++ b/gnu/packages/emacs.scm
> @@ -12,7 +12,7 @@
>  ;;; Copyright © 2017, 2019, 2020 Maxim Cournoyer
> <maxim.cournoyer@gmail.com>
>  ;;; Copyright © 2017 Alex Vong <alexvong1995@gmail.com>
>  ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado@elephly.net>
> -;;; Copyright © 2017 Jan Nieuwenhuizen <janneke@gnu.org>
> +;;; Copyright © 2017, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
>  ;;; Copyright © 2018, 2023 Efraim Flashner <efraim@flashner.co.il>
>  ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe@gmail.com>
>  ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice
> <me@tobias.gr>
> @@ -310,7 +310,7 @@ (define-public emacs
>  
>             ;; For native compilation
>             binutils
> -           glibc
> +           (libc-for-target)
>             libgccjit
>  
>             ;; Required for "core" functionality, such as dired and
> compression.
LGTM




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
  2023-07-18 14:40 ` [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for " Janneke Nieuwenhuizen
@ 2023-07-18 15:56   ` Liliana Marie Prikler
  2023-07-18 16:32     ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Liliana Marie Prikler @ 2023-07-18 15:56 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen, 64711; +Cc: Raghav Gururajan, Maxim Cournoyer

Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
Nieuwenhuizen:
> * gnu/packages/glib.scm (glib)[arguments]: When building for the
> Hurd,
> set #:tests? to #false.
> ---
>  gnu/packages/glib.scm | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
> index e988e8dc87..bcbc1f22b1 100644
> --- a/gnu/packages/glib.scm
> +++ b/gnu/packages/glib.scm
> @@ -14,7 +14,7 @@
>  ;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
>  ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
>  ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
>  ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
>  ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
>  ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
> @@ -241,6 +241,7 @@ (define glib
>                 "debug"))
>      (arguments
>       (list
> +      #:tests? (not (target-hurd?))
>        #:disallowed-references
>        (cons tzdata-for-tests
>              ;; Verify glib-mkenums, gtester, ... use the cross-
> compiled
Instead of disabling tests altogether, can we just disable those that
fail on the Hurd?





^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the Hurd.
  2023-07-18 14:40 ` [bug#64711] [PATCH 26/43] gnu: cairo: Support building " Janneke Nieuwenhuizen
@ 2023-07-18 15:57   ` Liliana Marie Prikler
  2023-07-18 16:33     ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Liliana Marie Prikler @ 2023-07-18 15:57 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen, 64711; +Cc: Raghav Gururajan, Maxim Cournoyer

Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
Nieuwenhuizen:
> Gobject-introspection and libdrm does not build for the Hurd. 
> Poppler depends
> on nss, which does not build for the Hurd.
> 
> * gnu/packages/gtk.scm (cairo)[native-inputs]: When building for the
> Hurd, do
> not include gobject-introspection.
> [inputs]: Likewise, do not include libdrm, poppler.
Could we provide a minimal gobject-introspection that builds for the
hurd?

Cheers




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
  2023-07-18 15:56   ` Liliana Marie Prikler
@ 2023-07-18 16:32     ` Janneke Nieuwenhuizen
  2023-07-18 20:05       ` Maxim Cournoyer
  0 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 16:32 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: Raghav Gururajan, ludo, 64711, Maxim Cournoyer

Liliana Marie Prikler writes:

> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
> Nieuwenhuizen:
>> * gnu/packages/glib.scm (glib)[arguments]: When building for the
>> Hurd,
>> set #:tests? to #false.

[..]
>> +      #:tests? (not (target-hurd?))

>> compiled

> Instead of disabling tests altogether, can we just disable those that
> fail on the Hurd?

We probably can, and I have tried to do so in most cases.  However,
identifying those tests can be quite time consuming.  I'm not sure how
many tests failed here, and note that some tests will hang or crash the
Hurd, so if we decide to do this, I would appreciate some help :-)

Ludo on the other hand, argued against having more than ~20 (IIRC) test
exceptions and using #:tests? #f instead.

My idea was to get guix to build natively, and guix pull to work.  Once
we get those to work, we can possibly look forward to more contributors
to this.

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the Hurd.
  2023-07-18 15:57   ` Liliana Marie Prikler
@ 2023-07-18 16:33     ` Janneke Nieuwenhuizen
  2023-07-18 20:06       ` Maxim Cournoyer
  0 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 16:33 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: Raghav Gururajan, ludo, 64711, Maxim Cournoyer

Liliana Marie Prikler writes:

> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
> Nieuwenhuizen:
>> Gobject-introspection and libdrm does not build for the Hurd. 
>> Poppler depends
>> on nss, which does not build for the Hurd.
>> 
>> * gnu/packages/gtk.scm (cairo)[native-inputs]: When building for the
>> Hurd, do
>> not include gobject-introspection.
>> [inputs]: Likewise, do not include libdrm, poppler.

> Could we provide a minimal gobject-introspection that builds for the
> hurd?

That would be nice.  Note that Debian doesn't support
gobject-introspection on the Hurd, unless I'm mistaken. 

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target.
  2023-07-18 15:54   ` Liliana Marie Prikler
@ 2023-07-18 16:39     ` Janneke Nieuwenhuizen
  0 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 16:39 UTC (permalink / raw)
  To: Liliana Marie Prikler; +Cc: 64711, Andrew Tropin

Liliana Marie Prikler writes:

> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
> Nieuwenhuizen:
>> * gnu/packages/emacs.scm (emacs)[inputs]: Change glibc to (libc-for-
>> target).

[..]

>> @@ -310,7 +310,7 @@ (define-public emacs
>>  
>>             ;; For native compilation
>>             binutils
>> -           glibc
>> +           (libc-for-target)
>>             libgccjit
>>  
>>             ;; Required for "core" functionality, such as dired and
>> compression.

> LGTM

Thanks!  Pushed to master as 772eaa69f31457aa19ca4dc4ce755c791d722054.

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 14:40 ` [bug#64711] [PATCH 10/43] gnu: openssl: Build fix " Janneke Nieuwenhuizen
@ 2023-07-18 17:53   ` Ludovic Courtès
  2023-07-18 18:04     ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Ludovic Courtès @ 2023-07-18 17:53 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: 64711

Hi,

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

> * gnu/packages/tls.scm (openssl-3.0)[arguments]: When building on the Hurd,
> add "hurd-x86" to #:configure-flags.

[...]

> +       ((#:configure-flags flags #~'())
> +        (if (target-hurd? (%current-system))

Should it be (target-hurd?) with no arguments, so it also affects
cross-compilation?  If not, maybe add “;native builds” or similar as a
margin comment to make it clear that it’s on purpose.

> +            #~(append
> +               #$flags
> +               '("hurd-x86"))

On a single line please.  :-)

Ludo’.




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 14:40 ` [bug#64711] [PATCH 12/43] gnu: mpfr: Skip failing test " Janneke Nieuwenhuizen
@ 2023-07-18 17:57   ` Ludovic Courtès
  0 siblings, 0 replies; 78+ messages in thread
From: Ludovic Courtès @ 2023-07-18 17:57 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: 64711

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

> * gnu/packages/multiprecision.scm (mpfr)[arguments]: When building natively on
> the Hurd, add 'skip-tests' phase to skip "tsprintf".

[...]

> +     #:phases (if (system-hurd?)

A side note on this, which predates this patch series: there no other
‘system-’ predicate; I think it may have been clearer to use
(target-hurd?) or (and (not (%current-target-system)) (target-hurd?)) or
similar, as is done for other platforms.

> +                          (substitute*
> +                              "tests/tsprintf.c"

On a single line please.  :-)

(I wonder why it’s failing; is it a problem of precision on 32-bit
platforms, or just on i586?)

Ludo’.




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 17:53   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests " Ludovic Courtès
@ 2023-07-18 18:04     ` Janneke Nieuwenhuizen
  0 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 18:04 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 64711

Ludovic Courtès writes:

> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>
>> * gnu/packages/tls.scm (openssl-3.0)[arguments]: When building on the Hurd,
>> add "hurd-x86" to #:configure-flags.
>
> [...]
>
>> +       ((#:configure-flags flags #~'())
>> +        (if (target-hurd? (%current-system))
>
> Should it be (target-hurd?) with no arguments, so it also affects
> cross-compilation?

No, but I'll change it to "(system-hurd?)" (chronologically, I only
decided to add system-hurd two weeks later).

> If not, maybe add “;native builds” or similar as a
> margin comment to make it clear that it’s on purpose.

Using system-hurd? is probably indicative enough, but because it *must*
not be used when cross building, I'll add a comment.

>
>> +            #~(append
>> +               #$flags
>> +               '("hurd-x86"))
>
> On a single line please.  :-)

Changed to

        (if (system-hurd?)
            #~(append #$flags '("hurd-x86")) ;must not be used when
                                             ;cross-compiling!
            flags))))

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
  2023-07-18 14:40 ` [bug#64711] [PATCH 40/43] gnu: pango: " Janneke Nieuwenhuizen
@ 2023-07-18 20:04   ` Maxim Cournoyer
  2023-07-18 20:15     ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Maxim Cournoyer @ 2023-07-18 20:04 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: Raghav Gururajan, 64711, Liliana Marie Prikler

Hi Janneke,

Thanks for your efforts on this.

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

> * gnu/packages/gtk.scm (pango)[native-inputs]: Do not include
> gobject-introspection when building for the Hurd.
> ---
>  gnu/packages/gtk.scm | 14 ++++++++------
>  1 file changed, 8 insertions(+), 6 deletions(-)
>
> diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
> index 853696c7f5..15dea2852b 100644
> --- a/gnu/packages/gtk.scm
> +++ b/gnu/packages/gtk.scm
> @@ -401,12 +401,14 @@ (define-public pango
>       (list bash-minimal
>             zlib))
>      (native-inputs
> -     (list `(,glib "bin")               ;glib-mkenums, etc.
> -           gobject-introspection        ;g-ir-compiler, etc.
> -           help2man
> -           perl
> -           pkg-config
> -           python-wrapper))
> +     `((,glib "bin")               ;glib-mkenums, etc.
> +       ,@(if (target-hurd?)
> +             '()
> +             (list gobject-introspection)) ;g-ir-compiler, etc.
> +       ,help2man
> +       ,perl
> +       ,pkg-config
> +       ,python-wrapper))

Stylistically, I think it'd be better to use append (and 'if') here than
quasiquotes (to avoid having to unquote all inputs).

Otherwise it LGTM.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
  2023-07-18 16:32     ` Janneke Nieuwenhuizen
@ 2023-07-18 20:05       ` Maxim Cournoyer
  2023-07-20  8:19         ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Maxim Cournoyer @ 2023-07-18 20:05 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen
  Cc: Raghav Gururajan, ludo, 64711, Liliana Marie Prikler

Hello,

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

> Liliana Marie Prikler writes:
>
>> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
>> Nieuwenhuizen:
>>> * gnu/packages/glib.scm (glib)[arguments]: When building for the
>>> Hurd,
>>> set #:tests? to #false.
>
> [..]
>>> +      #:tests? (not (target-hurd?))
>
>>> compiled
>
>> Instead of disabling tests altogether, can we just disable those that
>> fail on the Hurd?
>
> We probably can, and I have tried to do so in most cases.  However,
> identifying those tests can be quite time consuming.  I'm not sure how
> many tests failed here, and note that some tests will hang or crash the
> Hurd, so if we decide to do this, I would appreciate some help :-)
>
> Ludo on the other hand, argued against having more than ~20 (IIRC) test
> exceptions and using #:tests? #f instead.
>
> My idea was to get guix to build natively, and guix pull to work.  Once
> we get those to work, we can possibly look forward to more contributors
> to this.

I agree with Liliana that it's nicer to disable just these tests that
fail, but in light of what you wrote, your approach seems reasonable.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the Hurd.
  2023-07-18 16:33     ` Janneke Nieuwenhuizen
@ 2023-07-18 20:06       ` Maxim Cournoyer
  2023-07-19  9:30         ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Maxim Cournoyer @ 2023-07-18 20:06 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen
  Cc: Raghav Gururajan, ludo, 64711, Liliana Marie Prikler

Hi,

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

> Liliana Marie Prikler writes:
>
>> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
>> Nieuwenhuizen:
>>> Gobject-introspection and libdrm does not build for the Hurd. 
>>> Poppler depends
>>> on nss, which does not build for the Hurd.
>>> 
>>> * gnu/packages/gtk.scm (cairo)[native-inputs]: When building for the
>>> Hurd, do
>>> not include gobject-introspection.
>>> [inputs]: Likewise, do not include libdrm, poppler.
>
>> Could we provide a minimal gobject-introspection that builds for the
>> hurd?
>
> That would be nice.  Note that Debian doesn't support
> gobject-introspection on the Hurd, unless I'm mistaken. 

I wonder what prevents gobject-introspection from running on the Hurd?

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 14:39 ` [bug#64711] [PATCH 03/43] gnu: coreutils: Skip hanging and failing test on " Janneke Nieuwenhuizen
@ 2023-07-18 20:13   ` Ludovic Courtès
  2023-07-18 20:23     ` Janneke Nieuwenhuizen
  2023-07-18 20:23     ` Janneke Nieuwenhuizen
  0 siblings, 2 replies; 78+ messages in thread
From: Ludovic Courtès @ 2023-07-18 20:13 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: 64711

Hello!

Great work!

A general comment: these changes to test suites were made based on
feedback from non-chrooted builds, whose outcome is influenced by system
state such as running translators.  Until we have chroot builds, I think
we should be cautious and not invest too much time.

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

> * gnu/packages/base.scm (coreutils)[arguments]: When building natively on the
> Hurd, remove "test/df/unreadable.sh" and "test-perror2" from #:make-flags's
> XFAIL_TESTS as they now pass.  Move failing script tests from XFAIL_TESTS to
> 'remove-tests' phase.  In phase 'remove-tests' rewrite substitute* to skip
> tests instead of removing them.  Add hanging and failing tests.

[...]

> +                           '((substitute*
> +                                 ;; These tests hang
> +                                 '("tests/cp/sparse-to-pipe.sh"
> +                                   "tests/split/fail.sh"
> +                                   ;; These tests error
> +                                   "tests/dd/nocache.sh"
> +                                   ;; These tests fail
> +                                   "tests/cp/sparse.sh"
> +                                   "tests/cp/special-f.sh"
> +                                   "tests/dd/bytes.sh"
> +                                   "tests/dd/stats.sh"
> +                                   "tests/ls/dangle.sh"
> +                                   "tests/ls/follow-slink.sh"
> +                                   "tests/ls/hyperlink.sh"
> +                                   "tests/ls/infloop.sh"
> +                                   "tests/ls/inode.sh"
> +                                   "tests/ls/selinux-segfault.sh"
> +                                   "tests/misc/env-S.pl"
> +                                   "tests/misc/factor-parallel.sh"
> +                                   "tests/misc/ls-misc.pl"
> +                                   "tests/misc/nice.sh"
> +                                   "tests/misc/pwd-long.sh"
> +                                   "tests/misc/shred-passes.sh"
> +                                   "tests/misc/stat-slash.sh"
> +                                   "tests/rm/fail-eperm.xpl"
> +                                   "tests/split/filter.sh")
> +                               (("^#!.*" all)
> +                                (string-append all "exit 77;\n")))

For example, I wonder how reliable this long list is.  Some of these
tests may fiddle with /proc, /etc/fstab, and other things not under
control, which means some might suddenly pass for some reason.  So I
wonder if we should just #:tests? #f in this case.

Thoughts?

(With other, higher-level test suites with a couple of failures, it’s
probably still a good idea to skip individual tests instead of the whole
test suite.)

Ludo’.




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 39/43] gnu: harfbuzz: Support build for the Hurd.
  2023-07-18 14:40 ` [bug#64711] [PATCH 39/43] gnu: harfbuzz: Support " Janneke Nieuwenhuizen
@ 2023-07-18 20:13   ` Maxim Cournoyer
  0 siblings, 0 replies; 78+ messages in thread
From: Maxim Cournoyer @ 2023-07-18 20:13 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: Raghav Gururajan, 64711, Liliana Marie Prikler

Hi,

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

> * gnu/packages/gtk.scm (harfbuzz)[native-inputs]: Do not include
> gobject-introspection when building for the Hurd.
> ---
>  gnu/packages/gtk.scm | 12 +++++++-----
>  1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
> index eb69a88221..853696c7f5 100644
> --- a/gnu/packages/gtk.scm
> +++ b/gnu/packages/gtk.scm
> @@ -276,11 +276,13 @@ (define-public harfbuzz
>       ;; There are all in the Requires or Requires.private field of '.pc'.
>       (list glib graphite2 icu4c))
>      (native-inputs
> -     (list `(,glib "bin")               ;for glib-mkenums
> -           gobject-introspection
> -           pkg-config
> -           python-wrapper
> -           which))
> +     `((,glib "bin")               ;for glib-mkenums
> +       ,@(if (target-hurd?)
> +             '()
> +             (list gobject-introspection))
> +       ,pkg-config
> +       ,python-wrapper
> +       ,which))

Here also (basically when it's touching label-free inputs), I'd use
append with a conditional to avoid the unquote noise.

Otherwise LGTM.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
  2023-07-18 20:04   ` Maxim Cournoyer
@ 2023-07-18 20:15     ` Janneke Nieuwenhuizen
  2023-07-19  0:56       ` Maxim Cournoyer
  0 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 20:15 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Raghav Gururajan, 64711, Liliana Marie Prikler

Maxim Cournoyer writes:

Hi Maxim,

> Thanks for your efforts on this.

Sure.  It's been fun, but a lot of work (world rebuilds) indeed.  Things
will get a lot better once we have CI for these native Hurd builds.

> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> * gnu/packages/gtk.scm (pango)[native-inputs]: Do not include
>> gobject-introspection when building for the Hurd.
>> ---
>>  gnu/packages/gtk.scm | 14 ++++++++------
>>  1 file changed, 8 insertions(+), 6 deletions(-)
>>
>> diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm
>> index 853696c7f5..15dea2852b 100644
>> --- a/gnu/packages/gtk.scm
>> +++ b/gnu/packages/gtk.scm
>> @@ -401,12 +401,14 @@ (define-public pango
>>       (list bash-minimal
>>             zlib))
>>      (native-inputs
>> -     (list `(,glib "bin")               ;glib-mkenums, etc.
>> -           gobject-introspection        ;g-ir-compiler, etc.
>> -           help2man
>> -           perl
>> -           pkg-config
>> -           python-wrapper))
>> +     `((,glib "bin")               ;glib-mkenums, etc.
>> +       ,@(if (target-hurd?)
>> +             '()
>> +             (list gobject-introspection)) ;g-ir-compiler, etc.
>> +       ,help2man
>> +       ,perl
>> +       ,pkg-config
>> +       ,python-wrapper))
>
> Stylistically, I think it'd be better to use append (and 'if') here than
> quasiquotes (to avoid having to unquote all inputs).

Okay, I can change it to

     (cons `(,glib "bin")               ;glib-mkenums, etc.
           (append (if (target-hurd?)
                       '()
                       (list gobject-introspection)) ;g-ir-compiler, etc.
                   (list help2man
                         perl
                         pkg-config
                         python-wrapper)))

> Otherwise it LGTM.

Thanks!

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 14:39 ` [bug#64711] [PATCH 02/43] gnu: guile: Skip hanging and failing pipe tests on the Hurd Janneke Nieuwenhuizen
@ 2023-07-18 20:18   ` Ludovic Courtès
  2023-07-19  5:23     ` Janneke Nieuwenhuizen
  2023-07-19  6:27     ` Janneke Nieuwenhuizen
  0 siblings, 2 replies; 78+ messages in thread
From: Ludovic Courtès @ 2023-07-18 20:18 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: Josselin Poiret, 64711

Hi,

(+Cc: Josselin.)

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

> * gnu/packages/guile.scm (guile-3.0)[arguments]: When building on the Hurd,
> add stage 'disable-popen.test-open-pipe' to avoid running the
> open-input-pipe test (hangs) and open-output-pipe test (fails.

[...]

> +                   #~((add-after 'unpack 'disable-popen.test-no-duplicate
> +                        ;; This test hangs on the Hurd.
> +                        (lambda _
> +                          (substitute* "test-suite/tests/popen.test"
> +                            (("\\(pass-if \"no duplicate\".*" all)
> +                             (string-append all "     (when (string-ci= \"GNU\" (vector-ref (uname) 0)) (throw 'unresolved))
> +"))))))

Maybe write:

  (string-append all
                 (object->string '(when …)))

Out of curiosity, is there a bug report for this one?  IIRC, the test
suite of Guile 3.0.9 + ‘guile-hurd-posix-spawn.patch’ used to pass on
glibc 2.35.

As discussed on IRC, skipping this test is not great in that it’ll
likely come to haunt us.  However, like you write, we can do that for
now in the interest of making progress :-) and remove it with a proper
fix once we have it.

So… LGTM!

Ludo’.




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 20:13   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
@ 2023-07-18 20:23     ` Janneke Nieuwenhuizen
  2023-07-18 20:23     ` Janneke Nieuwenhuizen
  1 sibling, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 20:23 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 64711

Ludovic Courtès writes:

Hi!

> Great work!

Thank yout!

> A general comment: these changes to test suites were made based on
> feedback from non-chrooted builds, whose outcome is influenced by system
> state such as running translators.  Until we have chroot builds, I think
> we should be cautious and not invest too much time.

That's a helpful perspective, thanks for sharing.

[snip coreutil's long list of failing patches]

> For example, I wonder how reliable this long list is.  Some of these
> tests may fiddle with /proc, /etc/fstab, and other things not under
> control, which means some might suddenly pass for some reason.  So I
> wonder if we should just #:tests? #f in this case.
>
> Thoughts?

In this case, having invested the time to identify hanging and failing
tests, I would suggent to keep the list; but I'm also fine with using
#:tests? #f when more than, say 15 tests fail?

What I failed to mention, is that I looked into what Debian is doing for
cases like these, and without exception they just skip the test suite
for the Hurd, even for critical packages such as coreutils and python.
>
> (With other, higher-level test suites with a couple of failures, it’s
> probably still a good idea to skip individual tests instead of the whole
> test suite.)

Noted.  Now I'm wondering whether glib should be considered to have
higher level tests.  It would have been nice if I kept some kind of
record on this.  It will be a bit less painful te re-check once CI built
most upto glib, dunno.

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 20:13   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
  2023-07-18 20:23     ` Janneke Nieuwenhuizen
@ 2023-07-18 20:23     ` Janneke Nieuwenhuizen
  1 sibling, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-18 20:23 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 64711

Ludovic Courtès writes:

Hi!

> Great work!

Thank you!

> A general comment: these changes to test suites were made based on
> feedback from non-chrooted builds, whose outcome is influenced by system
> state such as running translators.  Until we have chroot builds, I think
> we should be cautious and not invest too much time.

That's a helpful perspective, thanks for sharing.

[snip coreutil's long list of failing patches]

> For example, I wonder how reliable this long list is.  Some of these
> tests may fiddle with /proc, /etc/fstab, and other things not under
> control, which means some might suddenly pass for some reason.  So I
> wonder if we should just #:tests? #f in this case.
>
> Thoughts?

In this case, having invested the time to identify hanging and failing
tests, I would suggent to keep the list; but I'm also fine with using
#:tests? #f when more than, say 15 tests fail?

What I failed to mention, is that I looked into what Debian is doing for
cases like these, and without exception they just skip the test suite
for the Hurd, even for critical packages such as coreutils and python.
>
> (With other, higher-level test suites with a couple of failures, it’s
> probably still a good idea to skip individual tests instead of the whole
> test suite.)

Noted.  Now I'm wondering whether glib should be considered to have
higher level tests.  It would have been nice if I kept some kind of
record on this.  It will be a bit less painful te re-check once CI built
most upto glib, dunno.

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 14:39 ` [bug#64711] [PATCH 04/43] gnu: grep: Update hanging and failing tests on " Janneke Nieuwenhuizen
@ 2023-07-18 20:23   ` Ludovic Courtès
  0 siblings, 0 replies; 78+ messages in thread
From: Ludovic Courtès @ 2023-07-18 20:23 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: 64711

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

> * gnu/packages/base.scm (grep)[arguments]: When building natively on the Hurd,
> remove Rename phase 'skip-triple-backref-test' to 'skip-tests'.  Remove
> "tests/triple-backref" as it now passes.  Add the hanging
> "tests/hash-collision-perf" test, and the failing "tests/file" test.

[...]

> +              '((add-before 'check 'skip-test
>                    (lambda _
> -                    ;; This test is marked as malfunctioning on glibc systems
> -                    ;; due to
> -                    ;; <https://sourceware.org/bugzilla/show_bug.cgi?id=11053>
> -                    ;; and it triggers a segfault with glibc 2.33 on GNU/Hurd.
> -                    ;; Skip it.
> -                    (substitute* "tests/triple-backref"
> -                      (("^warn_" all)
> -                       (string-append "exit 77\n" all))))))
> -              '()))
> -      #:make-flags ,(if (target-hurd?)
> -                        ''("XFAIL_TESTS=test-perror2 equiv-classes") ;XXX
> -                        ''())))
> +                    (substitute*
> +                        ;; This test hangs
> +                        '("tests/hash-collision-perf"
> +                          ;; This test fails
> +                          "tests/file")
> +                      (("^#!.*" all)
> +                       (string-append all "exit 77;\n"))))))

Are there any hints in the log files of these two tests?

Contrary to Coreutils, this is less likely to be an environment issue—or
if it is, that might be clear from the log.  So having an idea of what’s
failing and ideally a reference to a bug report upstream would be great.
Maybe not a blocker, but something we should do.

Ludo’.




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
                   ` (43 preceding siblings ...)
  2023-07-18 14:48 ` [bug#64711] [PATCH 00/43] Fix builds and skip failing tests for " Janneke Nieuwenhuizen
@ 2023-07-18 20:29 ` Ludovic Courtès
  2023-07-20  8:27   ` bug#64711: " Janneke Nieuwenhuizen
  44 siblings, 1 reply; 78+ messages in thread
From: Ludovic Courtès @ 2023-07-18 20:29 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: 64711

Hey!

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

> Also, most probably problematic tests in the guile test suite were fixed on
> guile master.  As I understand, Josselin is working on this, so way may want
> to skip the patch for guile (or apply it anyway and revert it later).
>
> Because many patches are almost trivial and similar, you may want to give some
> specific comments to the non-trivial patches and possibly some general
> comments for the trivial ones instead of a LGTM on every individual patch?

So modulo the few comments I sent, I think this looks good.

There’s a couple of things to check (which I haven’t do):

  • Make sure x86_64-linux derivations (for instance) are unchanged.
    That is, ‘./pre-inst-env guix build libreoffice -d’ should produce
    the same thing before and after this patch series, on x86_64-linux.
    (Pro tip: replace ‘-d’ with ‘-n’; if there are substitutes, it means
    it hasn’t changed. :-))

  • Make sure ‘guix build sed --target=i586-pc-gnu’ still works.
    Probably the derivation should be unchanged, but maybe it’s OK if it
    changes (sometimes avoiding a cross-rebuild would require extra
    boilerplate that we’d rather not have).

  • And well, ‘guix build sed -s i586-gnu’ should work as well, but
    that’s the whole point of this series!

Thanks a lot for all the work!

Ludo’.




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
  2023-07-18 20:15     ` Janneke Nieuwenhuizen
@ 2023-07-19  0:56       ` Maxim Cournoyer
  2023-07-19  6:14         ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Maxim Cournoyer @ 2023-07-19  0:56 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: Raghav Gururajan, 64711, Liliana Marie Prikler

Hi,

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

[...]

> Okay, I can change it to
>
>      (cons `(,glib "bin")               ;glib-mkenums, etc.
>            (append (if (target-hurd?)
>                        '()
>                        (list gobject-introspection)) ;g-ir-compiler, etc.
>                    (list help2man
>                          perl
>                          pkg-config
>                          python-wrapper)))

You can avoid 'cons' by moving `(,glib "bin") to the front of the
trailing list (the one starting with help2man ...), I think.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 20:18   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
@ 2023-07-19  5:23     ` Janneke Nieuwenhuizen
  2023-07-19  6:27     ` Janneke Nieuwenhuizen
  1 sibling, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-19  5:23 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Josselin Poiret, 64711

Ludovic Courtès writes:

Hi!

> (+Cc: Josselin.)
>
> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>
>> * gnu/packages/guile.scm (guile-3.0)[arguments]: When building on the Hurd,
>> add stage 'disable-popen.test-open-pipe' to avoid running the
>> open-input-pipe test (hangs) and open-output-pipe test (fails.
>
> [...]
>
>> +                   #~((add-after 'unpack 'disable-popen.test-no-duplicate
>> +                        ;; This test hangs on the Hurd.
>> +                        (lambda _
>> +                          (substitute* "test-suite/tests/popen.test"
>> +                            (("\\(pass-if \"no duplicate\".*" all)
>> +                             (string-append all "     (when (string-ci= \"GNU\" (vector-ref (uname) 0)) (throw 'unresolved))
>> +"))))))
>
> Maybe write:
>
>   (string-append all
>                  (object->string '(when …)))

That's a neat trick; changed to

                             (string-append
                              all
                              (object->string
                               '(when (string-ci= "GNU"
                                                  (vector-ref (uname) 0))
                                  (throw 'unresolved)))))))))

> Out of curiosity, is there a bug report for this one?

Sorry, no!  I was kinda hoping this would resolve itself somehow, I
think.  Let's make sure there's a bug report if we still need this
after Josselin's work.

>  IIRC, the test suite of Guile 3.0.9 + ‘guile-hurd-posix-spawn.patch’
> used to pass on glibc 2.35.

Ok, good to know.

> As discussed on IRC, skipping this test is not great in that it’ll
> likely come to haunt us.  However, like you write, we can do that for
> now in the interest of making progress :-) and remove it with a proper
> fix once we have it.
>
> So… LGTM!

Thanks!

Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
  2023-07-19  0:56       ` Maxim Cournoyer
@ 2023-07-19  6:14         ` Janneke Nieuwenhuizen
  2023-07-19 16:22           ` Maxim Cournoyer
  0 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-19  6:14 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Raghav Gururajan, 64711, Liliana Marie Prikler

Maxim Cournoyer writes:

Hello,

> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
> [...]
>
>> Okay, I can change it to
>>
>>      (cons `(,glib "bin")               ;glib-mkenums, etc.
>>            (append (if (target-hurd?)
>>                        '()
>>                        (list gobject-introspection)) ;g-ir-compiler, etc.
>>                    (list help2man
>>                          perl
>>                          pkg-config
>>                          python-wrapper)))
>
> You can avoid 'cons' by moving `(,glib "bin") to the front of the
> trailing list (the one starting with help2man ...), I think.

Eh..I think that I don't understand; you mean moving `(,glib ,bin) after
gobject-introspection like this?

     (append (if (target-hurd?)
                 '()
                 (list gobject-introspection)) ;g-ir-compiler, etc.
             (list
              `(,glib "bin")               ;glib-mkenums, etc.
              help2man
              perl
              pkg-config
              python-wrapper)))

That will trigger a rebuild that I would like to avoid.

We could avoid cons by doing

     (append (list `(,glib "bin"))      ;glib-mkenums, etc.
             (if (target-hurd?)
                 '()
                 (list gobject-introspection)) ;g-ir-compiler, etc.
             (list
              help2man
              perl
              pkg-config
              python-wrapper))

perhaps the best option?

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 20:18   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
  2023-07-19  5:23     ` Janneke Nieuwenhuizen
@ 2023-07-19  6:27     ` Janneke Nieuwenhuizen
  1 sibling, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-19  6:27 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: Josselin Poiret, 64711

Ludovic Courtès writes:

Hi!

> (+Cc: Josselin.)
>
> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>
>> * gnu/packages/guile.scm (guile-3.0)[arguments]: When building on the Hurd,
>> add stage 'disable-popen.test-open-pipe' to avoid running the
>> open-input-pipe test (hangs) and open-output-pipe test (fails.
>
> [...]
>
>> +                   #~((add-after 'unpack 'disable-popen.test-no-duplicate
>> +                        ;; This test hangs on the Hurd.
>> +                        (lambda _
>> +                          (substitute* "test-suite/tests/popen.test"
>> +                            (("\\(pass-if \"no duplicate\".*" all)
>> +                             (string-append all "     (when (string-ci= \"GNU\" (vector-ref (uname) 0)) (throw 'unresolved))
>> +"))))))
>
> Maybe write:
>
>   (string-append all
>                  (object->string '(when …)))

That's a neat trick; changed to

                             (string-append
                              all
                              (object->string
                               '(when (string-ci= "GNU"
                                                  (vector-ref (uname) 0))
                                  (throw 'unresolved)))))))))

> Out of curiosity, is there a bug report for this one?

Sorry, no!  I was kinda hoping this would resolve itself somehow, I
think.  Let's make sure there's a bug report if we still need this
after Josselin's work.

>  IIRC, the test suite of Guile 3.0.9 + ‘guile-hurd-posix-spawn.patch’
> used to pass on glibc 2.35.

Ok, good to know.

> As discussed on IRC, skipping this test is not great in that it’ll
> likely come to haunt us.  However, like you write, we can do that for
> now in the interest of making progress :-) and remove it with a proper
> fix once we have it.
>
> So… LGTM!

Thanks!

Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the Hurd.
  2023-07-18 20:06       ` Maxim Cournoyer
@ 2023-07-19  9:30         ` Janneke Nieuwenhuizen
  2023-07-20  3:14           ` Maxim Cournoyer
  0 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-19  9:30 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Raghav Gururajan, ludo, 64711, Liliana Marie Prikler

[-- Attachment #1: Type: text/plain, Size: 877 bytes --]

Maxim Cournoyer writes:

Hi!

> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> Liliana Marie Prikler writes:
>>
>>> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
>>> Nieuwenhuizen:
>>>> Gobject-introspection and libdrm does not build for the Hurd. 
>>>> Poppler depends
>>>> on nss, which does not build for the Hurd.
>>>> 
>>>> * gnu/packages/gtk.scm (cairo)[native-inputs]: When building for the
>>>> Hurd, do
>>>> not include gobject-introspection.
>>>> [inputs]: Likewise, do not include libdrm, poppler.
>>
>>> Could we provide a minimal gobject-introspection that builds for the
>>> hurd?
>>
>> That would be nice.  Note that Debian doesn't support
>> gobject-introspection on the Hurd, unless I'm mistaken. 
>
> I wonder what prevents gobject-introspection from running on the Hurd?

Find build log attached.

Janneke


[-- Attachment #2: gi9lnpaqmi2wkz6h8rcf8kx092zj2k-gobject-introspection-1.73.1.drv.gz --]
[-- Type: application/octet-stream, Size: 21471 bytes --]

[-- Attachment #3: Type: text/plain, Size: 164 bytes --]


-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
  2023-07-19  6:14         ` Janneke Nieuwenhuizen
@ 2023-07-19 16:22           ` Maxim Cournoyer
  2023-07-19 20:51             ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Maxim Cournoyer @ 2023-07-19 16:22 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen; +Cc: Raghav Gururajan, 64711, Liliana Marie Prikler

Hi Janneke,

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

> Maxim Cournoyer writes:
>
> Hello,
>
>> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>>
>> [...]
>>
>>> Okay, I can change it to
>>>
>>>      (cons `(,glib "bin")               ;glib-mkenums, etc.
>>>            (append (if (target-hurd?)
>>>                        '()
>>>                        (list gobject-introspection)) ;g-ir-compiler, etc.
>>>                    (list help2man
>>>                          perl
>>>                          pkg-config
>>>                          python-wrapper)))
>>
>> You can avoid 'cons' by moving `(,glib "bin") to the front of the
>> trailing list (the one starting with help2man ...), I think.
>
> Eh..I think that I don't understand; you mean moving `(,glib ,bin) after
> gobject-introspection like this?
>
>      (append (if (target-hurd?)
>                  '()
>                  (list gobject-introspection)) ;g-ir-compiler, etc.
>              (list
>               `(,glib "bin")               ;glib-mkenums, etc.
>               help2man
>               perl
>               pkg-config
>               python-wrapper)))
>
> That will trigger a rebuild that I would like to avoid.

Ah, apologies, I had not thought about this causing rebuilds.

> We could avoid cons by doing
>
>      (append (list `(,glib "bin"))      ;glib-mkenums, etc.
>              (if (target-hurd?)
>                  '()
>                  (list gobject-introspection)) ;g-ir-compiler, etc.
>              (list
>               help2man
>               perl
>               pkg-config
>               python-wrapper))
>
> perhaps the best option?

Either ways are fine, sorry for the noise :-).

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
  2023-07-19 16:22           ` Maxim Cournoyer
@ 2023-07-19 20:51             ` Janneke Nieuwenhuizen
  0 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-19 20:51 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Raghav Gururajan, 64711, Liliana Marie Prikler

Maxim Cournoyer writes:

Hi Maxim,

> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> Maxim Cournoyer writes:
>>
>> Hello,
>>
>>> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>>>
>>> [...]

[..]

>> That will trigger a rebuild that I would like to avoid.
>
> Ah, apologies, I had not thought about this causing rebuilds.

Yeah, tricky.

>> We could avoid cons by doing
>>
>>      (append (list `(,glib "bin"))      ;glib-mkenums, etc.
>>              (if (target-hurd?)
>>                  '()
>>                  (list gobject-introspection)) ;g-ir-compiler, etc.
>>              (list
>>               help2man
>>               perl
>>               pkg-config
>>               python-wrapper))
>>
>> perhaps the best option?
>
> Either ways are fine, sorry for the noise :-).

No problem, thanks for chiming in and caring enough about stylistics!
I like the last variant probably slightly better, so I'll keep that
for harfbuzz and pango.

Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the Hurd.
  2023-07-19  9:30         ` Janneke Nieuwenhuizen
@ 2023-07-20  3:14           ` Maxim Cournoyer
  2023-07-21 18:27             ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Maxim Cournoyer @ 2023-07-20  3:14 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen
  Cc: Raghav Gururajan, ludo, 64711, Liliana Marie Prikler

Hi Janneke,

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

> Maxim Cournoyer writes:
>
> Hi!
>
>> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>>
>>> Liliana Marie Prikler writes:
>>>
>>>> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
>>>> Nieuwenhuizen:
>>>>> Gobject-introspection and libdrm does not build for the Hurd. 
>>>>> Poppler depends
>>>>> on nss, which does not build for the Hurd.
>>>>> 
>>>>> * gnu/packages/gtk.scm (cairo)[native-inputs]: When building for the
>>>>> Hurd, do
>>>>> not include gobject-introspection.
>>>>> [inputs]: Likewise, do not include libdrm, poppler.
>>>
>>>> Could we provide a minimal gobject-introspection that builds for the
>>>> hurd?
>>>
>>> That would be nice.  Note that Debian doesn't support
>>> gobject-introspection on the Hurd, unless I'm mistaken. 
>>
>> I wonder what prevents gobject-introspection from running on the Hurd?
>
> Find build log attached.

Interesting.  Debian carries no Hurd patch for it [0], and upstream
doesn't seem to know about this issue [1].

[0]  http://deb.debian.org/debian/pool/main/g/gobject-introspection/gobject-introspection_1.76.1-1.debian.tar.xz
[1]  https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/?sort=created_date&state=opened&search=getauxval&first_page_size=20

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
  2023-07-18 20:05       ` Maxim Cournoyer
@ 2023-07-20  8:19         ` Janneke Nieuwenhuizen
  2023-07-20 18:08           ` Maxim Cournoyer
  0 siblings, 1 reply; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-20  8:19 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Raghav Gururajan, ludo, 64711, Liliana Marie Prikler

[-- Attachment #1: Type: text/plain, Size: 1678 bytes --]

Maxim Cournoyer writes:

Hello!

> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> Liliana Marie Prikler writes:
>>
>>> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
>>> Nieuwenhuizen:
>>>> * gnu/packages/glib.scm (glib)[arguments]: When building for the
>>>> Hurd,
>>>> set #:tests? to #false.
>>
>> [..]
>>>> +      #:tests? (not (target-hurd?))
>>
>>>> compiled
>>
>>> Instead of disabling tests altogether, can we just disable those that
>>> fail on the Hurd?
>>
>> We probably can, and I have tried to do so in most cases.  However,
>> identifying those tests can be quite time consuming.  I'm not sure how
>> many tests failed here, and note that some tests will hang or crash the
>> Hurd, so if we decide to do this, I would appreciate some help :-)
>>
>> Ludo on the other hand, argued against having more than ~20 (IIRC) test
>> exceptions and using #:tests? #f instead.
>>
>> My idea was to get guix to build natively, and guix pull to work.  Once
>> we get those to work, we can possibly look forward to more contributors
>> to this.
>
> I agree with Liliana that it's nicer to disable just these tests that
> fail, but in light of what you wrote, your approach seems reasonable.

Yes, I agree that if we want to make Hurd better and enabble us to
create a bug report it sure helps if we have more information.

Yesterday I decided to have another look into this.  I have identified
20 tests that TIMEOUT after 600s, and 37 FAIL and instead of setting
#:tests? to #false, I have added them to the `disable-failing-tests'
phase when building on the Hurd.  See attached patch.

Greetings,
Janneke


[-- Attachment #2: 0001-gnu-glib-Disable-hanging-and-failing-tests-for-the-H.patch --]
[-- Type: text/x-patch, Size: 7678 bytes --]

From e65647119e4791580ef50869d35be29d4010c6bb Mon Sep 17 00:00:00 2001
Message-Id: <e65647119e4791580ef50869d35be29d4010c6bb.1689841075.git.janneke@gnu.org>
From: Janneke Nieuwenhuizen <janneke@gnu.org>
Date: Tue, 13 Jun 2023 10:58:03 +0200
Subject: [PATCH] gnu: glib: Disable hanging and failing tests for the Hurd.

* gnu/packages/glib.scm (glib)[arguments]: When building for the Hurd,
in phase `disable-failing-tests', neutralize 20 hanging tests, and 37 more
failing tests.
---
 gnu/packages/glib.scm | 104 +++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 103 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm
index e988e8dc87..a0b85b15d1 100644
--- a/gnu/packages/glib.scm
+++ b/gnu/packages/glib.scm
@@ -14,7 +14,7 @@
 ;;; Copyright © 2019, 2020, 2021 Marius Bakke <marius@gnu.org>
 ;;; Copyright © 2020 Nicolò Balzarotti <nicolo@nixo.xyz>
 ;;; Copyright © 2020 Florian Pelz <pelzflorian@pelzflorian.de>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke@gnu.org>
 ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar@gmail.com>
 ;;; Copyright © 2021 Maxime Devos <maximedevos@telenet.be>
 ;;; Copyright © 2022 Petr Hodina <phodina@protonmail.com>
@@ -285,6 +285,108 @@ (define glib
                           (string-append "//" all "\n"))
                          (("^  g_assert_cmpfloat \\(elapsed, ==.*" all)
                           (string-append "//" all "\n"))))
+                     '())
+              #$@(if (system-hurd?)
+                     '((with-directory-excursion "gio/tests"
+                         ;; TIMEOUT after 600s
+                         (substitute* '("actions.c"
+                                        "dbus-appinfo.c"
+                                        "debugcontroller.c"
+                                        "gdbus-bz627724.c"
+                                        "gdbus-connection-slow.c"
+                                        "gdbus-exit-on-close.c"
+                                        "gdbus-export.c"
+                                        "gdbus-introspection.c"
+                                        "gdbus-method-invocation.c"
+                                        "gdbus-non-socket.c"
+                                        "gdbus-proxy-threads.c"
+                                        "gdbus-proxy-unique-name.c"
+                                        "gdbus-proxy-well-known-name.c"
+                                        "gdbus-proxy.c"
+                                        "gdbus-test-codegen.c"
+                                        "gmenumodel.c"
+                                        "gnotification.c"
+                                        "stream-rw_all.c")
+                           (("return (g_test_run|session_bus_run)" all call)
+                            (string-append "return 0;// " call))
+                           ((" (ret|rtv|result) = (g_test_run|session_bus_run)"
+                             all var call)
+                            (string-append " " var " = 0;// " call))
+                           (("[ \t]*g_test_add_func.*;") ""))
+
+                         ;; commenting-out g_assert, g_test_add_func, g_test_run
+                         ;; does not help; special-case short-circuit.
+                         (substitute* "gdbus-connection-loss.c" ;; TODO?
+                           (("  gchar \\*path;.*" all)
+                            (string-append all "  return 0;\n")))
+
+                         ;; FAIL
+                         (substitute* '("appmonitor.c"
+                                        "async-splice-output-stream.c"
+                                        "autoptr.c"
+                                        "contexts.c"       
+                                        "converter-stream.c"
+                                        "file.c"
+                                        "g-file-info.c"
+                                        "g-file.c"
+                                        "g-icon.c"
+                                        "gapplication.c"
+                                        "gdbus-connection-flush.c"
+                                        "gdbus-connection.c"
+                                        "gdbus-names.c"    
+                                        "gdbus-server-auth.c"
+                                        "gsocketclient-slow.c"
+                                        "gsubprocess.c"
+                                        "io-stream.c"
+                                        "live-g-file.c"
+                                        "memory-monitor.c" 
+                                        "mimeapps.c"
+                                        "network-monitor-race.c"
+                                        "network-monitor.c"
+                                        "pollable.c"
+                                        "power-profile-monitor.c"
+                                        "readwrite.c"
+                                        "resources.c"
+                                        "socket-service.c"
+                                        "socket.c"
+                                        "tls-bindings.c"
+                                        "tls-certificate.c"
+                                        "tls-database.c"
+                                        "trash.c"
+                                        "vfs.c")
+                           (("return (g_test_run|session_bus_run)" all call)
+                            (string-append "return 0;// " call))
+                           ((" (ret|rtv|result) = (g_test_run|session_bus_run)"
+                             all var call)
+                            (string-append " " var " = 0;// " call))
+                           (("[ \t]*g_test_add_func.*;") ""))
+
+                         ;; commenting-out g_test_add_func, g_test_run does
+                         ;; not help; special-case short-circuit.
+                         (substitute* "gsettings.c"
+                           (("#ifdef TEST_LOCALE_PATH" all)
+                            (string-append "  return 0;\n" all)))
+
+                         ;; commenting-out g_test_add_func, ;; g_test_run does
+                         ;; not help; special-case short-circuit.
+                         (substitute* "proxy-test.c"
+                           (("  gint result.*;" all)
+                            (string-append all "  return 0;\n")))
+
+                         ;; commenting-out g_test_add_func, g_test_run
+                         ;; does not help; special-case short-circuit.
+                         (substitute* "volumemonitor.c"
+                           (("  gboolean ret;" all)
+                            (string-append all "  return 0;\n"))))
+
+                       (with-directory-excursion "glib/tests"
+                         ;; TIMEOUT after 600s
+                         (substitute* "thread-pool.c"
+                           (("[ \t]*g_test_add_func.*;") ""))
+
+                         ;; FAIL
+                         (substitute* "fileutils.c"
+                           (("[ \t]*g_test_add_func.*;") ""))))
                      '())))
           ;; Python references are not being patched in patch-phase of build,
           ;; despite using python-wrapper as input. So we patch them manually.

base-commit: c5a189d2abdbfe4c8dfeef764e3be055948b5c91
-- 
2.40.1


[-- Attachment #3: Type: text/plain, Size: 164 bytes --]


-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

^ permalink raw reply related	[flat|nested] 78+ messages in thread

* bug#64711: [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
  2023-07-18 20:29 ` [bug#64711] [PATCH 00/45] " Ludovic Courtès
@ 2023-07-20  8:27   ` Janneke Nieuwenhuizen
  0 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-20  8:27 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 64711-done

Ludovic Courtès writes:

Hi,

> Janneke Nieuwenhuizen <janneke@gnu.org> skribis:
>
>> Also, most probably problematic tests in the guile test suite were fixed on
>> guile master.  As I understand, Josselin is working on this, so way may want
>> to skip the patch for guile (or apply it anyway and revert it later).
>>
>> Because many patches are almost trivial and similar, you may want to give some
>> specific comments to the non-trivial patches and possibly some general
>> comments for the trivial ones instead of a LGTM on every individual patch?
>
> So modulo the few comments I sent, I think this looks good.

\o/

> There’s a couple of things to check (which I haven’t do):
>
>   • Make sure x86_64-linux derivations (for instance) are unchanged.
>     That is, ‘./pre-inst-env guix build libreoffice -d’ should produce
>     the same thing before and after this patch series, on x86_64-linux.
>     (Pro tip: replace ‘-d’ with ‘-n’; if there are substitutes, it means
>     it hasn’t changed. :-))

Ah, that's a nice trick.  Checked!  What I did, was after developing
each patch (only) check that x86_64 package didn't get rebuilt.

>   • Make sure ‘guix build sed --target=i586-pc-gnu’ still works.
>     Probably the derivation should be unchanged, but maybe it’s OK if it
>     changes (sometimes avoiding a cross-rebuild would require extra
>     boilerplate that we’d rather not have).

Checked!  (It changed, of course).

>   • And well, ‘guix build sed -s i586-gnu’ should work as well, but
>     that’s the whole point of this series!

Checked!  -- but here I cheated a bit, I've only checked this before
rebasing.

> Thanks a lot for all the work!

Thank you (and other reviewers) for all the help!

Pushed to master as 6547d3852b11966271535962110d9e68f50c95fc

Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
  2023-07-20  8:19         ` Janneke Nieuwenhuizen
@ 2023-07-20 18:08           ` Maxim Cournoyer
  2023-07-21 17:22             ` Janneke Nieuwenhuizen
  0 siblings, 1 reply; 78+ messages in thread
From: Maxim Cournoyer @ 2023-07-20 18:08 UTC (permalink / raw)
  To: Janneke Nieuwenhuizen
  Cc: Raghav Gururajan, ludo, 64711, Liliana Marie Prikler

Hi Janneke,

Janneke Nieuwenhuizen <janneke@gnu.org> writes:

> Maxim Cournoyer writes:
>
> Hello!
>
>> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>>
>>> Liliana Marie Prikler writes:
>>>
>>>> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
>>>> Nieuwenhuizen:
>>>>> * gnu/packages/glib.scm (glib)[arguments]: When building for the
>>>>> Hurd,
>>>>> set #:tests? to #false.
>>>
>>> [..]
>>>>> +      #:tests? (not (target-hurd?))
>>>
>>>>> compiled
>>>
>>>> Instead of disabling tests altogether, can we just disable those that
>>>> fail on the Hurd?
>>>
>>> We probably can, and I have tried to do so in most cases.  However,
>>> identifying those tests can be quite time consuming.  I'm not sure how
>>> many tests failed here, and note that some tests will hang or crash the
>>> Hurd, so if we decide to do this, I would appreciate some help :-)
>>>
>>> Ludo on the other hand, argued against having more than ~20 (IIRC) test
>>> exceptions and using #:tests? #f instead.
>>>
>>> My idea was to get guix to build natively, and guix pull to work.  Once
>>> we get those to work, we can possibly look forward to more contributors
>>> to this.
>>
>> I agree with Liliana that it's nicer to disable just these tests that
>> fail, but in light of what you wrote, your approach seems reasonable.
>
> Yes, I agree that if we want to make Hurd better and enabble us to
> create a bug report it sure helps if we have more information.
>
> Yesterday I decided to have another look into this.  I have identified
> 20 tests that TIMEOUT after 600s, and 37 FAIL and instead of setting
> #:tests? to #false, I have added them to the `disable-failing-tests'
> phase when building on the Hurd.  See attached patch.

Well done pushing the investigation!

Are you sure these failures are Hurd-only?  When I see timeouts related
to dbus tests, I often think the problem may be attributed to #30948,
because dbus often waits for processes to die completely but are left as
zombies in the build container due to incorrect signal handling from the
Guile PID 1 there.  But since the glib package currently builds for
x86_64 at least, that's probably not it...

LGTM.

-- 
Thanks,
Maxim




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
  2023-07-20 18:08           ` Maxim Cournoyer
@ 2023-07-21 17:22             ` Janneke Nieuwenhuizen
  0 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-21 17:22 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Raghav Gururajan, ludo, 64711, Liliana Marie Prikler

Maxim Cournoyer writes:

Hi Maxim,

> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> Maxim Cournoyer writes:
>>
>> Hello!
>>
>>> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>>>
>>>> Liliana Marie Prikler writes:
>>>>
>>>>> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
>>>>> Nieuwenhuizen:
>>>>>> * gnu/packages/glib.scm (glib)[arguments]: When building for the
>>>>>> Hurd,
>>>>>> set #:tests? to #false.
>>>>
>>>> [..]
>>>>>> +      #:tests? (not (target-hurd?))
>>>>
>>>>>> compiled
>>>>
>>>>> Instead of disabling tests altogether, can we just disable those that
>>>>> fail on the Hurd?
>>>>
>>>> We probably can, and I have tried to do so in most cases.  However,
>>>> identifying those tests can be quite time consuming.  I'm not sure how
>>>> many tests failed here, and note that some tests will hang or crash the
>>>> Hurd, so if we decide to do this, I would appreciate some help :-)
>>>>
>>>> Ludo on the other hand, argued against having more than ~20 (IIRC) test
>>>> exceptions and using #:tests? #f instead.
>>>>
>>>> My idea was to get guix to build natively, and guix pull to work.  Once
>>>> we get those to work, we can possibly look forward to more contributors
>>>> to this.
>>>
>>> I agree with Liliana that it's nicer to disable just these tests that
>>> fail, but in light of what you wrote, your approach seems reasonable.
>>
>> Yes, I agree that if we want to make Hurd better and enabble us to
>> create a bug report it sure helps if we have more information.
>>
>> Yesterday I decided to have another look into this.  I have identified
>> 20 tests that TIMEOUT after 600s, and 37 FAIL and instead of setting
>> #:tests? to #false, I have added them to the `disable-failing-tests'
>> phase when building on the Hurd.  See attached patch.
>
> Well done pushing the investigation!

Thanks, and thanks for push ;)

> Are you sure these failures are Hurd-only?

No, not 100%, but...

> When I see timeouts related to dbus tests, I often think the problem
> may be attributed to #30948, because dbus often waits for processes to
> die completely but are left as zombies in the build container due to
> incorrect signal handling from the Guile PID 1 there.  But since the
> glib package currently builds for x86_64 at least,

...yeah, I didn't check if some problems are 32bit related, for example.

 that's probably not it...

> LGTM.

\o/
Greetings,
Janneke

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

* [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the Hurd.
  2023-07-20  3:14           ` Maxim Cournoyer
@ 2023-07-21 18:27             ` Janneke Nieuwenhuizen
  0 siblings, 0 replies; 78+ messages in thread
From: Janneke Nieuwenhuizen @ 2023-07-21 18:27 UTC (permalink / raw)
  To: Maxim Cournoyer; +Cc: Raghav Gururajan, ludo, 64711, Liliana Marie Prikler

Maxim Cournoyer writes:

Hi Maxim,

> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>
>> Maxim Cournoyer writes:
>>
>> Hi!
>>
>>> Janneke Nieuwenhuizen <janneke@gnu.org> writes:
>>>
>>>> Liliana Marie Prikler writes:
>>>>
>>>>> Am Dienstag, dem 18.07.2023 um 16:40 +0200 schrieb Janneke
>>>>> Nieuwenhuizen:
>>>>>> Gobject-introspection and libdrm does not build for the Hurd. 
>>>>>> Poppler depends
>>>>>> on nss, which does not build for the Hurd.
>>>>>> 
>>>>>> * gnu/packages/gtk.scm (cairo)[native-inputs]: When building for the
>>>>>> Hurd, do
>>>>>> not include gobject-introspection.
>>>>>> [inputs]: Likewise, do not include libdrm, poppler.
>>>>
>>>>> Could we provide a minimal gobject-introspection that builds for the
>>>>> hurd?
>>>>
>>>> That would be nice.  Note that Debian doesn't support
>>>> gobject-introspection on the Hurd, unless I'm mistaken. 

I was mistaken; I've checked it again and gobject-introspection is
installable for the Hurd.

--8<---------------cut here---------------start------------->8---
ii  gobject-introspection 1.74.0-3     hurd-i386    Generate interface introspection data for GObject libraries
--8<---------------cut here---------------end--------------->8---

>>> I wonder what prevents gobject-introspection from running on the Hurd?
>>
>> Find build log attached.
>
> Interesting.  Debian carries no Hurd patch for it [0], and upstream
> doesn't seem to know about this issue [1].

Hmm?  Interesting indeed...

> [0]  http://deb.debian.org/debian/pool/main/g/gobject-introspection/gobject-introspection_1.76.1-1.debian.tar.xz
> [1]  https://gitlab.gnome.org/GNOME/gobject-introspection/-/issues/?sort=created_date&state=opened&search=getauxval&first_page_size=20

-- 
Janneke Nieuwenhuizen <janneke@gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




^ permalink raw reply	[flat|nested] 78+ messages in thread

end of thread, other threads:[~2023-07-21 18:28 UTC | newest]

Thread overview: 78+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-07-18 14:38 [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for the Hurd Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 01/43] Revert "gnu: libunistring: Fix make check for the Hurd." Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 02/43] gnu: guile: Skip hanging and failing pipe tests on the Hurd Janneke Nieuwenhuizen
2023-07-18 20:18   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
2023-07-19  5:23     ` Janneke Nieuwenhuizen
2023-07-19  6:27     ` Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 03/43] gnu: coreutils: Skip hanging and failing test on " Janneke Nieuwenhuizen
2023-07-18 20:13   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
2023-07-18 20:23     ` Janneke Nieuwenhuizen
2023-07-18 20:23     ` Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 04/43] gnu: grep: Update hanging and failing tests on " Janneke Nieuwenhuizen
2023-07-18 20:23   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
2023-07-18 14:39 ` [bug#64711] [PATCH 05/43] Revert "gnu: sed: Skip failing test on GNU/Hurd." Janneke Nieuwenhuizen
2023-07-18 14:39 ` [bug#64711] [PATCH 06/43] gnu: findutils: Move test-strerror_r from XFAIL to skip on the Hurd Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 07/43] gnu: diffutils: Remove test-perror2 from XFAIL_TESTS " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 08/43] gnu: gettext-minimal: Remove XFAIL_TESTS for " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 09/43] gnu: m4: Skip gnulib stack-overflow tests " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 10/43] gnu: openssl: Build fix " Janneke Nieuwenhuizen
2023-07-18 17:53   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests " Ludovic Courtès
2023-07-18 18:04     ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 11/43] gnu: python: Support native build on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 12/43] gnu: mpfr: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 17:57   ` [bug#64711] [PATCH 00/45] Fix builds and skip failing tests for " Ludovic Courtès
2023-07-18 14:40 ` [bug#64711] [PATCH 13/43] gnu: elfutils: Skip failing tests on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 14/43] gnu: libbsd: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 15/43] gnu: c-ares: Skip failing tests " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 16/43] gnu: libgpg-error: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 17/43] gnu: libgcrypt: Skip hanging benchmark tests " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 18/43] gnu: tcl: Remove failing " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 19/43] gnu: curl: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 20/43] gnu: git: " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target Janneke Nieuwenhuizen
2023-07-18 15:54   ` Liliana Marie Prikler
2023-07-18 16:39     ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 22/43] gnu: procps: Skip linux-version test for the Hurd Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 23/43] gnu: e2fsprogs: Skip failing tests on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 24/43] gnu: parted: Disable tests for " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 25/43] gnu: libpaper: " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 26/43] gnu: cairo: Support building " Janneke Nieuwenhuizen
2023-07-18 15:57   ` Liliana Marie Prikler
2023-07-18 16:33     ` Janneke Nieuwenhuizen
2023-07-18 20:06       ` Maxim Cournoyer
2023-07-19  9:30         ` Janneke Nieuwenhuizen
2023-07-20  3:14           ` Maxim Cournoyer
2023-07-21 18:27             ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 27/43] gnu: openssl-1.1: Fix shared build " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 28/43] gnu: ruby-2.6: Skip test on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 29/43] gnu: tcsh: Skip substitution tests " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 30/43] gnu: swig: Skip tests when building for " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 31/43] gnu: zstd: " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 32/43] gnu: cmake-bootstrap: Fix build " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 33/43] gnu: cmake-minimal: Skip tests on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 34/43] gnu: doxygen: Fix build for " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 35/43] gnu: graphite2: Skip test on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 36/43] gnu: guile-git: Skip http proxy " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for " Janneke Nieuwenhuizen
2023-07-18 15:56   ` Liliana Marie Prikler
2023-07-18 16:32     ` Janneke Nieuwenhuizen
2023-07-18 20:05       ` Maxim Cournoyer
2023-07-20  8:19         ` Janneke Nieuwenhuizen
2023-07-20 18:08           ` Maxim Cournoyer
2023-07-21 17:22             ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 38/43] gnu: ghostscript: Fix build " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 39/43] gnu: harfbuzz: Support " Janneke Nieuwenhuizen
2023-07-18 20:13   ` Maxim Cournoyer
2023-07-18 14:40 ` [bug#64711] [PATCH 40/43] gnu: pango: " Janneke Nieuwenhuizen
2023-07-18 20:04   ` Maxim Cournoyer
2023-07-18 20:15     ` Janneke Nieuwenhuizen
2023-07-19  0:56       ` Maxim Cournoyer
2023-07-19  6:14         ` Janneke Nieuwenhuizen
2023-07-19 16:22           ` Maxim Cournoyer
2023-07-19 20:51             ` Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 41/43] gnu: fontforge: Support build on " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 42/43] gnu: po4a: Skip failing test " Janneke Nieuwenhuizen
2023-07-18 14:40 ` [bug#64711] [PATCH 43/43] gnu: guile-2.0: Skip failing tests " Janneke Nieuwenhuizen
2023-07-18 14:48 ` [bug#64711] [PATCH 00/43] Fix builds and skip failing tests for " Janneke Nieuwenhuizen
2023-07-18 20:29 ` [bug#64711] [PATCH 00/45] " Ludovic Courtès
2023-07-20  8:27   ` bug#64711: " Janneke Nieuwenhuizen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).