summaryrefslogtreecommitdiff
path: root/dev-python/python-box
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python/python-box')
-rw-r--r--dev-python/python-box/Manifest1
-rw-r--r--dev-python/python-box/metadata.xml15
-rw-r--r--dev-python/python-box/python-box-7.4.1.ebuild65
3 files changed, 81 insertions, 0 deletions
diff --git a/dev-python/python-box/Manifest b/dev-python/python-box/Manifest
new file mode 100644
index 000000000000..ac100b034623
--- /dev/null
+++ b/dev-python/python-box/Manifest
@@ -0,0 +1 @@
+DIST Box-7.4.1.gh.tar.gz 89513 BLAKE2B 32fc6046528ce79d41f19143a13810868fc074ce997c5a9558026a001ba819e9d51dc75e332a766650bea4f78b1af88f682de7d23a6252917338125e4c46312b SHA512 2dc78e368257a15a7ab1bc5a69bdc6edba1d98308da127670fde22440f30be1fa44d68641db270a733872b96e1658a37fc18ec4faec584515fa9bf02850da41e
diff --git a/dev-python/python-box/metadata.xml b/dev-python/python-box/metadata.xml
new file mode 100644
index 000000000000..f82e4094d819
--- /dev/null
+++ b/dev-python/python-box/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
+ <name>Matt Jolly</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">cdgriffith/Box</remote-id>
+ <remote-id type="pypi">python-box</remote-id>
+ </upstream>
+ <use>
+ <flag name="native-extensions">Compiles native C extensions</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/python-box/python-box-7.4.1.ebuild b/dev-python/python-box/python-box-7.4.1.ebuild
new file mode 100644
index 000000000000..68a20cc190e9
--- /dev/null
+++ b/dev-python/python-box/python-box-7.4.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+MY_P=Box-${PV}
+DESCRIPTION="Python dictionaries with advanced dot notation access"
+HOMEPAGE="
+ https://github.com/cdgriffith/Box/
+ https://pypi.org/project/python-box/
+"
+SRC_URI="
+ https://github.com/cdgriffith/Box/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+IUSE="+native-extensions"
+
+RDEPEND="
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_PLUGINS=()
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # require unpackaged 'toon' (probably from git too)
+ test/test_box.py::TestBox::test_toon_files
+ test/test_box.py::TestBox::test_toon_from_toon_with_box_args
+ test/test_box.py::TestBox::test_toon_strings
+ test/test_box_list.py::TestBoxList::test_toon_files
+ test/test_box_list.py::TestBoxList::test_toon_strings
+)
+
+src_prepare() {
+ if ! use native-extensions; then
+ # a cheap hack, extensions are auto-disabled if Cython.Build
+ # is not importable
+ > Cython.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ rm -rf box || die
+ epytest
+}