lol
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

at 23.05-pre 974 lines 25 kB view raw
1{lib, stdenv, fetchurl, aspell, which, writeScript}: 2 3with lib; 4 5/* HOWTO: 6 7 * Add some of these to your profile or systemPackages. 8 9 ~~~~ 10 environment.systemPackages = [ 11 aspell 12 aspellDicts.en 13 aspellDicts.en-computers 14 aspellDicts.en-science 15 ]; 16 ~~~~ 17 18 * Rebuild and switch to the new profile. 19 * Add something like 20 21 ~~~~ 22 master en_US 23 extra-dicts en-computers.rws 24 add-extra-dicts en_US-science.rws 25 ~~~~ 26 27 to `/etc/aspell.conf` or `~/.aspell.conf`. 28 * Check that `aspell -a` starts without errors. 29 * (optional) Check your config with `aspell dump config | grep -vE '^(#|$)'`. 30 * Enjoy. 31 32*/ 33 34let 35 36 /* Function to compile an Aspell dictionary. Fortunately, they all 37 build in the exact same way. */ 38 buildDict = 39 {shortName, fullName, ...}@args: 40 41 stdenv.mkDerivation ({ 42 name = "aspell-dict-${shortName}"; 43 44 strictDeps = true; 45 46 nativeBuildInputs = [ aspell which ]; 47 48 dontAddPrefix = true; 49 50 configurePlatforms = [ ]; 51 52 preBuild = "makeFlagsArray=(dictdir=$out/lib/aspell datadir=$out/lib/aspell)"; 53 54 meta = { 55 description = "Aspell dictionary for ${fullName}"; 56 platforms = lib.platforms.all; 57 } // (args.meta or {}); 58 } // removeAttrs args [ "meta" ]); 59 60 61 buildOfficialDict = 62 {language, version, filename, fullName, sha256, ...}@args: 63 let buildArgs = { 64 shortName = "${language}-${version}"; 65 66 src = fetchurl { 67 url = "mirror://gnu/aspell/dict/${language}/${filename}-${language}-${version}.tar.bz2"; 68 inherit sha256; 69 }; 70 71 /* Remove any instances of u-deva.cmap and u-deva.cset since 72 they are included in the main aspell package and can 73 cause conflicts otherwise. */ 74 postInstall = '' 75 rm -f $out/lib/aspell/u-deva.{cmap,cset} 76 ''; 77 78 passthru.updateScript = writeScript "update-aspellDict-${language}" '' 79 #!/usr/bin/env nix-shell 80 #!nix-shell -i bash -p nix curl gnused common-updater-scripts 81 set -eu -o pipefail 82 83 # List tarballs in the dictionary's subdirectory via HTTPS and 84 # the simple list method of Apache's mod_autoindex. 85 # 86 # Catalan dictionary has an exception where an earlier version 87 # compares as newer because the versioning scheme has changed. 88 versions=$( 89 echo '['; 90 curl -s 'https://ftp.gnu.org/gnu/aspell/dict/${language}/?F=0' | \ 91 sed -r 's/.* href="${filename}-${language}-([A-Za-z0-9_+.-]+)\.tar\.bz2".*/"\1"/;t;d' | \ 92 if [ '${language}' = "ca" ]; then grep -v 20040130-1; else cat; fi; \ 93 echo ']') 94 95 # Sort versions in descending order using Nix's and take the first as the latest. 96 sortVersions="(with builtins; head (sort (a: b: compareVersions a b > 0) $versions))" 97 # nix-instantiate outputs Nix strings (with quotes), so remove them to get 98 # a result similar to `nix eval --raw`. 99 latestVersion=$(nix-instantiate --eval --expr "$sortVersions" | tr -d '"') 100 101 update-source-version aspellDicts.${language} "$latestVersion" 102 ''; 103 104 meta = { 105 homepage = "http://ftp.gnu.org/gnu/aspell/dict/0index.html"; 106 } // (args.meta or {}); 107 108 } // lib.optionalAttrs (stdenv.isDarwin && elem language [ "is" "nb" ]) { 109 # tar: Cannot open: Illegal byte sequence 110 unpackPhase = '' 111 runHook preUnpack 112 113 tar -xf $src --strip-components=1 || true 114 115 runHook postUnpack 116 ''; 117 118 postPatch = getAttr language { 119 is = '' 120 cp icelandic.alias íslenska.alias 121 sed -i 's/ .slenska\.alias/ íslenska.alias/g' Makefile.pre 122 ''; 123 nb = '' 124 cp bokmal.alias bokmål.alias 125 sed -i 's/ bokm.l\.alias/ bokmål.alias/g' Makefile.pre 126 ''; 127 }; 128 } // removeAttrs args [ "language" "filename" "sha256" "meta" ]; 129 in buildDict buildArgs; 130 131 /* Function to compile txt dict files into Aspell dictionaries. */ 132 buildTxtDict = 133 {langInputs ? [], ...}@args: 134 buildDict ({ 135 propagatedUserEnvPackages = langInputs; 136 137 preBuild = '' 138 # Aspell can't handle multiple data-dirs 139 # Copy everything we might possibly need 140 ${concatMapStringsSep "\n" (p: '' 141 cp -a ${p}/lib/aspell/* . 142 '') ([ aspell ] ++ langInputs)} 143 export ASPELL_CONF="data-dir $(pwd)" 144 145 aspell-create() { 146 target=$1 147 shift 148 echo building $target 149 aspell create "$@" master ./$target.rws 150 } 151 152 words-only() { 153 awk -F'\t' '{print $1}' | sort | uniq 154 } 155 156 # drop comments 157 aspell-affix() { 158 words-only \ 159 | grep -a -v '#' \ 160 | aspell-create "$@" 161 } 162 163 # Hack: drop comments and words with affixes 164 aspell-plain() { 165 words-only \ 166 | grep -a -v '#' \ 167 | grep -a -v '/' \ 168 | aspell-create "$@" 169 } 170 171 aspell-install() { 172 install -d $out/lib/aspell 173 for a in "$@"; do 174 echo installing $a 175 install -t $out/lib/aspell $a.rws 176 done 177 } 178 ''; 179 180 dontUnpack = true; 181 } // args); 182 183in rec { 184 185 ### Languages 186 187 af = buildOfficialDict { 188 language = "af"; 189 version = "0.50-0"; 190 fullName = "Afrikaans"; 191 filename = "aspell"; 192 sha256 = "00p6k2ndi0gzfr5fkbvx4hkcpj223pidjvmxg0r384arrap00q4x"; 193 }; 194 195 am = buildOfficialDict { 196 language = "am"; 197 version = "0.03-1"; 198 fullName = "Amharic"; 199 filename = "aspell6"; 200 sha256 = "11ylp7gjq94wfacyawvp391lsq26rl1b84f268rjn7l7z0hxs9xz"; 201 }; 202 203 ar = buildOfficialDict { 204 language = "ar"; 205 version = "1.2-0"; 206 fullName = "Arabic"; 207 filename = "aspell6"; 208 sha256 = "1avw40bp8yi5bnkq64ihm2rldgw34lk89yz281q9bmndh95a47h4"; 209 }; 210 211 ast = buildOfficialDict { 212 language = "ast"; 213 version = "0.01"; 214 fullName = "Asturian"; 215 filename = "aspell6"; 216 sha256 = "14hg85mxcyvdigf96yvslk7f3v9ngdsxn85qpgwkg31k3k83xwj3"; 217 }; 218 219 az = buildOfficialDict { 220 language = "az"; 221 version = "0.02-0"; 222 fullName = "Azerbaijani"; 223 filename = "aspell6"; 224 sha256 = "1hs4h1jscpxf9f9iyk6mvjqsnhkf0yslkbjhjkasqqcx8pn7cc86"; 225 }; 226 227 be = buildOfficialDict { 228 language = "be"; 229 version = "0.01"; 230 fullName = "Belarusian"; 231 filename = "aspell5"; 232 sha256 = "1svls9p7rsfi3hs0afh0cssj006qb4v1ik2yzqgj8hm10c6as2sm"; 233 }; 234 235 bg = buildOfficialDict { 236 language = "bg"; 237 version = "4.1-0"; 238 fullName = "Bulgarian"; 239 filename = "aspell6"; 240 sha256 = "1alacmgpfk0yrgq83y23d16fhav1bxmb98kg8d2a5r9bvh2h0mvl"; 241 }; 242 243 bn = buildOfficialDict { 244 language = "bn"; 245 version = "0.01.1-1"; 246 fullName = "Bengali"; 247 filename = "aspell6"; 248 sha256 = "1nc02jd67iggirwxnhdvlvaqm0xfyks35c4psszzj3dhzv29qgxh"; 249 }; 250 251 br = buildOfficialDict { 252 language = "br"; 253 version = "0.50-2"; 254 fullName = "Breton"; 255 filename = "aspell"; 256 sha256 = "0fradnm8424bkq9a9zhpl2132dk7y95xmw45sy1c0lx6rinjl4n2"; 257 }; 258 259 ca = buildOfficialDict { 260 language = "ca"; 261 version = "2.1.5-1"; 262 fullName = "Catalan"; 263 filename = "aspell6"; 264 sha256 = "1fb5y5kgvk25nlsfvc8cai978hg66x3pbp9py56pldc7vxzf9npb"; 265 }; 266 267 cs = buildOfficialDict { 268 language = "cs"; 269 version = "20040614-1"; 270 fullName = "Czech"; 271 filename = "aspell6"; 272 sha256 = "0rihj4hsw96pd9casvmpvw3r8040pfa28p1h73x4vyn20zwr3h01"; 273 }; 274 275 csb = buildOfficialDict { 276 language = "csb"; 277 version = "0.02-0"; 278 fullName = "Kashubian"; 279 filename = "aspell6"; 280 sha256 = "1612ypkm684wjvc7n081i87mlrrzif9simc7kyn177hfsl3ssrn1"; 281 }; 282 283 cy = buildOfficialDict { 284 language = "cy"; 285 version = "0.50-3"; 286 fullName = "Welsh"; 287 filename = "aspell"; 288 sha256 = "15vq601lzz1gi311xym4bv9lv1k21xcfn50jmzamw7h6f36rsffm"; 289 }; 290 291 da = buildOfficialDict { 292 language = "da"; 293 version = "1.4.42-1"; 294 fullName = "Danish"; 295 filename = "aspell5"; 296 sha256 = "1hfkmiyhgrx5lgrb2mffjbdn1hivrm73wcg7x0iid74p2yb0fjpp"; 297 }; 298 299 de = buildOfficialDict { 300 language = "de"; 301 version = "20161207-7-0"; 302 fullName = "German"; 303 filename = "aspell6"; 304 sha256 = "0wamclvp66xfmv5wff96v6gdlnfv4y8lx3f8wvxyzm5imwgms4n2"; 305 }; 306 307 de-alt = buildOfficialDict { 308 language = "de-alt"; 309 version = "2.1-1"; 310 fullName = "German - Old Spelling"; 311 filename = "aspell6"; 312 sha256 = "0wwc2l29svv3fv041fh6vfa5m3hi9q9pkbxibzq1ysrsfin3rl9n"; 313 }; 314 315 el = buildOfficialDict { 316 language = "el"; 317 version = "0.08-0"; 318 fullName = "Greek"; 319 filename = "aspell6"; 320 sha256 = "1ljcc30zg2v2h3w5h5jr5im41mw8jbsgvvhdd2cii2yzi8d0zxja"; 321 }; 322 323 en = buildOfficialDict { 324 language = "en"; 325 version = "2020.12.07-0"; 326 fullName = "English"; 327 filename = "aspell6"; 328 sha256 = "1cwzqkm8gr1w51rpckwlvb43sb0b5nbwy7s8ns5vi250515773sc"; 329 }; 330 331 eo = buildOfficialDict { 332 language = "eo"; 333 version = "2.1.20000225a-2"; 334 fullName = "Esperanto"; 335 filename = "aspell6"; 336 sha256 = "09vf0mbiicbmyb4bwb7v7lgpabnylg0wy7m3hlhl5rjdda6x3lj1"; 337 }; 338 339 es = buildOfficialDict { 340 language = "es"; 341 version = "1.11-2"; 342 fullName = "Spanish"; 343 filename = "aspell6"; 344 sha256 = "1k5g328ac1hdpp6fsg57d8md6i0aqcwlszp3gbmp5706wyhpydmd"; 345 }; 346 347 et = buildOfficialDict { 348 language = "et"; 349 version = "0.1.21-1"; 350 fullName = "Estonian"; 351 filename = "aspell6"; 352 sha256 = "0jdjfa2fskirhnb70fy86xryp9r6gkl729ib8qcjmsma7nm5gs5i"; 353 }; 354 355 fa = buildOfficialDict { 356 language = "fa"; 357 version = "0.11-0"; 358 fullName = "Persian"; 359 filename = "aspell6"; 360 sha256 = "0nz1ybwv56q7nl9ip12hfmdch1vyyq2j55bkjcns13lshzm2cba8"; 361 }; 362 363 fi = buildOfficialDict { 364 language = "fi"; 365 version = "0.7-0"; 366 fullName = "Finnish"; 367 filename = "aspell6"; 368 sha256 = "07d5s08ba4dd89cmwy9icc01i6fjdykxlb9ravmhdrhi8mxz1mzq"; 369 }; 370 371 fo = buildOfficialDict { 372 language = "fo"; 373 version = "0.2.16-1"; 374 fullName = "Faroese"; 375 filename = "aspell5"; 376 sha256 = "022yz5lll20xrzizcyb7wksm3fgwklnvgnir5la5qkxv770dvq7p"; 377 }; 378 379 fr = buildOfficialDict { 380 language = "fr"; 381 version = "0.50-3"; 382 fullName = "French"; 383 filename = "aspell"; 384 sha256 = "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr"; 385 }; 386 387 fy = buildOfficialDict { 388 language = "fy"; 389 version = "0.12-0"; 390 fullName = "Frisian"; 391 filename = "aspell6"; 392 sha256 = "1almi6n4ni91d0rzrk8ig0473m9ypbwqmg56hchz76j51slwyirl"; 393 }; 394 395 ga = buildOfficialDict { 396 language = "ga"; 397 version = "4.5-0"; 398 fullName = "Irish"; 399 filename = "aspell5"; 400 sha256 = "0y869mmvfb3bzadfgajwa2rfb0xfhi6m9ydwgxkb9v2claydnps5"; 401 }; 402 403 gd = buildOfficialDict { 404 language = "gd"; 405 version = "0.1.1-1"; 406 fullName = "Scottish Gaelic"; 407 filename = "aspell5"; 408 sha256 = "0a89irv5d65j5m9sb0k36851x5rs0wij12gb2m6hv2nsfn5a05p3"; 409 }; 410 411 gl = buildOfficialDict { 412 language = "gl"; 413 version = "0.5a-2"; 414 fullName = "Galician"; 415 filename = "aspell6"; 416 sha256 = "12pwghmy18fcdvf9hvhb4q6shi339hb1kwxpkz0bhw0yjxjwzkdk"; 417 }; 418 419 grc = buildOfficialDict { 420 language = "grc"; 421 version = "0.02-0"; 422 fullName = "Ancient Greek"; 423 filename = "aspell6"; 424 sha256 = "1zxr8958v37v260fkqd4pg37ns5h5kyqm54hn1hg70wq5cz8h512"; 425 }; 426 427 gu = buildOfficialDict { 428 language = "gu"; 429 version = "0.03-0"; 430 fullName = "Gujarati"; 431 filename = "aspell6"; 432 sha256 = "04c38jnl74lpj2jhjz4zpqbs2623vwc71m6wc5h4b1karid14b23"; 433 }; 434 435 gv = buildOfficialDict { 436 language = "gv"; 437 version = "0.50-0"; 438 fullName = "Manx Gaelic"; 439 filename = "aspell"; 440 sha256 = "1rknf4yaw9s29c77sdzg98nhnmjwpicdb69igmz1n768npz2drmv"; 441 }; 442 443 he = buildOfficialDict { 444 language = "he"; 445 version = "1.0-0"; 446 fullName = "Hebrew"; 447 filename = "aspell6"; 448 sha256 = "13bhbghx5b8g0119g3wxd4n8mlf707y41vlf59irxjj0kynankfn"; 449 }; 450 451 hi = buildOfficialDict { 452 language = "hi"; 453 version = "0.02-0"; 454 fullName = "Hindi"; 455 filename = "aspell6"; 456 sha256 = "0drs374qz4419zx1lf2k281ydxf2750jk5ailafj1x0ncz27h1ys"; 457 }; 458 459 hil = buildOfficialDict { 460 language = "hil"; 461 version = "0.11-0"; 462 fullName = "Hiligaynon"; 463 filename = "aspell5"; 464 sha256 = "1s482fsfhzic9qa80al4418q3ni3gfn2bkwkd2y46ydrs17kf2jp"; 465 }; 466 467 hr = buildOfficialDict { 468 language = "hr"; 469 version = "0.51-0"; 470 fullName = "Croatian"; 471 filename = "aspell"; 472 sha256 = "09aafyf1vqhaxvcf3jfzf365k394b5pf0iivsr2ix5npah1h7i1a"; 473 }; 474 475 hsb = buildOfficialDict { 476 language = "hsb"; 477 version = "0.02-0"; 478 fullName = "Upper Sorbian"; 479 filename = "aspell6"; 480 sha256 = "0bi2vhz7n1vmg43wbbh935pmzihv80iyz9z65j94lxf753j2m7wd"; 481 }; 482 483 hu = buildOfficialDict { 484 language = "hu"; 485 version = "0.99.4.2-0"; 486 fullName = "Hungarian"; 487 filename = "aspell6"; 488 sha256 = "1d9nybip2k1dz69zly3iv0npbi3yxgfznh1py364nxzrbjsafd9k"; 489 }; 490 491 hus = buildOfficialDict { 492 language = "hus"; 493 version = "0.03-1"; 494 fullName = "Huastec"; 495 filename = "aspell6"; 496 sha256 = "09glipfpkz9xch17z11zw1yn2z7jx1f2svfmjn9l6wm1s5qz6a3d"; 497 }; 498 499 hy = buildOfficialDict { 500 language = "hy"; 501 version = "0.10.0-0"; 502 fullName = "Armenian"; 503 filename = "aspell6"; 504 sha256 = "1w5wq8lfl2xp1nid30b1j5qmya4vjyidq0vpr4y3gf53jc08vsid"; 505 }; 506 507 ia = buildOfficialDict { 508 language = "ia"; 509 version = "0.50-1"; 510 fullName = "Interlingua"; 511 filename = "aspell"; 512 sha256 = "0bqcpgsa72pga24fv4fkw38b4qqdvqsw97jvzvw7q03dc1cwp5sp"; 513 }; 514 515 id = buildOfficialDict { 516 language = "id"; 517 version = "1.2-0"; 518 fullName = "Indonesian"; 519 filename = "aspell5"; 520 sha256 = "023knfg0q03f7y5w6xnwa1kspnrcvcnky8xvdms93n2850414faj"; 521 }; 522 523 is = buildOfficialDict { 524 language = "is"; 525 version = "0.51.1-0"; 526 fullName = "Icelandic"; 527 filename = "aspell"; 528 sha256 = "1mp3248lhbr13cj7iq9zs7h5ix0dcwlprp5cwrkcwafrv8lvsd9h"; 529 }; 530 531 it = buildOfficialDict { 532 language = "it"; 533 version = "2.2_20050523-0"; 534 fullName = "Italian"; 535 filename = "aspell6"; 536 sha256 = "1gdf7bc1a0kmxsmphdqq8pl01h667mjsj6hihy6kqy14k5qdq69v"; 537 }; 538 539 kn = buildOfficialDict { 540 language = "kn"; 541 version = "0.01-1"; 542 fullName = "Kannada"; 543 filename = "aspell6"; 544 sha256 = "10sk0wx4x4ds1403kf9dqxv9yjvh06w8qqf4agx57y0jlws0n0fb"; 545 }; 546 547 ku = buildOfficialDict { 548 language = "ku"; 549 version = "0.20-1"; 550 fullName = "Kurdi"; 551 filename = "aspell5"; 552 sha256 = "09va98krfbgdaxl101nmd85j3ysqgg88qgfcl42c07crii0pd3wn"; 553 }; 554 555 ky = buildOfficialDict { 556 language = "ky"; 557 version = "0.01-0"; 558 fullName = "Kirghiz"; 559 filename = "aspell6"; 560 sha256 = "0kzv2syjnnn6pnwx0d578n46hg2l0j62977al47y6wabnhjjy3z1"; 561 }; 562 563 la = buildOfficialDict { 564 language = "la"; 565 version = "20020503-0"; 566 fullName = "Latin"; 567 filename = "aspell6"; 568 sha256 = "1199inwi16dznzl087v4skn66fl7h555hi2palx6s1f3s54b11nl"; 569 }; 570 571 lt = buildOfficialDict { 572 language = "lt"; 573 version = "1.2.1-0"; 574 fullName = "Lithuanian"; 575 filename = "aspell6"; 576 sha256 = "1asjck911l96q26zj36lmz0jp4b6pivvrf3h38zgc8lc85p3pxgn"; 577 }; 578 579 lv = buildOfficialDict { 580 language = "lv"; 581 version = "0.5.5-1"; 582 fullName = "Latvian"; 583 filename = "aspell6"; 584 sha256 = "12pvs584a6437ijndggdqpp5s7d0w607cimpkxsjwasnx83f4c1w"; 585 }; 586 587 mg = buildOfficialDict { 588 language = "mg"; 589 version = "0.03-0"; 590 fullName = "Malagasy"; 591 filename = "aspell5"; 592 sha256 = "0hdhbk9b5immjp8l5h4cy82gwgsqzcqbb0qsf7syw333w4rgi0ji"; 593 }; 594 595 mi = buildOfficialDict { 596 language = "mi"; 597 version = "0.50-0"; 598 fullName = "Maori"; 599 filename = "aspell"; 600 sha256 = "12bxplpd348yx8d2q8qvahi9dlp7qf28qmanzhziwc7np8rixvmy"; 601 }; 602 603 mk = buildOfficialDict { 604 language = "mk"; 605 version = "0.50-0"; 606 fullName = "Macedonian"; 607 filename = "aspell"; 608 sha256 = "0wcr9n882xi5b7a7ln1hnhq4vfqd5gpqqp87v01j0gb7zf027z0m"; 609 }; 610 611 ml = buildOfficialDict { 612 language = "ml"; 613 version = "0.03-1"; 614 fullName = "Malayalam"; 615 filename = "aspell6"; 616 sha256 = "1zcn4114gwia085fkz77qk13z29xrbp53q2qvgj2cvcbalg5bkg4"; 617 }; 618 619 mn = buildOfficialDict { 620 language = "mn"; 621 version = "0.06-2"; 622 fullName = "Mongolian"; 623 filename = "aspell6"; 624 sha256 = "150j9y5c9pw80fwp5rzl5q31q9vjbxixaqljkfwxjb5q93fnw6rg"; 625 }; 626 627 mr = buildOfficialDict { 628 language = "mr"; 629 version = "0.10-0"; 630 fullName = "Marathi"; 631 filename = "aspell6"; 632 sha256 = "0cvgb2l40sppqbi842ivpznsh2xzp1d4hxc371dll8z0pr05m8yk"; 633 }; 634 635 ms = buildOfficialDict { 636 language = "ms"; 637 version = "0.50-0"; 638 fullName = "Malay"; 639 filename = "aspell"; 640 sha256 = "0vr4vhipcfhsxqfs8dim2ph7iiixn22gmlmlb375bx5hgd9y7i1w"; 641 }; 642 643 mt = buildOfficialDict { 644 language = "mt"; 645 version = "0.50-0"; 646 fullName = "Maltese"; 647 filename = "aspell"; 648 sha256 = "1d2rl1nlfjq6rfywblvx8m88cyy2x0mzc0mshzbgw359c2nwl3z0"; 649 }; 650 651 nb = buildOfficialDict { 652 language = "nb"; 653 version = "0.50.1-0"; 654 fullName = "Norwegian Bokmal"; 655 filename = "aspell"; 656 sha256 = "12i2bmgdnlkzfinb20j2a0j4a20q91a9j8qpq5vgabbvc65nwx77"; 657 }; 658 659 nds = buildOfficialDict { 660 language = "nds"; 661 version = "0.01-0"; 662 fullName = "Low Saxon"; 663 filename = "aspell6"; 664 sha256 = "1nkjhwzn45dizi89d19q4bqyd87cim8xyrgr655fampgkn31wf6f"; 665 }; 666 667 nl = buildOfficialDict { 668 language = "nl"; 669 version = "0.50-2"; 670 fullName = "Dutch"; 671 filename = "aspell"; 672 sha256 = "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4"; 673 # Emacs expects a language called "nederlands". 674 postInstall = '' 675 echo "add nl.rws" > $out/lib/aspell/nederlands.multi 676 ''; 677 }; 678 679 nn = buildOfficialDict { 680 language = "nn"; 681 version = "0.50.1-1"; 682 fullName = "Norwegian Nynorsk"; 683 filename = "aspell"; 684 sha256 = "0w2k5l5rbqpliripgqwiqixz5ghnjf7i9ggbrc4ly4vy1ia10rmc"; 685 }; 686 687 ny = buildOfficialDict { 688 language = "ny"; 689 version = "0.01-0"; 690 fullName = "Chichewa"; 691 filename = "aspell5"; 692 sha256 = "0gjb92vcg60sfgvrm2f6i89sfkgb179ahvwlgs649fx3dc7rfvqp"; 693 }; 694 695 or = buildOfficialDict { 696 language = "or"; 697 version = "0.03-1"; 698 fullName = "Oriya"; 699 filename = "aspell6"; 700 sha256 = "0kzj9q225z0ccrlbkijsrafy005pbjy14qcnxb6p93ciz1ls7zyn"; 701 }; 702 703 pa = buildOfficialDict { 704 language = "pa"; 705 version = "0.01-1"; 706 fullName = "Punjabi"; 707 filename = "aspell6"; 708 sha256 = "0if93zk10pyrs38wwj3vpcdm01h51m5z9gm85h3jxrpgqnqspwy7"; 709 }; 710 711 pl = buildOfficialDict { 712 language = "pl"; 713 version = "6.0_20061121-0"; 714 fullName = "Polish"; 715 filename = "aspell6"; 716 sha256 = "0kap4kh6bqbb22ypja1m5z3krc06vv4n0hakiiqmv20anzy42xq1"; 717 }; 718 719 pt_BR = buildOfficialDict { 720 language = "pt_BR"; 721 version = "20131030-12-0"; 722 fullName = "Brazilian Portuguese"; 723 filename = "aspell6"; 724 sha256 = "1xqlpk21s93c6blkdnpk7l62q9fxjvzdv2x86chl8p2x1gdrj3gb"; 725 }; 726 727 pt_PT = buildOfficialDict { 728 language = "pt_PT"; 729 version = "20190329-1-0"; 730 fullName = "Portuguese"; 731 filename = "aspell6"; 732 sha256 = "0ld0d0ily4jqifjfsxfv4shbicz6ymm2gk56fq9gbzra1j4qnw75"; 733 }; 734 735 qu = buildOfficialDict { 736 language = "qu"; 737 version = "0.02-0"; 738 fullName = "Quechua"; 739 filename = "aspell6"; 740 sha256 = "009z0zsvzq7r3z3m30clyibs94v77b92h5lmzmzxlns2p0lpd5w0"; 741 }; 742 743 ro = buildOfficialDict { 744 language = "ro"; 745 version = "3.3-2"; 746 fullName = "Romanian"; 747 filename = "aspell5"; 748 sha256 = "0gb8j9iy1acdl11jq76idgc2lbc1rq3w04favn8cyh55d1v8phsk"; 749 }; 750 751 ru = buildOfficialDict { 752 language = "ru"; 753 version = "0.99f7-1"; 754 fullName = "Russian"; 755 filename = "aspell6"; 756 sha256 = "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw"; 757 }; 758 759 rw = buildOfficialDict { 760 language = "rw"; 761 version = "0.50-0"; 762 fullName = "Kinyarwanda"; 763 filename = "aspell"; 764 sha256 = "10gh8g747jbrvfk2fn3pjxy1nhcfdpwgmnvkmrp4nd1k1qp101il"; 765 }; 766 767 sc = buildOfficialDict { 768 language = "sc"; 769 version = "1.0"; 770 fullName = "Sardinian"; 771 filename = "aspell5"; 772 sha256 = "0hl7prh5rccsyljwrv3m1hjcsphyrrywk2qvnj122irbf4py46jr"; 773 }; 774 775 sk = buildOfficialDict { 776 language = "sk"; 777 version = "2.01-2"; 778 fullName = "Slovak"; 779 filename = "aspell6"; 780 sha256 = "19k0m1v5pcf7xr4lxgjkzqkdlks8nyb13bvi1n7521f3i4lhma66"; 781 }; 782 783 sl = buildOfficialDict { 784 language = "sl"; 785 version = "0.50-0"; 786 fullName = "Slovenian"; 787 filename = "aspell"; 788 sha256 = "1l9kc5g35flq8kw9jhn2n0bjb4sipjs4qkqzgggs438kywkx2rp5"; 789 }; 790 791 sr = buildOfficialDict { 792 language = "sr"; 793 version = "0.02"; 794 fullName = "Serbian"; 795 filename = "aspell6"; 796 sha256 = "12cj01p4nj80cpf7m3s4jsaf0rsfng7s295j9jfchcq677xmhpkh"; 797 }; 798 799 sv = buildOfficialDict { 800 language = "sv"; 801 version = "0.51-0"; 802 fullName = "Swedish"; 803 filename = "aspell"; 804 sha256 = "02jwkjhr32kvyibnyzgx3smbnm576jwdzg3avdf6zxwckhy5fw4v"; 805 }; 806 807 sw = buildOfficialDict { 808 language = "sw"; 809 version = "0.50-0"; 810 fullName = "Swahili"; 811 filename = "aspell"; 812 sha256 = "15zjh7hdj2b4dgm5bc12w1ims9q357p1q3gjalspnyn5gl81zmby"; 813 }; 814 815 ta = buildOfficialDict { 816 language = "ta"; 817 version = "20040424-1"; 818 fullName = "Tamil"; 819 filename = "aspell6"; 820 sha256 = "0sj8ygjsyvnr93cs6324y7az7k2vyw7rjxdc9vnm7z60lbqm5xaj"; 821 }; 822 823 te = buildOfficialDict { 824 language = "te"; 825 version = "0.01-2"; 826 fullName = "Telugu"; 827 filename = "aspell6"; 828 sha256 = "0pgcgxz7dz34zxp9sb85jjzbg3ky6il5wmhffz6ayrbsfn5670in"; 829 }; 830 831 tet = buildOfficialDict { 832 language = "tet"; 833 version = "0.1.1"; 834 fullName = "Tetum"; 835 filename = "aspell5"; 836 sha256 = "17n0y4fhjak47j9qnqf4m4z6zra6dn72rwhp7ig0hhlgqk4ldmcx"; 837 }; 838 839 tk = buildOfficialDict { 840 language = "tk"; 841 version = "0.01-0"; 842 fullName = "Turkmen"; 843 filename = "aspell5"; 844 sha256 = "02vad4jqhr0xpzqi5q5z7z0xxqccbn8j0c5dhpnm86mnr84l5wl6"; 845 }; 846 847 tl = buildOfficialDict { 848 language = "tl"; 849 version = "0.02-1"; 850 fullName = "Tagalog"; 851 filename = "aspell5"; 852 sha256 = "1kca6k7qnpfvvwjnq5r1n242payqsjy96skmw78m7ww6d0n5vdj8"; 853 }; 854 855 tn = buildOfficialDict { 856 language = "tn"; 857 version = "1.0.1-0"; 858 fullName = "Setswana"; 859 filename = "aspell5"; 860 sha256 = "0q5x7c6z88cn0kkpk7q1craq34g4g03v8x3xcj5a5jia3l7c5821"; 861 }; 862 863 tr = buildOfficialDict { 864 language = "tr"; 865 version = "0.50-0"; 866 fullName = "Turkish"; 867 filename = "aspell"; 868 sha256 = "0jpvpm96ga7s7rmsm6rbyrrr22b2dicxv2hy7ysv5y7bbq757ihb"; 869 }; 870 871 uk = buildOfficialDict { 872 language = "uk"; 873 version = "1.4.0-0"; 874 fullName = "Ukrainian"; 875 filename = "aspell6"; 876 sha256 = "137i4njvnslab6l4s291s11xijr5jsy75lbdph32f9y183lagy9m"; 877 }; 878 879 uz = buildOfficialDict { 880 language = "uz"; 881 version = "0.6-0"; 882 fullName = "Uzbek"; 883 filename = "aspell6"; 884 sha256 = "0sg3wlyply1idpq5ypyj7kgnaadaiskci1sqs811yhg2gzyc3092"; 885 }; 886 887 vi = buildOfficialDict { 888 language = "vi"; 889 version = "0.01.1-1"; 890 fullName = "Vietnamese"; 891 filename = "aspell6"; 892 sha256 = "05vwgvf1cj45azhflywx69javqdvqd1f20swrc2d3c32pd9mvn1w"; 893 }; 894 895 wa = buildOfficialDict { 896 language = "wa"; 897 version = "0.50-0"; 898 fullName = "Walloon"; 899 filename = "aspell"; 900 sha256 = "1r1zwz7xkx40dga9vf5wc9ja3jwk1dkpcr1kaa7wryvslf5al5ss"; 901 }; 902 903 yi = buildOfficialDict { 904 language = "yi"; 905 version = "0.01.1-1"; 906 fullName = "Yiddish"; 907 filename = "aspell6"; 908 sha256 = "0mi842l4038bx3ll2wx9nz44nqrg1x46h5b02zigi1hbbddd6ycq"; 909 }; 910 911 zu = buildOfficialDict { 912 language = "zu"; 913 version = "0.50-0"; 914 fullName = "Zulu"; 915 filename = "aspell"; 916 sha256 = "15k7gaxrnqnssdyk9l6g27dq317dqp9jz5yzafd25ri01g6mb8iz"; 917 }; 918 919 ### Jargons 920 921 en-computers = buildTxtDict { 922 shortName = "en-computers"; 923 fullName = "English Computer Jargon"; 924 925 src = fetchurl { 926 url = "https://mrsatterly.com/computer.dic"; 927 sha256 = "1vzk7cdvcm9r1c6mgxpabrdcpvghdv9mjmnf6iq5wllcif5nsw2b"; 928 }; 929 930 langInputs = [ en ]; 931 932 buildPhase = '' 933 runHook preBuild 934 cat $src | aspell-affix en-computers --dont-validate-words --lang=en 935 runHook postBuild 936 ''; 937 installPhase = "aspell-install en-computers"; 938 939 meta = { 940 homepage = "https://mrsatterly.com/spelling.html"; 941 }; 942 }; 943 944 en-science = buildTxtDict { 945 shortName = "en-science"; 946 fullName = "English Scientific Jargon"; 947 948 src1 = fetchurl { 949 url = "http://jpetrie.net/wp-content/uploads/custom_scientific_US.txt"; 950 sha256 = "1nf4py2mg0mlv9s5a7had2wn29z2v6bcca0fs6rbpdn4nqc4s7dm"; 951 }; 952 953 src2 = fetchurl { 954 url = "http://jpetrie.net/wp-content/uploads/custom_scientific_UK.txt"; 955 sha256 = "0f88il1ds6qazy1ghxviqcwsywrbf6pzl2lmzf4f3qvhdfb6f1y0"; 956 }; 957 958 langInputs = [ en ]; 959 960 buildPhase = '' 961 runHook preBuild 962 cat $src1 | aspell-plain en_US-science --dont-validate-words --lang=en 963 cat $src2 | aspell-plain en_GB-science --dont-validate-words --lang=en 964 runHook postBuild 965 ''; 966 installPhase = "aspell-install en_US-science en_GB-science"; 967 968 meta = { 969 homepage = "http://www.jpetrie.net/scientific-word-list-for-spell-checkersspelling-dictionaries/"; 970 }; 971 972 }; 973 974}