Subject: [bug#55409] [PATCH] gnu: Add python-murmurhash3

From: "Artyom V. Poptsov" <[email-masked]>
Date: Sat, 14 May 2022 12:01:15 +0300

Hello,

this patch adds a python module murmurhash3[1] under the name
'python-murmurhash3'.

- Artyom

1: https://pypi.org/project/murmurhash3/
From 694a99cd88fa88c0bf420f9e6dd755187c91d037 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <[email-masked]>
Date: Sat, 14 May 2022 11:59:07 +0300
Subject: [PATCH] gnu: Add python-murmurhash3

* gnu/packages/python-xyz.scm (python-murmurhash3): New variable.
---
 gnu/packages/python-xyz.scm | 43 +++++++++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 020f078dee..94eedcb221 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -121,6 +121,7 @@
 ;;; Copyright © 2022 Peter Polidoro <[email-masked]>
 ;;; Copyright © 2022 Wamm K. D. <[email-masked]>
 ;;; Copyright © 2022 Jai Vetrivelan <[email-masked]>
+;;; Copyright © 2022 Artyom V. Poptsov <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31150,3 +31151,45 @@ object, which can be useful if you want to force your objects into a table.")
      "The @code{deep-merge} Python library provides a toolset to deeply merge
 nested data structures in Python like lists and dictionaries.")
     (license license:expat)))
+
+(define-public python-murmurhash3
+  (package
+  (name "python-murmurhash3")
+  (version "2.3.5")
+  (source
+   (origin
+     (method url-fetch)
+     (uri (pypi-uri "murmurhash3" version))
+     (sha256
+      (base32 "1gdzys1212dx70byz07ipknbw1awbqskh6aznlkm85js8b8qfczm"))))
+  (build-system python-build-system)
+  (native-inputs
+   (list python-cython
+         python-pytest))
+  (inputs
+   (list python))
+  (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
+          ;; XXX One of the tests uses a ZIP library to pack up some of the
+          ;; source tree, and fails with "ZIP does not support timestamps
+          ;; before 1980".  Work around this by setting the file times in the
+          ;; source tree to sometime in early 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/veegee/mmh3")
+  (synopsis "Python wrapper for MurmurHash (MurmurHash3)")
+  (description
+   "@code{murmurhash3} is a Python library for MurmurHash (MurmurHash3), a set
+of fast and robust hash functions.  This library is a Python extension module
+written in C.")
+  (license license:public-domain)))
-- 
2.25.1

-- 
Artyom "avp" Poptsov <[email-masked]>
Home page: https://memory-heap.org/~avp/
CADR Hackerspace co-founder: https://cadrspace.ru/
GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F