Hi! Pierre Neidhardt <m...@ambrevar.xyz> skribis:
> But as I understand it, all the "configurable part" of the builder is > expose through the #:arguments field. A simple example of this is > python: the python-build-system has an argument which allows the package > to specify whether we use python-2 or python-3. > > In this case, it's trivial to use parameters to influence which compiler > the build system will use. > > For gnu-build-system (with gcc, clang, etc.) we can probably do similar > things already by setting CC. > > The solution to your problem in my opinion is simply to expose just the > right amount of options through #:arguments for all build systems. > Would that be satisfactory to you? I think the issue of tweaking the build system and its implicit inputs must be addressed separately. We first need a good API to do that. When we have it, it’ll be nice and easy to drive it via package parameters. :-) Currently each build system has ad-hoc keyword parameters to customize its implicit inputs: #:python for ‘python-build-system’, #:cmake for ‘cmake-build-system’, #:implicit-inputs? for ‘gnu-build-system’, etc. For each of them, it would be quite easy to provide a procedure that takes a list of implicit inputs and returns a <build-system>. It may not be all that convenient, and perhaps a bit too ad-hoc still. Another option would be to make implicit inputs a field of <build-system>. Needs more thought! Ludo’.