On 01-09-2022 11:09, Ludovic Courtès wrote:
I guess this is expected, since a change in a build system might affect
all packages being built with it. But I was wondering if there is a way
to force only building the packages specified on the command line. Does
such a thing exists?
No, it doesn’t exist, because that would be building something
different.  In this case, building everything that depends on
‘ant-build-system.scm’ is unavoidable.

I was wondering what is the most efficient way to quickly iterate on
changes to a build system, without recompiling the whole world for that
build system. How would you do that?
There’s no ideal solution as you’ll have to recompile the world anyway.

It is possible, actually, to test it for a single package first (although without interaction with the command line). In the package you would like to test things with, use '=>' in #:imported-modules:

((this module)
 ((that module) => (local-file "customised-that-module.scm")))

and keep the original that/module.scm unmodified.

At least, something like that is done in 'build-program' in build-aux/build-self.scm -- I haven't tried it out for something like this myself.

Greetings,
Maxime