Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 909973

Summary: dev-python/wxpython: needs to use PEP517 build (DistutilsNonPEP517Build)
Product: Gentoo Linux Reporter: Michał Górny <mgorny>
Component: Current packagesAssignee: Gentoo wxWidgets project <wxwidgets>
Status: CONFIRMED ---    
Severity: normal CC: jospezial, poncho, python
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: All   
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 909855    

Description Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2023-07-08 06:56:48 UTC
This package still uses the legacy eclass code paths.  These paths are deprecated and pose a significant maintenance cost.  Please update the package to use PEP517 build mode.  For more information, please see the Python Guide, particularly;
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-07-08 20:40:50 UTC
[Adding this comment en-masse, sorry for the noise, but it's important.)

1. Please take particular care to check file diffs before/after, possibly using `iwdevtools`. Keep a particular eye out for e.g. config files now missing from /etc and instead being in /usr/lib/python*/site-packages, etc.

2. Please make sure to do the migration in a new revision in ~arch, partly because of 1.
Comment 2 jospezial 2024-02-06 04:36:40 UTC
The conversion to setuptools in this ebuild is important for python 3.12.

I have not tested the gentoo ebuild with python 3.12 but I think the output would look similar.

>>> Source configured.
>>> Compiling source in /var/tmp/portage/dev-python/wxpython-4.2.1-r2/work/wxPython-4.2.1 ...
 * python3_11: running distutils-r1_run_phase python_compile
/var/tmp/portage/dev-python/wxpython-4.2.1-r2/work/wxPython-4.2.1-python3_11/ DeprecationWarning: The distutils package is deprecated and slated for removal in Python 3.12. Use setuptools or check PEP 632 for potential alternatives
  from distutils.dep_util import newer, newer_group

------------ BUILD FINISHED ------------
To use wxPython from the build folder (without installing):
 - Set your PYTHONPATH variable to /var/tmp/portage/dev-python/wxpython-4.2.1-r2/work/wxPython-4.2.1-python3_11.
 - You may also need to set your (DY)LD_LIBRARY_PATH to /var/tmp/portage/dev-python/wxpython-4.2.1-r2/work/wxPython-4.2.1-python3_11/build/wxbld/gtk3/lib,
   or wherever the wxWidgets libs have been installed.

Finished command: build_py (59m20.80s)
 * python3_12: running distutils-r1_run_phase python_compile
Traceback (most recent call last):
  File "/var/tmp/portage/dev-python/wxpython-4.2.1-r2/work/wxPython-4.2.1-python3_12/", line 43, in <module>
    from distutils.dep_util import newer, newer_group
ModuleNotFoundError: No module named 'distutils'
 * ERROR: dev-python/wxpython-4.2.1-r2::stefantalpalaru failed (compile phase):
 *   (no error message)
 * Call stack:
 *, line  136:  Called src_compile
 *   environment, line 3955:  Called distutils-r1_src_compile
 *   environment, line 1895:  Called _distutils-r1_run_foreach_impl 'python_compile'
 *   environment, line  708:  Called python_foreach_impl 'distutils-r1_run_phase' 'python_compile'
 *   environment, line 3512:  Called multibuild_foreach_variant '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_compile'
 *   environment, line 3009:  Called _multibuild_run '_python_multibuild_wrapper' 'distutils-r1_run_phase' 'python_compile'
 *   environment, line 3007:  Called _python_multibuild_wrapper 'distutils-r1_run_phase' 'python_compile'
 *   environment, line 1157:  Called distutils-r1_run_phase 'python_compile'
 *   environment, line 1879:  Called python_compile
 *   environment, line 3306:  Called die
 * The specific snippet of code:
 *       DOXYGEN=/usr/bin/doxygen ${PYTHON} dox etg --nodoc || die;
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2024-03-06 15:30:19 UTC
Final ping.  Please note that we will not hesitate to last rite low profile packages over this.