* [gentoo-dev] [PATCH 1/7] distutils-r1.eclass: Do not force stdlib distutils on py3.12+
2023-06-02 13:58 [gentoo-dev] [PATCH 0/7] distutils-r1.eclass: py3.12+ non-PEP517 fix, pdm-backend support and deprecated logic cleanup Michał Górny
@ 2023-06-02 13:58 ` Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 2/7] dev-python/pycairo: Enable py3.12 Michał Górny
` (5 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2023-06-02 13:58 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Do not force SETUPTOOLS_USE_DISTUTILS=stdlib on Python 3.12+
(in non-PEP517 mode), as stdlib no longer supplies distutils there.
Thanks to Sam for the report!
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 0ccd59fb6c78..f3325d5bd8f4 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -1814,9 +1814,11 @@ distutils-r1_run_phase() {
# and _all() already localizes it
local -x PATH=${PATH}
- # Undo the default switch in setuptools-60+ for the time being,
- # to avoid replacing .egg-info file with directory in-place.
- local -x SETUPTOOLS_USE_DISTUTILS="${SETUPTOOLS_USE_DISTUTILS:-stdlib}"
+ if _python_impl_matches "${EPYTHON}" 3.{9..11}; then
+ # Undo the default switch in setuptools-60+ for the time being,
+ # to avoid replacing .egg-info file with directory in-place.
+ local -x SETUPTOOLS_USE_DISTUTILS="${SETUPTOOLS_USE_DISTUTILS:-stdlib}"
+ fi
# Bug 559644
# using PYTHONPATH when the ${BUILD_DIR}/lib is not created yet might lead to
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-dev] [PATCH 2/7] dev-python/pycairo: Enable py3.12
2023-06-02 13:58 [gentoo-dev] [PATCH 0/7] distutils-r1.eclass: py3.12+ non-PEP517 fix, pdm-backend support and deprecated logic cleanup Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 1/7] distutils-r1.eclass: Do not force stdlib distutils on py3.12+ Michał Górny
@ 2023-06-02 13:58 ` Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 3/7] distutils-r1.eclass: Remove support for old maturin Michał Górny
` (4 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2023-06-02 13:58 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
dev-python/pycairo/pycairo-1.23.0.ebuild | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dev-python/pycairo/pycairo-1.23.0.ebuild b/dev-python/pycairo/pycairo-1.23.0.ebuild
index 79497ecd3bc0..365a807bab8c 100644
--- a/dev-python/pycairo/pycairo-1.23.0.ebuild
+++ b/dev-python/pycairo/pycairo-1.23.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-dev] [PATCH 3/7] distutils-r1.eclass: Remove support for old maturin
2023-06-02 13:58 [gentoo-dev] [PATCH 0/7] distutils-r1.eclass: py3.12+ non-PEP517 fix, pdm-backend support and deprecated logic cleanup Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 1/7] distutils-r1.eclass: Do not force stdlib distutils on py3.12+ Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 2/7] dev-python/pycairo: Enable py3.12 Michał Górny
@ 2023-06-02 13:58 ` Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 4/7] distutils-r1.eclass: Remove support for old meson-python Michał Górny
` (3 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2023-06-02 13:58 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 44 +++++++++++++-------------------------
1 file changed, 15 insertions(+), 29 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index f3325d5bd8f4..12ed6e77b969 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -230,7 +230,7 @@ _distutils_set_globals() {
;;
maturin)
bdep+='
- >=dev-util/maturin-0.14.17[${PYTHON_USEDEP}]
+ >=dev-util/maturin-1.0.1[${PYTHON_USEDEP}]
'
;;
no)
@@ -1331,26 +1331,21 @@ distutils_pep517_install() {
local config_settings=
case ${DISTUTILS_USE_PEP517} in
maturin)
- # ebuild's DISTUTILS_ARGS are currently ignored if <1.0.0, ebuilds
- # should set the dependency if used until this can be cleaned up
- # (reminder to cleanup the old MATURIN_PEP517_ARGS block too)
- if has_version -b '>=dev-util/maturin-1.0.0'; then
- # `maturin pep517 build-wheel --help` for options
- local maturin_args=(
- "${DISTUTILS_ARGS[@]}"
- --jobs="$(makeopts_jobs)"
- --skip-auditwheel # see bug #831171
- $(in_iuse debug && usex debug '--profile=dev' '')
- )
+ # `maturin pep517 build-wheel --help` for options
+ local maturin_args=(
+ "${DISTUTILS_ARGS[@]}"
+ --jobs="$(makeopts_jobs)"
+ --skip-auditwheel # see bug #831171
+ $(in_iuse debug && usex debug '--profile=dev' '')
+ )
- config_settings=$(
- "${EPYTHON}" - "${maturin_args[@]}" <<-EOF || die
- import json
- import sys
- print(json.dumps({"build-args": sys.argv[1:]}))
- EOF
- )
- fi
+ config_settings=$(
+ "${EPYTHON}" - "${maturin_args[@]}" <<-EOF || die
+ import json
+ import sys
+ print(json.dumps({"build-args": sys.argv[1:]}))
+ EOF
+ )
;;
meson-python)
local -x NINJAOPTS=$(get_NINJAOPTS)
@@ -1526,15 +1521,6 @@ distutils-r1_python_compile() {
esetup.py build -j "${jobs}" "${@}"
fi
;;
- maturin)
- if has_version -b '<dev-util/maturin-1.0.0'; then
- local -x MATURIN_PEP517_ARGS="
- --jobs=$(makeopts_jobs)
- --skip-auditwheel
- $(in_iuse debug && usex debug --profile=dev '')
- "
- fi
- ;;
no)
return
;;
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-dev] [PATCH 4/7] distutils-r1.eclass: Remove support for old meson-python
2023-06-02 13:58 [gentoo-dev] [PATCH 0/7] distutils-r1.eclass: py3.12+ non-PEP517 fix, pdm-backend support and deprecated logic cleanup Michał Górny
` (2 preceding siblings ...)
2023-06-02 13:58 ` [gentoo-dev] [PATCH 3/7] distutils-r1.eclass: Remove support for old maturin Michał Górny
@ 2023-06-02 13:58 ` Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 5/7] dev-python/pdm-backend: Rename of dev-python/pdm-pep517, 2.0.7 Michał Górny
` (2 subsequent siblings)
6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2023-06-02 13:58 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 51 +++++++++++---------------------------
1 file changed, 15 insertions(+), 36 deletions(-)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 12ed6e77b969..2f227fe75910 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -239,7 +239,7 @@ _distutils_set_globals() {
;;
meson-python)
bdep+='
- >=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
+ >=dev-python/meson-python-0.13.1[${PYTHON_USEDEP}]
'
;;
pbr)
@@ -1349,42 +1349,21 @@ distutils_pep517_install() {
;;
meson-python)
local -x NINJAOPTS=$(get_NINJAOPTS)
- if has_version -b '>=dev-python/meson-python-0.13'; then
- config_settings=$(
- "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
- import json
- import os
- import shlex
- import sys
-
- ninjaopts = shlex.split(os.environ["NINJAOPTS"])
- print(json.dumps({
- "builddir": "${BUILD_DIR}",
- "setup-args": sys.argv[1:],
- "compile-args": ["-v"] + ninjaopts,
- }))
- EOF
- )
- else
- config_settings=$(
- "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
- import json
- import os
- import shlex
- import sys
+ config_settings=$(
+ "${EPYTHON}" - "${DISTUTILS_ARGS[@]}" <<-EOF || die
+ import json
+ import os
+ import shlex
+ import sys
- ninjaopts = shlex.split(os.environ["NINJAOPTS"])
- print(json.dumps({
- "builddir": "${BUILD_DIR}",
- "setup-args": sys.argv[1:],
- "compile-args": [
- "-v",
- f"--ninja-args={ninjaopts!r}",
- ],
- }))
- EOF
- )
- fi
+ ninjaopts = shlex.split(os.environ["NINJAOPTS"])
+ print(json.dumps({
+ "builddir": "${BUILD_DIR}",
+ "setup-args": sys.argv[1:],
+ "compile-args": ["-v"] + ninjaopts,
+ }))
+ EOF
+ )
;;
setuptools)
if [[ -n ${DISTUTILS_ARGS[@]} ]]; then
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-dev] [PATCH 5/7] dev-python/pdm-backend: Rename of dev-python/pdm-pep517, 2.0.7
2023-06-02 13:58 [gentoo-dev] [PATCH 0/7] distutils-r1.eclass: py3.12+ non-PEP517 fix, pdm-backend support and deprecated logic cleanup Michał Górny
` (3 preceding siblings ...)
2023-06-02 13:58 ` [gentoo-dev] [PATCH 4/7] distutils-r1.eclass: Remove support for old meson-python Michał Górny
@ 2023-06-02 13:58 ` Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 6/7] distutils-r1.eclass: Add support for pdm-backend Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 7/7] dev-python/atpublic: Bump to 3.1.2 Michał Górny
6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2023-06-02 13:58 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
dev-python/pdm-backend/Manifest | 1 +
dev-python/pdm-backend/metadata.xml | 13 ++++
.../pdm-backend/pdm-backend-2.0.7.ebuild | 65 +++++++++++++++++++
3 files changed, 79 insertions(+)
create mode 100644 dev-python/pdm-backend/Manifest
create mode 100644 dev-python/pdm-backend/metadata.xml
create mode 100644 dev-python/pdm-backend/pdm-backend-2.0.7.ebuild
diff --git a/dev-python/pdm-backend/Manifest b/dev-python/pdm-backend/Manifest
new file mode 100644
index 000000000000..185672dc645f
--- /dev/null
+++ b/dev-python/pdm-backend/Manifest
@@ -0,0 +1 @@
+DIST pdm-backend-2.0.7.gh.tar.gz 131573 BLAKE2B 69750ccada51e09886d39b37fe00f842ccc70d1b7fd301ce2a72601f72e6d8d01ed0eef43ce7d9a6d9094e2c547965e91013dec7e7692479a5c9e2d0b7025c83 SHA512 7bfbdd52af739d6b6c85468888b44144fbc4fe542e758b62a09a85d7a503a980a82ef3450ac5c234005bbd7dd399ab7ddbe9b7948820b7ba7e8558c5b0fd9581
diff --git a/dev-python/pdm-backend/metadata.xml b/dev-python/pdm-backend/metadata.xml
new file mode 100644
index 000000000000..b27d716c3e92
--- /dev/null
+++ b/dev-python/pdm-backend/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pdm-backend</remote-id>
+ <remote-id type="github">pdm-project/pdm-backend</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pdm-backend/pdm-backend-2.0.7.ebuild b/dev-python/pdm-backend/pdm-backend-2.0.7.ebuild
new file mode 100644
index 000000000000..403a89a30845
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.0.7.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
+HOMEPAGE="
+ https://pypi.org/project/pdm-backend/
+ https://github.com/pdm-project/pdm-backend/
+"
+SRC_URI="
+ https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
+ ' 3.9)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+# setuptools are used to build C extensions
+RDEPEND+="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm -r src/pdm/backend/_vendor || die
+ find -name '*.py' -exec sed \
+ -e 's:from pdm\.backend\._vendor\.:from :' \
+ -e 's:from pdm\.backend\._vendor ::' \
+ -e 's:import pdm\.backend\._vendor\.:import :' \
+ -i {} + || die
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "Test User" || die
+ distutils-r1_src_test
+}
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-dev] [PATCH 6/7] distutils-r1.eclass: Add support for pdm-backend
2023-06-02 13:58 [gentoo-dev] [PATCH 0/7] distutils-r1.eclass: py3.12+ non-PEP517 fix, pdm-backend support and deprecated logic cleanup Michał Górny
` (4 preceding siblings ...)
2023-06-02 13:58 ` [gentoo-dev] [PATCH 5/7] dev-python/pdm-backend: Rename of dev-python/pdm-pep517, 2.0.7 Michał Górny
@ 2023-06-02 13:58 ` Michał Górny
2023-06-02 13:58 ` [gentoo-dev] [PATCH 7/7] dev-python/atpublic: Bump to 3.1.2 Michał Górny
6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2023-06-02 13:58 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
eclass/distutils-r1.eclass | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 2f227fe75910..0c0fd6790f9c 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -125,6 +125,8 @@ esac
#
# - pdm - pdm.pep517 backend
#
+# - pdm-backend - pdm.backend backend
+#
# - poetry - poetry-core backend
#
# - setuptools - distutils or setuptools (incl. legacy mode)
@@ -252,6 +254,11 @@ _distutils_set_globals() {
>=dev-python/pdm-pep517-1.1.4[${PYTHON_USEDEP}]
'
;;
+ pdm-backend)
+ bdep+='
+ >=dev-python/pdm-backend-2.0.7[${PYTHON_USEDEP}]
+ '
+ ;;
poetry)
bdep+='
>=dev-python/poetry-core-1.5.2[${PYTHON_USEDEP}]
@@ -984,6 +991,12 @@ _distutils-r1_print_package_versions() {
dev-python/setuptools
)
;;
+ pdm-backend)
+ packages+=(
+ dev-python/pdm-backend
+ dev-python/setuptools
+ )
+ ;;
poetry)
packages+=(
dev-python/poetry-core
@@ -1178,6 +1191,9 @@ _distutils-r1_backend_to_key() {
pbr.build)
echo pbr
;;
+ pdm.backend)
+ echo pdm-backend
+ ;;
pdm.pep517.api)
echo pdm
;;
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [gentoo-dev] [PATCH 7/7] dev-python/atpublic: Bump to 3.1.2
2023-06-02 13:58 [gentoo-dev] [PATCH 0/7] distutils-r1.eclass: py3.12+ non-PEP517 fix, pdm-backend support and deprecated logic cleanup Michał Górny
` (5 preceding siblings ...)
2023-06-02 13:58 ` [gentoo-dev] [PATCH 6/7] distutils-r1.eclass: Add support for pdm-backend Michał Górny
@ 2023-06-02 13:58 ` Michał Górny
6 siblings, 0 replies; 8+ messages in thread
From: Michał Górny @ 2023-06-02 13:58 UTC (permalink / raw
To: gentoo-dev; +Cc: Michał Górny
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
dev-python/atpublic/Manifest | 1 +
dev-python/atpublic/atpublic-3.1.2.ebuild | 32 +++++++++++++++++++++++
2 files changed, 33 insertions(+)
create mode 100644 dev-python/atpublic/atpublic-3.1.2.ebuild
diff --git a/dev-python/atpublic/Manifest b/dev-python/atpublic/Manifest
index 07b7473b24ee..b7dd235d8f26 100644
--- a/dev-python/atpublic/Manifest
+++ b/dev-python/atpublic/Manifest
@@ -1 +1,2 @@
DIST atpublic-3.1.1.tar.gz 14050 BLAKE2B a83bfed40b5073c9aba92e367b9627a86eecb297332631222f86f0cea0f10d6fde8ffd5cbef1e3bd1f9005c1cae614268867e652e33d1bee4556e2084fb8952c SHA512 b34dbb236717b2017de95aa79226f0138e77814a4041e26e98f50db8f8521d81b60f9998aed719e1e1f2ee29a7c590170725e12a54260900ce9819ea3a623dac
+DIST atpublic-3.1.2.tar.gz 14042 BLAKE2B f9a8ca6504b8fcf2910aab42899730afdc28551738321ad8d4bb722ca76c1a45a7f61310c18852b583bb4eec5571c823dcf47846dec73190370df7043ccd6e1b SHA512 0b779e56c248b8147dc8b84c07748adf8685359d8e2de3040c375f8a2825d880376c4b0a191382b9e294a2f001244c68230a10d2d796144c1b5acc2648bca604
diff --git a/dev-python/atpublic/atpublic-3.1.2.ebuild b/dev-python/atpublic/atpublic-3.1.2.ebuild
new file mode 100644
index 000000000000..f33c1d02d2fe
--- /dev/null
+++ b/dev-python/atpublic/atpublic-3.1.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A decorator to populate __all__ and the module globals"
+HOMEPAGE="
+ https://gitlab.com/warsaw/public/
+ https://pypi.org/project/atpublic/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/sybil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
--
2.41.0
^ permalink raw reply related [flat|nested] 8+ messages in thread