summary refs log tree commit diff
path: root/pkgs/development/libraries/mimalloc
diff options
context:
space:
mode:
authorAustin Seipp <aseipp@pobox.com>2019-12-04 16:24:09 -0600
committerAustin Seipp <aseipp@pobox.com>2019-12-04 16:25:30 -0600
commita2f9bcd1328de9c043d7425e45d06fc05e0b7929 (patch)
tree1a291d45e020cbce5bdc08b718f5fb2d387fb93c /pkgs/development/libraries/mimalloc
parent58aa380671b7a874679399ca06d5c98859232082 (diff)
downloadnixpkgs-a2f9bcd1328de9c043d7425e45d06fc05e0b7929.tar
nixpkgs-a2f9bcd1328de9c043d7425e45d06fc05e0b7929.tar.gz
nixpkgs-a2f9bcd1328de9c043d7425e45d06fc05e0b7929.tar.bz2
nixpkgs-a2f9bcd1328de9c043d7425e45d06fc05e0b7929.tar.lz
nixpkgs-a2f9bcd1328de9c043d7425e45d06fc05e0b7929.tar.xz
nixpkgs-a2f9bcd1328de9c043d7425e45d06fc05e0b7929.tar.zst
nixpkgs-a2f9bcd1328de9c043d7425e45d06fc05e0b7929.zip
mimalloc: (really) unbreak dynamic linking
4d392099 didn't quite do the trick, but this should finally fix
everything -- namely, the -secure.so symlink was broken, and
libmimalloc.so itself was also a symlink that needed to be replaced with
the real shared object file.

Signed-off-by: Austin Seipp <aseipp@pobox.com>
Diffstat (limited to 'pkgs/development/libraries/mimalloc')
-rw-r--r--pkgs/development/libraries/mimalloc/default.nix11
1 files changed, 7 insertions, 4 deletions
diff --git a/pkgs/development/libraries/mimalloc/default.nix b/pkgs/development/libraries/mimalloc/default.nix
index 17b53c88e9f..2d38d7e5394 100644
--- a/pkgs/development/libraries/mimalloc/default.nix
+++ b/pkgs/development/libraries/mimalloc/default.nix
@@ -26,13 +26,16 @@ stdenv.mkDerivation rec {
     mv $out/lib/*/include $dev/include
 
     # move everything else into place
-    mv $out/lib/*/libmimalloc*${soext} $out/lib/libmimalloc${soext}
-    mv $out/lib/*/libmimalloc*.a       $out/lib/libmimalloc.a
-    mv $out/lib/*/mimalloc*.o          $out/lib/mimalloc.o
+    mv $out/lib/mimalloc-1.0/libmimalloc*${soext}.1.0 $out/lib/libmimalloc${soext}
+    mv $out/lib/mimalloc-1.0/libmimalloc*.a           $out/lib/libmimalloc.a
+    mv $out/lib/mimalloc-1.0/mimalloc*.o              $out/lib/mimalloc.o
 
     # remote duplicate dir. FIXME: try to fix the .cmake file distribution
     # so we can re-use it for dependencies...
-    rm -r $out/lib/mimalloc-1.0/
+    rm -rf $out/lib/mimalloc-1.0
+  '' + stdenv.lib.optionalString secureBuild ''
+    # fix a broken symlink for the -secure alias
+    ln -sfv $out/lib/libmimalloc.so $out/lib/libmimalloc-secure.so
   '';
 
   outputs = [ "out" "dev" ];