hyphen: Add more dictionaries, move en-US out of hyphen package

This commit is contained in:
Marco "Capypara" Köpcke
2024-07-07 17:42:42 +02:00
parent 9500d14459
commit 1b93dc9f9b
3 changed files with 105 additions and 0 deletions
@@ -17,6 +17,18 @@ in stdenv.mkDerivation rec {
sha256 = "01ap9pr6zzzbp4ky0vy7i1983fwyqy27pl0ld55s30fdxka3ciih";
};
# Do not install the en_US dictionary.
installPhase = ''
runHook preInstall
make install-libLTLIBRARIES
make install-binSCRIPTS
make install-includeHEADERS
# license
install -D -m644 COPYING "$out/share/licenses/${pname}/LICENSE"
runHook postInstall
'';
meta = with lib; {
description = "Text hyphenation library";
mainProgram = "substrings.pl";
@@ -0,0 +1,91 @@
/* hyphen dictionaries */
{ hyphen, stdenv, lib, fetchgit, fetchurl }:
let
libreofficeRepository = "https://anongit.freedesktop.org/git/libreoffice/dictionaries.git";
libreofficeCommit = "9e27d044d98e65f89af8c86df722a77be827bdc8";
libreofficeSubdir = "de";
mkDictFromLibreofficeGit =
{ subdir, shortName, shortDescription, dictFileName, readmeFileName }:
stdenv.mkDerivation rec {
version = "24.8";
pname = "hyphen-dict-${shortName}-libreoffice";
src = fetchgit {
url = "https://anongit.freedesktop.org/git/libreoffice/dictionaries.git";
rev = "a2bf59878dd76685803ec260e15d875746ad6e25";
sha256 = "sha256-3CvjgNjsrm4obATK6LmtYob8i2ngTbwP6FB4HlJMPCE=";
};
meta = with lib; {
description = "Hyphen dictionary for ${shortDescription} from LibreOffice";
homepage = "https://wiki.documentfoundation.org/Development/Dictionaries";
license = with licenses; [ mpl20 ];
maintainers = with maintainers; [ theCapypara ];
platforms = platforms.all;
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
runHook preInstall
cd $src/${subdir}
install -dm755 "$out/share/hyphen"
install -m644 "hyph_${dictFileName}.dic" "$out/share/hyphen"
# docs
install -dm755 "$out/share/doc/"
install -m644 "README_hyph_${readmeFileName}.txt" "$out/share/doc/${pname}.txt"
runHook postInstall
'';
};
in
rec {
/* ENGLISH */
en_US = en-us;
en-us = stdenv.mkDerivation rec {
nativeBuildInputs = hyphen.nativeBuildInputs;
version = hyphen.version;
pname = "hyphen-dict-en-us";
src = hyphen.src;
meta = {
inherit (hyphen.meta) homepage platforms license mainatiners;
description = "Hyphen dictionary for English (United States)";
};
installPhase = ''
runHook preInstall
make install-hyphDATA
runHook postInstall
'';
};
/* GERMAN */
de_DE = de-de;
de-de = mkDictFromLibreofficeGit {
subdir = "de";
shortName = "de-de";
shortDescription = "German (Germany)";
dictFileName = "de_DE";
readmeFileName = "de";
};
de_AT = de-at;
de-at = mkDictFromLibreofficeGit {
subdir = "de";
shortName = "de-at";
shortDescription = "German (Austria)";
dictFileName = "de_AT";
readmeFileName = "de";
};
de_CH = de-ch;
de-ch = mkDictFromLibreofficeGit {
subdir = "de";
shortName = "de-ch";
shortDescription = "German (Switzerland)";
dictFileName = "de_CH";
readmeFileName = "de";
};
}
+2
View File
@@ -8951,6 +8951,8 @@ with pkgs;
hyphen = callPackage ../development/libraries/hyphen { };
hyphenDicts = recurseIntoAttrs (callPackages ../development/libraries/hyphen/dictionaries.nix {});
i2c-tools = callPackage ../os-specific/linux/i2c-tools { };
i2pd = callPackage ../tools/networking/i2pd { };