commit:     6acde648241bed1f4d67fcb82b9e597f801025e4
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 22 06:36:00 2023 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sun Jan 22 06:36:00 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6acde648

dev-python/pkgcraft-python: new package, add 0.0.3, 9999

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-python/pkgcraft-python/Manifest                |  1 +
 dev-python/pkgcraft-python/metadata.xml            | 15 +++++
 .../pkgcraft-python/pkgcraft-python-0.0.3.ebuild   | 74 ++++++++++++++++++++++
 .../pkgcraft-python/pkgcraft-python-9999.ebuild    | 74 ++++++++++++++++++++++
 4 files changed, 164 insertions(+)

diff --git a/dev-python/pkgcraft-python/Manifest 
b/dev-python/pkgcraft-python/Manifest
new file mode 100644
index 000000000000..2f00c0c73e36
--- /dev/null
+++ b/dev-python/pkgcraft-python/Manifest
@@ -0,0 +1 @@
+DIST pkgcraft-0.0.3.tar.gz 1239742 BLAKE2B 
c9148d3ac34d80c47db5d1080b3806e6b64fffa226d595a11499215626342286efc19b86fd1e158a8ca0021ab8946d35e4393fceaf8a318c258114a6c2e1ffdf
 SHA512 
53ae196d073271654807ef5587c38d83e10b606f59baf63e3c8da7ce1b1d80d7acd1e3e201ebba1346c14d101eded666d6ad9bdf972b36c574c9b494147baa4a

diff --git a/dev-python/pkgcraft-python/metadata.xml 
b/dev-python/pkgcraft-python/metadata.xml
new file mode 100644
index 000000000000..39d39075985d
--- /dev/null
+++ b/dev-python/pkgcraft-python/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>[email protected]</email>
+               <name>Sam James</name>
+       </maintainer>
+       <maintainer type="project">
+               <email>[email protected]</email>
+       </maintainer>
+       <upstream>
+               <remote-id type="github">pkgcraft/pkgcraft-python</remote-id>
+               <remote-id type="pypi">pkgcraft</remote-id>
+       </upstream>
+</pkgmetadata>

diff --git a/dev-python/pkgcraft-python/pkgcraft-python-0.0.3.ebuild 
b/dev-python/pkgcraft-python/pkgcraft-python-0.0.3.ebuild
new file mode 100644
index 000000000000..18b5c4eb6c8d
--- /dev/null
+++ b/dev-python/pkgcraft-python/pkgcraft-python-0.0.3.ebuild
@@ -0,0 +1,74 @@
+# 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.4"
+fi
+
+LICENSE="BSD-1"
+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
+                       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-python/pkgcraft-python-9999.ebuild 
b/dev-python/pkgcraft-python/pkgcraft-python-9999.ebuild
new file mode 100644
index 000000000000..18b5c4eb6c8d
--- /dev/null
+++ b/dev-python/pkgcraft-python/pkgcraft-python-9999.ebuild
@@ -0,0 +1,74 @@
+# 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.4"
+fi
+
+LICENSE="BSD-1"
+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
+                       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
+}

Reply via email to