* gnu/packages/aspell.scm (aspell-compiled-word-list): New procedure.
(define-compiled-word-list-dictionary): New macro.
(hunspell-bdic-en, hunspell-bdic-en-au, hunspell-bdic-en-ca,
hunspell-bdic-en-gb, hunspell-bdic-en-gb-ize, hunspell-bdic-en-us): New
variables.
Change-Id: I4f02295add9803aefe7687b11d2bcbcb21cdd6b1
---
gnu/packages/hunspell.scm | 82 +++++++++++++++++++++++++++++++++++++++
1 file changed, 82 insertions(+)
Toggle diff (99 lines)
diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm
index 7163358260..782292c79f 100644
--- a/gnu/packages/hunspell.scm
+++ b/gnu/packages/hunspell.scm
@@ -32,6 +32,7 @@ (define-module (gnu packages hunspell)
#:use-module (gnu packages compression)
#:use-module (gnu packages m4)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages qt)
#:use-module (gnu packages textutils))
(define-public hunspell
@@ -445,3 +446,84 @@ (define-word-list-dictionary hunspell-dict-en-us
"en_US"
(synopsis "Hunspell dictionary for United States English"))
+(define* (aspell-compiled-word-list
+ language
+ synopsis
+ #:optional
+ (nick (string-map (lambda (chr)
+ (if (char=? #\_ chr)
+ #\-
+ chr))
+ (string-downcase language))))
+ (package
+ (inherit (aspell-word-list language synopsis nick))
+ (name (string-append "hunspell-bdic-" nick))
+ (version "2018.04.16")
+ (native-inputs
+ (list (aspell-word-list language synopsis nick) qtwebengine))
+ (build-system trivial-build-system)
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let ((dictionary
+ (string-append
+ (assoc-ref %build-inputs
+ (string-append "hunspell-dict-" ,nick))
+ "/share/hunspell/" ,language ".dic"))
+ (convert-dict
+ (string-append
+ (assoc-ref %build-inputs "qtwebengine")
+ "/lib/qt6/libexec/qwebengine_convert_dict"))
+ (qtwebengine-dictionaries
+ (string-append %output
+ "/share/qtwebengine_dictionaries"))
+ (bdic (string-append (string-map (lambda (chr)
+ (if (char=? #\_ chr)
+ #\-
+ chr))
+ ,language)
+ ".bdic")))
+ (invoke convert-dict dictionary bdic)
+ (install-file bdic qtwebengine-dictionaries)
+ #t))))
+ (description
+ "This package provides a compiled dictionary for the Hunspell
+spell-checking library.")))
+
+(define-syntax define-compiled-word-list-dictionary
+ (syntax-rules (synopsis)
+ ((_ name language (synopsis text))
+ (define-public name
+ (aspell-compiled-word-list language text)))
+ ((_ name language nick (synopsis text))
+ (define-public name
+ (aspell-compiled-word-list language text nick)))))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en
+ "en"
+ (synopsis "Compiled Hunspell dictionary for English"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-au
+ "en_AU"
+ (synopsis "Compiled Hunspell dictionary for Australian English"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-ca
+ "en_CA"
+ (synopsis "Compiled Hunspell dictionary for Canadian English"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-gb
+ "en_GB-ise" "en-gb"
+ (synopsis
+ "Compiled Hunspell dictionary for British English, with -ise endings"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-gb-ize
+ "en_GB-ize"
+ (synopsis
+ "Compiled Hunspell dictionary for British English, with -ize endings"))
+
+(define-compiled-word-list-dictionary hunspell-bdic-en-us
+ "en_US"
+ (synopsis "Compiled Hunspell dictionary for United States English"))
+
--
2.41.0