-
Notifications
You must be signed in to change notification settings - Fork 250
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
After waf ? #399
Comments
I'm surveying what the current waf script does exactly, other than building and installing the python module. I've identified:
This is a lot more than a default python package usually does. Before making this list, I was hoping to limit what needs to happen so we could be more like a plain python package that can just be pip installed (e.g. by removing the dbus autostart, which might be a good idea anyway, but seeing this list I doubt that that is actually possible (and we'd have to rely on OS packages anyway). That does not mean we cannot use setuptools or something similar, though (I expect setuptools or other build systems can be made to do the above as well). There has also been some movement in the python packaging area recently, with the acceptance of PEP-517 and PEP-518 that introduce a new I'm planning to dig in a bit deeper into the above list, see if there's things that could be made unnecessary or perhaps be implemented more cleany. I'm also planning to dig into various build systems a bit more, but if there's no strong arguments for any, just a default setuptools setup is probably fine. |
Thanks for the interesting analysis. This is way beyond my current knowledge. |
@ederag, thanks, but I just made two very simple modifications. I am totally not a waf, or python packaging, expert. |
As noted by @GeraldJansen, python2.7 end-of-life is planned at the beginnning of next year. |
Maybe we could just copy the setup from https://github.com/gtimelog/gtimelog? Looks pretty simple to get pip3 installation set up (and in the Makefile there is even a flatpak setup and installer). |
As @matthijskooijman pointed out, the build process is rather complex. |
Good news. Installation goes smoothly on a fresh ubuntu-19.04, help pages excepted for now. |
I would like to suggest releasing v2.3 as hamster v3.0: completely python3 + gtk3 (yay!). It would give the message that the project is alive and kicking (well at least stumbling forward) and would clarify the confusion concerning v2.x versus hamster-applet v2.91.3 once and for all. |
#421 has been merged, it has been tested successfully For packagersIn an rpm package, the installation instructions would be updated to %build
# new --gconf-dir option
./waf configure build --gconf-dir=%{_sysconfdir}/gconf --prefix=%{_prefix} configure build
%install
# no change here
./waf install --destdir=%{buildroot} --libdir=%{_libdir} --libexecdir=%{_libexecdir} The Please ask if anything is not clear. Being back in distributions is important for this project IMO. |
@matthijskooijman please let me thank you again; |
Given that waf is somewhat discouraged within Debian (which is probably sufficiently solved by #569 for hamster, though), I did wonder how other python-based applications and Debian packages for them handle building and installing additional files. I found two examples, both of which use normal setuptools and the
Just in case we might want to move away from waf after all later, I thought it would be good to keep these links here for reference. |
There are issues with the current installation system (
waf
): #309, #221, #252, ...The current well established standard is
setuptools
. We could use thesetup.cfg
configuration file.Here is an example.
This seems to be the safest course (stability is important for this repository).
The text was updated successfully, but these errors were encountered: