From bbb9b663161cd836107881b84a09b85aabdd62a9 Mon Sep 17 00:00:00 2001 From: Liliana Marie Prikler Date: Thu, 25 Jan 2024 21:09:38 +0100 Subject: [PATCH] gnu: Add python-tzdata. * gnu/packages/time.scm (python-tzdata): New variable. * gnu/packages/base.scm (tzdata): Update comment. --- gnu/packages/base.scm | 4 ++-- gnu/packages/time.scm | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 8b25af6a5e..1213aa5b20 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -1551,8 +1551,8 @@ command.") (define-public tzdata (package (name "tzdata") - ;; This package should be kept in sync with python-pytz in (gnu packages - ;; time). + ;; This package should be kept in sync with python-pytz and python-tzdata + ;; in (gnu packages time). (version "2022a") (source (origin (method url-fetch) diff --git a/gnu/packages/time.scm b/gnu/packages/time.scm index 5c8f65a1e6..5e8fcf05d9 100644 --- a/gnu/packages/time.scm +++ b/gnu/packages/time.scm @@ -22,6 +22,7 @@ ;;; Copyright © 2021 Foo Chuan Wei ;;; Copyright © 2022 Pradana AUMARS ;;; Copyright © 2023 Sharlatan Hellseher +;;; Copyright © 2024 Liliana Marie Prikler ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,6 +40,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages time) + #:use-module (gnu packages base) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages geo) @@ -47,6 +49,7 @@ #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages python-build) + #:use-module (gnu packages python-check) #:use-module (gnu packages python-xyz) #:use-module (gnu packages terminals) #:use-module (gnu packages textutils) @@ -125,6 +128,38 @@ expressions.") "This library provides a timezone database for Python.") (license expat))) +(define-public python-tzdata + (package + (name "python-tzdata") + ;; This package should be kept in sync with tzdata in (gnu packages base). + (version "2022.1") + (source + (origin + (method url-fetch) + (uri (pypi-uri "tzdata" version)) + (sha256 + (base32 "1lsjhlwzvzxpp4mpa9gy5b58z3qilf9l365k889pbh1xqs76llwb")) + (modules '((guix build utils))) + (snippet #~(delete-file-recursively "src/tzdata/zoneinfo")))) + (build-system pyproject-build-system) + (arguments + (list #:phases + #~(modify-phases %standard-phases + (add-after 'ensure-no-mtimes-pre-1980 'unpack-tzdata + (lambda* (#:key inputs #:allow-other-keys) + (copy-recursively + (search-input-directory inputs "share/zoneinfo") + "src/tzdata/zoneinfo") + (delete-file "src/tzdata/zoneinfo/posix") + (call-with-output-file "src/tzdata/zoneinfo/__init__.py" + (const #t))))))) + (inputs (list tzdata)) + (native-inputs (list python-pytest python-pytest-subtests)) + (home-page "https://github.com/python/tzdata") + (synopsis "Python wrapper of IANA time zone data") + (description "This package provides a thin Python wrapper around tzdata.") + (license asl2.0))) + (define-public python-pytz (package (name "python-pytz")