On Thu, Mar 27, 2014 at 2:23 PM, Nick Coghlan firstname.lastname@example.org wrote:
On 28 Mar 2014 05:42, "Daniel Holth" email@example.com wrote:
I became convinced that build was an inherently arbitrary-code process, and not something to be universally handled by a declarative system,
It wasn't an accident that last years PyCon panel was subtitled "setup.py *install* must die" :)
As others have suggested, declarative build will never be more than an 80% solution, and then beyond that, it should be a question of plumbing to invoke the project's own build system (and ideally that plumbing will be per build system, not per project).
Agreed -- I have been poking at this a bit, and trying to make gattai work for me:
(It's a by and for python build system that essentially invokes the native build systems : make, setup.py, nmake, etc... But that's not really the point). the point is that I hit a wall pretty quickly with its declarative approach (JSON files). I find I can't do what I need to do with straight declaration (and I'm hacking gattai to support that)
However, for the most part, all I need to be able to do is run arbitrary code to set up the declarations. The stuff that's been talked about: finding the right libraries to link to, that sort of thing.
I actually think that aspect of the setup.py approach works pretty well, even though it does sometimes get kind of messy.