From a5ed04c903c17da953ce89ce41c785bc605751aa Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 17 Jul 2021 19:11:20 -0700 Subject: doc: reproducible PDF. * Makefile (txr-manpage.pdf): If SOURCE_DATE_EPOCH exists, then run pdf-clobber-stamps.tl. * pdf-clobber-stamps.tl: New file. --- pdf-clobber-stamps.tl | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 pdf-clobber-stamps.tl (limited to 'pdf-clobber-stamps.tl') diff --git a/pdf-clobber-stamps.tl b/pdf-clobber-stamps.tl new file mode 100644 index 00000000..78ea06c6 --- /dev/null +++ b/pdf-clobber-stamps.tl @@ -0,0 +1,22 @@ +(let* ((epoch (or (tointz (getenv "SOURCE_DATE_EPOCH")) 0)) + (pdf (file-get-string "txr-manpage.pdf")) + (start (search-str pdf "....-..-..T..:..:..(Z|[+\-]..:..)/ + (ret `Date>@isotime@(if (ends-with "Z" @1) "Z" "+00:00")`)) + (regsub #/Date\(D:..............[Z+\-]..../ + `Date(D:@gstime`)) + (assert (eql (len xml) orig-len)) + (set [pdf start..end] xml) + (file-put-string "txr-manpage.pdf.temp" pdf) + (rename-path "txr-manpage.pdf.temp" "txr-manpage.pdf")) -- cgit v1.2.3