core/pkgs/by-name/je/jemalloc/rust.nix

30 lines
742 B
Nix
Raw Normal View History

2024-06-30 08:12:46 +00:00
{
lib,
stdenv,
jemalloc,
writeText,
2024-05-02 00:46:19 +00:00
2024-06-30 08:12:46 +00:00
unprefixed ? false,
2024-05-02 00:46:19 +00:00
}:
let
# On some platforms the unprefixed feature will be ignored:
# https://github.com/tikv/jemallocator/blob/ab0676d77e81268cd09b059260c75b38dbef2d51/jemalloc-sys/src/env.rs
2024-06-30 08:12:46 +00:00
unprefixed' =
unprefixed
&& !stdenv.hostPlatform.isMusl
&& !stdenv.hostPlatform.isDarwin
&& !stdenv.hostPlatform.isAndroid;
2024-05-02 00:46:19 +00:00
2024-06-30 08:12:46 +00:00
in
jemalloc.overrideAttrs (oldAttrs: {
configureFlags =
oldAttrs.configureFlags
++ [ "--with-private-namespace=_rjem_" ]
++ lib.optionals (!unprefixed') [ "--with-jemalloc-prefix=_rjem_" ];
2024-05-02 00:46:19 +00:00
setupHook = writeText "setup-hook.sh" ''
export JEMALLOC_OVERRIDE="@out@/lib/libjemalloc${stdenv.hostPlatform.extensions.library}"
'';
})