mirror of
https://git.FreeBSD.org/ports.git
synced 2025-01-20 08:27:15 +00:00
- Ddds TCL84_MAN and TCLSH_WRAPPER to OPTIONS
- Removes pseudo-installation of tclsh in favour of new lang/tcl-tk-wrapper port - Adds CONFLICTS between threaded and non-threaded versions - Adds support for NO_INSTALL_MANPAGES knob - Pass maintainership to Submitter PR: 110082 Submitted by: Martin Matuska <martin@matuska.org>
This commit is contained in:
parent
92bc0115f8
commit
bcf60e8ba3
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=186895
@ -7,13 +7,14 @@
|
||||
|
||||
PORTNAME= tcl
|
||||
PORTVERSION= 8.4.14
|
||||
PORTREVISION= 1
|
||||
PORTEPOCH= 1
|
||||
CATEGORIES= lang tcl84
|
||||
MASTER_SITES= SF
|
||||
PKGNAMESUFFIX?= ${THREADS_SUFFIX}${PKGNAMESUFFIX2}
|
||||
DISTNAME= ${PORTNAME}${PORTVERSION}-src
|
||||
|
||||
MAINTAINER= ports@FreeBSD.org
|
||||
MAINTAINER= martin@matuska.org
|
||||
COMMENT= Tool Command Language
|
||||
|
||||
PATCH_DIST_ARGS= -d ${WRKDIR}/${DISTNAME} -E ${PATCH_DIST_STRIP}
|
||||
@ -24,22 +25,32 @@ GNU_CONFIGURE= yes
|
||||
CONFIGURE_ARGS= --enable-shared --includedir=${PREFIX}/include/tcl${TCL_VER}
|
||||
CONFIGURE_ENV= PORTSDIR=${PORTSDIR}
|
||||
MAKE_ENV= SHORT_TCL_VER=84 LANG=C LC_ALL=C # LANG=C is required for some of UTF-using tests
|
||||
PKGINSTALL= ${PKGDIR}/pkg-install.tclsh
|
||||
PKGDEINSTALL= ${PKGDIR}/pkg-deinstall.tclsh
|
||||
TCL_VER= 8.4
|
||||
NOPRECIOUSMAKEVARS= Too many _MLINKS for README.html
|
||||
PLIST_SUB= TCL_VER=${TCL_VER} SHORT_TCL_VER=84
|
||||
EXTRACT_AFTER_ARGS=|${TAR} -xpf - --exclude compat/
|
||||
|
||||
OPTIONS= TCL84_MAN "Install tcl 8.4 manpages" on \
|
||||
TCLSH_WRAPPER "Require tclsh wrapper from ports" off
|
||||
|
||||
.include <bsd.port.pre.mk>
|
||||
|
||||
.if defined(TCL_WITH_THREADS) || defined(WITH_THREADS)
|
||||
THREADS_SUFFIX= -threads
|
||||
CONFIGURE_ARGS+= --enable-threads
|
||||
CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}" PTHREAD_CFLAGS="${PTHREAD_CFLAGS}"
|
||||
CONFLICTS= tcl-8.4*
|
||||
.else
|
||||
CONFLICTS= tcl-threads-8.4*
|
||||
.endif
|
||||
|
||||
LATEST_LINK= tcl84${THREADS_SUFFIX}
|
||||
|
||||
.if defined(WITHOUT_TCL84_MAN)
|
||||
.if defined(WITH_TCLSH_WRAPPER)
|
||||
RUN_DEPENDS+= tclsh:${PORTSDIR}/lang/tcl-tk-wrapper
|
||||
.endif
|
||||
|
||||
.if defined(NO_INSTALL_MANPAGES) || defined(WITHOUT_TCL84_MAN)
|
||||
|
||||
PLIST_SUB+= INSTMAN='@comment '
|
||||
|
||||
@ -620,7 +631,7 @@ post-configure:
|
||||
${REINPLACE_CMD} \
|
||||
-e 's,-DNO_MEMMOVE=1,,' -e 's,-DNO_STRING_H=1,,' \
|
||||
-e 's,^COMPAT_OBJS.*,,' ${WRKSRC}/Makefile
|
||||
.if defined(WITHOUT_TCL84_MAN)
|
||||
.if defined(NO_INSTALL_MANPAGES) || defined(WITHOUT_TCL84_MAN)
|
||||
${REINPLACE_CMD} -e 's|^MAN_INSTALL_DIR.*$$|MAN_INSTALL_DIR = ${WRKDIR}|' \
|
||||
${WRKSRC}/Makefile
|
||||
. for mp in ${MAN1} ${MAN3} ${MANN}
|
||||
@ -638,10 +649,7 @@ post-configure:
|
||||
.endif
|
||||
|
||||
post-install:
|
||||
.if exists(${PKGINSTALL})
|
||||
${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL}
|
||||
.endif
|
||||
.if !defined(WITHOUT_TCL84_MAN)
|
||||
.if !defined(WITHOUT_TCL84_MAN) && !defined(NO_INSTALL_MANPAGES)
|
||||
${MKDIR} ${DATADIR}
|
||||
${INSTALL_DATA} ${WRKSRC}/../doc/man.macros ${DATADIR}
|
||||
.endif
|
||||
@ -649,4 +657,4 @@ post-install:
|
||||
regression-test: build
|
||||
cd ${WRKSRC} && LC_ALL=C ${MAKE} test
|
||||
|
||||
.include <bsd.port.mk>
|
||||
.include <bsd.port.post.mk>
|
||||
|
@ -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$
|
||||
#
|
||||
|
||||
#
|
||||
# Explicitly listing /usr/X11R6/bin here is debatable.
|
||||
#
|
||||
BINDIR="${PKG_PREFIX}/bin ${X11BASE}/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
|
@ -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$
|
||||
#
|
||||
|
||||
(
|
||||
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
|
Loading…
Reference in New Issue
Block a user