Reproducible builds of D compilers

Vladimir Panteleev via Digitalmars-d digitalmars-d at puremagic.com
Sat May 7 09:22:34 PDT 2016


On Friday, 6 May 2016 at 08:07:30 UTC, Pjotr Prins wrote:
> At Dconf we had a discussion on creating reproducible builds of 
> the D compilers. One thing that is required is bootstrapping 
> the build. In GNU Guix we start from a working C compiler which 
> is a reasonable starting point (it could have been LISP instead 
> ;)
>
> For D this means that even if all components of the compilers 
> are written in D we should have a (chain of) compilation steps 
> that can be initiated from a C or C++ compiler. This is still 
> the case today, but I want to highlight this point here so we 
> do not lose that facility.
>
> GNU Guix can be used as a reproducible reference build system 
> where we capture the bootstrapping process nicely and test the 
> builds on the build farm(s) whenever something changes.

Hi,

Digger can already bootstrap D from the last C++ compiler.

It also shares a lot of the same design ideas as Guix (storing 
build results as a hash of code and dependencies). It uses git as 
the store, which allows e.g. storing every buildable commit of D 
ever in about 5 GB.

On Windows, D needs proprietary software (Visual Studio) to 
build. I'm not sure whether that's something possible with Guix. 
What Digger does is that it downloads only the Visual Studio 
components that are necessary, verifies their integrity, and 
unpacks them into a directory (without requiring administrator 
rights) and uses it from there.

https://github.com/CyberShadow/Digger
https://blog.thecybershadow.net/2015/05/05/is-d-slim-yet/



More information about the Digitalmars-d mailing list