GNU bug report logs - #64711
[PATCH 00/45] Fix builds and skip failing tests for the Hurd.

Previous Next

Package: guix-patches;

Reported by: Janneke Nieuwenhuizen <janneke <at> gnu.org>

Date: Tue, 18 Jul 2023 14:39:02 UTC

Severity: normal

Tags: patch

Done: Janneke Nieuwenhuizen <janneke <at> gnu.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 64711 in the body.
You can then email your comments to 64711 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Janneke Nieuwenhuizen <janneke <at> gnu.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Tue, 18 Jul 2023 14:39:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: guix-patches <at> gnu.org
Subject: [PATCH 00/45] Fix builds and skip failing tests for the Hurd.
Date: Tue, 18 Jul 2023 16:38:12 +0200
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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:41:01 GMT) Full text and rfc822 format available.

Message #8 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 01/43] Revert "gnu: libunistring: Fix make check for the Hurd."
Date: Tue, 18 Jul 2023 16:39:54 +0200
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 <at> gnu.org>
 ;;; Copyright © 2015 Mark H Weaver <mhw <at> netris.org>
 ;;; Copyright © 2016, 2018, 2022 Efraim Flashner <efraim <at> flashner.co.il>
-;;; Copyright © 2016, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2016 Jan Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2017 Mathieu Othacehe <m.othacehe <at> gmail.com>
 ;;; Copyright © 2017 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:41:02 GMT) Full text and rfc822 format available.

Message #11 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 02/43] gnu: guile: Skip hanging and failing pipe tests on the
 Hurd.
Date: Tue, 18 Jul 2023 16:39:55 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:41:02 GMT) Full text and rfc822 format available.

Message #14 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 04/43] gnu: grep: Update hanging and failing tests on the Hurd.
Date: Tue, 18 Jul 2023 16:39:57 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:41:03 GMT) Full text and rfc822 format available.

Message #17 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 05/43] Revert "gnu: sed: Skip failing test on GNU/Hurd."
Date: Tue, 18 Jul 2023 16:39:58 +0200
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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:41:03 GMT) Full text and rfc822 format available.

Message #20 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 03/43] gnu: coreutils: Skip hanging and failing test on the
 Hurd.
Date: Tue, 18 Jul 2023 16:39:56 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:02 GMT) Full text and rfc822 format available.

Message #23 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 06/43] gnu: findutils: Move test-strerror_r from XFAIL to skip
 on the Hurd.
Date: Tue, 18 Jul 2023 16:39:59 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:02 GMT) Full text and rfc822 format available.

Message #26 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 07/43] gnu: diffutils: Remove test-perror2 from XFAIL_TESTS on
 the Hurd.
Date: Tue, 18 Jul 2023 16:40:00 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:02 GMT) Full text and rfc822 format available.

Message #29 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 08/43] gnu: gettext-minimal: Remove XFAIL_TESTS for the Hurd.
Date: Tue, 18 Jul 2023 16:40:01 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:03 GMT) Full text and rfc822 format available.

Message #32 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 09/43] gnu: m4: Skip gnulib stack-overflow tests for the Hurd.
Date: Tue, 18 Jul 2023 16:40:02 +0200
* 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 <at> gnu.org>
 ;;; Copyright © 2018 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2022 Marius Bakke <marius <at> gnu.org>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:03 GMT) Full text and rfc822 format available.

Message #35 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 10/43] gnu: openssl: Build fix for the Hurd.
Date: Tue, 18 Jul 2023 16:40:03 +0200
* 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





Information forwarded to lars <at> 6xq.net, jgart <at> dismail.de, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:03 GMT) Full text and rfc822 format available.

Message #38 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 11/43] gnu: python: Support native build on the Hurd.
Date: Tue, 18 Jul 2023 16:40:04 +0200
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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:04 GMT) Full text and rfc822 format available.

Message #41 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 12/43] gnu: mpfr: Skip failing test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:05 +0200
* 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 <at> flashner.co.il>
 ;;; Copyright © 2021 Vinicius Monego <monego <at> posteo.net>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:04 GMT) Full text and rfc822 format available.

