diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-10-20 22:09:03 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-10-20 22:09:03 +0000 |
commit | 50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e (patch) | |
tree | f2556b911180125ccbb7ed0e78a54e92da89adce /nixpkgs/pkgs/development/libraries/jemalloc | |
parent | 4c16d4548a98563c9d9ad76f4e5b2202864ccd54 (diff) | |
parent | cfc75eec4603c06503ae750f88cf397e00796ea8 (diff) | |
download | nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.gz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.bz2 nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.lz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.xz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.zst nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.zip |
Merge commit 'cfc75eec4603c06503ae750f88cf397e00796ea8'
Conflicts: nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/jemalloc')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/jemalloc/default.nix | 1 | ||||
-rw-r--r-- | nixpkgs/pkgs/development/libraries/jemalloc/rust.nix | 24 |
2 files changed, 25 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/jemalloc/default.nix b/nixpkgs/pkgs/development/libraries/jemalloc/default.nix index 18c492dc93b8..b4625abcd692 100644 --- a/nixpkgs/pkgs/development/libraries/jemalloc/default.nix +++ b/nixpkgs/pkgs/development/libraries/jemalloc/default.nix @@ -48,6 +48,7 @@ stdenv.mkDerivation rec { ; env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin "-Wno-error=array-bounds"; + env.NIX_LDFLAGS = lib.optionalString (stdenv.cc.libcxx != null) "-l${stdenv.cc.libcxx.cxxabi.libName}"; doCheck = true; diff --git a/nixpkgs/pkgs/development/libraries/jemalloc/rust.nix b/nixpkgs/pkgs/development/libraries/jemalloc/rust.nix new file mode 100644 index 000000000000..1a9968933b1e --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/jemalloc/rust.nix @@ -0,0 +1,24 @@ +{ lib +, stdenv +, jemalloc +, writeText + +, unprefixed ? false +}: + +let + # On some platforms the unprefixed feature will be ignored: + # https://github.com/tikv/jemallocator/blob/ab0676d77e81268cd09b059260c75b38dbef2d51/jemalloc-sys/src/env.rs + unprefixed' = unprefixed && !stdenv.hostPlatform.isMusl && !stdenv.hostPlatform.isDarwin && !stdenv.hostPlatform.isAndroid; + +in jemalloc.overrideAttrs (oldAttrs: { + configureFlags = oldAttrs.configureFlags ++ [ + "--with-private-namespace=_rjem_" + ] ++ lib.optionals (!unprefixed') [ + "--with-jemalloc-prefix=_rjem_" + ]; + + setupHook = writeText "setup-hook.sh" '' + export JEMALLOC_OVERRIDE="@out@/lib/libjemalloc${stdenv.hostPlatform.extensions.library}" + ''; +}) |