Subject: [bug#69794] [PATCH 1/2] gnu: Add python-sacremoses.

From: Nguyễn Gia Phong <[email-masked]>
Date: Thu, 14 Mar 2024 17:33:55 +0900

* gnu/packages/python-xyz.scm (python-sacremoses): New variable.

Change-Id: I2c2cd94c054d7e952ffb4b3afdedd2ee8ce905bf
---
 gnu/packages/python-xyz.scm | 34 ++++++++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 232b5d69993c..ad33d98db142 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -149,6 +149,7 @@
 ;;; Copyright © 2024 Timothee Mathieu <[email-masked]>
 ;;; Copyright © 2024 Ian Eure <[email-masked]>
 ;;; Copyright © 2024 Adriel Dumas--Jondeau <[email-masked]>
+;;; Copyright © 2024 Nguyễn Gia Phong <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -21897,6 +21898,39 @@ (define-public python-nltk
      reasoning, wrappers for natural language processing libraries.")
     (license license:asl2.0)))
 
+(define-public python-sacremoses
+  (package
+    (name "python-sacremoses")
+    (version "0.1.0")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                     (url "https://github.com/hplt-project/sacremoses")
+                     (commit version)))
+              (sha256
+                (base32
+                  "0g70vchfniknp65n4wnx7chg6g49d4xrz1wagv7f7ir2swdzyn9b"))))
+    (build-system python-build-system)
+    (arguments
+      '(#:phases
+         (modify-phases %standard-phases
+           (replace 'check
+             (lambda* (#:key tests? #:allow-other-keys)
+               (when tests?
+                 ;; Skip truecaser tests which fetch https://norvig.com/big.txt
+                 (invoke "python" "-m" "unittest"
+                         "sacremoses/test/test_corpus.py"
+                         "sacremoses/test/test_no_redos_has_numeric_only.py"
+                         "sacremoses/test/test_normalizer.py"
+                         "sacremoses/test/test_tokenizer.py")))))))
+    (propagated-inputs
+      (list python-click-7 python-joblib python-regex python-tqdm))
+    (home-page "https://github.com/hplt-project/sacremoses")
+    (synopsis "Natural language tokenizer, truecaser and normalizer")
+    (description "SacreMoses is a Python port of Moses'
+tokenizer, detokenizer, truecaser and punctuation normalizer.")
+    (license license:expat)))
+
 (define-public python-pymongo
   (package
     (name "python-pymongo")
-- 
2.41.0