Openjade can generate timestamps from DSSSL stylesheets.

Solution

Use SOURCE_DATE_EPOCH via openjade -V instead of using "time" in the stylesheet

The example below is from plr: https://anonscm.debian.org/cgit/pkg-postgresql/plr.git/commit/?id=d239ca1ac842a8b0376e074e6e8078e7ca5db848

Example

: ${SOURCE_DATE_EPOCH:=$(date +%s)}
 
openjade -wall -wno-unused-param -wno-empty -wfully-tagged \
  -c ${DOCBOOKSTYLE}/catalog \
  -V "(define source-date-epoch $SOURCE_DATE_EPOCH)" \
  -d stylesheet.dsl -t sgml -i output-html -V html-index plr.sgml

--- a/doc/stylesheet.dsl
+++ b/doc/stylesheet.dsl
@@ -221,7 +221,7 @@
 ;; Add character encoding and time of creation into HTML header
 (define %html-header-tags%
   (list (list "META" '("HTTP-EQUIV" "Content-Type") '("CONTENT" "text/html; charset=ISO-8859-1"))
-        (list "META" '("NAME" "creation") (list "CONTENT" (time->string (time) #t)))))
+        (list "META" '("NAME" "creation") (list "CONTENT" (time->string source-date-epoch #t)))))