public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump
@ 2025-04-09 15:44 Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 1/8] distutils-r1.eclass: Make DISTUTILS_UPSTREAM_PEP517 default-unset Michał Górny
                   ` (8 more replies)
  0 siblings, 9 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Hello,

Here's another batch of changes to Python eclasses.  This time it
includes four changes:

1. Fix for DISTUTILS_UPSTREAM_PEP517 when ebuild locally overrides
   DISTUTILS_USE_PEP517.  This is a rare case, see the last two commits
   for the workarounds that will no longer be necessary.

2. Bumping dev-python/setuptools dep.  Long story short, upstream
   introduced support for new license syntax in setuptools 77,
   and immediately started scaring people with deprecation warnings
   for the old syntax, so we have a growing number of projects
   requiring >=77.  The new version will be ready to go stable
   on Saturday.

3. Removing the use of dev-python/unittest-or-fail.  It was an unittest
   wrapper for Python < 3.12, to make test phase fail if there were
   no tests (e.g. distutils_enable_tests call was wrong, or upstream
   suddenly moved tests on version bump).  It is no longer needed for
   Python 3.12+, and since we can reasonably expect people to always
   test with 3.12+, this should catch any mistakes and we do not need
   to go through extra hoops for 3.11.

4. Add verbose deprecation warnings for `distutils_enable_tests
   setup.py`, and for non-PEP517 builds.  These are rather ugly as they
   appear during dependency calculation (hence they need the package
   name explicitly printed).  Good news is, the use is almost gone
   from ::gentoo, so they are specifically targeted at overlays.

PR: https://github.com/gentoo/gentoo/pull/41473


Michał Górny (8):
  distutils-r1.eclass: Make DISTUTILS_UPSTREAM_PEP517 default-unset
  distutils-r1.eclass: Bump minimum setuptools version
  python-utils-r1.eclass: Remove unittest-or-fail use
  distutils-r1.eclass: Remove unittest-or-fail deps
  distutils-r1.eclass: Add verbose `det setup.py` deprecation warning
  distutils-r1.eclass: Add verbose legacy mode deprecation warning
  dev-python/sqlglot: Remove obsolete hack
  dev-python/blake3: Remove obsolete hack

 dev-python/blake3/blake3-1.0.4.ebuild     |  1 -
 dev-python/sqlglot/sqlglot-26.12.1.ebuild |  1 -
 eclass/distutils-r1.eclass                | 43 ++++++++++++-----------
 eclass/python-utils-r1.eclass             |  8 ++---
 4 files changed, 24 insertions(+), 29 deletions(-)



^ permalink raw reply	[flat|nested] 12+ messages in thread

* [gentoo-dev] [PATCH 1/8] distutils-r1.eclass: Make DISTUTILS_UPSTREAM_PEP517 default-unset
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
@ 2025-04-09 15:44 ` Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 2/8] distutils-r1.eclass: Bump minimum setuptools version Michał Górny
                   ` (7 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Instead of setting DISTUTILS_UPSTREAM_PEP517 to DISTUTILS_USE_PEP517
in global scope, make it fall back to that variable when used.  This
way, we don't have to override both variables when multiple values
need to be used in an ebuild.

Bug: https://bugs.gentoo.org/953285
Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/distutils-r1.eclass | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index e1672dd3c3b0..96ac77d04dad 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -154,10 +154,11 @@
 # will be merged into ${D}.
 
 # @ECLASS_VARIABLE: DISTUTILS_UPSTREAM_PEP517
+# @DEFAULT_UNSET
 # @DESCRIPTION:
 # Specifies the PEP517 build backend used upstream.  It is used
 # by the eclass to verify the correctness of DISTUTILS_USE_PEP517,
-# and matches DISTUTILS_USE_PEP517 by default.  However, it can be
+# and defaults to ${DISTUTILS_USE_PEP517}.  However, it can be
 # overriden to workaround the eclass check, when it is desirable
 # to build the wheel using other backend than the one used upstream.
 #
@@ -165,7 +166,6 @@
 # be subtle differences between the behavior of different PEP517 build
 # backends, for example regarding finding package files.  When using
 # this option, please make sure that the package is installed correctly.
-: "${DISTUTILS_UPSTREAM_PEP517:=${DISTUTILS_USE_PEP517}}"
 
 # @ECLASS_VARIABLE: DISTUTILS_USE_SETUPTOOLS
 # @DEFAULT_UNSET
@@ -1164,7 +1164,10 @@ _distutils-r1_get_backend() {
 	fi
 
 	# verify that the ebuild correctly specifies the build backend
-	local expected_backend=$(_distutils-r1_key_to_backend "${DISTUTILS_UPSTREAM_PEP517}")
+	local expected_backend=$(
+		_distutils-r1_key_to_backend \
+			"${DISTUTILS_UPSTREAM_PEP517:-${DISTUTILS_USE_PEP517}}"
+	)
 	if [[ ${expected_backend} != ${build_backend} ]]; then
 		# special-case deprecated backends
 		case ${build_backend} in


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-dev] [PATCH 2/8] distutils-r1.eclass: Bump minimum setuptools version
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 1/8] distutils-r1.eclass: Make DISTUTILS_UPSTREAM_PEP517 default-unset Michał Górny
@ 2025-04-09 15:44 ` Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 3/8] python-utils-r1.eclass: Remove unittest-or-fail use Michał Górny
                   ` (6 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Bump minimum setuptools version, as >=77 introduced a deprecation
warning, with a suggested solution that only works with >=77, so now
a growing number of packages require that version.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/distutils-r1.eclass | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 96ac77d04dad..020fe57a4378 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -322,7 +322,7 @@ _distutils_set_globals() {
 				;;
 			setuptools)
 				bdep+='
-					>=dev-python/setuptools-75.8.2[${PYTHON_USEDEP}]
+					>=dev-python/setuptools-78.1.0[${PYTHON_USEDEP}]
 				'
 				;;
 			sip)
@@ -347,7 +347,7 @@ _distutils_set_globals() {
 			eqawarn "is enabled."
 		fi
 	else
-		local setuptools_dep='>=dev-python/setuptools-75.8.2[${PYTHON_USEDEP}]'
+		local setuptools_dep='>=dev-python/setuptools-78.1.0[${PYTHON_USEDEP}]'
 
 		case ${DISTUTILS_USE_SETUPTOOLS:-bdepend} in
 			no|manual)


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-dev] [PATCH 3/8] python-utils-r1.eclass: Remove unittest-or-fail use
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 1/8] distutils-r1.eclass: Make DISTUTILS_UPSTREAM_PEP517 default-unset Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 2/8] distutils-r1.eclass: Bump minimum setuptools version Michał Górny
@ 2025-04-09 15:44 ` Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 4/8] distutils-r1.eclass: Remove unittest-or-fail deps Michał Górny
                   ` (5 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Remove the use of dev-python/unittest-or-fail in favor of using stdlib
unittest runner for all implementations.  While technically the latter
doesn't error out on "no tests" on Python 3.11 and older, this doesn't
really matter, because we're going to detect broken invocations while
testing on 3.12+.

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/python-utils-r1.eclass | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/eclass/python-utils-r1.eclass b/eclass/python-utils-r1.eclass
index affb8e55a50d..79097765167f 100644
--- a/eclass/python-utils-r1.eclass
+++ b/eclass/python-utils-r1.eclass
@@ -1481,7 +1481,7 @@ epytest() {
 # @FUNCTION: eunittest
 # @USAGE: [<args>...]
 # @DESCRIPTION:
-# Run unit tests using dev-python/unittest-or-fail, passing the standard
+# Run unit tests using unittest, passing the standard
 # set of options, followed by user-specified options.
 #
 # This command dies on failure and respects nonfatal.
@@ -1492,11 +1492,7 @@ eunittest() {
 	_python_check_occluded_packages
 
 	# unittest fails with "no tests" correctly since Python 3.12
-	local runner=unittest
-	if _python_impl_matches "${EPYTHON}" 3.{9..11}; then
-		runner=unittest_or_fail
-	fi
-	set -- "${EPYTHON}" -m "${runner}" discover -v "${@}"
+	set -- "${EPYTHON}" -m unittest discover -v "${@}"
 
 	echo "${@}" >&2
 	"${@}" || die -n "Tests failed with ${EPYTHON}"


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-dev] [PATCH 4/8] distutils-r1.eclass: Remove unittest-or-fail deps
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
                   ` (2 preceding siblings ...)
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 3/8] python-utils-r1.eclass: Remove unittest-or-fail use Michał Górny
@ 2025-04-09 15:44 ` Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 5/8] distutils-r1.eclass: Add verbose `det setup.py` deprecation warning Michał Górny
                   ` (4 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/distutils-r1.eclass | 6 ------
 1 file changed, 6 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 020fe57a4378..f863872330c2 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -647,12 +647,6 @@ distutils_enable_tests() {
 		setup.py)
 			;;
 		unittest)
