build/cargo-build-system: Support 16k page sizes on aarch64.

* guix/build/cargo-build-system.scm (configure): Support 16k page sizes on aarch64.

Change-Id: I523c192159908483577301da246d75d16b694bc8
Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
This commit is contained in:
Roman Scherer 2024-01-05 14:30:48 +01:00 committed by Ludovic Courtès
parent 77f46f39b5
commit 337fc6732e
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5

View file

@ -119,7 +119,7 @@ (define* (check-for-pregenerated-files #:rest _)
(error "Possible pre-generated files found:" pregenerated-files))))
(define* (configure #:key inputs
target
target system
(vendor-dir "guix-vendor")
#:allow-other-keys)
"Vendor Cargo.toml dependencies as guix inputs."
@ -179,6 +179,10 @@ (define* (configure #:key inputs
;; Prevent targeting the build machine.
(setenv "CRATE_CC_NO_DEFAULTS" "1"))
;; Support 16k kernel page sizes on aarch64 with jemalloc.
(when (string-prefix? "aarch64" (or target system))
(setenv "JEMALLOC_SYS_WITH_LG_PAGE" "14"))
;; Configure cargo to actually use this new directory with all the crates.
(setenv "CARGO_HOME" (string-append (getcwd) "/.cargo"))
(mkdir-p ".cargo")