unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
blob 78ea06c67cd7c224d8f2f92a5a94eb86bdb457e3 977 bytes (raw)
name: pdf-clobber-stamps.tl 	 # note: path name is non-authoritative(*)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
(let* ((epoch (or (tointz (getenv "SOURCE_DATE_EPOCH")) 0))
       (pdf (file-get-string "txr-manpage.pdf"))
       (start (search-str pdf "<?xpacket begin="))
       (end (if start (search-str pdf "/Creator(" start)))
       (xml (if end [pdf start..end]))
       (orig-len (len xml))
       (isotime (time-string-utc epoch "%FT%T"))
       (gstime (time-string-utc epoch "%Y%m%d%H%M%SZ0000")))
  (unless xml
    (format *stderr* "XML block not found in PDF")
    (exit nil))
  (upd xml
    (regsub #/uuid:........-....-....-....-............/
            "uuid:00000000-0000-0000-0000-000000000000")
    (regsub #/Date>....-..-..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"))

debug log:

solving 78ea06c6 ...
found 78ea06c6 in https://yhetil.org/guix-patches/11fc334731df77688afd107574be9c6c@mail.kylheku.com/

applying [1/1] https://yhetil.org/guix-patches/11fc334731df77688afd107574be9c6c@mail.kylheku.com/
diff --git a/pdf-clobber-stamps.tl b/pdf-clobber-stamps.tl
new file mode 100644
index 00000000..78ea06c6

Checking patch pdf-clobber-stamps.tl...
Applied patch pdf-clobber-stamps.tl cleanly.

index at:
100644 78ea06c67cd7c224d8f2f92a5a94eb86bdb457e3	pdf-clobber-stamps.tl

(*) Git path names are given by the tree(s) the blob belongs to.
    Blobs themselves have no identifier aside from the hash of its contents.^

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).