guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

07/37: gnu: Add rust-jemallocator-0.5.


From: guix-commits
Subject: 07/37: gnu: Add rust-jemallocator-0.5.
Date: Thu, 9 Mar 2023 12:12:00 -0500 (EST)

efraim pushed a commit to branch rust-team
in repository guix.

commit a57225df43557d532efe67b57234df0476eda0dd
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Thu Mar 9 16:33:06 2023 +0200

    gnu: Add rust-jemallocator-0.5.
    
    * gnu/packages/crates-io.scm (rust-jemallocator-0.5): New variable.
    (rust-jemallocator-0.3): Inherit from rust-jemallocator-0.5.
---
 gnu/packages/crates-io.scm | 44 +++++++++++++++++++++++++++++++++++++-------
 1 file changed, 37 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/crates-io.scm b/gnu/packages/crates-io.scm
index 1138229771..fcd8146c61 100644
--- a/gnu/packages/crates-io.scm
+++ b/gnu/packages/crates-io.scm
@@ -29858,8 +29858,44 @@ primitives to an @code{io::Write}.")
         (snippet
          '(begin (delete-file-recursively "jemalloc") #t))))))
 
+(define-public rust-jemallocator-0.5
+  (package
+    (name "rust-jemallocator")
+    (version "0.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (crate-uri "jemallocator" version))
+              (file-name (string-append name "-" version ".tar.gz"))
+              (sha256
+               (base32 
"19kfd64hhh2anzfqm1c0yg0mg0nkmlzmcaw2njq543486x0m3hhn"))))
+    (build-system cargo-build-system)
+    (arguments
+     `(#:cargo-inputs
+       (("rust-jemalloc-sys" ,rust-jemalloc-sys-0.5)
+        ("rust-libc" ,rust-libc-0.2))
+       #:cargo-development-inputs
+       (("rust-paste" ,rust-paste-1))
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'configure 'override-jemalloc
+           (lambda* (#:key inputs #:allow-other-keys)
+             (let ((jemalloc (assoc-ref inputs "jemalloc")))
+               ;; This flag is needed when not using the bundled jemalloc.
+               ;; https://github.com/tikv/jemallocator/issues/19
+               (setenv 
"CARGO_FEATURE_UNPREFIXED_MALLOC_ON_SUPPORTED_PLATFORMS" "1")
+               (setenv "JEMALLOC_OVERRIDE"
+                       (string-append jemalloc "/lib/libjemalloc_pic.a"))))))))
+    (native-inputs
+     (list jemalloc))
+    (home-page "https://github.com/tikv/jemallocator";)
+    (synopsis "Rust allocator backed by jemalloc")
+    (description
+     "This package provides a Rust allocator backed by jemalloc.")
+    (license (list license:expat license:asl2.0))))
+
 (define-public rust-jemallocator-0.3
   (package
+    (inherit rust-jemallocator-0.5)
     (name "rust-jemallocator")
     (version "0.3.2")
     (source
@@ -29871,19 +29907,13 @@ primitives to an @code{io::Write}.")
        (sha256
         (base32
          "0sabfa5118b7l4ars5n36s2fjyfn59w4d6mjs6rrmsa5zky67bj3"))))
-    (build-system cargo-build-system)
     (arguments
      `(#:skip-build? #t
        #:cargo-inputs
        (("rust-jemalloc-sys" ,rust-jemalloc-sys-0.3)
         ("rust-libc" ,rust-libc-0.2))
        #:cargo-development-inputs
-       (("rust-paste" ,rust-paste-0.1))))
-    (home-page "https://github.com/gnzlbg/jemallocator";)
-    (synopsis "Rust allocator backed by jemalloc")
-    (description
-     "This package provides a Rust allocator backed by jemalloc.")
-    (license (list license:expat license:asl2.0))))
+       (("rust-paste" ,rust-paste-0.1))))))
 
 (define-public rust-jemallocator-0.1
   (package



reply via email to

[Prev in Thread] Current Thread [Next in Thread]