about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/mimalloc
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-07-09 12:30:28 +0000
committerAlyssa Ross <hi@alyssa.is>2021-07-23 09:11:31 +0000
commit55cc63c079f49e81d695a25bc2f5b3902f2bd290 (patch)
treee705335d97f50b927c76ccb4a3fbde9fab8372b9 /nixpkgs/pkgs/development/libraries/mimalloc
parentc26eb6f74d9393127a21eee7a9620a920769f613 (diff)
parent87807e64a5ef5206b745a40af118c7be8db73681 (diff)
downloadnixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.gz
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.bz2
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.lz
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.xz
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.tar.zst
nixlib-55cc63c079f49e81d695a25bc2f5b3902f2bd290.zip
Merge commit '87807e64a5ef5206b745a40af118c7be8db73681'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mimalloc')
-rw-r--r--nixpkgs/pkgs/development/libraries/mimalloc/default.nix38
1 files changed, 15 insertions, 23 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
index 36abc9f3276e..1e9e44e09973 100644
--- a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
+++ b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
@@ -7,42 +7,35 @@ let
 in
 stdenv.mkDerivation rec {
   pname   = "mimalloc";
-  version = "2.0.0";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner  = "microsoft";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-BMDCreY41CxJaPo9BdSRZlqh/YjtPC9aI/Zxt501e+0=";
+    sha256 = "sha256-n4FGld3bq6ZOSLTzXcVlucCGbQ5/eSFbijU0dfBD/T0=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
-  cmakeFlags = lib.optional secureBuild [ "-DMI_SECURE=ON" ];
+  cmakeFlags = [ "-DMI_INSTALL_TOPLEVEL=ON" ] ++ lib.optional secureBuild [ "-DMI_SECURE=ON" ];
 
   postInstall = let
     rel = lib.versions.majorMinor version;
+    suffix = if stdenv.isLinux then "${soext}.${rel}" else ".${rel}${soext}";
   in ''
-    # first, install headers, that's easy
-    mkdir -p $dev
-    mv $out/lib/*/include $dev/include
+    # first, move headers and cmake files, that's easy
+    mkdir -p $dev/lib
+    mv $out/include $dev/include
+    mv $out/cmake $dev/lib/
 
-    # move .a and .o files into place
     find $out/lib
-    mv $out/lib/mimalloc-${rel}/libmimalloc*.a           $out/lib/libmimalloc.a
-    mv $out/lib/mimalloc-${rel}/mimalloc*.o              $out/lib/mimalloc.o
-
-  '' + (if secureBuild then ''
-    mv $out/lib/mimalloc-${rel}/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc-secure${soext}.${rel}
-    ln -sfv $out/lib/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc-secure${soext}
-    ln -sfv $out/lib/libmimalloc-secure${soext}.${rel} $out/lib/libmimalloc${soext}
-  '' else ''
-    mv $out/lib/mimalloc-${rel}/libmimalloc${soext}.${rel} $out/lib/libmimalloc${soext}.${rel}
-    ln -sfv $out/lib/libmimalloc${soext}.${rel} $out/lib/libmimalloc${soext}
-  '') + ''
-    # remote duplicate dir. FIXME: try to fix the .cmake file distribution
-    # so we can re-use it for dependencies...
-    rm -rf $out/lib/mimalloc-${rel}
-  '';
+  '' + (lib.optionalString secureBuild ''
+    # pretend we're normal mimalloc
+    ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${suffix}
+    ln -sfv $out/lib/libmimalloc-secure${suffix} $out/lib/libmimalloc${soext}
+    ln -sfv $out/lib/libmimalloc-secure.a $out/lib/libmimalloc.a
+    ln -sfv $out/lib/mimalloc-secure.o $out/lib/mimalloc.o
+  '');
 
   outputs = [ "out" "dev" ];
 
@@ -52,6 +45,5 @@ stdenv.mkDerivation rec {
     license     = licenses.bsd2;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ thoughtpolice ];
-    badPlatforms = platforms.darwin;
   };
 }