* aspell: hacked up a little patch to allow additional dictionary
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
This commit is contained in:
parent
183d29946f
commit
6679941615
@ -1,16 +0,0 @@
|
|||||||
source $stdenv/setup
|
|
||||||
genericBuild
|
|
||||||
|
|
||||||
# dictionaries search for aspell and prezip-bin
|
|
||||||
export PATH=$out/bin:$PATH
|
|
||||||
mkdir dict-tmp
|
|
||||||
cd dict-tmp
|
|
||||||
for d in $dictionaries; do
|
|
||||||
tar jxvf $d
|
|
||||||
cd aspell6-*
|
|
||||||
./configure
|
|
||||||
make
|
|
||||||
make install
|
|
||||||
rm -rf aspell6-*
|
|
||||||
cd ..
|
|
||||||
done
|
|
@ -1,19 +1,25 @@
|
|||||||
{stdenv, fetchurl, perl, which}:
|
{stdenv, fetchurl, perl}:
|
||||||
|
|
||||||
stdenv.mkDerivation {
|
stdenv.mkDerivation {
|
||||||
name = "aspell-0.60.5";
|
name = "aspell-0.60.5";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.5.tar.gz;
|
url = ftp://ftp.gnu.org/gnu/aspell/aspell-0.60.5.tar.gz;
|
||||||
md5 = "17fd8acac6293336bcef44391b71e337";
|
md5 = "17fd8acac6293336bcef44391b71e337";
|
||||||
};
|
};
|
||||||
builder = ./builder.sh;
|
|
||||||
|
buildInputs = [perl];
|
||||||
|
|
||||||
buildInputs = [perl which];
|
patches = [
|
||||||
dictionaries =
|
# A patch that allows additional dictionary directories to be set
|
||||||
let en = fetchurl {
|
# specified through the environment variable
|
||||||
url = ftp://ftp.gnu.org/gnu/aspell/dict/en/aspell6-en-6.0-0.tar.bz2;
|
# ASPELL_EXTRA_DICT_DIRS (comma-separated).
|
||||||
md5 = "16449e0a266e1ecc526b2f3cd39d4bc2";
|
./dict-path.patch
|
||||||
};
|
];
|
||||||
in
|
|
||||||
[ en ];
|
meta = {
|
||||||
|
description = "A spell checker for many languages";
|
||||||
|
homepage = http://aspell.net/;
|
||||||
|
license = "LGPL";
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
30
pkgs/development/libraries/aspell/dict-path.patch
Normal file
30
pkgs/development/libraries/aspell/dict-path.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
diff -rc aspell-0.60.5-orig/common/info.cpp aspell-0.60.5/common/info.cpp
|
||||||
|
*** aspell-0.60.5-orig/common/info.cpp 2004-11-10 07:18:45.000000000 +0100
|
||||||
|
--- aspell-0.60.5/common/info.cpp 2007-10-23 17:30:47.000000000 +0200
|
||||||
|
***************
|
||||||
|
*** 209,214 ****
|
||||||
|
--- 209,215 ----
|
||||||
|
unsigned int name_size,
|
||||||
|
IStream & in)
|
||||||
|
{
|
||||||
|
+ char * extra_dict_dirs = getenv("ASPELL_EXTRA_DICT_DIRS");
|
||||||
|
ModuleInfoNode * * prev = &head_;
|
||||||
|
ModuleInfoNode * to_add = new ModuleInfoNode();
|
||||||
|
to_add->c_struct.name = 0;
|
||||||
|
***************
|
||||||
|
*** 246,251 ****
|
||||||
|
--- 247,260 ----
|
||||||
|
goto RETURN_ERROR;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ // Add dictionaries from directories in
|
||||||
|
+ // $ASPELL_EXTRA_DICT_DIRS. Maybe this isn't the right place to do
|
||||||
|
+ // this, but it works.
|
||||||
|
+ if (extra_dict_dirs) {
|
||||||
|
+ to_add->c_struct.dict_dirs = &(to_add->dict_dirs);
|
||||||
|
+ itemize(extra_dict_dirs, to_add->dict_dirs);
|
||||||
|
+ }
|
||||||
|
|
||||||
|
while (*prev != 0 &&
|
||||||
|
(*prev)->c_struct.order_num < to_add->c_struct.order_num)
|
91
pkgs/development/libraries/aspell/dictionaries.nix
Normal file
91
pkgs/development/libraries/aspell/dictionaries.nix
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
{stdenv, fetchurl, aspell, which}:
|
||||||
|
|
||||||
|
let
|
||||||
|
|
||||||
|
/* Function to compile an Aspell dictionary. Fortunately, they all
|
||||||
|
build in the exact same way. */
|
||||||
|
buildDict =
|
||||||
|
{shortName, fullName, src}:
|
||||||
|
|
||||||
|
stdenv.mkDerivation {
|
||||||
|
name = "aspell-dict-${shortName}";
|
||||||
|
|
||||||
|
inherit src;
|
||||||
|
|
||||||
|
buildInputs = [aspell which];
|
||||||
|
|
||||||
|
dontAddPrefix = true;
|
||||||
|
|
||||||
|
preBuild = "makeFlagsArray=(dictdir=$out/lib/aspell datadir=$out/lib/aspell)";
|
||||||
|
|
||||||
|
meta = {
|
||||||
|
description = "Aspell dictionary for ${fullName}";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
in {
|
||||||
|
|
||||||
|
de = buildDict {
|
||||||
|
shortName = "de-20030222-1";
|
||||||
|
fullName = "German";
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://gnu/aspell/dict/de/aspell6-de-20030222-1.tar.bz2;
|
||||||
|
sha256 = "01p92qj66cqb346gk7hjfynaap5sbcn85xz07kjfdq623ghr8v5s";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
en = buildDict {
|
||||||
|
shortName = "en-6.0-0";
|
||||||
|
fullName = "English";
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://gnu/aspell/dict/en/aspell6-en-6.0-0.tar.bz2;
|
||||||
|
sha256 = "1628rrx1yq9jmnd86sr24vih101smb818vf10vx97f6j263niw14";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
es = buildDict {
|
||||||
|
shortName = "es-0.50-2";
|
||||||
|
fullName = "Spanish";
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://gnu/aspell/dict/es/aspell-es-0.50-2.tar.bz2;
|
||||||
|
sha256 = "0i96xswcng35n5zhgpiswmi5sdpx63kl8bg7fl1zp5j1shr2l3jw";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
fr = buildDict {
|
||||||
|
shortName = "fr-0.50-3";
|
||||||
|
fullName = "French";
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://gnu/aspell/dict/fr/aspell-fr-0.50-3.tar.bz2;
|
||||||
|
sha256 = "14ffy9mn5jqqpp437kannc3559bfdrpk7r36ljkzjalxa53i0hpr";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
la = buildDict {
|
||||||
|
shortName = "la-20020503-0";
|
||||||
|
fullName = "Latin";
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://gnu/aspell/dict/la/aspell6-la-20020503-0.tar.bz2;
|
||||||
|
sha256 = "1199inwi16dznzl087v4skn66fl7h555hi2palx6s1f3s54b11nl";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
nl = buildDict {
|
||||||
|
shortName = "nl-0.50-2";
|
||||||
|
fullName = "Dutch";
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://gnu/aspell/dict/nl/aspell-nl-0.50-2.tar.bz2;
|
||||||
|
sha256 = "0ffb87yjsh211hllpc4b9khqqrblial4pzi1h9r3v465z1yhn3j4";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
ru = buildDict {
|
||||||
|
shortName = "ru-0.99f7-1";
|
||||||
|
fullName = "Russian";
|
||||||
|
src = fetchurl {
|
||||||
|
url = mirror://gnu/aspell/dict/ru/aspell6-ru-0.99f7-1.tar.bz2;
|
||||||
|
sha256 = "0ip6nq43hcr7vvzbv4lwwmlwgfa60hrhsldh9xy3zg2prv6bcaaw";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
@ -1433,9 +1433,13 @@ rec {
|
|||||||
};
|
};
|
||||||
|
|
||||||
aspell = import ../development/libraries/aspell {
|
aspell = import ../development/libraries/aspell {
|
||||||
inherit fetchurl stdenv perl which;
|
inherit fetchurl stdenv perl;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
aspellDicts = recurseIntoAttrs (import ../development/libraries/aspell/dictionaries.nix {
|
||||||
|
inherit fetchurl stdenv aspell which;
|
||||||
|
});
|
||||||
|
|
||||||
audiofile = import ../development/libraries/audiofile {
|
audiofile = import ../development/libraries/audiofile {
|
||||||
inherit fetchurl stdenv;
|
inherit fetchurl stdenv;
|
||||||
};
|
};
|
||||||
|
@ -9,6 +9,8 @@ let {
|
|||||||
apacheAnt
|
apacheAnt
|
||||||
apacheHttpd
|
apacheHttpd
|
||||||
aspectj
|
aspectj
|
||||||
|
aspell
|
||||||
|
aspellDicts
|
||||||
aterm
|
aterm
|
||||||
autoconf
|
autoconf
|
||||||
automake19x
|
automake19x
|
||||||
|
Loading…
x
Reference in New Issue
Block a user