;;; Copyright © 2013, 2014, 2015, 2017, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015, 2016 Alex Kost <alezost@gmail.com>
;;; Copyright © 2016 John Darrington <jmd@gnu.org>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2019 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Christopher Andersson <christopher@8bits.nu>
;;; Copyright © 2016 Theodoros Foradis <theodoros@foradis.org>
-;;; Copyright © 2016, 2017 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2016, 2017, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2019 Jens Mølgaard <jens@zete.tk>
;;;
;;; This file is part of GNU Guix.
;;;
#:use-module (guix download)
#:use-module (guix build-system gnu)
#:use-module (guix licenses)
+ #:use-module (guix utils)
#:use-module (gnu packages)
#:use-module (gnu packages base)
#:use-module (gnu packages compression)
- #:use-module (gnu packages perl))
+ #:use-module (gnu packages perl)
+ #:use-module (ice-9 match))
(define-public aspell
(package
(sha256
(base32
"1qgn5psfyhbrnap275xjfrzppf5a83fb67gpql0kfqv37al869gm"))
- (patches (search-patches "aspell-default-dict-dir.patch"))))
+ (patches (search-patches "aspell-default-dict-dir.patch"
+ "aspell-gcc-compat.patch"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
+ (add-before 'build 'set-filter-path
+ (lambda* (#:key outputs #:allow-other-keys)
+ ;; Change the default value of 'filter-path' so that filters such
+ ;; as 'tex-filter.so' can be found. By default none of the
+ ;; filters would be found.
+ (let* ((out (assoc-ref outputs "out"))
+ (libdir (string-append out "/lib/aspell-"
+ ,(version-major+minor version))))
+ (substitute* "common/config.cpp"
+ (("\"filter-path(.*)DICT_DIR" _ middle)
+ (string-append "\"filter-path" middle
+ "\"" libdir "\"")))
+ #t)))
(add-after 'install 'wrap-aspell
(lambda* (#:key outputs #:allow-other-keys)
(let ((bin/aspell (string-append (assoc-ref outputs "out")
(define* (aspell-dictionary dict-name full-name
#:key version sha256 (prefix "aspell6-"))
(package
- (name (string-append "aspell-dict-" dict-name))
+ (name (string-append
+ "aspell-dict-"
+ ;; Downcase and replace underscore in package names
+ ;; to follow Guix naming conventions.
+ (string-map (match-lambda
+ (#\_ #\-)
+ (chr chr))
+ (string-downcase dict-name))))
(version version)
(source (origin
(method url-fetch)
(home-page "http://aspell.net/")))
+(define-public aspell-dict-ar
+ (aspell-dictionary "ar" "Arabic"
+ #:version "1.2-0"
+ #:prefix "aspell6-"
+ #:sha256
+ (base32
+ "1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4")))
+
+(define-public aspell-dict-be
+ (aspell-dictionary "be" "Belarusian"
+ #:version "0.01"
+ #:prefix "aspell5-"
+ #:sha256
+ (base32
+ "1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm")))
+
(define-public aspell-dict-ca
(aspell-dictionary "ca" "Catalan"
#:version "2.1.5-1"
(base32
"01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s")))
+(define-public aspell-dict-da
+ (aspell-dictionary "da" "Danish"
+ #:version "1.4.42-1"
+ #:prefix "aspell5-"
+ #:sha256
+ (base32
+ "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp")))
+
(define-public aspell-dict-el
(aspell-dictionary "el" "Greek"
#:version "0.08-0"
(define-public aspell-dict-en
(aspell-dictionary "en" "English"
- #:version "2017.08.24-0"
+ #:version "2018.04.16-0"
#:sha256
(base32
- "0z2vvm1by485cm0sna21cmw6zb771c2l2lnn676zmrwm46q65d89")))
+ "0bxxdzkk9g27plg22y9qzsx9cfjw3aa29w5bmzs561qc9gkp247i")))
(define-public aspell-dict-eo
(aspell-dictionary "eo" "Esperanto"
(base32
"1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd")))
+(define-public aspell-dict-fi
+ (aspell-dictionary "fi" "Finnish"
+ #:version "0.7-0"
+ #:prefix "aspell6-"
+ #:sha256
+ (base32
+ "07d5s08ba4dd89cmwy9icc01i6fjdykxlb9ravmhdrhi8mxz1mzq")))
+
(define-public aspell-dict-fr
(aspell-dictionary "fr" "French"
#:version "0.50-3"
(base32
"13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn")))
+(define-public aspell-dict-hi
+ (aspell-dictionary "hi" "Hindi"
+ #:version "0.02-0"
+ #:prefix "aspell6-"
+ #:sha256
+ (base32
+ "0drs374qz4419zx1lf2k281ydxf2750jk5ailafj1x0ncz27h1ys")))
+
(define-public aspell-dict-it
- (aspell-dictionary "it" "Italian"
- #:version "2.2_20050523-0"
+ (let ((version "2.4-20070901-0")
+ (sha256
+ (base32 "0d6ypii3jblprpibazb6ypady536jz62rwxlss1x1raq07rhvvqn")))
+ (package
+ (inherit (aspell-dictionary "it" "Italian"
+ #:version version
+ #:sha256 sha256))
+
+ ;; The version hosted at <https://ftp.gnu.org/gnu/aspell/dict> is even
+ ;; more out of date.
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "mirror://sourceforge/linguistico/"
+ "Dizionario%20italiano%20per%20Aspell/" version "/"
+ "aspell6-it-" version ".tar.bz2"))
+ (sha256 sha256)))
+ (home-page
+ "http://linguistico.sourceforge.net/pages/dizionario_italiano.html"))))
+
+(define-public aspell-dict-mi
+ (aspell-dictionary "mi" "Maori"
+ #:version "0.50-0"
#:sha256
(base32
- "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v")))
+ "12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy")))
(define-public aspell-dict-nl
(aspell-dictionary "nl" "Dutch"
(base32
"0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4")))
+(define-public aspell-dict-nn
+ (aspell-dictionary "nn" "Norwegian Nynorsk"
+ #:version "0.50.1-1"
+ #:sha256
+ (base32
+ "0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc")))
+
(define-public aspell-dict-pt-br
- (aspell-dictionary "pt-br" "Brazilian Portuguese"
+ (aspell-dictionary "pt_BR" "Brazilian Portuguese"
#:version "20090702-0"
#:prefix "aspell6-"
#:sha256
(base32
"1y09lx9zf2rnp55r16b2vgj953l3538z1vaqgflg9mdvm555bz3p")))
+(define-public aspell-dict-pt-pt
+ (aspell-dictionary "pt_PT" "Portuguese"
+ #:version "20070510-0"
+ #:prefix "aspell6-"
+ #:sha256
+ (base32
+ "1mnr994cwlag6shy8865ky99lymysiln07mbldcncahg90dagdxq")))
+
(define-public aspell-dict-ru
(aspell-dictionary "ru" "Russian"
#:version "0.99f7-1"
(base32
"02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v")))
+(define-public aspell-dict-uk
+ (aspell-dictionary "uk" "Ukrainian"
+ #:version "1.4.0-0"
+ #:sha256
+ (base32
+ "137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m")))
+
\f
;;;
;;; Hunspell packages made from the Aspell word lists.
(string-downcase language))))
(package
(name (string-append "hunspell-dict-" nick))
- (version "2017.08.24")
+ (version "2018.04.16")
(source (origin
(method url-fetch)
(uri (string-append
version ".tar.gz"))
(sha256
(base32
- "1kdhydzg5z5x20ad2j1x5hbdhvy08ljkfdi2v3gbyvghbagxm15s"))))
+ "11lkrnhwrf5mvrrq45k4mads3n9aswgac8dc25ba61c75alxb5rs"))))
(native-inputs
`(("tar" ,tar)
("gzip" ,gzip)
(mkdir "speller/hunspell")
;; XXX: This actually builds all the dictionary variants.
- (zero? (system* "make" "-C" "speller" "hunspell"))))
+ (invoke "make" "-C" "speller" "hunspell")))
(replace 'install
(lambda* (#:key outputs #:allow-other-keys)
(let* ((out (assoc-ref %outputs "out"))