物置 - Cygwin 1.5


旧 Cygwin 関連(Cygwin 1.5)

Windows 上で Linux 風環境を実現するライブラリ・ツール群である Cygwin に関してです。Beta 時代から使ってるんで思えば長いもんですね。ちまっとパッチを当てたものとか、野良ビルドしたものとかを setup.exe でインストールできるように公開しております。よろしかったらどーぞ。インストールする際には、setup.exe 用 URLの記述を確認ください。cygport 化したものはソースパッケージもありますが、他はバイナリパッケージのみでソースパッケージはありません。自前パッチを当てている場合はそのパッチは置いてあります。なお、パッチ自体は cygwin ソースパッケージのパッチを当てた状態で作成されています。従って、ソースパッケージをインストールした後、↓のようにしてバイナリパッケージを生成するのが典型的な使い方でしょう。

$ ./package-0.00.0-0.sh mkdirs prep
$ patch -p0 < package-0.00.0-0.patch # ここでパッチを適用
$ ./package-0.00.0-0.sh conf build install strip pkg

cygport 化されたものについてはほぼ通常通りですが、大抵ビルドに cygport-usrlocal が必要なことと、環境変数 USRLOCAL を設定すると /usr/local 以下に配置されるパッケージが作成される点が異なります。

$ cygport ./package-0.00.0-0.cygport all # cygwin 標準配置
$ env USRLOCAL=1 cygport ./package-0.00.0-0.cygport all # /usr/local 以下に置きたい場合

setup.exe 用 URL

http://yak3.myhome.cx:8080/junks/cygstdtree
cygwin 標準配布パッケージと同じディレクトリ配置のパッケージです。標準配布パッケージのパッチ適用版+自前ビルド(のうち気が向いたもの)があります。
http://yak3.myhome.cx:8080/junks/usrlocal
自前ビルドものを /usr/local 以下に配置したパッケージです。大抵は ./configure に対して特にディレクトリを指定しなかった場合となります。
http://yak3.myhome.cx:8080/junks/mixed
上記のちゃんぽんで、標準配布パッケージのパッチ適用版は標準配布パッケージと同じディレクトリ配置に、自前ビルドものは /usr/local にしたパッケージです。基本的にこれを使っています。FreeBSD 使いなので外からきたものは /usr/local に置きたくなるのです。

setup.exe にて署名の検証が必要となったため、

setup-legacy.exe -X

として setup.exe を起動し、署名の確認をスキップするか、

setup-legacy.exe -K <ダウンロードした公開鍵のパス>

として、Yak! の公開鍵を渡してください。公開鍵の情報は以下の通りです。

Name
yak_ex (Yak!) <yak_ex@mx.scn.tv>
KeyID
2087F696
Fingerprint
F4B0 63B7 7A3B 118E 87BA 8D75 011C 86F7 2087 F696

setup.exe なんていらねぇ、直接展開してやる、という方はリンクを辿ればディレクトリの Index になるのでそこからダウンロードしてください。release-legacy フォルダ内が Cygwin 1.5 用パッケージになっています。パッチ適用版については標準配布版と区別するために setup.ini 内のパッケージ名には _hogehoge といったものをつけていますが、setup.ini 内の requires の問題とか考えるとつけない方がいいのかもしれません。なお、ファイル名自体は同じなので気をつけてください。どうするのがいいのかよく分からないので意見ください。各パッケージに関する詳細は以下を参照してください。

APR - UTF-8 Cygwin hack 版

