summaryrefslogtreecommitdiff
path: root/dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild')
-rw-r--r--dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild56
1 files changed, 56 insertions, 0 deletions
diff --git a/dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild b/dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild
new file mode 100644
index 000000000000..653d83e06b47
--- /dev/null
+++ b/dev-python/backports-zoneinfo/backports-zoneinfo-0.2.1-r2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{7..8} pypy3 )
+inherit distutils-r1
+
+MY_P=${P#backports-}
+DESCRIPTION="Backport of the standard library zoneinfo module"
+HOMEPAGE="https://github.com/pganssle/zoneinfo/"
+SRC_URI="
+ https://github.com/pganssle/zoneinfo/archive/${PV}.tar.gz
+ -> ${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+BDEPEND="
+ test? (
+ >=dev-python/hypothesis-5.7.0[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )"
+
+# pytest is used only for one skip, and requires unpackaged
+# pytest-subtests
+distutils_enable_tests unittest
+
+PATCHES=(
+ # fix segv in py3.8.7rc1+
+ # https://github.com/pganssle/zoneinfo/pull/97
+ "${FILESDIR}"/${P}-py38.patch
+)
+
+python_test() {
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ # pypy3.6 does not support dataclasses, and the backport
+ # does not work with pypy
+ local pypy3_version=$(best_version -b 'dev-python/pypy3')
+ if [[ ${pypy3_version} != *_p37* ]]; then
+ einfo "Skipping tests on pypy3.6 due to missing deps"
+ return
+ fi
+ fi
+
+ "${EPYTHON}" -m unittest discover -v ||
+ die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ # avoid file collisions
+ rm "${BUILD_DIR}"/lib/backports/__init__.py || die
+ distutils-r1_python_install
+}