渡辺一寛です。

At Wed, 31 Oct 2012 00:06:49 +0900,
Yohsuke Fujikawa wrote:
> 藤川です。
> 
> <環境>
> FreeBSD 8.3-RELEASE-p4
> portsツリーは10/29にportsnapしました。
> 
> <症状>
> /usr/ports/x11/rxvtですが、10/25付けでMakefileがRev.1.73⇒1.74
> に変わっています。目的は以下となっています。
> 
> Unbreak on OSVERSION > 900007 by disabling utmpx support.
> 
> しかしこれでビルドするとrxvtの背景にxpmファイルを表示させるため
> に使う-pixmapのオプションが無効になってしまうことに気づきました。
> 
> <対応策>
> 中身は理解できないのですが、えいやーでBROKEN=がある1行を追加し
> てビルドすると-pixmapが有効になりました。-pixmapを復活させる正し
> い修正ってどんなんでしょうか?
> 
> 
> --- Makefile.org      2012-10-26 07:32:34.000000000 +0900
> +++ Makefile  2012-10-30 23:07:07.000000000 +0900
> @@ -45,6 +45,7 @@
>  # fails to build with new utmpx
>  .if ${OSVERSION} > 900007
>  CONFIGURE_ARGS=      --disable-utmp
> +BROKEN=              fails to build with new utmpx
>  .else
>  CONFIGURE_ARGS=      --enable-utmp
>  .endif

これ、Rev.1.74 の変更が間違ってます。上記差分でも見て取れますが、本当
は "=" じゃなくて "+=" ですね。

おかげで configure スクリプトに渡す、(XPM 関連の) 多くの引数がばっさり
消去されちゃってます。あと --disable-utmp するなら --disable-wtmp もし
ないとコンパイルできないようです (9.0-RELEASE-p4 で確認)。

次のように Makefile を修正すれば大丈夫だと思います。

--- Makefile.orig       2012-10-28 14:56:40.000000000 +0900
+++ Makefile    2012-11-09 21:58:41.675868000 +0900
@@ -33,7 +33,7 @@
 XIM_DESC=              Build with XIM support
 XTERM_DESC=            Build with Xterm scrollbar
 
-CONFIGURE_ARGS=        --enable-wtmp --enable-ttygid \
+CONFIGURE_ARGS=        --enable-ttygid \
                --with-xpm --enable-xpm-background \
                --with-xpm-includes=${LOCALBASE}/include/X11 \
                --with-xpm-library=${LOCALBASE}/lib
@@ -44,9 +44,9 @@
 
 # fails to build with new utmpx
 .if ${OSVERSION} > 900007
-CONFIGURE_ARGS=        --disable-utmp
+CONFIGURE_ARGS+=       --disable-wtmp --disable-utmp
 .else
-CONFIGURE_ARGS=        --enable-utmp
+CONFIGURE_ARGS+=       --enable-wtmp --enable-utmp
 .endif
 
 .if ${PORT_OPTIONS:MBIG5}


# utmpx/wtmp が使えないと困るという人は、是非直してください(^^;;
# rxvt-devel のパッチを参考にすれば、何とかなる..かな?
---
WATANABE Kazuhiro (cqg00...@nifty.ne.jp)

メールによる返信