zimoun <zimon.touto...@gmail.com> skribis: > Using Guix 58af4c9, the package ’sbcl’ seems not-reproducible. > > [...] > > I do not know if the patches in ’staging’ will fix this. > > Note that this issue does not imply that the build system > ’asdf-build-system/sbcl’ is or will be not reproducible. However, this > issues cuts any Diverse Double Compiling attempt.
IIRC, when compiling, SBCL puts the timestamp of the source file in the compiled file. It's not a problem when just doing basic compilation because the source files' timestamps have been set to "1970-01-01". However, some packages generate some source files at build time, usually containing things like data type sizes fetched from system header in order to use C libraries with FFI. The timestamp of a generated file is the current time, therefore the build is not reproducible. IIRC, SBCL itself is built in 2 stages. First its core is compiled using another Common Lisp implementation (currently clisp in Guix), then the complete SBCL is compiled using the core compiled in stage 1. There is probably also an embedded timestamp issue here (coming for clisp, from SBCL, or both) causing the reproducibility issue. The patches currently in the staging branch don't have any effect on the generation of source files or on the format of the compiled files, so they will not help with this issue. Removing this source file timestamp from compiled files would simplify things. Maybe nothing really depends on it and it would be possible...
signature.asc
Description: PGP signature