Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate and eventually replace waf build system #740

Open
aquaherd opened this issue Nov 19, 2023 · 5 comments
Open

Investigate and eventually replace waf build system #740

aquaherd opened this issue Nov 19, 2023 · 5 comments

Comments

@aquaherd
Copy link
Member

Recent discussion around the waf build system yielded a deprecation notion.

Discuss / decide / triage here if:

  • replacement / modernization is required at all
  • compare possible replacement candidates
  • decide and implement, if any

Nice to have: (and also open for discussion)

  • packaging helpers (like .deb, rpm, .tar.gz, flatpak, snap, appimage, ...)
  • simplify e.g. arch packaging with $DESTDIR and the like
  • support for installing dbus service files, icons and desktop files
  • conversion of *.in files before packaging
  • github actionability
@matthijskooijman
Copy link
Member

See also #399 for previous discussion (yay, found the issue again :-p)

@hedayat
Copy link
Member

hedayat commented Nov 19, 2023

Well, note that I'm not a Python developer and so, not a credible source :) But, I've been involved in a number of Python packaging for distros recently. Migrating to pyproject.toml style building seems to be a standard, so I think using it is a must. Then, the question will be the build backend. I'm completely clueless here, but I've seen people started using hatch recently. But, if you are fan of meson, it seems that there is also this meson python thing which can be used.

I'm not sure about meson python, but using a more common build backend like hatch/hatchling or others (newer setuptools versions or maybe PDM or...) is probably supported by many distros out of the box.

Using pyproject.toml with a common build backend will most likely mean effortless packaging in popular distros; as you probably don't need to edit the default template much.

@matthijskooijman
Copy link
Member

If we can make things work with pyproject.toml and a build backend, that would be awesome! I'm not sure if all of the build backend stuff will work (we might need to install things out of the regular boundaries of a python package, but maybe the build backend API allows for that), but if so, all the better.

@hedayat
Copy link
Member

hedayat commented Nov 19, 2023

Well, from a brief look, I've got a feeling that it is possible. I hope I'm not wrong :)

@ofek
Copy link

ofek commented Dec 3, 2023

Maintainer of Hatch here! The build backend Hatchling I think would definitely satisfy your constraints as there is plugin functionality allowing for custom build hooks if desired.

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

No branches or pull requests

4 participants