From 3385c85fb5a233a62dc9b8a7e2a30cd8af18e0e1 Mon Sep 17 00:00:00 2001 From: Yuri Aisaka Date: Sun, 26 Nov 2017 01:36:55 +0900 Subject: [PATCH] skk-dicts: init at 2017-10-26 (#30960) * skk-dicts: init at 2017-10-26 * drop darwin support --- .../inputmethods/skk/skk-dicts/default.nix | 73 +++++++++++++++++++ pkgs/top-level/all-packages.nix | 1 + 2 files changed, 74 insertions(+) create mode 100644 pkgs/tools/inputmethods/skk/skk-dicts/default.nix diff --git a/pkgs/tools/inputmethods/skk/skk-dicts/default.nix b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix new file mode 100644 index 00000000000..cecacd4af95 --- /dev/null +++ b/pkgs/tools/inputmethods/skk/skk-dicts/default.nix @@ -0,0 +1,73 @@ +{ stdenv, fetchurl, skktools }: + +let + # kana to kanji + small = fetchurl { + url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.S"; + sha256 = "15kp4iwz58fp1zg0i13x7w9wwm15v8n2hhm0nf2zsl7az5mn5yi4"; + }; + medium = fetchurl { + url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.M"; + sha256 = "1vhagixhrp9lq5x7dldxcanhznawazp00xivpp1z52kx10lnkmv0"; + }; + large = fetchurl { + url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.L"; + sha256 = "07cv0j95iajkr48j4ln411vnhl3z93yx96zjc03bgs10dbpagaaz"; + }; + + # english to japanese + edict = fetchurl { + url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.edict"; + sha256 = "18k8z1wkgwgfwbs6sylf39h1nc1p5l2b00h7mfjlb8p91plkb45w"; + }; + # misc + assoc = fetchurl { + url = "https://raw.githubusercontent.com/skk-dev/dict/f61be71246602a49e9f05ded6ac4f9f82031a521/SKK-JISYO.assoc"; + sha256 = "12d6xpp1bfin9nwl35ydl5yc6vx0qpwhxss0khi19n1nsbyqnixm"; + }; +in + +stdenv.mkDerivation rec { + name = "skk-dicts-unstable-${version}"; + version = "2017-10-26"; + srcs = [ small medium large edict assoc ]; + nativeBuildInputs = [ skktools ]; + + phases = [ "installPhase" ]; + 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 |\ + ${skktools}/bin/skkdic-expr2 >> $dst + done + + # combine .L .edict and .assoc for convenience + dst=$out/share/SKK-JISYO.combined + echo ";;; -*- coding: utf-8 -*-" > $dst + ${skktools}/bin/skkdic-expr2 \ + $out/share/$(dictname ${large}) + \ + $out/share/$(dictname ${edict}) + \ + $out/share/$(dictname ${assoc}) >> $dst + ''; + + meta = { + 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 = stdenv.lib.licenses.gpl2Plus; + maintainers = with stdenv.lib.maintainers; [ yuriaisaka ]; + platforms = with stdenv.lib.platforms; linux; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 4eb61edab4f..a584b5e6c85 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1497,6 +1497,7 @@ with pkgs; m17n_lib = callPackage ../tools/inputmethods/m17n-lib { }; skktools = callPackage ../tools/inputmethods/skk/skktools { }; + skk-dicts = callPackage ../tools/inputmethods/skk/skk-dicts { }; ibus = callPackage ../tools/inputmethods/ibus { inherit (gnome3) dconf glib;