summaryrefslogtreecommitdiff
path: root/dev-python/pkgcraft/pkgcraft-9999.ebuild
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-02-05 21:17:55 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-02-05 21:17:55 +0000
commit519f4aac6d5896fe0204e6429485f95240c7ff58 (patch)
tree467adac90d818b96465a433b66ef6bb65e369fef /dev-python/pkgcraft/pkgcraft-9999.ebuild
parent8afe4133ba3d8586301516885427809020a3cafa (diff)
gentoo auto-resync : 05:02:2023 - 21:17:55
Diffstat (limited to 'dev-python/pkgcraft/pkgcraft-9999.ebuild')
-rw-r--r--dev-python/pkgcraft/pkgcraft-9999.ebuild76
1 files changed, 76 insertions, 0 deletions
diff --git a/dev-python/pkgcraft/pkgcraft-9999.ebuild b/dev-python/pkgcraft/pkgcraft-9999.ebuild
new file mode 100644
index 000000000000..a9b364218f73
--- /dev/null
+++ b/dev-python/pkgcraft/pkgcraft-9999.ebuild
@@ -0,0 +1,76 @@
+# Copyright 2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for pkgcraft"
+HOMEPAGE="
+ https://pypi.org/project/pkgcraft/
+ https://github.com/pkgcraft/pkgcraft-python
+"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft-python"
+ inherit git-r3
+
+ PKGCRAFT_VERSION_MIN="9999"
+ PKGCRAFT_VERSION_MAX="9999"
+else
+ SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz"
+ S="${WORKDIR}"/${P/-python}
+
+ KEYWORDS="~amd64"
+
+ PKGCRAFT_VERSION_MIN="0.0.5"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+examples"
+
+RDEPEND="
+ >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-python/cython
+ dev-python/setuptools_scm
+ virtual/pkgconfig
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ if [[ ${PV} != 9999 ]] ; then
+ local actual_pkgcraft_min=$(sed -En '/^MIN_VERSION =/{s/[^0-9.]//gp}' setup.py || die)
+ if [[ ${actual_pkgcraft_min} != ${PKGCRAFT_VERSION_MIN} ]] ; then
+ eerror "Expected minimum pkgcraft-c version: ${PKGCRAFT_VERSION_MIN}"
+ eerror "Actual minimum pkgcraft-c version: ${actual_pkgcraft_min}"
+ die "Mismatch between setup.py's MIN_VERSION and ebuild!"
+ fi
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install() {
+ # Conditional because these aren't installed officially right now
+ # and the naming is just for convenience.
+ if use examples ; then
+ while IFS= read -r -d '' file ; do
+ python_newexe "${S}"/examples/${file##*/} pkgcraft-${file##*/}
+ done < <(find "${S}"/examples -type f -executable -print0 || die)
+ fi
+
+ distutils-r1_python_install
+}