Message ID | 20220523083332.21626-1-mail@cbaines.net |
---|---|
State | Accepted |
Headers | show |
Series | [bug#55591] WIP: fix the linux build system | expand |
Context | Check | Description |
---|---|---|
cbaines/applying patch | fail | View Laminar job |
cbaines/issue | success | View issue |
Am Montag, dem 23.05.2022 um 09:33 +0100 schrieb Christopher Baines: > --- > gnu/platform.scm | 6 +++++- > guix/build-system/linux-module.scm | 3 ++- > 2 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/gnu/platform.scm b/gnu/platform.scm > index fdc3685e7c..91a1854e68 100644 > --- a/gnu/platform.scm > +++ b/gnu/platform.scm > @@ -66,10 +66,14 @@ (define-record-type* <platform> platform make- > platform > platform? > (target platform-target) > (system platform-system) > - (linux-architecture platform-linux-architecture > + (linux-architecture platform-linux-architecture* > (default #f)) > (glibc-dynamic-linker platform-glibc-dynamic-linker)) > > +;; Provide a procedure so this can be used via module-ref > +(define (platform-linux-architecture platform) > + (platform-linux-architecture* platform)) > + I'd use a percent prefix if the problem is that platform-linux- architecture can not be called. > ;;; > ;;; Platforms. > diff --git a/guix/build-system/linux-module.scm b/guix/build- > system/linux-module.scm > index 761ebe25b1..78a3ba95b2 100644 > --- a/guix/build-system/linux-module.scm > +++ b/guix/build-system/linux-module.scm > @@ -51,7 +51,8 @@ (define (default-linux) > > (define (system->arch system) > (let ((module (resolve-interface '(gnu platform)))) > - ((module-ref module 'lookup-platform-by-target-or-system) > system))) > + ((module-ref module 'platform-linux-architecture) > + ((module-ref module 'lookup-platform-by-target-or-system) > system)))) Why not add a helper function named lookup-platform-architecture-by- target-or-system to (gnu platform), which performs the lookup followed by the platform-linux-architecture accessor? Cheers
Hello Chris, > +;; Provide a procedure so this can be used via module-ref > +(define (platform-linux-architecture platform) > + (platform-linux-architecture* platform)) Thanks for the patch! I guess it could have been a way to fix the issue. Josselin proposed to move the platform part to (guix platform) instead in the merged 55602 ticket. Closing that one as it is not needed anymore. Thanks, Mathieu
diff --git a/gnu/platform.scm b/gnu/platform.scm index fdc3685e7c..91a1854e68 100644 --- a/gnu/platform.scm +++ b/gnu/platform.scm @@ -66,10 +66,14 @@ (define-record-type* <platform> platform make-platform platform? (target platform-target) (system platform-system) - (linux-architecture platform-linux-architecture + (linux-architecture platform-linux-architecture* (default #f)) (glibc-dynamic-linker platform-glibc-dynamic-linker)) +;; Provide a procedure so this can be used via module-ref +(define (platform-linux-architecture platform) + (platform-linux-architecture* platform)) + ;;; ;;; Platforms. diff --git a/guix/build-system/linux-module.scm b/guix/build-system/linux-module.scm index 761ebe25b1..78a3ba95b2 100644 --- a/guix/build-system/linux-module.scm +++ b/guix/build-system/linux-module.scm @@ -51,7 +51,8 @@ (define (default-linux) (define (system->arch system) (let ((module (resolve-interface '(gnu platform)))) - ((module-ref module 'lookup-platform-by-target-or-system) system))) + ((module-ref module 'platform-linux-architecture) + ((module-ref module 'lookup-platform-by-target-or-system) system)))) (define (make-linux-module-builder linux) (package