13 * Add some of these to your profile or systemPackages.
16 environment.systemPackages = [
19 aspellDicts.en-computers
20 aspellDicts.en-science
24 * Rebuild and switch to the new profile.
29 extra-dicts en-computers.rws
30 add-extra-dicts en_US-science.rws
33 to `/etc/aspell.conf` or `~/.aspell.conf`.
34 * Check that `aspell -a` starts without errors.
35 * (optional) Check your config with `aspell dump config | grep -vE '^(#|$)'`.
42 Function to compile an Aspell dictionary. Fortunately, they all
43 build in the exact same way.
46 { shortName, fullName, ... }@args:
50 pname = "aspell-dict-${shortName}";
61 configurePlatforms = [ ];
63 preBuild = "makeFlagsArray=(dictdir=$out/lib/aspell datadir=$out/lib/aspell)";
66 description = "Aspell dictionary for ${fullName}";
67 platforms = lib.platforms.all;
68 } // (args.meta or { });
70 // removeAttrs args [ "meta" ]
85 shortName = "${language}";
88 url = "mirror://gnu/aspell/dict/${language}/${filename}-${language}-${version}.tar.bz2";
93 Remove any instances of u-deva.cmap and u-deva.cset since
94 they are included in the main aspell package and can
95 cause conflicts otherwise.
98 rm -f $out/lib/aspell/u-deva.{cmap,cset}
101 passthru.updateScript = writeScript "update-aspellDict-${language}" ''
102 #!/usr/bin/env nix-shell
103 #!nix-shell -i bash -p nix curl gnused common-updater-scripts
106 # List tarballs in the dictionary's subdirectory via HTTPS and
107 # the simple list method of Apache's mod_autoindex.
109 # Catalan dictionary has an exception where an earlier version
110 # compares as newer because the versioning scheme has changed.
113 curl -s 'https://ftp.gnu.org/gnu/aspell/dict/${language}/?F=0' | \
114 sed -r 's/.* href="${filename}-${language}-([A-Za-z0-9_+.-]+)\.tar\.bz2".*/"\1"/;t;d' | \
115 if [ '${language}' = "ca" ]; then grep -v 20040130-1; else cat; fi; \
118 # Sort versions in descending order using Nix's and take the first as the latest.
119 sortVersions="(with builtins; head (sort (a: b: compareVersions a b > 0) $versions))"
120 # nix-instantiate outputs Nix strings (with quotes), so remove them to get
121 # a result similar to `nix eval --raw`.
122 latestVersion=$(nix-instantiate --eval --expr "$sortVersions" | tr -d '"')
124 update-source-version aspellDicts.${language} "$latestVersion"
128 homepage = "http://ftp.gnu.org/gnu/aspell/dict/0index.html";
129 } // (args.meta or { });
139 # These have Windows-1251 encoded non-ASCII characters,
140 # so need some special handling.
144 tar -xf $src --strip-components=1 || true
149 postPatch = lib.getAttr language {
151 cp icelandic.alias íslenska.alias
152 sed -i 's/ .slenska\.alias/ íslenska.alias/g' Makefile.pre
155 cp bokmal.alias bokmål.alias
156 sed -i 's/ bokm.l\.alias/ bokmål.alias/g' Makefile.pre
160 // removeAttrs args [
169 # Function to compile txt dict files into Aspell dictionaries.
177 propagatedUserEnvPackages = langInputs;
180 # Aspell can't handle multiple data-dirs
181 # Copy everything we might possibly need
182 ${lib.concatMapStringsSep "\n" (p: ''
183 cp -a ${p}/lib/aspell/* .
184 '') ([ aspell ] ++ langInputs)}
185 export ASPELL_CONF="data-dir $(pwd)"
190 echo building $target
191 aspell create "$@" master ./$target.rws
195 awk -F'\t' '{print $1}' | sort | uniq
205 # Hack: drop comments and words with affixes
214 install -d $out/lib/aspell
217 install -t $out/lib/aspell $a.rws
232 af = buildOfficialDict {
235 fullName = "Afrikaans";
237 sha256 = "00p6k2ndi0gzfr5fkbvx4hkcpj223pidjvmxg0r384arrap00q4x";
238 meta.license = lib.licenses.lgpl21Only;
241 am = buildOfficialDict {
244 fullName = "Amharic";
245 filename = "aspell6";
246 sha256 = "11ylp7gjq94wfacyawvp391lsq26rl1b84f268rjn7l7z0hxs9xz";
247 meta.license = lib.licenses.publicDomain;
250 ar = buildOfficialDict {
254 filename = "aspell6";
255 sha256 = "1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4";
256 meta.license = lib.licenses.gpl2Only;
259 ast = buildOfficialDict {
262 fullName = "Asturian";
263 filename = "aspell6";
264 sha256 = "14hg85mxcyvdigf96yvslk7f3v9ngdsxn85qpgwkg31k3k83xwj3";
265 meta.license = lib.licenses.gpl2Only;
268 az = buildOfficialDict {
271 fullName = "Azerbaijani";
272 filename = "aspell6";
273 sha256 = "1hs4h1jscpxf9f9iyk6mvjqsnhkf0yslkbjhjkasqqcx8pn7cc86";
274 meta.license = lib.licenses.gpl2Only;
277 be = buildOfficialDict {
280 fullName = "Belarusian";
281 filename = "aspell5";
282 sha256 = "1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm";
283 meta.license = lib.licenses.gpl2Only;
286 bg = buildOfficialDict {
289 fullName = "Bulgarian";
290 filename = "aspell6";
291 sha256 = "1alacmgpfk0yrgq83y23d16fhav1bxmb98kg8d2a5r9bvh2h0mvl";
292 meta.license = lib.licenses.gpl2Only;
295 bn = buildOfficialDict {
297 version = "0.01.1-1";
298 fullName = "Bengali";
299 filename = "aspell6";
300 sha256 = "1nc02jd67iggirwxnhdvlvaqm0xfyks35c4psszzj3dhzv29qgxh";
301 meta.license = lib.licenses.gpl2Only;
304 br = buildOfficialDict {
309 sha256 = "0fradnm8424bkq9a9zhpl2132dk7y95xmw45sy1c0lx6rinjl4n2";
310 meta.license = lib.licenses.gpl2Only;
313 ca = buildOfficialDict {
316 fullName = "Catalan";
317 filename = "aspell6";
318 sha256 = "1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb";
319 meta.license = lib.licenses.gpl2Only;
322 cs = buildOfficialDict {
324 version = "20040614-1";
326 filename = "aspell6";
327 sha256 = "0rihj4hsw96pd9casvmpvw3r8040pfa28p1h73x4vyn20zwr3h01";
328 meta.license = lib.licenses.gpl2Only;
331 csb = buildOfficialDict {
334 fullName = "Kashubian";
335 filename = "aspell6";
336 sha256 = "1612ypkm684wjvc7n081i87mlrrzif9simc7kyn177hfsl3ssrn1";
337 meta.license = lib.licenses.gpl2Only;
340 cy = buildOfficialDict {
345 sha256 = "15vq601lzz1gi311xym4bv9lv1k21xcfn50jmzamw7h6f36rsffm";
346 meta.license = lib.licenses.gpl2Only;
349 da = buildOfficialDict {
351 version = "1.4.42-1";
353 filename = "aspell5";
354 sha256 = "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp";
355 meta.license = lib.licenses.gpl2Only;
358 de = buildOfficialDict {
360 version = "20161207-7-0";
362 filename = "aspell6";
363 sha256 = "0wamclvp66xfmv5wff96v6gdlnfv4y8lx3f8wvxyzm5imwgms4n2";
364 meta.license = lib.licenses.gpl2Plus;
367 de-alt = buildOfficialDict {
370 fullName = "German - Old Spelling";
371 filename = "aspell6";
372 sha256 = "0wwc2l29svv3fv041fh6vfa5m3hi9q9pkbxibzq1ysrsfin3rl9n";
373 meta.license = lib.licenses.gpl2Only;
376 el = buildOfficialDict {
380 filename = "aspell6";
381 sha256 = "1ljcc30zg2v2h3w5h5jr5im41mw8jbsgvvhdd2cii2yzi8d0zxja";
382 meta.license = lib.licenses.gpl2Only;
385 en = buildOfficialDict {
387 version = "2020.12.07-0";
388 fullName = "English";
389 filename = "aspell6";
390 sha256 = "1cwzqkm8gr1w51rpckwlvb43sb0b5nbwy7s8ns5vi250515773sc";
391 # some parts are under a custom free license others are just stated to be"public domain"
392 # see the Copyright file in the source for further information
393 meta.license = with lib.licenses; [
400 eo = buildOfficialDict {
402 version = "2.1.20000225a-2";
403 fullName = "Esperanto";
404 filename = "aspell6";
405 sha256 = "09vf0mbiicbmyb4bwb7v7lgpabnylg0wy7m3hlhl5rjdda6x3lj1";
406 meta.license = lib.licenses.gpl2Only;
409 es = buildOfficialDict {
412 fullName = "Spanish";
413 filename = "aspell6";
414 sha256 = "1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd";
415 meta.license = lib.licenses.gpl2Only;
418 et = buildOfficialDict {
420 version = "0.1.21-1";
421 fullName = "Estonian";
422 filename = "aspell6";
423 sha256 = "0jdjfa2fskirhnb70fy86xryp9r6gkl729ib8qcjmsma7nm5gs5i";
424 meta.license = lib.licenses.lgpl21Only;
427 fa = buildOfficialDict {
430 fullName = "Persian";
431 filename = "aspell6";
432 sha256 = "0nz1ybwv56q7nl9ip12hfmdch1vyyq2j55bkjcns13lshzm2cba8";
433 meta.license = lib.licenses.gpl2Only;
436 fi = buildOfficialDict {
439 fullName = "Finnish";
440 filename = "aspell6";
441 sha256 = "07d5s08ba4dd89cmwy9icc01i6fjdykxlb9ravmhdrhi8mxz1mzq";
442 meta.license = lib.licenses.gpl2Only;
445 fo = buildOfficialDict {
447 version = "0.2.16-1";
448 fullName = "Faroese";
449 filename = "aspell5";
450 sha256 = "022yz5lll20xrzizcyb7wksm3fgwklnvgnir5la5qkxv770dvq7p";
451 meta.license = lib.licenses.gpl2Only;
454 fr = buildOfficialDict {
459 sha256 = "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr";
460 meta.license = lib.licenses.gpl2Only;
463 fy = buildOfficialDict {
466 fullName = "Frisian";
467 filename = "aspell6";
468 sha256 = "1almi6n4ni91d0rzrk8ig0473m9ypbwqmg56hchz76j51slwyirl";
469 meta.license = lib.licenses.gpl2Only;
472 ga = buildOfficialDict {
476 filename = "aspell5";
477 sha256 = "0y869mmvfb3bzadfgajwa2rfb0xfhi6m9ydwgxkb9v2claydnps5";
478 meta.license = lib.licenses.gpl2Only;
481 gd = buildOfficialDict {
484 fullName = "Scottish Gaelic";
485 filename = "aspell5";
486 sha256 = "0a89irv5d65j5m9sb0k36851x5rs0wij12gb2m6hv2nsfn5a05p3";
487 meta.license = lib.licenses.gpl2Only;
490 gl = buildOfficialDict {
493 fullName = "Galician";
494 filename = "aspell6";
495 sha256 = "12pwghmy18fcdvf9hvhb4q6shi339hb1kwxpkz0bhw0yjxjwzkdk";
496 meta.license = lib.licenses.gpl2Only;
499 grc = buildOfficialDict {
502 fullName = "Ancient Greek";
503 filename = "aspell6";
504 sha256 = "1zxr8958v37v260fkqd4pg37ns5h5kyqm54hn1hg70wq5cz8h512";
505 meta.license = lib.licenses.gpl3Only;
508 gu = buildOfficialDict {
511 fullName = "Gujarati";
512 filename = "aspell6";
513 sha256 = "04c38jnl74lpj2jhjz4zpqbs2623vwc71m6wc5h4b1karid14b23";
514 meta.license = lib.licenses.gpl2Only;
517 gv = buildOfficialDict {
520 fullName = "Manx Gaelic";
522 sha256 = "1rknf4yaw9s29c77sdzg98nhnmjwpicdb69igmz1n768npz2drmv";
523 meta.license = lib.licenses.gpl2Only;
526 he = buildOfficialDict {
530 filename = "aspell6";
531 sha256 = "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn";
532 meta.license = lib.licenses.gpl2Only;
535 hi = buildOfficialDict {
539 filename = "aspell6";
540 sha256 = "0drs374qz4419zx1lf2k281ydxf2750jk5ailafj1x0ncz27h1ys";
541 meta.license = lib.licenses.gpl2Only;
544 hil = buildOfficialDict {
547 fullName = "Hiligaynon";
548 filename = "aspell5";
549 sha256 = "1s482fsfhzic9qa80al4418q3ni3gfn2bkwkd2y46ydrs17kf2jp";
550 meta.license = lib.licenses.gpl2Only;
553 hr = buildOfficialDict {
556 fullName = "Croatian";
558 sha256 = "09aafyf1vqhaxvcf3jfzf365k394b5pf0iivsr2ix5npah1h7i1a";
559 meta.license = lib.licenses.lgpl21Only;
562 hsb = buildOfficialDict {
565 fullName = "Upper Sorbian";
566 filename = "aspell6";
567 sha256 = "0bi2vhz7n1vmg43wbbh935pmzihv80iyz9z65j94lxf753j2m7wd";
568 meta.license = lib.licenses.gpl2Only;
571 hu = buildOfficialDict {
573 version = "0.99.4.2-0";
574 fullName = "Hungarian";
575 filename = "aspell6";
576 sha256 = "1d9nybip2k1dz69zly3iv0npbi3yxgfznh1py364nxzrbjsafd9k";
577 meta.license = lib.licenses.gpl2Only;
580 hus = buildOfficialDict {
583 fullName = "Huastec";
584 filename = "aspell6";
585 sha256 = "09glipfpkz9xch17z11zw1yn2z7jx1f2svfmjn9l6wm1s5qz6a3d";
586 meta.license = lib.licenses.gpl3Only;
589 hy = buildOfficialDict {
591 version = "0.10.0-0";
592 fullName = "Armenian";
593 filename = "aspell6";
594 sha256 = "1w5wq8lfl2xp1nid30b1j5qmya4vjyidq0vpr4y3gf53jc08vsid";
595 meta.license = lib.licenses.gpl2Only;
598 ia = buildOfficialDict {
601 fullName = "Interlingua";
603 sha256 = "0bqcpgsa72pga24fv4fkw38b4qqdvqsw97jvzvw7q03dc1cwp5sp";
604 meta.license = lib.licenses.lgpl21Only;
607 id = buildOfficialDict {
610 fullName = "Indonesian";
611 filename = "aspell5";
612 sha256 = "023knfg0q03f7y5w6xnwa1kspnrcvcnky8xvdms93n2850414faj";
613 meta.license = lib.licenses.gpl2Only;
616 is = buildOfficialDict {
618 version = "0.51.1-0";
619 fullName = "Icelandic";
621 sha256 = "1mp3248lhbr13cj7iq9zs7h5ix0dcwlprp5cwrkcwafrv8lvsd9h";
622 meta.license = lib.licenses.gpl2Only;
625 it = buildOfficialDict {
627 version = "2.2_20050523-0";
628 fullName = "Italian";
629 filename = "aspell6";
630 sha256 = "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v";
631 meta.license = lib.licenses.gpl2Plus;
634 kn = buildOfficialDict {
637 fullName = "Kannada";
638 filename = "aspell6";
639 sha256 = "10sk0wx4x4ds1403kf9dqxv9yjvh06w8qqf4agx57y0jlws0n0fb";
640 meta.license = lib.licenses.gpl3Only;
643 ku = buildOfficialDict {
647 filename = "aspell5";
648 sha256 = "09va98krfbgdaxl101nmd85j3ysqgg88qgfcl42c07crii0pd3wn";
649 meta.license = lib.licenses.gpl2Only;
652 ky = buildOfficialDict {
655 fullName = "Kirghiz";
656 filename = "aspell6";
657 sha256 = "0kzv2syjnnn6pnwx0d578n46hg2l0j62977al47y6wabnhjjy3z1";
658 meta.license = lib.licenses.gpl2Only;
661 la = buildOfficialDict {
663 version = "20020503-0";
665 filename = "aspell6";
666 sha256 = "1199inwi16dznzl087v4skn66fl7h555hi2palx6s1f3s54b11nl";
667 meta.license = lib.licenses.gpl2Only;
670 lt = buildOfficialDict {
673 fullName = "Lithuanian";
674 filename = "aspell6";
675 sha256 = "1asjck911l96q26zj36lmz0jp4b6pivvrf3h38zgc8lc85p3pxgn";
676 meta.license = lib.licenses.bsd3;
679 lv = buildOfficialDict {
682 fullName = "Latvian";
683 filename = "aspell6";
684 sha256 = "12pvs584a6437ijndggdqpp5s7d0w607cimpkxsjwasnx83f4c1w";
685 meta.license = lib.licenses.gpl2Only;
688 mg = buildOfficialDict {
691 fullName = "Malagasy";
692 filename = "aspell5";
693 sha256 = "0hdhbk9b5immjp8l5h4cy82gwgsqzcqbb0qsf7syw333w4rgi0ji";
694 meta.license = lib.licenses.gpl2Only;
697 mi = buildOfficialDict {
702 sha256 = "12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy";
703 meta.license = lib.licenses.lgpl21Only;
706 mk = buildOfficialDict {
709 fullName = "Macedonian";
711 sha256 = "0wcr9n882xi5b7a7ln1hnhq4vfqd5gpqqp87v01j0gb7zf027z0m";
712 meta.license = lib.licenses.gpl2Only;
715 ml = buildOfficialDict {
718 fullName = "Malayalam";
719 filename = "aspell6";
720 sha256 = "1zcn4114gwia085fkz77qk13z29xrbp53q2qvgj2cvcbalg5bkg4";
721 meta.license = lib.licenses.gpl3Only;
724 mn = buildOfficialDict {
727 fullName = "Mongolian";
728 filename = "aspell6";
729 sha256 = "150j9y5c9pw80fwp5rzl5q31q9vjbxixaqljkfwxjb5q93fnw6rg";
730 meta.license = lib.licenses.gpl2Only;
733 mr = buildOfficialDict {
736 fullName = "Marathi";
737 filename = "aspell6";
738 sha256 = "0cvgb2l40sppqbi842ivpznsh2xzp1d4hxc371dll8z0pr05m8yk";
739 meta.license = lib.licenses.gpl2Only;
742 ms = buildOfficialDict {
747 sha256 = "0vr4vhipcfhsxqfs8dim2ph7iiixn22gmlmlb375bx5hgd9y7i1w";
748 meta.license = lib.licenses.fdl12Only;
751 mt = buildOfficialDict {
754 fullName = "Maltese";
756 sha256 = "1d2rl1nlfjq6rfywblvx8m88cyy2x0mzc0mshzbgw359c2nwl3z0";
757 meta.license = lib.licenses.lgpl21Only;
760 nb = buildOfficialDict {
762 version = "0.50.1-0";
763 fullName = "Norwegian Bokmal";
765 sha256 = "12i2bmgdnlkzfinb20j2a0j4a20q91a9j8qpq5vgabbvc65nwx77";
766 meta.license = lib.licenses.gpl2Only;
769 nds = buildOfficialDict {
772 fullName = "Low Saxon";
773 filename = "aspell6";
774 sha256 = "1nkjhwzn45dizi89d19q4bqyd87cim8xyrgr655fampgkn31wf6f";
775 meta.license = lib.licenses.lgpl21Only;
778 nl = buildOfficialDict {
783 sha256 = "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4";
784 # Emacs expects a language called "nederlands".
786 echo "add nl.rws" > $out/lib/aspell/nederlands.multi
788 # from the Copyright file:
789 # > The nl-aspell package includes the GPL COPYRIGHT file but no explicit copyright
790 # > notice. Since he was using autoconf this could have been added automatically.
792 meta.license = lib.licenses.free;
795 nn = buildOfficialDict {
797 version = "0.50.1-1";
798 fullName = "Norwegian Nynorsk";
800 sha256 = "0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc";
801 meta.license = lib.licenses.gpl2Only;
804 ny = buildOfficialDict {
807 fullName = "Chichewa";
808 filename = "aspell5";
809 sha256 = "0gjb92vcg60sfgvrm2f6i89sfkgb179ahvwlgs649fx3dc7rfvqp";
810 meta.license = lib.licenses.gpl2Only;
813 or = buildOfficialDict {
817 filename = "aspell6";
818 sha256 = "0kzj9q225z0ccrlbkijsrafy005pbjy14qcnxb6p93ciz1ls7zyn";
819 meta.license = lib.licenses.gpl2Only;
822 pa = buildOfficialDict {
825 fullName = "Punjabi";
826 filename = "aspell6";
827 sha256 = "0if93zk10pyrs38wwj3vpcdm01h51m5z9gm85h3jxrpgqnqspwy7";
828 meta.license = lib.licenses.gpl2Only;
831 pl = buildOfficialDict {
833 version = "6.0_20061121-0";
835 filename = "aspell6";
836 sha256 = "0kap4kh6bqbb22ypja1m5z3krc06vv4n0hakiiqmv20anzy42xq1";
837 meta.license = with lib.licenses; [
845 pt_BR = buildOfficialDict {
847 version = "20131030-12-0";
848 fullName = "Brazilian Portuguese";
849 filename = "aspell6";
850 sha256 = "1xqlpk21s93c6blkdnpk7l62q9fxjvzdv2x86chl8p2x1gdrj3gb";
851 meta.license = with lib.licenses; [
858 pt_PT = buildOfficialDict {
860 version = "20190329-1-0";
861 fullName = "Portuguese";
862 filename = "aspell6";
863 sha256 = "0ld0d0ily4jqifjfsxfv4shbicz6ymm2gk56fq9gbzra1j4qnw75";
864 meta.license = with lib.licenses; [
871 qu = buildOfficialDict {
874 fullName = "Quechua";
875 filename = "aspell6";
876 sha256 = "009z0zsvzq7r3z3m30clyibs94v77b92h5lmzmzxlns2p0lpd5w0";
877 meta.license = lib.licenses.gpl2Only;
880 ro = buildOfficialDict {
883 fullName = "Romanian";
884 filename = "aspell5";
885 sha256 = "0gb8j9iy1acdl11jq76idgc2lbc1rq3w04favn8cyh55d1v8phsk";
886 meta.license = lib.licenses.gpl2Only;
889 ru = buildOfficialDict {
891 version = "0.99f7-1";
892 fullName = "Russian";
893 filename = "aspell6";
894 sha256 = "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw";
895 meta.license = lib.licenses.free;
898 rw = buildOfficialDict {
901 fullName = "Kinyarwanda";
903 sha256 = "10gh8g747jbrvfk2fn3pjxy1nhcfdpwgmnvkmrp4nd1k1qp101il";
904 meta.license = lib.licenses.gpl2Only;
907 sc = buildOfficialDict {
910 fullName = "Sardinian";
911 filename = "aspell5";
912 sha256 = "0hl7prh5rccsyljwrv3m1hjcsphyrrywk2qvnj122irbf4py46jr";
913 meta.license = lib.licenses.gpl2Only;
916 sk = buildOfficialDict {
920 filename = "aspell6";
921 sha256 = "19k0m1v5pcf7xr4lxgjkzqkdlks8nyb13bvi1n7521f3i4lhma66";
922 meta.license = with lib.licenses; [
929 sl = buildOfficialDict {
932 fullName = "Slovenian";
934 sha256 = "1l9kc5g35flq8kw9jhn2n0bjb4sipjs4qkqzgggs438kywkx2rp5";
935 meta.license = lib.licenses.gpl2Only;
938 sr = buildOfficialDict {
941 fullName = "Serbian";
942 filename = "aspell6";
943 sha256 = "12cj01p4nj80cpf7m3s4jsaf0rsfng7s295j9jfchcq677xmhpkh";
944 meta.license = lib.licenses.lgpl21Only;
947 sv = buildOfficialDict {
950 fullName = "Swedish";
952 sha256 = "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v";
953 meta.license = lib.licenses.lgpl21Only;
956 sw = buildOfficialDict {
959 fullName = "Swahili";
961 sha256 = "15zjh7hdj2b4dgm5bc12w1ims9q357p1q3gjalspnyn5gl81zmby";
962 meta.license = lib.licenses.lgpl21Only;
965 ta = buildOfficialDict {
967 version = "20040424-1";
969 filename = "aspell6";
970 sha256 = "0sj8ygjsyvnr93cs6324y7az7k2vyw7rjxdc9vnm7z60lbqm5xaj";
971 meta.license = lib.licenses.gpl2Only;
974 te = buildOfficialDict {
978 filename = "aspell6";
979 sha256 = "0pgcgxz7dz34zxp9sb85jjzbg3ky6il5wmhffz6ayrbsfn5670in";
980 meta.license = lib.licenses.gpl2Only;
983 tet = buildOfficialDict {
987 filename = "aspell5";
988 sha256 = "17n0y4fhjak47j9qnqf4m4z6zra6dn72rwhp7ig0hhlgqk4ldmcx";
989 meta.license = lib.licenses.gpl2Only;
992 tk = buildOfficialDict {
995 fullName = "Turkmen";
996 filename = "aspell5";
997 sha256 = "02vad4jqhr0xpzqi5q5z7z0xxqccbn8j0c5dhpnm86mnr84l5wl6";
998 meta.license = lib.licenses.gpl2Only;
1001 tl = buildOfficialDict {
1004 fullName = "Tagalog";
1005 filename = "aspell5";
1006 sha256 = "1kca6k7qnpfvvwjnq5r1n242payqsjy96skmw78m7ww6d0n5vdj8";
1007 meta.license = lib.licenses.gpl2Only;
1010 tn = buildOfficialDict {
1012 version = "1.0.1-0";
1013 fullName = "Setswana";
1014 filename = "aspell5";
1015 sha256 = "0q5x7c6z88cn0kkpk7q1craq34g4g03v8x3xcj5a5jia3l7c5821";
1016 meta.license = lib.licenses.gpl2Only;
1019 tr = buildOfficialDict {
1022 fullName = "Turkish";
1023 filename = "aspell";
1024 sha256 = "0jpvpm96ga7s7rmsm6rbyrrr22b2dicxv2hy7ysv5y7bbq757ihb";
1025 meta.license = lib.licenses.gpl2Only;
1028 uk = buildOfficialDict {
1030 version = "1.4.0-0";
1031 fullName = "Ukrainian";
1032 filename = "aspell6";
1033 sha256 = "137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m";
1034 meta.license = with lib.licenses; [
1040 uz = buildOfficialDict {
1044 filename = "aspell6";
1045 sha256 = "0sg3wlyply1idpq5ypyj7kgnaadaiskci1sqs811yhg2gzyc3092";
1046 meta.license = lib.licenses.gpl2Only;
1049 vi = buildOfficialDict {
1051 version = "0.01.1-1";
1052 fullName = "Vietnamese";
1053 filename = "aspell6";
1054 sha256 = "05vwgvf1cj45azhflywx69javqdvqd1f20swrc2d3c32pd9mvn1w";
1055 meta.license = lib.licenses.gpl2Only;
1058 wa = buildOfficialDict {
1061 fullName = "Walloon";
1062 filename = "aspell";
1063 sha256 = "1r1zwz7xkx40dga9vf5wc9ja3jwk1dkpcr1kaa7wryvslf5al5ss";
1064 meta.license = lib.licenses.gpl2Only;
1067 yi = buildOfficialDict {
1069 version = "0.01.1-1";
1070 fullName = "Yiddish";
1071 filename = "aspell6";
1072 sha256 = "0mi842l4038bx3ll2wx9nz44nqrg1x46h5b02zigi1hbbddd6ycq";
1073 meta.license = lib.licenses.gpl2Only;
1076 zu = buildOfficialDict {
1080 filename = "aspell";
1081 sha256 = "15k7gaxrnqnssdyk9l6g27dq317dqp9jz5yzafd25ri01g6mb8iz";
1082 meta.license = lib.licenses.lgpl21Only;
1087 en-computers = buildTxtDict {
1088 shortName = "en-computers";
1089 fullName = "English Computer Jargon";
1093 url = "https://mrsatterly.com/computer.dic";
1094 sha256 = "1vzk7cdvcm9r1c6mgxpabrdcpvghdv9mjmnf6iq5wllcif5nsw2b";
1097 langInputs = [ en ];
1101 cat $src | aspell-affix en-computers --dont-validate-words --lang=en
1104 installPhase = "aspell-install en-computers";
1107 homepage = "https://mrsatterly.com/spelling.html";
1108 license = lib.licenses.wtfpl; # as a comment the source file
1112 en-science = buildTxtDict {
1113 shortName = "en-science";
1114 fullName = "English Scientific Jargon";
1115 version = "0-unstable-2015-07-27";
1118 url = "https://web.archive.org/web/20180806094650if_/http://jpetrie.net/wp-content/uploads/custom_scientific_US.txt";
1119 hash = "sha256-I5d/jf/5v9Nptu2H9qfvMBzSwJYoQOTEzJfQTxKoWN8=";
1123 url = "https://web.archive.org/web/20180131231829if_/http://jpetrie.net/wp-content/uploads/custom_scientific_UK.txt";
1124 hash = "sha256-oT4nUiev5q4QjHeuF8jNVBcyyHE9fdH9+uDMkZsOWp8=";
1127 langInputs = [ en ];
1131 cat $src1 | aspell-plain en_US-science --dont-validate-words --lang=en
1132 cat $src2 | aspell-plain en_GB-science --dont-validate-words --lang=en
1135 installPhase = "aspell-install en_US-science en_GB-science";
1138 homepage = "https://web.archive.org/web/20210425104207/http://www.jpetrie.net/scientific-word-list-for-spell-checkersspelling-dictionaries/";
1139 # no license is given so we have to assume it is unfree
1140 license = lib.licenses.unfree;