From Mageia wiki
Jump to: navigation, search

Overwiev

There are 3 linguistic components in Mageia

  1. spell checker
  2. thesaurus library
  3. text hyphenation library

Spell checkers

Present in Mageia

  1. multilingual
    1. ispell (remnant)
    2. aspell
    3. myspell
    4. hunspell
  2. for a specific language
    1. hspell (Hebrew)
    2. voikko (Finnish)

Why to consolidate ?

Main reasons:

  1. For the same task (and fully transparent for a common user) Mageia uses multiple spell checkers
  2. This is a multiplication of the number of packages to be installed on disks of every common user and to maintain by the packaging staff (library, additional software + usually ~100 language packages)
  3. Today hunspell is de facto standard
  4. Fedora http://fedoraproject.org/wiki/Releases/FeatureDictionary and Ubuntu https://wiki.ubuntu.com/ConsolidateSpellingLibs already consolidated their spell checkers in 2008 and use hunspell
  5. Possibility to ged rid of a lot of unmaintained and fully replaceable packages like myspell or aspell

unmaintained tools

(data from the beginning of 2011.10)

Mostly everything is unmaintained

  • ispell - perl-Lingua-Ispell seems to be never used and is de facto broken (no ispell, /usr/local ispell location)
  • aspell - 70 unmaintained, 7 maintained
    • maintained

aspell aspell-af aspell-br aspell-cs aspell-cy aspell-en aspell-he

    • unmaintained

aspell-am aspell-az aspell-be aspell-bg aspell-bn aspell-ca aspell-da aspell-de aspell-el aspell-eo aspell-es aspell-et aspell-fa aspell-fi aspell-fo aspell-fr aspell-ga aspell-gd aspell-gl aspell-gv aspell-hi aspell-hr aspell-hsb aspell-hu aspell-ia aspell-id aspell-is aspell-it aspell-ku aspell-la aspell-lt aspell-lv aspell-mg aspell-mi aspell-mk aspell-mn aspell-mr aspell-ms aspell-mt aspell-nb aspell-nds aspell-nl aspell-nn aspell-ny aspell-or aspell-pa aspell-pl aspell-pt aspell-pt-preao aspell-pt_BR aspell-qu aspell-ro aspell-ru aspell-rw aspell-sc aspell-sk aspell-sl aspell-sv aspell-sw aspell-ta aspell-tet aspell-tl aspell-tn aspell-tr aspell-uk aspell-uz aspell-vi aspell-wa aspell-yi aspell-zu

  • myspell - completely unmaintained
    • unmaintained
      • myspell-br
      • myspell-dictionaries - 95 languages inside, 58 MB in binrepo
  • hunspell - 117 unmaintained, 1 maintained
    • unmaintained

hunspell hunspell-af hunspell-ak hunspell-am hunspell-ar hunspell-as hunspell-ast hunspell-az hunspell-be hunspell-ber hunspell-bg hunspell-bn hunspell-ca hunspell-cop hunspell-csb hunspell-cv hunspell-cy hunspell-da hunspell-de hunspell-dsb hunspell-el hunspell-en hunspell-eo hunspell-es hunspell-et hunspell-eu hunspell-fa hunspell-fj hunspell-fo hunspell-fr hunspell-fur hunspell-fy hunspell-ga hunspell-gd hunspell-gl hunspell-grc hunspell-gu hunspell-gv hunspell-hi hunspell-hil hunspell-hr hunspell-hsb hunspell-ht hunspell-hu hunspell-hy hunspell-ia hunspell-id hunspell-is hunspell-it hunspell-kk hunspell-km hunspell-kn hunspell-ko hunspell-ku hunspell-ky hunspell-la hunspell-lb hunspell-ln hunspell-lt hunspell-mai hunspell-mi hunspell-mk hunspell-ml hunspell-mn hunspell-mos hunspell-mr hunspell-ms hunspell-nds hunspell-ne hunspell-nl hunspell-no hunspell-nr hunspell-nso hunspell-ny hunspell-oc hunspell-om hunspell-or hunspell-pa hunspell-pl hunspell-pt hunspell-qu hunspell-quh hunspell-ro hunspell-ru hunspell-rw hunspell-sc hunspell-se hunspell-shs hunspell-si hunspell-sk hunspell-sl hunspell-smj hunspell-so hunspell-sq hunspell-sr hunspell-ss hunspell-st hunspell-sv hunspell-sw hunspell-ta hunspell-te hunspell-tet hunspell-th hunspell-ti hunspell-tk hunspell-tl hunspell-tn hunspell-ts hunspell-uk hunspell-ur hunspell-uz hunspell-ve hunspell-vi hunspell-wa hunspell-xh hunspell-yi hunspell-zu

    • maintained
      • hunspell-br

language specific spell checkers

