1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-22 00:35:15 +00:00
freebsd-ports/japanese/tcl80/files
..
patch-aa
patch-ab
README.FreeBSD.in

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FreeBSDにおけるTcl の ports/packages について
	田口 毅 taguchi@tohoku.iij.ad.jp

本文章ではFreeBSD環境におけるTclの特徴的な部分をまとめる

1. インストールされるファイルについて.
FreeBSD上では数多くのプログラムが標準配布に組み込まれておりそれに
加えて1200を越えるプログラムがports/packages の仕組みを用いて提供さ
れている.

その中にはTcl/Tk自身やそれらの拡張およびそれらを用いたいくつも
のプログラムが含まれる.

ここで問題となるのは,流通している Tcl/Tk には,様々なバージョンが存在
するという事実であるそして前述のプログラム群が用いているTclやTk
のバージョンは1つではないというリリースエンジニアリング的にやっか
いな現実がある.

例えばあるプログラムAはTcl7.6の日本語版を用いプログラムBはオリジナ
ルの Tcl8.0をそしてプログラムCはオリジナルのTcl7.5を用いている,と
いうことが有り得るのだ.

そこでFreeBSD では,さまざまな議論に基づき,ユーザが使用し得るすべて
の版のTcl/Tk が同時にインストールされうるようにしている(一部,完全では
ないかもしれないが,少なくともそれを目指している)

そのために標準のTcl/Tkとは一部のファイルのインストールされるディレ
クトリ階層が異なっている.

だが安心してほしいTcl/Tkを用いるFreeBSD上のports/packagesはその
変更されたインストール場所を前提に動作する従ってports/ packagesを
用いるユーザは,その変更を意識せずに済むだろう.

問題となるのは未だports/packages化されていないアプリケーションをイン
ストールする場合だろう.そこで,以下に,何が標準と異なることになるかを
述べる.

相違があるファイルで重要なものは以下の2個でありそれぞれ以下の場所に
インストールされる.

ファイル名	インストール場所		デフォルトの場所
tclConfig.sh  @prefix@/lib/tcl@TCL_VERSION@	@exec_prefix@/lib
tcl.h	      @prefix@/include/tcl@TCL_VERSION@	@prefix@/include

多くの場合,これらのファイルを正しく見つけられるように,インストールし
ようとするプログラムのconfigureスクリプトやMakefileを書き換えれば
正しくインストールできるだろう.そして,そうした作業を行った場合は,是
非ともports化しFreeBSDにcontribしてほしいまたports化が難しい場合
は是非ともpatchを作成してFreeBSDのMLに投稿してほしいそうすること
によって,多くの人々が救われるかもしれないからだ.

なおTclのソースに含まれるヘッダファイル群はすべて
		@prefix@/include/tcl@TCL_VERSION@
以下の階層にインストールするようにしているコンパイル時にTclのソース
のパスを指定する必要のある多くのプログラム群は,単にそれらヘッダファイ
ルを見る必要があるだけな場合が多いので,ここからヘッダファイルを
includeするようにするとおしゃれだろう

これは日本語版に限った話であるが日本語版tcl8.0では,オンラインマニュ
アルページ(manファイル群)のインストールを行わないことにした.これは,
そのファイルが非日本語版のそれとまったく同じであり,かつ,同じ場所にイ
ンストールするしかないものだからである従ってmanファイルを参照しよ
うとする場合は非日本語版のtcl8.0もインストールしてほしい.

もっともportsを使ってインストールする場合には
# make install-man
と入力すればmanファイルはインストールされてしまうただしportsの枠
組みを越えた機能であるためpkg_deleteコマンドでja-tcl-8.0 を削除しよ
うとしてもmanファイル群は削除されないので注意が必要である

本質的(かつ,一番幸せ)な解決策はすべてのmanファイルを日本語訳しそ
れをjmanで読めるディレクトリにインストールすることであろうmanファイ
ルの訳を完成した人は,是非とも私に一報いただきたい.それに対応した形に
portsを作成し直したいと思う

2. その他の相違点
Tcl/Tk はScriptics社によって保守されているがインターネット上でも
comp.lang.tclを中心に保守が行われているそしてそこでは正式なバー
ジョンではまだ修正されていないバグのfixも行われている
こうしたバグ報告は,
	http://www.cs.uoregon.edu/research/tcl/patch/
にまとめられているいずれ本家にも反映されることが期待されるfixであ
るがとりあえずja-tcl-8.0 ではこれらのfixも独自に反映させることにし
た従ってFreeBSDのports/packages版はより安定して動作することが期
待できるかもしれない.