On Tue, 10 Mar 2026, Ludovic Courtès <[email protected]> wrote:
> Hello!
>
> Janneke Nieuwenhuizen <[email protected]> skribis:
>
>>> And, there’s some good news! I hear fellow hackers have been working on
>>> this thing called BLUE, which could address our tarball problem as well!
>>> That is, once Guix uses BLUE as its build system, ‘make dist’ is
>>> effectively gone,
>>
>> Well, "someone" actually contributed some patches to BLUE *), making sure
>> that `make dist' would produce a reproducible source tarball ootb ;)
>>
>> Possibly BLUE should support a `make git-dist' or something; but as a
>> generic build system you'd probably not want have a hard dependency on
>> git? Dunno...
>
> [...]
>
>> *) https://codeberg.org/lapislazuli/blue/pulls/251
>> https://codeberg.org/lapislazuli/blue/pulls/258
>
> Nice! I’m looking at ‘tarball.scm’ and it’s not entirely clear what
> ‘inputs’ contains: can it be more than just the list of source files
> (checked in)? I would expect no?
Inputs is a list of:
- A source file (string)
- Another buildable (object base dependency tracking; e.g. a template-file)
- An external dependency (e.g. something resolved by pkg-config)
As described in the <buildable> (blue/types/buildable.scm) definition:
(inputs
#:getter %buildable-inputs
#:init-value '()
#:init-keyword #:inputs
#:type (type-or-list-of-type?
(or?
string?
buildable?
dependency?)))
The tarball manifest builder can filter the tarball inputs to only take
strings (source files), and possibly outputs of other buildables (i.e
generated source files, artifacts).
> Put differently, when would one ask BLUE to create a tarball instead of
> using ‘git archive’?
I see some cases:
- The project is not using Git but another VCS.
- Git archive is not flexible enough for what is required
- The wanted compression format is not supported by Git
Otherwise, `git-archive(1)' is flexible enought to do a lots of things.
I leave the choice to the users to decide what they want to introduce as
a build dependency:
- git :
- dependencies: [email protected] [email protected] [email protected]
[email protected] [email protected] [email protected] [email protected]
[email protected] [email protected] [email protected] [email protected]
+ [email protected] [email protected] [email protected] [email protected]
[email protected] [email protected] [email protected]
[email protected] [email protected] [email protected] [email protected]
[email protected]
+ [email protected] [email protected] [email protected] [email protected] [email protected]
[email protected] [email protected]
- tar :
- dependencies:
Thanks,
Olivier
--
Olivier Dion