From 02a0c1fad9086dae50572a1e9c1fc97296d55c07 Mon Sep 17 00:00:00 2001 From: "Artyom V. Poptsov" Date: Sat, 21 May 2022 11:37:47 +0300 Subject: gnu: Add python-preshed MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/python-xyz.scm (python-preshed): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/python-xyz.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) 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))) -- cgit v1.2.3