daily memorandum 2.3.0

CBUG | FreeBSD | Hiki | Knoppix | Mac | Ruby | W-ZERO3 | Windows | ad | amd64 | ks | linux | momonga | net | print | security | tdiary | unix | www | 会社 | 鯖缶 | 全学ゼミ |


2005-03-06 (Sun)

_ [FreeBSD][print] [ports-jp 15630] Re: xpdf jumbo patch

xpdf の resource 統合の話。ようやく ports 作り直しますた。 作るのは意外と簡単だった。こっちの方がシンプルだからね。

しかし、作るのは簡単でも、コミッてもらうまでにいろいろありそうだなぁ。 chinese/xpdf のメンテナに連絡取らないといけない気もするし、 UPDATING 書かないといけない気もするし。。。

xpdf-config のメンテナどうする問題

ports の MAINTAINER って 1人しか書けないのだけど (複数書くと portlint に怒られる)、 こういう CJK全部の resource 抱えてる ports の場合、 どうするのが一番いいのだろう?

例えば、Jな人がメンテナ握ってしまうと、 Cと Kの人は自分とこの resource いぢるためにも いちいち Jなメンテナの approve もらわないといけないわけで、 それってめんどうじゃないのかなぁ、と思う。 今話題の(?) IIIMF ports なんて、まさにこのケースなわけで。

今までは、例えば x11@f.o とか gnome@, kde@ みたいに、 複数メンテナがいた方がいい ports に関しては 都度 ML を作っていたわけだけど、 xpdf-config@ なんて作るのは大袈裟なわけだし。 単純に MAINTAINER を複数にするってのは、何かマズイのだろうか?

まぁ、xpdf-config については とりあえず norkさんに 押しつけ お願いすることにした。 xpdf と同じメンテナなら、まぁ問題ないでしょってことで。

_ [FreeBSD][amd64] kterm/amd64 キターーーー(・∀・)ーーーー!!!

というわけで、 xterm の termios のコードを kterm に移植してみた (kterm-6.2.0-amd64-0.1.patch)。

中身ロクに理解せずに半機械的にコピペしたのだけど(苦笑)、 何だかちゃんと動いてるよ。。。 ちゃんと立ち上がるし、ひととおりのことはしてみたけど、特に問題はなさげ。

まぁ、いくら最近 xterm の開発が進んでいるといっても、元は同じコードだからね。 単純に diff 取るとすごーく違うように見えるけど、 大量の #ifdef にメゲずに(苦笑)マジメに追えば かなり同じだということがわかる。 途中かなり眠かったけど。 とりあえず、小人さんありがとう! (ぇ

ちなみに、「機械的」には行かなかった部分のメモ:

  • xterm の USE_ANY_SYSV_TERMIO というマクロは、kterm では USE_SYSV_TERMIO になっている。
  • xterm の HAS_LTCHARS というマクロは、kterm では TIOCSLTC となっている(という言い方は間違いなのだが、移植の際にはこう考えておいて問題ない)。
  • でもって、FreeBSD/amd64 では TIOCSLTC, TIOCLSET がともに define されているのだが、sys/ioctl_compat.h で定義されているだけあって使いものにならん。:< ってことで、こいつらは undef した。
  • VAL_LINE_SPEED というマクロは kterm では定義されていない。わざわざ定義するのも面倒なので、ここは B9600 にしてしまった。

明日にでも ports に仕込みますかね。

_ [FreeBSD][Hiki] ports TODO (2)

これで 2つ、ほぼ目途がついた。 そろそろ ports いぢるのは一段落かな。

Hiki の開発とか3ヶ月ほどほったらかしなので、 そろそろ復帰しないといろいろマズゲ。 あと、最近はやりの(?) DarwinPorts にも手を出したいのよね。

