From: Mathieu Othacehe <othacehe@gnu.org>
To: 55220@debbugs.gnu.org
Cc: Mathieu Othacehe <othacehe@gnu.org>
Subject: [bug#55220] [PATCH 0/4] Add --list-systems and --list-targets options.
Date: Mon, 2 May 2022 13:17:15 +0200 [thread overview]
Message-ID: <20220502111715.13500-1-othacehe@gnu.org> (raw)
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
next reply other threads:[~2022-05-02 11:28 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-05-02 11:17 Mathieu Othacehe [this message]
2022-05-02 11:18 ` [bug#55220] [PATCH 1/4] platform: Introduce new platforms Mathieu Othacehe
2022-05-02 11:18 ` [bug#55220] [PATCH 2/4] platform: Add discovery support Mathieu Othacehe
2022-05-06 14:41 ` [bug#55220] [PATCH 0/4] Add --list-systems and --list-targets options Ludovic Courtès
2022-05-07 15:53 ` Mathieu Othacehe
2022-05-02 11:18 ` [bug#55220] [PATCH 3/4] ci: Do not rely on hardcoded cross-targets lists Mathieu Othacehe
2022-05-02 11:18 ` [bug#55220] [PATCH 4/4] scripts: Add --list-systems and --list-targets options Mathieu Othacehe
2022-05-06 14:54 ` [bug#55220] [PATCH 0/4] " Ludovic Courtès
2022-05-07 16:04 ` Mathieu Othacehe
2022-05-22 1:30 ` Maxim Cournoyer
2022-05-22 1:25 ` Maxim Cournoyer
2022-05-22 13:09 ` Mathieu Othacehe
2022-05-06 14:39 ` Ludovic Courtès
2022-05-07 15:50 ` Mathieu Othacehe
2022-05-06 14:37 ` Ludovic Courtès
2022-05-07 16:11 ` [bug#55220] [PATCH v2 0/6] " Mathieu Othacehe
2022-05-07 16:11 ` [bug#55220] [PATCH v2 1/6] platform: Introduce new platforms Mathieu Othacehe
2022-05-09 20:44 ` Maxime Devos
2022-05-22 1:39 ` [bug#55220] [PATCH 0/4] Add --list-systems and --list-targets options Maxim Cournoyer
2022-05-22 13:12 ` Mathieu Othacehe
2022-05-22 13:42 ` Maxim Cournoyer
2022-05-22 13:01 ` [bug#55220] [PATCH v2 1/6] platform: Introduce new platforms Mathieu Othacehe
2022-05-09 20:50 ` Maxime Devos
2022-05-22 13:02 ` Mathieu Othacehe
2022-05-07 16:11 ` [bug#55220] [PATCH v2 2/6] platform: Add discovery support Mathieu Othacehe
2022-05-09 20:58 ` Maxime Devos
2022-05-22 1:34 ` [bug#55220] [PATCH 0/4] Add --list-systems and --list-targets options Maxim Cournoyer
2022-05-22 13:06 ` [bug#55220] [PATCH v2 2/6] platform: Add discovery support Mathieu Othacehe
2022-05-07 16:11 ` [bug#55220] [PATCH v2 3/6] ci: Do not rely on hardcoded cross-targets lists Mathieu Othacehe
2022-05-07 16:11 ` [bug#55220] [PATCH v2 4/6] scripts: Add --list-systems and --list-targets options Mathieu Othacehe
2022-05-07 16:11 ` [bug#55220] [PATCH v2 5/6] platform: Add glibc-dynamic-linker field Mathieu Othacehe
2022-05-07 16:11 ` [bug#55220] [PATCH v2 6/6] linux: Remove system->linux-architecture procedure Mathieu Othacehe
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20220502111715.13500-1-othacehe@gnu.org \
--to=othacehe@gnu.org \
--cc=55220@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.