diff options
Diffstat (limited to 'dev-python/pkgcraft')
| -rw-r--r-- | dev-python/pkgcraft/Manifest | 1 | ||||
| -rw-r--r-- | dev-python/pkgcraft/metadata.xml | 12 | ||||
| -rw-r--r-- | dev-python/pkgcraft/pkgcraft-0.0.11.ebuild | 81 | ||||
| -rw-r--r-- | dev-python/pkgcraft/pkgcraft-9999.ebuild | 81 |
4 files changed, 175 insertions, 0 deletions
diff --git a/dev-python/pkgcraft/Manifest b/dev-python/pkgcraft/Manifest new file mode 100644 index 000000000000..887b18fa57f4 --- /dev/null +++ b/dev-python/pkgcraft/Manifest @@ -0,0 +1 @@ +DIST pkgcraft-0.0.11.tar.gz 460263 BLAKE2B 5a05390f51dc0cfac2a333601c4296a5e7236262a82afcad74470cd8466933ae0abcc78b5422bd218ca86bcb35176f9d715b4449a8e76315a3dde91fe46cce19 SHA512 a6883db42e7572e1d0cf102372ad72e7276f3add492c14c11ff1654339c1504e96d9b3cf057762f1a35dd17d96f3f63140ebfc0d59d46538b97a2d99167ed146 diff --git a/dev-python/pkgcraft/metadata.xml b/dev-python/pkgcraft/metadata.xml new file mode 100644 index 000000000000..c325906925be --- /dev/null +++ b/dev-python/pkgcraft/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>sam@gentoo.org</email> + <name>Sam James</name> + </maintainer> + <maintainer type="project"> + <email>python@gentoo.org</email> + </maintainer> + <origin>baldeagleos-repo</origin> +</pkgmetadata> diff --git a/dev-python/pkgcraft/pkgcraft-0.0.11.ebuild b/dev-python/pkgcraft/pkgcraft-0.0.11.ebuild new file mode 100644 index 000000000000..f292d9f7e252 --- /dev/null +++ b/dev-python/pkgcraft/pkgcraft-0.0.11.ebuild @@ -0,0 +1,81 @@ +# Copyright 2023-2025 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 + +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.git" + inherit git-r3 + + PKGCRAFT_VERSION_MAX="99999" # extra 9 here or 9999 isn't mergable per DEPEND below + PKGCRAFT_VERSION_MIN="9999" +else + SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz" + S="${WORKDIR}"/${P/-python} + + KEYWORDS="amd64 ~arm64" + + PKGCRAFT_VERSION_MAX="9999" + PKGCRAFT_VERSION_MIN="0.0.16" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="+examples" + +DEPEND=" + <sys-libs/pkgcraft-${PKGCRAFT_VERSION_MAX} + >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + >=dev-python/cython-3[${PYTHON_USEDEP}] + dev-python/setuptools-scm[${PYTHON_USEDEP}] + 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 +} diff --git a/dev-python/pkgcraft/pkgcraft-9999.ebuild b/dev-python/pkgcraft/pkgcraft-9999.ebuild new file mode 100644 index 000000000000..e2fe7ec8c8a3 --- /dev/null +++ b/dev-python/pkgcraft/pkgcraft-9999.ebuild @@ -0,0 +1,81 @@ +# Copyright 2023-2025 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 + +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.git" + inherit git-r3 + + PKGCRAFT_VERSION_MAX="99999" # extra 9 here or 9999 isn't mergable per DEPEND below + PKGCRAFT_VERSION_MIN="9999" +else + SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz" + S="${WORKDIR}"/${P/-python} + + KEYWORDS="~amd64 ~arm64" + + PKGCRAFT_VERSION_MAX="9999" + PKGCRAFT_VERSION_MIN="0.0.16" +fi + +LICENSE="MIT" +SLOT="0" +IUSE="+examples" + +DEPEND=" + <sys-libs/pkgcraft-${PKGCRAFT_VERSION_MAX} + >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:= +" +RDEPEND=" + ${DEPEND} +" +BDEPEND=" + >=dev-python/cython-3[${PYTHON_USEDEP}] + dev-python/setuptools-scm[${PYTHON_USEDEP}] + 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 +} |