Cygwin 上の Subversion で日本語ファイル名が扱えない問題を解消するため、↓ Windows ロケール強制パッチ適用版を作成したわけですが、下記の通り、環境変数 LANG 等の設定が効きません。これを解決するには、ロケールをまともに実装するのが正道なのですが、さすがにそう簡単にできることではありません。そこで、APR で可能な設定の一つ、ファイルシステム周りは UTF-8 で、その他文字列はロケール設定に従う設定を有効にしたものがこの UTF-8 Cygwin hack 版です。ファイルシステム周りが UTF-8 になる点は UTF-8 Cygwin に任せることになります。ロケール設定の文字コード判別には libcharset を使用しています。使用には UTF-8 Cygwin のインストールが必要です。また、LANG 等の環境変数を ja_JP.eucJP 等適当に設定してください。この APR だけを導入するとコマンドライン引数もロケール設定に従ったエンコーディングで渡す必要があります。通常、UTF-8 Cygwin 環境下ではシェルによるパス名展開の結果も UTF-8 になるためそのまま渡すことができません(svn add *.txt が通らない場合がある)。コマンドライン引数を UTF-8 としたい場合は↓の Subversion - UTF-8 Cygwin hack 版を併用してください。

libapr1_utf8-1.2.11-1
DLL (Subversion を動かしたい場合はこれを入れるだけで十分です)
apr1_utf8-1.2.11-1
その他(リンクとかしたい場合)
パッチ
apr1_utf8-1.2.11-1.patch

APR - Windows ロケール強制パッチ適用版

Cygwin 上の Subversion で日本語ファイル名が扱えない問題を解消するためのものです。本来 UNIX 系では環境変数 LANG 等の指定によって文字コード周りの挙動が変わるはずなのですが、Cygwin ではこの辺の実装が不十分なので正しく動きません。そこで Windows 上での指定をそのまま使うようにしています。日本語環境だと CP932(Shift_JIS) になります。LANG 等の環境変数には影響されませんので注意してください。パッチ自体は Windows 用の実装をそのまま #include して使うというお気楽極楽実装となっております。subversion-1.2.3-1 以前は libapr0、subversion-1.3.0 以降は libapr1 とリンクしていますので必要な方を入れてください。

Boost C++ Library

C++ の準標準ライブラリ(一部は TR1 として次期標準に採用が決定しています)ともいえる Boost C++ Library をビルドしたものです。基本的に cygwin 本家ベースでソースだけそれより新しいバージョンにしたものです(1.33.1 → 1.40)。

boost_-1.40.0-1
ドキュメント
boost-devel_-1.40.0-1
ヘッダとライブラリ
libboost_-1.40.0-1
DLL
boost_-1.40.0-1-src
ソース一式(以下のパッチも同梱)
パッチ
DLL 名を cyg*.dll にする cygwin-prefix-suffix-adjust_1_40_0.patch

cadaver i18n + 微修正版

コマンドライン WebDAV クライアントである cadaver は本家配布パッケージにも含まれていますが、もともと文字コードに関する扱いが貧弱で、cygwin 環境のみならず UTF-8 環境下以外では日本語ファイル名を扱うのが困難です。これに対する i18n パッチが WebDAV Resource JP で公開されています。この i18n パッチの 更新版 + nl_langinfo 対応パッチ が webdav-jp ML で公開されており、これを適用することで以下の機能が追加されます。

このパッチを適用した上で、さらに次のような点についても修正を行ったパッケージです。

nl_langinfo(というかロケール)がまともに機能しない点に対しては、↑の APR - Windows ロケール強制パッチ適用版と同じ対処をしており、日本語環境だと文字コードとしては CP932(Shift_JIS) になります。なお、ロケール強制以外のパッチは cygwin 以外の環境でも有効だと思われますので、cadaver 公式配布ソースに対するパッチも置いておきます(こちらは旧バージョン(0.22.2)用のまま更新していません)。とりあえず FreeBSD 6 でのコンパイル、動作を確認しました。なお、cygwin ソースパッケージのパッチによる DESTDIR への対応も含めてあります。

cadaver_i18n-0.22.3
一式(cygstdtree (/usr 以下にインストール) のみで cygwin 本家配布版の差し替えになります)
パッチ
cadaver-0.22.3-1-i18n-20060818.patch
非 cygwin 環境用パッチ
cadaver-0.22.2-i18n-20060503_.patch.gz 旧バージョン(0.22.2)用です。

ConceptGCC

