From 201793fd07f602270b2375491a2f5d1d85d4f2b1 Mon Sep 17 00:00:00 2001 From: Brian Cully Date: Tue, 3 Jan 2023 18:48:39 -0500 Subject: gnu: hunspell: Move hunspell and dictionaries to hunspell module. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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. --- gnu/packages/libreoffice.scm | 233 +------------------------------------------ 1 file changed, 1 insertion(+), 232 deletions(-) (limited to 'gnu/packages/libreoffice.scm') 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 @@ (define-module (gnu packages libreoffice) #: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 @@ (define-public libzmf 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 @@ (define-public hyphen (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") -- cgit v1.2.3