Message #44 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 14/43] gnu: libbsd: Skip failing test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:07 +0200
* 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 <at> famulari.name>
 ;;; Copyright © 2022 Marius Bakke <marius <at> gnu.org>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:05 GMT) Full text and rfc822 format available.

Message #47 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 13/43] gnu: elfutils: Skip failing tests on the Hurd.
Date: Tue, 18 Jul 2023 16:40:06 +0200
* 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 <at> rohleder.de>
 ;;; Copyright © 2021 Leo Le Bouter <lle-bout <at> zaclys.net>
 ;;; Copyright © 2021 Maxime Devos <maximedevos <at> telenet.be>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:05 GMT) Full text and rfc822 format available.

Message #50 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 15/43] gnu: c-ares: Skip failing tests on the Hurd.
Date: Tue, 18 Jul 2023 16:40:08 +0200
* 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 <at> flashner.co.il>
 ;;; Copyright © 2018 Ricardo Wurmus <rekado <at> elephly.net>
 ;;; Copyright © 2019, 2021 Marius Bakke <marius <at> gnu.org>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:06 GMT) Full text and rfc822 format available.

Message #53 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 16/43] gnu: libgpg-error: Skip failing test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:09 +0200
* 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 <at> domnitskii.me>
 ;;; Copyright © 2021 Aleksandr Vityazev <avityazev <at> posteo.org>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:06 GMT) Full text and rfc822 format available.

Message #56 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 17/43] gnu: libgcrypt: Skip hanging benchmark tests on the
 Hurd.
Date: Tue, 18 Jul 2023 16:40:10 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:07 GMT) Full text and rfc822 format available.

Message #59 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 18/43] gnu: tcl: Remove failing tests on the Hurd..
Date: Tue, 18 Jul 2023 16:40:11 +0200
* 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 <at> netris.org>
 ;;; Copyright © 2014 Eric Bavier <bavier <at> member.fsf.org>
 ;;; Copyright © 2016, 2018 Efraim Flashner <efraim <at> flashner.co.il>
-;;; Copyright © 2016 Jan Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2016, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2017 Kei Kebreau <kkebreau <at> posteo.net>
 ;;; Copyright © 2018, 2022 Tobias Geerinckx-Rice <me <at> tobias.gr>
 ;;; Copyright © 2019 Julien Lepiller <julien <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:07 GMT) Full text and rfc822 format available.

Message #62 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 19/43] gnu: curl: Skip failing test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:12 +0200
* 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 <at> elephly.net>
 ;;; Copyright © 2020 Jakub Kądziołka <kuba <at> kadziolka.net>
 ;;; Copyright © 2020 Dale Mellor <guix-devel-0brg6b <at> rdmp.org>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2021 Jean-Baptiste Volatier <jbv <at> pm.me>
 ;;; Copyright © 2021 Felix Gruber <felgru <at> posteo.net>
 ;;; Copyright © 2023 Sharlatan Hellseher <sharlatanus <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:07 GMT) Full text and rfc822 format available.

Message #65 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 20/43] gnu: git: Skip failing test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:13 +0200
* 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 <at> gnu.org>
 ;;; Copyright © 2020, 2021 Brice Waegeneire <brice <at> waegenei.re>
 ;;; Copyright © 2020 John D. Boy <jboy <at> bius.moe>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2020, 2021, 2022, 2023 Vinicius Monego <monego <at> posteo.net>
 ;;; Copyright © 2020 Tanguy Le Carrour <tanguy <at> bioneland.org>
 ;;; Copyright © 2020, 2021, 2022 Michael Rohleder <mike <at> 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





Information forwarded to andrew <at> trop.in, liliana.prikler <at> gmail.com, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:08 GMT) Full text and rfc822 format available.

Message #68 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 21/43] gnu: emacs: Depend on libc-for-target.
Date: Tue, 18 Jul 2023 16:40:14 +0200
* 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 <at> gmail.com>
 ;;; Copyright © 2017 Alex Vong <alexvong1995 <at> gmail.com>
 ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado <at> elephly.net>
-;;; Copyright © 2017 Jan Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2017, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2018, 2023 Efraim Flashner <efraim <at> flashner.co.il>
 ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe <at> gmail.com>
 ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice <me <at> 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





Information forwarded to leo <at> famulari.name, me <at> tobias.gr, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:08 GMT) Full text and rfc822 format available.