次期 C++ 標準規格 C++0x に提案されている Concepts 等を、GCC に(試験的に)導入した実装である ConceptGCC について Subversion リポジトリからソースを取得、コンパイルしたものです。2007/4/6 現在 ConceptGCC 4.1.1 alpha 5 が本家ページからダウンロードできるようになっていますが、最新版にて実装された(らしい)、Decltype、Rvalue References、Variadic Templates あたりが使ってみたくなってコンパイルしたものです。configure のオプションは本家配布版に合わせてあります。tar.bz2 で 20MB 強ありますので注意してください。また、usrlocal、mixed のパッケージですが、例外的に /opt 以下にインストールされます2007/4/11 に ConceptGCC 4.3.0 alpha 6 が本家ページで公開されたため全く意味がありません。とっとと本家ページでダウンロードするのがよいでしょう。

conceptgcc-4.3.0-alpha-5-pre-490-1
一式

cygport 補助

Cygwin 本家のパッケージでも続々と cygport 利用に移行しているわけですが、当物置でもやっとこさ cygport に移行しました。少々食わず嫌いな面があったのですが、実際使ってみると、パッケージ作成の大半が自動化されるというのは超便利です。が、あくまでも「野良ビルドは /usr/local」が私の基本方針であるため、prefix 等を切り替えられるように追加の cygclass を作成してみました(cygclass とは cygport に機能を追加するシェル関数群みたいなもので .cygport ファイル中で選択的に追加できます)。ついでに、完成度が低いながら README, setup.hint の作成補助機能もつけたものが cygport-usrlocal です。当物置でソースパッケージ付きで配布しているものの再ビルドに必要になります。環境変数 USRLOCAL が定義されている場合は /usr/local 下に、未定義の場合は Cygwin 標準のディレクトリ配置に従うパッケージが作成されます。0.2-1 では、コマンド mydobin, mydolib, 設定用環境変数 OLD_CONFIGURE を追加しています。

もう一つ OCaml ライブラリ用に cygport-ocaml を作成しました。と言っても ocaml.cygclass yak-ocaml.cygclass (本家での ocaml.cygclass 配布に伴い改名) 1 ファイルだけですが。OCaml のライブラリはビルド手順があまり標準化されていないので、大抵は .cygport で各個撃破する必要がありますが、ld.conf 修正用 postinstall / preremove スクリプトの作成を共通化しています。

双方とも内部処理の説明がありませんが、.cygport を書く人ならシェルスクリプトぐらい余裕で書けると思うのでそのまま中を見てもらった方が早いと思います。

cygport-usrlocal-0.3-1
一式
cygport-ocaml-0.2-1
一式(1ファイルのみ)

fep-OpenXM

fep と言っても漢字変換ではなくて、行入力指向のプログラムに対して行編集機能を提供する汎用フロントエンドプロセッサです。ぶっちゃけ OCaml(Objective Caml) の勉強中なのですがトップレベル対話環境(ocmal)に行編集機能がないのでマニュアルに記述のあったこれ(fep)を持ってきました。オリジナル版は SRA から配布されていますが、動作環境が限定されているため数式処理環境である OpenXM の contrib から抜き出してビルドしてあります。

本家配布パッケージにあるrlwrap の方が多機能ですのでそちらを使用する方がいいでしょう。

fep-OpenXM-1.2.3-1
一式

FlexDLL

UNIX 系のオープンソースソフトウェアを Cygwin 上に移植する際に、よくぶつかる問題の一つとして「Windows 上では DLL 作成時に全ての参照が解決されていなければならない」という点があります。詳細は edll のページでも参照してもらうとして、特にプラグインを使用しているソフトでぶつかることが多いです。ここで配布しているソフトでは Graphviz なんかがそうですね。で、よく見かける解決策が前記 edll のページで言うところの "The sub-DLL solution" ですが、コード構成自体を変更しなければならないのでそう簡単ではありません。edll はリンカとローダを自前で実装してしまうという豪快な手段でこの問題を解決していますが、FlexDLL はちょっとだけ穏便に、リンカ、ローダは通常のものを使用し、そこにフック的に自前で参照を解決する仕組みを導入することで問題を解決しています。Windows 版 OCaml でも使用されておりこれにより Cygwin 上の OCaml で動的ロードが可能になっています。同様にプラグイン的なものを使用するソフトを移植する際の選択肢と考えられると思います。

