summaryrefslogtreecommitdiff
path: root/guix/platform.scm
AgeCommit message (Collapse)Author
2026-01-25describe: Define and use ‘modules-from-current-profile’.Ludovic Courtès
Fixes <https://issues.guix.gnu.org/75458>. Fixes a bug whereby bootloader, image, platform, etc. modules would be searched for in locations other than the current profile, possibly leading to incompatible files being loaded. More generally, this bug would break statelessness: depending on what happens to be available in $GUILE_LOAD_PATH, some modules would or would not be loaded. * guix/describe.scm (modules-from-current-profile): New procedure. * gnu/bootloader.scm (bootloader-modules): Use it instead of ‘all-modules’. * gnu/system/image.scm (image-modules): Likewise. (not-config?): Rename to… (neither-config-nor-git?): … this, and add (guix git). Adjust users. * guix/import/utils.scm (build-system-modules): Likewise. * guix/platform.scm (platform-modules): Likewise. * guix/upstream.scm (importer-modules): Likewise. Change-Id: I8ac55a5bcdf54990665c70d0aa558b9b2c2548d4 Signed-off-by: Ludovic Courtès <ludo@gnu.org> Merges: #4859 Signed-off-by: Rutherther <rutherther@ditigal.xyz>
2023-12-11guix: platform: Add platform-rust-target.Efraim Flashner
* guix/platform.scm <platform>: Add rust-target field. * guix/platforms/arm.scm (armv7-linux, aarch64-linux): Add the system's rust target triplet. * guix/platforms/mips.scm (mips64-linux): * guix/platforms/powerpc.scm (powerpc-linux, powerpc64-linux, powerpc64le-linux): * guix/platforms/riscv.scm (riscv64-linux): * guix/platforms/x86.scm (i686-linux, x86_64-linux, i686-mingw, x86_64-mingw, i586-pc): Same. Change-Id: Id9dca0fb8ec2b3bf2b3876b974e4bbaa30dbc6a6
2023-07-13guix: platform: Use srfi-34's raise instead of raise-exception.Josselin Poiret
* guix/platform.scm (lookup-platform-by-system) (lookup-platform-by-target) (lookup-platform-by-target-or-system): Use srfi-34's raise instead of raise-exception.
2023-01-18platforms: Raise an exception when no suitable platform is found.Maxim Cournoyer
This was motivated by #60786, which produced a cryptic, hard to understand backtrace. Given the following reproducer: (use-modules (guix packages) (gnu packages cross-base)) (define linux-libre-headers-cross-mips64el-linux-gnuabi64 (cross-kernel-headers "mips64el-linux-gnuabi64")) (package-arguments linux-libre-headers-cross-mips64el-linux-gnuabi64) Before this change: ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure struct-vtable: Wrong type argument in position 1 (expecting struct): #f After this change: ice-9/boot-9.scm:1685:16: In procedure raise-exception: ERROR: 1. &platform-not-found-error: "mips64el-linux-gnuabi64" * guix/platform.scm (&platform-not-found-error): New condition. (platform-not-found-error?): New predicate. (false-if-platform-not-found): New syntax. (lookup-platform-by-system): Raise an exception when no platform is found. Update documentation. (lookup-platform-by-target): Likewise. (lookup-platform-by-target-or-system): Likewise, and guard lookup calls with false-if-platform-not-found. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Handle lookup-platform-by-system call to preserve existing behavior. Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
2022-09-07guix: platform: Use #false instead of #f.Mathieu Othacehe
* guix/platform.scm (<platform>): Adapt it.
2022-06-08guix: platform: Fix typo in lookup-platform-by-target.Josselin Poiret
* guix/platform.scm (lookup-platform-by-target): Fix typo system -> target. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-05-25Move (gnu platform) and (gnu platforms ...) to guix/.Josselin Poiret
* gnu/platform.scm: * gnu/platforms/arm.scm: * gnu/platforms/hurd.scm: * gnu/platforms/mips.scm: * gnu/platforms/powerpc.scm: * gnu/platforms/riscv.scm: * gnu/platforms/s390.scm: * gnu/platforms/x86.scm: Move to guix/. * Makefile.am: * doc/guix.texi (Porting to a New Platform): * etc/release-manifest.scm: * gnu/ci.scm: * gnu/image.scm: * gnu/local.mk: * gnu/packages/bioinformatics.scm: * gnu/packages/bootstrap.scm: * gnu/packages/cross-base.scm: * gnu/packages/instrumentation.scm: * gnu/packages/linux.scm: * gnu/system/image.scm: * gnu/system/images/hurd.scm: * gnu/system/images/novena.scm: * gnu/system/images/pine64.scm: * gnu/system/images/pinebook-pro.scm: * gnu/system/images/rock64.scm: * guix/scripts/build.scm: * guix/scripts/system.scm: * guix/self.scm: Update (gnu platform...) to (guix platform...). Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>