Message #71 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 22/43] gnu: procps: Skip linux-version test for the Hurd.
Date: Tue, 18 Jul 2023 16:40:15 +0200
* 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 <at> ambrevar.xyz>
 ;;; Copyright © 2020 Chris Marusich <cmmarusich <at> gmail.com>
 ;;; Copyright © 2020 Vincent Legoll <vincent.legoll <at> gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2020 Morgan Smith <Morgan.J.Smith <at> outlook.com>
 ;;; Copyright © 2020 John Soo <jsoo1 <at> asu.edu>
 ;;; Copyright © 2020, 2022 Michael Rohleder <mike <at> 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





Information forwarded to leo <at> famulari.name, me <at> tobias.gr, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:09 GMT) Full text and rfc822 format available.

Message #74 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 23/43] gnu: e2fsprogs: Skip failing tests on the Hurd.
Date: Tue, 18 Jul 2023 16:40:16 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:09 GMT) Full text and rfc822 format available.

Message #77 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 24/43] gnu: parted: Disable tests for the Hurd.
Date: Tue, 18 Jul 2023 16:40:17 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:09 GMT) Full text and rfc822 format available.

Message #80 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 25/43] gnu: libpaper: Disable tests for the Hurd.
Date: Tue, 18 Jul 2023 16:40:18 +0200
* 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 <at> tobias.gr>
 ;;; Copyright © 2018, 2020, 2022 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe <at> gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:10 GMT) Full text and rfc822 format available.

Message #83 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 26/43] gnu: cairo: Support building for the Hurd.
Date: Tue, 18 Jul 2023 16:40:19 +0200
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 <at> protonmail.com>
 ;;; Copyright © 2023 Sergiu Ivanov <sivanov <at> colimite.fr>
 ;;; Copyright © 2023 Zheng Junjie <873216071 <at> qq.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:42:10 GMT) Full text and rfc822 format available.

Message #86 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 27/43] gnu: openssl-1.1: Fix shared build for the Hurd.
Date: Tue, 18 Jul 2023 16:40:20 +0200
* 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





Information forwarded to mail <at> cbaines.net, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:02 GMT) Full text and rfc822 format available.

Message #89 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 28/43] gnu: ruby-2.6: Skip test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:21 +0200
* 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 <at> taiju.info>
 ;;; Copyright © 2023 Yovan Naumovski <yovan <at> gorski.stream>
 ;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:02 GMT) Full text and rfc822 format available.

Message #92 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 29/43] gnu: tcsh: Skip substitution tests on the Hurd.
Date: Tue, 18 Jul 2023 16:40:22 +0200
* 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 <at> gmail.com>
 ;;; Copyright © 2019 Timothy Sample <samplet <at> ngyro.com>
 ;;; Copyright © 2019 Mathieu Othacehe <m.othacehe <at> gmail.com>
-;;; Copyright © 2019, 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2019, 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2020 Brice Waegeneire <brice <at> waegenei.re>
 ;;; Copyright © 2020 Ryan Prior <rprior <at> protonmail.com>
 ;;; Copyright © 2020, 2022 Efraim Flashner <efraim <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:03 GMT) Full text and rfc822 format available.

Message #95 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 30/43] gnu: swig: Skip tests when building for the Hurd.
Date: Tue, 18 Jul 2023 16:40:23 +0200
* 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 <at> gnu.org>
 ;;; Copyright © 2019 Efraim Flashner <efraim <at> flashner.co.il>
 ;;; Copyright © 2020 Arun Isaac <arunisaac <at> systemreboot.net>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:03 GMT) Full text and rfc822 format available.

Message #98 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 32/43] gnu: cmake-bootstrap: Fix build for the Hurd.
Date: Tue, 18 Jul 2023 16:40:25 +0200
* 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 <at> tobias.gr>
 ;;; Copyright © 2019, 2020, 2021, 2022 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
 ;;; Copyright © 2019 Pierre-Moana Levesque <pierre.moana.levesque <at> gmail.com>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2021 Ricardo Wurmus <rekado <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:04 GMT) Full text and rfc822 format available.

