mirror of
https://github.com/SebastianWendel/nixpkgs.git
synced 2024-09-28 08:00:17 +02:00
Merge pull request #24720 from k0001/hun-es
hunspellDicts: add spanish dictionaries.
This commit is contained in:
commit
4a2f605398
|
@ -1,30 +1,13 @@
|
|||
/* hunspell dictionaries */
|
||||
|
||||
{ stdenv, fetchurl, unzip }:
|
||||
{ stdenv, fetchurl, fetchFromGitHub, unzip, coreutils, bash, which, zip }:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
let
|
||||
|
||||
mkDict =
|
||||
{ name, src, meta, readmeFile, dictFileName, ... }:
|
||||
let
|
||||
isFrench = hasSuffix "fr_" dictFileName;
|
||||
isItaly = hasSuffix "it_" dictFileName;
|
||||
isSpanish = hasSuffix "es_" dictFileName;
|
||||
isEnglish = hasSuffix "en_" dictFileName;
|
||||
in
|
||||
stdenv.mkDerivation rec {
|
||||
inherit name src meta;
|
||||
buildInputs = [ unzip ];
|
||||
sourceRoot = ".";
|
||||
phases = "unpackPhase installPhase" + (if isItaly then "patchPhase" else "");
|
||||
unpackCmd = "unzip $src ${readmeFile} ${dictFileName}.dic ${dictFileName}.aff";
|
||||
prePatch = if isItaly then ''
|
||||
# Fix dic file empty lines (FS#22275)
|
||||
sed '/^\/$/d' -i it_IT.dic
|
||||
'' else "";
|
||||
|
||||
{ name, readmeFile, dictFileName, ... }@args:
|
||||
stdenv.mkDerivation (rec {
|
||||
inherit name;
|
||||
installPhase = ''
|
||||
# hunspell dicts
|
||||
install -dm755 "$out/share/hunspell"
|
||||
|
@ -38,7 +21,45 @@ let
|
|||
install -dm755 "$out/share/doc"
|
||||
install -m644 ${readmeFile} $out/share/doc/${name}.txt
|
||||
'';
|
||||
};
|
||||
} // args);
|
||||
|
||||
mkDictFromRla =
|
||||
{ shortName, shortDescription, dictFileName }:
|
||||
mkDict rec {
|
||||
inherit dictFileName;
|
||||
version = "2.2";
|
||||
name = "hunspell-dict-${shortName}-rla-${version}";
|
||||
readmeFile = "README.txt";
|
||||
src = fetchFromGitHub {
|
||||
owner = "sbosio";
|
||||
repo = "rla-es";
|
||||
rev = "v${version}";
|
||||
sha256 = "0n9ms092k7vg7xpd3ksadxydbrizkb7js7dfxr08nbnnb9fgy0i8";
|
||||
};
|
||||
meta = with stdenv.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;
|
||||
};
|
||||
phases = "unpackPhase patchPhase buildPhase installPhase";
|
||||
buildInputs = [ bash coreutils unzip which zip ];
|
||||
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}
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromDicollecte =
|
||||
{ shortName, shortDescription, longDescription, dictFileName }:
|
||||
|
@ -59,6 +80,12 @@ let
|
|||
maintainers = with maintainers; [ renzo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
buildInputs = [ unzip ];
|
||||
phases = "unpackPhase installPhase";
|
||||
sourceRoot = ".";
|
||||
unpackCmd = ''
|
||||
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromWordlist =
|
||||
|
@ -75,9 +102,15 @@ let
|
|||
maintainers = with maintainers; [ renzo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
buildInputs = [ unzip ];
|
||||
phases = "unpackPhase installPhase";
|
||||
sourceRoot = ".";
|
||||
unpackCmd = ''
|
||||
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||
'';
|
||||
};
|
||||
|
||||
mkLinguistico =
|
||||
mkDictFromLinguistico =
|
||||
{ shortName, shortDescription, dictFileName, src }:
|
||||
mkDict rec {
|
||||
inherit src dictFileName;
|
||||
|
@ -90,6 +123,16 @@ let
|
|||
maintainers = with maintainers; [ renzo ];
|
||||
platforms = platforms.all;
|
||||
};
|
||||
buildInputs = [ unzip ];
|
||||
phases = "unpackPhase patchPhase installPhase";
|
||||
sourceRoot = ".";
|
||||
prePatch = ''
|
||||
# Fix dic file empty lines (FS#22275)
|
||||
sed '/^\/$/d' -i ${dictFileName}.dic
|
||||
'';
|
||||
unpackCmd = ''
|
||||
unzip $src ${dictFileName}.dic ${dictFileName}.aff ${readmeFile}
|
||||
'';
|
||||
};
|
||||
|
||||
mkDictFromXuxen =
|
||||
|
@ -169,6 +212,134 @@ in {
|
|||
};
|
||||
};
|
||||
|
||||
/* SPANISH */
|
||||
|
||||
es-any = mkDictFromRla {
|
||||
shortName = "es-any";
|
||||
shortDescription = "Spanish (any variant)";
|
||||
dictFileName = "es_ANY";
|
||||
};
|
||||
|
||||
es-ar = mkDictFromRla {
|
||||
shortName = "es-ar";
|
||||
shortDescription = "Spanish (Argentina)";
|
||||
dictFileName = "es_AR";
|
||||
};
|
||||
|
||||
es-bo = mkDictFromRla {
|
||||
shortName = "es-bo";
|
||||
shortDescription = "Spanish (Bolivia)";
|
||||
dictFileName = "es_BO";
|
||||
};
|
||||
|
||||
es-cl = mkDictFromRla {
|
||||
shortName = "es-cl";
|
||||
shortDescription = "Spanish (Chile)";
|
||||
dictFileName = "es_CL";
|
||||
};
|
||||
|
||||
es-co = mkDictFromRla {
|
||||
shortName = "es-co";
|
||||
shortDescription = "Spanish (Colombia)";
|
||||
dictFileName = "es_CO";
|
||||
};
|
||||
|
||||
es-cr = mkDictFromRla {
|
||||
shortName = "es-cr";
|
||||
shortDescription = "Spanish (Costra Rica)";
|
||||
dictFileName = "es_CR";
|
||||
};
|
||||
|
||||
es-cu = mkDictFromRla {
|
||||
shortName = "es-cu";
|
||||
shortDescription = "Spanish (Cuba)";
|
||||
dictFileName = "es_CU";
|
||||
};
|
||||
|
||||
es-do = mkDictFromRla {
|
||||
shortName = "es-do";
|
||||
shortDescription = "Spanish (Dominican Republic)";
|
||||
dictFileName = "es_DO";
|
||||
};
|
||||
|
||||
es-ec = mkDictFromRla {
|
||||
shortName = "es-ec";
|
||||
shortDescription = "Spanish (Ecuador)";
|
||||
dictFileName = "es_EC";
|
||||
};
|
||||
|
||||
es-es = mkDictFromRla {
|
||||
shortName = "es-es";
|
||||
shortDescription = "Spanish (Spain)";
|
||||
dictFileName = "es_ES";
|
||||
};
|
||||
|
||||
es-gt = mkDictFromRla {
|
||||
shortName = "es-gt";
|
||||
shortDescription = "Spanish (Guatemala)";
|
||||
dictFileName = "es_GT";
|
||||
};
|
||||
|
||||
es-hn = mkDictFromRla {
|
||||
shortName = "es-hn";
|
||||
shortDescription = "Spanish (Honduras)";
|
||||
dictFileName = "es_HN";
|
||||
};
|
||||
|
||||
es-mx = mkDictFromRla {
|
||||
shortName = "es-mx";
|
||||
shortDescription = "Spanish (Mexico)";
|
||||
dictFileName = "es_MX";
|
||||
};
|
||||
|
||||
es-ni = mkDictFromRla {
|
||||
shortName = "es-ni";
|
||||
shortDescription = "Spanish (Nicaragua)";
|
||||
dictFileName = "es_NI";
|
||||
};
|
||||
|
||||
es-pa = mkDictFromRla {
|
||||
shortName = "es-pa";
|
||||
shortDescription = "Spanish (Panama)";
|
||||
dictFileName = "es_PA";
|
||||
};
|
||||
|
||||
es-pe = mkDictFromRla {
|
||||
shortName = "es-pe";
|
||||
shortDescription = "Spanish (Peru)";
|
||||
dictFileName = "es_PE";
|
||||
};
|
||||
|
||||
es-pr = mkDictFromRla {
|
||||
shortName = "es-pr";
|
||||
shortDescription = "Spanish (Puerto Rico)";
|
||||
dictFileName = "es_PR";
|
||||
};
|
||||
|
||||
es-py = mkDictFromRla {
|
||||
shortName = "es-py";
|
||||
shortDescription = "Spanish (Paraguay)";
|
||||
dictFileName = "es_PY";
|
||||
};
|
||||
|
||||
es-sv = mkDictFromRla {
|
||||
shortName = "es-sv";
|
||||
shortDescription = "Spanish (El Salvador)";
|
||||
dictFileName = "es_SV";
|
||||
};
|
||||
|
||||
es-uy = mkDictFromRla {
|
||||
shortName = "es-uy";
|
||||
shortDescription = "Spanish (Uruguay)";
|
||||
dictFileName = "es_UY";
|
||||
};
|
||||
|
||||
es-ve = mkDictFromRla {
|
||||
shortName = "es-ve";
|
||||
shortDescription = "Spanish (Venezuela)";
|
||||
dictFileName = "es_VE";
|
||||
};
|
||||
|
||||
/* FRENCH */
|
||||
|
||||
fr-any = mkDictFromDicollecte {
|
||||
|
@ -215,7 +386,7 @@ in {
|
|||
|
||||
/* ITALIAN */
|
||||
|
||||
it-it = mkLinguistico rec {
|
||||
it-it = mkDictFromLinguistico rec {
|
||||
shortName = "it-it";
|
||||
dictFileName = "it_IT";
|
||||
shortDescription = "Hunspell dictionary for 'Italian (Italy)' from Linguistico";
|
||||
|
|
Loading…
Reference in a new issue