summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMikhail Teterin <mi@FreeBSD.org>2001-07-28 14:53:46 +0000
committerMikhail Teterin <mi@FreeBSD.org>2001-07-28 14:53:46 +0000
commit3295fa4f6e3f5d505ba1cae15385579d1a0bf31e (patch)
tree52b438d6e53f18c71a5dc4c07feb9f29ec0a5de7
parentCorrect typo. (diff)
Update to itcl 3.2. Don't build stubs. Run tests after tests.
Install iwidgets2.2.0 in addition to 3.0.0. The older version is still in use by some scripts and continues to come with itcl3.2. Change maintainer to ports@ Approved by: maintainer's silence
Notes
Notes: svn path=/head/; revision=45561
-rw-r--r--lang/itcl/Makefile63
-rw-r--r--lang/itcl/distinfo2
-rw-r--r--lang/itcl/files/Makefile.lib45
-rw-r--r--lang/itcl/files/makefile8
-rw-r--r--lang/itcl/files/patch-aa128
-rw-r--r--lang/itcl/files/patch-ab43
-rw-r--r--lang/itcl/files/patch-ah11
-rw-r--r--lang/itcl/pkg-descr2
-rw-r--r--lang/itcl/pkg-plist26
-rw-r--r--x11-toolkits/itk/Makefile62
-rw-r--r--x11-toolkits/itk/distinfo2
-rw-r--r--x11-toolkits/itk/files/Makefile.lib36
-rw-r--r--x11-toolkits/itk/files/makefile8
-rw-r--r--x11-toolkits/itk/files/patch-aa151
-rw-r--r--x11-toolkits/itk/files/patch-ab75
-rw-r--r--x11-toolkits/itk/files/patch-nostubs27
-rw-r--r--x11-toolkits/itk/pkg-descr2
-rw-r--r--x11-toolkits/itk/pkg-plist32
-rw-r--r--x11-toolkits/iwidgets/Makefile36
-rw-r--r--x11-toolkits/iwidgets/distinfo2
-rw-r--r--x11-toolkits/iwidgets/pkg-descr9
-rw-r--r--x11-toolkits/iwidgets/pkg-plist138
22 files changed, 296 insertions, 612 deletions
diff --git a/lang/itcl/Makefile b/lang/itcl/Makefile
index 3789f8d1db85..1c67b768a5e3 100644
--- a/lang/itcl/Makefile
+++ b/lang/itcl/Makefile
@@ -6,51 +6,60 @@
#
PORTNAME= itcl
-PORTVERSION= 3.0.1
+PORTVERSION= ${MAJOR}.${MINOR}
CATEGORIES= lang
-MASTER_SITES= ftp://ftp.tcltk.com/pub/itcl/
-DISTNAME= itcl3.0.1
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR=incrtcl
+DISTNAME= itcl${PORTVERSION}
-MAINTAINER= dmlb@ragnet.demon.co.uk
+MAINTAINER= ports@freebsd.org
-LIB_DEPENDS= tcl82.1:${PORTSDIR}/lang/tcl82
+LIB_DEPENDS= tcl83:${PORTSDIR}/lang/tcl83
-WRKSRC= ${WRKDIR}/itcl3.0.1/itcl/unix
+WRKSRC= ${WRKDIR}/${DISTNAME}/itcl
INSTALLS_SHLIB= yes
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --enable-shared --with-tcl=${PREFIX}/lib/tcl8.2
-CONFIGURE_ENV= PORTSDIR=${PORTSDIR} ITCL_LIB_FILE=${ITCL_LIB_FILE}
-PKGINSTALL= ${PORTSDIR}/lang/tcl82/pkg-install.tclsh
-PKGDEINSTALL= ${PORTSDIR}/lang/tcl82/pkg-deinstall.tclsh
+PKGINSTALL= ${PORTSDIR}/lang/tcl83/pkg-install.tclsh
+PKGDEINSTALL= ${PORTSDIR}/lang/tcl83/pkg-deinstall.tclsh
+MAKE_ENV+= ${PLIST_SUB} \
+ SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR}
+
+EXTRACT_AFTER_ARGS=| ${TAR} -xf - ./itcl${MAJOR}.${MINOR}/itcl
+
+.if defined(MAKE_JOBS)
+MAKE_ARGS+= -j$(MAKE_JOBS)
+.endif
SHLIB_MAJOR= 1
SHLIB_MINOR= 1
-MAKEFILE= makefile
-ITCL_LIB= libitcl30.so
+MAJOR= 3
+MINOR= 2
+PLIST_SUB+= MAJOR=${MAJOR} MINOR=${MINOR}
+ITCL_LIB= libitcl${MAJOR}${MINOR}.so
+MAKEFILE= ${FILESDIR}/Makefile.lib
-MANCOMPRESSED= yes
-MAN1= itclsh.1
+MANCOMPRESSED= no
MANN= body.n class.n code.n configbody.n delete.n ensemble.n find.n
MANN+= itcl.n itcl_class.n itcl_info.n itclvars.n local.n scope.n
-.include <bsd.port.pre.mk>
-
ITCL_LIB_FILE= ${ITCL_LIB}.${SHLIB_MAJOR}
-post-configure:
- @${CP} ${FILESDIR}/Makefile.lib ${WRKSRC}
- @${CP} ${FILESDIR}/makefile ${WRKSRC}
+post-extract:
+ ${RM} ${WRKSRC}/pkgIndex.tcl
+
+post-patch:
+ ${PERL} -pi \
+ -e 's,package require Itcl,load [glob \
+ ${WRKSRC}/${ITCL_LIB}.${SHLIB_MAJOR}*],;' \
+ ${WRKSRC}/tests/*.test
-pre-build:
- @cd ${WRKSRC} && ${MAKE} -f Makefile.lib PREFIX=${PREFIX} \
- SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR} \
- TCL_PREFIX=${PREFIX}
+post-build test:
+ cd ${WRKSRC} && ${SETENV} ITCL_LIBRARY=${WRKSRC}/library \
+ ${PREFIX}/bin/tclsh8.3 tests/all.tcl
post-install:
- ${LN} -sf ${PREFIX}/bin/itclsh3.0 ${PREFIX}/bin/itclsh
- ${LN} -sf ${ITCL_LIB_FILE} ${PREFIX}/lib/${ITCL_LIB}
+ ${INSTALL_DATA} ${WRKSRC}/doc/*.n ${PREFIX}/man/mann/
.if exists(${PKGINSTALL})
${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL}
.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/lang/itcl/distinfo b/lang/itcl/distinfo
index 882cd787f4df..03382bd74335 100644
--- a/lang/itcl/distinfo
+++ b/lang/itcl/distinfo
@@ -1 +1 @@
-MD5 (itcl3.0.1.tar.gz) = 0cf1802a7ea69670503dc69c7951a015
+MD5 (itcl3.2.tar.gz) = b41ed909969eaa5f0a06ab698393760f
diff --git a/lang/itcl/files/Makefile.lib b/lang/itcl/files/Makefile.lib
index 0cdabb9d2199..c9fe57f90e05 100644
--- a/lang/itcl/files/Makefile.lib
+++ b/lang/itcl/files/Makefile.lib
@@ -1,8 +1,8 @@
NOPROFILE= yes
-LIB= itcl30
-ITCL_LIBRARY= ${PREFIX}/lib/itcl3.0
+LIB= itcl${MAJOR}${MINOR}
+ITCL_LIBRARY= ${PREFIX}/lib/itcl${MAJOR}.${MINOR}
CFLAGS+= -I. -I./../generic \
- -I${TCL_PREFIX}/include/tcl8.2/generic \
+ -I${PREFIX}/include/tcl8.3/generic \
-DHAVE_GETCWD=1 -DNO_VALUES_H=1 -DHAVE_UNISTD_H=1 -DUSE_TERMIOS=1\
-DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1\
-DHAVE_TM_GMTOFF=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1\
@@ -10,23 +10,32 @@ CFLAGS+= -I. -I./../generic \
-DTCL_SHLIB_EXT=\".so\" \
-DHAVE_SYS_FILIO_H=1 \
-DRETSIGTYPE=void \
- -DITCL_LIBRARY=\"${ITCL_LIBRARY}\" \
+ -DITCL_LIBRARY=\"${ITCL_LIBRARY}\"
+LDADD+= -L${PREFIX}/lib -ltcl83
+.PATH: ${.CURDIR}/unix ${.CURDIR}/generic ${.CURDIR}/man
-GENERIC_DIR= ../generic
-UNIX_DIR= .
+SRCS= itcl_bicmds.c itcl_class.c itcl_cmds.c itcl_ensemble.c \
+ itcl_linkage.c itcl_methods.c itcl_migrate.c itcl_objects.c \
+ itcl_obsolete.c itcl_parse.c itcl_util.c \
+ itclStubInit.c itclStubLib.c
-SRCS= \
- $(GENERIC_DIR)/itcl_bicmds.c \
- $(GENERIC_DIR)/itcl_class.c \
- $(GENERIC_DIR)/itcl_cmds.c \
- $(GENERIC_DIR)/itcl_ensemble.c \
- $(GENERIC_DIR)/itcl_linkage.c \
- $(GENERIC_DIR)/itcl_methods.c \
- $(GENERIC_DIR)/itcl_migrate.c \
- $(GENERIC_DIR)/itcl_objects.c \
- $(GENERIC_DIR)/itcl_obsolete.c \
- $(GENERIC_DIR)/itcl_parse.c \
- $(GENERIC_DIR)/itcl_util.c
+pkgIndex.tcl: ${.CURDIR}/pkgIndex.tcl.in
+ sed -e "s#@RELPATH@#..#" -e "s#@VERSION@#${MAJOR}.${MINOR}#" \
+ -e "s#@itcl_LIB_FILE@#${SHLIB_NAME}#" \
+ < ${.CURDIR}/pkgIndex.tcl.in > pkgIndex.tcl
+
+SCRIPTDIR= lib/itcl${MAJOR}.${MINOR}
+SCRIPTPATH= ${PREFIX}/${SCRIPTDIR}
+LIBDIR= ${PREFIX}/lib
+INCDIR= ${PREFIX}/include/itcl${MAJOR}.${MINOR}
+
+${SCRIPTPATH} ${INCDIR}:
+ mkdir -p ${.TARGET}
+
+beforeinstall: pkgIndex.tcl ${SCRIPTPATH} ${INCDIR}
+ ${BSD_INSTALL_DATA} pkgIndex.tcl ${.CURDIR}/library/itcl.tcl \
+ ${SCRIPTPATH}
+ ${BSD_INSTALL_DATA} ${.CURDIR}/generic/*.h ${INCDIR}
.include <bsd.lib.mk>
diff --git a/lang/itcl/files/makefile b/lang/itcl/files/makefile
deleted file mode 100644
index d18bc06250fb..000000000000
--- a/lang/itcl/files/makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-all:
- for f in ../generic/*.o; do ln -sf $$f; done
- make -f Makefile itclsh
-test:
- make -f Makefile test
-install:
- make -f Makefile install
-
diff --git a/lang/itcl/files/patch-aa b/lang/itcl/files/patch-aa
deleted file mode 100644
index 3520e7d3ed01..000000000000
--- a/lang/itcl/files/patch-aa
+++ /dev/null
@@ -1,128 +0,0 @@
---- Makefile.in.orig Wed Aug 12 06:02:00 1998
-+++ Makefile.in Mon Apr 5 18:10:47 1999
-@@ -55,7 +55,8 @@
- BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin
-
- # Directory in which to install the include file itcl.h:
--INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include
-+INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/itcl$(VERSION)
-+GENERIC_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/itcl$(VERSION)/generic
-
- # Top-level directory in which to install manual entries:
- MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man
-@@ -75,6 +76,9 @@
- # get the correct path:
- TCL_SRC_DIR = @TCL_SRC_DIR@
-
-+# Tcl include dir
-+TCL_INC_DIR = @TCL_INC_DIR@
-+
- # The directory containing the Tcl library archive file appropriate
- # for this version of Tk:
- TCL_LIB_DIR = @TCL_LIB_DIR@
-@@ -115,7 +119,7 @@
- # "install" around; better to use the install-sh script that comes
- # with the distribution, which is slower but guaranteed to work.
-
--INSTALL = $(TOP_DIR)/../config/install-sh -c
-+INSTALL = install -c
- INSTALL_PROGRAM = ${INSTALL}
- INSTALL_DATA = ${INSTALL} -m 644
- MKINSTALLDIRS = $(TOP_DIR)/../config/mkinstalldirs
-@@ -158,7 +162,7 @@
-
- CC = @CC@
- CC_SWITCHES = $(CFLAGS) $(SHLIB_CFLAGS) -I$(UNIX_DIR) -I$(GENERIC_DIR) \
---I$(TCL_SRC_DIR)/generic $(AC_FLAGS) $(PROTO_FLAGS) $(MEM_DEBUG_FLAGS) \
-+-I$(TCL_INC_DIR)/generic $(AC_FLAGS) $(PROTO_FLAGS) $(MEM_DEBUG_FLAGS) \
- -DITCL_LIBRARY=\"$(ITCL_LIBRARY)\"
-
- SRCS = $(GENERIC_DIR)/itcl_bicmds.c \
-@@ -178,13 +182,19 @@
- itcl_linkage.o itcl_methods.o itcl_migrate.o itcl_objects.o \
- itcl_obsolete.o itcl_parse.o itcl_util.o
-
--all: $(ITCL_LIB_FILE) itclsh
-+all: $(ITCL_LIB_FILE) libitcl30.a itclsh
-
- @ITCL_LIB_FILE@: $(OBJS)
- rm -f $(ITCL_LIB_FILE)
- @MAKE_LIB@
-+ ln -sf $(ITCL_LIB_FILE) libitcl30.so
- $(RANLIB) $(ITCL_LIB_FILE)
-
-+libitcl30.a: $(OBJS)
-+ rm -f libitcl30.a
-+ ar cr libitcl30.a $(OBJS)
-+ ranlib libitcl30.a
-+
- itclsh: tclAppInit.o $(ITCL_LIB_FILE)
- $(CC) @LD_FLAGS@ tclAppInit.o @ITCL_BUILD_LIB_SPEC@ \
- $(LIBS) $(LD_SEARCH_FLAGS) -o itclsh
-@@ -199,21 +209,28 @@
-
- install: install-binaries install-libraries install-man
-
--install-binaries: $(ITCL_LIB_FILE) itclsh
-+install-binaries: $(ITCL_LIB_FILE) libitcl30.a itclsh
- @$(MKINSTALLDIRS) $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR)
- @echo "Installing $(ITCL_LIB_FILE)"
- @$(INSTALL_DATA) $(ITCL_LIB_FILE) $(LIB_INSTALL_DIR)/$(ITCL_LIB_FILE)
- @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(ITCL_LIB_FILE))
- chmod 555 $(LIB_INSTALL_DIR)/$(ITCL_LIB_FILE)
-+ @echo "Installing libitcl30.a"
-+ @$(INSTALL_DATA) libitcl30.a $(LIB_INSTALL_DIR)/libitcl30.a
-+ @(cd $(LIB_INSTALL_DIR); $(RANLIB) libitcl30.a)
-+ chmod 555 $(LIB_INSTALL_DIR)/libitcl30.a
- @echo "Installing itclsh"
- $(INSTALL_PROGRAM) itclsh $(BIN_INSTALL_DIR)/itclsh$(VERSION)
- @echo "Installing itclConfig.sh"
-- @$(INSTALL_DATA) itclConfig.sh $(LIB_INSTALL_DIR)/itclConfig.sh
-+ @mkdir -p $(SCRIPT_INSTALL_DIR)
-+ @$(INSTALL_DATA) itclConfig.sh $(SCRIPT_INSTALL_DIR)/itclConfig.sh
-
- install-libraries:
-- @$(MKINSTALLDIRS) $(INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)
-- @echo "Installing itcl.h"
-- @$(INSTALL_DATA) $(GENERIC_DIR)/itcl.h $(INCLUDE_INSTALL_DIR)
-+ @$(MKINSTALLDIRS) $(INCLUDE_INSTALL_DIR) $(GENERIC_INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)
-+ @echo "Installing itcl.h and itclInt.h"
-+ @$(INSTALL_DATA) $(GENERIC_DIR)/itcl.h $(GENERIC_INCLUDE_INSTALL_DIR)
-+ @$(INSTALL_DATA) $(GENERIC_DIR)/itclInt.h $(GENERIC_INCLUDE_INSTALL_DIR)
-+ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/itcl.h $(INCLUDE_INSTALL_DIR)/itcl.h
- @for i in $(TOP_DIR)/library/*.* $(UNIX_DIR)/tclAppInit.c; \
- do \
- echo "Installing $$i"; \
-@@ -227,19 +244,26 @@
- @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;
- @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;
-+ @echo "**********"
-+ @echo "IMPORTANT:"
-+ @echo "**********"
-+ @echo "itclConfig.sh in $(SCRIPT_INSTALL_DIR)/itclConfig.sh"
-+ @echo "itcl.h in $(INCLUDE_INSTALL_DIR)/itcl.h"
-+ @echo "There are NOT default place, but good place to avoid"
-+ @echo "conflicting with another version of [incr] Tcl/Tks."
-
- Makefile: $(UNIX_DIR)/Makefile.in
- $(SHELL) config.status
diff --git a/lang/itcl/files/patch-ab b/lang/itcl/files/patch-ab
deleted file mode 100644
index 91a0ba8d5dea..000000000000
--- a/lang/itcl/files/patch-ab
+++ /dev/null
@@ -1,43 +0,0 @@
---- configure~ Mon Oct 19 21:14:58 1998
-+++ configure Thu Jan 14 19:57:33 1999
-@@ -873,15 +873,8 @@
- DL_LIBS=$TCL_DL_LIBS
- LD_FLAGS=$TCL_LD_FLAGS
- LD_SEARCH_FLAGS=$TCL_LD_SEARCH_FLAGS
-+TCL_INC_DIR=${TCL_PREFIX}/include/tcl${TCL_VERSION}
-
--#--------------------------------------------------------------------
--# Make sure that we can find the Tcl sources, so we can include
--# the "tclInt.h" file.
--#--------------------------------------------------------------------
--
--if test ! -d "$TCL_SRC_DIR"; then
-- { echo "configure: error: Can't find Tcl source directory "$TCL_SRC_DIR". Itcl can't be built without this directory." 1>&2; exit 1; }
--fi
-
- #--------------------------------------------------------------------
- # If this is gcc, add some extra compile flags.
-@@ -1011,13 +1004,13 @@
- { echo "configure: error: Tcl was not built with --enable-shared" 1>&2; exit 1; }
- fi
- SHLIB_CFLAGS="${SHLIB_CFLAGS}"
-- eval "ITCL_LIB_FILE=libitcl${VERSION}${SHLIB_SUFFIX}"
-+ eval "ITCL_LIB_FILE=${ITCL_LIB_FILE}"
- ITCL_PKG_FILE="[file join [file dirname \$dir] ${ITCL_LIB_FILE}]"
- MAKE_LIB="\$(SHLIB_LD) -o ${ITCL_LIB_FILE} \$(OBJS) ${SHLIB_LD_LIBS} \$(LD_SEARCH_FLAGS)"
- RANLIB=":"
- else
- SHLIB_CFLAGS=""
-- eval "ITCL_LIB_FILE=libitcl${VERSION}.a"
-+ eval "ITCL_LIB_FILE=${ITCL_LIB_FILE}"
- ITCL_PKG_FILE=""
- MAKE_LIB="ar cr ${ITCL_LIB_FILE} \${OBJS}"
- fi
-@@ -1212,6 +1205,7 @@
- s%@LD_SEARCH_FLAGS@%$LD_SEARCH_FLAGS%g
- s%@TCL_VERSION@%$TCL_VERSION%g
- s%@TCL_SRC_DIR@%$TCL_SRC_DIR%g
-+s%@TCL_INC_DIR@%$TCL_INC_DIR%g
- s%@TCL_LIB_DIR@%$TCL_LIB_DIR%g
- s%@TCL_LIB_SPEC@%$TCL_LIB_SPEC%g
- s%@TCL_LIB_FLAG@%$TCL_LIB_FLAG%g
diff --git a/lang/itcl/files/patch-ah b/lang/itcl/files/patch-ah
deleted file mode 100644
index aaea8c0f53cb..000000000000
--- a/lang/itcl/files/patch-ah
+++ /dev/null
@@ -1,11 +0,0 @@
---- ../generic/itcl_ensemble.c.orig Sat Aug 8 16:38:24 1998
-+++ ../generic/itcl_ensemble.c Wed Nov 3 15:05:39 1999
-@@ -1626,7 +1626,7 @@
- * another "ensemble" command. Use the current ensemble as
- * the parent, and find or create an ensemble part within it.
- */
-- ensName = TclGetStringFromObj(objv[1], (int*)NULL);
-+ ensName = Tcl_GetStringFromObj(objv[1], (int*)NULL);
-
- if (ensData) {
- if (FindEnsemblePart(interp, ensData, ensName, &ensPart) != TCL_OK) {
diff --git a/lang/itcl/pkg-descr b/lang/itcl/pkg-descr
index a2b1a9258e5a..fa0c92177f36 100644
--- a/lang/itcl/pkg-descr
+++ b/lang/itcl/pkg-descr
@@ -5,3 +5,5 @@ object oriented extension to Tcl. The [incr Tcl] language is also known as
A companion to [incr Tcl] called [incr Tk] builds a ``mega-widget''
framework into Tk. The [incr Tk] extension is also known as
``itk'' and is available in x11-toolkits.
+
+WWW: http://sourceforge.net/projects/incrtcl/
diff --git a/lang/itcl/pkg-plist b/lang/itcl/pkg-plist
index a5bfa485435e..a72fd5a272bf 100644
--- a/lang/itcl/pkg-plist
+++ b/lang/itcl/pkg-plist
@@ -1,15 +1,11 @@
-bin/itclsh3.0
-bin/itclsh
-include/itcl3.0/generic/itcl.h
-include/itcl3.0/generic/itclInt.h
-include/itcl3.0/itcl.h
-lib/libitcl30.so.1
-lib/libitcl30.so
-lib/libitcl30.a
-lib/itcl3.0/itclConfig.sh
-lib/itcl3.0/itcl.tcl
-lib/itcl3.0/tclAppInit.c
-lib/itcl3.0/pkgIndex.tcl
-@dirrm include/itcl3.0/generic
-@dirrm include/itcl3.0
-@dirrm lib/itcl3.0
+include/itcl%%MAJOR%%.%%MINOR%%/itcl.h
+include/itcl%%MAJOR%%.%%MINOR%%/itclInt.h
+include/itcl%%MAJOR%%.%%MINOR%%/itclDecls.h
+include/itcl%%MAJOR%%.%%MINOR%%/itclIntDecls.h
+lib/libitcl%%MAJOR%%%%MINOR%%.so.1
+lib/libitcl%%MAJOR%%%%MINOR%%.so
+lib/libitcl%%MAJOR%%%%MINOR%%.a
+lib/itcl%%MAJOR%%.%%MINOR%%/itcl.tcl
+lib/itcl%%MAJOR%%.%%MINOR%%/pkgIndex.tcl
+@dirrm include/itcl%%MAJOR%%.%%MINOR%%
+@dirrm lib/itcl%%MAJOR%%.%%MINOR%%
diff --git a/x11-toolkits/itk/Makefile b/x11-toolkits/itk/Makefile
index e727ae188d2c..627de26172ce 100644
--- a/x11-toolkits/itk/Makefile
+++ b/x11-toolkits/itk/Makefile
@@ -6,46 +6,52 @@
#
PORTNAME= itk
-PORTVERSION= 3.0.1
-CATEGORIES= x11-toolkits tk82
-MASTER_SITES= ftp://ftp.tcltk.com/pub/itcl/
+PORTVERSION= ${MAJOR}.${MINOR}
+CATEGORIES= x11-toolkits tk83
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR=incrtcl
DISTNAME= itcl${PORTVERSION}
-MAINTAINER= dmlb@ragnet.demon.co.uk
+MAINTAINER= ports@freebsd.org
-LIB_DEPENDS= tk82.1:${PORTSDIR}/x11-toolkits/tk82 \
- itcl30.1:${PORTSDIR}/lang/itcl
+LIB_DEPENDS= tk83.1:${PORTSDIR}/x11-toolkits/tk83 \
+ itcl${MAJOR}${MINOR}.1:${PORTSDIR}/lang/itcl
-WRKSRC= ${WRKDIR}/itcl3.0.1/itk/unix
+WRKSRC= ${WRKDIR}/itcl${MAJOR}.${MINOR}/itk
INSTALLS_SHLIB= yes
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --enable-shared --with-tcl=${PREFIX}/lib/tcl8.2 --with-itcl=${PREFIX}/lib/itcl3.0 --with-tk=${PREFIX}/lib/tk8.2
-CONFIGURE_ENV= PORTSDIR=${PORTSDIR} ITK_LIB_FILE=${ITK_LIB_FILE}
+MAKE_ENV+= ${PLIST_SUB} \
+ SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR}
+EXTRACT_AFTER_ARGS=| ${TAR} -xf - ./itcl${MAJOR}.${MINOR}/itk
+MAKEFILE= ${FILESDIR}/Makefile.lib
SHLIB_MAJOR= 1
SHLIB_MINOR= 1
-MAKEFILE= makefile
-ITK_LIB= libitk30.so
-
-MANCOMPRESSED= yes
-MAN1= itkwish.1
+MAJOR= 3
+MINOR= 2
+PLIST_SUB+= MAJOR=${MAJOR} MINOR=${MINOR}
+ITK_LIB= libitk${MAJOR}${MINOR}.so
+.if defined(MAKE_JOBS)
+MAKE_ARGS+= -j$(MAKE_JOBS)
+.endif
+
+MANCOMPRESSED= no
MANN= Archetype.n Toplevel.n Widget.n itk.n itkvars.n usual.n
-.include <bsd.port.pre.mk>
-
ITK_LIB_FILE= ${ITK_LIB}.${SHLIB_MAJOR}
-post-configure:
- @${CP} ${FILESDIR}/Makefile.lib ${WRKSRC}
- @${CP} ${FILESDIR}/makefile ${WRKSRC}
+post-extract:
+ ${RM} ${WRKSRC}/pkgIndex.tcl
-pre-build:
- @cd ${WRKSRC} && ${MAKE} -f Makefile.lib PREFIX=${PREFIX} \
- SHLIB_MAJOR=${SHLIB_MAJOR} SHLIB_MINOR=${SHLIB_MINOR} \
- TCL_PREFIX=${PREFIX} ITCL_PREFIX=${PREFIX} TK_PREFIX=${PREFIX}
+post-patch:
+ ${PERL} -pi \
+ -e 's,package require Itk,load \
+ [glob ${WRKSRC}/${ITK_LIB_FILE}*],;' \
+ -e 's,return$$,exit,' ${WRKSRC}/tests/*
-post-install:
- ${LN} -sf itkwish3.0 ${PREFIX}/bin/itkwish
- ${LN} -sf ${ITK_LIB_FILE} ${PREFIX}/lib/${ITK_LIB}
+.if defined(DISPLAY)
+post-build test:
+ cd ${WRKSRC} && ${SETENV} ITK_LIBRARY=${WRKSRC}/library \
+ ${PREFIX}/bin/wish8.3 tests/all.tcl
+.endif
-.include <bsd.port.post.mk>
+.include <bsd.port.mk>
diff --git a/x11-toolkits/itk/distinfo b/x11-toolkits/itk/distinfo
index 882cd787f4df..03382bd74335 100644
--- a/x11-toolkits/itk/distinfo
+++ b/x11-toolkits/itk/distinfo
@@ -1 +1 @@
-MD5 (itcl3.0.1.tar.gz) = 0cf1802a7ea69670503dc69c7951a015
+MD5 (itcl3.2.tar.gz) = b41ed909969eaa5f0a06ab698393760f
diff --git a/x11-toolkits/itk/files/Makefile.lib b/x11-toolkits/itk/files/Makefile.lib
index 9f362ba9fcd8..a99d8611fb61 100644
--- a/x11-toolkits/itk/files/Makefile.lib
+++ b/x11-toolkits/itk/files/Makefile.lib
@@ -1,10 +1,10 @@
NOPROFILE= yes
-LIB= itk30
-ITK_LIBRARY= ${PREFIX}/lib/itk3.0
+LIB= itk${MAJOR}${MINOR}
+ITK_LIBRARY= ${PREFIX}/lib/itk${MAJOR}.${MINOR}
CFLAGS+= -I. -I./../generic \
- -I${TCL_PREFIX}/include/tcl8.2/generic \
- -I${ITCL_PREFIX}/include/itcl3.0/generic \
- -I${TK_PREFIX}/include/tk8.2/generic \
+ -I${PREFIX}/include/tcl8.3/generic \
+ -I${PREFIX}/include/itcl${MAJOR}.${MINOR}/ \
+ -I${PREFIX}/include/tk8.3/generic \
-I/usr/X11R6/include \
-DHAVE_GETCWD=1 -DNO_VALUES_H=1 -DHAVE_UNISTD_H=1 -DUSE_TERMIOS=1\
-DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1\
@@ -13,15 +13,29 @@ CFLAGS+= -I. -I./../generic \
-DTCL_SHLIB_EXT=\".so\" \
-DHAVE_SYS_FILIO_H=1 \
-DRETSIGTYPE=void \
- -DITK_LIBRARY=\"${ITK_LIBRARY}\" \
+ -DITK_LIBRARY=\"${ITK_LIBRARY}\"
+LDADD+= -L${PREFIX}/lib -litcl${MAJOR}${MINOR} -L${X11BASE}/lib -lX11 -ltk83
+.PATH: ${.CURDIR}/generic
-GENERIC_DIR= ../generic
-UNIX_DIR= .
+SRCS= itk_cmds.c itk_option.c itk_archetype.c itk_util.c
-SRCS= \
- $(GENERIC_DIR)/itk_cmds.c $(GENERIC_DIR)/itk_option.c \
- $(GENERIC_DIR)/itk_archetype.c $(GENERIC_DIR)/itk_util.c
+SCRIPTDIR= lib/itk${MAJOR}.${MINOR}
+SCRIPTPATH= ${PREFIX}/${SCRIPTDIR}
+LIBDIR= ${PREFIX}/lib
+INCDIR= ${PREFIX}/include/itk${MAJOR}.${MINOR}
+pkgIndex.tcl: ${.CURDIR}/pkgIndex.tcl.in
+ sed -e "s#@RELPATH@#..#" -e "s#@VERSION@#${MAJOR}.${MINOR}#" \
+ -e "s#@itcl_LIB_FILE@#${SHLIB_NAME}#" \
+ < ${.CURDIR}/pkgIndex.tcl.in > pkgIndex.tcl
+
+${SCRIPTPATH} ${INCDIR}:
+ mkdir -p ${.TARGET}
+
+beforeinstall: pkgIndex.tcl ${SCRIPTPATH} ${INCDIR}
+ ${BSD_INSTALL_DATA} pkgIndex.tcl ${.CURDIR}/library/* ${SCRIPTPATH}
+ ${BSD_INSTALL_DATA} ${.CURDIR}/generic/*.h ${INCDIR}
+ ${BSD_INSTALL_MAN} ${.CURDIR}/doc/*.n ${PREFIX}/man/mann/
.include <bsd.lib.mk>
diff --git a/x11-toolkits/itk/files/makefile b/x11-toolkits/itk/files/makefile
deleted file mode 100644
index aaa10a467a61..000000000000
--- a/x11-toolkits/itk/files/makefile
+++ /dev/null
@@ -1,8 +0,0 @@
-all:
- for f in ../generic/*.o; do ln -sf $$f; done
- make -f Makefile itkwish
-test:
- make -f Makefile test
-install:
- make -f Makefile install
-
diff --git a/x11-toolkits/itk/files/patch-aa b/x11-toolkits/itk/files/patch-aa
deleted file mode 100644
index 78bb31d39d94..000000000000
--- a/x11-toolkits/itk/files/patch-aa
+++ /dev/null
@@ -1,151 +0,0 @@
---- Makefile.in.orig Wed Aug 12 06:01:40 1998
-+++ Makefile.in Mon Apr 5 18:23:56 1999
-@@ -55,7 +55,8 @@
- BIN_INSTALL_DIR = $(INSTALL_ROOT)$(exec_prefix)/bin
-
- # Directory in which to install the include file itk.h:
--INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include
-+INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/itk$(VERSION)
-+GENERIC_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/include/itk$(VERSION)/generic
-
- # Top-level directory for manual entries:
- MAN_INSTALL_DIR = $(INSTALL_ROOT)$(prefix)/man
-@@ -75,6 +76,9 @@
- # for this version of [incr Tk]:
- TCL_SRC_DIR = @TCL_SRC_DIR@
-
-+# Tcl include dir
-+TCL_INC_DIR = @TCL_INC_DIR@
-+
- # The directory containing the Tcl library archive file appropriate
- # for this version of [incr Tk]:
- TCL_LIB_DIR = @TCL_LIB_DIR@
-@@ -89,6 +93,9 @@
- # for this version of [incr Tk]:
- TK_SRC_DIR = @TK_SRC_DIR@
-
-+# Tk include dir
-+TK_INC_DIR = @TK_INC_DIR@
-+
- # The directory containing the Tk library archive file appropriate
- # for this version of [incr Tk]:
- TK_LIB_DIR = @TK_LIB_DIR@
-@@ -100,6 +107,9 @@
- # for this version of [incr Tk]:
- ITCL_SRC_DIR = @ITCL_SRC_DIR@
-
-+# ITcl include dir
-+ITCL_INC_DIR = @ITCL_INC_DIR@
-+
- # The directory containing the [incr Tcl] library archive file appropriate
- # for this version of [incr Tk]:
- ITCL_LIB_DIR = @ITCL_LIB_DIR@
-@@ -155,7 +165,7 @@
- # "install" around; better to use the install-sh script that comes
- # with the distribution, which is slower but guaranteed to work.
-
--INSTALL = $(TOP_DIR)/../config/install-sh -c
-+INSTALL = install -c
- INSTALL_PROGRAM = ${INSTALL}
- INSTALL_DATA = ${INSTALL} -m 644
- MKINSTALLDIRS = $(TOP_DIR)/../config/mkinstalldirs
-@@ -199,8 +209,8 @@
-
- CC = @CC@
- CC_SWITCHES = $(CFLAGS) $(SHLIB_CFLAGS) -I$(UNIX_DIR) -I$(GENERIC_DIR) \
---I$(TCL_SRC_DIR)/generic -I$(ITCL_SRC_DIR)/generic \
---I$(TK_SRC_DIR)/generic $(X11_INCLUDES) \
-+-I$(TCL_INC_DIR)/generic -I$(ITCL_INC_DIR)/generic \
-+-I$(TK_INC_DIR)/generic $(X11_INCLUDES) \
- $(AC_FLAGS) $(PROTO_FLAGS) $(MEM_DEBUG_FLAGS) $(KEYSYM_FLAGS) \
- -DITK_LIBRARY=\"$(ITK_LIBRARY)\"
-
-@@ -209,7 +219,7 @@
- SRCS = $(GENERIC_DIR)/itk_cmds.c $(GENERIC_DIR)/itk_option.c \
- $(GENERIC_DIR)/itk_archetype.c $(GENERIC_DIR)/itk_util.c
-
--all: itkwish
-+all: $(ITK_LIB_FILE) libitk30.a itkwish
-
- # The following target is configured by autoconf to generate either
- # a shared library or non-shared library for [incr Tk].
-@@ -217,8 +227,14 @@
- @ITK_LIB_FILE@: ${OBJS}
- rm -f $(ITK_LIB_FILE)
- @MAKE_LIB@
-+ ln -sf $(ITK_LIB_FILE) libitk30.so
- $(RANLIB) $(ITK_LIB_FILE)
-
-+libitk30.a: $(OBJS)
-+ rm -f libitk30.a
-+ ar cr libitk30.a $(OBJS)
-+ ranlib libitk30.a
-+
- itkwish: tkAppInit.o $(ITK_LIB_FILE)
- $(CC) @LD_FLAGS@ tkAppInit.o @ITK_BUILD_LIB_SPEC@ \
- $(LIBS) $(LD_SEARCH_FLAGS) -o itkwish
-@@ -239,21 +255,27 @@
-
- install: install-binaries install-libraries install-man
-
--install-binaries: $(ITK_LIB_FILE) itkwish
-+install-binaries: $(ITK_LIB_FILE) libitk30.a itkwish
- @$(MKINSTALLDIRS) $(LIB_INSTALL_DIR) $(BIN_INSTALL_DIR)
- @echo "Installing $(ITK_LIB_FILE)"
- @$(INSTALL_DATA) $(ITK_LIB_FILE) $(LIB_INSTALL_DIR)
- @(cd $(LIB_INSTALL_DIR); $(RANLIB) $(ITK_LIB_FILE))
- @chmod 555 $(LIB_INSTALL_DIR)/$(ITK_LIB_FILE)
-+ @echo "Installing libitk30.a"
-+ @$(INSTALL_DATA) libitk30.a $(LIB_INSTALL_DIR)/libitk30.a
-+ @(cd $(LIB_INSTALL_DIR); $(RANLIB) libitk30.a)
-+ chmod 555 $(LIB_INSTALL_DIR)/libitk30.a
- @echo "Installing itkwish"
- $(INSTALL_PROGRAM) itkwish $(BIN_INSTALL_DIR)/itkwish$(VERSION)
- @echo "Installing itkConfig.sh"
-- @$(INSTALL_DATA) itkConfig.sh $(LIB_INSTALL_DIR)/itkConfig.sh
-+ @mkdir -p $(SCRIPT_INSTALL_DIR)
-+ @$(INSTALL_DATA) itkConfig.sh $(SCRIPT_INSTALL_DIR)/itkConfig.sh
-
- install-libraries:
-- @$(MKINSTALLDIRS) $(INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)
-+ @$(MKINSTALLDIRS) $(INCLUDE_INSTALL_DIR) $(GENERIC_INCLUDE_INSTALL_DIR) $(SCRIPT_INSTALL_DIR)
- @echo "Installing itk.h"
-- @$(INSTALL_DATA) $(GENERIC_DIR)/itk.h $(INCLUDE_INSTALL_DIR)
-+ @$(INSTALL_DATA) $(GENERIC_DIR)/itk.h $(GENERIC_INCLUDE_INSTALL_DIR)
-+ @ln -sf $(GENERIC_INCLUDE_INSTALL_DIR)/itk.h $(INCLUDE_INSTALL_DIR)/itk.h
- @for i in $(TOP_DIR)/library/*.* $(TOP_DIR)/library/tclIndex $(UNIX_DIR)/tkAppInit.c; \
- do \
- echo "Installing $$i"; \
-@@ -267,19 +289,26 @@
- @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;
- @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;
-+ @echo "**********"
-+ @echo "IMPORTANT:"
-+ @echo "**********"
-+ @echo "itkConfig.sh in $(SCRIPT_INSTALL_DIR)/itkConfig.sh"
-+ @echo "itk.h in $(INCLUDE_INSTALL_DIR)/itk.h"
-+ @echo "There are NOT default place, but good place to avoid"
-+ @echo "conflicting with another version of [incr] Tcl/Tks."
-
- Makefile: $(UNIX_DIR)/Makefile.in
- $(SHELL) config.status
diff --git a/x11-toolkits/itk/files/patch-ab b/x11-toolkits/itk/files/patch-ab
deleted file mode 100644
index 0768183d39d8..000000000000
--- a/x11-toolkits/itk/files/patch-ab
+++ /dev/null
@@ -1,75 +0,0 @@
---- configure~ Mon Oct 19 21:14:57 1998
-+++ configure Fri Jan 15 18:41:16 1999
-@@ -877,15 +877,8 @@
- DL_LIBS=$TCL_DL_LIBS
- LD_FLAGS=$TCL_LD_FLAGS
- LD_SEARCH_FLAGS=$TCL_LD_SEARCH_FLAGS
-+TCL_INC_DIR=${TCL_PREFIX}/include/tcl${TCL_VERSION}
-
--#--------------------------------------------------------------------
--# Make sure that we can find the Tcl sources, so we can include
--# the "tclInt.h" file.
--#--------------------------------------------------------------------
--
--if test ! -d "$TCL_SRC_DIR"; then
-- { echo "configure: error: Can't find Tcl source directory "$TCL_SRC_DIR". Itcl can't be built without this directory." 1>&2; exit 1; }
--fi
-
- #--------------------------------------------------------------------
- # See if there was a command-line option for where Tk is; if
-@@ -915,6 +908,7 @@
-
- file=$TK_LIB_DIR/tkConfig.sh
- . $file
-+TK_INC_DIR=${TK_PREFIX}/include/tk${TK_VERSION}
-
- #--------------------------------------------------------------------
- # See if there was a command-line option for where [incr Tcl] is.
-@@ -936,6 +930,7 @@
-
- file=$ITCL_LIB_DIR/itclConfig.sh
- . $file
-+ITCL_INC_DIR=${TCL_PREFIX}/include/itcl${ITCL_VERSION}
-
- #--------------------------------------------------------------------
- # If this is gcc, add some extra compile flags.
-@@ -1065,13 +1060,13 @@
- { echo "configure: error: Tcl was not built with --enable-shared" 1>&2; exit 1; }
- fi
- SHLIB_CFLAGS="${SHLIB_CFLAGS}"
-- eval "ITK_LIB_FILE=libitk${VERSION}${SHLIB_SUFFIX}"
-+ eval "ITK_LIB_FILE=${ITK_LIB_FILE}"
- ITK_PKG_FILE="[file join [file dirname \$dir] ${ITK_LIB_FILE}]"
- MAKE_LIB="\$(SHLIB_LD) -o ${ITK_LIB_FILE} \$(OBJS) ${SHLIB_LD_LIBS} \$(LD_SEARCH_FLAGS)"
- RANLIB=":"
- else
- SHLIB_CFLAGS=""
-- eval "ITK_LIB_FILE=libitk${VERSION}.a"
-+ eval "ITK_LIB_FILE=${ITK_LIB_FILE}"
- ITK_PKG_FILE=""
- MAKE_LIB="ar cr ${ITK_LIB_FILE} \${OBJS}"
- fi
-@@ -1279,6 +1274,7 @@
- s%@LD_SEARCH_FLAGS@%$LD_SEARCH_FLAGS%g
- s%@TCL_VERSION@%$TCL_VERSION%g
- s%@TCL_SRC_DIR@%$TCL_SRC_DIR%g
-+s%@TCL_INC_DIR@%$TCL_INC_DIR%g
- s%@TCL_LIB_SPEC@%$TCL_LIB_SPEC%g
- s%@TCL_LIB_FLAG@%$TCL_LIB_FLAG%g
- s%@TCL_DBGX@%$TCL_DBGX%g
-@@ -1295,6 +1291,7 @@
- s%@TK_XINCLUDES@%$TK_XINCLUDES%g
- s%@TK_XLIBSW@%$TK_XLIBSW%g
- s%@TK_SRC_DIR@%$TK_SRC_DIR%g
-+s%@TK_INC_DIR@%$TK_INC_DIR%g
- s%@ITCL_VERSION@%$ITCL_VERSION%g
- s%@ITCL_MAJOR_VERSION@%$ITCL_MAJOR_VERSION%g
- s%@ITCL_MINOR_VERSION@%$ITCL_MINOR_VERSION%g
-@@ -1304,6 +1301,7 @@
- s%@ITCL_LIB_SPEC@%$ITCL_LIB_SPEC%g
- s%@ITCL_PKG_FILE@%$ITCL_PKG_FILE%g
- s%@ITCL_SRC_DIR@%$ITCL_SRC_DIR%g
-+s%@ITCL_INC_DIR@%$ITCL_INC_DIR%g
- s%@ITK_BUILD_LIB_SPEC@%$ITK_BUILD_LIB_SPEC%g
- s%@ITK_LIB_FILE@%$ITK_LIB_FILE%g
- s%@ITK_LIB_SPEC@%$ITK_LIB_SPEC%g
diff --git a/x11-toolkits/itk/files/patch-nostubs b/x11-toolkits/itk/files/patch-nostubs
new file mode 100644
index 000000000000..debdedf2c3a4
--- /dev/null
+++ b/x11-toolkits/itk/files/patch-nostubs
@@ -0,0 +1,27 @@
+--- generic/itk_cmds.c Mon Aug 28 23:58:00 2000
++++ generic/itk_cmds.c Sat Jul 28 08:04:49 2001
+@@ -82,3 +82,5 @@
+
++#ifdef USE_ITK_STUBS
+ extern ItkStubs itkStubs;
++#endif
+
+@@ -105,6 +107,6 @@
+
+- if (Tcl_InitStubs(interp, "8.1", 0) == NULL) {
++ if (Tcl_InitStubs(interp, TCL_VERSION, 0) == NULL) {
+ return TCL_ERROR;
+ };
+- if (Tk_InitStubs(interp, "8.1", 0) == NULL) {
++ if (Tk_InitStubs(interp, TK_VERSION, 0) == NULL) {
+ return TCL_ERROR;
+@@ -198,3 +200,8 @@
+ if (Tcl_PkgProvideEx(interp, "Itk", ITCL_VERSION,
+- (ClientData) &itkStubs) != TCL_OK) {
++#ifdef USE_ITK_STUBS
++ (ClientData) &itkStubs
++#else
++ (ClientData) NULL
++#endif
++ ) != TCL_OK) {
+ return TCL_ERROR;
diff --git a/x11-toolkits/itk/pkg-descr b/x11-toolkits/itk/pkg-descr
index a3771e546466..74d574f5e3e6 100644
--- a/x11-toolkits/itk/pkg-descr
+++ b/x11-toolkits/itk/pkg-descr
@@ -5,3 +5,5 @@ Tk. The [incr Tk] extension is also known as ``itk''.
A companion to [incr Tk] called [incr Widgets] provides a widget set,
with many improved widgets. The [incr Widgets] collection is also known
as ``iwidgets'' and is available in x11-toolkits.
+
+WWW: http://sourceforge.net/projects/incrtcl/
diff --git a/x11-toolkits/itk/pkg-plist b/x11-toolkits/itk/pkg-plist
index 454888502413..dda423ed0258 100644
--- a/x11-toolkits/itk/pkg-plist
+++ b/x11-toolkits/itk/pkg-plist
@@ -1,19 +1,13 @@
-bin/itkwish3.0
-@exec /bin/ln -s %D/%F %B/itkwish
-@unexec rm %B/itkwish
-include/itk3.0/generic/itk.h
-include/itk3.0/itk.h
-lib/libitk30.so.1
-lib/libitk30.so
-lib/libitk30.a
-lib/itk3.0/itkConfig.sh
-lib/itk3.0/Archetype.itk
-lib/itk3.0/Toplevel.itk
-lib/itk3.0/Widget.itk
-lib/itk3.0/itk.tcl
-lib/itk3.0/tclIndex
-lib/itk3.0/tkAppInit.c
-lib/itk3.0/pkgIndex.tcl
-@dirrm include/itk3.0/generic
-@dirrm include/itk3.0
-@dirrm lib/itk3.0
+include/itk%%MAJOR%%.%%MINOR%%/itk.h
+include/itk%%MAJOR%%.%%MINOR%%/itkDecls.h
+lib/libitk%%MAJOR%%%%MINOR%%.so.1
+lib/libitk%%MAJOR%%%%MINOR%%.so
+lib/libitk%%MAJOR%%%%MINOR%%.a
+lib/itk%%MAJOR%%.%%MINOR%%/Archetype.itk
+lib/itk%%MAJOR%%.%%MINOR%%/Toplevel.itk
+lib/itk%%MAJOR%%.%%MINOR%%/Widget.itk
+lib/itk%%MAJOR%%.%%MINOR%%/itk.tcl
+lib/itk%%MAJOR%%.%%MINOR%%/tclIndex
+lib/itk%%MAJOR%%.%%MINOR%%/pkgIndex.tcl
+@dirrm include/itk%%MAJOR%%.%%MINOR%%
+@dirrm lib/itk%%MAJOR%%.%%MINOR%%
diff --git a/x11-toolkits/iwidgets/Makefile b/x11-toolkits/iwidgets/Makefile
index 216bfbff48b6..045ece82dac1 100644
--- a/x11-toolkits/iwidgets/Makefile
+++ b/x11-toolkits/iwidgets/Makefile
@@ -6,21 +6,18 @@
#
PORTNAME= iwidgets
-PORTVERSION= 3.0.0
-CATEGORIES= x11-toolkits tk82
-MASTER_SITES= ftp://ftp.tcltk.com/pub/itcl/
-DISTNAME= itcl3.0.1
+PORTVERSION= 3.2
+CATEGORIES= x11-toolkits tk83
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR=incrtcl
+DISTNAME= itcl3.2
-MAINTAINER= dmlb@ragnet.demon.co.uk
+MAINTAINER= ports@freebsd.org
-LIB_DEPENDS= tk82.1:${PORTSDIR}/x11-toolkits/tk82 \
- itcl30.1:${PORTSDIR}/lang/itcl \
- itk30.1:${PORTSDIR}/x11-toolkits/itk
+LIB_DEPENDS= itk32.1:${PORTSDIR}/x11-toolkits/itk
-WRKSRC= ${WRKDIR}/itcl3.0.1/iwidgets3.0.0/unix
-GNU_CONFIGURE= yes
-CONFIGURE_ARGS= --with-tcl=${PREFIX}/lib/tcl8.2 --with-itcl=${PREFIX}/lib/itcl3.0 --with-tk=${PREFIX}/lib/tk8.2 --with-itk=${PREFIX}/lib/itk3.0
-CONFIGURE_ENV= PORTSDIR=${PORTSDIR}
+EXTRACT_AFTER_ARGS=| ${TAR} -xf - ./itcl3.2/iwidgets\*
+NO_BUILD= yes
MANN= buttonbox.n calendar.n canvasprintbox.n canvasprintdialog.n \
checkbox.n combobox.n dateentry.n datefield.n dialog.n \
@@ -36,4 +33,19 @@ MANN= buttonbox.n calendar.n canvasprintbox.n canvasprintdialog.n \
spinint.n spinner.n spintime.n tabnotebook.n tabset.n \
timeentry.n timefield.n toolbar.n watch.n
+# Install both versions of iwidgets, but only the
+# latest version of man-pages:
+do-install:
+.for d in iwidgets3.0.0 iwidgets2.2.0
+ ${MKDIR} ${PREFIX}/lib/$d/scripts/ ${PREFIX}/lib/$d/demos/images/
+ ${INSTALL_DATA} ${WRKSRC}/$d/generic/* ${PREFIX}/lib/$d/scripts/
+ ${INSTALL_DATA} ${WRKSRC}/$d/*.tcl ${PREFIX}/lib/$d/
+# Everything, but the html:
+ ${INSTALL_DATA} `${GREP} -Fl 'package require' ${WRKSRC}/$d/demos/*` \
+ ${WRKSRC}/$d/demos/*.* ${PREFIX}/lib/$d/demos/
+ ${INSTALL_DATA} ${WRKSRC}/$d/demos/images/* \
+ ${PREFIX}/lib/$d/demos/images/
+.endfor
+ ${INSTALL_MAN} ${WRKSRC}/iwidgets3.0.0/doc/*.n ${PREFIX}/man/mann/
+
.include <bsd.port.mk>
diff --git a/x11-toolkits/iwidgets/distinfo b/x11-toolkits/iwidgets/distinfo
index 882cd787f4df..03382bd74335 100644
--- a/x11-toolkits/iwidgets/distinfo
+++ b/x11-toolkits/iwidgets/distinfo
@@ -1 +1 @@
-MD5 (itcl3.0.1.tar.gz) = 0cf1802a7ea69670503dc69c7951a015
+MD5 (itcl3.2.tar.gz) = b41ed909969eaa5f0a06ab698393760f
diff --git a/x11-toolkits/iwidgets/pkg-descr b/x11-toolkits/iwidgets/pkg-descr
index ba9ae7271549..8be623af6f59 100644
--- a/x11-toolkits/iwidgets/pkg-descr
+++ b/x11-toolkits/iwidgets/pkg-descr
@@ -1,3 +1,6 @@
-This package contains [incr Widgets] version 3.0.0. [incr Widgets] is
-a companion to [incr Tk] and provides a widget set, with many improved
-widgets. The [incr Widgets] collection is also known as ``iwidgets''.
+This package contains [incr Widgets] version 3.0.0 and 2.2.0. [incr
+Widgets] is a companion to [incr Tk] and provides a widget set, with
+many improved widgets. The [incr Widgets] collection is also known as
+``iwidgets''.
+
+WWW: http://sourceforge.net/projects/incrtcl/
diff --git a/x11-toolkits/iwidgets/pkg-plist b/x11-toolkits/iwidgets/pkg-plist
index 3f04ce1d59b5..1b9162aba80e 100644
--- a/x11-toolkits/iwidgets/pkg-plist
+++ b/x11-toolkits/iwidgets/pkg-plist
@@ -32,6 +32,7 @@ lib/iwidgets3.0.0/scripts/promptdialog.itk
lib/iwidgets3.0.0/scripts/pushbutton.itk
lib/iwidgets3.0.0/scripts/radiobox.itk
lib/iwidgets3.0.0/scripts/regexpfield.itk
+lib/iwidgets3.0.0/scripts/scopedobject.tcl
lib/iwidgets3.0.0/scripts/scrolledcanvas.itk
lib/iwidgets3.0.0/scripts/scrolledframe.itk
lib/iwidgets3.0.0/scripts/scrolledhtml.itk
@@ -79,57 +80,6 @@ lib/iwidgets3.0.0/demos/images/ruler.gif
lib/iwidgets3.0.0/demos/images/save.gif
lib/iwidgets3.0.0/demos/images/select.gif
lib/iwidgets3.0.0/demos/images/text.xbm
-lib/iwidgets3.0.0/demos/html/buttonbox.n.html
-lib/iwidgets3.0.0/demos/html/calendar.n.html
-lib/iwidgets3.0.0/demos/html/canvasprintbox.n.html
-lib/iwidgets3.0.0/demos/html/canvasprintdialog.n.html
-lib/iwidgets3.0.0/demos/html/checkbox.n.html
-lib/iwidgets3.0.0/demos/html/combobox.n.html
-lib/iwidgets3.0.0/demos/html/dateentry.n.html
-lib/iwidgets3.0.0/demos/html/datefield.n.html
-lib/iwidgets3.0.0/demos/html/dialog.n.html
-lib/iwidgets3.0.0/demos/html/dialogshell.n.html
-lib/iwidgets3.0.0/demos/html/disjointlistbox.n.html
-lib/iwidgets3.0.0/demos/html/entryfield.n.html
-lib/iwidgets3.0.0/demos/html/extfileselectionbox.n.html
-lib/iwidgets3.0.0/demos/html/extfileselectiondialog.n.html
-lib/iwidgets3.0.0/demos/html/feedback.n.html
-lib/iwidgets3.0.0/demos/html/fileselectionbox.n.html
-lib/iwidgets3.0.0/demos/html/fileselectiondialog.n.html
-lib/iwidgets3.0.0/demos/html/finddialog.n.html
-lib/iwidgets3.0.0/demos/html/hierarchy.n.html
-lib/iwidgets3.0.0/demos/html/hyperhelp.n.html
-lib/iwidgets3.0.0/demos/html/labeledframe.n.html
-lib/iwidgets3.0.0/demos/html/labeledwidget.n.html
-lib/iwidgets3.0.0/demos/html/mainwindow.n.html
-lib/iwidgets3.0.0/demos/html/menubar.n.html
-lib/iwidgets3.0.0/demos/html/messagebox.n.html
-lib/iwidgets3.0.0/demos/html/messagedialog.n.html
-lib/iwidgets3.0.0/demos/html/notebook.n.html
-lib/iwidgets3.0.0/demos/html/optionmenu.n.html
-lib/iwidgets3.0.0/demos/html/panedwindow.n.html
-lib/iwidgets3.0.0/demos/html/promptdialog.n.html
-lib/iwidgets3.0.0/demos/html/pushbutton.n.html
-lib/iwidgets3.0.0/demos/html/radiobox.n.html
-lib/iwidgets3.0.0/demos/html/scopedobject.n.html
-lib/iwidgets3.0.0/demos/html/scrolledcanvas.n.html
-lib/iwidgets3.0.0/demos/html/scrolledframe.n.html
-lib/iwidgets3.0.0/demos/html/scrolledhtml.n.html
-lib/iwidgets3.0.0/demos/html/scrolledlistbox.n.html
-lib/iwidgets3.0.0/demos/html/scrolledtext.n.html
-lib/iwidgets3.0.0/demos/html/selectionbox.n.html
-lib/iwidgets3.0.0/demos/html/selectiondialog.n.html
-lib/iwidgets3.0.0/demos/html/shell.n.html
-lib/iwidgets3.0.0/demos/html/spindate.n.html
-lib/iwidgets3.0.0/demos/html/spinint.n.html
-lib/iwidgets3.0.0/demos/html/spinner.n.html
-lib/iwidgets3.0.0/demos/html/spintime.n.html
-lib/iwidgets3.0.0/demos/html/tabnotebook.n.html
-lib/iwidgets3.0.0/demos/html/tabset.n.html
-lib/iwidgets3.0.0/demos/html/timeentry.n.html
-lib/iwidgets3.0.0/demos/html/timefield.n.html
-lib/iwidgets3.0.0/demos/html/toolbar.n.html
-lib/iwidgets3.0.0/demos/html/watch.n.html
lib/iwidgets3.0.0/demos/buttonbox
lib/iwidgets3.0.0/demos/calendar
lib/iwidgets3.0.0/demos/canvasprintbox
@@ -186,6 +136,90 @@ lib/iwidgets3.0.0/demos/toolbar
lib/iwidgets3.0.0/demos/watch
@dirrm lib/iwidgets3.0.0/scripts
@dirrm lib/iwidgets3.0.0/demos/images
-@dirrm lib/iwidgets3.0.0/demos/html
@dirrm lib/iwidgets3.0.0/demos
@dirrm lib/iwidgets3.0.0
+lib/iwidgets2.2.0/demos/dialogshell
+lib/iwidgets2.2.0/demos/buttonbox
+lib/iwidgets2.2.0/demos/catalog
+lib/iwidgets2.2.0/demos/dialog
+lib/iwidgets2.2.0/demos/canvasprintdialog
+lib/iwidgets2.2.0/demos/combobox
+lib/iwidgets2.2.0/demos/demo.html
+lib/iwidgets2.2.0/demos/iwidgets.gif
+lib/iwidgets2.2.0/demos/entryfield
+lib/iwidgets2.2.0/demos/feedback
+lib/iwidgets2.2.0/demos/fileselectiondialog
+lib/iwidgets2.2.0/demos/fileselectionbox
+lib/iwidgets2.2.0/demos/hyperhelp
+lib/iwidgets2.2.0/demos/scrolledcanvas
+lib/iwidgets2.2.0/demos/labeledwidget
+lib/iwidgets2.2.0/demos/menubar
+lib/iwidgets2.2.0/demos/messagedialog
+lib/iwidgets2.2.0/demos/notebook
+lib/iwidgets2.2.0/demos/optionmenu
+lib/iwidgets2.2.0/demos/panedwindow
+lib/iwidgets2.2.0/demos/promptdialog
+lib/iwidgets2.2.0/demos/pushbutton
+lib/iwidgets2.2.0/demos/spinint
+lib/iwidgets2.2.0/demos/radiobox
+lib/iwidgets2.2.0/demos/scrolledlistbox
+lib/iwidgets2.2.0/demos/scrolledframe
+lib/iwidgets2.2.0/demos/scrolledhtml
+lib/iwidgets2.2.0/demos/selectiondialog
+lib/iwidgets2.2.0/demos/scrolledtext
+lib/iwidgets2.2.0/demos/selectionbox
+lib/iwidgets2.2.0/demos/tabnotebook
+lib/iwidgets2.2.0/demos/spindate
+lib/iwidgets2.2.0/demos/spinner
+lib/iwidgets2.2.0/demos/spintime
+lib/iwidgets2.2.0/demos/toolbar
+lib/iwidgets2.2.0/demos/tabset
+lib/iwidgets2.2.0/demos/images/mag.gif
+lib/iwidgets2.2.0/demos/images/poly.gif
+lib/iwidgets2.2.0/demos/images/ruler.gif
+lib/iwidgets2.2.0/demos/images/select.gif
+lib/iwidgets2.2.0/pkgIndex.tcl
+lib/iwidgets2.2.0/iwidgets.tcl
+lib/iwidgets2.2.0/scripts/canvasprintbox.itk
+lib/iwidgets2.2.0/scripts/buttonbox.itk
+lib/iwidgets2.2.0/scripts/fileselectiondialog.itk
+lib/iwidgets2.2.0/scripts/canvasprintdialog.itk
+lib/iwidgets2.2.0/scripts/colors.itk
+lib/iwidgets2.2.0/scripts/combobox.itk
+lib/iwidgets2.2.0/scripts/dialog.itk
+lib/iwidgets2.2.0/scripts/dialogshell.itk
+lib/iwidgets2.2.0/scripts/entryfield.itk
+lib/iwidgets2.2.0/scripts/feedback.itk
+lib/iwidgets2.2.0/scripts/fileselectionbox.itk
+lib/iwidgets2.2.0/scripts/labeledwidget.itk
+lib/iwidgets2.2.0/scripts/hyperhelp.itk
+lib/iwidgets2.2.0/scripts/messagedialog.itk
+lib/iwidgets2.2.0/scripts/menubar.itk
+lib/iwidgets2.2.0/scripts/panedwindow.itk
+lib/iwidgets2.2.0/scripts/notebook.itk
+lib/iwidgets2.2.0/scripts/optionmenu.itk
+lib/iwidgets2.2.0/scripts/pane.itk
+lib/iwidgets2.2.0/scripts/scrolledlistbox.itk
+lib/iwidgets2.2.0/scripts/promptdialog.itk
+lib/iwidgets2.2.0/scripts/pushbutton.itk
+lib/iwidgets2.2.0/scripts/radiobox.itk
+lib/iwidgets2.2.0/scripts/scrolledcanvas.itk
+lib/iwidgets2.2.0/scripts/scrolledframe.itk
+lib/iwidgets2.2.0/scripts/scrolledhtml.itk
+lib/iwidgets2.2.0/scripts/selectiondialog.itk
+lib/iwidgets2.2.0/scripts/scrolledtext.itk
+lib/iwidgets2.2.0/scripts/selectionbox.itk
+lib/iwidgets2.2.0/scripts/spindate.itk
+lib/iwidgets2.2.0/scripts/shell.itk
+lib/iwidgets2.2.0/scripts/tabnotebook.itk
+lib/iwidgets2.2.0/scripts/spinint.itk
+lib/iwidgets2.2.0/scripts/spinner.itk
+lib/iwidgets2.2.0/scripts/spintime.itk
+lib/iwidgets2.2.0/scripts/toolbar.itk
+lib/iwidgets2.2.0/scripts/tabset.itk
+lib/iwidgets2.2.0/scripts/tclIndex
+lib/iwidgets2.2.0/scripts/unknownimage.gif
+@dirrm lib/iwidgets2.2.0/scripts
+@dirrm lib/iwidgets2.2.0/demos/images
+@dirrm lib/iwidgets2.2.0/demos
+@dirrm lib/iwidgets2.2.0