gnu: Use static & unversioned CPAN home pages.
[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>
ce0be1bc 3;;; Copyright © 2017 Tobias Geerinckx-Rice <me@tobias.gr>
4a78fd46 4;;; Copyright © 2018 Nils Gillmann <ng0@n0.is>
fc436dba
EB
5;;;
6;;; This file is part of GNU Guix.
7;;;
8;;; GNU Guix is free software; you can redistribute it and/or modify it
9;;; under the terms of the GNU General Public License as published by
10;;; the Free Software Foundation; either version 3 of the License, or (at
11;;; your option) any later version.
12;;;
13;;; GNU Guix is distributed in the hope that it will be useful, but
14;;; WITHOUT ANY WARRANTY; without even the implied warranty of
15;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16;;; GNU General Public License for more details.
17;;;
18;;; You should have received a copy of the GNU General Public License
19;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
20
21(define-module (gnu packages language)
22 #:use-module (gnu packages)
23 #:use-module (gnu packages perl)
5ccde207 24 #:use-module (gnu packages perl-check)
d7de0883 25 #:use-module (gnu packages web)
fc436dba
EB
26 #:use-module (guix packages)
27 #:use-module (guix build-system perl)
2f3108ad 28 #:use-module ((guix licenses) #:select (gpl2 gpl3 perl-license))
fc436dba
EB
29 #:use-module (guix download))
30
0c32bf01
EB
31(define-public perl-lingua-en-findnumber
32 (package
33 (name "perl-lingua-en-findnumber")
84f06e54 34 (version "1.32")
0c32bf01
EB
35 (source
36 (origin
37 (method url-fetch)
38 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
39 "Lingua-EN-FindNumber-" version ".tar.gz"))
40 (sha256
41 (base32
84f06e54 42 "015ximzdp42v824llwlg2pd77vd0d172lb4xs55q9f9zhqf6s5qx"))))
0c32bf01
EB
43 (build-system perl-build-system)
44 (propagated-inputs
45 `(("perl-lingua-en-words2nums" ,perl-lingua-en-words2nums)))
46 (home-page "http://search.cpan.org/dist/Lingua-EN-FindNumber")
47 (synopsis "Locate (written) numbers in English text ")
48 (description "This module provides a regular expression for finding
49numbers in English text. It also provides functions for extracting and
50manipulating such numbers.")
2f3108ad 51 (license perl-license)))
0c32bf01 52
57ff0e04
EB
53(define-public perl-lingua-en-inflect
54 (package
55 (name "perl-lingua-en-inflect")
ce0be1bc 56 (version "1.903")
57ff0e04
EB
57 (source
58 (origin
59 (method url-fetch)
60 (uri (string-append "mirror://cpan/authors/id/D/DC/DCONWAY/"
61 "Lingua-EN-Inflect-" version ".tar.gz"))
62 (sha256
63 (base32
ce0be1bc 64 "0j8d1f1wvmgc11d71pc8xp8fv5a1nb2yfw1dgd19xhscn1klpvzw"))))
57ff0e04 65 (build-system perl-build-system)
a2190ccc 66 (native-inputs `(("perl-module-build" ,perl-module-build)))
57ff0e04
EB
67 (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect")
68 (synopsis "Convert singular to plural")
69 (description "Lingua::EN::Inflect provides plural inflections,
70\"a\"/\"an\" selection for English words, and manipulation of numbers as
71words. Plural forms of all nouns, most verbs, and some adjectives are
72provided. Where appropriate, \"classical\" variants (for example: \"brother\"
73-> \"brethren\", \"dogma\" -> \"dogmata\", etc.) are also provided.")
2f3108ad 74 (license perl-license)))
57ff0e04 75
4812a813
EB
76(define-public perl-lingua-en-inflect-number
77 (package
78 (name "perl-lingua-en-inflect-number")
e2fb341f 79 (version "1.12")
4812a813
EB
80 (source
81 (origin
82 (method url-fetch)
83 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
84 "Lingua-EN-Inflect-Number-" version ".tar.gz"))
85 (sha256
86 (base32
e2fb341f 87 "1gxccynkaqav43ww43jp4rzkyr36x97jd03yb5f6yx0jhn1k7yv6"))))
4812a813
EB
88 (build-system perl-build-system)
89 (propagated-inputs
90 `(("perl-lingua-en-inflect" ,perl-lingua-en-inflect)))
91 (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect-Number")
92 (synopsis "Force number of words to singular or plural")
93 (description "This module extends the functionality of Lingua::EN::Inflect
94with three new functions for determining plurality of a word and forcefully
95converting a word to singular or plural.")
2f3108ad 96 (license perl-license)))
4812a813 97
cfed969c
EB
98(define-public perl-lingua-en-inflect-phrase
99 (package
100 (name "perl-lingua-en-inflect-phrase")
cd75b642 101 (version "0.20")
cfed969c
EB
102 (source
103 (origin
104 (method url-fetch)
105 (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
106 "Lingua-EN-Inflect-Phrase-" version ".tar.gz"))
107 (sha256
108 (base32
cd75b642 109 "1a6y1l2pjim2242wcpgz066di4pbzfgsjjdl7vg5a5wzm48qj1am"))))
cfed969c
EB
110 (build-system perl-build-system)
111 (native-inputs
112 `(("perl-test-nowarnings" ,perl-test-nowarnings)))
113 (propagated-inputs
114 `(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber)
115 ("perl-lingua-en-inflect" ,perl-lingua-en-inflect)
116 ("perl-lingua-en-inflect-number" ,perl-lingua-en-inflect-number)
117 ("perl-lingua-en-number-isordinal" ,perl-lingua-en-number-isordinal)
118 ("perl-lingua-en-tagger" ,perl-lingua-en-tagger)))
119 (home-page "http://search.cpan.org/dist/Lingua-EN-Inflect-Phrase")
120 (synopsis "Inflect short English phrases")
121 (description "This module attempts to pluralize or singularize short
122English phrases.")
2f3108ad 123 (license perl-license)))
cfed969c 124
930768b3
EB
125(define-public perl-lingua-en-number-isordinal
126 (package
127 (name "perl-lingua-en-number-isordinal")
5b5b4edf 128 (version "0.05")
930768b3
EB
129 (source
130 (origin
131 (method url-fetch)
132 (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
133 "Lingua-EN-Number-IsOrdinal-" version ".tar.gz"))
134 (sha256
135 (base32
5b5b4edf 136 "1mhqjvh2ad30gjab5b3a6mbr4aysyrscp4wp42yy5x6001a6km98"))))
930768b3
EB
137 (build-system perl-build-system)
138 (native-inputs
139 `(("perl-try-tiny" ,perl-try-tiny)
140 ("perl-test-fatal" ,perl-test-fatal)))
141 (propagated-inputs
142 `(("perl-lingua-en-findnumber" ,perl-lingua-en-findnumber)))
143 (home-page "http://search.cpan.org/dist/Lingua-EN-Number-IsOrdinal")
144 (synopsis "Detect if English number is ordinal or cardinal")
145 (description "This module will tell you if a number, either in words or as
146digits, is a cardinal or ordinal number.")
2f3108ad 147 (license perl-license)))
930768b3 148
d7de0883
EB
149(define-public perl-lingua-en-tagger
150 (package
151 (name "perl-lingua-en-tagger")
153ea992 152 (version "0.28")
d7de0883
EB
153 (source
154 (origin
155 (method url-fetch)
156 (uri (string-append "mirror://cpan/authors/id/A/AC/ACOBURN/"
157 "Lingua-EN-Tagger-" version ".tar.gz"))
158 (sha256
159 (base32
153ea992 160 "1rm223d871s150dgnhbar71w56bim950cp45f0904w6px5fifcqa"))))
d7de0883
EB
161 (build-system perl-build-system)
162 (propagated-inputs
163 `(("perl-memoize-expirelru" ,perl-memoize-expirelru)
164 ("perl-lingua-stem" ,perl-lingua-stem)
165 ("perl-html-parser" ,perl-html-parser)
166 ("perl-html-tagset" ,perl-html-tagset)))
167 (home-page "http://search.cpan.org/dist/Lingua-EN-Tagger")
168 (synopsis "Part-of-speech tagger for English natural language processing")
169 (description "This module is a probability based, corpus-trained tagger
170that assigns part-of-speech tags to English text based on a lookup dictionary
171and a set of probability values. The tagger assigns appropriate tags based on
172conditional probabilities - it examines the preceding tag to determine the
173appropriate tag for the current word. Unknown words are classified according
174to word morphology or can be set to be treated as nouns or other parts of
175speech. The tagger also extracts as many nouns and noun phrases as it can,
176using a set of regular expressions.")
177 (license gpl3)))
178
fc436dba
EB
179(define-public perl-lingua-en-words2nums
180 (package
181 (name "perl-lingua-en-words2nums")
182 (version "0.18")
183 (source
184 (origin
185 (method url-fetch)
186 (uri (string-append "mirror://cpan/authors/id/J/JO/JOEY/"
187 "Lingua-EN-Words2Nums-" version ".tar.gz"))
188 (sha256
189 (base32
190 "118xx8qr1zbx30psv7ic55w65h15mc1vz6zicshfm96jgiwmcrb8"))))
191 (build-system perl-build-system)
192 (home-page "http://search.cpan.org/dist/Lingua-EN-Words2Nums")
193 (synopsis "Convert English text to numbers")
194 (description "This module converts English text into numbers. It supports
195both ordinal and cardinal numbers, negative numbers, and very large numbers.")
2f3108ad 196 (license perl-license)))
9b446711
EB
197
198(define-public perl-lingua-pt-stemmer
199 (package
200 (name "perl-lingua-pt-stemmer")
8895a968 201 (version "0.02")
9b446711
EB
202 (source
203 (origin
204 (method url-fetch)
e8409dd2 205 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
9b446711
EB
206 "Lingua-PT-Stemmer-" version ".tar.gz"))
207 (sha256
208 (base32
8895a968 209 "17c48sfbgwd2ivlgf59sr6jdhwa3aim8750f8pyzz7xpi8gz0var"))))
9b446711
EB
210 (build-system perl-build-system)
211 (home-page "http://search.cpan.org/dist/Lingua-PT-Stemmer")
212 (synopsis "Portuguese language stemming")
213 (description "This module implements a Portuguese stemming algorithm
214proposed in the paper A Stemming Algorithm for the Portuguese Language by
215Moreira, V. and Huyck, C.")
2f3108ad 216 (license perl-license)))
df11e052 217
9766e4fe
EB
218(define-public perl-lingua-stem
219 (package
220 (name "perl-lingua-stem")
221 (version "0.84")
222 (source
223 (origin
224 (method url-fetch)
225 (uri (string-append "mirror://cpan/authors/id/S/SN/SNOWHARE/"
226 "Lingua-Stem-" version ".tar.gz"))
227 (sha256
228 (base32
229 "12avh2mnnc7llmmshrr5bgb473fvydxnlqrqbl2815mf2dp4pxcg"))))
230 (build-system perl-build-system)
a2190ccc
EB
231 (native-inputs
232 `(("perl-module-build" ,perl-module-build)))
9766e4fe
EB
233 (propagated-inputs
234 `(("perl-lingua-pt-stemmer" ,perl-lingua-pt-stemmer)
235 ("perl-lingua-stem-fr" ,perl-lingua-stem-fr)
236 ("perl-lingua-stem-it" ,perl-lingua-stem-it)
237 ("perl-lingua-stem-ru" ,perl-lingua-stem-ru)
238 ("perl-lingua-stem-snowball-da" ,perl-lingua-stem-snowball-da)
239 ("perl-snowball-norwegian" ,perl-snowball-norwegian)
240 ("perl-snowball-swedish" ,perl-snowball-swedish)
241 ("perl-text-german" ,perl-text-german)))
242 (home-page "http://search.cpan.org/dist/Lingua-Stem")
243 (synopsis "Stemming of words in various languages")
244 (description "This routine applies stemming algorithms to its parameters,
245returning the stemmed words as appropriate to the selected locale.")
2f3108ad 246 (license perl-license)))
9766e4fe 247
df11e052
EB
248(define-public perl-lingua-stem-fr
249 (package
250 (name "perl-lingua-stem-fr")
251 (version "0.02")
252 (source
253 (origin
254 (method url-fetch)
255 (uri (string-append "mirror://cpan/authors/id/S/SD/SDP/"
256 "Lingua-Stem-Fr-" version ".tar.gz"))
257 (sha256
258 (base32
259 "0vyrspwzaqjxm5mqshf4wvwa3938mkajd1918d9ii2l9m2rn8kwx"))))
260 (build-system perl-build-system)
261 (home-page "http://search.cpan.org/dist/Lingua-Stem-Fr")
262 (synopsis "Porter's stemming algorithm for French")
263 (description "This module uses a modified version of the Porter Stemming
264Algorithm to return a stemmed French word.")
2f3108ad 265 (license perl-license)))
6afe5959
EB
266
267(define-public perl-lingua-stem-it
268 (package
269 (name "perl-lingua-stem-it")
270 (version "0.02")
271 (source
272 (origin
273 (method url-fetch)
274 (uri (string-append "mirror://cpan/authors/id/A/AC/ACALPINI/"
275 "Lingua-Stem-It-" version ".tar.gz"))
276 (sha256
277 (base32
278 "1207r183s5hlh4mfwa6p46vzm0dhvrs2dnss5s41a0gyfkxp7riq"))))
279 (build-system perl-build-system)
280 (home-page "http://search.cpan.org/dist/Lingua-Stem-It")
281 (synopsis "Porter's stemming algorithm for Italian")
282 (description "This module applies the Porter Stemming Algorithm to its
283parameters, returning the stemmed Italian word.")
2f3108ad 284 (license perl-license)))
95d2eec1
EB
285
286(define-public perl-lingua-stem-ru
287 (package
288 (name "perl-lingua-stem-ru")
a4b7142e 289 (version "0.04")
95d2eec1
EB
290 (source
291 (origin
292 (method url-fetch)
a4b7142e 293 (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/"
95d2eec1
EB
294 "Lingua-Stem-Ru-" version ".tar.gz"))
295 (sha256
296 (base32
a4b7142e 297 "0a2jmdz7jn32qj5hyiw5kbv8fvlpmws8i00a6xcbkzb48yvwww0j"))))
95d2eec1
EB
298 (build-system perl-build-system)
299 (home-page "http://search.cpan.org/dist/Lingua-Stem-Ru")
300 (synopsis "Porter's stemming algorithm for Russian")
301 (description "This module applies the Porter Stemming Algorithm to its
302parameters, returning the stemmed Russian (KOI8-R only) word.")
2f3108ad 303 (license perl-license)))
30c40044
EB
304
305(define-public perl-lingua-stem-snowball-da
306 (package
307 (name "perl-lingua-stem-snowball-da")
308 (version "1.01")
309 (source
310 (origin
311 (method url-fetch)
312 (uri (string-append "mirror://cpan/authors/id/C/CI/CINE/"
313 "Lingua-Stem-Snowball-Da-" version ".tar.gz"))
314 (sha256
315 (base32
316 "0mm0m7glm1s6i9f6a78jslw6wh573208arxhq93yriqmw17bwf9f"))))
317 (build-system perl-build-system)
318 (home-page "http://search.cpan.org/dist/Lingua-Stem-Snowball-Da")
319 (synopsis "Porters stemming algorithm for Danish")
320 (description "Lingua::Stem::Snowball::Da is a perl port of the danish
321stemmer at http://snowball.sourceforge.net, it was originally altered from the
322Lingua::Stem::Snowball::Se.")
323 (license gpl2)))
1064abdc
EB
324
325(define-public perl-snowball-norwegian
326 (package
327 (name "perl-snowball-norwegian")
328 (version "1.2")
329 (source
330 (origin
331 (method url-fetch)
332 (uri (string-append "mirror://cpan/authors/id/A/AS/ASKSH/"
333 "Snowball-Norwegian-" version ".tar.gz"))
334 (sha256
335 (base32
336 "0675v45bbsh7vr7kpf36xs2q79g02iq1kmfw22h20xdk4rzqvkqx"))))
337 (build-system perl-build-system)
a2190ccc 338 (native-inputs `(("perl-module-build" ,perl-module-build)))
1064abdc
EB
339 (home-page "http://search.cpan.org/dist/Snowball-Norwegian")
340 (synopsis "Porters stemming algorithm for Norwegian")
341 (description "Lingua::Stem::Snowball::No is a perl port of the norwegian
342stemmer at http://snowball.tartarus.org.")
2f3108ad 343 (license perl-license)))
1f4b1129
EB
344
345(define-public perl-snowball-swedish
346 (package
347 (name "perl-snowball-swedish")
348 (version "1.2")
349 (source
350 (origin
351 (method url-fetch)
352 (uri (string-append "mirror://cpan/authors/id/A/AS/ASKSH/"
353 "Snowball-Swedish-" version ".tar.gz"))
354 (sha256
355 (base32
356 "0agwc12jk5kmabnpsplw3wf4ii5w1zb159cpin44x3srb0sr5apg"))))
357 (build-system perl-build-system)
a2190ccc 358 (native-inputs `(("perl-module-build" ,perl-module-build)))
1f4b1129
EB
359 (home-page "http://search.cpan.org/dist/Snowball-Swedish")
360 (synopsis "Porters stemming algorithm for Swedish")
361 (description "Lingua::Stem::Snowball::Se is a perl port of the swedish
362stemmer at http://snowball.sourceforge.net.")
2f3108ad 363 (license perl-license)))
2b83abae 364
f3bbbb73
EB
365(define-public perl-string-toidentifier-en
366 (package
367 (name "perl-string-toidentifier-en")
97c79494 368 (version "0.12")
f3bbbb73
EB
369 (source
370 (origin
371 (method url-fetch)
372 (uri (string-append "mirror://cpan/authors/id/R/RK/RKITOVER/"
373 "String-ToIdentifier-EN-" version ".tar.gz"))
374 (sha256
375 (base32
97c79494 376 "12nw7h2yiybhdw0vnnpc7bif8ylhsn6kqf6s39dsrf9h54iq9yrs"))))
f3bbbb73
EB
377 (build-system perl-build-system)
378 (propagated-inputs
379 `(("perl-lingua-en-inflect-phrase" ,perl-lingua-en-inflect-phrase)
380 ("perl-text-unidecode" ,perl-text-unidecode)
381 ("perl-namespace-clean" ,perl-namespace-clean)))
382 (home-page "http://search.cpan.org/dist/String-ToIdentifier-EN")
e881752c 383 (synopsis "Convert strings to English program identifiers")
f3bbbb73
EB
384 (description "This module provides a utility method, \"to_identifier\" for
385converting an arbitrary string into a readable representation using the ASCII
386subset of \"\\w\" for use as an identifier in a computer program. The intent
387is to make unique identifier names from which the content of the original
388string can be easily inferred by a human just by reading the identifier.")
2f3108ad 389 (license perl-license)))
f3bbbb73 390
2b83abae
EB
391(define-public perl-text-german
392 (package
393 (name "perl-text-german")
394 (version "0.06")
395 (source
396 (origin
397 (method url-fetch)
398 (uri (string-append "mirror://cpan/authors/id/U/UL/ULPFR/"
399 "Text-German-" version ".tar.gz"))
400 (sha256
401 (base32
402 "1p87pgap99lw0nv62i3ghvsi7yg90lhn8vsa3yqp75rd04clybcj"))))
403 (build-system perl-build-system)
404 (home-page "http://search.cpan.org/dist/Text-German")
405 (synopsis "German grundform reduction")
e881752c 406 (description "This module is a rather incomplete implementation of work
2b83abae 407done by Gudrun Putze-Meier.")
2f3108ad 408 (license perl-license)))