なお、MSVC 用オブジェクトは含まれていません。また、Native 版でコンパイルすることを推奨されていたので Cygwin 版ではなく、Native 版 OCaml を使用してコンパイルしてあります(渡すパスは Cygwin パスで問題ありません)。さらに、本家配布版に対して以下の変更を加えてあります。独自修正は(一旦)取り除きました。また symlink を取り扱えず gcc 自体見失ってしまうため Cygwin 版 OCaml を使用してコンパイルしています。

flexdll-0.19-1
一式
flexdll-0.19-1-src
ソース一式(cygport)

GD - .ttc 検索パッチ適用版

グラフィックス描画ライブラリである GD に対して、拡張子無指定時のフォント検索 の際、拡張子 .ttc も検索するようにパッチをあてただけのものです。白状すると、Graphviz で fontname=msmincho と書きたいがため「だけ」に当てたパッチです。あほですね。

gd_ttc-2.0.33-1
実行形式 多分、変更はないと思いますが念のため。
libgd-devel_ttc-2.0.33-1
ライブラリとヘッダ
libgd2_ttc-2.0.33-1
DLL
パッチ
gd-2.0.33-1_ttc.patch

GNU GLOBAL

ソースコードタグシステムである GNU GLOBAL をビルドしたものです。もともとはタグジャンプの実現用のものですが、htags を使うことによりソースコードをハイパーリンク付きで HTML 化することもできます。ソースコード解析のお供にどうぞ。

global-5.7.5-1
一式
global-5.7.5-1-src
ソース一式(cygport)

Graphviz

グラフ視覚化ソフトウェアである Graphviz に cygwin での DLL ビルドを可能にするパッチを適用したものです(ラベル中で日本語&エスケープシーケンスを使う際の不具合は本家 2.4 で解消されましたので、_jp をはずしたパッケージ名に変更しました)。グラフと言っても円グラフとか棒グラフとかそっちのグラフではなくて、点と線、ノードとエッジからなるグラフ構造のことです。簡単な書式でグラフ構造を表すテキストファイルを書き、それを食わせてやると画像ファイルを生成してくれます。Doxygen でも階層構造を視覚化するのに使えるそうです。状態遷移図とかいちいち図を書くのが面倒な時などにも有効だと思います。以下の点に注意してください。

graphviz-devel-2.20.3-1
静的ライブラリとヘッダ
graphviz-2.20.3-1
本体
graphviz-doc-2.20.3-1
ドキュメント
graphviz-ocaml-2.20.3-1
OCaml バインディング
graphviz-perl-2.20.3-1
Perl バインディング
graphviz-python-2.20.3-1
Python バインディング
graphviz-ruby-2.20.3-1
Ruby バインディング
graphviz-tcl-2.20.3-1
Tcl バインディング
libgraphviz4-2.20.3-1
DLL(バインディング関連を除く)
graphviz-2.20.3-1-src
ソース一式(cygport)

ICU

本家パッケージ化に伴い削除。

文字コード変換等を含む国際化ライブラリである ICU(International Component for Unicode) を単純にビルドしたのち配置を変更、symlink を加えたものです。単純にビルドすると DLL が cyg プレフィクスではなく lib プレフィクスで /usr/local/lib 内にできますが、このパッケージでは実体は /usr/local/bin に置き、そこから /usr/local/lib 以下(および短縮されていない名前)に symlink してありますので注意してください。

icu-3.6-1
一式

ID utils

ctags 相当の機能を高速、低容量で実現するID utilsです。GNU GLOBALと連携が可能です。

idutils-4.2-1
一式
idutils-4.2-1-src
ソース一式

imlib2

標準パッケージで配布されているグラフィックスライブラリ Imlib の後継バージョンであるImlib2 をビルドしたものです。動的ライブラリを検索する際に、.so ではなくて .dll を検索するように変更してあります。ぶっちゃけ libcaca が依存していたのでビルドしたものだったり。giflib ではなくて本家配布の libungif とリンクしています。ビルド時のオプションは、JPEG, PNG, TIFF, GIF, ZLIB, BZIP2 は yes、MMX と AMD64 は no です。