Message #101 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 31/43] gnu: zstd: Skip tests when building for the Hurd.
Date: Tue, 18 Jul 2023 16:40:24 +0200
* 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 <at> nextjournal.com>
 ;;; Copyright © 2018, 2019 Pierre Neidhardt <mail <at> ambrevar.xyz>
 ;;; Copyright © 2019 Nicolas Goaziou <mail <at> nicolasgoaziou.fr>
-;;; Copyright © 2019 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2019, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2020 Björn Höfling <bjoern.hoefling <at> bjoernhoefling.de>
 ;;; Copyright © 2020 Arun Isaac <arunisaac <at> systemreboot.net>
 ;;; Copyright © 2020, 2021 Lars-Dominik Braun <lars <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:04 GMT) Full text and rfc822 format available.

Message #104 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 33/43] gnu: cmake-minimal: Skip tests on the Hurd.
Date: Tue, 18 Jul 2023 16:40:26 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:04 GMT) Full text and rfc822 format available.

Message #107 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 34/43] gnu: doxygen: Fix build for the Hurd.
Date: Tue, 18 Jul 2023 16:40:27 +0200
* 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 <at> rohleder.de>
 ;;; Copyright © 2021, 2022 Marius Bakke <marius <at> gnu.org>
 ;;; Copyright © 2022 Maxim Cournoyer <maxim.counoyer <at> gmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:05 GMT) Full text and rfc822 format available.

Message #110 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 35/43] gnu: graphite2: Skip test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:28 +0200
* 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 <at> kernel.org>
 ;;; Copyright © 2023 gemmaro <gemmaro.dev <at> gmail.com>
 ;;; Copyright © 2023 John Kehayias <john.kehayias <at> protonmail.com>
+;;; Copyright © 2023 Janneke Nieuwenhuizen <janneke <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:05 GMT) Full text and rfc822 format available.

Message #113 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 36/43] gnu: guile-git: Skip http proxy test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:29 +0200
* 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





Information forwarded to liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:06 GMT) Full text and rfc822 format available.

Message #116 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
Date: Tue, 18 Jul 2023 16:40:30 +0200
* 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 <at> gnu.org>
 ;;; Copyright © 2020 Nicolò Balzarotti <nicolo <at> nixo.xyz>
 ;;; Copyright © 2020 Florian Pelz <pelzflorian <at> pelzflorian.de>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar <at> gmail.com>
 ;;; Copyright © 2021 Maxime Devos <maximedevos <at> telenet.be>
 ;;; Copyright © 2022 Petr Hodina <phodina <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:06 GMT) Full text and rfc822 format available.

Message #119 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 38/43] gnu: ghostscript: Fix build for the Hurd.
Date: Tue, 18 Jul 2023 16:40:31 +0200
* 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 <at> 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





Information forwarded to liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:06 GMT) Full text and rfc822 format available.

Message #122 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 39/43] gnu: harfbuzz: Support build for the Hurd.
Date: Tue, 18 Jul 2023 16:40:32 +0200
* 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





Information forwarded to liliana.prikler <at> gmail.com, maxim.cournoyer <at> gmail.com, rg <at> raghavgururajan.name, guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:07 GMT) Full text and rfc822 format available.

Message #125 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 40/43] gnu: pango: Support build for the Hurd.
Date: Tue, 18 Jul 2023 16:40:33 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:07 GMT) Full text and rfc822 format available.

Message #128 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 41/43] gnu: fontforge: Support build on the Hurd.
Date: Tue, 18 Jul 2023 16:40:34 +0200
* 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 <at> 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 <at> 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:08 GMT) Full text and rfc822 format available.

Message #131 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 42/43] gnu: po4a: Skip failing test on the Hurd.
Date: Tue, 18 Jul 2023 16:40:35 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:43:08 GMT) Full text and rfc822 format available.

Message #134 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: [PATCH 43/43] gnu: guile-2.0: Skip failing tests on the Hurd.
Date: Tue, 18 Jul 2023 16:40:36 +0200
* 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





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 14:49:01 GMT) Full text and rfc822 format available.

Message #137 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: 64711 <at> debbugs.gnu.org
Subject: Re: [bug#64711] [PATCH 00/43] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 16:48:14 +0200
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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 15:55:02 GMT) Full text and rfc822 format available.

