From 46e416fa26c41ad62eb9e1771481a3c561700c41 Mon Sep 17 00:00:00 2001 From: Vivien Kraus Date: Fri, 16 Feb 2024 22:44:44 +0100 Subject: Update package with gettext. --- guix/vkraus/packages/email-key-rotation.scm | 87 ++++++++++++++++++++--------- 1 file 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 -- cgit v1.2.3