Before we used `easy_install` command to handle installation
in one shot, now this is split into two phases:
- buildPhase: python setup.py build
- installPhase: python setup.py install
Each of those commands have the ability to pass extra
parameters through buildPythonPackage parameters as
`setupPyInstallFlags` and `setupPyBuildFlags`.
Phases now correctly execute post/pre hooks.
In configurePhase we inject setuptools dependency before distutils
is imported to apply monkeypatching by setuptools that is needed
for special features to apply.
We don't have to reorder default phases anymore, as test
phase comes after build and that works.
I rewrote offineDistutils into distutils-cfg with a bit cleaner
syntax and ability to specify extraCfg to the config file.
Plone packages are failing and garbas said he will adopt them to
the new functions. The rest of the packages I fixed and these commits
shouldn't break any package (according to my testings) and they introduce
16 new jobs and fix 38 that were broken before.
Add 'keybinder' and 'python-notify' as dependencies. Fixes this:
$ terminator
[...]
Warning: python-keybinder is not installed. This means the hide_window shortcut will be unavailable
[...]
ActivityWatch plugin unavailable: please install python-notify
keybinder is a library for registering global keyboard shortcuts.
keybinder works with GTK-based applications using the X Window System.
https://github.com/engla/keybinder/
The bsddb module is apparently not compatible with db5 (or db48), so switch
back to db44. Fixes the following build error:
$ nix-build -A python26.modules
these derivations will be built:
/nix/store/5zcqmpa4iby0aa342psjph0byiyikm6h-python-bsddb-2.6.8.drv
building path(s) `/nix/store/qpsjyx7nmxhm9zq40674wr67dx8w6ycl-python-bsddb-2.6.8'
building /nix/store/qpsjyx7nmxhm9zq40674wr67dx8w6ycl-python-bsddb-2.6.8
unpacking sources
unpacking source archive /nix/store/2qwc1kd8allnaljm1z360lv9jsf8cfqy-Python-2.6.8.tar.bz2
source root is Python-2.6.8
patching sources
applying patch /nix/store/cfk04ans56xql9l6waqhqzzd60g9rzxi-search-path.patch
patching file setup.py
Hunk #1 succeeded at 424 (offset 145 lines).
applying patch /nix/store/dxscwf37hgq0xafs54h0c8xx47vg6d5g-nix-store-mtime.patch
patching file Python/import.c
Hunk #1 succeeded at 747 (offset -4 lines).
configuring
building
running build_ext
INFO: Can't locate Tcl/Tk libs and/or headers
Traceback (most recent call last):
File "./setup.py", line 2037, in <module>
main()
File "./setup.py", line 2032, in main
'Lib/smtpd.py']
File "/nix/store/xxzwak31qql6vq7v35xmq68zmjpfr5py-python-2.6.8/lib/python2.6/distutils/core.py", line 152, in setup
dist.run_commands()
File "/nix/store/xxzwak31qql6vq7v35xmq68zmjpfr5py-python-2.6.8/lib/python2.6/distutils/dist.py", line 975, in run_commands
self.run_command(cmd)
File "/nix/store/xxzwak31qql6vq7v35xmq68zmjpfr5py-python-2.6.8/lib/python2.6/distutils/dist.py", line 995, in run_command
cmd_obj.run()
File "/nix/store/xxzwak31qql6vq7v35xmq68zmjpfr5py-python-2.6.8/lib/python2.6/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "./setup.py", line 249, in build_extensions
longest = max([len(e.name) for e in self.extensions])
ValueError: max() arg is an empty sequence
builder for `/nix/store/5zcqmpa4iby0aa342psjph0byiyikm6h-python-bsddb-2.6.8.drv' failed with exit code 1
error: build of `/nix/store/5zcqmpa4iby0aa342psjph0byiyikm6h-python-bsddb-2.6.8.drv' failed
Currently, the berkeley databases resuses a lot of the same code for the
expressions of each version. This consolidates all of the build routines
similar to that of the linux kernel.
This patch also adds version 6 of BDB.