1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-24 00:45:52 +00:00

- 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
- Pass maintainership to Submitter
- Bump PORTREVISION

PR:             110084
Submitted by:   Martin Matuska <martin@matuska.org>
This commit is contained in:
Martin Wilke 2007-03-08 14:17:27 +00:00
parent 4a6abcecf2
commit 2113a8e760
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=186898
3 changed files with 39 additions and 72 deletions

View File

@ -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
MAINTAINER= martin@matuska.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_ARGS= --enable-shared --with-tcl=${LOCALBASE}/lib/tcl${TK_VER} \
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)
CONFIGURE_ARGS+= --enable-threads
CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}" PTHREAD_CFLAGS="${PTHREAD_CFLAGS}"
PKGNAMESUFFIX?= -threads
TCL84_PORT?= lang/tcl84-thread
.else
TCL84_PORT?= lang/tcl84
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(WITHOUT_TK84_MAN)
.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}"
THREADS_SUFFIX= -threads
USE_TCL= 84-thread
USE_TCL_BUILD= 84-thread
CONFLICTS= tk-8.4*
.include "${PORTSDIR}/Mk/bsd.tcl.mk"
.else
CONFIGURE_ARGS+= --disable-threads
CONFLICTS= tk-threads-8.4*
.endif
.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 @@ post-configure:
${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 @@ post-install:
${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>

View File

@ -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$
#
#
# 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

View File

@ -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