Message #140 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>, 64711 <at> debbugs.gnu.org
Cc: Andrew Tropin <andrew <at> trop.in>
Subject: Re: [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target.
Date: Tue, 18 Jul 2023 17:54:46 +0200
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 <at> gmail.com>
>  ;;; Copyright © 2017 Alex Vong <alexvong1995 <at> gmail.com>
>  ;;; Copyright © 2017, 2018 Ricardo Wurmus <rekado <at> elephly.net>
> -;;; Copyright © 2017 Jan Nieuwenhuizen <janneke <at> gnu.org>
> +;;; Copyright © 2017, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
>  ;;; Copyright © 2018, 2023 Efraim Flashner <efraim <at> flashner.co.il>
>  ;;; Copyright © 2018 Mathieu Othacehe <m.othacehe <at> gmail.com>
>  ;;; Copyright © 2018, 2019, 2021 Tobias Geerinckx-Rice
> <me <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 15:57:01 GMT) Full text and rfc822 format available.

Message #143 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>, 64711 <at> debbugs.gnu.org
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
Date: Tue, 18 Jul 2023 17:56:30 +0200
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 <at> gnu.org>
>  ;;; Copyright © 2020 Nicolò Balzarotti <nicolo <at> nixo.xyz>
>  ;;; Copyright © 2020 Florian Pelz <pelzflorian <at> pelzflorian.de>
> -;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
> +;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
>  ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar <at> gmail.com>
>  ;;; Copyright © 2021 Maxime Devos <maximedevos <at> telenet.be>
>  ;;; Copyright © 2022 Petr Hodina <phodina <at> 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?





Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 15:58:02 GMT) Full text and rfc822 format available.

Message #146 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>, 64711 <at> debbugs.gnu.org
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>,
 Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the
 Hurd.
Date: Tue, 18 Jul 2023 17:57:28 +0200
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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 16:33:01 GMT) Full text and rfc822 format available.

Message #149 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
Date: Tue, 18 Jul 2023 18:32:37 +0200
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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 16:35:01 GMT) Full text and rfc822 format available.

Message #152 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the
 Hurd.
Date: Tue, 18 Jul 2023 18:33:56 +0200
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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 16:41:01 GMT) Full text and rfc822 format available.

Message #155 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Cc: 64711 <at> debbugs.gnu.org, Andrew Tropin <andrew <at> trop.in>
Subject: Re: [bug#64711] [PATCH 21/43] gnu: emacs: Depend on libc-for-target.
Date: Tue, 18 Jul 2023 18:39:49 +0200
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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 17:54:02 GMT) Full text and rfc822 format available.

Message #158 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 19:53:05 +0200
Hi,

Janneke Nieuwenhuizen <janneke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 17:58:02 GMT) Full text and rfc822 format available.

Message #161 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 19:57:52 +0200
Janneke Nieuwenhuizen <janneke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 18:06:01 GMT) Full text and rfc822 format available.

Message #164 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 20:04:56 +0200
Ludovic Courtès writes:

> Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:06:02 GMT) Full text and rfc822 format available.

Message #167 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, 64711 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
Date: Tue, 18 Jul 2023 16:04:51 -0400
Hi Janneke,

Thanks for your efforts on this.

Janneke Nieuwenhuizen <janneke <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:06:02 GMT) Full text and rfc822 format available.

Message #170 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
Date: Tue, 18 Jul 2023 16:05:45 -0400
Hello,

Janneke Nieuwenhuizen <janneke <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:07:02 GMT) Full text and rfc822 format available.

Message #173 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the
 Hurd.
Date: Tue, 18 Jul 2023 16:06:24 -0400
Hi,

Janneke Nieuwenhuizen <janneke <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:14:01 GMT) Full text and rfc822 format available.

Message #176 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 22:13:28 +0200
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 <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:14:01 GMT) Full text and rfc822 format available.

Message #179 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, 64711 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 39/43] gnu: harfbuzz: Support build for the
 Hurd.
Date: Tue, 18 Jul 2023 16:13:37 -0400
Hi,

Janneke Nieuwenhuizen <janneke <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:16:02 GMT) Full text and rfc822 format available.

