Re: The build system (and install layout) of Portage

Zac Medico <[email protected]> Fri, 18 Mar 2022 11:06:10 -0700
Newsgroups gmane.linux.gentoo.portage.devel
Message-ID <[email protected]>
On 3/17/22 10:22, Michał Górny wrote:
> Hi, everyone.
> 
> You've probably had the opportunity to hear that a lot has changed
> in Python packaging since Portage's setup.py was written in 2014.  There
> were some minor changes to keep it working since but it's time to
> reconsider.
> 
> Long story short, distutils is strongly deprecated, setuptools
> deprecated most of the customizations (and we're relying heavily
> on customizations), PEP 517 doesn't cover our use cases exactly...
> and it's quite likely that sooner or later our build system will fall
> apart.  On top of that, setuptools is going through a stage of "let's
> vendor a new dependency every week", so it doesn't look like a feasible
> long-term solution.  A large part of the problem is that Portage is
> heavily relying on non-Pythonic idioms for installing stuff.

I wonder if we can rely less on the deprecated customizations somehow. 
For example, the venv_data_files function in setup.py succeeds in 
installing a bunch of files in custom locations, and maybe we can rely 
more on that approach (use it not only for venv installations).
-- 
Thanks,
Zac
OpenPGP_signature (application/pgp-signature, 840 B) - not displayed