aboutsummaryrefslogtreecommitdiffstats
path: root/x11-toolkits/tk84
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2007-03-08 22:17:27 +0800
committermiwi <miwi@FreeBSD.org>2007-03-08 22:17:27 +0800
commit78d2d076e49e55d4777d4b978c3a043cc8a4fb09 (patch)
treeba051c6db3932f4bd1ed115c25c808bf419d7394 /x11-toolkits/tk84
parentc4944def578b138bd40a702400e001b3f2aaa712 (diff)
downloadfreebsd-ports-gnome-78d2d076e49e55d4777d4b978c3a043cc8a4fb09.tar.gz
freebsd-ports-gnome-78d2d076e49e55d4777d4b978c3a043cc8a4fb09.tar.zst
freebsd-ports-gnome-78d2d076e49e55d4777d4b978c3a043cc8a4fb09.zip
- Adds TK84_MAN and WISH_WRAPPER to OPTIONS
- Removes pseudo-installation of wish in favour of new lang/tcl-tk-wrapper port - Adds support for NO_INSTALL_MANPAGES knob - Uses USE_TCL from bsd.tcl.mk - Checks if threaded or non-threaded tcl is installed - Adds CONFLICTS between threaded and non-threaded versions - Pass maintainership to Submitter - Bump PORTREVISION PR: 110084 Submitted by: Martin Matuska <martin@matuska.org>
Diffstat (limited to 'x11-toolkits/tk84')
-rw-r--r--x11-toolkits/tk84/Makefile51
-rw-r--r--x11-toolkits/tk84/pkg-deinstall.wish22
-rw-r--r--x11-toolkits/tk84/pkg-install.wish32
3 files changed, 36 insertions, 69 deletions
diff --git a/x11-toolkits/tk84/Makefile b/x11-toolkits/tk84/Makefile
index b3123428b4fd..bb756817daac 100644
--- a/x11-toolkits/tk84/Makefile
+++ b/x11-toolkits/tk84/Makefile
@@ -7,18 +7,21 @@
PORTNAME= tk
PORTVERSION= 8.4.14
+PORTREVISION= 1
PORTEPOCH= 2
CATEGORIES= x11-toolkits tk84
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= tcl
+PKGNAMESUFFIX?= ${THREADS_SUFFIX}
DISTNAME= ${PORTNAME}${PORTVERSION}-src
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= martin@matuska.org
COMMENT= Graphical toolkit for TCL
-LIB_DEPENDS= tcl84:${PORTSDIR}/${TCL84_PORT}
+USE_TCL= 84
+USE_TCL_BUILD= 84
-LATEST_LINK= tk84
+LATEST_LINK?= tk84
USE_XLIB= yes
USE_LDCONFIG= yes
WRKSRC= ${WRKDIR}/${PORTNAME}${PORTVERSION}/unix
@@ -30,22 +33,43 @@ CONFIGURE_ARGS= --enable-shared --with-tcl=${LOCALBASE}/lib/tcl${TK_VER} \
CONFIGURE_ENV= PORTSDIR=${PORTSDIR} TK_LIB_FILE=libtk${SHORT_TK_VER}.so.1
MAKE_ENV= SHORT_TK_VER=${SHORT_TK_VER}
PLIST_SUB= TK_VER=${TK_VER} SHORT_TK_VER=${SHORT_TK_VER}
-PKGINSTALL= ${PKGDIR}/pkg-install.wish
-PKGDEINSTALL= ${PKGDIR}/pkg-deinstall.wish
NOPRECIOUSMAKEVARS= yes # Otherwise 'make readmes' is broken
MANCOMPRESSED= no
DATADIR= ${PREFIX}/share/${PORTNAME}${TK_VER}
-.ifdef (WITH_THREADS)
+OPTIONS= TK84_MAN "Install tk 8.4 manpages" on \
+ WISH_WRAPPER "Require wish wrapper from ports" off
+
+.include <bsd.port.pre.mk>
+
+.if exists(${TCLSH})
+_TCL_IS_THREADED!= ${ECHO_CMD} 'puts [array names tcl_platform -exact threaded]' | ${TCLSH} || return 0
+. if !defined(TCL_WITH_THREADS) && !defined(WITH_THREADS) && !empty(_TCL_IS_THREADED)
+TCL_WITH_THREADS= yes
+. endif
+.endif
+
+.if defined(TCL_WITH_THREADS) || defined(WITH_THREADS)
+. if defined(_TCL_IS_THREADED) && empty(_TCL_IS_THREADED)
+IGNORE= tcl with threads is required. Please install tcl with WITH_THREADS defined or from lang/tcl${USE_TCL} port and try again
+. endif
CONFIGURE_ARGS+= --enable-threads
CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}" PTHREAD_CFLAGS="${PTHREAD_CFLAGS}"
-PKGNAMESUFFIX?= -threads
-TCL84_PORT?= lang/tcl84-thread
+THREADS_SUFFIX= -threads
+USE_TCL= 84-thread
+USE_TCL_BUILD= 84-thread
+CONFLICTS= tk-8.4*
+.include "${PORTSDIR}/Mk/bsd.tcl.mk"
.else
-TCL84_PORT?= lang/tcl84
+CONFIGURE_ARGS+= --disable-threads
+CONFLICTS= tk-threads-8.4*
.endif
-.if !defined(WITHOUT_TK84_MAN)
+.if defined(WITH_WISH_WRAPPER)
+RUN_DEPENDS+= wish:${PORTSDIR}/lang/tcl-tk-wrapper
+.endif
+
+.if !defined(NO_INSTALL_MANPAGES) && !defined(WITHOUT_TK84_MAN)
MAN1= wish.1
MAN3= 3DBorder.3 AddOption.3 BindTable.3 CanvPsY.3 CanvTkwin.3 \
@@ -367,7 +391,7 @@ post-configure:
${REINPLACE_CMD} \
-e 's|${WRKDIRPREFIX}${.CURDIR}|$${WRKDIRPREFIX}${TKBASE}|' \
${WRKSRC}/tkConfig.sh
-.if defined(WITHOUT_TK84_MAN)
+.if defined(NO_INSTALL_MANPAGES) || defined(WITHOUT_TK84_MAN)
${REINPLACE_CMD} -e 's|^MAN_INSTALL_DIR.*$$|MAN_INSTALL_DIR = ${WRKDIR}|' \
${WRKSRC}/Makefile
.endif
@@ -376,13 +400,10 @@ post-install:
${INSTALL_DATA} ${FILESDIR}/pkgIndex.tcl ${PREFIX}/lib/tk${TK_VER}/
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/../doc/man.macros ${DATADIR}
-.if exists(${PKGINSTALL})
- ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL}
-.endif
regression-test: build
cd ${WRKSRC}; ${MAKE} test
${ECHO_CMD} "package require Tk" | tclsh${TK_VER}
${ECHO_CMD} "load libtk${SHORT_TK_VER}.so" | tclsh${TK_VER}
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/x11-toolkits/tk84/pkg-deinstall.wish b/x11-toolkits/tk84/pkg-deinstall.wish
deleted file mode 100644
index 20ca9e8436c4..000000000000
--- a/x11-toolkits/tk84/pkg-deinstall.wish
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /bin/sh
-#
-# Remove the ${PREFIX}/bin/wish script that gets installed by INSTALL.wish
-# if we are the last wish installation to be pkg_delete'd.
-#
-# $FreeBSD$
-#
-
-#
-# Explicitly listing /usr/X11R6/bin here is debatable.
-#
-BINDIR="${PKG_PREFIX}/bin /usr/X11R6/bin"
-WISH=${PKG_PREFIX}/bin/wish
-
-wishes=$(/bin/ls ${BINDIR} 2> /dev/null | \
- egrep '^o?wish(step)?(x|([0-9]+\.[0-9]+))([a-z][a-z])?$')
-
-if [ "$wishes" = "" -a -f ${WISH} ] && \
- (head -3 ${WISH} | grep awieYJFnsuILOnfsYEW) > /dev/null 2>&1
-then
- rm -f ${PKG_PREFIX}/bin/wish
-fi
diff --git a/x11-toolkits/tk84/pkg-install.wish b/x11-toolkits/tk84/pkg-install.wish
deleted file mode 100644
index d526f076a498..000000000000
--- a/x11-toolkits/tk84/pkg-install.wish
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/sh
-
-# The user may have a wish they want to preserve
-ver=`grep -a awieYJFnsuILOnfsYEW ${PKG_PREFIX}/bin/wish 2> /dev/null \
- | sed -e 's/.*\*\*//'`
-if [ ! -e ${PKG_PREFIX}/bin/wish ] || [ "$ver" != "" -a "$ver" -lt 001 ]
-then
- [ -f ${PKG_PREFIX}/bin/wish ] && chmod u+w ${PKG_PREFIX}/bin/wish
-
- mkdir -p ${PKG_PREFIX}/bin
- cat > ${PKG_PREFIX}/bin/wish <<'EOF'
-#!/bin/sh
-# Installed by ports system. id: awieYJFnsuILOnfsYEW**001
-
-(
-echo "In FreeBSD, wish is named with a version number. This is because"
-echo "different versions of wish are not compatible with each other and"
-echo "they can not all be called \"wish\"! You may need multiple versions"
-echo "installed because a given port may depend on a specific version."
-echo
-echo "On your system, wish is installed under at least the following names:"
-echo
-for name in $(/bin/ls $(echo $PATH | sed 's/:/ /g') 2> /dev/null | egrep '^wish(step)?(x|([0-9]+\.[0-9]+))([a-z][a-z])?$')
-do
- echo $name
-done
-[ "$name" = "" ] && echo "No wish installations found, sorry."
-) 1>&2
-exit 1
-EOF
- chmod a+rx ${PKG_PREFIX}/bin/wish
-fi