Skip to content

`skktools`パッケージを追加

gemmaro requested to merge gemmaro/guix-jp-channel:add/skktools into main

このマージリクエストではskktoolsをパッケージとして追加します。

この元のソースには多数のファイルが含まれているため、以下に作業時のメモを記述します。

元のskktoolsのファイル一覧は以下の通りです(参照:skktools-1_3_4時点でのリポジトリ)。

ファイル一覧
$ ls -1  * **/*
acinclude.m4
ChangeLog
compile
config.guess
config.h.in
config.sub
configure
configure.ac
convert2skk/adddummy
convert2skk/alpha-kana.pl
convert2skk/aozora2skk.rb
convert2skk/atok2skk.pl
convert2skk/canna2skk.rb
convert2skk/chasen2skk.rb
convert2skk/ctdicconv.rb
convert2skk/dic-it2skk.rb
convert2skk/doc2skk.sh
convert2skk/edict2skk.awk
convert2skk/ipadic2skk.rb
convert2skk/list2skk
convert2skk/prime2skk.rb
convert2skk/pubdic2list
convert2skk/read.me
convert2skk/README.md
convert2skk/removedummy
convert2skk/skk2list
convert2skk/skk-wordpicker.rb
convert2skk/wnn2skk.awk
convert2skk/wnn2skk.sed
convert2skk/wnn2skk.sh
convert2skk/wx2skk.pl
COPYING
dbm/makedbmdic4
dbm/makedbmdic5
depcomp
filters/abbrev-convert.rb
filters/abbrev-simplify-keys.rb
filters/annotation-filter.rb
filters/asayaKe.rb
filters/complete-numerative.rb
filters/conjugation.rb
filters/make-tankan-dic.rb
filters/README.md
filters/skkdictools.rb
install-sh
ltmain.sh
Makefile.am
Makefile.in
missing
mkinstalldirs
README.md
READMEs/FAQ.txt
READMEs/README.C
READMEs/README.skkdic-diff
READMEs/README.skkdic-expr2
saihenkan.rb
skk2cdb.py
skkdic-count.c
skkdic-diff.scm
skkdic-expr2.c
skkdic-expr.c
skkdic-sort.c
skk.ex
skk-xml.el
test/SKK-JISYO.S
test/SKK-JISYO.S.shuffle
test/SKK-JISYO.S.split1
test/SKK-JISYO.S.split2
test/SKK-JISYO.S.split3
unannotation.awk
VERSION

これらについて、ファイルは主に以下の4つに分けられます。

  • ドキュメント
  • プログラムのコンパイル用(Autotoolsを含む)
  • スクリプトとライブラリ
  • テスト用

このうちドキュメントとプログラムのコンパイル用(及びテスト用)のファイルについては特に注意点はありません。 プログラムについては通常のgnu-build-systemによりコンパイルできます。

一方でスクリプトについては古びたものがいくつかあります。 例えば以下はjperlやjgawkという処理系が実行に必要になります。 jperlはもとより、awk拡張子のスクリプトも通常のgawkでは動作しない恐れがあるため省きました。

  • convert2skk/alpha-kana.pl
  • convert2skk/atok2skk.pl
  • convert2skk/edict2skk.awk
  • convert2skk/obsolete/*
  • convert2skk/wnn2skk.awk(及びconvert2skk/wnn2skk.sedconvert2skk/wnn2skk.sh
  • convert2skk/wx2skk.pl
  • dbm/*

実行に多数のプログラムを呼び出すシェルスクリプトconvert2skk/doc2skk.sh、構文エラーが含まれるconvert2skk/pubdic2listといったスクリプトについてはインストールしないことにしました。 前者はそのために依存関係を増やしたくないと考えたからです。 似た理由でEmacs Lispの関数を定義したファイルskk-xml.elがありますが、Emacsを依存関係に加えることはないと判断しました。 人によってemacs-nextなどをインストールしていることも考えられるからです。

その他、スクリプトについて確認した点は以下です。 完全なテストは省いているため、どうしても動作しない恐れがあることをパッケージの説明に記載しました。

  • 実行権限が付いていること。
  • 他のファイルに依存しているかどうか。 ライブラリとして依存しているファイルがある場合、そのファイルも配置されるようにします。 その際そのファイルを読み込む部分 (e.g. require_relative) の修正も行います。
  • 他のプログラムに依存しているかどうか。 特にシェルスクリプトの場合に可能性があります。
  • 簡単なコマンドの実行が行えること。

また、プログラムとスクリプトについて、全てGPLバージョン2以降の利用許諾です。

このパッチの作成にあたってDebianArch LinuxNixのパッケージの定義を参考にしました。 プログラムのコンパイルに際しては、必要なライブラリの手掛かりになりました。 当初スクリプトをbin以下に置くことを考えていましたが、結局share/skktools以下に置いたのはこれらに倣ったためです。

Edited by gemmaro

Merge request reports