Hello! GNU Guix does not follow the file system hierarchy standard (FHS) and thus does not have a “standard location” where dictionaries can be looked for.
When using the ‘aspell’ command-line tool, that’s not a problem: users can simply do export ASPELL_CONF="dict-dir $HOME/.guix-profile/lib/aspell" and then ‘aspell’ will look for dictionaries in this place. However, libaspell does not honor ‘ASPELL_CONF’, and thus libraries such as Enchant that link against libaspell think there are no dictionaries around because they’re not looking in the right place: https://bugs.gnu.org/25836 To work around this, I considered patching our ‘aspell’ package in Guix such that libaspell would always honor ‘ASPELL_CONF’. I tried this naive patch:
--- aspell-0.60.6.1/lib/new_config.cpp 2017-03-10 11:16:56.343795853 +0100 +++ aspell-0.60.6.1/lib/new_config.cpp 2017-03-10 11:16:57.607786182 +0100 @@ -17,6 +17,10 @@ namespace acommon { Config * new_config() { Config * config = new_basic_config(); + + // Honor 'ASPELL_CONF' unconditionally. + config->read_in_settings(); + setup_static_filters(config); return config; }
… but it breaks the ‘aspell’ command: aspell: common/config.cpp:1335: acommon::PosibErr<void> acommon::Config::set_committed_state(bool): Assertion `empty()' failed. So two questions: 1. What am I doing wrong in this patch? :-) 2. What’s your take on the general issue of this need to configure libaspell when its users (Enchant here) are oblivious to this configuration? Thanks in advance, Ludo’.
_______________________________________________ Aspell-devel mailing list Aspell-devel@gnu.org https://lists.gnu.org/mailman/listinfo/aspell-devel