Date: Mon, 11 Jan 1999 23:07:36 +0000 From: dmlb@ragnet.demon.co.uk To: FreeBSD-gnats-submit@FreeBSD.ORG Cc: dmlb@ragnet.demon.co.uk Subject: ports/9452: New port itk-3.0.1 Message-ID: <E0zzqQq-00072g-00@ragnet.demon.co.uk>
next in thread | raw e-mail | index | archive | help
>Number: 9452 >Category: ports >Synopsis: New port for itk-3.0.1 >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Mon Jan 11 22:40:00 PST 1999 >Closed-Date: >Last-Modified: >Originator: Duncan Barclay >Release: FreeBSD 2.2.6-RELEASE i386 >Organization: >Environment: Affects all FreeBSDs. Tested and built under FreeBSD computer.my.domain 2.2.6-RELEASE FreeBSD 2.2.6-RELEASE #0: Sat Aug 22 17:11:37 BST 1998 dmlb@computer.my.domain:/usr/src/sys/compile/COMPUTER i386 with <bsd.port.mk> at $Id: bsd.port.mk,v 1.227.2.63 1998/11/25 00:13:01 asami Exp $ (which successfully built Tcl 8.0.4 fine from ports cvsup'd Sat 9/1/99). >Description: Itcl has moved on since the last port...Here's the latest and greatest version of [incr tk]. Also get it from the right place. I've tried to follow the format that tcl80 and tk80 have used for libraries etc. It should be ELF, please test. There are companion ports for Itcl and Iwidgets. They are separate so that people can just have OO Tcl without needing X11 or Tk to build Itk/IWidgets. See accompaning PRs. The only departure is that I have all of my Tcl/Tk manual pages under /usr/local/share/itk${VERSION}/man so that I can actually read the man pages for the version of Tcl/Tk etc I am using that day. This is a general problem with all of the Tcl ports (they overwrite manual pages). I can't see what a general fix would be though. Have a look for the # DMLB markers in Makefile. >How-To-Repeat: grep DISTNAME /usr/ports/lang/itcl/Makefile >Fix: # This is a shell archive. Save it in a file, remove anything before # this line, and then unpack it by entering "sh file". Note, it may # create directories; files and directories will be owned by you and # have default permissions. # # This archive contains: # # itk30 # itk30/Makefile # itk30/files # itk30/files/md5 # itk30/files/makefile # itk30/files/Makefile.lib # itk30/patches # itk30/patches/patch-Makefile.in # itk30/patches/patch-configure # itk30/pkg # itk30/pkg/PLIST # itk30/pkg/DESCR # itk30/pkg/COMMENT # echo c - itk30 mkdir -p itk30 > /dev/null 2>&1 echo x - itk30/Makefile sed 's/^X//' >itk30/Makefile << 'END-of-itk30/Makefile' X# New ports collection makefile for: itk X# Version required: 3.0.1 X# Date created: Aug 17 1996 X# Whom: chuckr X# X# $Id: Makefile,v 1.20 1997/07/17 15:12:47 max Exp $ X# X XDISTNAME= itcl3.0.1 XPKGNAME= itk-3.0.1 XCATEGORIES= x11-toolkits tk80 XMASTER_SITES= ftp://ftp.tcltk.com/pub/itcl/ X XMAINTAINER= dmlb@ragnet.demon.co.uk X XLIB_DEPENDS= tk80.1:${PORTSDIR}/x11-toolkits/tk80 \ X itcl30.1:${PORTSDIR}/lang/itcl30 X XWRKSRC= ${WRKDIR}/itcl3.0.1/itk/unix XGNU_CONFIGURE= yes XCONFIGURE_ARGS= --enable-shared --prefix=${PREFIX} --with-tcl=${TCL_PREFIX}/lib/tcl8.0 --with-itcl=${ITCL_PREFIX}/lib/itcl3.0 --with-tk=${TK_PREFIX}/lib/tk8.0 XCONFIGURE_ENV= PORTSDIR=${PORTSDIR} ITK_LIB_FILE=${ITK_LIB_FILE} X XTCL_PREFIX?= ${PREFIX} XITCL_PREFIX?= ${PREFIX} XTK_PREFIX?= ${PREFIX} XSHLIB_MAJOR= 1 XSHLIB_MINOR= 1 XMAKEFILE= makefile XITK_LIB= libitk30.so X X.include <bsd.port.pre.mk> X X.if ${PORTOBJFORMAT} == "elf" XITK_LIB_FILE= ${ITK_LIB}.${SHLIB_MAJOR} X.else XITK_LIB_FILE= ${ITK_LIB}.${SHLIB_MAJOR}.${SHLIB_MINOR} X.endif X Xpost-configure: X @${CP} ${FILESDIR}/Makefile.lib ${WRKSRC} X @${CP} ${FILESDIR}/makefile ${WRKSRC} X Xpre-build: X @cd ${WRKSRC} && ${MAKE} -f Makefile.lib PREFIX=${PREFIX} \ X SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR} \ X TCL_PREFIX=${TCL_PREFIX} ITCL_PREFIX=${ITCL_PREFIX} TK_PREFIX=${TK_PREFIX} X X# DMLB - BEGIN Xpre-install: X ${MKDIR} -p ${PREFIX}/share/itk3.0 X# DMLB - END Xpost-install: X # DMLB - BEGIN X ${MKDIR} -p ${PREFIX}/share/itk3.0/man/cat1 X ${MKDIR} -p ${PREFIX}/share/itk3.0/man/catn X /bin/chmod 0755 ${PREFIX}/share/itk3.0/man/* X /usr/sbin/chown root:wheel ${PREFIX}/share/itk3.0/man/man? X /usr/sbin/chown man:wheel ${PREFIX}/share/itk3.0/man/cat? X # DMLB - END X ${LN} -sf ${ITK_LIB_FILE} ${PREFIX}/lib/${ITK_LIB} X ${SETENV} OBJFORMAT=${PORTOBJFORMAT} ${LDCONFIG} -m ${PREFIX}/lib X X.include <bsd.port.post.mk> END-of-itk30/Makefile echo c - itk30/files mkdir -p itk30/files > /dev/null 2>&1 echo x - itk30/files/md5 sed 's/^X//' >itk30/files/md5 << 'END-of-itk30/files/md5' XMD5 (itcl3.0.1.tar.gz) = 0cf1802a7ea69670503dc69c7951a015 END-of-itk30/files/md5 echo x - itk30/files/makefile sed 's/^X//' >itk30/files/makefile << 'END-of-itk30/files/makefile' Xall: X for f in ../generic/*.o; do ln -sf $$f; done X make -f Makefile itkwish Xtest: X make -f Makefile test Xinstall: X make -f Makefile install X END-of-itk30/files/makefile echo x - itk30/files/Makefile.lib sed 's/^X//' >itk30/files/Makefile.lib << 'END-of-itk30/files/Makefile.lib' XNOPROFILE= yes XLIB= itk30 XITK_LIBRARY= ${PREFIX}/lib/itk3.0 XCFLAGS+= -I. -I./../generic \ X -I${TCL_PREFIX}/include/tcl8.0/generic \ X -I${ITCL_PREFIX}/include/itcl3.0/generic \ X -I${TK_PREFIX}/include/tk8.0/generic \ X -I/usr/X11R6/include \ X -DHAVE_GETCWD=1 -DNO_VALUES_H=1 -DHAVE_UNISTD_H=1 -DUSE_TERMIOS=1\ X -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1\ X -DHAVE_TM_GMTOFF=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1\ X -DNEED_MATHERR=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_SYS_IOCTL_H=1\ X -DTCL_SHLIB_EXT=\".so\" \ X -DHAVE_SYS_FILIO_H=1 \ X -DRETSIGTYPE=void \ X -DITK_LIBRARY=\"${ITK_LIBRARY}\" \ X X XGENERIC_DIR= ../generic XUNIX_DIR= . X XSRCS= \ X $(GENERIC_DIR)/itk_cmds.c $(GENERIC_DIR)/itk_option.c \ X $(GENERIC_DIR)/itk_archetype.c $(GENERIC_DIR)/itk_util.c X X X.include <bsd.lib.mk> END-of-itk30/files/Makefile.lib echo c - itk30/patches mkdir -p itk30/patches > /dev/null 2>&1 echo x - itk30/patches/patch-Makefile.in sed 's/^X//' >itk30/patches/patch-Makefile.in << 'END-of-itk30/patches/patch-Makefile.in' X--- Makefile.in~ Wed Aug 12 11:01:40 1998 X+++ Makefile.in Sun Jan 10 22:05:28 1999 X@@ -55,10 +55,12 @@ X BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin X X # Directory in which to install the include file itk.h: X-INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include X+INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/itk$(VERSION) X+GENERIC_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/itk$(VERSION)/generic X+UNIX_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/itk$(VERSION)/unix X X # Top-level directory for manual entries: X-MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man X+MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/share/itk$(VERSION)/man X X # Directory in which to install manual entry for wish: X MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1 X@@ -155,7 +157,7 @@ X # "install" around; better to use the install-sh script that comes X # with the distribution, which is slower but guaranteed to work. X X-INSTALL = $(TOP_DIR)/../config/install-sh -c X+INSTALL = install -c X INSTALL_PROGRAM = ${INSTALL} X INSTALL_DATA = ${INSTALL} -m 644 X MKINSTALLDIRS = $(TOP_DIR)/../config/mkinstalldirs X@@ -209,7 +211,7 @@ X SRCS = $(GENERIC_DIR)/itk_cmds.c $(GENERIC_DIR)/itk_option.c \ X $(GENERIC_DIR)/itk_archetype.c $(GENERIC_DIR)/itk_util.c X X-all: itkwish X+all: $(ITK_LIB_FILE) libitk30.a itkwish X X # The following target is configured by autoconf to generate either X # a shared library or non-shared library for [incr Tk]. X@@ -217,8 +219,14 @@ X @ITK_LIB_FILE@: ${OBJS} X rm -f $(ITK_LIB_FILE) X @MAKE_LIB@ X+ ln -sf $(ITK_LIB_FILE) libitk30.so X $(RANLIB) $(ITK_LIB_FILE) X X+libitk30.a: $(OBJS) X+ rm -f libitk30.a X+ ar cr libitk30.a $(OBJS) X+ ranlib libitk30.a X+ X itkwish: tkAppInit.o $(ITK_LIB_FILE) X $(CC) @LD_FLAGS@ tkAppInit.o @ITK_BUILD_LIB_SPEC@ \ X $(LIBS) $(LD_SEARCH_FLAGS) -o itkwish X@@ -239,21 +247,27 @@ X X install: install-binaries install-libraries install-man X X-install-binaries: $(ITK_LIB_FILE) itkwish X+install-binaries: $(ITK_LIB_FILE) libitk30.a itkwish X @$(MKINSTALLDIRS) $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR) X @echo "Installing $(ITK_LIB_FILE)" X @$(INSTALL_DATA) $(ITK_LIB_FILE) $(LIB_INSTALL_DIR) X @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(ITK_LIB_FILE)) X @chmod 555 $(LIB_INSTALL_DIR)/$(ITK_LIB_FILE) X+ @echo "Installing libitk30.a" X+ @$(INSTALL_DATA) libitk30.a $(LIB_INSTALL_DIR)/libitk30.a X+ @(cd $(LIB_INSTALL_DIR); $(RANLIB) libitk30.a) X+ chmod 555 $(LIB_INSTALL_DIR)/libitk30.a X @echo "Installing itkwish" X $(INSTALL_PROGRAM) itkwish $(BIN_INSTALL_DIR)/itkwish$(VERSION) X @echo "Installing itkConfig.sh" X- @$(INSTALL_DATA) itkConfig.sh $(LIB_INSTALL_DIR)/itkConfig.sh X+ @mkdir -p $(SCRIPT_INSTALL_DIR) X+ @$(INSTALL_DATA) itkConfig.sh $(SCRIPT_INSTALL_DIR)/itkConfig.sh X X install-libraries: X- @$(MKINSTALLDIRS) $(INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR) X+ @$(MKINSTALLDIRS) $(INCLUDE_INSTALL_DIR) $(GENERIC_INCLUDE_INSTALL_DIR) $(UNIX_INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR) X @echo "Installing itk.h" X- @$(INSTALL_DATA) $(GENERIC_DIR)/itk.h $(INCLUDE_INSTALL_DIR) X+ @$(INSTALL_DATA) $(GENERIC_DIR)/itk.h $(GENERIC_INCLUDE_INSTALL_DIR) X+ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/itk.h $(INCLUDE_INSTALL_DIR)/itk.h X @for i in $(TOP_DIR)/library/*.* $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tkAppInit.c; \ X do \ X echo "Installing $$i"; \ X@@ -267,19 +281,26 @@ X @cd $(TOP_DIR)/doc; for i in *.1; \ X do \ X echo "Installing doc/$$i"; \ X- rm -f $(MAN1_INSTALL_DIR)/$$i; \ X+ rm -f $(MAN1_INSTALL_DIR)/$$i $(MAN1_INSTALL_DIR)/$$i.gz; \ X sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ X- $$i > $(MAN1_INSTALL_DIR)/$$i; \ X- chmod 444 $(MAN1_INSTALL_DIR)/$$i; \ X+ $$i | gzip -c > $(MAN1_INSTALL_DIR)/$$i.gz; \ X+ chmod 444 $(MAN1_INSTALL_DIR)/$$i.gz; \ X done; X @cd $(TOP_DIR)/doc; for i in *.n; \ X do \ X echo "Installing doc/$$i"; \ X- rm -f $(MANN_INSTALL_DIR)/$$i; \ X+ rm -f $(MANN_INSTALL_DIR)/$$i $(MANN_INSTALL_DIR)/$$i.gz; \ X sed -e '/man\.macros/r man.macros' -e '/man\.macros/d' \ X- $$i > $(MANN_INSTALL_DIR)/$$i; \ X- chmod 444 $(MANN_INSTALL_DIR)/$$i; \ X+ $$i | gzip -c > $(MANN_INSTALL_DIR)/$$i.gz; \ X+ chmod 444 $(MANN_INSTALL_DIR)/$$i.gz; \ X done; X+ @echo "**********" X+ @echo "IMPORTANT:" X+ @echo "**********" X+ @echo "itkConfig.sh in $(SCRIPT_INSTALL_DIR)/itkConfig.sh" X+ @echo "itk.h in $(INCLUDE_INSTALL_DIR)/itk.h" X+ @echo "There are NOT default place, but good place to avoid" X+ @echo "conflicting with another version of [incr] Tcl/Tks." X X Makefile: $(UNIX_DIR)/Makefile.in X $(SHELL) config.status END-of-itk30/patches/patch-Makefile.in echo x - itk30/patches/patch-configure sed 's/^X//' >itk30/patches/patch-configure << 'END-of-itk30/patches/patch-configure' X--- configure~ Mon Oct 19 21:14:57 1998 X+++ configure Sun Jan 10 21:52:53 1999 X@@ -1065,13 +1065,13 @@ X { echo "configure: error: Tcl was not built with --enable-shared" 1>&2; exit 1; } X fi X SHLIB_CFLAGS="${SHLIB_CFLAGS}" X- eval "ITK_LIB_FILE=libitk${VERSION}${SHLIB_SUFFIX}" X+ eval "ITK_LIB_FILE=${ITK_LIB_FILE}" X ITK_PKG_FILE="[file join [file dirname \$dir] ${ITK_LIB_FILE}]" X MAKE_LIB="\$(SHLIB_LD) -o ${ITK_LIB_FILE} \$(OBJS) ${SHLIB_LD_LIBS} \$(LD_SEARCH_FLAGS)" X RANLIB=":" X else X SHLIB_CFLAGS="" X- eval "ITK_LIB_FILE=libitk${VERSION}.a" X+ eval "ITK_LIB_FILE=${ITK_LIB_FILE}" X ITK_PKG_FILE="" X MAKE_LIB="ar cr ${ITK_LIB_FILE} \${OBJS}" X fi END-of-itk30/patches/patch-configure echo c - itk30/pkg mkdir -p itk30/pkg > /dev/null 2>&1 echo x - itk30/pkg/PLIST sed 's/^X//' >itk30/pkg/PLIST << 'END-of-itk30/pkg/PLIST' Xbin/itkwish3.0 Xinclude/itk3.0/generic/itk.h Xinclude/itk3.0/itk.h Xlib/libitk30.so.1.1 Xlib/libitk30.so Xlib/libitk30.a X@exec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -m %B X@unexec /usr/bin/env OBJFORMAT=%%PORTOBJFORMAT%% /sbin/ldconfig -R Xlib/itk3.0/itkConfig.sh Xlib/itk3.0/Archetype.itk Xlib/itk3.0/Toplevel.itk Xlib/itk3.0/Widget.itk Xlib/itk3.0/itk.tcl Xlib/itk3.0/tclIndex Xlib/itk3.0/tkAppInit.c Xlib/itk3.0/pkgIndex.tcl Xshare/itk3.0/man/man1/itkwish.1.gz Xshare/itk3.0/man/mann/Archetype.n.gz Xshare/itk3.0/man/mann/Toplevel.n.gz Xshare/itk3.0/man/mann/Widget.n.gz Xshare/itk3.0/man/mann/itk.n.gz Xshare/itk3.0/man/mann/itkvars.n.gz Xshare/itk3.0/man/mann/usual.n.gz X@dirrm include/itk3.0/generic X@dirrm include/itk3.0/unix X@dirrm include/itk3.0 X@dirrm lib/itk3.0 X@unexec /bin/rm -f %D/share/itk3.0/man/cat1/* X@unexec /bin/rm -f %D/share/itk3.0/man/catn/* X@dirrm share/itk3.0/man/cat1 X@dirrm share/itk3.0/man/catn X@dirrm share/itk3.0/man/man1 X@dirrm share/itk3.0/man/mann X@dirrm share/itk3.0/man X@dirrm share/itk3.0 END-of-itk30/pkg/PLIST echo x - itk30/pkg/DESCR sed 's/^X//' >itk30/pkg/DESCR << 'END-of-itk30/pkg/DESCR' XThis package contains [incr Tk] version 3.0.1. [incr Tk] is a Xcompanion to [incr Tcl] and builds a ``mega-widget'' framework into XTk. The [incr Tk] extension is also known as ``itk''. X XA companion to [incr Tk] called [incr Widgets] provides a widget set, Xwith many improved widgets. The [incr Widgets] collection is also known Xas ``iwidgets'' and is available in x11-toolkits. END-of-itk30/pkg/DESCR echo x - itk30/pkg/COMMENT sed 's/^X//' >itk30/pkg/COMMENT << 'END-of-itk30/pkg/COMMENT' X[incr Tk] (A.K.A. ``itk''). END-of-itk30/pkg/COMMENT exit >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-ports" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?E0zzqQq-00072g-00>