Date: Thu, 8 Mar 2007 14:57:26 +0100 (CET) From: Martin Matuska <martin@matuska.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/110084: [UPDATE] x11-toolkits/tk84 Message-ID: <20070308135726.7C1213F451@mail.vx.sk> Resent-Message-ID: <200703081400.l28E0Bb5009275@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 110084 >Category: ports >Synopsis: [UPDATE] x11-toolkits/tk84 >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:00:11 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 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 Portlint -A and tinderbox do not complain. I would like to take maintainership of x11-toolkits/tk84 (there is no maintainer). >How-To-Repeat: >Fix: diff -Nbur x11-toolkits/tk84.orig/Makefile x11-toolkits/tk84/Makefile --- x11-toolkits/tk84.orig/Makefile Wed Jan 17 05:49:29 2007 +++ x11-toolkits/tk84/Makefile Thu Mar 8 14:50:02 2007 @@ -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 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_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 @@ ${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 @@ ${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 -Nbur x11-toolkits/tk84.orig/pkg-deinstall.wish x11-toolkits/tk84/pkg-deinstall.wish --- x11-toolkits/tk84.orig/pkg-deinstall.wish Fri Jun 2 09:15:24 2000 +++ x11-toolkits/tk84/pkg-deinstall.wish Thu Jan 1 01:00:00 1970 @@ -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: ports/x11-toolkits/tk84/pkg-deinstall.wish,v 1.1 2000/06/02 07:15:24 hoek Exp $ -# - -# -# 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 -Nbur x11-toolkits/tk84.orig/pkg-install.wish x11-toolkits/tk84/pkg-install.wish --- x11-toolkits/tk84.orig/pkg-install.wish Wed May 26 02:34:26 1999 +++ x11-toolkits/tk84/pkg-install.wish Thu Jan 1 01:00:00 1970 @@ -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 >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070308135726.7C1213F451>