;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2016 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2016, 2017, 2018 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2018, 2020 Efraim Flashner <efraim@flashner.co.il>
;;; Copyright © 2016 Sou Bunnbu <iyzsong@gmail.com>
-;;; Copyright © 2017, 2018 Nicolas Goaziou <mail@nicolasgoaziou.fr>
-;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2017, 2018, 2019 Nicolas Goaziou <mail@nicolasgoaziou.fr>
+;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre-Antoine Rouby <contact@parouby.fr>
+;;; Copyright © 2018 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2019 Pierre Langlois <pierre.langlois@gmx.com>
;;;
;;; This file is part of GNU Guix.
;;;
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages dictionaries)
- #:use-module (guix licenses)
+ #:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages base)
#:use-module (gnu packages curl)
#:use-module (gnu packages emacs)
+ #:use-module (gnu packages flex)
#:use-module (gnu packages fribidi)
#:use-module (gnu packages linux)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python)
#:use-module (gnu packages readline)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages compression)
- #:use-module (gnu packages tcl))
+ #:use-module (gnu packages tcl)
+ #:use-module (gnu packages xml))
(define-public vera
(description
"V.E.R.A. (Virtual Entity of Relevant Acronyms) is a list of computing
acronyms distributed as an info document.")
- (license fdl1.3+)))
+ (license license:fdl1.3+)))
(define-public gcide
(package
be used via the GNU Dico program or accessed online at
http://gcide.gnu.org.ua/")
(home-page "http://gcide.gnu.org.ua/")
- (license gpl3+)))
+ (license license:gpl3+)))
(define-public diction
;; Not quite a dictionary, not quite a spell checker either…
(package
(name "diction")
- (version "1.11")
- (source (origin
- (method url-fetch)
- (uri (string-append "mirror://gnu/diction/diction-"
- version ".tar.gz"))
- (sha256
- (base32
- "1xi4l1x1vvzmzmbhpx0ghmfnwwrhabjwizrpyylmy3fzinzz3him"))))
+ (version "1.14")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "http://www.moria.de/~michael/diction/diction-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1z6p5x3l1a00h4v4s33qa82fznzc1jdqdnlc4dnmd9nblnrjy0fs"))))
(build-system gnu-build-system)
(synopsis "Identifies wordy and commonly misused phrases")
(description
body of text. Style instead analyzes surface aspects of a written
work, such as sentence length and other readability measures.")
(home-page "https://www.gnu.org/software/diction/")
- (license gpl3+)))
+ (license license:gpl3+)))
(define-public ding
(package
(delete 'configure)
(delete 'build)
(delete 'check)
- (replace
- 'install
+ (replace 'install
(lambda _
(let ((bindir (string-append
(assoc-ref %outputs "out") "/bin"))
(string-append "DEFLIBDIR=\"" libdir "\"")))
(install-file "ding.desktop" sharedir)
(install-file "ding.png" sharedir)
- (zero?
- (system* "./install.sh"))))))))
+ (invoke "./install.sh")))))))
(synopsis "Dictionary lookup program with a German-English dictionary")
(description "Ding is a dictionary lookup program for the X window system.
It comes with a German-English dictionary with approximately 270,000 entries.")
(home-page "http://www-user.tu-chemnitz.de/~fri/ding/")
- (license gpl2+)))
+ (license license:gpl2+)))
(define-public grammalecte
(package
(name "grammalecte")
- (version "0.6.5")
+ (version "1.7.0")
(source
(origin
(method url-fetch/zipbomb)
- (uri (string-append "https://www.dicollecte.org/grammalecte/zip/"
+ (uri (string-append "https://grammalecte.net/grammalecte/zip/"
"Grammalecte-fr-v" version ".zip"))
(sha256
- (base32
- "1flsahqw2r0cmg0bixpl5w0acricmdh2cf4lf9zr66ydgmjnmv2s"))))
+ (base32 "0wb126mqnq9ns6gzmhzljc6iqywdkpzvr8xny5s3khd10ki4lxl3"))))
(build-system python-build-system)
- (home-page "https://www.dicollecte.org")
- (synopsis "French spelling and grammar checker")
+ (home-page "https://grammalecte.net")
+ (synopsis "French spelling and grammar checker")
(description "Grammalecte is a grammar checker dedicated to the French
language, derived from Lightproof.
The package provides the command line interface, along with a server
and a Python library.")
- (license gpl3+)))
+ (license license:gpl3+)))
(define-public translate-shell
(package
(name "translate-shell")
- (version "0.9.6.8")
+ (version "0.9.6.11")
(source
(origin
- (method url-fetch)
- (uri (string-append "https://github.com/soimort/" name "/archive/v"
- version ".tar.gz"))
+ (method git-fetch)
+ (uri (git-reference
+ (url"https://github.com/soimort/translate-shell.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32
- "17yc2kwk8957wwxyih0jmsai720ai2yqyvmrqrglcncqg6zdbz9w"))
- (file-name (string-append name "-" version ".tar.gz"))))
+ (base32 "137fz3ahzf65hfqcs4k7hhrmfjlhlw7wr3gfsvk88bnyqkyw44sm"))))
(build-system gnu-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
- (delete 'configure) ; no configure phase
+ (delete 'configure) ; no configure script
+ (add-after 'unpack 'remove-unnecessary-file
+ ;; This file gets generated during the build phase.
+ (lambda _
+ (delete-file "translate")
+ #t))
+ (add-after 'install 'wrap-binary
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (bin (string-append out "/bin/trans"))
+ (curl (assoc-ref inputs "curl"))
+ (fribidi (assoc-ref inputs "fribidi"))
+ (rlwrap (assoc-ref inputs "rlwrap")))
+ (wrap-program bin
+ `("PATH" ":" prefix
+ (,(string-append out "/bin:"
+ curl "/bin:"
+ fribidi "/bin:"
+ rlwrap "/bin")))))
+ #t))
(add-after 'install 'emacs-install
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
- (dest (string-append out "/share/emacs/site-lisp/guix.d/"
- ,name "-" ,version))
+ (dest (string-append out "/share/emacs/site-lisp"))
(emacs (string-append (assoc-ref inputs "emacs") "/bin/emacs")))
(install-file "google-translate-mode.el" dest)
(emacs-generate-autoloads ,name dest)))))
(guix build emacs-utils)
(guix build utils))
#:test-target "test"))
- (propagated-inputs
+ (inputs
`(("curl" ,curl)
("fribidi" ,fribidi)
("rlwrap" ,rlwrap)))
translator powered by Google Translate (default), Bing Translator,
Yandex.Translate and Apertium. It gives you easy access to one of these
translation engines from your terminal.")
- (license public-domain)))
+ (license license:public-domain)))
+
+(define-public lttoolbox
+ (package
+ (name "lttoolbox")
+ (version "3.5.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/apertium/lttoolbox/releases/download/v"
+ version "/lttoolbox-" version ".tar.gz"))
+ (sha256
+ (base32 "14yyrkzyqlsrii3v3ggg4dyvwlrcqcqc0aprphz5781a44jsrcwz"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (replace 'bootstrap
+ ;; The included ./autogen.sh unconditionally runs ./configure before
+ ;; its shebangs have been patched.
+ (lambda _
+ (invoke "autoreconf" "-vfi"))))))
+ (inputs
+ `(("libxml2" ,libxml2)))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)))
+ (home-page "http://wiki.apertium.org/wiki/Lttoolbox")
+ (synopsis "Lexical processing toolbox")
+ (description "Lttoolbox is a toolbox for lexical processing, morphological
+analysis and generation of words. Analysis is the process of splitting a
+word (e.g. cats) into its lemma \"cat\" and the grammatical information
+@code{<n><pl>}. Generation is the opposite process.")
+ (license (list license:gpl2 ; main license
+ license:expat)))) ; utf8/*
+
+(define-public apertium
+ (package
+ (name "apertium")
+ (version "3.5.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/apertium/apertium/releases/download/v"
+ version "/apertium-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0lrx58ipx2kzh1pd3xm1viz05dqyrq38jbnj9dnk92c9ckkwkp4h"))
+ (file-name (string-append name "-" version ".tar.gz"))))
+ (build-system gnu-build-system)
+ (inputs
+ `(("libxml2" ,libxml2)
+ ("libxslt" ,libxslt)
+ ("lttoolbox" ,lttoolbox)
+ ("pcre" ,pcre)))
+ (native-inputs
+ `(("apertium-get"
+ ,(origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/apertium/apertium-get")
+ (commit "692d030e68008fc123089cf2446070fe8c6e3a3b")))
+ (sha256
+ (base32
+ "0kgp68azvds7yjwfz57z8sa5094fyk5yr0qxzblrw7bisrrihnav"))))
+ ("flex" ,flex)
+ ("pkg-config" ,pkg-config)
+ ;; python is only required for running the test suite
+ ("python" ,python)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ ;; If apertium-get does not exist in the source tree, the build tries
+ ;; to download it using an svn checkout. To avoid this, copy
+ ;; apertium-get into the source tree.
+ (add-after 'unpack 'unpack-apertium-get
+ (lambda* (#:key inputs #:allow-other-keys)
+ (copy-recursively (assoc-ref inputs "apertium-get")
+ "apertium/apertium-get")
+ #t)))))
+ (home-page "https://www.apertium.org/")
+ (synopsis "Rule based machine translation system")
+ (description "Apertium is a rule based machine translation system
+featuring a shallow-transfer machine translation engine. The design of the
+system makes translations fast (translating tens of thousands of words per
+second on ordinary desktop computers) and, in spite of the errors, reasonably
+intelligible and easily correctable.")
+ (license (list license:gpl2 ; main license
+ license:expat)))) ; utf8/*