summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2024-02-02 17:57:52 +0100
committerMichał Górny <mgorny@gentoo.org>2024-02-02 18:05:44 +0100
commit201dd83ec2775bf467c9c05eb0ecbc9c14fe45cf (patch)
treee21a6485a0d22e964cd75cf307c95e2d50bccb6b
parentnet-mail/courier-makedat: Remove last-rited pkg (diff)
downloadgentoo-201dd83ec2775bf467c9c05eb0ecbc9c14fe45cf.tar.gz
gentoo-201dd83ec2775bf467c9c05eb0ecbc9c14fe45cf.tar.bz2
gentoo-201dd83ec2775bf467c9c05eb0ecbc9c14fe45cf.zip
dev-python/pendulum: Bump to 15.0.0
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r--dev-python/pendulum/files/pendulum-3.0.0-system-tzdata.patch50
-rw-r--r--dev-python/pendulum/pendulum-3.0.0-r1.ebuild (renamed from dev-python/pendulum/pendulum-3.0.0.ebuild)11
-rw-r--r--profiles/package.mask5
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
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