summaryrefslogtreecommitdiff
path: root/gnu/packages/linux.scm
diff options
context:
space:
mode:
authorMathieu Othacehe <othacehe@gnu.org>2022-05-07 16:45:40 +0200
committerMathieu Othacehe <othacehe@gnu.org>2022-05-22 15:15:33 +0200
commitb55310603f0df7d5ae02d47cb8d4be58bf1d41ca (patch)
treefae12dd0399909cb09b3162934f198803f4a19cc /gnu/packages/linux.scm
parent4cf7d0f836d08fd41aab02e1f6793146ce3cad8d (diff)
linux: Remove system->linux-architecture procedure.
* gnu/packages/linux.scm (system->linux-architecture): Remove it. (make-linux-libre-headers*, make-linux-libre*): Adapt them. * guix/build-system/linux-module.scm (system->arch): Adapt it. * gnu/packages/instrumentation.scm (uftrace): Ditto. * gnu/packages/cross-base.scm (cross-kernel-headers): Ditto. * gnu/packages/bioinformatics.scm (ncbi-vdb): Ditto. * doc/guix.texi (Porting to a new platform): Update it.
Diffstat (limited to 'gnu/packages/linux.scm')
-rw-r--r--gnu/packages/linux.scm34
1 files changed, 12 insertions, 22 deletions
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 7b564e7ef1..4101d4897b 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -158,6 +158,7 @@
#:use-module (gnu packages groff)
#:use-module (gnu packages selinux)
#:use-module (gnu packages swig)
+ #:use-module (gnu platform)
#:use-module (guix build-system cmake)
#:use-module (guix build-system copy)
#:use-module (guix build-system gnu)
@@ -181,20 +182,6 @@
#:use-module (ice-9 match)
#:use-module (ice-9 regex))
-(define-public (system->linux-architecture arch)
- "Return the Linux architecture name for ARCH, a Guix system name such as
-\"x86_64-linux\" or a target triplet such as \"arm-linux-gnueabihf\"."
- (let ((arch (car (string-split arch #\-))))
- (cond ((string=? arch "i686") "i386")
- ((string-prefix? "mips" arch) "mips")
- ((string-prefix? "arm" arch) "arm")
- ((string-prefix? "aarch64" arch) "arm64")
- ((string-prefix? "alpha" arch) "alpha")
- ((string-prefix? "powerpc" arch) "powerpc") ;including "powerpc64le"
- ((string-prefix? "s390" arch) "s390")
- ((string-prefix? "riscv" arch) "riscv")
- (else arch))))
-
(define-public (system->defconfig system)
"Some systems (notably powerpc-linux) require a special target for kernel
defconfig. Return the appropriate make target if applicable, otherwise return
@@ -567,9 +554,10 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(delete 'configure)
(replace 'build
(lambda _
- (let ((arch ,(system->linux-architecture
- (or (%current-target-system)
- (%current-system))))
+ (let ((arch ,(platform-linux-architecture
+ (lookup-platform-by-target-or-system
+ (or (%current-target-system)
+ (%current-system)))))
(defconfig ,(system->defconfig
(or (%current-target-system)
(%current-system))))
@@ -807,8 +795,9 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
,@(match (and configuration-file
(configuration-file
- (system->linux-architecture
- (or (%current-target-system) (%current-system)))
+ (platform-linux-architecture
+ (lookup-platform-by-target-or-system
+ (or (%current-target-system) (%current-system))))
#:variant (version-major+minor version)))
(#f ;no config for this platform
'())
@@ -839,9 +828,10 @@ for ARCH and optionally VARIANT, or #f if there is no such configuration."
(setenv "KBUILD_BUILD_HOST" "guix")
;; Set ARCH and CROSS_COMPILE.
- (let ((arch #$(system->linux-architecture
- (or (%current-target-system)
- (%current-system)))))
+ (let ((arch #$(platform-linux-architecture
+ (lookup-platform-by-target-or-system
+ (or (%current-target-system)
+ (%current-system))))))
(setenv "ARCH" arch)
(format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))