-			# unittest-or-fail is needed in py<3.12
-			local test_pkgs="$(python_gen_cond_dep '
-					dev-python/unittest-or-fail[${PYTHON_USEDEP}]
-				' 3.10 3.11
-			)"
-			[[ -n ${test_pkgs} ]] && test_deps+=" ${test_pkgs}"
 			;;
 		*)
 			die "${FUNCNAME}: unsupported argument: ${1}"


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-dev] [PATCH 5/8] distutils-r1.eclass: Add verbose `det setup.py` deprecation warning
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
                   ` (3 preceding siblings ...)
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 4/8] distutils-r1.eclass: Remove unittest-or-fail deps Michał Górny
@ 2025-04-09 15:44 ` Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 6/8] distutils-r1.eclass: Add verbose legacy mode " Michał Górny
                   ` (3 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/distutils-r1.eclass | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index f863872330c2..9b83d502d142 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -599,7 +599,7 @@ distutils_enable_sphinx() {
 #
 # - pytest: dev-python/pytest
 #
-# - setup.py: setup.py test (no deps included)
+# - setup.py: setup.py test (no deps included; deprecated)
 #
 # - unittest: for built-in Python unittest module
 #
@@ -645,6 +645,11 @@ distutils_enable_tests() {
 			fi
 			;;
 		setup.py)
+			eqawarn
+			eqawarn "=== ${CATEGORY}/${PF} ==="
+			eqawarn "distutils_enable_tests setup.py is deprecated and will be removed."
+			eqawarn "Please use unittest or pytest instead."
+			eqawarn
 			;;
 		unittest)
 			;;


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-dev] [PATCH 6/8] distutils-r1.eclass: Add verbose legacy mode deprecation warning
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
                   ` (4 preceding siblings ...)
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 5/8] distutils-r1.eclass: Add verbose `det setup.py` deprecation warning Michał Górny
@ 2025-04-09 15:44 ` Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 7/8] dev-python/sqlglot: Remove obsolete hack Michał Górny
                   ` (2 subsequent siblings)
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 eclass/distutils-r1.eclass | 17 ++++++++---------
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/eclass/distutils-r1.eclass b/eclass/distutils-r1.eclass
index 9b83d502d142..8966341f5a10 100644
--- a/eclass/distutils-r1.eclass
+++ b/eclass/distutils-r1.eclass
@@ -388,6 +388,14 @@ _distutils_set_globals() {
 			DISTUTILS_DEPS=${bdep}
 			readonly DISTUTILS_DEPS
 		fi
+	else
+		eqawarn
+		eqawarn "=== ${CATEGORY}/${PF} ==="
+		eqawarn "distutils-r1.eclass legacy mode is deprecated and will be removed."
+		eqawarn "Please migrate your ebuilds to use DISTUTILS_USE_PEP517 (common values"
+		eqawarn "are 'setuptools' for packages using setuptools/distutils,"
+		eqawarn "and 'no' for packages using non-PEP517 build systems)."
+		eqawarn
 	fi
 
 	if [[ ! ${DISTUTILS_OPTIONAL} ]]; then
@@ -980,15 +988,6 @@ distutils-r1_python_prepare_all() {
 	if [[ ! ${DISTUTILS_USE_PEP517} ]]; then
 		_distutils-r1_disable_ez_setup
 		_distutils-r1_handle_pyproject_toml
-
-		case ${DISTUTILS_USE_SETUPTOOLS} in
-			no)
-				eqawarn "Non-PEP517 builds are deprecated for ebuilds using plain distutils."
-				eqawarn "Please migrate to DISTUTILS_USE_PEP517=setuptools."
-				eqawarn "Please see Python Guide for more details:"
-				eqawarn "  https://projects.gentoo.org/python/guide/distutils.html"
-				;;
-		esac
 	fi
 
 	if [[ ${DISTUTILS_IN_SOURCE_BUILD} && ! ${DISTUTILS_SINGLE_IMPL} ]]


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-dev] [PATCH 7/8] dev-python/sqlglot: Remove obsolete hack
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
                   ` (5 preceding siblings ...)
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 6/8] distutils-r1.eclass: Add verbose legacy mode " Michał Górny
@ 2025-04-09 15:44 ` Michał Górny
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 8/8] dev-python/blake3: " Michał Górny
  2025-04-19 18:38 ` [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Bryan Gardiner
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 dev-python/sqlglot/sqlglot-26.12.1.ebuild | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dev-python/sqlglot/sqlglot-26.12.1.ebuild b/dev-python/sqlglot/sqlglot-26.12.1.ebuild
index dfb5ad04a049..e6c62a001c9e 100644
--- a/dev-python/sqlglot/sqlglot-26.12.1.ebuild
+++ b/dev-python/sqlglot/sqlglot-26.12.1.ebuild
@@ -62,7 +62,6 @@ python_compile() {
 
 	if use native-extensions; then
 		local DISTUTILS_USE_PEP517=maturin
-		local DISTUTILS_UPSTREAM_PEP517=maturin
 		cd sqlglotrs || die
 		distutils-r1_python_compile
 		cd - >/dev/null || die


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* [gentoo-dev] [PATCH 8/8] dev-python/blake3: Remove obsolete hack
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
                   ` (6 preceding siblings ...)
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 7/8] dev-python/sqlglot: Remove obsolete hack Michał Górny
@ 2025-04-09 15:44 ` Michał Górny
  2025-04-19 18:38 ` [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Bryan Gardiner
  8 siblings, 0 replies; 12+ messages in thread
From: Michał Górny @ 2025-04-09 15:44 UTC (permalink / raw
  To: gentoo-dev; +Cc: Michał Górny

Signed-off-by: Michał Górny <mgorny@gentoo.org>
---
 dev-python/blake3/blake3-1.0.4.ebuild | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dev-python/blake3/blake3-1.0.4.ebuild b/dev-python/blake3/blake3-1.0.4.ebuild
index 8e042ea0c094..e7420a53224a 100644
--- a/dev-python/blake3/blake3-1.0.4.ebuild
+++ b/dev-python/blake3/blake3-1.0.4.ebuild
@@ -116,7 +116,6 @@ src_prepare() {
 
 python_compile() {
 	local DISTUTILS_USE_PEP517=$(usex rust maturin setuptools)
-	local DISTUTILS_UPSTREAM_PEP517=${DISTUTILS_USE_PEP517}
 
 	if ! use rust; then
 		cd c_impl || die


^ permalink raw reply related	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump
  2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
                   ` (7 preceding siblings ...)
  2025-04-09 15:44 ` [gentoo-dev] [PATCH 8/8] dev-python/blake3: " Michał Górny
@ 2025-04-19 18:38 ` Bryan Gardiner
  2025-04-19 18:45   ` Michał Górny
  8 siblings, 1 reply; 12+ messages in thread
From: Bryan Gardiner @ 2025-04-19 18:38 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 701 bytes --]

Hi Michał,

On Wed,  9 Apr 2025 17:44:20 +0200
Michał Górny <mgorny@gentoo.org> wrote:

> 4. Add verbose deprecation warnings for `distutils_enable_tests
>    setup.py`, and for non-PEP517 builds.  These are rather ugly as
> they appear during dependency calculation (hence they need the package
>    name explicitly printed).  Good news is, the use is almost gone
>    from ::gentoo, so they are specifically targeted at overlays.

Does this mean further deprecations to setup.py support are coming
soon?  system76-driver's build process uses setup.py and hasn't seen
any changes yet to work toward PEP517, so I am wondering how soon
that's going to be a problem.

Thanks,
Bryan

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump
  2025-04-19 18:38 ` [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Bryan Gardiner
@ 2025-04-19 18:45   ` Michał Górny
  2025-04-19 20:02     ` Bryan Gardiner
  0 siblings, 1 reply; 12+ messages in thread
From: Michał Górny @ 2025-04-19 18:45 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1054 bytes --]

On Sat, 2025-04-19 at 11:38 -0700, Bryan Gardiner wrote:
> Hi Michał,
> 
> On Wed,  9 Apr 2025 17:44:20 +0200
> Michał Górny <mgorny@gentoo.org> wrote:
> 
> > 4. Add verbose deprecation warnings for `distutils_enable_tests
> >    setup.py`, and for non-PEP517 builds.  These are rather ugly as
> > they appear during dependency calculation (hence they need the package
> >    name explicitly printed).  Good news is, the use is almost gone
> >    from ::gentoo, so they are specifically targeted at overlays.
> 
> Does this mean further deprecations to setup.py support are coming
> soon?  system76-driver's build process uses setup.py and hasn't seen
> any changes yet to work toward PEP517, so I am wondering how soon
> that's going to be a problem.

Ebuilds without DISTUTILS_USE_PEP517 are deprecated for a long time
already, and we will be removing the support entirely soon.  However,
calling esetup.py within PEP517 ebuilds will continue to work until
setuptools upstream breaks it.

-- 
Best regards,
Michał Górny


[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 512 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump
  2025-04-19 18:45   ` Michał Górny
@ 2025-04-19 20:02     ` Bryan Gardiner
  0 siblings, 0 replies; 12+ messages in thread
From: Bryan Gardiner @ 2025-04-19 20:02 UTC (permalink / raw
  To: gentoo-dev

[-- Attachment #1: Type: text/plain, Size: 1247 bytes --]

On Sat, 19 Apr 2025 20:45:21 +0200
Michał Górny <mgorny@gentoo.org> wrote:

> On Sat, 2025-04-19 at 11:38 -0700, Bryan Gardiner wrote:
> > Hi Michał,
> > 
> > On Wed,  9 Apr 2025 17:44:20 +0200
> > Michał Górny <mgorny@gentoo.org> wrote:
> >   
> > > 4. Add verbose deprecation warnings for `distutils_enable_tests
> > >    setup.py`, and for non-PEP517 builds.  These are rather ugly as
> > > they appear during dependency calculation (hence they need the
> > > package name explicitly printed).  Good news is, the use is
> > > almost gone from ::gentoo, so they are specifically targeted at
> > > overlays.  
> > 
> > Does this mean further deprecations to setup.py support are coming
> > soon?  system76-driver's build process uses setup.py and hasn't seen
> > any changes yet to work toward PEP517, so I am wondering how soon
> > that's going to be a problem.  
> 
> Ebuilds without DISTUTILS_USE_PEP517 are deprecated for a long time
> already, and we will be removing the support entirely soon.  However,
> calling esetup.py within PEP517 ebuilds will continue to work until
> setuptools upstream breaks it.

Perfect, I was hoping esetup.py would continue to work.  Thanks for the
quick response.

- Bryan

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2025-04-19 20:03 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-09 15:44 [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Michał Górny
2025-04-09 15:44 ` [gentoo-dev] [PATCH 1/8] distutils-r1.eclass: Make DISTUTILS_UPSTREAM_PEP517 default-unset Michał Górny
2025-04-09 15:44 ` [gentoo-dev] [PATCH 2/8] distutils-r1.eclass: Bump minimum setuptools version Michał Górny
2025-04-09 15:44 ` [gentoo-dev] [PATCH 3/8] python-utils-r1.eclass: Remove unittest-or-fail use Michał Górny
2025-04-09 15:44 ` [gentoo-dev] [PATCH 4/8] distutils-r1.eclass: Remove unittest-or-fail deps Michał Górny
2025-04-09 15:44 ` [gentoo-dev] [PATCH 5/8] distutils-r1.eclass: Add verbose `det setup.py` deprecation warning Michał Górny
2025-04-09 15:44 ` [gentoo-dev] [PATCH 6/8] distutils-r1.eclass: Add verbose legacy mode " Michał Górny
2025-04-09 15:44 ` [gentoo-dev] [PATCH 7/8] dev-python/sqlglot: Remove obsolete hack Michał Górny
2025-04-09 15:44 ` [gentoo-dev] [PATCH 8/8] dev-python/blake3: " Michał Górny
2025-04-19 18:38 ` [gentoo-dev] [PATCH 0/8] distutils-r1.eclass: dev-python/unittest-or-fail removal, verbose deprecation warnings and another setuptools dep bump Bryan Gardiner
2025-04-19 18:45   ` Michał Górny
2025-04-19 20:02     ` Bryan Gardiner

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox