Skip site navigation (1)Skip section navigation (2)
Date:      Thu,  8 Mar 2007 14:36:00 +0100 (CET)
From:      Martin Matuska <martin@matuska.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/110082: [UPDATE] lang/tcl84
Message-ID:  <20070308133601.001AC3F452@mail.vx.sk>
Resent-Message-ID: <200703081340.l28De92B008520@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         110082
>Category:       ports
>Synopsis:       [UPDATE] lang/tcl84
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Mar 08 13:40:09 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Martin Matuska
>Release:        FreeBSD 6.2-RELEASE
>Organization:
>Environment:
FreeBSD 6.2-RELEASE i386 and amd64
>Description:
This update changes the following:
- adds 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

I would like to take maintainership of lang/tcl84 (there is no maintainer).

This PR makes ports/108971 obsolete, please close that PR.
>How-To-Repeat:
>Fix:
diff -Nbur lang/tcl84.orig/Makefile lang/tcl84/Makefile
--- lang/tcl84.orig/Makefile	Sat Jan 20 00:14:38 2007
+++ lang/tcl84/Makefile	Thu Mar  8 14:13:35 2007
@@ -7,6 +7,7 @@
 
 PORTNAME=	tcl
 PORTVERSION=	8.4.14
+PORTREVISION=	1
 PORTEPOCH=	1
 CATEGORIES=	lang tcl84
 MASTER_SITES=	SF
@@ -24,22 +25,32 @@
 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 @@
 	${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 @@
 .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 @@
 regression-test:	build
 	cd ${WRKSRC} && LC_ALL=C ${MAKE} test
 
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>
diff -Nbur lang/tcl84.orig/pkg-deinstall.tclsh lang/tcl84/pkg-deinstall.tclsh
--- lang/tcl84.orig/pkg-deinstall.tclsh	Fri Dec  1 15:19:26 2006
+++ lang/tcl84/pkg-deinstall.tclsh	Thu Jan  1 01:00:00 1970
@@ -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: ports/lang/tcl84/pkg-deinstall.tclsh,v 1.3 2006/12/01 14:19:26 laszlof Exp $
-#
-
-#
-# 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 -Nbur lang/tcl84.orig/pkg-install.tclsh lang/tcl84/pkg-install.tclsh
--- lang/tcl84.orig/pkg-install.tclsh	Wed May 31 20:31:17 2000
+++ lang/tcl84/pkg-install.tclsh	Thu Jan  1 01:00:00 1970
@@ -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: ports/lang/tcl84/pkg-install.tclsh,v 1.5 2000/05/31 18:31:17 hoek Exp $
-#
- 
-(
-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
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070308133601.001AC3F452>