imlib2-1.2.1-1
一式
パッチ
imlib2-1.2.1-1.patch

Jam less

日本語表示を可能にした less、いわゆる jlessless-358-iso254-imd1 非公式パッチ を less-382-iso262 用に調整したものをあててビルドしたものです。超ものぐさな人向け。

旧版は色々とビルド時にミスっていました。たまたま JIS X 0213 用変換が有効だったため、一部の文字以外が表示できていただけです。今版で非公式パッチの効果を得るためには、環境変数 JLESSCHARSET を japanese90-sjis 等にする必要があります。japanese-sjis の場合、JIS X 0213 に存在しない(正確には JIS X 0213 では異なるコードポイント側だけ採用されている(参考))一部の NEC 特殊文字(例:≒ 0x8790)が正しく表示できません。

jless-382-iso262-imd1-1
一式
jless-382-iso262-imd1-1-src
ソース一式(cygport)(パッチもすべて含みます)
パッチ
less-382-iso262-imd1-1.patch
(いまでぃさんの less-358-iso254-imd1 非公式パッチを less-382-iso262 用に修正したもの)

libcaca

カラー表示に対応したテキスト表示によるグラフィックス(要するに AA)ライブラリである libcaca をビルドしたものです。ホゲゆに を読んであまりのアレゲ度にパッケージ作成を決意しました。表示ドライバとしては win32, ncurese, x11 が利用可能です。デフォルトだと win32 になりますので、環境変数 CACA_DRIVER を指定すると良いでしょう。

libcaca-0.9-1
一式

libiconv - cp932 パッチ適用版

文字コード変換ライブラリである libiconv に対して、いわゆる cp932 パッチをあててビルドしたものです。

libcharset1_cp932-1.13-1
libcharset DLL 多分、変更はないと思いますが念のため。
libiconv2_cp932-1.13-1
DLL
libiconv_cp932-1.13-1
DLL 以外一式

libiconv - 日本語エンコーディング全般の一括パッチ適用版

文字コード変換ライブラリである libiconv に対して、日本語エンコーディング全般の一括パッチをあててビルドしたものです。

libcharset1_ja-1.13-1
libcharset DLL 多分、変更はないと思いますが念のため。
libiconv2_ja-1.13-1
DLL
libiconv_ja-1.13-1
DLL 以外一式

nkf

漢字コード変換フィルタである nkf です。

nkf-2.0.9-1
一式
nkf-perl-2.0.9-1
Perl モジュール

OCaml

