unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#55390] [PATCH] gnu: Add python-cymem
@ 2022-05-12 19:47 Artyom V. Poptsov
  2022-05-21 14:16 ` [bug#55390] [PATCH] gnu: Add python-preshed Artyom V. Poptsov
  2022-05-24 14:46 ` bug#55390: [PATCH] gnu: Add python-cymem Ludovic Courtès
  0 siblings, 2 replies; 3+ messages in thread
From: Artyom V. Poptsov @ 2022-05-12 19:47 UTC (permalink / raw)
  To: 55390


[-- Attachment #1.1: Type: text/plain, Size: 113 bytes --]

Hello,

this patch adds cymem[1] under the name 'python-cymem'.

- Artyom

1: https://github.com/explosion/cymem

[-- Attachment #1.2: 0001-gnu-Add-python-cymem.patch --]
[-- Type: text/x-diff, Size: 2821 bytes --]

From 4acef69146d41714e9912fb1576f6f64b267eaa2 Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Thu, 12 May 2022 22:43:29 +0300
Subject: [PATCH] gnu: Add python-cymem

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index fdfdd3fef3..421a298ccd 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -121,6 +121,7 @@
 ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
 ;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
+;;; Copyright © 2022 Artyom V. Poptsov <poptsov.artyom@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -31150,3 +31151,46 @@ 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-cymem
+    (package
+  (name "python-cymem")
+  (version "2.0.6")
+  (source (origin
+            (method url-fetch)
+            (uri (pypi-uri "cymem" version))
+            (sha256
+             (base32
+              "0pkyy60zk9654sj991w111p1l0m8wvz36nslw96x6nb9h6sjb5qn"))))
+  (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/explosion/cymem")
+  (synopsis "Cython memory pool for RAII-style memory management")
+  (description
+   "Cymem provides two small memory-management helpers for Cython.  They make it
+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)))
+
-- 
2.25.1


[-- Attachment #1.3: Type: text/plain, Size: 207 bytes --]


-- 
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#55390] [PATCH] gnu: Add python-preshed
  2022-05-12 19:47 [bug#55390] [PATCH] gnu: Add python-cymem Artyom V. Poptsov
@ 2022-05-21 14:16 ` Artyom V. Poptsov
  2022-05-24 14:46 ` bug#55390: [PATCH] gnu: Add python-cymem Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Artyom V. Poptsov @ 2022-05-21 14:16 UTC (permalink / raw)
  To: 55390


[-- Attachment #1.1: Type: text/plain, Size: 446 bytes --]

Hello,

this patch adds preshed[1] under the name 'python-preshed'.

The package depends on:
- 'python-murmurhash' (this package was recently merged to Guix.)
- 'python-cymem' (this package is awaiting the merge.)

'python-preshed' is the one of the dependencies of spaCy -- an NLP
library for Python.[2]

- Artyom

References:
1. "Cython hash tables that assume keys are pre-hashed"
   https://github.com/explosion/preshed
2. https://spacy.io/


[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-python-preshed.patch --]
[-- Type: text/x-diff, Size: 2093 bytes --]

From af05b2f142efce971baa7d2843d96f493273967b Mon Sep 17 00:00:00 2001
From: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Date: Sat, 21 May 2022 11:37:47 +0300
Subject: [PATCH] gnu: Add python-preshed

* gnu/packages/python-xyz.scm (python-preshed): New variable.
---
 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 832d5bd578..2eb876ed69 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -31492,3 +31492,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)))
-- 
2.25.1


[-- Attachment #1.3: Type: text/plain, Size: 207 bytes --]


-- 
Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
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

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#55390: [PATCH] gnu: Add python-cymem
  2022-05-12 19:47 [bug#55390] [PATCH] gnu: Add python-cymem Artyom V. Poptsov
  2022-05-21 14:16 ` [bug#55390] [PATCH] gnu: Add python-preshed Artyom V. Poptsov
@ 2022-05-24 14:46 ` Ludovic Courtès
  1 sibling, 0 replies; 3+ messages in thread
From: Ludovic Courtès @ 2022-05-24 14:46 UTC (permalink / raw)
  To: Artyom V. Poptsov; +Cc: 55390-done

Hi Artyom,

"Artyom V. Poptsov" <poptsov.artyom@gmail.com> skribis:

> this patch adds cymem[1] under the name 'python-cymem'.

[...]

> this patch adds preshed[1] under the name 'python-preshed'.

Applied both, thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2022-05-24 14:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-12 19:47 [bug#55390] [PATCH] gnu: Add python-cymem Artyom V. Poptsov
2022-05-21 14:16 ` [bug#55390] [PATCH] gnu: Add python-preshed Artyom V. Poptsov
2022-05-24 14:46 ` bug#55390: [PATCH] gnu: Add python-cymem Ludovic Courtès

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).