;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2017, 2018 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2018 ng0 <ng0@n0.is>
+;;; Copyright © 2018 Nikita <nikita@n0.is>
;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
+;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
;;;
;;; This file is part of GNU Guix.
;;;
(define-module (gnu packages language)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages glib)
#:use-module (gnu packages gtk)
+ #:use-module (gnu packages java)
+ #:use-module (gnu packages llvm)
+ #:use-module (gnu packages man)
#:use-module (gnu packages ocr)
#:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages python)
#:use-module (gnu packages perl-check)
#:use-module (gnu packages swig)
+ #:use-module (gnu packages texinfo)
#:use-module (gnu packages web)
+ #:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
#:use-module (guix packages)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
#:use-module ((guix licenses)
#:select
- (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 perl-license zpl2.1))
+ (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1))
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix utils))
+(define-public liblouis
+ (package
+ (name "liblouis")
+ (version "3.14.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/liblouis/liblouis.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0v6w8b9r994mkkbm2gqgd7k5yfmdhgbabh0j1gmn375nyvhy4qqh"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "bin" "doc" "python"))
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-static"
+ "--enable-ucs4")
+ #:phases
+ (modify-phases %standard-phases
+ ;; To install the sub-package "python".
+ (add-after 'install 'install-python-extension
+ (lambda* (#:key outputs #:allow-other-keys)
+ (with-directory-excursion "python"
+ (invoke "python" "setup.py" "install"
+ (string-append "--prefix="
+ (assoc-ref outputs "python"))
+ "--root=/")))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("clang-format" ,clang)
+ ("help2man" ,help2man)
+ ("libtool" ,libtool)
+ ("libyaml" ,libyaml)
+ ("makeinfo" ,texinfo)
+ ("perl" ,perl)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)))
+ (synopsis "Braille translator and back-translator")
+ (description "Liblouis is a braille translator and back-translator named in
+honor of Louis Braille. It features support for computer and literary braille,
+supports contracted and uncontracted translation for many languages and has
+support for hyphenation. New languages can easily be added through tables that
+support a rule- or dictionary based approach. Tools for testing and debugging
+tables are also included. Liblouis also supports math braille, Nemeth and
+Marburg.")
+ (home-page "http://liblouis.org/")
+ (license
+ (list
+ ;; Library
+ lgpl2.1+
+ ;; Tools
+ gpl3+))))
+
+(define-public liblouisutdml
+ (package
+ (name "liblouisutdml")
+ (version "2.8.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri
+ (git-reference
+ (url "https://github.com/liblouis/liblouisutdml.git")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "11xxky3crjm8bidfljzpqaz1m1i1m1yskmdpavf9b4jpf87nzjj2"))
+ (patches
+ (search-patches "liblouisutdml-fix-tests.patch"))))
+ (build-system gnu-build-system)
+ (outputs '("out" "bin" "doc"))
+ (arguments
+ `(#:configure-flags
+ (list
+ "--disable-static")))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("help2man" ,help2man)
+ ("jdk" ,icedtea "jdk")
+ ("libtool" ,libtool)
+ ("makeinfo" ,texinfo)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("libxml2" ,libxml2)))
+ (propagated-inputs
+ `(("liblouis" ,liblouis)
+ ("liblouis:bin" ,liblouis "bin")))
+ (synopsis "Braille transcription services")
+ (description "Liblouisutdml is a library providing complete braille
+transcription services for xml, html and text documents. It translates into
+appropriate braille codes and formats according to its style sheet and the
+specifications in the document.")
+ (home-page "http://liblouis.org/")
+ (license
+ (list
+ ;; Library
+ lgpl3+
+ ;; Tools
+ gpl3+))))
+
+(define-public libstemmer
+ (package
+ (name "libstemmer")
+ (version "2.0.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri "https://snowballstem.org/dist/libstemmer_c.tgz")
+ (sha256
+ (base32 "1z2xvrjsaaypc04lwz7dg8mjm5cq1gzmn0l544pn6y2ll3r7ckh5"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:tests? #f ; No tests exist
+ #:make-flags
+ (list
+ (string-append "CC=" ,(cc-for-target))
+ "CFLAGS=-fPIC")
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let* ((out (assoc-ref outputs "out"))
+ (out-bin (string-append out "/bin"))
+ (out-include (string-append out "/include"))
+ (out-lib (string-append out "/lib")))
+ (install-file "stemwords" out-bin)
+ (install-file "include/libstemmer.h" out-include)
+ (rename-file "libstemmer.o" "libstemmer.a")
+ (install-file "libstemmer.a" out-lib)
+ #t))))))
+ (synopsis "Stemming Library")
+ (description "LibStemmer provides stemming library, supporting several
+languages.")
+ (home-page "https://snowballstem.org/")
+ (license bsd-3)))
+
(define-public perl-lingua-en-findnumber
(package
(name "perl-lingua-en-findnumber")
;; 'tegaki-recognize.in' are missing in the tarball.
(method git-fetch)
(uri (git-reference
- (url "https://github.com/tegaki/tegaki.git")
+ (url "https://github.com/tegaki/tegaki")
(commit commit)))
(sha256
(base32
(modules remove-pre-compiled-files-modules)
(snippet (remove-pre-compiled-files "model"))))
(license lgpl2.1))) ; all files
+
+(define-public tegaki-wagomu-japanese-joyo
+ (package
+ (inherit tegaki-zinnia-japanese)
+ (name "tegaki-wagomu-japanese-joyo")
+ (version "0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (tegaki-release-uri name version "zip"))
+ (sha256
+ (base32
+ "0wk8shpr963zp328g991qs6abpnacq4242003m687z2d6yp7nph2"))
+ (modules remove-pre-compiled-files-modules)
+ (snippet (remove-pre-compiled-files "model"))))
+ (license lgpl2.1))) ; all files
+
+(define-public tegaki-wagomu-simplified-chinese
+ (package
+ (inherit tegaki-zinnia-japanese)
+ (name "tegaki-wagomu-simplified-chinese")
+ (version "0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (tegaki-release-uri name version "zip"))
+ (sha256
+ (base32
+ "0wqprynigqxqxv128i1smh81gxvmjj056d9qpznxa3n9f5ymlbj6"))
+ (modules remove-pre-compiled-files-modules)
+ (snippet (remove-pre-compiled-files "model"))))
+ (license lgpl2.1))) ; all files
+
+;;; Upstream does not provide the source for tegaki-wagomu-traditional-chinese.
+;;; Therefore, we use the source for tegaki-zinnia-traditional-chinese and
+;;; patch the Makefile accordingly.
+(define-public tegaki-wagomu-traditional-chinese
+ (package
+ (inherit tegaki-zinnia-traditional-chinese)
+ (name "tegaki-wagomu-traditional-chinese")
+ (arguments
+ (substitute-keyword-arguments
+ (package-arguments tegaki-zinnia-traditional-chinese)
+ ((#:phases phases '%standard-phases)
+ `(modify-phases ,phases
+ (replace 'configure
+ (lambda args
+ (let ((configure (assq-ref ,phases 'configure)))
+ (apply configure args))
+ (substitute* "Makefile"
+ (("zinnia") "wagomu"))
+ #t))))))
+ (license lgpl2.1))) ; all files
+
+(define-public link-grammar
+ (package
+ (name "link-grammar")
+ (version "5.7.0")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://www.abisource.com/downloads/"
+ "link-grammar/" version
+ "/link-grammar-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0ak1v469k56v3511kxxkxvx1nw6zcxcl0f1kcvc82ffacqbr4y96"))))
+ (build-system gnu-build-system)
+ (home-page "https://www.abisource.com/projects/link-grammar/")
+ (synopsis "Link grammar parser")
+ (description "The Link Grammar Parser is a syntactic parser of English,
+Russian, Arabic and Persian (and other languages as well), based on Link
+Grammar, an original theory of syntax and morphology. Given a sentence, the
+system assigns to it a syntactic structure, which consists of a set of
+labelled links connecting pairs of words. The parser also produces a
+\"constituent\" (HPSG style phrase tree) representation of a sentence (showing
+noun phrases, verb phrases, etc.).")
+ (license bsd-3)))