language.scm 16 KB

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