Subject: Re: [bug#75097] [PATCH rust-team 1/8] gnu: override-jemalloc: Add variable.

From: Efraim Flashner <[email-masked]>
Date: Thu, 26 Dec 2024 15:44:28 +0200

This one I'm unconvinced about.  I could see adding CARGO_FEATURE... to
the cargo-build-system, but this seems like a temporary problem that I
hope gets fixed upstream.  If we move this out to a separate location
I'm worried we'll forget about it when it's no longer needed.

Plus we're using libjemalloc_pic.a here and libjemalloc.so in
rust-apps.scm, and I'd prefer to not hard-code one or the other.

On Wed, Dec 25, 2024 at 09:20:20PM +0100, Herman Rimm wrote:
> * gnu/packages/crates-io.scm (override-jemalloc): Add variable.
> 
> Change-Id: I3e1666306c9f005072f9ed230f03386b2f78b0b2
> ---
>  gnu/packages/crates-io.scm | 13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
> index b3d9bcd783..fb7710c5a9 100644
> --- a/gnu/packages/crates-io.scm
> +++ b/gnu/packages/crates-io.scm
> @@ -39209,6 +39209,19 @@ (define-public rust-javascriptcore-rs-sys-0.2
>       "Sys functions for the Rust bindings of the javacriptcore library.")
>      (license license:expat)))
>  
> +(define override-jemalloc
> +  #~(modify-phases %standard-phases
> +      (add-after 'configure 'override-jemalloc
> +        (lambda* (#:key inputs #:allow-other-keys)
> +          ;; This flag is needed when not using the bundled jemalloc.
> +          ;; https://github.com/tikv/jemallocator/issues/19
> +          (setenv
> +            "CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS"
> +            "1")
> +          (setenv "JEMALLOC_OVERRIDE"
> +                  (string-append (assoc-ref inputs "jemalloc")
> +                                 "/lib/libjemalloc_pic.a"))))))
> +
>  (define-public rust-jemalloc-ctl-0.5
>    (package
>      (name "rust-jemalloc-ctl")
> 
> base-commit: 32ab343e03e998ada27c063ef7d8a00aa88436dd
> -- 
> 2.45.2
> 
> 
> 

-- 
Efraim Flashner   <[email-masked]>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted