Subject: [bug#49678] [PATCH 08/12] gnu: python-agate: Update to 1.6.3.

From: Pierre Langlois <[email-masked]>
Date: Wed, 21 Jul 2021 14:50:22 +0100

* gnu/packages/wireservice.scm (python-agate): Update to 1.6.3.
Rewrite package definition to inherit from a base variable.
[arguments]: Add a 'set-guixlocpath phases.
---
 gnu/packages/wireservice.scm | 74 +++++++++++++++++++++---------------
 1 file changed, 44 insertions(+), 30 deletions(-)

diff --git a/gnu/packages/wireservice.scm b/gnu/packages/wireservice.scm
index 915e346dde..9811469082 100644
--- a/gnu/packages/wireservice.scm
+++ b/gnu/packages/wireservice.scm
@@ -24,7 +24,9 @@
   #:use-module (guix download)
   #:use-module (guix git-download)
   #:use-module (guix packages)
+  #:use-module (guix utils)
   #:use-module (gnu packages)
+  #:use-module (gnu packages base)
   #:use-module (gnu packages check)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages python-web)
@@ -89,37 +91,49 @@
 charts now and don't care if they're perfect.")))

 (define-public python-agate
-  (wireservice-package
-   (name "python-agate")
-   (version "1.6.1")
-   (source (origin
-             (method git-fetch)
-             (uri (git-reference
-                   (url "https://github.com/wireservice/agate")
-                   (commit version)))
-             (file-name (git-file-name name version))
-             (sha256
-              (base32
-               "077zj8xad8hsa3nqywvf7ircirmx3krxdipl8wr3dynv3l3khcpl"))))
-   (native-inputs
-    `(("python-nose" ,python-nose)
-      ("python-sphinx" ,python-sphinx)
-      ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
-      ("python-csselect" ,python-cssselect)
-      ("python-lxml" ,python-lxml)))
-   (propagated-inputs
-    `(("python-babel" ,python-babel)
-      ("python-isodate" ,python-isodate)
-      ("python-leather" ,python-leather)
-      ("python-parsedatetime" ,python-parsedatetime)
-      ("python-pytimeparse" ,python-pytimeparse)
-      ("python-six" ,python-six)
-      ("python-slugify" ,python-slugify)))
-   (home-page "https://agate.rtfd.org")
-   (synopsis "Data analysis library")
-   (description "Agate is a Python data analysis library.  It is an
+  (let ((base (wireservice-package
+               (name "python-agate")
+               (version "1.6.3")
+               (source (origin
+                         (method git-fetch)
+                         (uri (git-reference
+                               (url "https://github.com/wireservice/agate")
+                               (commit version)))
+                         (file-name (git-file-name name version))
+                         (sha256
+                          (base32
+                           "12ramldv75mlhwz2f3w7yv6k88q7bq6q7hcl7k4822gdzhp2irdn"))))
+               (native-inputs
+                `(("glibc-locales" ,glibc-locales) ; for tests
+                  ("python-nose" ,python-nose)
+                  ("python-sphinx" ,python-sphinx)
+                  ("python-sphinx-rtd-theme" ,python-sphinx-rtd-theme)
+                  ("python-csselect" ,python-cssselect)
+                  ("python-lxml" ,python-lxml)))
+               (propagated-inputs
+                `(("python-babel" ,python-babel)
+                  ("python-isodate" ,python-isodate)
+                  ("python-leather" ,python-leather)
+                  ("python-parsedatetime" ,python-parsedatetime)
+                  ("python-pytimeparse" ,python-pytimeparse)
+                  ("python-six" ,python-six)
+                  ("python-slugify" ,python-slugify)))
+               (home-page "https://agate.rtfd.org")
+               (synopsis "Data analysis library")
+               (description "Agate is a Python data analysis library.  It is an
 alternative to numpy and pandas that solves real-world problems with readable
-code.  Agate was previously known as journalism.")))
+code.  Agate was previously known as journalism."))))
+    (package (inherit base)
+      (arguments
+       (substitute-keyword-arguments (package-arguments base)
+         ((#:phases phases)
+          `(modify-phases ,phases
+             ;; The tests run setlocale.
+             (add-before 'check 'set-guixlocpath
+               (lambda* (#:key inputs #:allow-other-keys)
+                 (setenv "GUIX_LOCPATH"
+                         (string-append (assoc-ref inputs "glibc-locales")
+                                        "/lib/locale")))))))))))

 (define-public python-agate-sql
   (wireservice-package
--
2.32.0