tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Python modules update: please use wheel.mk



Hi!

I've just finished the conversion of Python modules in pkgsrc to
follow the best-practice for bootstrapping and then building modules
(AFAICT).

From the Python packaging discourse, the recommended method is:

Bootstrap using 'flit_core' (for building wheels, has no module
dependencies), then build 'installer' (for installing wheels, needs
'flit_core'). Finally, build 'build' (has ~ 5 dependencies).

Then use 'build' and 'installer' for all other packages.

I've added lang/python/bootstrap.mk with rules for the packages that
'build' needs and 'build' itself.

Then I've changed lang/python/wheel.mk to switch to using 'build' (was
already the case) and 'installer' (was using 'pip') for building and
installing packages. The switch from 'pip' to 'installer' caused the
PLISTs to change (less metadata installed, but *.pyo installed again).

When you update any Python package, please consider switching it to
wheel.mk. You might need to add TOOL_DEPENDS for the build backend
used by the package (e.g., py-setuptools, py-flit_core, py-hatchling,
... - there are lots, check the modules's pyproject.toml file) and
perhaps on py-wheel too.

Cheers,
 Thomas


Home | Main Index | Thread Index | Old Index