Source: jacal
Version: 1b9-5
Severity: wishlist
Tags: patch
User: reproducible-bui...@lists.alioth.debian.org
Usertags: timestamps
X-Debbugs-Cc: reproducible-bui...@lists.alioth.debian.org

Hi,

Whilst working on the "reproducible builds" effort [0], we noticed that
jacal could not be built reproducibly.

The attached patch removes timestamps from the build system. Once
applied, jacal can be built reproducibly using our reproducible
toolchain.

 [0] https://wiki.debian.org/ReproducibleBuilds


Regards,

-- 
      ,''`.
     : :'  :     Chris Lamb
     `. `'`      la...@debian.org / chris-lamb.co.uk
       `-
--- a/debian/patches/0005-reproducible-build.patch      1970-01-01 
02:00:00.000000000 +0200
--- b/debian/patches/0005-reproducible-build.patch      2015-12-10 
16:57:11.638553432 +0200
@@ -0,0 +1,19 @@
+--- jacal-1b9.orig/Makefile
++++ jacal-1b9/Makefile
+@@ -139,9 +139,15 @@ w32install:       jacal.html
+ #### Stuff for maintaining JACAL below ####
+ 
+ ver = $(VERSION)
++fmt = '%B %Y'
++ifdef SOURCE_DATE_EPOCH
++jacaldate = $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "+$(fmt)"  2>/dev/null 
|| date -u -r "$(SOURCE_DATE_EPOCH)" "+$(fmt)" 2>/dev/null || date -u "+$(fmt)")
++else
++jacaldate = $(shell date "+$(fmt)")
++endif
+ version.txi:  Makefile
+       echo @set JACALVERSION $(ver) > version.txi
+-      echo @set JACALDATE `date +"%B %Y"` >> version.txi
++      echo @set JACALDATE $(jacaldate) >> version.txi
+ 
+ cfiles = math.scm modeinit.scm debug.scm view.scm toploads.scm
+ sfiles = types.scm func.scm poly.scm elim.scm \
--- a/debian/patches/series     2015-12-10 16:50:38.580149634 +0200
--- b/debian/patches/series     2015-12-10 16:55:50.658056334 +0200
@@ -2,3 +2,4 @@
 0002-man-tweaks.patch
 0003-guile-version.patch
 0004-update-texinfo.patch
+0005-reproducible-build.patch

Reply via email to