summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtyom V. Poptsov <poptsov.artyom@gmail.com>2022-05-21 11:37:47 +0300
committerLudovic Courtès <ludo@gnu.org>2022-05-24 17:19:03 +0200
commit02a0c1fad9086dae50572a1e9c1fc97296d55c07 (patch)
tree802da12fb841bc2ac7a334569fd04252ae7f125f
parentd442fe5eeef37ed70eff4f5ff95ad6dcd6f835a9 (diff)
downloadguix-02a0c1fad9086dae50572a1e9c1fc97296d55c07.tar.gz
gnu: Add python-preshed
* gnu/packages/python-xyz.scm (python-preshed): New variable.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r--gnu/packages/python-xyz.scm32
1 files changed, 32 insertions, 0 deletions
diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 7e1f16649c..a661b1403f 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31683,3 +31683,35 @@ easy to tie memory to a Python object's life-cycle, so that the memory is freed
 when the object is garbage collected.")
     (license license:expat)))
 
+(define-public python-preshed
+  (package
+    (name "python-preshed")
+    (version "3.0.6")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "preshed" version))
+              (sha256
+               (base32
+                "0akpydd23xqxx9d04drsnw9140rb3cv07r1zpzqz5wm0lf47afzv"))))
+    (build-system python-build-system)
+    (native-inputs (list python-cython python-cymem python-pytest))
+    (inputs (list python python-cymem python-murmurhash))
+    (arguments
+     (list #:modules
+           '((ice-9 ftw) (ice-9 match)
+             (guix build utils)
+             (guix build python-build-system))
+           #:phases
+           #~(modify-phases %standard-phases
+               (add-after 'unpack 'set-source-file-times-to-1980
+                 (lambda _
+                   (let ((circa-1980 (* 10 366 24 60 60)))
+                     (ftw "."
+                          (lambda (file stat flag)
+                            (utime file circa-1980 circa-1980) #t))))))))
+    (home-page "https://github.com/explosion/preshed")
+    (synopsis "Cython hash tables that assume keys are pre-hashed")
+    (description
+     "Simple but high performance Cython hash table mapping pre-randomized keys
+to void* values.")
+    (license license:expat)))