Subject: [bug#50091] [PATCH 05/21] gnu: guile: Fix building on riscv64-linux.

From: Maxime Devos <[email-masked]>
Date: Tue, 17 Aug 2021 12:44:44 +0200

>  ;;; Commentary:
>  ;;;
> @@ -346,14 +347,17 @@ without requiring the source code to be rewritten.")
>                         ;; https://debbugs.gnu.org/cgi/bugreport.cgi?bug=45214
>                         (substitute* "bootstrap/Makefile.in"
>                           (("^GUILE_OPTIMIZATIONS.*")
> -                          "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n"))))
> -                   (add-after 'unpack 'skip-failing-fdes-test
> -                     (lambda _
> -                       ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> -                       (substitute* "test-suite/tests/ports.test"
> -                         (("fdes not closed\"" all) (string-append all "(exit 77)")))
> -                       #t)))
> -                 '())))))
> +                          "GUILE_OPTIMIZATIONS = -O1 -Oresolve-primitives -Ocps\n")))))
> +                 '())
> +           ,@(if (srfi-1:any (cute string-prefix? <> (%current-system))
> +                             '("powerpc-" "riscv64-"))
> +               `((add-after 'unpack 'skip-failing-fdes-test
> +                   (lambda _
> +                     ;; ERROR: ((system-error "seek" "~A" ("Bad file descriptor") (9)))
> +                     (substitute* "test-suite/tests/ports.test"
> +                       (("fdes not closed\"" all) (string-append all "(exit 77)")))
> +                     #t)))
> +               '())))))

This is not powerpc- or riscv64-specific -- iirc, I sometimes encounter it on a x86_64.
It's non-determenistic though.  The debian patch has a nice explanation:
<https://salsa.debian.org/rlb/deb-guile/-/blob/f24ab0150132d906b9724128576c36c39361cab7/debian/patches/0007-Fix-non-revealed-port-is-closed-ports.test.patch>.
I've also linked some of the public reports on the issue together:
<https://issues.guix.gnu.org/48389#11>.

Could the patch (or substitution) be applied, independently of the architecture?

Greetings,
Maxime.