summaryrefslogtreecommitdiff
path: root/gnu/packages/c.scm
diff options
context:
space:
mode:
authorKristian Lein-Mathisen <kristianlein@gmail.com>2022-09-05 21:49:03 +0200
committerLudovic Courtès <ludo@gnu.org>2022-09-08 16:22:22 +0200
commit7fabdffca9ebfabceb363e1a2d13889429a369af (patch)
treebb5f1022f006ae279570690b6839113f5168a559 /gnu/packages/c.scm
parentb2e560aca4f6bbd0d43ae5c821f4add6e47da801 (diff)
gnu: Add mimalloc.
* gnu/packages/c.scm (mimalloc): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/c.scm')
-rw-r--r--gnu/packages/c.scm22
1 files changed, 22 insertions, 0 deletions
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index d7d649488b..10275970b1 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -1083,6 +1083,28 @@ Telemetry Transport (MQTT) publish-subscribe messaging protocol.")
(home-page "https://github.com/awslabs/aws-c-mqtt")
(license license:asl2.0)))
+;; Note: there is another mimalloc embedded in rust-mimalloc (version 1.6.4).
+(define-public mimalloc
+ (package
+ (name "mimalloc")
+ (version "2.0.6")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/microsoft/mimalloc")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "05x2dl3zimflfj91ns3vrphmzpdlyyr230p9adqgfds101f16qmv"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:build-type "Release"))
+ (synopsis "General purpose memory allocator")
+ (description "@code{mimalloc} is a drop-in replacement for @code{malloc}.")
+ (home-page "https://microsoft.github.io/mimalloc/")
+ (license license:expat)))
+
;;; Factored out of the ck package so that it can be adjusted and called on
;;; the host side easily, without impacting the package definition.
(define (gnu-triplet->ck-machine target)