Message #182 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, 64711 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
Date: Tue, 18 Jul 2023 22:15:01 +0200
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 <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:20:01 GMT) Full text and rfc822 format available.

Message #185 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Josselin Poiret <dev <at> jpoiret.xyz>, 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 22:18:56 +0200
Hi,

(+Cc: Josselin.)

Janneke Nieuwenhuizen <janneke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:24:01 GMT) Full text and rfc822 format available.

Message #188 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 22:23:00 +0200
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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:24:02 GMT) Full text and rfc822 format available.

Message #191 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 22:23:08 +0200
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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:24:02 GMT) Full text and rfc822 format available.

Message #194 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 22:23:26 +0200
Janneke Nieuwenhuizen <janneke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Tue, 18 Jul 2023 20:30:02 GMT) Full text and rfc822 format available.

Message #197 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Ludovic Courtès <ludo <at> gnu.org>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Tue, 18 Jul 2023 22:29:07 +0200
Hey!

Janneke Nieuwenhuizen <janneke <at> 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’.




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Wed, 19 Jul 2023 00:57:01 GMT) Full text and rfc822 format available.

Message #200 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, 64711 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
Date: Tue, 18 Jul 2023 20:56:14 -0400
Hi,

Janneke Nieuwenhuizen <janneke <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Wed, 19 Jul 2023 05:24:02 GMT) Full text and rfc822 format available.

Message #203 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Josselin Poiret <dev <at> jpoiret.xyz>, 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Wed, 19 Jul 2023 07:23:40 +0200
Ludovic Courtès writes:

Hi!

> (+Cc: Josselin.)
>
> Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Wed, 19 Jul 2023 06:15:02 GMT) Full text and rfc822 format available.

Message #206 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, 64711 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
Date: Wed, 19 Jul 2023 08:14:22 +0200
Maxim Cournoyer writes:

Hello,

> Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Wed, 19 Jul 2023 06:29:02 GMT) Full text and rfc822 format available.

Message #209 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: Josselin Poiret <dev <at> jpoiret.xyz>, 64711 <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Wed, 19 Jul 2023 08:27:39 +0200
Ludovic Courtès writes:

Hi!

> (+Cc: Josselin.)
>
> Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Wed, 19 Jul 2023 09:31:01 GMT) Full text and rfc822 format available.

Message #212 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the
 Hurd.
Date: Wed, 19 Jul 2023 11:30:29 +0200
[Message part 1 (text/plain, inline)]
Maxim Cournoyer writes:

Hi!

> Janneke Nieuwenhuizen <janneke <at> 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

[gi9lnpaqmi2wkz6h8rcf8kx092zj2k-gobject-introspection-1.73.1.drv.gz (application/octet-stream, attachment)]
[Message part 3 (text/plain, inline)]
-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Wed, 19 Jul 2023 16:23:02 GMT) Full text and rfc822 format available.

Message #215 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, 64711 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
Date: Wed, 19 Jul 2023 12:22:31 -0400
Hi Janneke,

Janneke Nieuwenhuizen <janneke <at> gnu.org> writes:

> Maxim Cournoyer writes:
>
> Hello,
>
>> Janneke Nieuwenhuizen <janneke <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Wed, 19 Jul 2023 20:52:02 GMT) Full text and rfc822 format available.

Message #218 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, 64711 <at> debbugs.gnu.org,
 Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 40/43] gnu: pango: Support build for the Hurd.
Date: Wed, 19 Jul 2023 22:51:01 +0200
Maxim Cournoyer writes:

Hi Maxim,

> Janneke Nieuwenhuizen <janneke <at> gnu.org> writes:
>
>> Maxim Cournoyer writes:
>>
>> Hello,
>>
>>> Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Thu, 20 Jul 2023 03:15:01 GMT) Full text and rfc822 format available.

Message #221 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the
 Hurd.
Date: Wed, 19 Jul 2023 23:14:07 -0400
Hi Janneke,

Janneke Nieuwenhuizen <janneke <at> gnu.org> writes:

> Maxim Cournoyer writes:
>
> Hi!
>
>> Janneke Nieuwenhuizen <janneke <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Thu, 20 Jul 2023 08:20:02 GMT) Full text and rfc822 format available.

