いけむランド

はてダからやってきました

jabanner@cygwin

jabanner という日本語が表示可能な banner を cygwin に移植してみた。

あと、windowsでは動きません...(д)

cygwinで頑張ってみたけどだめっぽい...。

だれかコンパイル通ったって人いたらコメントにその方法とかお願いします。

ioctlまわりがアレらしい。

前準備

cygwinコンパイルおよび実行するには

  • libgd2 と libgd-devel
  • libintl8 と gettext
  • libncurses8 と libncurses-devel

がそれぞれ必要になる。

ソースの修正

一箇所だけある。

diff -ruN  origsrc/jabanner-0.0.7/src/jabanner.cc src/jabanner-0.0.7/src/jabanner.cc
--- origsrc/jabanner-0.0.7/src/jabanner.cc	2008-04-09 11:42:27.000000000 +0900
+++ src/jabanner-0.0.7/src/jabanner.cc	2008-04-12 17:47:23.109375000 +0900
@@ -37,6 +37,10 @@
 
 #include <sys/ioctl.h>
 
+#ifdef __CYGWIN__
+#include <termios.h>
+#endif // __CYGWIN__
+
 #include <string>
 #include <iostream>
 #include <fstream>

ビルド

cygport ファイルは以下のとおり。
元になるフォントを変えたい場合は CYGCONF_ARGS の --enable-font= で指定してある TTF ファイルのパスを変更すれば良い。

# for dep (avoid to fail to grep 'DLL Name:')
export LC_ALL=C

# for info
DESCRIPTION="Japanese banner"
HOMEPAGE="http://www.coins.tsukuba.ac.jp/~i0611238/pub/jabanner/"

SRC_URI="http://www.coins.tsukuba.ac.jp/~i0611238/pub/jabanner/jabanner-0.0.7.tar.gz"

MAKEOPTS="-j1"

# for debug
export CFLAGS="-O3"
export CXXFLAGS="-O3"
CYGCONF_ARGS="--enable-font=/cygdrive/c/WINDOWS/Fonts/msgothic.ttc LIBS=-lintl"

実行

普通にやろうとすると文字化けした。
もっといい方法はあると思うが、とりあえず UTF-8 だと文字化けを回避できたため、nkfかまして、確認した。


ファイル

cygwin で実行可能なバイナリもアップロードしようかと思ったが、再配布可能かわからなかったので、再ビルドに必要な cygport ファイルとパッチだけ置いておく。

[追記] パッケージにした。