本家で配布されているバージョン(3.08.1)はモジュールの動的ロードができませんが、最新版では natdynlink ブランチ(The natdynlink branch in OCaml's CVS)の成果が取り込まれ Cygwin 版でも動的ロードが可能となっています。

なお、以下の変更を加えてあります。

ocaml_-3.11.1-1
一式(40MB 弱あるので注意)
ocaml_-3.11.1-1-src
ソース一式(cygport)

natdynlink branch 版 OCaml

natdynlink ブランチ(The natdynlink branch in OCaml's CVS)の結果が本家に取り込まれましたのでそちらをご使用ください。

OCaml 系ライブラリ

↑ OCaml に適合しません。ビルドし直す予定です。

fep のところでも書きましたが、現在 OCaml(Objective Caml) の勉強中です。で、いくつか OCaml 用ライブラリをビルドしてみました。ocamlkf はここを、pcre-ocaml はここを、それ以外はここを参照してください。

camlimages-2.2-1
画像処理。見よう見まねで findlib 用 META ファイルを追加してあります。
camomile-0.6.2-1
Unicode 処理
equeue-2.1-1
イベントキュー処理。パイプを作って外部コマンドを実行する等の Shell ライブラリを含みます。
findlib-1.0.4-1
パッケージマネージャ
ocamlgraph-0.94a-1
グラフ処理。データ構造としてのグラフです、念のため。
ocamlkf-0.1.0-1
漢字コード変換
ocamlnet-1.1-1
各種ネットワークプロトコルの実装。MIME, URL, HTML の解析等を行える netstring ライブラリを含みます。
pcre-ocaml-5.10.1-1
Perl 互換の正規表現ライブラリ
pxp-1.1.6-1
polymorphic XML parser。wlexing は無効です。

OCaml 系ライブラリ for natdynlink branch 版 OCaml

↑ OCaml に適合しません。ビルドし直す予定です。

↑のnatdynlink branch 版 OCaml用にビルドし直した OCaml 用ライブラリです。今のところ usrlocal のみです。

camlimages_dl-2.2-1
画像処理。CamlImages 公式
camlimages_dl-2.2-1-src
ソース(cygport)
findlib_dl-1.1.2pl1-1
パッケージマネージャ。Programming with Objective Caml - Projects
extlib_dl-1.5-1
各種ライブラリ。OCaml ExtLib Home Page
extlib_dl-1.5-1-src
ソース(cygport)
glcaml_dl-20070721-1
OpenGL バインディング。軽量版 SDL バインディングも含みます。ライブラリ形式(*.a, *.cmxa, *.so)ではなく生のソース形式(*.c, *.ml)で使用することが想定されていますが、ライブラリ化しました。glcaml 公式
glcaml_dl-20070271-1-src
ソース(cygport)
lablgtk2_dl
GTK+2 の OCaml バインディング。Cygwin 本家で配布している lablgtk2 パッケージの natdynlink branch 版 OCaml での再ビルド。ただし findlib 用の META ファイルもインストールしています。LabGTK 公式
ocamlgraph_dl-0.99-1
グラフライブラリ。データ構造としてのグラフとアルゴリズムです。ocamlgraph 公式
ocamlgraph_dl-0.99-1-src
ソース(cygport)
ocamlnet_dl-2.2.8.1-1
各種ネットワークプロトコルの実装等。2.2 から Equeue, rpc, netclient も含むようになりました。↓のサブパッケージに含まれる部分を除いたコア部分です。Programming with Objective Caml - Projects
ocamlnet-ssl_dl-2.2.8.1-1
equeue-ssl, rpc-ssl。ocaml-ssl_dl が必要です。
ocamlnet-gtk2_dl-2.2.8.1-1
equeue-gtk2。lablgtk2_dl が必要です。
ocamlnet-nethttpd_dl-2.2.8.1-1
nethttpd, nethttpd-for-netcgi1, nethttpd-for-netcgi2。
ocamlnet_dl-2.2.8.1-1-src
ocamlnet*_dl のソース(cygport)
ocamlode_dl-0.5-r2-1
ODE の OCaml バインディング。↓の Cygwin 版 ODE が必要です。OCamlODE 公式
ocamlode_dl-0.5-r2-1-src
ソース(cygport)
ocaml-ssl_dl-0.4.2-1
OpenSSL の OCaml バインディング。Savonet - Audio Streaming Tools : OCamlLibs
ocaml-ssl_dl-0.4.2-1-src
ソース(cygport)
ocaml-syck-0.1.1-1
YAML パーサライブラリ Syck の OCaml バインディング。sourceforge
ocaml-syck-0.1.1-1-src
ソース(cygport)
pcre-ocaml_dl-5.12.1-1
Perl 互換の正規表現ライブラリ。Markus Mottl 氏のページ - Software - OCaml - 4.1.7
pcre-ocaml_dl-5.12.1-1-src
ソース(cygport)

Cygwin 版 ODE

夏休み中に 簡単!実践!ロボットシミュレーション - Open Dynamics Engineによるロボットプログラミング を読んで感動したので作成。ODE(Open Dynamics Engine) は剛体の動力学を扱うオープンソースの物理計算エンジンです。こんな簡単に 3D で物理シュミレーションできるようになるとはすごい時代ですね。通常インストール対象にならない drawstuff ライブラリ等も含んでいます。0.11 以降では drawstuff も DLL を作成し、かつ、その DLL 内に必要なリソースが入るようになりました。また、DLL 命名規則が cygwin 標準に沿うようになりましたので DLL のパッケージ名に番号をつけています。

cygwin-libode1-0.11.1-1
DLL
cygwin-ODE-doc-0.11.1-1
HTML ドキュメント
cygwin-ODE-demo-0.11.1-1
デモプログラム群(0.8 では test という名前でしたが、本家での変更にあわせて変更しました)
cygwin-ODE-texture-0.11.1-1
drawstuff で使用されるテクスチャ
cygwin-ODE-0.11.1-1
ライブラリ・ヘッダ
cygwin-ODE-0.11.1-1-src
ソース(cygport)

cairo 統合済み Pango

Pango は GNOME で利用されている国際化テキストのレイアウト・レンダリングライブラリ(公式サイト)ですが、Graphviz が cairo と統合された以降のバージョンを要求するため、GLib を更新せずに済む範囲内で最新のバージョンをビルドしました。

pango_-1.10.4-1
実行形式(pango の初期設定に必要なため、Graphviz にも必要)
pango_-runtime-1.10.4-1
DLL(Graphviz に必要)
pango_-doc-1.10.4-1
ドキュメント
pango_-devel
ヘッダと静的ライブラリ等

Python 2.5 用 pygtk2

Python 用の GTK+ バインディング PyGTK は Cygwin 本家パッケージに pygtk2 として含まれていますが、Python のパッケージは既に 2.5 に移行しているのに、pygtk2 のパッケージは Python 2.4 用になっています。ということで Python 2.5 用に再ビルドしました。

pygtk2_python25-2.6.3-1
一式
pygtk2_python25-2.6.3-1-src
ソース一式

QDBM

高速なデータベースライブラリである QDBM をビルドしたものです。データベースと言っても RDBMS ではありません。UNIX DBM 相当です。B+木、ハッシュを扱うことができます。

libqdbm-1.8.30-2
DLL
qdbm-1.8.30-2
実行形式とその man ページ等
qdbm-devel-1.8.30-1
ヘッダとライブラリと man ページ
qdbm-perl-1.8.30-1
Perl バインディング (perl-5.8.6-4 で作成)
qdbm-ruby-1.8.30-1
Ruby バインディング (ruby-1.8.2-2 で作成)

Cygwin 版 SDL

SDL(Simple Directmedia Library) はオープンソースなクロスプラットフォームマルチメディアライブラリとして有名ですが、通常 Cygwin 上でビルドすると Native (MinGW) 版としてビルドされます。生成物の配布を考えた場合には、cygwin1.dll とリンクされると、完全に GPLv2 に従うか、あるいはオープンソースとして配布する必要があるため(Cygwin ライセンスの例外条項による)、あまり嬉しいことはないのですが、適当に個人で使う場合には全て Cygwin 環境下でまかなうことができるためそれはそれで便利だったりします。ということで、msvcrt ではなくて cygwin1.dll とリンクする SDL を作成してみました。完全に Cygwin 上に持ってくるなら X 上で動作するようにするのが筋かもしれませんが、SDL の目的を考えるとそこまではやるのはオーバーヘッドが大きすぎということで、基本的に Win32 用レイヤーを使用します。Cygwin が影響するのはファイル入出力周りだけです(多分)。

cygwin-SDL-1.2.11-1
静的ライブラリ、ヘッダ等
cygwin-SDL-man-1.2.11-1
man ページ
cygwin-libSDL120-1.2.11-1
DLL
cygwin-SDL-1.2.11-1-src
上記のソース(cygport)

GNU Screen patch 版

仮想端末多重化ソフトとでも言えばいいのか、CUI 使いの強い味方 GNU Screenが遂に Cygwin 本家配布パッケージとなりました。以前配布していたものの代わりに、本家配布版に対してでかいの企画さんの非公式パッチ、2ch で公開されたパッチ等↓各種パッチをあてtた上、256 色表示を有効にして再ビルドしたものです。本家版と同様コマンドプロンプトで使用する場合には環境変数 CYGWIN で tty を設定しておく必要があります。詳しくは Cygwin User's Guide の Environment VariablesThe CYGWIN environment variableの項、および ML でのアナウンスを参照してください。なお、パッケージをインストールしても termcap、terminfo の設定はされませんので、必要があれば screencapscreeninfo.src を参考に設定を行ってください。←は、オリジナルのソースから抜き出してきたファイルです。256 色表示については The 256 color mode of xterm の下の方 &Applications that support 256 colors - screen& のような設定が必要かもしれません。

screen_patched-4.0.3-2
一式。
screen_patched-4.0.3-2-src
ソース一式(cygport)。↓のパッチ等適用したパッチ全てをまとめたパッチを含みます。
2ch上のパッチ1
screen-4.0.2-EB.patch 元レス
2ch上のパッチ2
screen-4.0.2-NCR.patch 元レス
2ch上のパッチ3
screen-4.0.3-regenc.patch 元レス
savannah 上のパッチ1
bug #11021, :exec .!. and Report()
savannah 上のパッチ2
bug #19805: [PATCH] copy/scrollback from altscreen
FreeBSD ports パッチ1
patch-ansi.c(FreeBSD cvsweb)
FreeBSD ports パッチ2
patch-resize.c(FreeBSD cvsweb)
FreeBSD ports パッチ3
opt-showencoding(FreeBSD cvsweb)
sjis 変換修正パッチ
screen-4.0.3_sjis_fix.patch encoding utf8 sjis の設定下でほとんどの種類の記号が入力できなくなる点を修正します。

GNU screen cp932 変換版

上記 GNU screen に対して、さらに encoding sjis における Unicode との変換を、Microsoft による変換(いわゆる cp932)に置き換えたものです。変換用テーブルの修正に加えて、IBM 拡張文字に対しても sjis として変換が行われるように一部コードを修正してあります。変換に用いているテーブルは Unicode Consortium の CP932.TXT を元に作成しています。GNU screen の配布ソースに含まれる変換テーブルは JIS0208.TXT 相当です。テーブルを差し替えるだけでも IBM 拡張文字以外は Microsoft による変換に従うようになります。なお修正に際しては、森山 将之さんの Windows-31J 情報 のページを参考にさせていただきました。

screen_cp932-4.0.3-4
一式。
screen_cp932-4.0.3-4-src
ソース一式(cygport)。↓の差し替え用変換テーブル、パッチの内容を含みます。
差し替え用変換テーブル
バイナリファイルの patch はとれないので、02.bin .bin をとって 02 にリネームした上、utf8encodings/02 と差し替えてください。
パッチ
screen-4.0.3_cp932.patch

Subversion - UTF-8 Cygwin hack 版

APR - UTF-8 Cygwin hack 版使用時に、コマンドライン引数は UTF-8 として解釈するようにしたものです。

subversion_utf8-1.4.5-2
バイナリ群。他のパッケージは通常版を使用してください。
subversion_utf8-1.4.5-2-src
ソース一式(cygport)。パッチ込み。

Syck

YAML の比較的高速なパーサライブラリである Syck です。Perl(YAML::Syck)、OCaml(ocaml-syck) で使いたかったので作成。今なら Syck じゃなくて LibYAML でしょうか。

syck-0.55-1
一式。
syck-0.55-1-src
ソース一式(cygport)。

Unison cp932 微修正版

OCaml で作成されたファイル同期ツールである Unison の cp932 ファイル名向け修正版です。こちらのパッチをベースにいくつか修正を加えています。詳細については /.-j の日記エントリにでも書くつもりです。が、残念ながら cygwin1.dll 自体が cp932 に対応していないため、ファイル名、ディレクトリ名末尾が 0x5C で終了している場合、正常に処理できないというでかい問題が残っています。ぶっちゃけ配布されている Cygwin 使わない版の方がよっぽど常用に耐えると思います。どうしても駄目なら Win32 native 版でパッチ込みのものを作成するか、UTF-8 Cygwin で非パッチ版を使用するのがよいと思います。

unison2.27_cp932-2.27.48-3
一式。
unison2.27_cp932-2.27.48-3-src
ソース一式(cygport)。