ruby: make the build reproducible

ext/io/console/io-console.gemspec was embedding a timestamp which made
the build not reproducible. Gems respect SOURCE_DATE_EPOCH so it's
enough to just delete that line if it exists.

This file has been fixed in
679a941d05 (diff-d8422f096931c58d4463e2489f62a228b0f24f0492950ba88c8c89a0d741cfe6)
And then ruby regularly merges that gem into their own repository. Ruby
master is fixed but none of the ruby releases have been fixed yet.

lib/ruby/gems/2.6.0/specifications/default/io-console-0.4.7.gemspec now
contains:

    s.date = "1980-01-01"
This commit is contained in:
zimbatm 2020-10-25 15:48:37 +01:00
parent 8b98955451
commit 7aee32121a
No known key found for this signature in database
GPG key ID: 71BAF6D40C1D63D7

View file

@ -108,6 +108,9 @@ let
sed -i configure.ac -e '/config.guess/d' sed -i configure.ac -e '/config.guess/d'
cp --remove-destination ${config}/config.guess tool/ cp --remove-destination ${config}/config.guess tool/
cp --remove-destination ${config}/config.sub tool/ cp --remove-destination ${config}/config.sub tool/
# Make the build reproducible for ruby <= 2.7
# See https://github.com/ruby/io-console/commit/679a941d05d869f5e575730f6581c027203b7b26#diff-d8422f096931c58d4463e2489f62a228b0f24f0492950ba88c8c89a0d741cfe6
sed -i ext/io/console/io-console.gemspec -e '/s\.date/d'
''; '';
# Force the revision.h generation. Somehow `revision.tmp` is an empty # Force the revision.h generation. Somehow `revision.tmp` is an empty