Subject: [bug#49672] [PATCH v2 0/6] Target check fixes for cross compilation

From: Thiago Jung Bauermann <[email-masked]>
Date: Sun, 27 Mar 2022 18:40:20 -0300

Hello,

I've been working on and off on this fixes and cleanups series for a long
time now, but it became a bit unwieldy and overwhelming so in the interest
of shipping something I decided to split the fixes from the cleanups. This
way I can at least submit the former, and leave the latter for an
unspecified, uncertain future.

I tested that on x86_64-linux the build derivations of all packages modified
by these packages are unchanged. They only affect (for the better!) cross
builds. This means that this patch series can go to master.

I don't mind rebasing it if by the time the series is approved, it doesn't
cleanly apply anymore.

Changes since v1:

- Patch “gnu: Fix GNU/Linux system detection”
  - Use ‘target-linux?’ helper rather than ‘string-contains’.

- Patch “gnu: libgc: Use default argument in ‘target-hurd?’ call”
  - New patch.

- Patch “utils: Introduce the ‘current-target-nix-system’ procedure”
  - Reworded commit message.

- Patch “gnu: Use ‘current-target-nix-system’ for matches”
  - Reworded commit message.
  - Squashed with patch “gnu: Use ‘current-target-nix-system’ in prefix checks”
  - Found more packages where these changes were needed.

- Patch “bootloader: grub: Fix mix of GNU triplet and Nix system identifier”
  - Patch dropped. It was a cleanup, not a bug fix.

- Patch “gnu: ustr: Don’t pass default argument”
  - Patch dropped. It was a cleanup, not a bug fix.

- Patch “gnu: Use existing target helpers from ‘(guix utils)’”
  - Patch dropped. It was a cleanup, not a bug fix.

Thiago Jung Bauermann (6):
  gnu: Fix GNU/Linux system detection
  gnu: libgc: Use default argument in ‘target-hurd?’ call
  utils: Introduce the ‘current-target-nix-system’ procedure
  gnu: Use ‘current-target-nix-system’ for matches
  gnu: Query membership in ‘supported-systems’ list with Nix identifier
  gnu: Fix check of ‘%current-system’ and ‘%current-target-system’

 gnu/packages/astronomy.scm      |  4 ++--
 gnu/packages/bdw-gc.scm         |  3 +--
 gnu/packages/bootloaders.scm    | 13 ++++---------
 gnu/packages/bootstrap.scm      |  4 +---
 gnu/packages/c.scm              |  3 +--
 gnu/packages/compression.scm    |  6 ++----
 gnu/packages/crypto.scm         |  4 ++--
 gnu/packages/debug.scm          |  6 ++----
 gnu/packages/digest.scm         |  3 +--
 gnu/packages/golang.scm         |  6 ++----
 gnu/packages/java.scm           | 20 ++++++++++----------
 gnu/packages/julia.scm          |  3 +--
 gnu/packages/lisp.scm           |  3 +--
 gnu/packages/llvm.scm           |  4 +---
 gnu/packages/make-bootstrap.scm |  2 +-
 gnu/packages/mes.scm            |  3 +--
 gnu/packages/messaging.scm      |  8 ++------
 gnu/packages/ntp.scm            |  3 +--
 gnu/packages/pascal.scm         |  6 ++----
 gnu/packages/photo.scm          |  4 ++--
 gnu/packages/php.scm            |  4 ++--
 gnu/packages/sdl.scm            |  4 ++--
 gnu/packages/telephony.scm      |  4 ++--
 gnu/packages/video.scm          |  3 +--
 gnu/packages/web.scm            |  6 ++----
 guix/utils.scm                  |  7 +++++++
 26 files changed, 56 insertions(+), 80 deletions(-)

base-commit: ff4585d147ef3bb55c6cbbd86ca8fc582ad6b561