Skip to content

Conversation

hongquan
Copy link

Motivation

I have a Django web project, which targets Linux server but some team members use MacOS for development. We use uv as Python package manager. In the "dependency resolution" phase, uv tried to find systemd-python metadata but couldn't get what it wanted from the setup.py file. It had to build systemd-python wheel to get the metadata, then failed on MacOS machines.

What this PR does

Adopt new pyproject.toml file, in place of setup.py. For building C code, I adopt Meson, which has meson-python as a build backend so that pip or any other modern Python package manager can know how to build the C-based extensions.

Because this new build process is done in an isolated environment and leave no *.so files, the Makefile is also updated to work with this new build method.

This is the rework of #147, but split to smaller steps.

At this step, I only make these 4 jobs work:

  • Building project.
  • Install project.
  • Generate docs.
  • Running test.

I don't move the other jobs from Makefile to Meson.

I also move the "systemd" folder (containing C & Py sources) to src folder, to prevent importing by accident when standing at the top-level folder. This is also a common practice for many other Python projects.

@hongquan hongquan mentioned this pull request Jun 30, 2025
@hongquan hongquan force-pushed the feature/meson-build-step-1 branch from 1605b3c to 31b17c0 Compare June 30, 2025 11:58
@hongquan
Copy link
Author

hongquan commented Jul 4, 2025

Hi, what more I need to do to get this PR merged?

@behrmann
Copy link
Contributor

behrmann commented Jul 9, 2025

Hi, what more I need to do to get this PR merged?

Just for somebody to find the time to review it again.

@hongquan hongquan mentioned this pull request Aug 11, 2025
@hongquan
Copy link
Author

Please allocate some time for this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants