diff options
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mimalloc')
-rw-r--r-- | nixpkgs/pkgs/development/libraries/mimalloc/default.nix | 38 |
1 files changed, 23 insertions, 15 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix index 728b41176766..b3f63ec7e9b9 100644 --- a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix +++ b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix @@ -1,37 +1,45 @@ -{ stdenv, fetchFromGitHub, cmake -, secureBuild ? true +{ stdenv, fetchFromGitHub, cmake, ninja +, secureBuild ? false }: let soext = stdenv.hostPlatform.extensions.sharedLibrary; in stdenv.mkDerivation rec { - name = "mimalloc-${version}"; - version = "1.0.8"; + pname = "mimalloc"; + version = "1.1.0"; src = fetchFromGitHub { owner = "microsoft"; - repo = "mimalloc"; + repo = pname; rev = "refs/tags/v${version}"; - sha256 = "04k2d3x84q2jfqdjxngy98hlw6czmigsqlf7gi3mhs6682n127r5"; + sha256 = "1i8pwzpcmbf7dxncb984xrnczn1737xqhf1jaizlyw0k1hpiam4v"; }; - nativeBuildInputs = [ cmake ]; + nativeBuildInputs = [ cmake ninja ]; enableParallelBuilding = true; - cmakeFlags = stdenv.lib.optional secureBuild [ "-DMI_SECURE=ON" ]; postInstall = '' + # first, install headers, that's easy mkdir -p $dev mv $out/lib/*/include $dev/include - rm -f $out/lib/libmimalloc*${soext} # weird duplicate - - 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 - - rm -rf $out/lib/mimalloc-* + # move .a and .o files into place + mv $out/lib/mimalloc-1.0/libmimalloc*.a $out/lib/libmimalloc.a + mv $out/lib/mimalloc-1.0/mimalloc*.o $out/lib/mimalloc.o + + '' + (if secureBuild then '' + mv $out/lib/mimalloc-1.0/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc-secure${soext}.1.0 + ln -sfv $out/lib/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc-secure${soext} + ln -sfv $out/lib/libmimalloc-secure${soext}.1.0 $out/lib/libmimalloc${soext} + '' else '' + mv $out/lib/mimalloc-1.0/libmimalloc${soext}.1.0 $out/lib/libmimalloc${soext}.1.0 + ln -sfv $out/lib/libmimalloc${soext}.1.0 $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-1.0 ''; outputs = [ "out" "dev" ]; |