nixpkgs/pkgs/tools/inputmethods/skk/skk-dicts/default.nix
Alyssa Ross e525b687f4
iconv: init (portable attribute for iconv(1))
This obsoletes this pattern:

     if stdenv.isDarwin then libiconv
     else buildPackages.stdenv.cc.libc

Which was not portable, as some platforms don't have libiconv in libc,
and some of those that do still don't have iconv(1) in their libc
package.
2023-01-22 21:22:47 +00:00

78 lines
2.5 KiB
Nix

{ lib, stdenv, fetchurl, buildPackages, iconv, skktools }:
let
# kana to kanji
small = fetchurl {
url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.S";
sha256 = "11cjrc8m99hj4xpl2nvzxanlswpapi92vmgk9d6yimdz0jidb6cq";
};
medium = fetchurl {
url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.M";
sha256 = "0pwjp9qjmn9sq6zc0k6632l7dc2dbjn45585ibckvvl9iwfqqxdp";
};
large = fetchurl {
url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.L";
sha256 = "0ps0a7sbkryd6hxvphq14i7g5wci4gvr0vraac8ia2ww67a2xbyc";
};
# english to japanese
edict = fetchurl {
url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.edict";
sha256 = "1vrwnq0vvjn61nijbln6wfinqg93802d2a8d4ad82n692v83b1li";
};
# misc
assoc = fetchurl {
url = "https://raw.githubusercontent.com/skk-dev/dict/8b35d07a7d2044d48b063d2774d9f9d00bb7cb48/SKK-JISYO.assoc";
sha256 = "1smcbyv6srrhnpl7ic9nqds9nz3g2dgqngmhzkrdlwmvcpvakp1v";
};
in
stdenv.mkDerivation {
pname = "skk-dicts-unstable";
version = "2020-03-24";
srcs = [ small medium large edict assoc ];
nativeBuildInputs = [ iconv skktools ];
strictDeps = true;
dontUnpack = true;
installPhase = ''
function dictname() {
src=$1
name=$(basename $src) # remove dir name
dict=$(echo $name | cut -b34-) # remove sha256 prefix
echo $dict
}
mkdir -p $out/share
for src in $srcs; do
dst=$out/share/$(dictname $src)
echo ";;; -*- coding: utf-8 -*-" > $dst # libskk requires this on the first line
iconv -f EUC-JP -t UTF-8 $src | skkdic-expr2 >> $dst
done
# combine .L .edict and .assoc for convenience
dst=$out/share/SKK-JISYO.combined
echo ";;; -*- coding: utf-8 -*-" > $dst
skkdic-expr2 \
$out/share/$(dictname ${large}) + \
$out/share/$(dictname ${edict}) + \
$out/share/$(dictname ${assoc}) >> $dst
'';
enableParallelBuilding = true;
meta = with lib; {
description = "A collection of standard SKK dictionaries";
longDescription = ''
This package provides a collection of standard kana-to-kanji
dictionaries for the SKK Japanese input method.
'';
homepage = "https://github.com/skk-dev/dict";
license = licenses.gpl2Plus;
maintainers = with maintainers; [ yuriaisaka ];
platforms = platforms.all;
};
}