Message #224 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
Date: Thu, 20 Jul 2023 10:19:43 +0200
[Message part 1 (text/plain, inline)]
Maxim Cournoyer writes:

Hello!

> Janneke Nieuwenhuizen <janneke <at> 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

[0001-gnu-glib-Disable-hanging-and-failing-tests-for-the-H.patch (text/x-patch, inline)]
From e65647119e4791580ef50869d35be29d4010c6bb Mon Sep 17 00:00:00 2001
Message-Id: <e65647119e4791580ef50869d35be29d4010c6bb.1689841075.git.janneke <at> gnu.org>
From: Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>
 ;;; Copyright © 2020 Nicolò Balzarotti <nicolo <at> nixo.xyz>
 ;;; Copyright © 2020 Florian Pelz <pelzflorian <at> pelzflorian.de>
-;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke <at> gnu.org>
+;;; Copyright © 2020, 2023 Janneke Nieuwenhuizen <janneke <at> gnu.org>
 ;;; Copyright © 2020 Arthur Margerit <ruhtra.mar <at> gmail.com>
 ;;; Copyright © 2021 Maxime Devos <maximedevos <at> telenet.be>
 ;;; Copyright © 2022 Petr Hodina <phodina <at> 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

[Message part 3 (text/plain, inline)]
-- 
Janneke Nieuwenhuizen <janneke <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com

Reply sent to Janneke Nieuwenhuizen <janneke <at> gnu.org>:
You have taken responsibility. (Thu, 20 Jul 2023 08:28:02 GMT) Full text and rfc822 format available.

Notification sent to Janneke Nieuwenhuizen <janneke <at> gnu.org>:
bug acknowledged by developer. (Thu, 20 Jul 2023 08:28:02 GMT) Full text and rfc822 format available.

Message #229 received at 64711-done <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Ludovic Courtès <ludo <at> gnu.org>
Cc: 64711-done <at> debbugs.gnu.org
Subject: Re: bug#64711: [PATCH 00/45] Fix builds and skip failing tests for
 the Hurd.
Date: Thu, 20 Jul 2023 10:27:10 +0200
Ludovic Courtès writes:

Hi,

> Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Thu, 20 Jul 2023 18:09:01 GMT) Full text and rfc822 format available.

Message #232 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Janneke Nieuwenhuizen <janneke <at> gnu.org>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
Date: Thu, 20 Jul 2023 14:08:45 -0400
Hi Janneke,

Janneke Nieuwenhuizen <janneke <at> gnu.org> writes:

> Maxim Cournoyer writes:
>
> Hello!
>
>> Janneke Nieuwenhuizen <janneke <at> 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




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Fri, 21 Jul 2023 17:23:02 GMT) Full text and rfc822 format available.

Message #235 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 37/43] gnu: glib: Disable tests for the Hurd.
Date: Fri, 21 Jul 2023 19:22:00 +0200
Maxim Cournoyer writes:

Hi Maxim,

> Janneke Nieuwenhuizen <janneke <at> gnu.org> writes:
>
>> Maxim Cournoyer writes:
>>
>> Hello!
>>
>>> Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




Information forwarded to guix-patches <at> gnu.org:
bug#64711; Package guix-patches. (Fri, 21 Jul 2023 18:28:01 GMT) Full text and rfc822 format available.

Message #238 received at 64711 <at> debbugs.gnu.org (full text, mbox):

From: Janneke Nieuwenhuizen <janneke <at> gnu.org>
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: Raghav Gururajan <rg <at> raghavgururajan.name>, ludo <at> gnu.org,
 64711 <at> debbugs.gnu.org, Liliana Marie Prikler <liliana.prikler <at> gmail.com>
Subject: Re: [bug#64711] [PATCH 26/43] gnu: cairo: Support building for the
 Hurd.
Date: Fri, 21 Jul 2023 20:27:38 +0200
Maxim Cournoyer writes:

Hi Maxim,

> Janneke Nieuwenhuizen <janneke <at> gnu.org> writes:
>
>> Maxim Cournoyer writes:
>>
>> Hi!
>>
>>> Janneke Nieuwenhuizen <janneke <at> 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 <at> gnu.org>  | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com | Avatar® https://AvatarAcademy.com




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 19 Aug 2023 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 1 year and 360 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.