aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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