diff --git a/pkgs/development/libraries/mimalloc/default.nix b/pkgs/development/libraries/mimalloc/default.nix index 36abc9f3276e..1e9e44e09973 100644 --- a/pkgs/development/libraries/mimalloc/default.nix +++ b/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; }; }