Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 12 Mar 2007 17:22:19 +0100 (CET)
From:      Martin Matuska <martin@matuska.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/110233: [UPDATE] lang/tcl80
Message-ID:  <20070312162219.74C713F474@mail.vx.sk>
Resent-Message-ID: <200703121630.l2CGU5cl092046@freefall.freebsd.org>

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

>Number:         110233
>Category:       ports
>Synopsis:       [UPDATE] lang/tcl80
>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:   Mon Mar 12 16:30:05 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 TCL80_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 over maintainership over this port.
>How-To-Repeat:
>Fix:
diff -Nbur lang/tcl80.orig/Makefile lang/tcl80/Makefile
--- lang/tcl80.orig/Makefile	Tue Jan 30 11:25:29 2007
+++ lang/tcl80/Makefile	Mon Mar 12 17:11:49 2007
@@ -7,13 +7,13 @@
 
 PORTNAME=	tcl
 PORTVERSION=	8.0.5
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	lang tcl80
 MASTER_SITES=	${MASTER_SITE_TCLTK}
 MASTER_SITE_SUBDIR=tcl8_0
 DISTNAME=	${PORTNAME}${PORTVERSION}
 
-MAINTAINER=	ports@FreeBSD.org
+MAINTAINER=	martin@matuska.org
 COMMENT=	Tool Command Language
 
 NO_LATEST_LINK=	yes
@@ -22,29 +22,29 @@
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--enable-shared
 CONFIGURE_ENV=	PORTSDIR=${PORTSDIR}
-PKGINSTALL=	${PKGDIR}/pkg-install.tclsh
-PKGDEINSTALL=	${PKGDIR}/pkg-deinstall.tclsh
 
 SHLIB_MAJOR=	1
 SHLIB_MINOR=	5
 MAKEFILE=	makefile
 TCL_LIB=	libtcl80.so
 
+OPTIONS=	TCL80_MAN "Install tcl 8.0 manpages" off \
+		TCLSH_WRAPPER "Require tclsh wrapper from ports" off
+
 .include <bsd.port.pre.mk>
 
-.if defined(WITH_TCL80_MAN)
-.include "${FILESDIR}/manpages"
+.if defined(WITH_TCLSH_WRAPPER)
+RUN_DEPENDS+=		tclsh:${PORTSDIR}/lang/tcl-tk-wrapper
 .endif
 
+.if !defined(NO_INSTALL_MANPAGES) && defined(WITH_TCL80_MAN)
+.include "${FILESDIR}/manpages"
 MANCOMPRESSED=	yes
+.endif
 
 post-configure:
 	@${CP} ${FILESDIR}/Makefile.lib ${WRKSRC}
 	@${CP} ${FILESDIR}/makefile     ${WRKSRC}
-.if !defined(WITH_TCL80_MAN)
-	@${REINPLACE_CMD} -e 's|^MAN_INSTALL_DIR.*$$|MAN_INSTALL_DIR = ${WRKDIR}|' \
-		${WRKSRC}/Makefile
-.endif
 
 pre-build:
 	@cd ${WRKSRC} && ${MAKE} -f Makefile.lib PREFIX=${PREFIX} \
@@ -52,10 +52,10 @@
 	   OSVERSION=${OSVERSION}
 
 post-install:
-	${LN} -sf ${TCL_LIB}.${SHLIB_MAJOR} ${PREFIX}/lib/${TCL_LIB}
-.if exists(${PKGINSTALL})
-	${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL}
+.if !defined(NO_INSTALL_MANPAGES) && defined(WITH_TCL80_MAN)
+	@cd ${WRKSRC} && ${MAKE} -f Makefile install-man
 .endif
+	${LN} -sf ${TCL_LIB}.${SHLIB_MAJOR} ${PREFIX}/lib/${TCL_LIB}
 
 test:
 	cd ${WRKSRC} && ${MAKE} test
diff -Nbur lang/tcl80.orig/files/patch-aa lang/tcl80/files/patch-aa
--- lang/tcl80.orig/files/patch-aa	Fri Apr 30 18:09:55 1999
+++ lang/tcl80/files/patch-aa	Mon Mar 12 16:32:47 2007
@@ -1,5 +1,5 @@
---- Makefile.in.orig	Thu Apr 29 10:26:03 1999
-+++ Makefile.in	Thu Apr 29 10:33:07 1999
+--- Makefile.in.orig	Tue Mar  9 07:51:26 1999
++++ Makefile.in	Mon Mar 12 16:32:22 2007
 @@ -55,7 +55,9 @@
  BIN_INSTALL_DIR =	$(INSTALL_ROOT)$(exec_prefix)/bin
  
@@ -43,7 +43,14 @@
  # Make target which outputs the list of the .o contained in the Tcl lib
  # usefull to build a single big shared library containing Tcl and other
  # extensions.  used for the Tcl Plugin.  -- dl
-@@ -433,7 +441,7 @@
+@@ -427,13 +435,13 @@
+ 	cd dltest; if test -f configure; then ./configure; else \
+ 	    $(DLTEST_DIR)/configure; fi
+ 
+-install: install-binaries install-libraries install-man
++install: install-binaries install-libraries
+ 
+ # Note: before running ranlib below, must cd to target directory because
  # some ranlibs write to current directory, and this might not always be
  # possible (e.g. if installing as root).
  
diff -Nbur lang/tcl80.orig/pkg-deinstall.tclsh lang/tcl80/pkg-deinstall.tclsh
--- lang/tcl80.orig/pkg-deinstall.tclsh	Wed May 31 20:31:16 2000
+++ lang/tcl80/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/tcl80/pkg-deinstall.tclsh,v 1.2 2000/05/31 18:31:16 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/tcl80.orig/pkg-install.tclsh lang/tcl80/pkg-install.tclsh
--- lang/tcl80.orig/pkg-install.tclsh	Wed May 31 20:31:16 2000
+++ lang/tcl80/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/tcl80/pkg-install.tclsh,v 1.5 2000/05/31 18:31:16 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?20070312162219.74C713F474>