diff --git a/quad/quad/checksum.rkt b/quad/quad/checksum.rkt new file mode 100644 index 00000000..dd1510b3 --- /dev/null +++ b/quad/quad/checksum.rkt @@ -0,0 +1,9 @@ +#lang racket/base +(require racket/match pkg/path) +(provide pkg-checksum) + +(define (pkg-checksum [pkg "quad"] #:short [short? #false]) + (match (for/or ([scope (in-list '(user installation shared))]) + (hash-ref (read-pkgs-db scope) pkg #false)) + [(pkg-info _ checksum _) (if short? (substring checksum 0 7) checksum)] + [_ "checksum not found"])) \ No newline at end of file diff --git a/quad/quad/main.rkt b/quad/quad/main.rkt index ee855d25..4efa975a 100644 --- a/quad/quad/main.rkt +++ b/quad/quad/main.rkt @@ -11,7 +11,8 @@ "wrap.rkt" "position.rkt" "param.rkt" -"util.rkt") +"util.rkt" +"checksum.rkt") (provide (all-from-out "atomize.rkt" "quad.rkt" @@ -19,4 +20,5 @@ "wrap.rkt" "position.rkt" "param.rkt" -"util.rkt")) \ No newline at end of file +"util.rkt" +"checksum.rkt")) \ No newline at end of file diff --git a/quad/quadwriter/render.rkt b/quad/quadwriter/render.rkt index 763a2515..b158d26f 100644 --- a/quad/quadwriter/render.rkt +++ b/quad/quadwriter/render.rkt @@ -218,7 +218,7 @@ (define (setup-pdf-metadata! qs pdf) (define kv-dict (cons - (cons 'Creator (format "Racket ~a [Quad library]" (version))) + (cons 'Creator (format "Racket ~a [Quad ~a]" (version) (pkg-checksum "quad" #:short #true))) (for*/list ([(k pdf-k) (in-dict (list (cons :pdf-title 'Title) (cons :pdf-author 'Author) (cons :pdf-subject 'Subject)