_ [FreeBSD] pre-defined macro を調べる方法

   % cat > hoge.c
   int main() {}
   ^D
   % cc -dD -E hoge.c
   # 1 "hoge.c"
   # 1 "<built-in>"
   #define __STDC_HOSTED__ 1
   #define __GNUC__ 3
   #define __GNUC_MINOR__ 4
   #define __GNUC_PATCHLEVEL__ 2
   #define __SIZE_TYPE__ long unsigned int
   #define __PTRDIFF_TYPE__ long int
   #define __WCHAR_TYPE__ int
   #define __WINT_TYPE__ unsigned int
   #define __GXX_ABI_VERSION 1002
   #define __SCHAR_MAX__ 127
   #define __SHRT_MAX__ 32767
   #define __INT_MAX__ 2147483647
   #define __LONG_MAX__ 9223372036854775807L
   #define __LONG_LONG_MAX__ 9223372036854775807LL
   #define __WCHAR_MAX__ 2147483647
   #define __CHAR_BIT__ 8
   #define __FLT_EVAL_METHOD__ 0
   #define __FLT_RADIX__ 2
   #define __FLT_MANT_DIG__ 24
   #define __FLT_DIG__ 6
   #define __FLT_MIN_EXP__ (-125)
   #define __FLT_MIN_10_EXP__ (-37)
   #define __FLT_MAX_EXP__ 128
   #define __FLT_MAX_10_EXP__ 38
   #define __FLT_MAX__ 3.40282347e+38F
   #define __FLT_MIN__ 1.17549435e-38F
   #define __FLT_EPSILON__ 1.19209290e-7F
   #define __FLT_DENORM_MIN__ 1.40129846e-45F
   #define __FLT_HAS_INFINITY__ 1
   #define __FLT_HAS_QUIET_NAN__ 1
   #define __DBL_MANT_DIG__ 53
   #define __DBL_DIG__ 15
   #define __DBL_MIN_EXP__ (-1021)
   #define __DBL_MIN_10_EXP__ (-307)
   #define __DBL_MAX_EXP__ 1024
   #define __DBL_MAX_10_EXP__ 308
   #define __DBL_MAX__ 1.7976931348623157e+308
   #define __DBL_MIN__ 2.2250738585072014e-308
   #define __DBL_EPSILON__ 2.2204460492503131e-16
   #define __DBL_DENORM_MIN__ 4.9406564584124654e-324
   #define __DBL_HAS_INFINITY__ 1
   #define __DBL_HAS_QUIET_NAN__ 1
   #define __LDBL_MANT_DIG__ 64
   #define __LDBL_DIG__ 18
   #define __LDBL_MIN_EXP__ (-16381)
   #define __LDBL_MIN_10_EXP__ (-4931)
   #define __LDBL_MAX_EXP__ 16384
   #define __LDBL_MAX_10_EXP__ 4932
   #define __DECIMAL_DIG__ 21
   #define __LDBL_MAX__ 1.18973149535723176502e+4932L
   #define __LDBL_MIN__ 3.36210314311209350626e-4932L
   #define __LDBL_EPSILON__ 1.08420217248550443401e-19L
   #define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
   #define __LDBL_HAS_INFINITY__ 1
   #define __LDBL_HAS_QUIET_NAN__ 1
   #define __REGISTER_PREFIX__
   #define __USER_LABEL_PREFIX__
   #define __VERSION__ "3.4.2 [FreeBSD] 20040728"
   #define _LP64 1
   #define __LP64__ 1
   #define __NO_INLINE__ 1
   #define __FINITE_MATH_ONLY__ 0

   #define __amd64 1
   #define __amd64__ 1
   #define __x86_64 1
   #define __x86_64__ 1
   #define __tune_k8__ 1
   #define __MMX__ 1
   #define __SSE__ 1
   #define __SSE2__ 1
   #define __SSE_MATH__ 1
   #define __SSE2_MATH__ 1
   #define __k8 1
   #define __k8__ 1
   #define __FreeBSD__ 5
   #define __unix 1
   #define __unix__ 1
   #define unix 1
   #define __KPRINTF_ATTRIBUTE__ 1

   #define __FreeBSD_cc_version 530001
   #define __LP64__ 1
   #define __ELF__ 1
   # 1 "<command line>"
   #define _LONGLONG 1
   # 1 "hoge.c"
   int main() {}
[]