~ruther/guix-local

7fabdffca9ebfabceb363e1a2d13889429a369af — Kristian Lein-Mathisen 3 years ago b2e560a
gnu: Add mimalloc.

* gnu/packages/c.scm (mimalloc): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
1 files changed, 22 insertions(+), 0 deletions(-)

M gnu/packages/c.scm
M gnu/packages/c.scm => gnu/packages/c.scm +22 -0
@@ 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)