about summary refs log tree commit diff
path: root/nixpkgs/pkgs/development/libraries/mimalloc
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2019-09-28 15:30:15 +0000
committerAlyssa Ross <hi@alyssa.is>2019-09-28 22:14:42 +0000
commit80e4dc93ce4bb109cd00a98f0b39151f09de9d9b (patch)
tree64aa611a6a199dc0f40fc56d050d99e125e5c830 /nixpkgs/pkgs/development/libraries/mimalloc
parentbfa679f5a8e9beff6008ea0e9d5eabfa68018e20 (diff)
parent2436c27541b2f52deea3a4c1691216a02152e729 (diff)
downloadnixlib-80e4dc93ce4bb109cd00a98f0b39151f09de9d9b.tar
nixlib-80e4dc93ce4bb109cd00a98f0b39151f09de9d9b.tar.gz
nixlib-80e4dc93ce4bb109cd00a98f0b39151f09de9d9b.tar.bz2
nixlib-80e4dc93ce4bb109cd00a98f0b39151f09de9d9b.tar.lz
nixlib-80e4dc93ce4bb109cd00a98f0b39151f09de9d9b.tar.xz
nixlib-80e4dc93ce4bb109cd00a98f0b39151f09de9d9b.tar.zst
nixlib-80e4dc93ce4bb109cd00a98f0b39151f09de9d9b.zip
Merge commit '2436c27541b2f52deea3a4c1691216a02152e729'
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/mimalloc')
-rw-r--r--nixpkgs/pkgs/development/libraries/mimalloc/default.nix46
1 files changed, 46 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/development/libraries/mimalloc/default.nix b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
new file mode 100644
index 000000000000..728b41176766
--- /dev/null
+++ b/nixpkgs/pkgs/development/libraries/mimalloc/default.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchFromGitHub, cmake
+, secureBuild ? true
+}:
+
+let
+  soext = stdenv.hostPlatform.extensions.sharedLibrary;
+in
+stdenv.mkDerivation rec {
+  name    = "mimalloc-${version}";
+  version = "1.0.8";
+
+  src = fetchFromGitHub {
+    owner  = "microsoft";
+    repo   = "mimalloc";
+    rev    = "refs/tags/v${version}";
+    sha256 = "04k2d3x84q2jfqdjxngy98hlw6czmigsqlf7gi3mhs6682n127r5";
+  };
+
+  nativeBuildInputs = [ cmake ];
+  enableParallelBuilding = true;
+
+  cmakeFlags = stdenv.lib.optional secureBuild [ "-DMI_SECURE=ON" ];
+
+  postInstall = ''
+    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-*
+  '';
+
+  outputs = [ "out" "dev" ];
+
+  meta = with stdenv.lib; {
+    description = "Compact, fast, general-purpose memory allocator";
+    homepage    = "https://github.com/microsoft/mimalloc";
+    license     = licenses.bsd2;
+    platforms   = platforms.unix;
+    maintainers = with maintainers; [ thoughtpolice ];
+  };
+}