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:
parent
4a6abcecf2
commit
2113a8e760
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=186898
@ -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>
|
||||
|
@ -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
|
@ -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
|
Loading…
Reference in New Issue
Block a user