aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormiwi <miwi@FreeBSD.org>2007-03-08 22:00:58 +0800
committermiwi <miwi@FreeBSD.org>2007-03-08 22:00:58 +0800
commit0beba040b097fa6fb51feb909069b34142242f8f (patch)
treedda5216e3eaa8791d6e0d247551314e366598b92
parentf05e1916031c17e0b68a54fcf961672d7a453e43 (diff)
downloadfreebsd-ports-gnome-0beba040b097fa6fb51feb909069b34142242f8f.tar.gz
freebsd-ports-gnome-0beba040b097fa6fb51feb909069b34142242f8f.tar.zst
freebsd-ports-gnome-0beba040b097fa6fb51feb909069b34142242f8f.zip
- Ddds TCL84_MAN and TCLSH_WRAPPER to OPTIONS
- Removes pseudo-installation of tclsh in favour of new lang/tcl-tk-wrapper port - Adds CONFLICTS between threaded and non-threaded versions - Adds support for NO_INSTALL_MANPAGES knob - Pass maintainership to Submitter PR: 110082 Submitted by: Martin Matuska <martin@matuska.org>
-rw-r--r--lang/tcl84/Makefile28
-rw-r--r--lang/tcl84/pkg-deinstall.tclsh22
-rw-r--r--lang/tcl84/pkg-install.tclsh35
3 files changed, 18 insertions, 67 deletions
diff --git a/lang/tcl84/Makefile b/lang/tcl84/Makefile
index 24fd26ec81e8..4bde8f32e31e 100644
--- a/lang/tcl84/Makefile
+++ b/lang/tcl84/Makefile
@@ -7,13 +7,14 @@
PORTNAME= tcl
PORTVERSION= 8.4.14
+PORTREVISION= 1
PORTEPOCH= 1
CATEGORIES= lang tcl84
MASTER_SITES= SF
PKGNAMESUFFIX?= ${THREADS_SUFFIX}${PKGNAMESUFFIX2}
DISTNAME= ${PORTNAME}${PORTVERSION}-src
-MAINTAINER= ports@FreeBSD.org
+MAINTAINER= martin@matuska.org
COMMENT= Tool Command Language
PATCH_DIST_ARGS= -d ${WRKDIR}/${DISTNAME} -E ${PATCH_DIST_STRIP}
@@ -24,22 +25,32 @@ GNU_CONFIGURE= yes
CONFIGURE_ARGS= --enable-shared --includedir=${PREFIX}/include/tcl${TCL_VER}
CONFIGURE_ENV= PORTSDIR=${PORTSDIR}
MAKE_ENV= SHORT_TCL_VER=84 LANG=C LC_ALL=C # LANG=C is required for some of UTF-using tests
-PKGINSTALL= ${PKGDIR}/pkg-install.tclsh
-PKGDEINSTALL= ${PKGDIR}/pkg-deinstall.tclsh
TCL_VER= 8.4
NOPRECIOUSMAKEVARS= Too many _MLINKS for README.html
PLIST_SUB= TCL_VER=${TCL_VER} SHORT_TCL_VER=84
EXTRACT_AFTER_ARGS=|${TAR} -xpf - --exclude compat/
+OPTIONS= TCL84_MAN "Install tcl 8.4 manpages" on \
+ TCLSH_WRAPPER "Require tclsh wrapper from ports" off
+
+.include <bsd.port.pre.mk>
+
.if defined(TCL_WITH_THREADS) || defined(WITH_THREADS)
THREADS_SUFFIX= -threads
CONFIGURE_ARGS+= --enable-threads
CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}" PTHREAD_CFLAGS="${PTHREAD_CFLAGS}"
+CONFLICTS= tcl-8.4*
+.else
+CONFLICTS= tcl-threads-8.4*
.endif
LATEST_LINK= tcl84${THREADS_SUFFIX}
-.if defined(WITHOUT_TCL84_MAN)
+.if defined(WITH_TCLSH_WRAPPER)
+RUN_DEPENDS+= tclsh:${PORTSDIR}/lang/tcl-tk-wrapper
+.endif
+
+.if defined(NO_INSTALL_MANPAGES) || defined(WITHOUT_TCL84_MAN)
PLIST_SUB+= INSTMAN='@comment '
@@ -620,7 +631,7 @@ post-configure:
${REINPLACE_CMD} \
-e 's,-DNO_MEMMOVE=1,,' -e 's,-DNO_STRING_H=1,,' \
-e 's,^COMPAT_OBJS.*,,' ${WRKSRC}/Makefile
-.if defined(WITHOUT_TCL84_MAN)
+.if defined(NO_INSTALL_MANPAGES) || defined(WITHOUT_TCL84_MAN)
${REINPLACE_CMD} -e 's|^MAN_INSTALL_DIR.*$$|MAN_INSTALL_DIR = ${WRKDIR}|' \
${WRKSRC}/Makefile
. for mp in ${MAN1} ${MAN3} ${MANN}
@@ -638,10 +649,7 @@ post-configure:
.endif
post-install:
-.if exists(${PKGINSTALL})
- ${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL}
-.endif
-.if !defined(WITHOUT_TCL84_MAN)
+.if !defined(WITHOUT_TCL84_MAN) && !defined(NO_INSTALL_MANPAGES)
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/../doc/man.macros ${DATADIR}
.endif
@@ -649,4 +657,4 @@ post-install:
regression-test: build
cd ${WRKSRC} && LC_ALL=C ${MAKE} test
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff --git a/lang/tcl84/pkg-deinstall.tclsh b/lang/tcl84/pkg-deinstall.tclsh
deleted file mode 100644
index 78c3fcf12f33..000000000000
--- a/lang/tcl84/pkg-deinstall.tclsh
+++ /dev/null
@@ -1,22 +0,0 @@
-#! /bin/sh
-#
-# Remove the ${PREFIX}/bin/tclsh script that gets installed by INSTALL.tclsh
-# if we are the last tclsh installation to be pkg_delete'd.
-#
-# $FreeBSD$
-#
-
-#
-# Explicitly listing /usr/X11R6/bin here is debatable.
-#
-BINDIR="${PKG_PREFIX}/bin ${X11BASE}/bin"
-TCLSH=${PKG_PREFIX}/bin/tclsh
-
-tclshs=$(/bin/ls ${BINDIR} 2> /dev/null | \
- egrep '^(i?tclsh[0-9]+\.[0-9]+(\_r)?([a-z][a-z])?)|otclsh$')
-
-if [ "$tclshs" = "" -a -f ${TCLSH} ] && \
- (head -3 ${TCLSH} | grep awieYJFnsuILOnfsYEW) > /dev/null 2>&1
-then
- rm -f ${PKG_PREFIX}/bin/tclsh
-fi
diff --git a/lang/tcl84/pkg-install.tclsh b/lang/tcl84/pkg-install.tclsh
deleted file mode 100644
index 3b808e2b500f..000000000000
--- a/lang/tcl84/pkg-install.tclsh
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-# The user may have a tclsh they want to preserve
-ver=`grep -a awieYJFnsuILOnfsYEW ${PKG_PREFIX}/bin/tclsh 2> /dev/null \
- | sed -e 's/.*\*\*//'`
-if [ ! -e ${PKG_PREFIX}/bin/tclsh ] || [ "$ver" != "" -a "$ver" -lt 002 ]
-then
- [ -f ${PKG_PREFIX}/bin/tclsh ] && chmod u+w ${PKG_PREFIX}/bin/tclsh
-
- mkdir -p ${PKG_PREFIX}/bin
- cat > ${PKG_PREFIX}/bin/tclsh <<'EOF'
-#!/bin/sh
-# Installed by ports system. id: awieYJFnsuILOnfsYEW**002
-#
-# $FreeBSD$
-#
-
-(
-echo "In FreeBSD, tclsh is named with a version number. This is because"
-echo "different versions of tclsh are not compatible with each other and"
-echo "they can not all be called \"tclsh\"! You may need multiple versions"
-echo "installed because a given port may depend on a specific version."
-echo
-echo "On your system, tclsh is installed under at least the following names:"
-echo
-for name in $(/bin/ls $(echo $PATH | sed 's/:/ /g') 2> /dev/null | egrep '^(i?tclsh[0-9]+\.[0-9]+(\_r)?([a-z][a-z])?)|otclsh$')
-do
- echo $name
-done
-[ "$name" = "" ] && echo "No tclsh installations found, sorry."
-) 1>&2
-exit 1
-EOF
- chmod 555 ${PKG_PREFIX}/bin/tclsh
-fi