1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-29 01:13:08 +00:00

imported japanese/tcl80, "Japanized Tool Command Language, version 8.0".

PR:			5579
This commit is contained in:
Jun-ichiro itojun Hagino 1998-05-10 08:09:18 +00:00
parent 5cef148deb
commit 9022b1972e
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=10929
9 changed files with 423 additions and 0 deletions

57
japanese/tcl80/Makefile Normal file
View File

@ -0,0 +1,57 @@
# New ports collection makefile for: ja-tcl8.0
# Version required: 8.0
# Date created: 23 Jan 1998
# Whom: taguchi@tohoku.iij.ad.jp
#
# $Id:$
#
DISTNAME= tcl8.0p2
PKGNAME= ja-tcl-8.0.2
CATEGORIES= japanese lang tcl80
MASTER_SITES= ftp://ftp.sunlabs.com/pub/tcl/
PATCH_SITES= ftp://ftp.sra.co.jp/pub/lang/tcl/jp/
PATCHFILES= tcl8.0p2jp_beta3-patch.gz
MAINTAINER= taguchi@tohoku.iij.ad.jp
VERSION= 8.0
TOPDIR= ${WRKDIR}/tcl${VERSION}
WRKSRC= ${TOPDIR}/unix
.if defined(PATCH_DEBUG)
PATCH_DIST_ARGS=-d ${TOPDIR} -E ${PATCH_DIST_STRIP}
.else
PATCH_DIST_ARGS=-d ${TOPDIR} --forward --quiet -E ${PATCH_DIST_STRIP}
.endif
GNU_CONFIGURE= yes
USE_AUTOCONF= yes
CONFIGURE_ARGS= --enable-shared
.if !defined(NOPORTDOCS)
post-patch:
@${CP} ${FILESDIR}/README.FreeBSD.in ${TOPDIR}/README.FreeBSD.in
@${SED} -e 's%AC_OUTPUT(Makefile tclConfig.sh)%AC_OUTPUT(Makefile tclConfig.sh ../README.FreeBSD)%' \
< ${WRKSRC}/configure.in \
> ${WRKSRC}/configure.in.tmp
@${MV} -f ${WRKSRC}/configure.in.tmp ${WRKSRC}/configure.in
.endif
post-install:
.if !defined(NOPORTDOCS)
@${MKDIR} ${PREFIX}/share/doc/tcl${VERSION}jp
@(cd ${TOPDIR}; \
${INSTALL_DATA} README changes README.FreeBSD README.JP changes.JP \
Incompat80jp ${PREFIX}/share/doc/tcl${VERSION}jp; \
)
.endif
@${LDCONFIG} -m ${PREFIX}/lib
@${CAT} ${PKGDIR}/MESSAGE
test:
cd ${WRKSRC} && ${MAKE} test
install-man:
cd ${WRKSRC} && ${MAKE} install-man
.include <bsd.port.mk>

2
japanese/tcl80/distinfo Normal file
View File

@ -0,0 +1,2 @@
MD5 (tcl8.0p2.tar.gz) = c1ee11750153717cb8237b830867a0e6
MD5 (tcl8.0p2jp_beta3-patch.gz) = 4ee1fa7eead3bd97cf912876a7f9b399

View File

@ -0,0 +1,85 @@
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版はより安定して動作することが期
待できるかもしれない.

View File

