gnu: Add hime.
[jackhill/guix/guix.git] / gnu / packages / language.scm
CommitLineData
fc436dba 1;;; GNU Guix --- Functional package management for GNU
a2190ccc 2;;; Copyright © 2015, 2016 Eric Bavier <bavier@member.fsf.org>
b4fb61f6 3;;; Copyright © 2017, 2018, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
3c986a7d 4;;; Copyright © 2018 Nikita <nikita@n0.is>
410387ad 5;;; Copyright © 2019 Alex Vong <alexvong1995@gmail.com>
1f6f0b6b 6;;; Copyright © 2020 Ricardo Wurmus <rekado@elephly.net>
fa76fb63 7;;; Copyright © 2020 Julien Lepiller <julien@lepiller.eu>
fc436dba
EB
8;;;
9;;; This file is part of GNU Guix.
10;;;
11;;; GNU Guix is free software; you can redistribute it and/or modify it
12;;; under the terms of the GNU General Public License as published by
13;;; the Free Software Foundation; either version 3 of the License, or (at
14;;; your option) any later version.
15;;;
16;;; GNU Guix is distributed in the hope that it will be useful, but
17;;; WITHOUT ANY WARRANTY; without even the implied warranty of
18;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19;;; GNU General Public License for more details.
20;;;
21;;; You should have received a copy of the GNU General Public License
22;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
23
24(define-module (gnu packages language)
25 #:use-module (gnu packages)
677cb21b 26 #:use-module (gnu packages anthy)
899784fb 27 #:use-module (gnu packages autotools)
fa76fb63 28 #:use-module (gnu packages audio)
677cb21b
RG
29 #:use-module (gnu packages freedesktop)
30 #:use-module (gnu packages gettext)
410387ad 31 #:use-module (gnu packages glib)
58ac9289 32 #:use-module (gnu packages gtk)
8205fe44 33 #:use-module (gnu packages java)
fa76fb63 34 #:use-module (gnu packages linux)
899784fb
RG
35 #:use-module (gnu packages llvm)
36 #:use-module (gnu packages man)
823b27d9 37 #:use-module (gnu packages ncurses)
c2810523 38 #:use-module (gnu packages ocr)
fc436dba 39 #:use-module (gnu packages perl)
410387ad 40 #:use-module (gnu packages pkg-config)
fa76fb63 41 #:use-module (gnu packages pulseaudio)
410387ad 42 #:use-module (gnu packages python)
5ccde207 43 #:use-module (gnu packages perl-check)
677cb21b 44 #:use-module (gnu packages qt)
823b27d9 45 #:use-module (gnu packages sqlite)
410387ad 46 #:use-module (gnu packages swig)
899784fb 47 #:use-module (gnu packages texinfo)
d7de0883 48 #:use-module (gnu packages web)
8205fe44 49 #:use-module (gnu packages xml)
58ac9289 50 #:use-module (gnu packages xorg)
fc436dba 51 #:use-module (guix packages)
677cb21b
RG
52 #:use-module (guix build-system cmake)
53 #:use-module (guix build-system glib-or-gtk)
3ed30b88 54 #:use-module (guix build-system gnu)
fc436dba 55 #:use-module (guix build-system perl)
410387ad 56 #:use-module (guix build-system python)
677cb21b 57 #:use-module (guix build-system qt)
c2810523 58 #:use-module ((guix licenses)
e4f72a58 59 #:select
677cb21b 60 (bsd-3 gpl2 gpl2+ gpl3 gpl3+ lgpl2.1 lgpl2.1+ lgpl3+ perl-license zpl2.1 fdl1.2+))
c2810523 61 #:use-module (guix download)
e4f72a58 62 #:use-module (guix git-download)
c2810523 63 #:use-module (guix utils))
fc436dba 64
677cb21b
RG
65(define-public hime
66 (package
67 (name "hime")
68 (version "0.9.11")
69 (source
70 (origin
71 (method git-fetch)
72 (uri
73 (git-reference
74 (url "https://github.com/hime-ime/hime.git")
75 (commit
76 (string-append "v" version))))
77 (file-name
78 (git-file-name name version))
79 (sha256
80 (base32 "1wn0ici78x5qh6hvv50bf76ld7ds42hzzl4l5qz34hp8wyvrwakw"))))
81 (build-system glib-or-gtk-build-system)
82 (arguments
83 `(#:tests? #f ; No target
84 #:imported-modules
85 (,@%glib-or-gtk-build-system-modules
86 (guix build cmake-build-system)
87 (guix build qt-build-system))
88 #:modules
89 ((guix build glib-or-gtk-build-system)
90 ((guix build qt-build-system)
91 #:prefix qt:)
92 (guix build utils))
93 #:configure-flags
94 (list
95 ;; FIXME
96 ;; error: unknown type name ‘GtkStatusIcon’
97 "--disable-system-tray")
98 #:phases
99 (modify-phases %standard-phases
100 (add-after 'unpack 'patch-std
101 (lambda _
102 (substitute* "configure"
103 (("gnu17")
104 "gnu11")
105 (("gnu++17")
106 "gnu++11"))
107 #t))
108 (add-after 'install 'qt-wrap
109 (assoc-ref qt:%standard-phases 'qt-wrap)))))
110 (native-inputs
111 `(("gettext" ,gettext-minimal)
112 ("pkg-config" ,pkg-config)
113 ("whereis" ,util-linux)))
114 (inputs
115 `(("anthy" ,anthy)
116 ("appindicator" ,libappindicator)
117 ("chewing" ,libchewing)
118 ("gtk+" ,gtk+)
119 ("qtbase" ,qtbase)
120 ("xtst" ,libxtst)))
121 (synopsis "HIME Input Method Editor")
122 (description "Hime is an extremely easy-to-use input method framework. It
123is lightweight, stable, powerful and supports many commonly used input methods,
124including Cangjie, Zhuyin, Dayi, Ranked, Shrimp, Greek, Anthy, Korean, Latin,
125Random Cage Fighting Birds, Cool Music etc.")
126 (home-page "http://hime-ime.github.io/")
127 (license
128 (list
129 gpl2+
130 lgpl2.1+
131 ;; Documentation
132 fdl1.2+))))
133
823b27d9
RG
134(define-public libchewing
135 (package
136 (name "libchewing")
137 (version "0.5.1")
138 (source
139 (origin
140 (method git-fetch)
141 (uri
142 (git-reference
143 (url "https://github.com/chewing/libchewing.git")
144 (commit
145 (string-append "v" version))))
146 (file-name
147 (git-file-name name version))
148 (sha256
149 (base32 "04d09w6xdd08v6laj9y4qmqsijw5i2jvshcilhh4vg6cfnfgl2my"))))
150 (build-system gnu-build-system)
151 (arguments
152 `(#:phases
153 (modify-phases %standard-phases
154 (add-after 'unpack 'disable-failing-tests
155 (lambda _
156 (substitute* "test/Makefile.am"
157 ((" test-bopomofo ")
158 "")
159 ((" test-config ")
160 "")
161 ((" test-reset ")
162 "")
163 ((" test-symbol ")
164 "")
165 ((" test-keyboardless ")
166 "")
167 ((" test-special-symbol ")
168 "")
169 ((" test-keyboard ")
170 "")
171 ((" test-regression ")
172 "")
173 ((" test-userphrase ")
174 ""))
175 #t)))))
176 (native-inputs
177 `(("autoconf" ,autoconf)
178 ("automake" ,automake)
179 ("libtool" ,libtool)
180 ("perl" ,perl)
181 ("pkg-config" ,pkg-config)
182 ("python" ,python-wrapper)
183 ("texinfo" ,texinfo)))
184 (inputs
185 `(("ncurses" ,ncurses)
186 ("sqlite" ,sqlite)))
187 (synopsis "Chinese phonetic input method")
188 (description "Chewing is an intelligent phonetic (Zhuyin/Bopomofo) input
189method, one of the most popular choices for Traditional Chinese users.")
190 (home-page "http://chewing.im/")
191 (license lgpl2.1+)))
192
899784fb
RG
193(define-public liblouis
194 (package
195 (name "liblouis")
b4fb61f6 196 (version "3.15.0")
899784fb
RG
197 (source
198 (origin
199 (method git-fetch)
200 (uri
201 (git-reference
8ed4c468 202 (url "https://github.com/liblouis/liblouis")
899784fb
RG
203 (commit (string-append "v" version))))
204 (file-name (git-file-name name version))
205 (sha256
b4fb61f6 206 (base32 "1ljy5xsy7vf2r0ix0d7bqcr6qvr6897f8madsx9zlm1mrj31n5px"))))
899784fb
RG
207 (build-system gnu-build-system)
208 (outputs '("out" "bin" "doc" "python"))
209 (arguments
210 `(#:configure-flags
211 (list
212 "--disable-static"
213 "--enable-ucs4")
214 #:phases
215 (modify-phases %standard-phases
899784fb
RG
216 (add-after 'install 'install-python-extension
217 (lambda* (#:key outputs #:allow-other-keys)
218 (with-directory-excursion "python"
219 (invoke "python" "setup.py" "install"
220 (string-append "--prefix="
221 (assoc-ref outputs "python"))
222 "--root=/")))))))
223 (native-inputs
224 `(("autoconf" ,autoconf)
225 ("automake" ,automake)
226 ("clang-format" ,clang)
227 ("help2man" ,help2man)
228 ("libtool" ,libtool)
229 ("libyaml" ,libyaml)
230 ("makeinfo" ,texinfo)
231 ("perl" ,perl)
232 ("pkg-config" ,pkg-config)
233 ("python" ,python-wrapper)))
234 (synopsis "Braille translator and back-translator")
235 (description "Liblouis is a braille translator and back-translator named in
236honor of Louis Braille. It features support for computer and literary braille,
237supports contracted and uncontracted translation for many languages and has
238support for hyphenation. New languages can easily be added through tables that
239support a rule- or dictionary based approach. Tools for testing and debugging
240tables are also included. Liblouis also supports math braille, Nemeth and
241Marburg.")
242 (home-page "http://liblouis.org/")
b4fb61f6
TGR
243 (license (list lgpl2.1+ ; library
244 gpl3+)))) ; tools
899784fb 245
8205fe44
RG
246(define-public liblouisutdml
247 (package
248 (name "liblouisutdml")
433b391f 249 (version "2.9.0")
8205fe44
RG
250 (source
251 (origin
252 (method git-fetch)
253 (uri
254 (git-reference
8ed4c468 255 (url "https://github.com/liblouis/liblouisutdml")
8205fe44
RG
256 (commit (string-append "v" version))))
257 (file-name (git-file-name name version))
258 (sha256
433b391f 259 (base32 "0c32cfcfp0lyfd655c9ihhh3p7lhrb9q3xbll7q5dw4km86gaq6w"))))
8205fe44
RG
260 (build-system gnu-build-system)
261 (outputs '("out" "bin" "doc"))
262 (arguments
263 `(#:configure-flags
433b391f 264 (list "--disable-static")))
8205fe44
RG
265 (native-inputs
266 `(("autoconf" ,autoconf)
267 ("automake" ,automake)
268 ("help2man" ,help2man)
269 ("jdk" ,icedtea "jdk")
270 ("libtool" ,libtool)
271 ("makeinfo" ,texinfo)
272 ("pkg-config" ,pkg-config)))
273 (inputs
274 `(("libxml2" ,libxml2)))
275 (propagated-inputs
276 `(("liblouis" ,liblouis)
277 ("liblouis:bin" ,liblouis "bin")))
278 (synopsis "Braille transcription services")
279 (description "Liblouisutdml is a library providing complete braille
280transcription services for xml, html and text documents. It translates into
281appropriate braille codes and formats according to its style sheet and the
282specifications in the document.")
283 (home-page "http://liblouis.org/")
433b391f
TGR
284 (license (list lgpl3+ ; library
285 gpl3+)))) ; tools
8205fe44 286
a29eb739
RG
287(define-public libstemmer
288 (package
289 (name "libstemmer")
290 (version "2.0.0")
291 (source
292 (origin
293 (method url-fetch)
294 (uri "https://snowballstem.org/dist/libstemmer_c.tgz")
295 (sha256
296 (base32 "1z2xvrjsaaypc04lwz7dg8mjm5cq1gzmn0l544pn6y2ll3r7ckh5"))))
297 (build-system gnu-build-system)
298 (arguments
299 `(#:tests? #f ; No tests exist
300 #:make-flags
301 (list
302 (string-append "CC=" ,(cc-for-target))
303 "CFLAGS=-fPIC")
304 #:phases
305 (modify-phases %standard-phases
306 (delete 'configure)
307 (replace 'install
308 (lambda* (#:key outputs #:allow-other-keys)
309 (let* ((out (assoc-ref outputs "out"))
310 (out-bin (string-append out "/bin"))
311 (out-include (string-append out "/include"))
312 (out-lib (string-append out "/lib")))
313 (install-file "stemwords" out-bin)
314 (install-file "include/libstemmer.h" out-include)
315 (rename-file "libstemmer.o" "libstemmer.a")
316 (install-file "libstemmer.a" out-lib)
317 #t))))))
318 (synopsis "Stemming Library")
319 (description "LibStemmer provides stemming library, supporting several
320languages.")
321 (home-page "https://snowballstem.org/")
322 (license bsd-3)))
323
0c32bf01
EB
324(define-public perl-lingua-en-findnumber
325 (package
326 (name "perl-lingua-en-findnumber")
84f06e54 327 (version "1.32")
0c32bf01
EB
328 (source
329 (origin
330 (method url-fetch)
331 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
332 "Lingua-EN-FindNumber-" version ".tar.gz"))
333 (sha256
334 (base32
84f06e54 335 "015ximzdp42v824llwlg2pd77vd0d172lb4xs55q9f9zhqf6s5qx"))))
0c32bf01
EB
336 (build-system perl-build-system)
337 (propagated-inputs
338 `(("perl-lingua-en-words2nums" ,perl-lingua-en-words2nums)))
9aba9b12 339 (home-page "https://metacpan.org/release/Lingua-EN-FindNumber")
0c32bf01
EB
340 (synopsis "Locate (written) numbers in English text ")
341 (description "This module provides a regular expression for finding
342numbers in English text. It also provides functions for extracting and
343manipulating such numbers.")
2f3108ad 344 (license perl-license)))
0c32bf01 345
57ff0e04
EB
346(define-public perl-lingua-en-inflect
347 (package
348 (name "perl-lingua-en-inflect")
ce0be1bc 349 (version "1.903")
57ff0e04
EB
350 (source
351 (origin
352 (method url-fetch)
353 (uri (string-append "mirror://cpan/authors/id/D/DC/DCONWAY/"
354 "Lingua-EN-Inflect-" version ".tar.gz"))
355 (sha256
356 (base32
ce0be1bc 357 "0j8d1f1wvmgc11d71pc8xp8fv5a1nb2yfw1dgd19xhscn1klpvzw"))))
57ff0e04 358 (build-system perl-build-system)
a2190ccc 359 (native-inputs `(("perl-module-build" ,perl-module-build)))
9aba9b12 360 (home-page "https://metacpan.org/release/Lingua-EN-Inflect")
57ff0e04
EB
361 (synopsis "Convert singular to plural")
362 (description "Lingua::EN::Inflect provides plural inflections,
363\"a\"/\"an\" selection for English words, and manipulation of numbers as
364words. Plural forms of all nouns, most verbs, and some adjectives are
365provided. Where appropriate, \"classical\" variants (for example: \"brother\"
366-> \"brethren\", \"dogma\" -> \"dogmata\", etc.) are also provided.")
2f3108ad 367 (license perl-license)))
57ff0e04 368
4812a813
EB
369(define-public perl-lingua-en-inflect-number
370 (package
371 (name "perl-lingua-en-inflect-number")
e2fb341f 372 (version "1.12")
4812a813
EB
373 (source
374 (origin
375 (method url-fetch)
376 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
377 "Lingua-EN-Inflect-Number-" version ".tar.gz"))
378 (sha256
379 (base32
e2fb341f 380 "1gxccynkaqav43ww43jp4rzkyr36x97jd03yb5f6yx0jhn1k7yv6"))))
4812a813
EB
381 (build-system perl-build-system)
382 (propagated-inputs
383 `(("perl-lingua-en-inflect" ,perl-lingua-en-inflect)))
9aba9b12 384 (home-page "https://metacpan.org/release/Lingua-EN-Inflect-Number")
4812a813
EB
385 (synopsis "Force number of words to singular or plural")
386 (description "This module extends the functionality of Lingua::EN::Inflect
387with three new functions for determining plurality of a word and forcefully
388converting a word to singular or plural.")
2f3108ad 389 (license perl-license)))
4812a813 390
cfed969c
EB
391(define-public perl-lingua-en-inflect-phrase
392 (package
393 (name "perl-lingua-en-inflect-phrase")
cd75b642 394 (version "0.20")
cfed969c
EB
395 (source
396 (origin
397 (method url-fetch)
398 (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
399 "Lingua-EN-Inflect-Phrase-" version ".tar.gz"))
400 (sha256
401 (base32
cd75b642 402 "1a6y1l2pjim2242wcpgz066di4pbzfgsjjdl7vg5a5wzm48qj1am"))))
cfed969c
EB
403 (build-system perl-build-system)
404 (native-inputs
405 `(("perl-test-nowarnings" ,perl-test-nowarnings)))
406 (propagated-inputs
407 `(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber)
408 ("perl-lingua-en-inflect" ,perl-lingua-en-inflect)
409 ("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number)
410 ("perl-lingua-en-number-isordinal" ,perl-lingua-en-number-isordinal)
411 ("perl-lingua-en-tagger" ,perl-lingua-en-tagger)))
9aba9b12 412 (home-page "https://metacpan.org/release/Lingua-EN-Inflect-Phrase")
cfed969c
EB
413 (synopsis "Inflect short English phrases")
414 (description "This module attempts to pluralize or singularize short
415English phrases.")
2f3108ad 416 (license perl-license)))
cfed969c 417
930768b3
EB
418(define-public perl-lingua-en-number-isordinal
419 (package
420 (name "perl-lingua-en-number-isordinal")
5b5b4edf 421 (version "0.05")
930768b3
EB
422 (source
423 (origin
424 (method url-fetch)
425 (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
426 "Lingua-EN-Number-IsOrdinal-" version ".tar.gz"))
427 (sha256
428 (base32
5b5b4edf 429 "1mhqjvh2ad30gjab5b3a6mbr4aysyrscp4wp42yy5x6001a6km98"))))
930768b3
EB
430 (build-system perl-build-system)
431 (native-inputs
432 `(("perl-try-tiny" ,perl-try-tiny)
433 ("perl-test-fatal" ,perl-test-fatal)))
434 (propagated-inputs
435 `(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber)))
9aba9b12 436 (home-page "https://metacpan.org/release/Lingua-EN-Number-IsOrdinal")
930768b3
EB
437 (synopsis "Detect if English number is ordinal or cardinal")
438 (description "This module will tell you if a number, either in words or as
439digits, is a cardinal or ordinal number.")
2f3108ad 440 (license perl-license)))
930768b3 441
d7de0883
EB
442(define-public perl-lingua-en-tagger
443 (package
444 (name "perl-lingua-en-tagger")
35e4e359 445 (version "0.30")
d7de0883
EB
446 (source
447 (origin
448 (method url-fetch)
449 (uri (string-append "mirror://cpan/authors/id/A/AC/ACOBURN/"
450 "Lingua-EN-Tagger-" version ".tar.gz"))
451 (sha256
452 (base32
35e4e359 453 "0nrnkvsf9f0a7lp82sanmy89ms2nqq1lvjqicvsagsvzp513bl5b"))))
d7de0883
EB
454 (build-system perl-build-system)
455 (propagated-inputs
456 `(("perl-memoize-expirelru" ,perl-memoize-expirelru)
457 ("perl-lingua-stem" ,perl-lingua-stem)
458 ("perl-html-parser" ,perl-html-parser)
459 ("perl-html-tagset" ,perl-html-tagset)))
9aba9b12 460 (home-page "https://metacpan.org/release/Lingua-EN-Tagger")
d7de0883
EB
461 (synopsis "Part-of-speech tagger for English natural language processing")
462 (description "This module is a probability based, corpus-trained tagger
463that assigns part-of-speech tags to English text based on a lookup dictionary
464and a set of probability values. The tagger assigns appropriate tags based on
465conditional probabilities - it examines the preceding tag to determine the
466appropriate tag for the current word. Unknown words are classified according
467to word morphology or can be set to be treated as nouns or other parts of
468speech. The tagger also extracts as many nouns and noun phrases as it can,
469using a set of regular expressions.")
470 (license gpl3)))
471
fc436dba
EB
472(define-public perl-lingua-en-words2nums
473 (package
474 (name "perl-lingua-en-words2nums")
475 (version "0.18")
476 (source
477 (origin
478 (method url-fetch)
479 (uri (string-append "mirror://cpan/authors/id/J/JO/JOEY/"
480 "Lingua-EN-Words2Nums-" version ".tar.gz"))
481 (sha256
482 (base32
483 "118xx8qr1zbx30psv7ic55w65h15mc1vz6zicshfm96jgiwmcrb8"))))
484 (build-system perl-build-system)
9aba9b12 485 (home-page "https://metacpan.org/release/Lingua-EN-Words2Nums")
fc436dba
EB
486 (synopsis "Convert English text to numbers")
487 (description "This module converts English text into numbers. It supports
488both ordinal and cardinal numbers, negative numbers, and very large numbers.")
2f3108ad 489 (license perl-license)))
9b446711
EB
490
491(define-public perl-lingua-pt-stemmer
492 (package
493 (name "perl-lingua-pt-stemmer")
8895a968 494 (version "0.02")
9b446711
EB
495 (source
496 (origin
497 (method url-fetch)
e8409dd2 498 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
9b446711
EB
499 "Lingua-PT-Stemmer-" version ".tar.gz"))
500 (sha256
501 (base32
8895a968 502 "17c48sfbgwd2ivlgf59sr6jdhwa3aim8750f8pyzz7xpi8gz0var"))))
9b446711 503 (build-system perl-build-system)
9aba9b12 504 (home-page "https://metacpan.org/release/Lingua-PT-Stemmer")
9b446711
EB
505 (synopsis "Portuguese language stemming")
506 (description "This module implements a Portuguese stemming algorithm
507proposed in the paper A Stemming Algorithm for the Portuguese Language by
508Moreira, V. and Huyck, C.")
2f3108ad 509 (license perl-license)))
df11e052 510
9766e4fe
EB
511(define-public perl-lingua-stem
512 (package
513 (name "perl-lingua-stem")
514 (version "0.84")
515 (source
516 (origin
517 (method url-fetch)
518 (uri (string-append "mirror://cpan/authors/id/S/SN/SNOWHARE/"
519 "Lingua-Stem-" version ".tar.gz"))
520 (sha256
521 (base32
522 "12avh2mnnc7llmmshrr5bgb473fvydxnlqrqbl2815mf2dp4pxcg"))))
523 (build-system perl-build-system)
a2190ccc
EB
524 (native-inputs
525 `(("perl-module-build" ,perl-module-build)))
9766e4fe
EB
526 (propagated-inputs
527 `(("perl-lingua-pt-stemmer" ,perl-lingua-pt-stemmer)
528 ("perl-lingua-stem-fr" ,perl-lingua-stem-fr)
529 ("perl-lingua-stem-it" ,perl-lingua-stem-it)
530 ("perl-lingua-stem-ru" ,perl-lingua-stem-ru)
531 ("perl-lingua-stem-snowball-da" ,perl-lingua-stem-snowball-da)
532 ("perl-snowball-norwegian" ,perl-snowball-norwegian)
533 ("perl-snowball-swedish" ,perl-snowball-swedish)
534 ("perl-text-german" ,perl-text-german)))
9aba9b12 535 (home-page "https://metacpan.org/release/Lingua-Stem")
9766e4fe
EB
536 (synopsis "Stemming of words in various languages")
537 (description "This routine applies stemming algorithms to its parameters,
538returning the stemmed words as appropriate to the selected locale.")
2f3108ad 539 (license perl-license)))
9766e4fe 540
df11e052
EB
541(define-public perl-lingua-stem-fr
542 (package
543 (name "perl-lingua-stem-fr")
544 (version "0.02")
545 (source
546 (origin
547 (method url-fetch)
548 (uri (string-append "mirror://cpan/authors/id/S/SD/SDP/"
549 "Lingua-Stem-Fr-" version ".tar.gz"))
550 (sha256
551 (base32
552 "0vyrspwzaqjxm5mqshf4wvwa3938mkajd1918d9ii2l9m2rn8kwx"))))
553 (build-system perl-build-system)
9aba9b12 554 (home-page "https://metacpan.org/release/Lingua-Stem-Fr")
df11e052
EB
555 (synopsis "Porter's stemming algorithm for French")
556 (description "This module uses a modified version of the Porter Stemming
557Algorithm to return a stemmed French word.")
2f3108ad 558 (license perl-license)))
6afe5959
EB
559
560(define-public perl-lingua-stem-it
561 (package
562 (name "perl-lingua-stem-it")
563 (version "0.02")
564 (source
565 (origin
566 (method url-fetch)
567 (uri (string-append "mirror://cpan/authors/id/A/AC/ACALPINI/"
568 "Lingua-Stem-It-" version ".tar.gz"))
569 (sha256
570 (base32
571 "1207r183s5hlh4mfwa6p46vzm0dhvrs2dnss5s41a0gyfkxp7riq"))))
572 (build-system perl-build-system)
9aba9b12 573 (home-page "https://metacpan.org/release/Lingua-Stem-It")
6afe5959
EB
574 (synopsis "Porter's stemming algorithm for Italian")
575 (description "This module applies the Porter Stemming Algorithm to its
576parameters, returning the stemmed Italian word.")
2f3108ad 577 (license perl-license)))
95d2eec1
EB
578
579(define-public perl-lingua-stem-ru
580 (package
581 (name "perl-lingua-stem-ru")
a4b7142e 582 (version "0.04")
95d2eec1
EB
583 (source
584 (origin
585 (method url-fetch)
a4b7142e 586 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
95d2eec1
EB
587 "Lingua-Stem-Ru-" version ".tar.gz"))
588 (sha256
589 (base32
a4b7142e 590 "0a2jmdz7jn32qj5hyiw5kbv8fvlpmws8i00a6xcbkzb48yvwww0j"))))
95d2eec1 591 (build-system perl-build-system)
9aba9b12 592 (home-page "https://metacpan.org/release/Lingua-Stem-Ru")
95d2eec1
EB
593 (synopsis "Porter's stemming algorithm for Russian")
594 (description "This module applies the Porter Stemming Algorithm to its
595parameters, returning the stemmed Russian (KOI8-R only) word.")
2f3108ad 596 (license perl-license)))
30c40044
EB
597
598(define-public perl-lingua-stem-snowball-da
599 (package
600 (name "perl-lingua-stem-snowball-da")
601 (version "1.01")
602 (source
603 (origin
604 (method url-fetch)
605 (uri (string-append "mirror://cpan/authors/id/C/CI/CINE/"
606 "Lingua-Stem-Snowball-Da-" version ".tar.gz"))
607 (sha256
608 (base32
609 "0mm0m7glm1s6i9f6a78jslw6wh573208arxhq93yriqmw17bwf9f"))))
610 (build-system perl-build-system)
9aba9b12 611 (home-page "https://metacpan.org/release/Lingua-Stem-Snowball-Da")
30c40044
EB
612 (synopsis "Porters stemming algorithm for Danish")
613 (description "Lingua::Stem::Snowball::Da is a perl port of the danish
614stemmer at http://snowball.sourceforge.net, it was originally altered from the
615Lingua::Stem::Snowball::Se.")
616 (license gpl2)))
1064abdc
EB
617
618(define-public perl-snowball-norwegian
619 (package
620 (name "perl-snowball-norwegian")
621 (version "1.2")
622 (source
623 (origin
624 (method url-fetch)
625 (uri (string-append "mirror://cpan/authors/id/A/AS/ASKSH/"
626 "Snowball-Norwegian-" version ".tar.gz"))
627 (sha256
628 (base32
629 "0675v45bbsh7vr7kpf36xs2q79g02iq1kmfw22h20xdk4rzqvkqx"))))
630 (build-system perl-build-system)
a2190ccc 631 (native-inputs `(("perl-module-build" ,perl-module-build)))
9aba9b12 632 (home-page "https://metacpan.org/release/Snowball-Norwegian")
1064abdc
EB
633 (synopsis "Porters stemming algorithm for Norwegian")
634 (description "Lingua::Stem::Snowball::No is a perl port of the norwegian
635stemmer at http://snowball.tartarus.org.")
2f3108ad 636 (license perl-license)))
1f4b1129
EB
637
638(define-public perl-snowball-swedish
639 (package
640 (name "perl-snowball-swedish")
641 (version "1.2")
642 (source
643 (origin
644 (method url-fetch)
645 (uri (string-append "mirror://cpan/authors/id/A/AS/ASKSH/"
646 "Snowball-Swedish-" version ".tar.gz"))
647 (sha256
648 (base32
649 "0agwc12jk5kmabnpsplw3wf4ii5w1zb159cpin44x3srb0sr5apg"))))
650 (build-system perl-build-system)
a2190ccc 651 (native-inputs `(("perl-module-build" ,perl-module-build)))
9aba9b12 652 (home-page "https://metacpan.org/release/Snowball-Swedish")
1f4b1129
EB
653 (synopsis "Porters stemming algorithm for Swedish")
654 (description "Lingua::Stem::Snowball::Se is a perl port of the swedish
655stemmer at http://snowball.sourceforge.net.")
2f3108ad 656 (license perl-license)))
2b83abae 657
f3bbbb73
EB
658(define-public perl-string-toidentifier-en
659 (package
660 (name "perl-string-toidentifier-en")
97c79494 661 (version "0.12")
f3bbbb73
EB
662 (source
663 (origin
664 (method url-fetch)
665 (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
666 "String-ToIdentifier-EN-" version ".tar.gz"))
667 (sha256
668 (base32
97c79494 669 "12nw7h2yiybhdw0vnnpc7bif8ylhsn6kqf6s39dsrf9h54iq9yrs"))))
f3bbbb73
EB
670 (build-system perl-build-system)
671 (propagated-inputs
672 `(("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase)
673 ("perl-text-unidecode" ,perl-text-unidecode)
674 ("perl-namespace-clean" ,perl-namespace-clean)))
9aba9b12 675 (home-page "https://metacpan.org/release/String-ToIdentifier-EN")
e881752c 676 (synopsis "Convert strings to English program identifiers")
f3bbbb73
EB
677 (description "This module provides a utility method, \"to_identifier\" for
678converting an arbitrary string into a readable representation using the ASCII
679subset of \"\\w\" for use as an identifier in a computer program. The intent
680is to make unique identifier names from which the content of the original
681string can be easily inferred by a human just by reading the identifier.")
2f3108ad 682 (license perl-license)))
f3bbbb73 683
2b83abae
EB
684(define-public perl-text-german
685 (package
686 (name "perl-text-german")
687 (version "0.06")
688 (source
689 (origin
690 (method url-fetch)
691 (uri (string-append "mirror://cpan/authors/id/U/UL/ULPFR/"
692 "Text-German-" version ".tar.gz"))
693 (sha256
694 (base32
695 "1p87pgap99lw0nv62i3ghvsi7yg90lhn8vsa3yqp75rd04clybcj"))))
696 (build-system perl-build-system)
9aba9b12 697 (home-page "https://metacpan.org/release/Text-German")
2b83abae 698 (synopsis "German grundform reduction")
e881752c 699 (description "This module is a rather incomplete implementation of work
2b83abae 700done by Gudrun Putze-Meier.")
2f3108ad 701 (license perl-license)))
410387ad
AV
702
703(define* (tegaki-release-uri proj version
704 #:optional (ext "tar.gz"))
705 (string-append "https://github.com/tegaki/tegaki/releases/download"
706 "/v" version "/" proj "-" version "." ext))
707
708(define remove-pre-compiled-files
709 (lambda exts
710 "Return snippet for removing pre-compiled files matching one of the
711extensions in EXTS."
712 `(begin (for-each delete-file
713 (find-files "."
714 (lambda (name _)
715 (any (cut string-suffix? <> name)
716 (map (cut string-append "." <>)
717 ',exts)))))
718 #t)))
719
720;;; modules required for the above snippet
721(define remove-pre-compiled-files-modules
722 '((guix build utils)
723 (srfi srfi-1)
724 (srfi srfi-26)))
725
726(define-public python2-tegaki-wagomu
727 (package
728 (name "python2-tegaki-wagomu")
729 (version "0.3.1")
730 (source
731 (origin
732 (method url-fetch)
733 (uri (tegaki-release-uri "tegaki-wagomu" version))
734 (sha256
735 (base32
736 "1pzdiq4zy1nyylaj9i6v2h4h0r05klahskzpafpp367p4rysi1x9"))
737 (modules remove-pre-compiled-files-modules)
738 (snippet (remove-pre-compiled-files "pyc"))))
739 (build-system python-build-system)
740 (arguments
741 `(#:python ,python-2 ; only Python 2 is supported
742 #:phases
743 (modify-phases %standard-phases
744 (add-after 'unpack 'fix-recognizer
745 (lambda* (#:key inputs #:allow-other-keys)
746 ;; fix missing module and function
747 (substitute* "tegakiwagomu.py"
748 (("import Results,")
749 "import ")
750 (("def _recognize")
751 "def recognize")
752 (("Results\\(candidates\\)")
753 "candidates"))
754 #t)))))
755 (inputs
756 `(("glib" ,glib)))
757 (native-inputs
758 `(("pkg-config" ,pkg-config)
759 ("swig" ,swig)))
760 (home-page "https://tegaki.github.io/")
761 (synopsis
762 "Chinese and Japanese Handwriting Recognition (Recognition engine)")
763 (description
764 "Tegaki is an ongoing project which aims to develop a free and open-source
765modern implementation of handwriting recognition software, specifically
766designed for Chinese (simplified and traditional) and Japanese, and that is
767suitable for both the desktop and mobile devices.")
768 (license gpl2+))) ; all files
c2810523
AV
769
770(define-public python2-tegaki-python
771 (package
772 (inherit python2-tegaki-wagomu)
773 (name "python2-tegaki-python")
774 (version "0.3.1")
775 (source
776 (origin
777 (method url-fetch)
778 (uri (tegaki-release-uri "tegaki-python" version))
779 (sha256
780 (base32
781 "0x93k7pw9nh0ywd97pr8pm7jv3f94nw044i5k0zvzhdpsjqvak7p"))
782 (modules remove-pre-compiled-files-modules)
783 (snippet (remove-pre-compiled-files "pyc"))))
784 (arguments
785 (substitute-keyword-arguments (package-arguments python2-tegaki-wagomu)
786 ((#:phases _)
787 `(modify-phases %standard-phases
788 (add-after 'unpack 'pre-configure
789 (lambda* (#:key inputs #:allow-other-keys)
790 ;; Always convert string to unicode to avoid the following error
791 ;; when running "tegaki-build" in python2-tegaki-tools:
792 ;;
793 ;; sqlite3.ProgrammingError: You must not use 8-bit bytestrings
794 ;; unless you use a text_factory that can interpret 8-bit
795 ;; bytestrings (like text_factory = str).
796 ;; It is highly recommended that you instead just switch your
797 ;; application to Unicode strings.
798 (substitute* "tegaki/charcol.py"
799 (("sqlite3.OptimizedUnicode")
800 "lambda s: unicode(s, 'utf-8')"))
801 (substitute* "tegaki/engine.py"
802 (("/usr(/local)?")
803 (assoc-ref inputs "python2-tegaki-wagomu")))
804 #t))))))
805 ;; override inherited inputs
806 (inputs '())
807 (native-inputs '())
808 (propagated-inputs
809 `(("python2-tegaki-wagomu" ,python2-tegaki-wagomu)
810 ("python2-zinnia" ,python2-zinnia)))
811 (synopsis
812 "Chinese and Japanese Handwriting Recognition (Base python library)")
813 (license (list gpl2+ ; all files except...
814 bsd-3 ; dictutils.py
815 zpl2.1)))) ; minjson.py
58ac9289
AV
816
817(define-public python2-tegaki-pygtk
818 (package
819 (inherit python2-tegaki-wagomu)
820 (name "python2-tegaki-pygtk")
821 (version "0.3.1")
822 (source
823 (origin
824 (method url-fetch)
825 (uri (tegaki-release-uri "tegaki-pygtk" version))
826 (sha256
827 (base32
828 "1cip0azxhjdj2dg2z85cp1z3lz4qwx3w1j7z4xmcm7npapmsaqs2"))
829 (modules remove-pre-compiled-files-modules)
830 (snippet (remove-pre-compiled-files "pyc"))))
831 (arguments
832 (substitute-keyword-arguments (package-arguments python2-tegaki-wagomu)
833 ((#:phases _)
834 `(modify-phases %standard-phases
835 (add-after 'unpack 'fix-paths
836 (lambda* (#:key inputs #:allow-other-keys)
837 (substitute* "tegakigtk/fakekey.py"
838 (("libX11.so.6" so)
839 (string-append (assoc-ref inputs "libx11") "/lib/" so))
840 (("libXtst.so.6" so)
841 (string-append (assoc-ref inputs "libxtst") "/lib/" so)))
842 #t))))))
843 (inputs ; required for sending key strokes
844 `(("libx11" ,libx11)
845 ("libxtst" ,libxtst)))
846 (native-inputs '()) ; override inherited inputs
847 (propagated-inputs
848 `(("python2-pygtk" ,python2-pygtk)
849 ("python2-tegaki-python" ,python2-tegaki-python)))
850 (synopsis "Chinese and Japanese Handwriting Recognition (Base UI library)")
851 (license gpl2+))) ; all files
dd97a9c4
AV
852
853(define-public python2-tegaki-tools
854 (package
855 (inherit python2-tegaki-wagomu)
856 (name "python2-tegaki-tools")
857 (version "0.3.1")
858 (source
859 (origin
860 (method url-fetch)
861 (uri (tegaki-release-uri "tegaki-tools" version))
862 (sha256
863 (base32
864 "0xxv97ggh2jgldw3r7y59lv3fhz733r6l7mdn6nh4m0gvb0ja971"))
865 (modules remove-pre-compiled-files-modules)
866 (snippet (remove-pre-compiled-files "pyc"))))
867 (arguments
868 (substitute-keyword-arguments (package-arguments python2-tegaki-wagomu)
869 ((#:phases _) '%standard-phases)))
870 (inputs
871 `(("python2-tegaki-pygtk" ,python2-tegaki-pygtk)))
872 ;; override inherited inputs
873 (native-inputs '())
874 (propagated-inputs '())
875 (synopsis "Chinese and Japanese Handwriting Recognition (Advanced tools)")
876 ;; Files in gifenc/ are licensed under gpl3+ while other files are licensed
877 ;; under gpl2+. Therefore, the combined work is licensed under gpl3+.
878 (license gpl3+)))
e4f72a58
AV
879
880(define-public python2-tegaki-recognize
881 (let ((commit "eceec69fe651d0733c8c8752dae569d2283d0f3c")
882 (revision "1"))
883 (package
884 (inherit python2-tegaki-tools)
885 (name "python2-tegaki-recognize")
886 ;; version copied from <https://github.com/tegaki/tegaki/releases>
887 (version (git-version "0.3.1" revision commit))
888 (source
889 (origin
890 ;; We use GIT-FETCH because 'tegaki-recognize.desktop.in' and
891 ;; 'tegaki-recognize.in' are missing in the tarball.
892 (method git-fetch)
893 (uri (git-reference
b0e7b699 894 (url "https://github.com/tegaki/tegaki")
e4f72a58
AV
895 (commit commit)))
896 (sha256
897 (base32
898 "09mw2if9p885phbgah5f95q3fwy7s5b46qlmpxqyzfcnj6g7afr5"))
899 (file-name (git-file-name name version))
900 (modules `((guix build utils)
901 (ice-9 ftw)
902 (srfi srfi-26)
903 ,@remove-pre-compiled-files-modules))
904 (snippet
905 `(begin
906 ;; remove unnecessary files with potentially different license
907 (for-each delete-file-recursively
908 (scandir "."
909 (negate (cut member <> '("tegaki-recognize"
910 "." "..")))))
911 ,(remove-pre-compiled-files "pyc")
912 #t))))
913 (arguments
914 (substitute-keyword-arguments (package-arguments python2-tegaki-tools)
915 ((#:phases _)
916 `(modify-phases %standard-phases
917 (add-after 'unpack 'chdir
918 (lambda _
919 (chdir "tegaki-recognize")
920 #t))
921 ;; 'setup.py' script does not support one of the Python build
922 ;; system's default flags, "--single-version-externally-managed"
923 (replace 'install
924 (lambda* (#:key outputs #:allow-other-keys)
925 (invoke "python" "setup.py" "install"
926 (string-append "--prefix=" (assoc-ref outputs "out"))
927 "--root=/")
928 #t))))))
929 (synopsis "Chinese and Japanese Handwriting Recognition (Main program)")
930 (license gpl2+)))) ; all files
3ed30b88
AV
931
932(define-public tegaki-zinnia-japanese
933 (package
934 (inherit python2-tegaki-wagomu)
935 (name "tegaki-zinnia-japanese")
936 (version "0.3")
937 (source
938 (origin
939 (method url-fetch)
940 (uri (tegaki-release-uri name version "zip"))
941 (sha256
942 (base32
943 "1nmg9acxhcqly9gwkyb9m0hpy76fll91ywk4b1q4xms0ajxip1h7"))
944 (modules remove-pre-compiled-files-modules)
945 (snippet (remove-pre-compiled-files "model"))))
946 (build-system gnu-build-system)
947 (arguments
948 `(#:tests? #f ; no tests
949 #:phases
950 (modify-phases %standard-phases
951 (replace 'configure
952 (lambda* (#:key outputs #:allow-other-keys)
953 (substitute* "Makefile"
954 (("/usr/local")
955 (assoc-ref outputs "out")))
956 #t)))))
957 ;; override inherited inputs
958 (inputs '())
959 (native-inputs
960 `(("python2-tegaki-tools" ,python2-tegaki-tools)))
961 (propagated-inputs '())
962 (native-search-paths
963 (list (search-path-specification
964 (variable "TEGAKI_MODEL_PATH")
965 (files '("share/tegaki/models")))))
966 (synopsis "Chinese and Japanese Handwriting Recognition (Model)")
967 (license lgpl2.1))) ; all files
c8bbd808
AV
968
969(define-public tegaki-zinnia-japanese-light
970 (package
971 (inherit tegaki-zinnia-japanese)
972 (name "tegaki-zinnia-japanese-light")
973 (version "0.3")
974 (source
975 (origin
976 (method url-fetch)
977 (uri (tegaki-release-uri name version "zip"))
978 (sha256
979 (base32
980 "0x0fs29ylqzxd6xvg51h7rigpbisd7q8v11df425ib2j792yfyf8"))
981 (modules remove-pre-compiled-files-modules)
982 (snippet (remove-pre-compiled-files "model"))))
983 (license lgpl2.1))) ; all files
5fd56748
AV
984
985(define-public tegaki-zinnia-japanese-kyoiku
986 (package
987 (inherit tegaki-zinnia-japanese)
988 (name "tegaki-zinnia-japanese-kyoiku")
989 (version "0.3")
990 (source
991 (origin
992 (method url-fetch)
993 (uri (tegaki-release-uri name version "zip"))
994 (sha256
995 (base32
996 "0am94bcpmbzplxdnwn9gk15sgaizvcfhmv13mk14jjvx3419cvvx"))
997 (modules remove-pre-compiled-files-modules)
998 (snippet (remove-pre-compiled-files "model"))))
999 (license lgpl2.1))) ; all files
8955412b
AV
1000
1001(define-public tegaki-zinnia-japanese-joyo
1002 (package
1003 (inherit tegaki-zinnia-japanese)
1004 (name "tegaki-zinnia-japanese-joyo")
1005 (version "0.3")
1006 (source
1007 (origin
1008 (method url-fetch)
1009 (uri (tegaki-release-uri name version "zip"))
1010 (sha256
1011 (base32
1012 "1v0j40lzdyiz01ayws0b8r7fsdy2mr32658382kz4wyk883wzx2z"))
1013 (modules remove-pre-compiled-files-modules)
1014 (snippet (remove-pre-compiled-files "model"))))
1015 (license lgpl2.1))) ; all files
e0679464
AV
1016
1017(define-public tegaki-zinnia-simplified-chinese
1018 (package
1019 (inherit tegaki-zinnia-japanese)
1020 (name "tegaki-zinnia-simplified-chinese")
1021 (version "0.3")
1022 (source
1023 (origin
1024 (method url-fetch)
1025 (uri (tegaki-release-uri name version "zip"))
1026 (sha256
1027 (base32
1028 "18wq0jccv7lpnrfnzspyc110d6pj2v1i21xcx4fmgzz1lnln3fs5"))
1029 (modules remove-pre-compiled-files-modules)
1030 (snippet (remove-pre-compiled-files "model"))))
1031 (license lgpl2.1))) ; all files
ca1f28bd
AV
1032
1033(define-public tegaki-zinnia-simplified-chinese-light
1034 (package
1035 (inherit tegaki-zinnia-japanese)
1036 (name "tegaki-zinnia-simplified-chinese-light")
1037 (version "0.3")
1038 (source
1039 (origin
1040 (method url-fetch)
1041 (uri (tegaki-release-uri name version "zip"))
1042 (sha256
1043 (base32
1044 "0v24yf0w0p03lb7fyx128a75mwzad166bigvlbrzqnad789qg1sr"))
1045 (modules remove-pre-compiled-files-modules)
1046 (snippet (remove-pre-compiled-files "model"))))
1047 (license lgpl2.1))) ; all files
0bfcc29d
AV
1048
1049(define-public tegaki-zinnia-traditional-chinese
1050 (package
1051 (inherit tegaki-zinnia-japanese)
1052 (name "tegaki-zinnia-traditional-chinese")
1053 (version "0.3")
1054 (source
1055 (origin
1056 (method url-fetch)
1057 (uri (tegaki-release-uri name version "zip"))
1058 (sha256
1059 (base32
1060 "140nlp6hynrai2svs5670jjfw1za6ayflhyj2dl0bzsfgbk3447l"))
1061 (modules remove-pre-compiled-files-modules)
1062 (snippet (remove-pre-compiled-files "model"))))
1063 (license lgpl2.1))) ; all files
caee9806
AV
1064
1065(define-public tegaki-zinnia-traditional-chinese-light
1066 (package
1067 (inherit tegaki-zinnia-japanese)
1068 (name "tegaki-zinnia-traditional-chinese-light")
1069 (version "0.3")
1070 (source
1071 (origin
1072 (method url-fetch)
1073 (uri (tegaki-release-uri name version "zip"))
1074 (sha256
1075 (base32
1076 "1m6yk6a57vs9wg5y50qciwi1ahhmklp2mgsjysbj4mnyzv6yhcr2"))
1077 (modules remove-pre-compiled-files-modules)
1078 (snippet (remove-pre-compiled-files "model"))))
1079 (license lgpl2.1))) ; all files
6b32e91a
AV
1080
1081(define-public tegaki-wagomu-japanese
1082 (package
1083 (inherit tegaki-zinnia-japanese)
1084 (name "tegaki-wagomu-japanese")
1085 (version "0.3")
1086 (source
1087 (origin
1088 (method url-fetch)
1089 (uri (tegaki-release-uri name version "zip"))
1090 (sha256
1091 (base32
1092 "0flj5id8xwsn7csrrzqz9prdikswnwm2wms0as2vzdpxzph1az4k"))
1093 (modules remove-pre-compiled-files-modules)
1094 (snippet (remove-pre-compiled-files "model"))))
1095 (license lgpl2.1))) ; all files
ee3dc52b
AV
1096
1097(define-public tegaki-wagomu-japanese-kyoiku
1098 (package
1099 (inherit tegaki-zinnia-japanese)
1100 (name "tegaki-wagomu-japanese-kyoiku")
1101 (version "0.3")
1102 (source
1103 (origin
1104 (method url-fetch)
1105 (uri (tegaki-release-uri name version "zip"))
1106 (sha256
1107 (base32
1108 "0v8crfh8rdf6ndp16g52s5jlrrlwh73xp38zjn5i9dlacx8kfqg1"))
1109 (modules remove-pre-compiled-files-modules)
1110 (snippet (remove-pre-compiled-files "model"))))
1111 (license lgpl2.1))) ; all files
7c25904c
AV
1112
1113(define-public tegaki-wagomu-japanese-joyo
1114 (package
1115 (inherit tegaki-zinnia-japanese)
1116 (name "tegaki-wagomu-japanese-joyo")
1117 (version "0.3")
1118 (source
1119 (origin
1120 (method url-fetch)
1121 (uri (tegaki-release-uri name version "zip"))
1122 (sha256
1123 (base32
1124 "0wk8shpr963zp328g991qs6abpnacq4242003m687z2d6yp7nph2"))
1125 (modules remove-pre-compiled-files-modules)
1126 (snippet (remove-pre-compiled-files "model"))))
1127 (license lgpl2.1))) ; all files
708c6857
AV
1128
1129(define-public tegaki-wagomu-simplified-chinese
1130 (package
1131 (inherit tegaki-zinnia-japanese)
1132 (name "tegaki-wagomu-simplified-chinese")
1133 (version "0.3")
1134 (source
1135 (origin
1136 (method url-fetch)
1137 (uri (tegaki-release-uri name version "zip"))
1138 (sha256
1139 (base32
1140 "0wqprynigqxqxv128i1smh81gxvmjj056d9qpznxa3n9f5ymlbj6"))
1141 (modules remove-pre-compiled-files-modules)
1142 (snippet (remove-pre-compiled-files "model"))))
1143 (license lgpl2.1))) ; all files
0ed97e69
AV
1144
1145;;; Upstream does not provide the source for tegaki-wagomu-traditional-chinese.
1146;;; Therefore, we use the source for tegaki-zinnia-traditional-chinese and
1147;;; patch the Makefile accordingly.
1148(define-public tegaki-wagomu-traditional-chinese
1149 (package
1150 (inherit tegaki-zinnia-traditional-chinese)
1151 (name "tegaki-wagomu-traditional-chinese")
1152 (arguments
1153 (substitute-keyword-arguments
1154 (package-arguments tegaki-zinnia-traditional-chinese)
1155 ((#:phases phases '%standard-phases)
1156 `(modify-phases ,phases
1157 (replace 'configure
1158 (lambda args
1159 (let ((configure (assq-ref ,phases 'configure)))
1160 (apply configure args))
1161 (substitute* "Makefile"
1162 (("zinnia") "wagomu"))
1163 #t))))))
1164 (license lgpl2.1))) ; all files
1f6f0b6b
RW
1165
1166(define-public link-grammar
1167 (package
1168 (name "link-grammar")
1169 (version "5.7.0")
1170 (source (origin
1171 (method url-fetch)
1172 (uri (string-append "https://www.abisource.com/downloads/"
1173 "link-grammar/" version
1174 "/link-grammar-" version ".tar.gz"))
1175 (sha256
1176 (base32
1177 "0ak1v469k56v3511kxxkxvx1nw6zcxcl0f1kcvc82ffacqbr4y96"))))
1178 (build-system gnu-build-system)
1179 (home-page "https://www.abisource.com/projects/link-grammar/")
1180 (synopsis "Link grammar parser")
1181 (description "The Link Grammar Parser is a syntactic parser of English,
1182Russian, Arabic and Persian (and other languages as well), based on Link
1183Grammar, an original theory of syntax and morphology. Given a sentence, the
1184system assigns to it a syntactic structure, which consists of a set of
1185labelled links connecting pairs of words. The parser also produces a
1186\"constituent\" (HPSG style phrase tree) representation of a sentence (showing
1187noun phrases, verb phrases, etc.).")
1188 (license bsd-3)))
fa76fb63
JL
1189
1190(define-public praat
1191 (package
1192 (name "praat")
d67721ba 1193 (version "6.1.30")
fa76fb63
JL
1194 (source (origin
1195 (method git-fetch)
1196 (uri (git-reference
1197 (url "https://github.com/praat/praat")
1198 (commit (string-append "v" version))))
1199 (file-name (git-file-name name version))
1200 (sha256
1201 (base32
d67721ba 1202 "1pjfifyv3wjn68l3i2dr83xm75nf2kxvfxrk9qqbmwz58p183jw4"))))
fa76fb63
JL
1203 (build-system gnu-build-system)
1204 (arguments
0e25995a 1205 `(#:tests? #f ; no test target
fa76fb63
JL
1206 #:phases
1207 (modify-phases %standard-phases
1208 (replace 'configure
1209 (lambda _
1210 (copy-file "makefiles/makefile.defs.linux.pulse" "makefile.defs")
1211 #t))
1212 (replace 'install
1213 (lambda* (#:key outputs #:allow-other-keys)
1214 (let* ((out (assoc-ref outputs "out"))
1215 (bin (string-append out "/bin")))
1216 (mkdir-p bin)
1217 (copy-file "praat" (string-append bin "/praat")))
1218 #t)))))
1219 (inputs
1220 `(("alsa-lib" ,alsa-lib)
1221 ("gtk" ,gtk+-2)
1222 ("jack" ,jack-1)
1223 ("publesaudio" ,pulseaudio)))
1224 (native-inputs
1225 `(("pkg-config" ,pkg-config)))
1226 (home-page "http://www.fon.hum.uva.nl/praat/")
1227 (synopsis "Doing phonetics by computer")
7230f6d5
TGR
1228 (description "Praat is a tool to perform phonetics tasks. It can do speech
1229analysis (pitch, formant, intensity, ...), speech synthesis, labelling, segmenting
fa76fb63
JL
1230and manipulation.")
1231 (license gpl2+)))