There are two language specific spell checkers in Mageia

  • voikko (Finnish) fully maintained in Mageia (by anssi)

firefox-ext-mozvoikko libreoffice-voikko libvoikko voikko-fi

  • hspell (Hebrew) fully maintained in Mageia (by shlomif)
    • hspell

Goals

  1. Consolidate the spell checking libs, and use hunspell for every possible software in Mageia
  2. Prepare common policy for hunspell
  3. Lower the number of unmaintained software

Steps

(if there are lacking packages here, please update the lists)

  1. Submerge Ispell remnant packages
    1. perl-Lingua-Ispell https://bugs.mageia.org/show_bug.cgi?id=3516
  2. Replac myspell with hunspell or enchant everywhere
    1. iceape https://bugs.mageia.org/show_bug.cgi?id=3754
    2. celtx https://bugs.mageia.org/show_bug.cgi?id=3755
    3. firefox-beta
    4. firefox
    5. seamonkey (SVN only)
  3. Submerge myspell and myspell dictionaries
  4. Replace aspell with hunspell or enchant everywhere
    1. alpine https://bugs.mageia.org/show_bug.cgi?id=3756
    2. kadu-module-spellchecker https://bugs.mageia.org/show_bug.cgi?id=3757
    3. kdelibs4-core https://bugs.mageia.org/show_bug.cgi?id=3758
    4. perl-Text-Aspell - this package will be saved
    5. scribus https://bugs.mageia.org/show_bug.cgi?id=3759
    6. weechat-aspell https://bugs.mageia.org/show_bug.cgi?id=3760
    7. xedit https://bugs.mageia.org/show_bug.cgi?id=3761
    8. xfig https://bugs.mageia.org/show_bug.cgi?id=3762
    9. gedit https://bugs.mageia.org/show_bug.cgi?id=3765
    10. psi https://bugs.mageia.org/show_bug.cgi?id=3766
    11. perl-Test-Spelling https://bugs.mageia.org/show_bug.cgi?id=4385
    12. perl-Padre-Plugin-SpellCheck https://bugs.mageia.org/show_bug.cgi?id=4386
    13. claws-mail https://bugs.mageia.org/show_bug.cgi?id=3716
    14. ktoon https://bugs.mageia.org/show_bug.cgi?id=3767 (SVN only)
    15. eclipse-texlipse https://bugs.mageia.org/show_bug.cgi?id=3768
    16. enchant - see discussion
    17. php ?
    18. php-pear-Horde_SpellChecker ?
    19. mutt https://bugs.mageia.org/show_bug.cgi?id=3769

Discuss

>> aspell and myspell both provides enchant-dictionary and respectively
>>    aspell-dictionary and myspell-dictionary but hunspell doesn't. Could we
>>    have this kind of provides added to hunspell-xx ?
>
> Yes, this should be done when enchant will be able to use dictionnaries from %datadir/myspell.
+
>
> When
>>    suggested/required, it allows than at least one dictionary is installed.
>>
>>   - enchant doesn't find hunspell dict, it search in %datadir/dict/ooo
>>     (where myspell install them) and hunspell dict are in %datadir/myspell/.
>>     Should this be fixed at enchant level or at hunspell level ?
>
> Yes, for now enchant uses myspell dictionary from %datadir/dict/ooo; that's why myspell dictionaries provide enchant-dictionary, but hunspell dictionaries don't.
> We can simply replace %{_datadir}/dict/ooo by %datadir/myspell in enchant, but it would be probably better to patch enchant to handle both paths in order to ease transition. 
btw, Firefox and Thunderbird should be fixed to use system hyphenation dictionaries, instead of their own hyphenation dictionaries. 
>
>>> Current enchant pkg needs to be converted to use hunspell as the
>>> primary/default backend rather than aspell which it is now uses.
>>> Simply drop the BR for aspell-devel and only use hunspell-devel.
>> Yes, you are right.
>>
>> I'm thinking of disabling Aspell support (so therefore no more
>> BuildRequires/Requires for Aspell) in enchant at all, and make Aspell
>> as deprecated as possible.
>>
>> What do you think about it?
>
> I can see no real reason not to do so.
I will add this idea to the wiki too.
> At some point, if not now, if/when we drop myspell it might make sense
> to change the hunspell-dictionary install directory from
> %{_datadir}/myspell/* to %{_datadir}/hunspell/* and configure enchant
> accordingly.
This is the good idea! I've looked into some other distros, Fedora despite absent MySpell still uses the old location for dictionaries. Distros like Arch, Debian, Ubuntu keep files in %{_datadir}/hunspell/* and use symlinks in %{_datadir}/myspell/*. Gentoo uses common packages for both spell-checkers.

I favour installing files into %{_datadir}/hunspell/* and to keep symlinks in %{_datadir}/myspell/* as the backward compatibility.