summaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorBrian Cully <bjc@spork.org>2023-01-03 18:48:39 -0500
committerRicardo Wurmus <rekado@elephly.net>2023-01-04 12:40:17 +0100
commit201793fd07f602270b2375491a2f5d1d85d4f2b1 (patch)
treef3891e77b8dc6e1af1bf45a1646a44de629c46e7 /gnu/packages
parentd62c65d5ad49d3bf7ae24b31743d96241170faca (diff)
gnu: hunspell: Move hunspell and dictionaries to hunspell module.
Consolidate hunspell and its dictionaries into the (gnu packages hunspell) module instead of having them scattered about. * gnu/packages/aspell.scm (aspell-word-list, define-word-list-dictionary, hunspell-dict-{en, en-au, en-gb, en-gb-ize, en-us}): Remove variables. * gnu/packages/libreoffice.scm (hunspell, dicollecte-french-dictionary, define-french-dictionary, hunspell-dict-fr-{classique, moderne, réforme, toutes-variantes}, hunspell-dict-pl, hunspell-dict-de, hunspell-dict-hu): Remove variables. * gnu/packages/hunspell.scm (hunspell, dicollecte-french-dictionary, define-french-dictionary, hunspell-dict-fr-{classique, moderne, réforme, toutes-variantes}, hunspell-dict-pl, hunspell-dict-de, hunspell-dict-hu, aspell-word-list, define-word-list-dictionary, hunspell-dict-{en, en-au, en-gb, en-gb-ize, en-us}): Add variables. (hunspell-dictionary): Explicitly declare upstream libreoffice version to prevent circular dependency. * gnu/packages/ebook.scm, gnu/packages/enchant.scm, gnu/packages/freedesktop.scm, gnu/packages/gnuzilla.scm, gnu/packages/kde-frameworks.scm, gnu/packages/messaging.scm, gnu/packages/scribus.scm, gnu/packages/task-management.scm, gnu/packages/telegram.scm, gnu/packages/tex.scm, gnu/packages/text-editors.scm, gnu/packages/video.scm: Adjust module imports.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/aspell.scm118
-rw-r--r--gnu/packages/ebook.scm3
-rw-r--r--gnu/packages/enchant.scm2
-rw-r--r--gnu/packages/freedesktop.scm2
-rw-r--r--gnu/packages/gnuzilla.scm2
-rw-r--r--gnu/packages/hunspell.scm362
-rw-r--r--gnu/packages/kde-frameworks.scm2
-rw-r--r--gnu/packages/libreoffice.scm233
-rw-r--r--gnu/packages/messaging.scm2
-rw-r--r--gnu/packages/scribus.scm1
-rw-r--r--gnu/packages/task-management.scm2
-rw-r--r--gnu/packages/telegram.scm2
-rw-r--r--gnu/packages/tex.scm1
-rw-r--r--gnu/packages/text-editors.scm2
-rw-r--r--gnu/packages/video.scm2
15 files changed, 374 insertions, 362 deletions
diff --git a/gnu/packages/aspell.scm b/gnu/packages/aspell.scm
index 76deb7cdce..8978b4e087 100644
--- a/gnu/packages/aspell.scm
+++ b/gnu/packages/aspell.scm
@@ -395,124 +395,6 @@ dictionaries, including personal ones.")
(base32
"0gb8j9iy1acdl11jq76idgc2lbc1rq3w04favn8cyh55d1v8phsk")))
-
-;;;
-;;; Hunspell packages made from the Aspell word lists.
-;;;
-
-(define* (aspell-word-list language synopsis
- #:optional
- (nick (string-map (lambda (chr)
- (if (char=? #\_ chr)
- #\-
- chr))
- (string-downcase language))))
- (package
- (name (string-append "hunspell-dict-" nick))
- (version "2018.04.16")
- (source (origin
- (method url-fetch)
- (uri (string-append
- "mirror://sourceforge/wordlist/SCOWL/"
- version "/scowl-" version ".tar.gz"))
- (sha256
- (base32
- "11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs"))))
- (native-inputs
- (list tar gzip perl aspell))
- (build-system gnu-build-system)
- (arguments
- `(#:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'make-reproducible
- (lambda _
- (substitute* "speller/README_en.txt.sh"
- (("\\bdate\\b") ""))))
- (delete 'configure)
- (delete 'check)
- (replace 'build
- (lambda _
- (substitute* "speller/make-hunspell-dict"
- (("zip -9 .*$")
- "return\n"))
- (mkdir "speller/hunspell")
-
- ;; XXX: This actually builds all the dictionary variants.
- (invoke "make" "-C" "speller" "hunspell")))
- (replace 'install
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref %outputs "out"))
- (hunspell (string-append out "/share/hunspell"))
- (myspell (string-append out "/share/myspell"))
- (doc (string-append out "/share/doc/"
- ,name))
- (dot-dic ,(string-append "speller/" language ".dic")))
- (mkdir-p myspell)
-
- ;; Usually there's only a 'LANGUAGE.dic' file, but for the "en"
- ;; dictionary, there no 'en.dic'. Instead, there's a set of
- ;; 'en*.dic' files, hence the 'find-files' call below.
- (if (file-exists? dot-dic)
- (install-file dot-dic hunspell)
- (for-each (lambda (dic)
- (install-file dic hunspell))
- (find-files "speller"
- ,(string-append language ".*\\.dic$"))))
-
- ;; Install affix files corresponding to installed dictionaries
- (for-each (lambda (dic)
- (install-file (string-append
- "speller/" (basename dic ".dic") ".aff")
- hunspell))
- (find-files hunspell ".*\\.dic$"))
- (symlink hunspell (string-append myspell "/dicts"))
- (for-each (lambda (file)
- (install-file file doc))
- (find-files "."
- "^(Copyright|.*\\.(txt|org|md))$"))
- #t))))))
- (synopsis synopsis)
- (description
- "This package provides a dictionary for the Hunspell spell-checking
-library.")
- (home-page "http://wordlist.aspell.net/")
- (license (non-copyleft "file://Copyright"
- "Word lists come from several sources, all
-under permissive licensing terms. See the 'Copyright' file."))))
-
-(define-syntax define-word-list-dictionary
- (syntax-rules (synopsis)
- ((_ name language (synopsis text))
- (define-public name
- (aspell-word-list language text)))
- ((_ name language nick (synopsis text))
- (define-public name
- (aspell-word-list language text nick)))))
-
-(define-word-list-dictionary hunspell-dict-en
- "en"
- (synopsis "Hunspell dictionary for English"))
-
-(define-word-list-dictionary hunspell-dict-en-au
- "en_AU"
- (synopsis "Hunspell dictionary for Australian English"))
-
-(define-word-list-dictionary hunspell-dict-en-ca
- "en_CA"
- (synopsis "Hunspell dictionary for Canadian English"))
-
-(define-word-list-dictionary hunspell-dict-en-gb
- "en_GB-ise" "en-gb"
- (synopsis "Hunspell dictionary for British English, with -ise endings"))
-
-(define-word-list-dictionary hunspell-dict-en-gb-ize
- "en_GB-ize"
- (synopsis "Hunspell dictionary for British English, with -ize endings"))
-
-(define-word-list-dictionary hunspell-dict-en-us
- "en_US"
- (synopsis "Hunspell dictionary for United States English"))
-
(define-public ispell
(package
(name "ispell")
diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm
index 8dff0f2ec8..b21fcfdc9a 100644
--- a/gnu/packages/ebook.scm
+++ b/gnu/packages/ebook.scm
@@ -56,12 +56,13 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages glib)
#:use-module (gnu packages gstreamer)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages javascript)
#:use-module (gnu packages language)
- #:use-module (gnu packages libusb)
#:use-module (gnu packages libreoffice)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages music)
#:use-module (gnu packages pantheon)
#:use-module (gnu packages pdf)
diff --git a/gnu/packages/enchant.scm b/gnu/packages/enchant.scm
index 1f82b2447e..015af0d096 100644
--- a/gnu/packages/enchant.scm
+++ b/gnu/packages/enchant.scm
@@ -25,8 +25,8 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages check)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
- #:use-module (gnu packages libreoffice)
#:use-module (gnu packages man)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 304d04a711..515d9b9cea 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -94,12 +94,12 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages ibus)
#:use-module (gnu packages image)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages language)
#:use-module (gnu packages libffi)
- #:use-module (gnu packages libreoffice)
#:use-module (gnu packages libunwind)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index b507ec0406..01b6245f8b 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -70,8 +70,8 @@
#:use-module (gnu packages compression)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages fonts)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages libevent)
- #:use-module (gnu packages libreoffice) ;for hunspell
#:use-module (gnu packages image)
#:use-module (gnu packages libffi)
#:use-module (gnu packages pulseaudio)
diff --git a/gnu/packages/hunspell.scm b/gnu/packages/hunspell.scm
index 48df196e17..8bc8c38176 100644
--- a/gnu/packages/hunspell.scm
+++ b/gnu/packages/hunspell.scm
@@ -17,13 +17,253 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages hunspell)
+ #:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix download)
+ #:use-module (guix gexp)
#:use-module (guix git-download)
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (ice-9 match)
- #:use-module (gnu packages libreoffice))
+ #:use-module (gnu packages aspell)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages m4)
+ #:use-module (gnu packages perl)
+ #:use-module (gnu packages textutils))
+
+(define-public hunspell
+ (package
+ (name "hunspell")
+ (version "1.7.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/hunspell/hunspell")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0qxlkd012r45ppd21kldbq9k5ac5nmxz290z6m2kch9l56v768k1"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list autoconf automake libtool))
+ (inputs
+ (list perl))
+ (native-search-paths (list (search-path-specification
+ (variable "DICPATH")
+ (files '("share/hunspell")))))
+ (home-page "https://hunspell.github.io/")
+ (synopsis "Spell checker")
+ (description "Hunspell is a spell checker and morphological analyzer
+library and program designed for languages with rich morphology and complex
+word compounding or character encoding.")
+ ;; Triple license, including "mpl1.1 or later".
+ (license (list license:mpl1.1 license:gpl2+ license:lgpl2.1+))))
+
+(define (dicollecte-french-dictionary variant synopsis)
+ ;; Return a French dictionary package from dicollecte.org, for the given
+ ;; VARIANT.
+ (package
+ (name (match variant
+ ("classique" "hunspell-dict-fr")
+ (_ (string-append "hunspell-dict-fr-" variant))))
+ (version "6.2")
+ (source (origin
+ (uri (string-append
+ "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v"
+ version ".zip"))
+ (method url-fetch)
+ (sha256
+ (base32
+ "139hfrn5p87sl8hqmgkf6sgvnxrk2mm8vd8xsm8sm98qjnwlg0f9"))))
+ (build-system trivial-build-system)
+ (native-inputs (list unzip))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (srfi srfi-26))
+
+ (let* ((out (assoc-ref %outputs "out"))
+ (hunspell (string-append out "/share/hunspell"))
+ (myspell (string-append out "/share/myspell"))
+ (doc (string-append out "/share/doc/"
+ ,name))
+ (unzip (assoc-ref %build-inputs "unzip")))
+ (invoke (string-append unzip "/bin/unzip")
+ (assoc-ref %build-inputs "source"))
+ (for-each (cut install-file <> hunspell)
+ (find-files "."
+ ,(string-append variant
+ "\\.(dic|aff)$")))
+ (mkdir-p myspell)
+ (symlink hunspell (string-append myspell "/dicts"))
+ (for-each (cut install-file <> doc)
+ (find-files "." "\\.(txt|org|md)$"))
+ #t))))
+ (synopsis synopsis)
+ (description
+ "This package provides a dictionary for the Hunspell spell-checking
+library.")
+ (home-page "https://www.dicollecte.org/home.php?prj=fr")
+ (license license:mpl2.0)))
+
+(define-syntax define-french-dictionary
+ (syntax-rules (synopsis)
+ ((_ name variant (synopsis text))
+ (define-public name
+ (dicollecte-french-dictionary variant text)))))
+
+(define-french-dictionary hunspell-dict-fr-classique
+ "classique"
+ ;; TRANSLATORS: In French, this is "Français classique".
+ (synopsis "Hunspell dictionary for ``classic'' French (recommended)"))
+
+(define-french-dictionary hunspell-dict-fr-moderne
+ "moderne"
+ ;; TRANSLATORS: In French, this is "Français moderne".
+ (synopsis "Hunspell dictionary for ``modern'' French"))
+
+(define-french-dictionary hunspell-dict-fr-réforme-1990
+ "reforme1990"
+ (synopsis "Hunspell dictionary for the post @dfn{1990 réforme} French"))
+
+(define-french-dictionary hunspell-dict-fr-toutes-variantes
+ "toutesvariantes"
+ (synopsis "Hunspell dictionary for all variants of French"))
+
+(define-public hunspell-dict-pl
+ (package
+ (name "hunspell-dict-pl")
+ (version "20200327")
+ (source
+ (origin
+ (method url-fetch)
+ ;; Since creators of dictionary host only the latest daily release,
+ ;; we're using version mirrored by Arch Linux, which seems good
+ ;; enough. They're mirroring hunspell-pl releases since 2011.
+ (uri (string-append "https://sources.archlinux.org/other/community/"
+ "hunspell-pl/sjp-myspell-pl-"
+ version ".zip"))
+ (sha256 (base32
+ "14mzf8glxkp2775dcqisb1zv6r8ncm3bvzl46q352rwyl2dg1c59"))))
+
+ (build-system trivial-build-system)
+ (native-inputs (list unzip))
+ (arguments
+ `(#:modules ((guix build utils))
+ #:builder (begin
+ (use-modules (guix build utils)
+ (srfi srfi-26))
+
+ (let* ((out (assoc-ref %outputs "out"))
+ (hunspell (string-append out "/share/hunspell"))
+ (myspell (string-append out "/share/myspell"))
+ (doc (string-append out "/share/doc/"
+ ,name))
+ (unzip (search-input-file %build-inputs
+ "/bin/unzip")))
+ (invoke unzip "-j" "-o" (assoc-ref %build-inputs "source"))
+ (invoke unzip "-j" "-o" "pl_PL.zip")
+ (for-each (cut install-file <> hunspell)
+ (find-files "."
+ ,(string-append "pl_PL"
+ "\\.(dic|aff)$")))
+ (mkdir-p myspell)
+ (symlink hunspell (string-append myspell "/dicts"))
+ (for-each (cut install-file <> doc)
+ (find-files "." "\\.(txt|org|md)$"))
+ #t))))
+ (synopsis "Hunspell dictionary for Polish")
+ (description
+ "This package provides a dictionary for the Hunspell spell-checking
+library.")
+ (home-page "https://sjp.pl/slownik/ort/")
+ (license
+ (list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0))))
+
+(define-public hunspell-dict-de
+ (package
+ (name "hunspell-dict-de")
+ (version "20161207")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://www.j3e.de/ispell/igerman98/dict/"
+ "igerman98-" version ".tar.bz2"))
+ (sha256
+ (base32 "1a3055hp2bc4q4nlg3gmg0147p3a1zlfnc65xiv2v9pyql1nya8p"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:make-flags '("hunspell/de_DE.dic")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install ;no install target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share/hunspell/")))
+ (install-file "hunspell/de_DE.aff" share)
+ (install-file "hunspell/de_DE.dic" share)
+ #t))))
+ #:tests? #f)) ; no tests
+ (native-inputs
+ (list hunspell ispell perl))
+ (synopsis "Hunspell dictionary for German (de_DE)")
+ (description "This package provides a dictionary for the Hunspell
+spell-checking library.")
+ (home-page "https://www.j3e.de/ispell/igerman98/")
+ (license (list license:gpl2 license:gpl3))))
+
+(define-public hunspell-dict-hu
+ (let ((revision "2")
+ (major+minor "1.7"))
+ (package
+ (name "hunspell-dict-hu")
+ (version (string-append major+minor "-" revision))
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/magyarispell/Magyar Ispell/"
+ major+minor
+ "/magyarispell-" version ".tar.gz"))
+ (sha256
+ (base32 "0r22rvqrp5bzgr9sqyap82kibi5z9n6xy5b06si28idqijw7c772"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list #:make-flags
+ #~(list "myspell"
+ "--jobs=1" ;the Makefile is not ready for parallelism
+ (string-append "SH="
+ (search-input-file %build-inputs
+ "/bin/bash"))
+ (string-append "AWK="
+ (search-input-file %build-inputs
+ "/bin/awk")))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (substitute* "config"
+ (("/usr/bin/awk")
+ (which "awk")))))
+ (replace 'install ;no install target
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (share (string-append out "/share/hunspell/")))
+ (install-file "hu_HU.aff" share)
+ (install-file "hu_HU.dic" share)))))
+ #:tests? #f)) ; no tests
+ (native-inputs
+ (list hunspell m4 recode))
+ (synopsis "Hunspell dictionary for Hungarian (hu_HU)")
+ (description "This package provides a dictionary for the Hunspell
+spell-checking library.")
+ (home-page "http://magyarispell.sourceforge.net/")
+ (license (list license:gpl2 license:gpl3)))))
(define* (hunspell-dictionary dict-name full-name #:key synopsis home-page license)
(package
@@ -35,7 +275,7 @@
(#\_ #\-)
(chr chr))
(string-downcase dict-name))))
- (version (package-version libreoffice))
+ (version "7.4.3.2")
(source
(origin
(method git-fetch)
@@ -79,3 +319,121 @@ spell-checking library.")
#:synopsis (synopsis "Hunspell dictionary for Italian")
#:home-page "https://www.libreitalia.org/"
#:license license:gpl3)))
+
+;;;
+;;; Hunspell packages made from the Aspell word lists.
+;;;
+
+(define* (aspell-word-list language synopsis
+ #:optional
+ (nick (string-map (lambda (chr)
+ (if (char=? #\_ chr)
+ #\-
+ chr))
+ (string-downcase language))))
+ (package
+ (name (string-append "hunspell-dict-" nick))
+ (version "2018.04.16")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "mirror://sourceforge/wordlist/SCOWL/"
+ version "/scowl-" version ".tar.gz"))
+ (sha256
+ (base32
+ "11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs"))))
+ (native-inputs
+ (list tar gzip perl aspell))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'make-reproducible
+ (lambda _
+ (substitute* "speller/README_en.txt.sh"
+ (("\\bdate\\b") ""))))
+ (delete 'configure)
+ (delete 'check)
+ (replace 'build
+ (lambda _
+ (substitute* "speller/make-hunspell-dict"
+ (("zip -9 .*$")
+ "return\n"))
+ (mkdir "speller/hunspell")
+
+ ;; XXX: This actually builds all the dictionary variants.
+ (invoke "make" "-C" "speller" "hunspell")))
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref %outputs "out"))
+ (hunspell (string-append out "/share/hunspell"))
+ (myspell (string-append out "/share/myspell"))
+ (doc (string-append out "/share/doc/"
+ ,name))
+ (dot-dic ,(string-append "speller/" language ".dic")))
+ (mkdir-p myspell)
+
+ ;; Usually there's only a 'LANGUAGE.dic' file, but for the "en"
+ ;; dictionary, there no 'en.dic'. Instead, there's a set of
+ ;; 'en*.dic' files, hence the 'find-files' call below.
+ (if (file-exists? dot-dic)
+ (install-file dot-dic hunspell)
+ (for-each (lambda (dic)
+ (install-file dic hunspell))
+ (find-files "speller"
+ ,(string-append language ".*\\.dic$"))))
+
+ ;; Install affix files corresponding to installed dictionaries
+ (for-each (lambda (dic)
+ (install-file (string-append
+ "speller/" (basename dic ".dic") ".aff")
+ hunspell))
+ (find-files hunspell ".*\\.dic$"))
+ (symlink hunspell (string-append myspell "/dicts"))
+ (for-each (lambda (file)
+ (install-file file doc))
+ (find-files "."
+ "^(Copyright|.*\\.(txt|org|md))$"))
+ #t))))))
+ (synopsis synopsis)
+ (description
+ "This package provides a dictionary for the Hunspell spell-checking
+library.")
+ (home-page "http://wordlist.aspell.net/")
+ (license (license:non-copyleft "file://Copyright"
+ "Word lists come from several sources, all
+under permissive licensing terms. See the 'Copyright' file."))))
+
+(define-syntax define-word-list-dictionary
+ (syntax-rules (synopsis)
+ ((_ name language (synopsis text))
+ (define-public name
+ (aspell-word-list language text)))
+ ((_ name language nick (synopsis text))
+ (define-public name
+ (aspell-word-list language text nick)))))
+
+(define-word-list-dictionary hunspell-dict-en
+ "en"
+ (synopsis "Hunspell dictionary for English"))
+
+(define-word-list-dictionary hunspell-dict-en-au
+ "en_AU"
+ (synopsis "Hunspell dictionary for Australian English"))
+
+(define-word-list-dictionary hunspell-dict-en-ca
+ "en_CA"
+ (synopsis "Hunspell dictionary for Canadian English"))
+
+(define-word-list-dictionary hunspell-dict-en-gb
+ "en_GB-ise" "en-gb"
+ (synopsis "Hunspell dictionary for British English, with -ise endings"))
+
+(define-word-list-dictionary hunspell-dict-en-gb-ize
+ "en_GB-ize"
+ (synopsis "Hunspell dictionary for British English, with -ize endings"))
+
+(define-word-list-dictionary hunspell-dict-en-us
+ "en_US"
+ (synopsis "Hunspell dictionary for United States English"))
+
diff --git a/gnu/packages/kde-frameworks.scm b/gnu/packages/kde-frameworks.scm
index aaa5a82d5f..fb578ee7e1 100644
--- a/gnu/packages/kde-frameworks.scm
+++ b/gnu/packages/kde-frameworks.scm
@@ -64,13 +64,13 @@
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages image)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages kerberos)
#:use-module (gnu packages kde)
#:use-module (gnu packages kde-plasma)
#:use-module (gnu packages libcanberra)
- #:use-module (gnu packages libreoffice)
#:use-module (gnu packages linux)
#:use-module (gnu packages mp3)
#:use-module (gnu packages openbox)
diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm
index 2103aec5a0..b959470d8f 100644
--- a/gnu/packages/libreoffice.scm
+++ b/gnu/packages/libreoffice.scm
@@ -70,6 +70,7 @@
#:use-module (gnu packages graphics)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages java)
@@ -792,191 +793,6 @@ Callisto/Draw documents. Currently it only understands documents created by
Zoner Draw version 4 and 5.")
(license license:mpl2.0)))
-(define-public hunspell
- (package
- (name "hunspell")
- (version "1.7.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/hunspell/hunspell")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "0qxlkd012r45ppd21kldbq9k5ac5nmxz290z6m2kch9l56v768k1"))))
- (build-system gnu-build-system)
- (native-inputs
- (list autoconf automake libtool))
- (inputs
- (list perl))
- (native-search-paths (list (search-path-specification
- (variable "DICPATH")
- (files '("share/hunspell")))))
- (home-page "https://hunspell.github.io/")
- (synopsis "Spell checker")
- (description "Hunspell is a spell checker and morphological analyzer
-library and program designed for languages with rich morphology and complex
-word compounding or character encoding.")
- ;; Triple license, including "mpl1.1 or later".
- (license (list license:mpl1.1 license:gpl2+ license:lgpl2.1+))))
-
-(define (dicollecte-french-dictionary variant synopsis)
- ;; Return a French dictionary package from dicollecte.org, for the given
- ;; VARIANT.
- (package
- (name (match variant
- ("classique" "hunspell-dict-fr")
- (_ (string-append "hunspell-dict-fr-" variant))))
- (version "6.2")
- (source (origin
- (uri (string-append
- "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v"
- version ".zip"))
- (method url-fetch)
- (sha256
- (base32
- "139hfrn5p87sl8hqmgkf6sgvnxrk2mm8vd8xsm8sm98qjnwlg0f9"))))
- (build-system trivial-build-system)
- (native-inputs (list unzip))
- (arguments
- `(#:modules ((guix build utils))
- #:builder (begin
- (use-modules (guix build utils)
- (srfi srfi-26))
-
- (let* ((out (assoc-ref %outputs "out"))
- (hunspell (string-append out "/share/hunspell"))
- (myspell (string-append out "/share/myspell"))
- (doc (string-append out "/share/doc/"
- ,name))
- (unzip (assoc-ref %build-inputs "unzip")))
- (invoke (string-append unzip "/bin/unzip")
- (assoc-ref %build-inputs "source"))
- (for-each (cut install-file <> hunspell)
- (find-files "."
- ,(string-append variant
- "\\.(dic|aff)$")))
- (mkdir-p myspell)
- (symlink hunspell (string-append myspell "/dicts"))
- (for-each (cut install-file <> doc)
- (find-files "." "\\.(txt|org|md)$"))
- #t))))
- (synopsis synopsis)
- (description
- "This package provides a dictionary for the Hunspell spell-checking
-library.")
- (home-page "https://www.dicollecte.org/home.php?prj=fr")
- (license license:mpl2.0)))
-
-(define-syntax define-french-dictionary
- (syntax-rules (synopsis)
- ((_ name variant (synopsis text))
- (define-public name
- (dicollecte-french-dictionary variant text)))))
-
-(define-french-dictionary hunspell-dict-fr-classique
- "classique"
- ;; TRANSLATORS: In French, this is "Français classique".
- (synopsis "Hunspell dictionary for ``classic'' French (recommended)"))
-
-(define-french-dictionary hunspell-dict-fr-moderne
- "moderne"
- ;; TRANSLATORS: In French, this is "Français moderne".
- (synopsis "Hunspell dictionary for ``modern'' French"))
-
-(define-french-dictionary hunspell-dict-fr-réforme-1990
- "reforme1990"
- (synopsis "Hunspell dictionary for the post @dfn{1990 réforme} French"))
-
-(define-french-dictionary hunspell-dict-fr-toutes-variantes
- "toutesvariantes"
- (synopsis "Hunspell dictionary for all variants of French"))
-
-(define-public hunspell-dict-pl
- (package
- (name "hunspell-dict-pl")
- (version "20200327")
- (source
- (origin
- (method url-fetch)
- ;; Since creators of dictionary host only the latest daily release,
- ;; we're using version mirrored by Arch Linux, which seems good
- ;; enough. They're mirroring hunspell-pl releases since 2011.
- (uri (string-append "https://sources.archlinux.org/other/community/"
- "hunspell-pl/sjp-myspell-pl-"
- version ".zip"))
- (sha256 (base32
- "14mzf8glxkp2775dcqisb1zv6r8ncm3bvzl46q352rwyl2dg1c59"))))
-
- (build-system trivial-build-system)
- (native-inputs (list unzip))
- (arguments
- `(#:modules ((guix build utils))
- #:builder (begin
- (use-modules (guix build utils)
- (srfi srfi-26))
-
- (let* ((out (assoc-ref %outputs "out"))
- (hunspell (string-append out "/share/hunspell"))
- (myspell (string-append out "/share/myspell"))
- (doc (string-append out "/share/doc/"
- ,name))
- (unzip (search-input-file %build-inputs
- "/bin/unzip")))
- (invoke unzip "-j" "-o" (assoc-ref %build-inputs "source"))
- (invoke unzip "-j" "-o" "pl_PL.zip")
- (for-each (cut install-file <> hunspell)
- (find-files "."
- ,(string-append "pl_PL"
- "\\.(dic|aff)$")))
- (mkdir-p myspell)
- (symlink hunspell (string-append myspell "/dicts"))
- (for-each (cut install-file <> doc)
- (find-files "." "\\.(txt|org|md)$"))
- #t))))
- (synopsis "Hunspell dictionary for Polish")
- (description
- "This package provides a dictionary for the Hunspell spell-checking
-library.")
- (home-page "https://sjp.pl/slownik/ort/")
- (license
- (list license:gpl2 license:mpl1.1 license:cc-by4.0 license:lgpl2.1 license:asl2.0))))
-
-(define-public hunspell-dict-de
- (package
- (name "hunspell-dict-de")
- (version "20161207")
- (source
- (origin
- (method url-fetch)
- (uri (string-append "https://www.j3e.de/ispell/igerman98/dict/"
- "igerman98-" version ".tar.bz2"))
- (sha256
- (base32 "1a3055hp2bc4q4nlg3gmg0147p3a1zlfnc65xiv2v9pyql1nya8p"))))
- (build-system gnu-build-system)
- (arguments
- `(#:make-flags '("hunspell/de_DE.dic")
- #:phases
- (modify-phases %standard-phases
- (delete 'configure)
- (replace 'install ;no install target
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (share (string-append out "/share/hunspell/")))
- (install-file "hunspell/de_DE.aff" share)
- (install-file "hunspell/de_DE.dic" share)
- #t))))
- #:tests? #f)) ; no tests
- (native-inputs
- (list hunspell ispell perl))
- (synopsis "Hunspell dictionary for German (de_DE)")
- (description "This package provides a dictionary for the Hunspell
-spell-checking library.")
- (home-page "https://www.j3e.de/ispell/igerman98/")
- (license (list license:gpl2 license:gpl3))))
-
(define-public hyphen
(package
(name "hyphen")
@@ -1000,53 +816,6 @@ patterns, which are pre-processed by a perl script.")
(license
(list license:mpl1.1 license:mpl2.0 license:gpl2+ license:lgpl2.1+))))
-(define-public hunspell-dict-hu
- (let ((revision "2")
- (major+minor "1.7"))
- (package
- (name "hunspell-dict-hu")
- (version (string-append major+minor "-" revision))
- (source
- (origin
- (method url-fetch)
- (uri (string-append "mirror://sourceforge/magyarispell/Magyar Ispell/"
- major+minor
- "/magyarispell-" version ".tar.gz"))
- (sha256
- (base32 "0r22rvqrp5bzgr9sqyap82kibi5z9n6xy5b06si28idqijw7c772"))))
- (build-system gnu-build-system)
- (arguments
- (list #:make-flags
- #~(list "myspell"
- "--jobs=1" ;the Makefile is not ready for parallelism
- (string-append "SH="
- (search-input-file %build-inputs
- "/bin/bash"))
- (string-append "AWK="
- (search-input-file %build-inputs
- "/bin/awk")))
- #:phases
- #~(modify-phases %standard-phases
- (replace 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (substitute* "config"
- (("/usr/bin/awk")
- (which "awk")))))
- (replace 'install ;no install target
- (lambda* (#:key outputs #:allow-other-keys)
- (let* ((out (assoc-ref outputs "out"))
- (share (string-append out "/share/hunspell/")))
- (install-file "hu_HU.aff" share)
- (install-file "hu_HU.dic" share)))))
- #:tests? #f)) ; no tests
- (native-inputs
- (list hunspell m4 recode))
- (synopsis "Hunspell dictionary for Hungarian (hu_HU)")
- (description "This package provides a dictionary for the Hunspell
-spell-checking library.")
- (home-page "http://magyarispell.sourceforge.net/")
- (license (list license:gpl2 license:gpl3)))))
-
(define-public mythes
(package
(name "mythes")
diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm
index 7b693a07fa..80a058f12e 100644
--- a/gnu/packages/messaging.scm
+++ b/gnu/packages/messaging.scm
@@ -88,6 +88,7 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages kde)
@@ -98,7 +99,6 @@
#:use-module (gnu packages libevent)
#:use-module (gnu packages libffi)
#:use-module (gnu packages libidn)
- #:use-module (gnu packages libreoffice)
#:use-module (gnu packages linux)
#:use-module (gnu packages logging)
#:use-module (gnu packages lua)
diff --git a/gnu/packages/scribus.scm b/gnu/packages/scribus.scm
index a1d81f5697..de598ac2f4 100644
--- a/gnu/packages/scribus.scm
+++ b/gnu/packages/scribus.scm
@@ -34,6 +34,7 @@
#:use-module (gnu packages fontutils)
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
diff --git a/gnu/packages/task-management.scm b/gnu/packages/task-management.scm
index cb5cc6ff0d..c4f7f99049 100644
--- a/gnu/packages/task-management.scm
+++ b/gnu/packages/task-management.scm
@@ -36,7 +36,7 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
- #:use-module (gnu packages libreoffice) ;for hunspell
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages linux)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
diff --git a/gnu/packages/telegram.scm b/gnu/packages/telegram.scm
index 82c9227ba8..14e0602d93 100644
--- a/gnu/packages/telegram.scm
+++ b/gnu/packages/telegram.scm
@@ -38,12 +38,12 @@
#:use-module (gnu packages gnome)
#:use-module (gnu packages gnupg)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages image)
#:use-module (gnu packages jemalloc)
#:use-module (gnu packages kde-frameworks)
#:use-module (gnu packages language)
#:use-module (gnu packages libevent)
- #:use-module (gnu packages libreoffice)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lxqt)
diff --git a/gnu/packages/tex.scm b/gnu/packages/tex.scm
index a600bcae58..13bc000918 100644
--- a/gnu/packages/tex.scm
+++ b/gnu/packages/tex.scm
@@ -69,6 +69,7 @@
#:use-module (gnu packages ghostscript)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages libreoffice)
diff --git a/gnu/packages/text-editors.scm b/gnu/packages/text-editors.scm
index 854a424b8a..0094959cbb 100644
--- a/gnu/packages/text-editors.scm
+++ b/gnu/packages/text-editors.scm
@@ -72,10 +72,10 @@
#:use-module (gnu packages gtk)
#:use-module (gnu packages guile)
#:use-module (gnu packages haskell-xyz)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages icu4c)
#:use-module (gnu packages image)
#:use-module (gnu packages libbsd)
- #:use-module (gnu packages libreoffice)
#:use-module (gnu packages llvm)
#:use-module (gnu packages lua)
#:use-module (gnu packages ncurses)
diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm
index c4b0024d06..e934379ff4 100644
--- a/gnu/packages/video.scm
+++ b/gnu/packages/video.scm
@@ -145,11 +145,11 @@
#:use-module (gnu packages gstreamer)
#:use-module (gnu packages gtk)
#:use-module (gnu packages haskell-xyz)
+ #:use-module (gnu packages hunspell)
#:use-module (gnu packages image)
#:use-module (gnu packages imagemagick)
#:use-module (gnu packages iso-codes)
#:use-module (gnu packages libidn)
- #:use-module (gnu packages libreoffice)
#:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages llvm)