Aspell will search for dictionaries in all nix profiles even when used as library.
Setting data-dir or dict-dir in ASPELL_CONF will disable this behavior.
In c0cf19608f the function
`aspellWithDicts` was introduced, that allows to build a derivation
consisting of aspell and specified dictionaries. In
96457d26dd a fix was included to properly
find the dictionaries.
Issue #29429 describes that, while the current method works for the
aspell binary, it does not in case of the API.
This commit rewrites the wrapper into a single derivation, create a
single tree of symbolic references to both the binary and the
dictionaries so that its possible to find the dictionaries with the API.
Furthermore, the binary is wrapped so it can still find the dictionaries
as well.
Currently, `aspell` checks the active profiles for dictionaries. While
this may be convenient, it does not work with `nix-shell` and it doesn't
allow any isolation.
This commit adds the possibility to use composition by creating a
derivation with `symlinkJoin` that contains all the chosen dictionaries,
and another derivation that wraps the executables linking to the dictionaries.
Nix example:
my_aspell = aspellWithDicts(ps: with ps; [ en nl ])
`nix-shell` example:
nix-shell -p 'aspellWithDicts(ps: with ps; [ en nl ])'
if the user didn't set ASPELL_CONF, use it to point to the dictionary
location by first looking at NIX_PROFILE directories and then using
$HOME/.nix-profile.
See NixOS/nixpkgs#1000
It is better to specify data-dir in the environmental variable since
then both the language description files and the dictionaries will be
found. Since dict-dir defaults to data-dir only the latter needs to be
set. See for example https://github.com/NixOS/nixpkgs/issues/1000
There are many more packages to fix, this is just a start.
Rules:
* Don't repeat the package name (not always that easy...)
* Start with capital letter
* Don't end with full stop
* Don't start with "The ..." or "A ..."
I've also added descriptions to some packages and rewritten others.
The commit downgraded the german language dictionary from version 20030222-1 to
20120607 (and broke the build in the process). That change was probably not
intended?
directories to be specified through the environment variable
ASPELL_EXTRA_DICT_DIRS. This way dictionaries don't have to be
installed into aspell's prefix. Instead you can just set
ASPELL_EXTRA_DICT_DIRS to $HOME/.nix-profile/lib/aspell and install
dictionaries separately with nix-env (e.g. "nix-env -i
aspell-dict-nl").
* Added a bunch of Aspell dictionaries. Additional dictionaries can
be added easily in development/libraries/aspell/dictionaries.nix.
svn path=/nixpkgs/trunk/; revision=9512
M pkgs/development/libraries/aspell/default.nix
aspell comes without any dictionaries, so if you actually want to use
it you need to install additional dictionary packages. I've added the
package for English, but obviously more should be added. Dictionaries
are installed in the prefix of aspell.
M pkgs/top-level/all-packages.nix
aspell dict package for English needs which
added an option enableMPlayer to wrapFirefox to disable the MPlayer
plugin. It's enabled by default.
svn path=/nixpkgs/trunk/; revision=8944
Added gtkspell
Added pidgin, builds but does not run yet:
running pidgin fails to find libX11.so.6. ldd on pidgin reports:
libX11.so.6 => not found
....
libX11.so.6 => /nix/store/brsva6rh1p2ymjvk7054a90is5panrhf-libX11-1.1.1/lib/libX11.so.6 (0xb7358000)
which looks a bit weird ... Maybe some problem with patchelf? Or just
a build problem and should the library path be set using an
environment variable?
svn path=/nixpkgs/trunk/; revision=8660