1 /* hunspell dictionaries */
3 { lib, stdenv, fetchurl, fetchzip, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, python3, hunspell }:
8 { pname, readmeFile, dictFileName, ... }@args:
14 install -dm755 "$out/share/hunspell"
15 install -m644 ${dictFileName}.dic "$out/share/hunspell/"
16 install -m644 ${dictFileName}.aff "$out/share/hunspell/"
17 # myspell dicts symlinks
18 install -dm755 "$out/share/myspell/dicts"
19 ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
20 ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
22 install -dm755 "$out/share/doc"
23 install -m644 ${readmeFile} $out/share/doc/${pname}.txt
29 { shortName, shortDescription, dictFileName }:
33 pname = "hunspell-dict-${shortName}-rla";
34 readmeFile = "README.txt";
35 src = fetchFromGitHub {
39 sha256 = "sha256-oGnxOGHzDogzUMZESydIxRTbq9Dmd03flwHx16AK1yk=";
42 description = "Hunspell dictionary for ${shortDescription} from rla";
43 homepage = "https://github.com/sbosio/rla-es";
44 license = with licenses; [ gpl3 lgpl3 mpl11 ];
45 maintainers = with maintainers; [ renzo ];
46 platforms = platforms.all;
48 nativeBuildInputs = [ bash coreutils which zip unzip ];
50 substituteInPlace ortograf/herramientas/make_dict.sh \
51 --replace /bin/bash ${bash}/bin/bash \
52 --replace /dev/stderr stderr.log
54 substituteInPlace ortograf/herramientas/remover_comentarios.sh \
55 --replace /bin/bash ${bash}/bin/bash \
58 cd ortograf/herramientas
59 bash -x ./make_dict.sh -l ${dictFileName} -2
60 unzip ${dictFileName}.zip \
61 ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
66 { shortName, shortDescription, dictFileName }:
70 # Should really use a string function or something
72 pname = "hunspell-dict-${shortName}-dsso";
73 _name = "ooo_swedish_dict_${_version}";
74 readmeFile = "LICENSE_en_US.txt";
76 url = "https://extensions.libreoffice.org/extensions/swedish-spelling-dictionary-den-stora-svenska-ordlistan/${version}/@@download/file/${_name}.oxt";
77 sha256 = "b982881cc75f5c4af1199535bd4735ee476bdc48edf63e3f05fb4f715654a7bc";
81 Svensk ordlista baserad på DSSO (den stora svenska ordlistan) och Göran
82 Anderssons (goran@init.se) arbete med denna. Ordlistan hämtas från
83 LibreOffice då dsso.se inte längre verkar vara med oss.
85 description = "Hunspell dictionary for ${shortDescription} from LibreOffice";
86 license = licenses.lgpl3;
87 platforms = platforms.all;
89 nativeBuildInputs = [ unzip ];
92 unzip $src dictionaries/${dictFileName}.dic dictionaries/${dictFileName}.aff $readmeFile
96 install -dm755 "$out/share/hunspell"
97 install -m644 dictionaries/${dictFileName}.dic "$out/share/hunspell/"
98 install -m644 dictionaries/${dictFileName}.aff "$out/share/hunspell/"
99 # myspell dicts symlinks
100 install -dm755 "$out/share/myspell/dicts"
101 ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
102 ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
104 install -dm755 "$out/share/doc"
105 install -m644 ${readmeFile} $out/share/doc/${pname}.txt
109 mkDictFromDicollecte =
110 { shortName, shortDescription, longDescription, dictFileName, isDefault ? false }:
112 inherit dictFileName;
114 pname = "hunspell-dict-${shortName}-dicollecte";
115 readmeFile = "README_dict_fr.txt";
117 url = "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v${version}.zip";
118 sha256 = "0ca7084jm7zb1ikwzh1frvpb97jn27i7a5d48288h2qlfp068ik0";
121 inherit longDescription;
122 description = "Hunspell dictionary for ${shortDescription} from Dicollecte";
123 homepage = "https://www.dicollecte.org/home.php?prj=fr";
124 license = licenses.mpl20;
125 maintainers = with maintainers; [ renzo ];
126 platforms = platforms.all;
128 nativeBuildInputs = [ unzip ];
131 unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
133 postInstall = lib.optionalString isDefault ''
134 for ext in aff dic; do
135 ln -sv $out/share/hunspell/${dictFileName}.$ext $out/share/hunspell/fr_FR.$ext
136 ln -sv $out/share/myspell/dicts/${dictFileName}.$ext $out/share/myspell/dicts/fr_FR.$ext
142 { shortName, shortDescription, srcFileName, dictFileName, src }:
144 inherit src srcFileName dictFileName;
145 version = "2018.04.16";
146 pname = "hunspell-dict-${shortName}-wordlist";
147 srcReadmeFile = "README_" + srcFileName + ".txt";
148 readmeFile = "README_" + dictFileName + ".txt";
150 description = "Hunspell dictionary for ${shortDescription} from Wordlist";
151 homepage = "http://wordlist.aspell.net/";
152 license = licenses.bsd3;
153 maintainers = with maintainers; [ renzo ];
154 platforms = platforms.all;
156 nativeBuildInputs = [ unzip ];
159 unzip $src ${srcFileName}.dic ${srcFileName}.aff ${srcReadmeFile}
162 mv ${srcFileName}.dic ${dictFileName}.dic || true
163 mv ${srcFileName}.aff ${dictFileName}.aff || true
164 mv ${srcReadmeFile} ${readmeFile} || true
168 mkDictFromLinguistico =
169 { shortName, shortDescription, dictFileName, src }:
171 inherit src dictFileName;
173 pname = "hunspell-dict-${shortName}-linguistico";
174 readmeFile = dictFileName + "_README.txt";
176 description = "Hunspell dictionary for ${shortDescription}";
177 homepage = "https://sourceforge.net/projects/linguistico/";
178 license = licenses.gpl3;
179 maintainers = with maintainers; [ renzo ];
180 platforms = platforms.all;
182 nativeBuildInputs = [ unzip ];
185 # Fix dic file empty lines (FS#22275)
186 sed '/^\/$/d' -i ${dictFileName}.dic
189 unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
194 { shortName, srcs, shortDescription, longDescription, dictFileName }:
195 stdenv.mkDerivation rec {
196 pname = "hunspell-dict-${shortName}-xuxen";
197 version = "5-2015.11.10";
202 # Copy files stripping until first dash (path and hash)
203 unpackCmd = "cp $curSrc \${curSrc##*-}";
206 install -dm755 "$out/share/hunspell"
207 install -m644 ${dictFileName}.dic "$out/share/hunspell/"
208 install -m644 ${dictFileName}.aff "$out/share/hunspell/"
209 # myspell dicts symlinks
210 install -dm755 "$out/share/myspell/dicts"
211 ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
212 ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
216 homepage = "http://xuxen.eus/";
217 description = shortDescription;
218 longDescription = longDescription;
219 license = licenses.gpl2;
220 maintainers = with maintainers; [ zalakain ];
221 platforms = platforms.all;
226 { shortName, shortDescription, dictFileName }:
227 stdenv.mkDerivation rec {
228 pname = "hunspell-dict-${shortName}-j3e";
229 version = "20161207";
232 url = "https://j3e.de/ispell/igerman98/dict/igerman98-${version}.tar.bz2";
233 sha256 = "1a3055hp2bc4q4nlg3gmg0147p3a1zlfnc65xiv2v9pyql1nya8p";
236 nativeBuildInputs = [ ispell perl hunspell ];
242 make hunspell/${dictFileName}.aff hunspell/${dictFileName}.dic
244 install -dm755 "$out/share/hunspell"
245 install -m644 hunspell/${dictFileName}.dic "$out/share/hunspell/"
246 install -m644 hunspell/${dictFileName}.aff "$out/share/hunspell/"
247 # myspell dicts symlinks
248 install -dm755 "$out/share/myspell/dicts"
249 ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
250 ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
254 homepage = "https://www.j3e.de/ispell/igerman98/index_en.html";
255 description = shortDescription;
256 license = with licenses; [ gpl2 gpl3 ];
257 maintainers = with maintainers; [ timor ];
258 platforms = platforms.all;
262 mkDictFromLibreOffice =
267 , readmeFile ? "README_${dictFileName}.txt"
268 , sourceRoot ? dictFileName
271 pname = "hunspell-dict-${shortName}-libreoffice";
273 inherit dictFileName readmeFile;
274 src = fetchFromGitHub {
275 owner = "LibreOffice";
276 repo = "dictionaries";
277 rev = "libreoffice-${version}";
278 sha256 = "14z4b0grn7cw8l9s7sl6cgapbpwhn1b3gwc3kn6b0k4zl3dq7y63";
281 cp -a ${sourceRoot}/* .
284 homepage = "https://wiki.documentfoundation.org/Development/Dictionaries";
285 description = "Hunspell dictionary for ${shortDescription} from LibreOffice";
287 maintainers = with maintainers; [ vlaci ];
288 platforms = platforms.all;
298 en-us = mkDictFromWordlist {
300 shortDescription = "English (United States)";
301 srcFileName = "en_US";
302 dictFileName = "en_US";
304 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_US-2018.04.16.zip";
305 sha256 = "18hbncvqnckzqarrmnzk58plymjqyi93k4qj98fac5mr71jbmzaf";
309 en_US-large = en-us-large;
310 en-us-large = mkDictFromWordlist {
311 shortName = "en-us-large";
312 shortDescription = "English (United States) Large";
313 srcFileName = "en_US-large";
314 dictFileName = "en_US";
316 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_US-large-2018.04.16.zip";
317 sha256 = "1xm9jgqbivp5cb78ykjxg47vzq1yqj82l7r4q5cjpivrv99s49qc";
322 en-ca = mkDictFromWordlist {
324 shortDescription = "English (Canada)";
325 srcFileName = "en_CA";
326 dictFileName = "en_CA";
328 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_CA-2018.04.16.zip";
329 sha256 = "06yf3s7y1215jmikbs18cn4j8a13csp4763w3jfgah8zlim6vc47";
333 en_CA-large = en-ca-large;
334 en-ca-large = mkDictFromWordlist {
335 shortName = "en-ca-large";
336 shortDescription = "English (Canada) Large";
337 srcFileName = "en_CA-large";
338 dictFileName = "en_CA";
340 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_CA-large-2018.04.16.zip";
341 sha256 = "1200xxyvv6ni8nk52v3059c367817vnrkm0cdh38rhiigb5flfha";
346 en-au = mkDictFromWordlist {
348 shortDescription = "English (Australia)";
349 srcFileName = "en_AU";
350 dictFileName = "en_AU";
352 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_AU-2018.04.16.zip";
353 sha256 = "1kp06npl1kd05mm9r52cg2iwc13x02zwqgpibdw15b6x43agg6f5";
357 en_AU-large = en-au-large;
358 en-au-large = mkDictFromWordlist {
359 shortName = "en-au-large";
360 shortDescription = "English (Australia) Large";
361 srcFileName = "en_AU-large";
362 dictFileName = "en_AU";
364 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_AU-large-2018.04.16.zip";
365 sha256 = "14l1w4dpk0k1js2wwq5ilfil89ni8cigph95n1rh6xi4lzxj7h6g";
369 en_GB-ise = en-gb-ise;
370 en-gb-ise = mkDictFromWordlist {
371 shortName = "en-gb-ise";
372 shortDescription = "English (United Kingdom, 'ise' ending)";
373 srcFileName = "en_GB-ise";
374 dictFileName = "en_GB";
376 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-ise-2018.04.16.zip";
377 sha256 = "0ylg1zvfvsawamymcc9ivrqcb9qhlpgpnizm076xc56jz554xc2l";
381 en_GB-ize = en-gb-ize;
382 en-gb-ize = mkDictFromWordlist {
383 shortName = "en-gb-ize";
384 shortDescription = "English (United Kingdom, 'ize' ending)";
385 srcFileName = "en_GB-ize";
386 dictFileName = "en_GB";
388 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-ize-2018.04.16.zip";
389 sha256 = "1rmwy6sxmd400cwjf58az6g14sq28p18f5mlq8ybg8y33q9m42ps";
393 en_GB-large = en-gb-large;
394 en-gb-large = mkDictFromWordlist {
395 shortName = "en-gb-large";
396 shortDescription = "English (United Kingdom) Large";
397 srcFileName = "en_GB-large";
398 dictFileName = "en_GB";
400 url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-large-2018.04.16.zip";
401 sha256 = "1y4d7x5vvi1qh1s3i09m0vvqrpdzzqhsdngr8nsh7hc5bnlm37mi";
408 es-any = mkDictFromRla {
409 shortName = "es-any";
410 shortDescription = "Spanish (any variant)";
411 dictFileName = "es_ANY";
415 es-ar = mkDictFromRla {
417 shortDescription = "Spanish (Argentina)";
418 dictFileName = "es_AR";
422 es-bo = mkDictFromRla {
424 shortDescription = "Spanish (Bolivia)";
425 dictFileName = "es_BO";
429 es-cl = mkDictFromRla {
431 shortDescription = "Spanish (Chile)";
432 dictFileName = "es_CL";
436 es-co = mkDictFromRla {
438 shortDescription = "Spanish (Colombia)";
439 dictFileName = "es_CO";
443 es-cr = mkDictFromRla {
445 shortDescription = "Spanish (Costa Rica)";
446 dictFileName = "es_CR";
450 es-cu = mkDictFromRla {
452 shortDescription = "Spanish (Cuba)";
453 dictFileName = "es_CU";
457 es-do = mkDictFromRla {
459 shortDescription = "Spanish (Dominican Republic)";
460 dictFileName = "es_DO";
464 es-ec = mkDictFromRla {
466 shortDescription = "Spanish (Ecuador)";
467 dictFileName = "es_EC";
471 es-es = mkDictFromRla {
473 shortDescription = "Spanish (Spain)";
474 dictFileName = "es_ES";
478 es-gt = mkDictFromRla {
480 shortDescription = "Spanish (Guatemala)";
481 dictFileName = "es_GT";
485 es-hn = mkDictFromRla {
487 shortDescription = "Spanish (Honduras)";
488 dictFileName = "es_HN";
492 es-mx = mkDictFromRla {
494 shortDescription = "Spanish (Mexico)";
495 dictFileName = "es_MX";
499 es-ni = mkDictFromRla {
501 shortDescription = "Spanish (Nicaragua)";
502 dictFileName = "es_NI";
506 es-pa = mkDictFromRla {
508 shortDescription = "Spanish (Panama)";
509 dictFileName = "es_PA";
513 es-pe = mkDictFromRla {
515 shortDescription = "Spanish (Peru)";
516 dictFileName = "es_PE";
520 es-pr = mkDictFromRla {
522 shortDescription = "Spanish (Puerto Rico)";
523 dictFileName = "es_PR";
527 es-py = mkDictFromRla {
529 shortDescription = "Spanish (Paraguay)";
530 dictFileName = "es_PY";
534 es-sv = mkDictFromRla {
536 shortDescription = "Spanish (El Salvador)";
537 dictFileName = "es_SV";
541 es-uy = mkDictFromRla {
543 shortDescription = "Spanish (Uruguay)";
544 dictFileName = "es_UY";
548 es-ve = mkDictFromRla {
550 shortDescription = "Spanish (Venezuela)";
551 dictFileName = "es_VE";
556 fr-any = mkDictFromDicollecte {
557 shortName = "fr-any";
558 dictFileName = "fr-toutesvariantes";
559 shortDescription = "French (any variant)";
561 Ce dictionnaire contient les nouvelles et les anciennes graphies des
562 mots concernés par la réforme de 1990.
566 fr-classique = mkDictFromDicollecte {
567 shortName = "fr-classique";
568 dictFileName = "fr-classique";
569 shortDescription = "French (classic)";
571 Ce dictionnaire est une extension du dictionnaire «Moderne» et propose
572 en sus des graphies alternatives, parfois encore très usitées, parfois
573 tombées en désuétude.
577 fr-moderne = mkDictFromDicollecte {
578 shortName = "fr-moderne";
579 dictFileName = "fr-moderne";
580 shortDescription = "French (modern)";
582 Ce dictionnaire propose une sélection des graphies classiques et
583 réformées, suivant la lente évolution de l’orthographe actuelle. Ce
584 dictionnaire contient les graphies les moins polémiques de la réforme.
589 fr-reforme1990 = mkDictFromDicollecte {
590 shortName = "fr-reforme1990";
591 dictFileName = "fr-reforme1990";
592 shortDescription = "French (1990 reform)";
594 Ce dictionnaire ne connaît que les graphies nouvelles des mots concernés
595 par la réforme de 1990.
602 it-it = mkDictFromLinguistico {
604 dictFileName = "it_IT";
605 shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
607 url = "mirror://sourceforge/linguistico/italiano_2_4_2007_09_01.zip";
608 sha256 = "0m9frz75fx456bczknay5i446gdcp1smm48lc0qfwzhz0j3zcdrd";
615 eu-es = mkDictFromXuxen {
617 dictFileName = "eu_ES";
618 shortDescription = "Basque (Xuxen 5)";
620 Itxura berritzeaz gain, testuak zuzentzen laguntzeko zenbait hobekuntza
621 egin dira Xuxen.eus-en. Lexikoari dagokionez, 18645 sarrera berri erantsi
622 ditugu, eta proposamenak egiteko sistema ere aldatu dugu. Esate baterako,
623 gaizki idatzitako hitz baten inguruko proposamenak eskuratzeko, euskaraz
624 idaztean egiten ditugun akats arruntenak hartu dira kontuan. Sistemak
625 ematen dituen proposamenak ordenatzeko, berriz, aipatutako irizpidea
626 erabiltzeaz gain, Internetetik automatikoki eskuratutako euskarazko corpus
627 bateko datuen arabera ordenatu daitezke emaitzak. Erabiltzaileak horrela
628 ordenatu nahi baditu proposamenak, hautatu egin behar du aukera hori
629 testu-kutxaren azpian dituen aukeren artean. Interesgarria da proposamenak
630 ordenatzeko irizpide hori, hala sistemak formarik erabilienak proposatuko
631 baitizkigu gutxiago erabiltzen direnen aurretik.
635 url = "http://xuxen.eus/static/hunspell/eu_ES.aff";
636 sha256 = "12w2j6phzas2rdzc7f20jnk93sm59m2zzfdgxv6p8nvcvbrkmc02";
639 url = "http://xuxen.eus/static/hunspell/eu_ES.dic";
640 sha256 = "0lw193jr7ldvln5x5z9p21rz1by46h0say9whfcw2kxs9vprd5b3";
648 hu-hu = mkDictFromLibreOffice {
650 dictFileName = "hu_HU";
651 shortDescription = "Hungarian (Hungary)";
652 license = with lib.licenses; [ mpl20 lgpl3 ];
658 sv-se = mkDictFromDSSO {
660 dictFileName = "sv_SE";
661 shortDescription = "Swedish (Sweden)";
664 # Finlandian Swedish (hello Linus Torvalds)
666 sv-fi = mkDictFromDSSO {
668 dictFileName = "sv_FI";
669 shortDescription = "Swedish (Finland)";
675 de-de = mkDictFromJ3e {
677 shortDescription = "German (Germany)";
678 dictFileName = "de_DE";
682 de-at = mkDictFromJ3e {
684 shortDescription = "German (Austria)";
685 dictFileName = "de_AT";
689 de-ch = mkDictFromJ3e {
691 shortDescription = "German (Switzerland)";
692 dictFileName = "de_CH";
699 pname = "hunspell-dict-uk-ua";
704 url = "https://extensions.libreoffice.org/extensions/ukrainian-spelling-dictionary-and-thesaurus/${_version}/@@download/file/dict-uk_UA-${version}.oxt";
705 sha256 = "14rd07yx4fx2qxjr5xqc8qy151idd8k2hr5yi18d9r8gccnm9w50";
708 dictFileName = "uk_UA";
709 readmeFile = "README_uk_UA.txt";
710 nativeBuildInputs = [ unzip ];
712 unzip $src ${dictFileName}/{${dictFileName}.dic,${dictFileName}.aff,${readmeFile}}
716 description = "Hunspell dictionary for Ukrainian (Ukraine) from LibreOffice";
717 homepage = "https://extensions.libreoffice.org/extensions/ukrainian-spelling-dictionary-and-thesaurus/";
718 license = licenses.mpl20;
719 maintainers = with maintainers; [ dywedir ];
720 platforms = platforms.all;
727 ru-ru = mkDictFromLibreOffice {
729 dictFileName = "ru_RU";
730 shortDescription = "Russian (Russian)";
731 license = with lib.licenses; [ mpl20 lgpl3 ];
737 cs-cz = mkDictFromLibreOffice {
739 dictFileName = "cs_CZ";
740 shortDescription = "Czech (Czechia)";
741 readmeFile = "README_cs.txt";
742 license = with lib.licenses; [ gpl2 ];
748 sk-sk = mkDictFromLibreOffice {
750 dictFileName = "sk_SK";
751 shortDescription = "Slovak (Slovakia)";
752 readmeFile = "README_sk.txt";
753 license = with lib.licenses; [ gpl2 lgpl21 mpl11 ];
760 pname = "hunspell-dict-da-dk";
764 url = "https://stavekontrolden.dk/dictionaries/da_DK/da_DK-${version}.oxt";
765 sha256 = "sha256:0i1cw0nfg24b0sg2yc3q7315ng5vc5245nvh0l1cndkn2c9z4978";
769 shortDescription = "Danish (Danmark)";
770 dictFileName = "da_DK";
771 readmeFile = "README_da_DK.txt";
772 nativeBuildInputs = [ unzip ];
774 unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} -d ${dictFileName}
778 description = "Hunspell dictionary for Danish (Denmark) from Stavekontrolden";
779 homepage = "https://github.com/jeppebundsgaard/stavekontrolden";
780 license = with lib.licenses; [ gpl2Only lgpl21Only mpl11 ];
781 maintainers = with maintainers; [ louisdk1 ];
789 pname = "hunspell-dict-nl-nl";
792 src = fetchFromGitHub {
794 repo = "opentaal-hunspell";
796 sha256 = "0jma8mmrncyzd77kxliyngs4z6z4769g3nh0a7xn2pd4s5y2xdpy";
804 dictFileName = "nl_NL";
805 readmeFile = "README.md";
808 description = "Hunspell dictionary for Dutch (Netherlands) from OpenTaal";
809 homepage = "https://www.opentaal.org/";
810 license = with licenses; [ bsd3 ]; # and/or cc-by-nc-30
811 maintainers = with maintainers; [ artturin ];
818 he-il = mkDictFromLibreOffice {
820 dictFileName = "he_IL";
821 shortDescription = "Hebrew (Israel)";
822 readmeFile = "README_he_IL.txt";
823 license = with lib.licenses; [ agpl3Plus ];
830 pname = "hunspell-dict-th-th";
831 version = "experimental-2023-03-01";
832 dictFileName = "th_TH";
833 readmeFile = "README.md";
834 src = fetchFromGitHub {
835 owner = "SyafiqHadzir";
836 repo = "Hunspell-TH";
837 rev = "9c09f1b7c0eb4d04b9f6f427901686c5c3d9fa54";
838 sha256 = "1wszpnbgj31k72x1vvcfkzcpmxsncdpqsi3zagah7swilpi7cqm4";
841 description = "Hunspell dictionary for Central Thai (Thailand)";
842 homepage = "https://github.com/SyafiqHadzir/Hunspell-TH";
843 license = with licenses; [ gpl3 ];
844 maintainers = with maintainers; [ toastal ]; # looking for a native speaker
845 platforms = platforms.all;
852 hr-hr = mkDictFromLibreOffice {
854 dictFileName = "hr_HR";
855 shortDescription = "Croatian (Croatia)";
856 readmeFile = "README_hr_HR.txt";
857 license = with lib.licenses; [ gpl2Only lgpl21Only mpl11 ];
863 nb-no = mkDictFromLibreOffice {
865 dictFileName = "nb_NO";
867 readmeFile = "README_hyph_NO.txt";
868 shortDescription = "Norwegian Bokmål (Norway)";
869 license = with lib.licenses; [ gpl2Only ];
873 nn-no = mkDictFromLibreOffice {
875 dictFileName = "nn_NO";
877 readmeFile = "README_hyph_NO.txt";
878 shortDescription = "Norwegian Nynorsk (Norway)";
879 license = with lib.licenses; [ gpl2Only ];
885 pname = "hunspell-dict-tok";
886 version = "20220829";
887 dictFileName = "tok";
888 readmeFile = "README.en.adoc";
891 url = "https://github.com/somasis/hunspell-tok/releases/download/${version}/hunspell-tok-${version}.tar.gz";
892 sha256 = "sha256-RiAODKXPUeIcf8IFcU6Tacehq5S8GYuPTuxEiN2CXD0=";
898 description = "Hunspell dictionary for Toki Pona";
899 homepage = "https://github.com/somasis/hunspell-tok";
900 license = with lib.licenses; [ cc0 publicDomain cc-by-sa-30 cc-by-sa-40 ];
901 maintainers = with maintainers; [ somasis ];
902 platforms = platforms.all;
909 pl-pl = mkDictFromLibreOffice {
911 dictFileName = "pl_PL";
912 shortDescription = "Polish (Poland)";
913 readmeFile = "README_en.txt";
914 # the README doesn't specify versions of licenses :/
915 license = with lib.licenses; [ gpl2Plus lgpl2Plus mpl10 asl20 cc-by-sa-25 ];
921 pt-br = mkDictFromLibreOffice {
923 dictFileName = "pt_BR";
924 shortDescription = "Portuguese (Brazil)";
925 readmeFile = "README_pt_BR.txt";
926 license = with lib.licenses; [ lgpl3 ];
930 pt-pt = mkDictFromLibreOffice {
932 dictFileName = "pt_PT";
933 shortDescription = "Portuguese (Portugal)";
934 readmeFile = "README_pt_PT.txt";
935 license = with lib.licenses; [ gpl2 lgpl21 mpl11 ];
942 pname = "hunspell-dict-fa-ir";
943 version = "experimental-2022-09-04";
944 dictFileName = "fa-IR";
945 readmeFile = "README.md";
946 src = fetchFromGitHub {
949 rev = "1a80a8e5c9377ac424d29ef20be894e250bc9765";
950 hash = "sha256-xonnrclzgFEHdQ9g8ijm0bo9r5a5Y0va52NoJR5d8mo=";
952 nativeBuildInputs = [ python3 ];
956 (cd src && python3 lilak.py)
958 # remove timestamp from file
959 sed -i 's/^\(## *File Version[^,]*\),.*/\1/' fa-IR.aff
963 description = "Hunspell dictionary for Persian (Iran)";
964 homepage = "https://github.com/b00f/lilak";
965 license = licenses.asl20;
966 maintainers = with maintainers; [ nix-julia ];
967 platforms = platforms.all;