Hello Divya, apologies for the late response.
On 12/28/24 02:55, Divya Ranjan wrote:
While I haven't looked Nicholas' patches carefully, how do you think we
could use Guix's build-system functionality as it stands now for a
proper build system?
Well. I see it the other way around.
Guix is the tool that uses the build system. Therefore, if we want to
use it for development, we need to allow partial builds. Otherwise it
feels like a downgrade.
If the underlying build tool supports partial builds, why would we want
to wrap it with something that doesn't?
What ends up happening is that the developer will only make use of `guix
shell`. I've seen myself many times in that situation. For fast
compilations you may consider using `guix build`, but for something that
requires more time, you will probably want to exclusively recompile what
has been changed.
This is somewhat tangential to creating a Guile-base build tool, but I
think it's something we should address once the build daemon provides
enough flexibility. I'm hopping that the rewrite of the build daemon
will solve my concerns.
Regarding the integration of the Guile based build tool with Guix, I
would like to have a `guix.scm` that replaces the Makefiles + the
dependency management Guix already does.
I can imagine it being a Guile library that you can include in your
project's `guix.scm` and allows to describe the build sequence and
artifact relation.
Skyler Ferris replied on this thread describing his vision for a content
addresses heuristic to determine rebuilds, it think this is a great idea
and we should explore it.
Regards,
Sergio.