public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: dev-python/pendulum/, dev-python/pendulum/files/, profiles/
@ 2024-02-02 17:08 Michał Górny
  0 siblings, 0 replies; only message in thread
From: Michał Górny @ 2024-02-02 17:08 UTC (permalink / raw
  To: gentoo-commits

commit:     201dd83ec2775bf467c9c05eb0ecbc9c14fe45cf
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Feb  2 16:57:52 2024 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Fri Feb  2 17:05:44 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=201dd83e

dev-python/pendulum: Bump to 15.0.0

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 .../files/pendulum-3.0.0-system-tzdata.patch       | 50 ++++++++++++++++++++++
 ...dulum-3.0.0.ebuild => pendulum-3.0.0-r1.ebuild} | 11 ++++-
 profiles/package.mask                              |  5 ---
 3 files changed, 59 insertions(+), 7 deletions(-)

diff --git a/dev-python/pendulum/files/pendulum-3.0.0-system-tzdata.patch b/dev-python/pendulum/files/pendulum-3.0.0-system-tzdata.patch
new file mode 100644
index 000000000000..c99bbb3ca9ea
--- /dev/null
+++ b/dev-python/pendulum/files/pendulum-3.0.0-system-tzdata.patch
@@ -0,0 +1,50 @@
+From 0143f10dfcc94f5cba1a83912e055026a0282c19 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 2 Feb 2024 17:48:55 +0100
+Subject: [PATCH] Fix `pendulum.tz.timezones()` to use system tzdata
+
+Fix the `pendulum.tz.available_timezones()` to use
+`available_timezones()` function instead of iterating over the files
+in `tzdata` package.  This is more in line with PEP 615, as the system
+timezone functions will operate on system-provided tzdata when
+available, and use the `tzdata` package only if it's not available.
+Therefore, the previous code would yield a potentially different list
+of timezones than the system actually provides.
+
+Furthermore, Gentoo provides a dummy `tzdata` package that does not
+provide any data, since Python always uses system tzdata.  This change
+is necessary to make pendulum work again on Gentoo.
+
+Fixes #769
+---
+ src/pendulum/tz/__init__.py | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/src/pendulum/tz/__init__.py b/src/pendulum/tz/__init__.py
+index 36c2c692..8dc64705 100644
+--- a/src/pendulum/tz/__init__.py
++++ b/src/pendulum/tz/__init__.py
+@@ -9,7 +9,7 @@
+ from pendulum.tz.timezone import UTC
+ from pendulum.tz.timezone import FixedTimezone
+ from pendulum.tz.timezone import Timezone
+-from pendulum.utils._compat import resources
++from pendulum.utils._zoneinfo import available_timezones
+ 
+ 
+ PRE_TRANSITION = "pre"
+@@ -22,13 +22,7 @@
+ 
+ 
+ def timezones() -> tuple[str, ...]:
+-    global _timezones
+-
+-    if _timezones is None:
+-        with cast(Path, resources.files("tzdata").joinpath("zones")).open() as f:
+-            _timezones = tuple(tz.strip() for tz in f.readlines())
+-
+-    return _timezones
++    return available_timezones()
+ 
+ 
+ def fixed_timezone(offset: int) -> FixedTimezone:

diff --git a/dev-python/pendulum/pendulum-3.0.0.ebuild b/dev-python/pendulum/pendulum-3.0.0-r1.ebuild
similarity index 87%
rename from dev-python/pendulum/pendulum-3.0.0.ebuild
rename to dev-python/pendulum/pendulum-3.0.0-r1.ebuild
index dc6bceec790c..2baadad9d93e 100644
--- a/dev-python/pendulum/pendulum-3.0.0.ebuild
+++ b/dev-python/pendulum/pendulum-3.0.0-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
 EAPI=8
 
 DISTUTILS_EXT=1
 DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..12} )
 
 CRATES="
 	autocfg@1.1.0
@@ -84,3 +84,10 @@ BDEPEND="
 "
 
 distutils_enable_tests pytest
+
+PATCHES=(
+	# https://github.com/sdispater/pendulum/pull/801
+	"${FILESDIR}/${P}-system-tzdata.patch"
+)
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pendulum/_pendulum.*.so"

diff --git a/profiles/package.mask b/profiles/package.mask
index cdc1577290bb..76d5710f5c3b 100644
--- a/profiles/package.mask
+++ b/profiles/package.mask
@@ -348,11 +348,6 @@ x11-libs/snorenotify
 =net-libs/signond-8.61-r100
 ~sys-auth/polkit-qt-0.175.0
 
-# Michał Górny <mgorny@gentoo.org> (2023-12-17)
-# Broken due to invalid use of tzdata.
-# https://github.com/sdispater/pendulum/issues/769
-=dev-python/pendulum-3.0.0
-
 # Sam James <sam@gentoo.org> (2023-12-14)
 # Gentoo's kernel maintainers have decided to discontinue gentoo-sources and
 # gentoo-kernel for old kernel LTS branches because of the resources to require


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2024-02-02 17:08 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-02-02 17:08 [gentoo-commits] repo/gentoo:master commit in: dev-python/pendulum/, dev-python/pendulum/files/, profiles/ Michał Górny

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox