summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--guix/vkraus/packages/email-key-rotation.scm87
1 files changed, 61 insertions, 26 deletions
diff --git a/guix/vkraus/packages/email-key-rotation.scm b/guix/vkraus/packages/email-key-rotation.scm
index fb3dfde..4cbcc70 100644
--- a/guix/vkraus/packages/email-key-rotation.scm
+++ b/guix/vkraus/packages/email-key-rotation.scm
@@ -4,39 +4,74 @@
#:use-module (guix git-download)
#:use-module (guix build-system guile)
#:use-module (guix gexp)
+ #:use-module (gnu packages gettext)
#:use-module (gnu packages guile)
#:use-module (gnu packages tls)
#:declarative? #t)
(define-public email-key-rotation
(package
- (name "email-key-rotation")
- (version "0.0.6")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://labo.planete-kraus.eu/email-key-rotation.git")
- (commit version)))
- (sha256
- (base32
- "0g186gw4ymwh28ir5j1i58f4cb6ipnp5qfs2i5iwf6gjrxk1k4hx"))))
- (build-system guile-build-system)
- (arguments
- (list
- #:source-directory "guile"
- #:phases
- #~(modify-phases
- %standard-phases
- (add-after
- 'unpack 'set-openssl-binary
- (lambda* (#:key inputs #:allow-other-keys)
- (substitute*
- "guile/email-key-rotation/openssl.scm"
- (("/usr/bin/openssl")
- (search-input-file inputs "bin/openssl"))))))))
+ (name "email-key-rotation")
+ (version "0.0.7")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://labo.planete-kraus.eu/email-key-rotation.git")
+ (commit version)))
+ (sha256
+ (base32
+ "0rq4v80hdnsm6nxls31jj2pvypkap2s2fn646qxwfpraql50mck8"))))
+ (build-system guile-build-system)
+ (outputs (list "out" "updated-po"))
+ (arguments
+ (list
+ #:source-directory "guile"
+ #:phases
+ #~(modify-phases
+ %standard-phases
+ (add-after 'unpack 'set-openssl-binary
+ (lambda* (#:key inputs #:allow-other-keys)
+ (substitute*
+ "guile/email-key-rotation/openssl.scm"
+ (("/usr/bin/openssl")
+ (search-input-file inputs "bin/openssl")))))
+ (add-after 'unpack 'set-localedir
+ (lambda _
+ (substitute* "guile/email-key-rotation.scm"
+ (("/usr/local/share/locale")
+ (string-append #$output "/share/locale")))))
+ (add-after 'build 'generate-pot
+ (lambda _
+ (apply invoke "xgettext"
+ "-o" (string-append "po/" #$name ".pot")
+ "-L" "Scheme"
+ "-kG_"
+ (find-files "guile" "\\.scm$"))))
+ (add-after 'generate-pot 'merge-po
+ (lambda _
+ (mkdir-p #$output:updated-po)
+ (for-each
+ (lambda (po-file)
+ (let ((merged-po-file
+ (string-append #$output:updated-po
+ "/" (basename po-file))))
+ (invoke "msgmerge" "-o" merged-po-file po-file (string-append "po/" #$name ".pot"))))
+ (find-files "po" "\\.po$"))))
+ (add-after 'merge-po 'compile-po
+ (lambda _
+ (for-each
+ (lambda (po-file)
+ (let ((locale (basename po-file ".po")))
+ (let ((output-file
+ (string-append
+ #$output "/share/locale/"
+ locale "/LC_MESSAGES/" #$name ".mo")))
+ (mkdir-p (dirname output-file))
+ (invoke "msgfmt" "-o" output-file po-file))))
+ (find-files #$output:updated-po "\\.po$")))))))
(native-inputs
- (list guile-3.0))
+ (list guile-3.0 gnu-gettext))
(inputs
(list guile-3.0 openssl))
(propagated-inputs