diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 48c5f9d4bf..8dcbd461a8 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -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")