summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Scherer <roman@burningswell.com>2024-01-05 14:30:48 +0100
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-01-21 13:14:22 -0500
commit8fd4e3938dbb52bd6ecb6bb2bd52330fe57cba4b (patch)
tree432ebe28b3cc244cf4f2f4839f4dc5352eba4fd2
parent6de717c4f4e08a0241e2e2f49b8d8c5820409e94 (diff)
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>
-rw-r--r--guix/build/cargo-build-system.scm6
1 files changed, 5 insertions, 1 deletions
diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm
index ffb2ec898e..c5c2299a4c 100644
--- a/guix/build/cargo-build-system.scm
+++ b/guix/build/cargo-build-system.scm
@@ -119,7 +119,7 @@ libraries or executables."
(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."
@@ -178,6 +178,10 @@ libraries or executables."
;; 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")