[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#55220] [PATCH 0/4] Add --list-systems and --list-targets options.
From: |
Mathieu Othacehe |
Subject: |
[bug#55220] [PATCH 0/4] Add --list-systems and --list-targets options. |
Date: |
Mon, 2 May 2022 13:17:15 +0200 |
Hello,
Most build commands support --system and --target options. Those options
suffer from multiple issues: they are never listed and never checked.
For --system, this is a real issue as aside from reading the (gnu packages
bootstrap) module content the user cannot know what are the supported
arguments. Providing a wrong system also fails badly:
mathieu@meije ~$ guix build hello --system=arm-linux
Backtrace:
In guix/memoization.scm:
101:0 19 (_ #<hash-table 7f1d5d82a340 0/31> #<package tar@1.34 …> …)
...
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
dynamic linker name not known for this system "arm-linux"
For --target, any GNU supported triplet can possibly work but providing a
wrong triplet will also fail badly:
mathieu@meije ~$ guix build hello --target=arm-linux
Backtrace:
In guix/store.scm:
1385:9 19 (map/accumulate-builds #<store-connection 256.99 7f5bd…> …)
...
ice-9/boot-9.scm:1685:16: In procedure raise-exception:
dynamic linker name not known for this system "arm-linux"
This patchset adds two new options: --list-systems and --list-targets that
list the supported systems and targets. The arguments passed to --system and
--target options are also checked:
mathieu@meije ~/guix [env]$ ./pre-inst-env guix build hello --system=arm-linux
guix build: error: 'arm-linux' is not a supported system.
mathieu@meije ~/guix [env]$ ./pre-inst-env guix build hello --target=arm-linux
guix build: error: 'arm-linux' is not a supported target.
Thanks,
Mathieu
Mathieu Othacehe (4):
platform: Introduce new platforms.
platform: Add discovery support.
ci: Do not rely on hardcoded cross-targets lists.
scripts: Add --list-systems and --list-targets options.
doc/guix.texi | 8 ++++
etc/release-manifest.scm | 4 +-
gnu/ci.scm | 15 +------
gnu/local.mk | 4 ++
gnu/platform.scm | 62 ++++++++++++++++++++++++--
gnu/platforms/intel.scm | 48 +++++++++++++++++++++
gnu/platforms/mips.scm | 29 +++++++++++++
gnu/platforms/powerpc.scm | 36 ++++++++++++++++
gnu/platforms/riscv.scm | 29 +++++++++++++
guix/scripts/archive.scm | 20 +++------
guix/scripts/build.scm | 84 ++++++++++++++++++++++++++++++------
guix/scripts/environment.scm | 11 ++---
guix/scripts/graph.scm | 15 +++----
guix/scripts/pack.scm | 20 +++------
guix/scripts/pull.scm | 12 +++---
guix/scripts/size.scm | 13 +++---
guix/scripts/weather.scm | 11 +++--
17 files changed, 329 insertions(+), 92 deletions(-)
create mode 100644 gnu/platforms/intel.scm
create mode 100644 gnu/platforms/mips.scm
create mode 100644 gnu/platforms/powerpc.scm
create mode 100644 gnu/platforms/riscv.scm
--
2.35.1
- [bug#55220] [PATCH 0/4] Add --list-systems and --list-targets options.,
Mathieu Othacehe <=