ports/110086: [UPDATE] lang/tcl83
Martin Matuska
martin at matuska.org
Thu Mar 8 14:30:04 UTC 2007
>Number: 110086
>Category: ports
>Synopsis: [UPDATE] lang/tcl83
>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 14:30:03 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 TCL83_MAN and TCLSH_WRAPPER to OPTIONS
- removes pseudo-installation of tclsh in favour of new lang/tcl-tk-wrapper port
- adds support for NO_INSTALL_MANPAGES knob
Portlint -A and tinderbox do not complain.
I would like to take maintainership of lang/tcl83 (there is no maintainer).
>How-To-Repeat:
>Fix:
diff -Nbur lang/tcl83.orig/Makefile lang/tcl83/Makefile
--- lang/tcl83.orig/Makefile Tue Aug 15 02:29:09 2006
+++ lang/tcl83/Makefile Thu Mar 8 15:08:34 2007
@@ -7,7 +7,7 @@
PORTNAME= tcl
PORTVERSION= 8.3.5
-PORTREVISION= 5
+PORTREVISION= 6
CATEGORIES= lang tcl83
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= tcl
@@ -24,15 +24,20 @@
CONFIGURE_ARGS= --enable-shared --includedir=${LOCALBASE}/include/tcl${TCL_VER}
CONFIGURE_ENV= PORTSDIR=${PORTSDIR}
MAKE_ENV= SHORT_TCL_VER=83
-PKGINSTALL= ${PKGDIR}/pkg-install.tclsh
-PKGDEINSTALL= ${PKGDIR}/pkg-deinstall.tclsh
TCL_VER= 8.3
NOPRECIOUSMAKEVARS= yes # Otherwise 'make readmes' is broken
PLIST_SUB= TCL_VER=${TCL_VER} SHORT_TCL_VER=83
+OPTIONS= TCL83_MAN "Install tcl 8.3 manpages" on \
+ TCLSH_WRAPPER "Require tclsh wrapper from ports" off
+
.include <bsd.port.pre.mk>
-.if defined(WITH_TCL83_MAN)
+.if defined(WITH_TCLSH_WRAPPER)
+RUN_DEPENDS+= tclsh:${PORTSDIR}/lang/tcl-tk-wrapper
+.endif
+
+.if !defined(NO_INSTALL_MANPAGES) && defined(WITH_TCL83_MAN)
MAN1= tclsh.1
@@ -432,7 +437,7 @@
${REINPLACE_CMD} \
-e 's|${WRKDIRPREFIX}${.CURDIR}|$${WRKDIRPREFIX}${TCLBASE}|' \
${WRKSRC}/tclConfig.sh
-.if !defined(WITH_TCL83_MAN)
+.if defined(NO_INSTALL_MANPAGES) || !defined(WITH_TCL83_MAN)
${REINPLACE_CMD} -e 's|^MAN_INSTALL_DIR.*$$|MAN_INSTALL_DIR = ${WRKDIR}|' \
${WRKSRC}/Makefile
.endif
diff -Nbur lang/tcl83.orig/pkg-deinstall.tclsh lang/tcl83/pkg-deinstall.tclsh
--- lang/tcl83.orig/pkg-deinstall.tclsh Wed May 31 20:31:17 2000
+++ lang/tcl83/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/tcl83/pkg-deinstall.tclsh,v 1.2 2000/05/31 18:31:17 hoek Exp $
-#
-
-#
-# Explicitly listing /usr/X11R6/bin here is debatable.
-#
-BINDIR="${PKG_PREFIX}/bin /usr/X11R6/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/tcl83.orig/pkg-install.tclsh lang/tcl83/pkg-install.tclsh
--- lang/tcl83.orig/pkg-install.tclsh Wed May 31 20:31:17 2000
+++ lang/tcl83/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/tcl83/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:
More information about the freebsd-ports-bugs
mailing list