@ -0,0 +1,201 @@
--- configure.in.ORIG Tue Jan 6 11:51:48 1998
+++ configure.in Tue Jan 6 11:52:23 1998
@@ -9,6 +9,7 @@
TCL_MINOR_VERSION=0
TCL_PATCH_LEVEL="p2"
VERSION=${TCL_VERSION}
+TCL_L10N=jp
if test "${prefix}" = "NONE"; then
prefix=/usr/local
@@ -793,7 +794,7 @@
DL_LIBS=""
LD_FLAGS=""
LD_SEARCH_FLAGS=""
- TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1.0'
+ TCL_SHARED_LIB_SUFFIX='`echo ${VERSION} | tr -d .`.so.1.2'
], [
SHLIB_CFLAGS=""
SHLIB_LD="echo tclLdAout $CC \{$SHLIB_CFLAGS\} | `pwd`/tclsh -r"
@@ -1228,5 +1229,6 @@
AC_SUBST(TCL_SRC_DIR)
AC_SUBST(TCL_UNSHARED_LIB_SUFFIX)
AC_SUBST(TCL_VERSION)
+AC_SUBST(TCL_L10N)
AC_OUTPUT(Makefile tclConfig.sh)
--- Makefile.in.ORIG Tue Jan 6 11:51:53 1998
+++ Makefile.in Tue Jan 6 11:52:48 1998
@@ -55,7 +55,9 @@
BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin
# Directory in which to install the include file tcl.h:
-INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include
+INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)
+GENERIC_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)/generic
+UNIX_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/tcl$(VERSION)/unix
# Top-level directory in which to install manual entries:
MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man
@@ -71,6 +73,9 @@
# Tcl commands:
MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
+# Directory in which to install sharedable other documents:
+DOC_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/share/doc/tcl$(VERSION)
+
# To change the compiler switches, for example to change from -O
# to -g, change the following line:
CFLAGS = @CFLAGS@
@@ -140,7 +145,7 @@
# "install" around; better to use the install-sh script that comes
# with the distribution, which is slower but guaranteed to work.
-INSTALL = @srcdir@/install-sh -c
+INSTALL = install -c
INSTALL_PROGRAM = ${INSTALL}
INSTALL_DATA = ${INSTALL} -m 644
@@ -173,6 +178,8 @@
#BUILD_DLTEST =
TCL_LIB_FILE = @TCL_LIB_FILE@
+TCL_L10N=@TCL_L10N@
+TCL_STATIC_LIB_FILE= libtcl@TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@${TCL_L10N}.a
#TCL_LIB_FILE = libtcl.a
#----------------------------------------------------------------
@@ -317,7 +324,11 @@
SRCS = $(GENERIC_SRCS) $(UNIX_SRCS) $(KANJI_SRCS)
-all: ${TCL_LIB_FILE} tclsh
+DOCS = $(TOP_DIR)/README $(TOP_DIR)/changes $(TOP_DIR)/README.JP \
+ $(TOP_DIR)/Incompat80jp $(TOP_DIR)/changes.JP \
+ $(UNIX_DIR)/README.FreeBSD
+
+all: ${TCL_LIB_FILE} ${TCL_STATIC_LIB_FILE} tclsh
# The following target is configured by autoconf to generate either
# a shared library or non-shared library for Tcl.
@@ -326,6 +337,11 @@
@MAKE_LIB@
$(RANLIB) ${TCL_LIB_FILE}
+${TCL_STATIC_LIB_FILE}: ${OBJS}
+ rm -f ${TCL_STATIC_LIB_FILE}
+ ar cr ${TCL_STATIC_LIB_FILE} ${OBJS}
+ $(RANLIB) ${TCL_STATIC_LIB_FILE}
+
# Make target which outputs the list of the .o contained in the Tcl lib
# usefull to build a single big shared library containing Tcl and other
# extensions. used for the Tcl Plugin. -- dl
@@ -411,13 +427,13 @@
cd dltest; if test -f configure; then ./configure; else \
$(DLTEST_DIR)/configure; fi
-install: install-binaries install-libraries install-man
+install: install-binaries install-libraries
# Note: before running ranlib below, must cd to target directory because
# some ranlibs write to current directory, and this might not always be
# possible (e.g. if installing as root).
-install-binaries: $(TCL_LIB_FILE) tclsh
+install-binaries: $(TCL_LIB_FILE) $(TCL_STATIC_LIB_FILE) tclsh
@for i in $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) ; \
do \
if [ ! -d $$i ] ; then \
@@ -431,18 +447,23 @@
@$(INSTALL_DATA) $(TCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
@(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_LIB_FILE))
@chmod 555 $(LIB_INSTALL_DIR)/$(TCL_LIB_FILE)
+ @echo "Installing $(TCL_STATIC_LIB_FILE)"
+ @$(INSTALL_DATA) $(TCL_STATIC_LIB_FILE) $(LIB_INSTALL_DIR)/$(TCL_STATIC_LIB_FILE)
+ @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(TCL_STATIC_LIB_FILE))
+ @chmod 555 $(LIB_INSTALL_DIR)/$(TCL_STATIC_LIB_FILE)
@echo "Installing tclsh"
@$(INSTALL_PROGRAM) tclsh $(BIN_INSTALL_DIR)/tclsh$(VERSION)
@echo "Installing tclConfig.sh"
- @$(INSTALL_DATA) tclConfig.sh $(LIB_INSTALL_DIR)/tclConfig.sh
+ @mkdir -p $(SCRIPT_INSTALL_DIR)
+ @$(INSTALL_DATA) tclConfig.sh $(SCRIPT_INSTALL_DIR)/tclConfig.sh
install-libraries:
- @for i in $(INSTALL_ROOT)$(prefix)/lib $(INCLUDE_INSTALL_DIR) \
- $(SCRIPT_INSTALL_DIR); \
+ @for i in $(INSTALL_ROOT)$(prefix)/lib $(GENERIC_INCLUDE_INSTALL_DIR) \
+ $(UNIX_INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR); \
do \
if [ ! -d $$i ] ; then \
echo "Making directory $$i"; \
- mkdir $$i; \
+ mkdir -p $$i; \
chmod 755 $$i; \
else true; \
fi; \
@@ -456,8 +477,15 @@
else true; \
fi; \
done;
- @echo "Installing tcl.h"
- @$(INSTALL_DATA) $(GENERIC_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
+ @echo "Installing libraries, tcl.h and other headers"
+ @for i in $(GENERIC_DIR)/*.h ; \
+ do \
+ echo "Installing $$i"; \
+ $(INSTALL_DATA) $$i $(GENERIC_INCLUDE_INSTALL_DIR); \
+ done;
+ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/tcl.h $(INCLUDE_INSTALL_DIR)/tcl.h
+ @echo "Installing $(TOP_DIR)unix/tclUnixPort.h"
+ @$(INSTALL_DATA) $(TOP_DIR)/unix/tclUnixPort.h $(UNIX_INCLUDE_INSTALL_DIR)
@for i in $(TOP_DIR)/library/*.tcl $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tclAppInit.c $(UNIX_DIR)/ldAix; \
do \
echo "Installing $$i"; \
@@ -485,30 +513,37 @@
@cd $(TOP_DIR)/doc; for i in *.1; \
do \
echo "Installing doc/$$i"; \
- rm -f $(MAN1_INSTALL_DIR)/$$i; \
+ rm -f $(MAN1_INSTALL_DIR)/$$i $(MAN1_INSTALL_DIR)/$$i.gz ; \
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
- $$i > $(MAN1_INSTALL_DIR)/$$i; \
- chmod 444 $(MAN1_INSTALL_DIR)/$$i; \
+ $$i | gzip -c > $(MAN1_INSTALL_DIR)/$$i.gz; \
+ chmod 444 $(MAN1_INSTALL_DIR)/$$i.gz; \
done;
$(UNIX_DIR)/mkLinks $(MAN1_INSTALL_DIR)
@cd $(TOP_DIR)/doc; for i in *.3; \
do \
echo "Installing doc/$$i"; \
- rm -f $(MAN3_INSTALL_DIR)/$$i; \
+ rm -f $(MAN3_INSTALL_DIR)/$$i $(MAN3_INSTALL_DIR)/$$i.gz ; \
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
- $$i > $(MAN3_INSTALL_DIR)/$$i; \
- chmod 444 $(MAN3_INSTALL_DIR)/$$i; \
+ $$i | gzip -c > $(MAN3_INSTALL_DIR)/$$i.gz; \
+ chmod 444 $(MAN3_INSTALL_DIR)/$$i.gz; \
done;
$(UNIX_DIR)/mkLinks $(MAN3_INSTALL_DIR)
@cd $(TOP_DIR)/doc; for i in *.n; \
do \
echo "Installing doc/$$i"; \
- rm -f $(MANN_INSTALL_DIR)/$$i; \
+ rm -f $(MANN_INSTALL_DIR)/$$i $(MANN_INSTALL_DIR)/$$i.gz; \
sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \
- $$i > $(MANN_INSTALL_DIR)/$$i; \
- chmod 444 $(MANN_INSTALL_DIR)/$$i; \
+ $$i | gzip -c > $(MANN_INSTALL_DIR)/$$i.gz; \
+ chmod 444 $(MANN_INSTALL_DIR)/$$i.gz; \
done;
$(UNIX_DIR)/mkLinks $(MANN_INSTALL_DIR)
+ @echo "**********"
+ @echo "IMPORTANT:"
+ @echo "**********"
+ @echo "tclConfig.sh in $(SCRIPT_INSTALL_DIR)/tclConfig.sh"
+ @echo "tcl.h in $(INCLUDE_INSTALL_DIR)/tcl.h"
+ @echo "There are NOT default place, but good place to avoid"
+ @echo "conflicting with another version of Tcl/Tks."
Makefile: $(UNIX_DIR)/Makefile.in
$(SHELL) config.status

View File

@ -0,0 +1,11 @@
--- ../generic/tclListObj.c.ORIG Tue Dec 30 15:54:34 1997
+++ ../generic/tclListObj.c Tue Dec 30 15:55:18 1997
@@ -260,6 +260,8 @@
objPtr->internalRep.otherValuePtr = (VOID *) listRepPtr;
objPtr->typePtr = &tclListType;
+ } else {
+ objPtr->bytes = tclEmptyStringRep;
}
}

View File

@ -0,0 +1 @@
Japanized Tool Command Language, version 8.0

12
japanese/tcl80/pkg-descr Normal file
View File

@ -0,0 +1,12 @@
This package contains the binary release of Japanized Tcl8.0,
an embeddable tool command language.
Many thanks to Mr. Nishinaka and tcl-jp team.
The best way to get started with Tcl is to read ``Tcl and the Tk
Toolkit'' by John K. Ousterhout, Addison-Wesley, ISBN 0-201-63337-X.
And Japanized version of this document is available.
`` Tcl and Tk Toolkit'', SOFTBANK, ISBN4-89052-819-9.
NOTE: A full set of manual pages is provided by the package "tcl-8.0".
This package does NOT contain it.

View File

@ -0,0 +1,12 @@
**********
INPORTANT:
**********
1. ja-tcl-8.0 does NOT install online manual pages.
if you need them, please install package "tcl-8.0".
2. This version is still BETA. BUG reports and/or comments are
welcome. see "/usr/local/share/doc/tcl8.0jp/README.JP".
3. For more informations, see "/usr/local/share/doc/tcl8.0jp/"
Thanks.

42
japanese/tcl80/pkg-plist Normal file
View File

@ -0,0 +1,42 @@
bin/tclsh8.0jp
lib/libtcl80jp.a
lib/libtcl80jp.so.1.2
@exec /sbin/ldconfig -m %B
include/tcl8.0jp/tcl.h
include/tcl8.0jp/generic/tcl.h
include/tcl8.0jp/generic/tclCompile.h
include/tcl8.0jp/generic/tclInt.h
include/tcl8.0jp/generic/tclMath.h
include/tcl8.0jp/generic/tclPort.h
include/tcl8.0jp/generic/tclRegexp.h
include/tcl8.0jp/unix/tclUnixPort.h
lib/tcl8.0jp/history.tcl
lib/tcl8.0jp/init.tcl
lib/tcl8.0jp/ldAix
lib/tcl8.0jp/ldAout.tcl
lib/tcl8.0jp/parray.tcl
lib/tcl8.0jp/safe.tcl
lib/tcl8.0jp/tclAppInit.c
lib/tcl8.0jp/tclConfig.sh
lib/tcl8.0jp/tclIndex
lib/tcl8.0jp/word.tcl
lib/tcl8.0jp/http1.0/http.tcl
lib/tcl8.0jp/http1.0/pkgIndex.tcl
lib/tcl8.0jp/http2.0/http.tcl
lib/tcl8.0jp/http2.0/pkgIndex.tcl
lib/tcl8.0jp/opt0.1/optparse.tcl
lib/tcl8.0jp/opt0.1/pkgIndex.tcl
share/doc/tcl8.0jp/README
share/doc/tcl8.0jp/changes
share/doc/tcl8.0jp/README.JP
share/doc/tcl8.0jp/changes.JP
share/doc/tcl8.0jp/Incompat80jp
share/doc/tcl8.0jp/README.FreeBSD
@dirrm include/tcl8.0jp/generic
@dirrm include/tcl8.0jp/unix
@dirrm include/tcl8.0jp
@dirrm lib/tcl8.0jp/http2.0
@dirrm lib/tcl8.0jp/http1.0
@dirrm lib/tcl8.0jp/opt0.1
@dirrm lib/tcl8.0jp
@dirrm share/doc/tcl8.0jp