uboot: (firmwareOdroidC2/C4) don't invoke patch tool, use patches = [] instead
https://github.com/NixOS/nixpkgs/blob/master/pkgs/stdenv/generic/setup.sh#L948 this can do it nicely. Signed-off-by: Anton Arapov <anton@deadbeef.mx>
This commit is contained in:
commit
56de2bcd43
30691 changed files with 3076956 additions and 0 deletions
|
|
@ -0,0 +1,37 @@
|
|||
From 8c67f314de2684d77315eecd99ef091d441f17dd Mon Sep 17 00:00:00 2001
|
||||
From: Matthew Bauer <mjbauer95@gmail.com>
|
||||
Date: Wed, 24 Jul 2019 15:35:18 -0400
|
||||
Subject: [PATCH] Make hunspell look in XDG_DATA_DIRS for dictionaries
|
||||
|
||||
Some dictionaries may exist but only show up under XDG_DATA_DIRS. For
|
||||
instance, $HOME/.local/share/hunspell could contain some dictionaries.
|
||||
|
||||
This patch adds each directory in the hunspell subdir of each
|
||||
XDG_DATA_DIRS to the lookup path.
|
||||
|
||||
Upstream pr is available at: https://github.com/hunspell/hunspell/pull/637
|
||||
---
|
||||
src/tools/hunspell.cxx | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/src/tools/hunspell.cxx b/src/tools/hunspell.cxx
|
||||
index 690e34a..6cd127e 100644
|
||||
--- a/src/tools/hunspell.cxx
|
||||
+++ b/src/tools/hunspell.cxx
|
||||
@@ -2044,6 +2044,13 @@ int main(int argc, char** argv) {
|
||||
if (getenv("DICPATH")) {
|
||||
path_std_str.append(getenv("DICPATH")).append(PATHSEP);
|
||||
}
|
||||
+ if (getenv("XDG_DATA_DIRS")) {
|
||||
+ char* dir = strtok(getenv("XDG_DATA_DIRS"), ":");
|
||||
+ while (dir != NULL) {
|
||||
+ path_std_str.append(dir).append("/hunspell:");
|
||||
+ dir = strtok(NULL, ":");
|
||||
+ }
|
||||
+ }
|
||||
path_std_str.append(LIBDIR).append(PATHSEP);
|
||||
if (HOME) {
|
||||
const char * userooodir[] = USEROOODIR;
|
||||
--
|
||||
2.22.0
|
||||
|
||||
65
pkgs/development/libraries/hunspell/default.nix
Normal file
65
pkgs/development/libraries/hunspell/default.nix
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
{ lib, stdenv, fetchFromGitHub, fetchpatch, ncurses, readline, autoreconfHook }:
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
version = "1.7.0";
|
||||
pname = "hunspell";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "hunspell";
|
||||
repo = "hunspell";
|
||||
rev = "v${version}";
|
||||
sha256 = "sha256-YSJztik0QTZFNR8k8Xu1hakyE16NziDavYVkEUCbtGM=";
|
||||
};
|
||||
|
||||
outputs = [ "bin" "dev" "out" "man" ];
|
||||
|
||||
buildInputs = [ ncurses readline ];
|
||||
nativeBuildInputs = [ autoreconfHook ];
|
||||
|
||||
patches = [
|
||||
./0001-Make-hunspell-look-in-XDG_DATA_DIRS-for-dictionaries.patch
|
||||
(fetchpatch {
|
||||
name = "CVE-2019-16707.patch";
|
||||
url = "https://github.com/hunspell/hunspell/commit/ac938e2ecb48ab4dd21298126c7921689d60571b.patch";
|
||||
sha256 = "0bwfksz87iy7ikx3fb54zd5ww169qfm9kl076hsch3cs8p30s8az";
|
||||
})
|
||||
];
|
||||
|
||||
postPatch = ''
|
||||
patchShebangs tests
|
||||
'';
|
||||
|
||||
autoreconfFlags = "-vfi";
|
||||
|
||||
configureFlags = [ "--with-ui" "--with-readline" ];
|
||||
|
||||
hardeningDisable = [ "format" ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://hunspell.sourceforge.net";
|
||||
description = "Spell checker";
|
||||
longDescription = ''
|
||||
Hunspell is the spell checker of LibreOffice, OpenOffice.org, Mozilla
|
||||
Firefox 3 & Thunderbird, Google Chrome, and it is also used by
|
||||
proprietary software packages, like macOS, InDesign, memoQ, Opera and
|
||||
SDL Trados.
|
||||
|
||||
Main features:
|
||||
|
||||
* Extended support for language peculiarities; Unicode character encoding, compounding and complex morphology.
|
||||
* Improved suggestion using n-gram similarity, rule and dictionary based pronunciation data.
|
||||
* Morphological analysis, stemming and generation.
|
||||
* Hunspell is based on MySpell and works also with MySpell dictionaries.
|
||||
* C++ library under GPL/LGPL/MPL tri-license.
|
||||
* Interfaces and ports:
|
||||
* Enchant (Generic spelling library from the Abiword project),
|
||||
* XSpell (macOS port, but Hunspell is part of the macOS from version 10.6 (Snow Leopard), and
|
||||
now it is enough to place Hunspell dictionary files into
|
||||
~/Library/Spelling or /Library/Spelling for spell checking),
|
||||
* Delphi, Java (JNA, JNI), Perl, .NET, Python, Ruby ([1], [2]), UNO.
|
||||
'';
|
||||
platforms = platforms.all;
|
||||
license = with licenses; [ gpl2 lgpl21 mpl11 ];
|
||||
maintainers = with lib.maintainers; [ ];
|
||||
};
|
||||
}
|
||||
848
pkgs/development/libraries/hunspell/dictionaries.nix
Normal file
848
pkgs/development/libraries/hunspell/dictionaries.nix
Normal file
|
|
@ -0,0 +1,848 @@
|
|||
/* hunspell dictionaries */
|
||||
|
||||
{ lib, stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip, ispell, perl, hunspell }:
|
||||
|
||||
|
||||
let
|
||||
mkDict =
|
||||
{ pname, readmeFile, dictFileName, ... }@args:
|
||||
stdenv.mkDerivation ({
|
||||
inherit pname;
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
# hunspell dicts
|
||||
install -dm755 "$out/share/hunspell"
|
||||
install -m644 ${dictFileName}.dic "$out/share/hunspell/"
|
||||
install -m644 ${dictFileName}.aff "$out/share/hunspell/"
|
||||
# myspell dicts symlinks
|
||||
install -dm755 "$out/share/myspell/dicts"
|
||||
ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
|
||||
ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
|
||||
# docs
|
||||
install -dm755 "$out/share/doc"
|
||||
install -m644 ${readmeFile} $out/share/doc/${pname}.txt
|
||||
runHook postInstall
|
||||
'';
|
||||
} // args);
|
||||
|
||||
mkDictFromRla =
|
||||
{ shortName, shortDescription, dictFileName }:
|
||||
mkDict rec {
|
||||
inherit dictFileName;
|
||||
version = "2.2";
|
||||
pname = "hunspell-dict-${shortName}-rla";
|
||||
readmeFile = "README.txt";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sbosio";
|
||||
repo = "rla-es";
|
||||
rev = "v${version}";
|
||||
sha256 = "0n9ms092k7vg7xpd3ksadxydbrizkb7js7dfxr08nbnnb9fgy0i8";
|
||||
};
|
||||
meta = with lib; {
|
||||
description = "Hunspell dictionary for ${shortDescription} from rla";
|
||||
homepage = "https://github.com/sbosio/rla-es";
|
||||
license = with licenses; [ gpl3 lgpl3 mpl11 ];
|
||||
maintainers = with maintainers; [ renzo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
nativeBuildInputs = [ bash coreutils which zip unzip ];
|
||||
patchPhase = ''
|
||||
substituteInPlace ortograf/herramientas/make_dict.sh \
|
||||
--replace /bin/bash bash \
|
||||
--replace /dev/stderr stderr.log
|
||||
|
||||
substituteInPlace ortograf/herramientas/remover_comentarios.sh \
|
||||
--replace /bin/bash bash \
|
||||
'';
|
||||
buildPhase = ''
|
||||
cd ortograf/herramientas
|
||||
bash -x ./make_dict.sh -l ${dictFileName} -2
|
||||
unzip ${dictFileName}.zip \
|
||||
${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromDSSO =
|
||||
{ shortName, shortDescription, dictFileName }:
|
||||
mkDict rec {
|
||||
inherit dictFileName;
|
||||
version = "2.40";
|
||||
# Should really use a string function or something
|
||||
_version = "2-40";
|
||||
pname = "hunspell-dict-${shortName}-dsso";
|
||||
_name = "ooo_swedish_dict_${_version}";
|
||||
readmeFile = "LICENSE_en_US.txt";
|
||||
src = fetchurl {
|
||||
url = "https://extensions.libreoffice.org/extensions/swedish-spelling-dictionary-den-stora-svenska-ordlistan/${version}/@@download/file/${_name}.oxt";
|
||||
sha256 = "b982881cc75f5c4af1199535bd4735ee476bdc48edf63e3f05fb4f715654a7bc";
|
||||
};
|
||||
meta = with lib; {
|
||||
longDescription = ''
|
||||
Svensk ordlista baserad på DSSO (den stora svenska ordlistan) och Göran
|
||||
Anderssons (goran@init.se) arbete med denna. Ordlistan hämtas från
|
||||
LibreOffice då dsso.se inte längre verkar vara med oss.
|
||||
'';
|
||||
description = "Hunspell dictionary for ${shortDescription} from LibreOffice";
|
||||
license = licenses.lgpl3;
|
||||
platforms = platforms.all;
|
||||
};
|
||||
nativeBuildInputs = [ unzip ];
|
||||
sourceRoot = ".";
|
||||
unpackCmd = ''
|
||||
unzip $src dictionaries/${dictFileName}.dic dictionaries/${dictFileName}.aff $readmeFile
|
||||
'';
|
||||
installPhase = ''
|
||||
# hunspell dicts
|
||||
install -dm755 "$out/share/hunspell"
|
||||
install -m644 dictionaries/${dictFileName}.dic "$out/share/hunspell/"
|
||||
install -m644 dictionaries/${dictFileName}.aff "$out/share/hunspell/"
|
||||
# myspell dicts symlinks
|
||||
install -dm755 "$out/share/myspell/dicts"
|
||||
ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
|
||||
ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
|
||||
# docs
|
||||
install -dm755 "$out/share/doc"
|
||||
install -m644 ${readmeFile} $out/share/doc/${pname}.txt
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromDicollecte =
|
||||
{ shortName, shortDescription, longDescription, dictFileName, isDefault ? false }:
|
||||
mkDict rec {
|
||||
inherit dictFileName;
|
||||
version = "5.3";
|
||||
pname = "hunspell-dict-${shortName}-dicollecte";
|
||||
readmeFile = "README_dict_fr.txt";
|
||||
src = fetchurl {
|
||||
url = "http://www.dicollecte.org/download/fr/hunspell-french-dictionaries-v${version}.zip";
|
||||
sha256 = "0ca7084jm7zb1ikwzh1frvpb97jn27i7a5d48288h2qlfp068ik0";
|
||||
};
|
||||
meta = with lib; {
|
||||
inherit longDescription;
|
||||
description = "Hunspell dictionary for ${shortDescription} from Dicollecte";
|
||||
homepage = "https://www.dicollecte.org/home.php?prj=fr";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ renzo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
nativeBuildInputs = [ unzip ];
|
||||
sourceRoot = ".";
|
||||
unpackCmd = ''
|
||||
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||
'';
|
||||
postInstall = lib.optionalString isDefault ''
|
||||
for ext in aff dic; do
|
||||
ln -sv $out/share/hunspell/${dictFileName}.$ext $out/share/hunspell/fr_FR.$ext
|
||||
ln -sv $out/share/myspell/dicts/${dictFileName}.$ext $out/share/myspell/dicts/fr_FR.$ext
|
||||
done
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromWordlist =
|
||||
{ shortName, shortDescription, srcFileName, dictFileName, src }:
|
||||
mkDict rec {
|
||||
inherit src srcFileName dictFileName;
|
||||
version = "2018.04.16";
|
||||
pname = "hunspell-dict-${shortName}-wordlist";
|
||||
srcReadmeFile = "README_" + srcFileName + ".txt";
|
||||
readmeFile = "README_" + dictFileName + ".txt";
|
||||
meta = with lib; {
|
||||
description = "Hunspell dictionary for ${shortDescription} from Wordlist";
|
||||
homepage = "http://wordlist.aspell.net/";
|
||||
license = licenses.bsd3;
|
||||
maintainers = with maintainers; [ renzo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
nativeBuildInputs = [ unzip ];
|
||||
sourceRoot = ".";
|
||||
unpackCmd = ''
|
||||
unzip $src ${srcFileName}.dic ${srcFileName}.aff ${srcReadmeFile}
|
||||
'';
|
||||
postUnpack = ''
|
||||
mv ${srcFileName}.dic ${dictFileName}.dic || true
|
||||
mv ${srcFileName}.aff ${dictFileName}.aff || true
|
||||
mv ${srcReadmeFile} ${readmeFile} || true
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromLinguistico =
|
||||
{ shortName, shortDescription, dictFileName, src }:
|
||||
mkDict rec {
|
||||
inherit src dictFileName;
|
||||
version = "2.4";
|
||||
pname = "hunspell-dict-${shortName}-linguistico";
|
||||
readmeFile = dictFileName + "_README.txt";
|
||||
meta = with lib; {
|
||||
description = "Hunspell dictionary for ${shortDescription}";
|
||||
homepage = "https://sourceforge.net/projects/linguistico/";
|
||||
license = licenses.gpl3;
|
||||
maintainers = with maintainers; [ renzo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
nativeBuildInputs = [ unzip ];
|
||||
sourceRoot = ".";
|
||||
prePatch = ''
|
||||
# Fix dic file empty lines (FS#22275)
|
||||
sed '/^\/$/d' -i ${dictFileName}.dic
|
||||
'';
|
||||
unpackCmd = ''
|
||||
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromXuxen =
|
||||
{ shortName, srcs, shortDescription, longDescription, dictFileName }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hunspell-dict-${shortName}-xuxen";
|
||||
version = "5-2015.11.10";
|
||||
|
||||
inherit srcs;
|
||||
|
||||
sourceRoot = ".";
|
||||
# Copy files stripping until first dash (path and hash)
|
||||
unpackCmd = "cp $curSrc \${curSrc##*-}";
|
||||
installPhase = ''
|
||||
# hunspell dicts
|
||||
install -dm755 "$out/share/hunspell"
|
||||
install -m644 ${dictFileName}.dic "$out/share/hunspell/"
|
||||
install -m644 ${dictFileName}.aff "$out/share/hunspell/"
|
||||
# myspell dicts symlinks
|
||||
install -dm755 "$out/share/myspell/dicts"
|
||||
ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
|
||||
ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "http://xuxen.eus/";
|
||||
description = shortDescription;
|
||||
longDescription = longDescription;
|
||||
license = licenses.gpl2;
|
||||
maintainers = with maintainers; [ zalakain ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
|
||||
mkDictFromJ3e =
|
||||
{ shortName, shortDescription, dictFileName }:
|
||||
stdenv.mkDerivation rec {
|
||||
pname = "hunspell-dict-${shortName}-j3e";
|
||||
version = "20161207";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://j3e.de/ispell/igerman98/dict/igerman98-${version}.tar.bz2";
|
||||
sha256 = "1a3055hp2bc4q4nlg3gmg0147p3a1zlfnc65xiv2v9pyql1nya8p";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [ ispell perl hunspell ];
|
||||
|
||||
dontBuild = true;
|
||||
|
||||
installPhase = ''
|
||||
patchShebangs bin
|
||||
make hunspell/${dictFileName}.aff hunspell/${dictFileName}.dic
|
||||
# hunspell dicts
|
||||
install -dm755 "$out/share/hunspell"
|
||||
install -m644 hunspell/${dictFileName}.dic "$out/share/hunspell/"
|
||||
install -m644 hunspell/${dictFileName}.aff "$out/share/hunspell/"
|
||||
# myspell dicts symlinks
|
||||
install -dm755 "$out/share/myspell/dicts"
|
||||
ln -sv "$out/share/hunspell/${dictFileName}.dic" "$out/share/myspell/dicts/"
|
||||
ln -sv "$out/share/hunspell/${dictFileName}.aff" "$out/share/myspell/dicts/"
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://www.j3e.de/ispell/igerman98/index_en.html";
|
||||
description = shortDescription;
|
||||
license = with licenses; [ gpl2 gpl3 ];
|
||||
maintainers = with maintainers; [ timor ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
|
||||
mkDictFromLibreOffice =
|
||||
{ shortName
|
||||
, shortDescription
|
||||
, dictFileName
|
||||
, license
|
||||
, readmeFile ? "README_${dictFileName}.txt"
|
||||
, sourceRoot ? dictFileName
|
||||
}:
|
||||
mkDict rec {
|
||||
pname = "hunspell-dict-${shortName}-libreoffice";
|
||||
version = "6.3.0.4";
|
||||
inherit dictFileName readmeFile;
|
||||
src = fetchFromGitHub {
|
||||
owner = "LibreOffice";
|
||||
repo = "dictionaries";
|
||||
rev = "libreoffice-${version}";
|
||||
sha256 = "14z4b0grn7cw8l9s7sl6cgapbpwhn1b3gwc3kn6b0k4zl3dq7y63";
|
||||
};
|
||||
buildPhase = ''
|
||||
cp -a ${sourceRoot}/* .
|
||||
'';
|
||||
meta = with lib; {
|
||||
homepage = "https://wiki.documentfoundation.org/Development/Dictionaries";
|
||||
description = "Hunspell dictionary for ${shortDescription} from LibreOffice";
|
||||
license = license;
|
||||
maintainers = with maintainers; [ vlaci ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
|
||||
in
|
||||
rec {
|
||||
|
||||
/* ENGLISH */
|
||||
|
||||
en_US = en-us;
|
||||
en-us = mkDictFromWordlist {
|
||||
shortName = "en-us";
|
||||
shortDescription = "English (United States)";
|
||||
srcFileName = "en_US";
|
||||
dictFileName = "en_US";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_US-2018.04.16.zip";
|
||||
sha256 = "18hbncvqnckzqarrmnzk58plymjqyi93k4qj98fac5mr71jbmzaf";
|
||||
};
|
||||
};
|
||||
|
||||
en_US-large = en-us-large;
|
||||
en-us-large = mkDictFromWordlist {
|
||||
shortName = "en-us-large";
|
||||
shortDescription = "English (United States) Large";
|
||||
srcFileName = "en_US-large";
|
||||
dictFileName = "en_US";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_US-large-2018.04.16.zip";
|
||||
sha256 = "1xm9jgqbivp5cb78ykjxg47vzq1yqj82l7r4q5cjpivrv99s49qc";
|
||||
};
|
||||
};
|
||||
|
||||
en_CA = en-ca;
|
||||
en-ca = mkDictFromWordlist {
|
||||
shortName = "en-ca";
|
||||
shortDescription = "English (Canada)";
|
||||
srcFileName = "en_CA";
|
||||
dictFileName = "en_CA";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_CA-2018.04.16.zip";
|
||||
sha256 = "06yf3s7y1215jmikbs18cn4j8a13csp4763w3jfgah8zlim6vc47";
|
||||
};
|
||||
};
|
||||
|
||||
en_CA-large = en-ca-large;
|
||||
en-ca-large = mkDictFromWordlist {
|
||||
shortName = "en-ca-large";
|
||||
shortDescription = "English (Canada) Large";
|
||||
srcFileName = "en_CA-large";
|
||||
dictFileName = "en_CA";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_CA-large-2018.04.16.zip";
|
||||
sha256 = "1200xxyvv6ni8nk52v3059c367817vnrkm0cdh38rhiigb5flfha";
|
||||
};
|
||||
};
|
||||
|
||||
en_AU = en-au;
|
||||
en-au = mkDictFromWordlist {
|
||||
shortName = "en-au";
|
||||
shortDescription = "English (Australia)";
|
||||
srcFileName = "en_AU";
|
||||
dictFileName = "en_AU";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_AU-2018.04.16.zip";
|
||||
sha256 = "1kp06npl1kd05mm9r52cg2iwc13x02zwqgpibdw15b6x43agg6f5";
|
||||
};
|
||||
};
|
||||
|
||||
en_AU-large = en-au-large;
|
||||
en-au-large = mkDictFromWordlist {
|
||||
shortName = "en-au-large";
|
||||
shortDescription = "English (Australia) Large";
|
||||
srcFileName = "en_AU-large";
|
||||
dictFileName = "en_AU";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_AU-large-2018.04.16.zip";
|
||||
sha256 = "14l1w4dpk0k1js2wwq5ilfil89ni8cigph95n1rh6xi4lzxj7h6g";
|
||||
};
|
||||
};
|
||||
|
||||
en_GB-ise = en-gb-ise;
|
||||
en-gb-ise = mkDictFromWordlist {
|
||||
shortName = "en-gb-ise";
|
||||
shortDescription = "English (United Kingdom, 'ise' ending)";
|
||||
srcFileName = "en_GB-ise";
|
||||
dictFileName = "en_GB";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-ise-2018.04.16.zip";
|
||||
sha256 = "0ylg1zvfvsawamymcc9ivrqcb9qhlpgpnizm076xc56jz554xc2l";
|
||||
};
|
||||
};
|
||||
|
||||
en_GB-ize = en-gb-ize;
|
||||
en-gb-ize = mkDictFromWordlist {
|
||||
shortName = "en-gb-ize";
|
||||
shortDescription = "English (United Kingdom, 'ize' ending)";
|
||||
srcFileName = "en_GB-ize";
|
||||
dictFileName = "en_GB";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-ize-2018.04.16.zip";
|
||||
sha256 = "1rmwy6sxmd400cwjf58az6g14sq28p18f5mlq8ybg8y33q9m42ps";
|
||||
};
|
||||
};
|
||||
|
||||
en_GB-large = en-gb-large;
|
||||
en-gb-large = mkDictFromWordlist {
|
||||
shortName = "en-gb-large";
|
||||
shortDescription = "English (United Kingdom) Large";
|
||||
srcFileName = "en_GB-large";
|
||||
dictFileName = "en_GB";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/wordlist/speller/2018.04.16/hunspell-en_GB-large-2018.04.16.zip";
|
||||
sha256 = "1y4d7x5vvi1qh1s3i09m0vvqrpdzzqhsdngr8nsh7hc5bnlm37mi";
|
||||
};
|
||||
};
|
||||
|
||||
/* SPANISH */
|
||||
|
||||
es_ANY = es-any;
|
||||
es-any = mkDictFromRla {
|
||||
shortName = "es-any";
|
||||
shortDescription = "Spanish (any variant)";
|
||||
dictFileName = "es_ANY";
|
||||
};
|
||||
|
||||
es_AR = es-ar;
|
||||
es-ar = mkDictFromRla {
|
||||
shortName = "es-ar";
|
||||
shortDescription = "Spanish (Argentina)";
|
||||
dictFileName = "es_AR";
|
||||
};
|
||||
|
||||
es_BO = es-bo;
|
||||
es-bo = mkDictFromRla {
|
||||
shortName = "es-bo";
|
||||
shortDescription = "Spanish (Bolivia)";
|
||||
dictFileName = "es_BO";
|
||||
};
|
||||
|
||||
es_CL = es-cl;
|
||||
es-cl = mkDictFromRla {
|
||||
shortName = "es-cl";
|
||||
shortDescription = "Spanish (Chile)";
|
||||
dictFileName = "es_CL";
|
||||
};
|
||||
|
||||
es_CO = es-co;
|
||||
es-co = mkDictFromRla {
|
||||
shortName = "es-co";
|
||||
shortDescription = "Spanish (Colombia)";
|
||||
dictFileName = "es_CO";
|
||||
};
|
||||
|
||||
es_CR = es-cr;
|
||||
es-cr = mkDictFromRla {
|
||||
shortName = "es-cr";
|
||||
shortDescription = "Spanish (Costra Rica)";
|
||||
dictFileName = "es_CR";
|
||||
};
|
||||
|
||||
es_CU = es-cu;
|
||||
es-cu = mkDictFromRla {
|
||||
shortName = "es-cu";
|
||||
shortDescription = "Spanish (Cuba)";
|
||||
dictFileName = "es_CU";
|
||||
};
|
||||
|
||||
es_DO = es-do;
|
||||
es-do = mkDictFromRla {
|
||||
shortName = "es-do";
|
||||
shortDescription = "Spanish (Dominican Republic)";
|
||||
dictFileName = "es_DO";
|
||||
};
|
||||
|
||||
es_EC = es-ec;
|
||||
es-ec = mkDictFromRla {
|
||||
shortName = "es-ec";
|
||||
shortDescription = "Spanish (Ecuador)";
|
||||
dictFileName = "es_EC";
|
||||
};
|
||||
|
||||
es_ES = es-es;
|
||||
es-es = mkDictFromRla {
|
||||
shortName = "es-es";
|
||||
shortDescription = "Spanish (Spain)";
|
||||
dictFileName = "es_ES";
|
||||
};
|
||||
|
||||
es_GT = es-gt;
|
||||
es-gt = mkDictFromRla {
|
||||
shortName = "es-gt";
|
||||
shortDescription = "Spanish (Guatemala)";
|
||||
dictFileName = "es_GT";
|
||||
};
|
||||
|
||||
es_HN = es-hn;
|
||||
es-hn = mkDictFromRla {
|
||||
shortName = "es-hn";
|
||||
shortDescription = "Spanish (Honduras)";
|
||||
dictFileName = "es_HN";
|
||||
};
|
||||
|
||||
es_MX = es-mx;
|
||||
es-mx = mkDictFromRla {
|
||||
shortName = "es-mx";
|
||||
shortDescription = "Spanish (Mexico)";
|
||||
dictFileName = "es_MX";
|
||||
};
|
||||
|
||||
es_NI = es-ni;
|
||||
es-ni = mkDictFromRla {
|
||||
shortName = "es-ni";
|
||||
shortDescription = "Spanish (Nicaragua)";
|
||||
dictFileName = "es_NI";
|
||||
};
|
||||
|
||||
es_PA = es-pa;
|
||||
es-pa = mkDictFromRla {
|
||||
shortName = "es-pa";
|
||||
shortDescription = "Spanish (Panama)";
|
||||
dictFileName = "es_PA";
|
||||
};
|
||||
|
||||
es_PE = es-pe;
|
||||
es-pe = mkDictFromRla {
|
||||
shortName = "es-pe";
|
||||
shortDescription = "Spanish (Peru)";
|
||||
dictFileName = "es_PE";
|
||||
};
|
||||
|
||||
es_PR = es-pr;
|
||||
es-pr = mkDictFromRla {
|
||||
shortName = "es-pr";
|
||||
shortDescription = "Spanish (Puerto Rico)";
|
||||
dictFileName = "es_PR";
|
||||
};
|
||||
|
||||
es_PY = es-py;
|
||||
es-py = mkDictFromRla {
|
||||
shortName = "es-py";
|
||||
shortDescription = "Spanish (Paraguay)";
|
||||
dictFileName = "es_PY";
|
||||
};
|
||||
|
||||
es_SV = es-sv;
|
||||
es-sv = mkDictFromRla {
|
||||
shortName = "es-sv";
|
||||
shortDescription = "Spanish (El Salvador)";
|
||||
dictFileName = "es_SV";
|
||||
};
|
||||
|
||||
es_UY = es-uy;
|
||||
es-uy = mkDictFromRla {
|
||||
shortName = "es-uy";
|
||||
shortDescription = "Spanish (Uruguay)";
|
||||
dictFileName = "es_UY";
|
||||
};
|
||||
|
||||
es_VE = es-ve;
|
||||
es-ve = mkDictFromRla {
|
||||
shortName = "es-ve";
|
||||
shortDescription = "Spanish (Venezuela)";
|
||||
dictFileName = "es_VE";
|
||||
};
|
||||
|
||||
/* FRENCH */
|
||||
|
||||
fr-any = mkDictFromDicollecte {
|
||||
shortName = "fr-any";
|
||||
dictFileName = "fr-toutesvariantes";
|
||||
shortDescription = "French (any variant)";
|
||||
longDescription = ''
|
||||
Ce dictionnaire contient les nouvelles et les anciennes graphies des
|
||||
mots concernés par la réforme de 1990.
|
||||
'';
|
||||
};
|
||||
|
||||
fr-classique = mkDictFromDicollecte {
|
||||
shortName = "fr-classique";
|
||||
dictFileName = "fr-classique";
|
||||
shortDescription = "French (classic)";
|
||||
longDescription = ''
|
||||
Ce dictionnaire est une extension du dictionnaire «Moderne» et propose
|
||||
en sus des graphies alternatives, parfois encore très usitées, parfois
|
||||
tombées en désuétude.
|
||||
'';
|
||||
};
|
||||
|
||||
fr-moderne = mkDictFromDicollecte {
|
||||
shortName = "fr-moderne";
|
||||
dictFileName = "fr-moderne";
|
||||
shortDescription = "French (modern)";
|
||||
longDescription = ''
|
||||
Ce dictionnaire propose une sélection des graphies classiques et
|
||||
réformées, suivant la lente évolution de l’orthographe actuelle. Ce
|
||||
dictionnaire contient les graphies les moins polémiques de la réforme.
|
||||
'';
|
||||
isDefault = true;
|
||||
};
|
||||
|
||||
fr-reforme1990 = mkDictFromDicollecte {
|
||||
shortName = "fr-reforme1990";
|
||||
dictFileName = "fr-reforme1990";
|
||||
shortDescription = "French (1990 reform)";
|
||||
longDescription = ''
|
||||
Ce dictionnaire ne connaît que les graphies nouvelles des mots concernés
|
||||
par la réforme de 1990.
|
||||
'';
|
||||
};
|
||||
|
||||
/* ITALIAN */
|
||||
|
||||
it_IT = it-it;
|
||||
it-it = mkDictFromLinguistico {
|
||||
shortName = "it-it";
|
||||
dictFileName = "it_IT";
|
||||
shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
|
||||
src = fetchurl {
|
||||
url = "mirror://sourceforge/linguistico/italiano_2_4_2007_09_01.zip";
|
||||
sha256 = "0m9frz75fx456bczknay5i446gdcp1smm48lc0qfwzhz0j3zcdrd";
|
||||
};
|
||||
};
|
||||
|
||||
/* BASQUE */
|
||||
|
||||
eu_ES = eu-es;
|
||||
eu-es = mkDictFromXuxen {
|
||||
shortName = "eu-es";
|
||||
dictFileName = "eu_ES";
|
||||
shortDescription = "Basque (Xuxen 5)";
|
||||
longDescription = ''
|
||||
Itxura berritzeaz gain, testuak zuzentzen laguntzeko zenbait hobekuntza
|
||||
egin dira Xuxen.eus-en. Lexikoari dagokionez, 18645 sarrera berri erantsi
|
||||
ditugu, eta proposamenak egiteko sistema ere aldatu dugu. Esate baterako,
|
||||
gaizki idatzitako hitz baten inguruko proposamenak eskuratzeko, euskaraz
|
||||
idaztean egiten ditugun akats arruntenak hartu dira kontuan. Sistemak
|
||||
ematen dituen proposamenak ordenatzeko, berriz, aipatutako irizpidea
|
||||
erabiltzeaz gain, Internetetik automatikoki eskuratutako euskarazko corpus
|
||||
bateko datuen arabera ordenatu daitezke emaitzak. Erabiltzaileak horrela
|
||||
ordenatu nahi baditu proposamenak, hautatu egin behar du aukera hori
|
||||
testu-kutxaren azpian dituen aukeren artean. Interesgarria da proposamenak
|
||||
ordenatzeko irizpide hori, hala sistemak formarik erabilienak proposatuko
|
||||
baitizkigu gutxiago erabiltzen direnen aurretik.
|
||||
'';
|
||||
srcs = [
|
||||
(fetchurl {
|
||||
url = "http://xuxen.eus/static/hunspell/eu_ES.aff";
|
||||
sha256 = "12w2j6phzas2rdzc7f20jnk93sm59m2zzfdgxv6p8nvcvbrkmc02";
|
||||
})
|
||||
(fetchurl {
|
||||
url = "http://xuxen.eus/static/hunspell/eu_ES.dic";
|
||||
sha256 = "0lw193jr7ldvln5x5z9p21rz1by46h0say9whfcw2kxs9vprd5b3";
|
||||
})
|
||||
];
|
||||
};
|
||||
|
||||
/* HUNGARIAN */
|
||||
|
||||
hu_HU = hu-hu;
|
||||
hu-hu = mkDictFromLibreOffice {
|
||||
shortName = "hu-hu";
|
||||
dictFileName = "hu_HU";
|
||||
shortDescription = "Hungarian (Hungary)";
|
||||
license = with lib.licenses; [ mpl20 lgpl3 ];
|
||||
};
|
||||
|
||||
/* SWEDISH */
|
||||
|
||||
sv_SE = sv-se;
|
||||
sv-se = mkDictFromDSSO {
|
||||
shortName = "sv-se";
|
||||
dictFileName = "sv_SE";
|
||||
shortDescription = "Swedish (Sweden)";
|
||||
};
|
||||
|
||||
# Finlandian Swedish (hello Linus Torvalds)
|
||||
sv_FI = sv-fi;
|
||||
sv-fi = mkDictFromDSSO {
|
||||
shortName = "sv-fi";
|
||||
dictFileName = "sv_FI";
|
||||
shortDescription = "Swedish (Finland)";
|
||||
};
|
||||
|
||||
/* GERMAN */
|
||||
|
||||
de_DE = de-de;
|
||||
de-de = mkDictFromJ3e {
|
||||
shortName = "de-de";
|
||||
shortDescription = "German (Germany)";
|
||||
dictFileName = "de_DE";
|
||||
};
|
||||
|
||||
de_AT = de-at;
|
||||
de-at = mkDictFromJ3e {
|
||||
shortName = "de-at";
|
||||
shortDescription = "German (Austria)";
|
||||
dictFileName = "de_AT";
|
||||
};
|
||||
|
||||
de_CH = de-ch;
|
||||
de-ch = mkDictFromJ3e {
|
||||
shortName = "de-ch";
|
||||
shortDescription = "German (Switzerland)";
|
||||
dictFileName = "de_CH";
|
||||
};
|
||||
|
||||
/* UKRAINIAN */
|
||||
|
||||
uk_UA = uk-ua;
|
||||
uk-ua = mkDict rec {
|
||||
pname = "hunspell-dict-uk-ua";
|
||||
version = "4.6.3";
|
||||
_version = "4-6.3";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://extensions.libreoffice.org/extensions/ukrainian-spelling-dictionary-and-thesaurus/${_version}/@@download/file/dict-uk_UA-${version}.oxt";
|
||||
sha256 = "14rd07yx4fx2qxjr5xqc8qy151idd8k2hr5yi18d9r8gccnm9w50";
|
||||
};
|
||||
|
||||
dictFileName = "uk_UA";
|
||||
readmeFile = "README_uk_UA.txt";
|
||||
nativeBuildInputs = [ unzip ];
|
||||
unpackCmd = ''
|
||||
unzip $src ${dictFileName}/{${dictFileName}.dic,${dictFileName}.aff,${readmeFile}}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Hunspell dictionary for Ukrainian (Ukraine) from LibreOffice";
|
||||
homepage = "https://extensions.libreoffice.org/extensions/ukrainian-spelling-dictionary-and-thesaurus/";
|
||||
license = licenses.mpl20;
|
||||
maintainers = with maintainers; [ dywedir ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
|
||||
/* RUSSIAN */
|
||||
|
||||
ru_RU = ru-ru;
|
||||
ru-ru = mkDictFromLibreOffice {
|
||||
shortName = "ru-ru";
|
||||
dictFileName = "ru_RU";
|
||||
shortDescription = "Russian (Russian)";
|
||||
license = with lib.licenses; [ mpl20 lgpl3 ];
|
||||
};
|
||||
|
||||
/* CZECH */
|
||||
|
||||
cs_CZ = cs-cz;
|
||||
cs-cz = mkDictFromLibreOffice {
|
||||
shortName = "cs-cz";
|
||||
dictFileName = "cs_CZ";
|
||||
shortDescription = "Czech (Czechia)";
|
||||
readmeFile = "README_cs.txt";
|
||||
license = with lib.licenses; [ gpl2 ];
|
||||
};
|
||||
|
||||
/* SLOVAK */
|
||||
|
||||
sk_SK = sk-sk;
|
||||
sk-sk = mkDictFromLibreOffice {
|
||||
shortName = "sk-sk";
|
||||
dictFileName = "sk_SK";
|
||||
shortDescription = "Slovak (Slovakia)";
|
||||
readmeFile = "README_sk.txt";
|
||||
license = with lib.licenses; [ gpl2 lgpl21 mpl11 ];
|
||||
};
|
||||
|
||||
/* DANISH */
|
||||
|
||||
da_DK = da-dk;
|
||||
da-dk = mkDict rec {
|
||||
pname = "hunspell-dict-da-dk";
|
||||
version = "2.5.189";
|
||||
|
||||
src = fetchurl {
|
||||
url = "https://stavekontrolden.dk/dictionaries/da_DK/da_DK-${version}.oxt";
|
||||
sha256 = "sha256:0i1cw0nfg24b0sg2yc3q7315ng5vc5245nvh0l1cndkn2c9z4978";
|
||||
};
|
||||
|
||||
shortName = "da-dk";
|
||||
shortDescription = "Danish (Danmark)";
|
||||
dictFileName = "da_DK";
|
||||
readmeFile = "README_da_DK.txt";
|
||||
nativeBuildInputs = [ unzip ];
|
||||
unpackCmd = ''
|
||||
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile} -d ${dictFileName}
|
||||
'';
|
||||
|
||||
meta = with lib; {
|
||||
description = "Hunspell dictionary for Danish (Denmark) from Stavekontrolden";
|
||||
homepage = "https://github.com/jeppebundsgaard/stavekontrolden";
|
||||
license = with lib.licenses; [ gpl2Only lgpl21Only mpl11 ];
|
||||
maintainers = with maintainers; [ louisdk1 ];
|
||||
};
|
||||
};
|
||||
|
||||
/* DUTCH */
|
||||
|
||||
nl_NL = nl_nl;
|
||||
nl_nl = mkDict rec {
|
||||
pname = "hunspell-dict-nl-nl";
|
||||
version = "2.20.19";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "OpenTaal";
|
||||
repo = "opentaal-hunspell";
|
||||
rev = version;
|
||||
sha256 = "0jma8mmrncyzd77kxliyngs4z6z4769g3nh0a7xn2pd4s5y2xdpy";
|
||||
};
|
||||
|
||||
preInstall = ''
|
||||
mv nl.aff nl_NL.aff
|
||||
mv nl.dic nl_NL.dic
|
||||
'';
|
||||
|
||||
dictFileName = "nl_NL";
|
||||
readmeFile = "README.md";
|
||||
|
||||
meta = with lib; {
|
||||
description = "Hunspell dictionary for Dutch (Netherlands) from OpenTaal";
|
||||
homepage = "https://www.opentaal.org/";
|
||||
license = with licenses; [ bsd3 ]; # and/or cc-by-nc-30
|
||||
maintainers = with maintainers; [ artturin ];
|
||||
};
|
||||
};
|
||||
|
||||
/* HEBREW */
|
||||
|
||||
he_IL = he-il;
|
||||
he-il = mkDictFromLibreOffice {
|
||||
shortName = "he-il";
|
||||
dictFileName = "he_IL";
|
||||
shortDescription = "Hebrew (Israel)";
|
||||
readmeFile = "README_he_IL.txt";
|
||||
license = with lib.licenses; [ agpl3Plus ];
|
||||
};
|
||||
|
||||
/* THAI */
|
||||
|
||||
th_TH = th-th;
|
||||
th-th = mkDict {
|
||||
pname = "hunspell-dict-th-th";
|
||||
version = "experimental-2021-12-20";
|
||||
dictFileName = "th_TH";
|
||||
readmeFile = "README.md";
|
||||
src = fetchFromGitHub {
|
||||
owner = "SyafiqHadzir";
|
||||
repo = "Hunspell-TH";
|
||||
rev = "f119e58e5f6954965d6abd683e7d4c4b9be2684f";
|
||||
sha256 = "sha256-hwqKvuLxbtzxfyQ5YhC/sdb3QQwxCfzgDOHeatxDjxM=";
|
||||
};
|
||||
meta = with lib; {
|
||||
description = "Hunspell dictionary for Central Thai (Thailand)";
|
||||
homepage = "https://github.com/SyafiqHadzir/Hunspell-TH";
|
||||
license = with licenses; [ gpl3 ];
|
||||
maintainers = with maintainers; [ toastal ]; # looking for a native speaker
|
||||
platforms = platforms.all;
|
||||
};
|
||||
};
|
||||
}
|
||||
13
pkgs/development/libraries/hunspell/wrapper.nix
Normal file
13
pkgs/development/libraries/hunspell/wrapper.nix
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
{ stdenv, lib, hunspell, makeWrapper, dicts ? [] }:
|
||||
with lib;
|
||||
let
|
||||
searchPath = makeSearchPath "share/hunspell" dicts;
|
||||
in
|
||||
stdenv.mkDerivation {
|
||||
name = (appendToName "with-dicts" hunspell).name;
|
||||
nativeBuildInputs = [ makeWrapper ];
|
||||
buildCommand = ''
|
||||
makeWrapper ${hunspell.bin}/bin/hunspell $out/bin/hunspell --prefix DICPATH : ${lib.escapeShellArg searchPath}
|
||||
'';
|
||||
meta = removeAttrs hunspell.meta ["outputsToInstall"];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue