2010年01月01日

GnuPG IDEAモジュール@Cygwin 1.7.x

Cygwin を 1.5.x から 1.7.x にバージョンアップしたところ、GnuPG (1.4.9) が IDEA モジュールを読み込まなくなってしまいました。
gpg: invalid module `/usr/lib/gnupg/idea': No such file or directory
モジュールを作りなおしてみたり、モジュールのファイル名を idea.dll から idea に変えてみたりしたのですが状況は変わらず。が、ふと思い立って ~/.gnupg/gpg.conf を次のように書き換えてみたら OK でした。
(旧) load-extension idea
(新) load-extension idea.dll
参考まで。
posted by yamaga at 19:44| Comment(0) | TrackBack(0) | Cygwin | このブログの読者になる | 更新情報をチェックする

2009年12月26日

Cygwin で日本語 man ページを読む

man ページは日本語でなくてもいいんですけど、Cygwin の標準パッケージで man をインストールすると、日本語 man ページの設定は施されているのに、同時にインストールされる groff は日本語に対応していないという悲しい現実…。
/etc/man.conf:
JNROFF /usr/bin/groff -Tnippon -mandocj
こんな風に↑ちゃんと設定されているのに
$ man man
/usr/bin/groff: can't find `DESC' file
/usr/bin/groff:fatal error: invalid device `nippon'
ダサいよね (^^;;;

仕方ないので日本語に対応した groff をインストールすることに。今回は Debian のパッチを使いましたが、どれを使っても基本的には同じでしょう。
使ったパッチ: groff_1.18.1.1-21.diff.gz

オリジナルのgroffに上のパッチを当てて
$ ./configure --enable-multibyte
$ make LIBS=-liconv
$ make install
と実行すれば groff のインストールは完了。

次に /etc/man.conf/usr/local/etc/man.conf としてコピーし、コピー先のファイル内で指定されている groff, nroff, eqn, tbl, col, refer, pic のパスを全て /usr/local/bin/... に変更。

そして JNROFF を次のように変更。
(旧) JNROFF  /usr/bin/groff -Tnippon -mandocj
(新) JNROFF /usr/local/bin/nkf -e | /usr/local/bin/nroff -c -mandocj 2>/dev/null
それから PAGERlv に変更しておいた方が良さそう。
(旧) PAGER  /usr/bin/less -isrR
(新) PAGER /usr/bin/lv -Iej
後は /usr/local/bin/man として以下のようなスクリプトを置いて、PATH で /usr/local/bin を優先させれば作業完了。
#!/bin/sh

case x$LANG in
xja*)
LANG=ja_JP.eucJP
export LANG
FLAG="-C /usr/local/etc/man.conf"
;;
*)
;;
esac

exec /usr/bin/man $FLAG $*
posted by yamaga at 21:35| Comment(0) | TrackBack(0) | Cygwin | このブログの読者になる | 更新情報をチェックする