ports/110402: [MAINTAINER] x11-toolkits/tk84
Martin Matuska
martin at matuska.org
Fri Mar 16 16:50:07 UTC 2007
>Number: 110402
>Category: ports
>Synopsis: [MAINTAINER] x11-toolkits/tk84
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: maintainer-update
>Submitter-Id: current-users
>Arrival-Date: Fri Mar 16 16:50:06 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 adds a new way of working with threaded versions and
resolves conflicts.
Threaded libraries and shell are installed on top of the standard ones
so ports that depend on threaded and non-threaded tcl can be used
simultaneously.
Behaiviour with non-threaded libraries does not change.
>How-To-Repeat:
>Fix:
diff -Nbur x11-toolkits/tk84.orig/Makefile x11-toolkits/tk84/Makefile
--- x11-toolkits/tk84.orig/Makefile Wed Mar 14 17:56:21 2007
+++ x11-toolkits/tk84/Makefile Fri Mar 16 17:28:38 2007
@@ -7,7 +7,7 @@
PORTNAME= tk
PORTVERSION= 8.4.14
-PORTREVISION= 2
+PORTREVISION= 3
PORTEPOCH= 2
CATEGORIES= x11-toolkits tk84
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
@@ -18,9 +18,6 @@
MAINTAINER= martin at matuska.org
COMMENT= Graphical toolkit for TCL
-USE_TCL= 84
-USE_TCL_BUILD= 84
-
LATEST_LINK?= tk84
USE_XLIB= yes
USE_LDCONFIG= yes
@@ -36,24 +33,33 @@
NOPRECIOUSMAKEVARS= yes # Otherwise 'make readmes' is broken
MANCOMPRESSED= no
DATADIR= ${PREFIX}/share/${PORTNAME}${TK_VER}
+SUB_FILES= pkgIndex.tcl
+
+.if !defined(BUILDING_TK_THREADS)
+USE_TCL= 84
+USE_TCL_BUILD= 84
OPTIONS= TK84_MAN "Install tk 8.4 manpages" on \
WISH_WRAPPER "Require wish wrapper from ports" off
+.else
+USE_TK= ${SHORT_TK_VER}
+PLIST= ${PKGDIR}/pkg-plist.threads
+THREADS_SUFFIX= -threads
+LIB_DEPENDS= tcl${SHORT_TK_VER}${THREADS_SUFFIX}:${PORTSDIR}/lang/tcl${SHORT_TK_VER}-thread
+.endif
-.include <bsd.port.pre.mk>
+SUB_LIST+= THREADS_SUFFIX="${THREADS_SUFFIX}"
-CONFIGURE_ARGS+= --enable-threads
-CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}" PTHREAD_CFLAGS="${PTHREAD_CFLAGS}"
+.include <bsd.port.pre.mk>
-.if defined(WITH_THREADS)
-THREADS_SUFFIX= -threads
-USE_TCL= 84-thread
-USE_TCL_BUILD= 84-thread
-CONFLICTS= tk-8.4*
-.include "${PORTSDIR}/Mk/bsd.tcl.mk"
+.if defined(BUILDING_TK_THREADS)
+CONFIGURE_ARGS+= --enable-threads --with-tcl=${LOCALBASE}/lib/tcl${TK_VER}${THREADS_SUFFIX}
+CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}" PTHREAD_CFLAGS="${PTHREAD_CFLAGS}" \
+ ac_cv_path_tclsh="${LOCALBASE}/bin/tclsh${TK_VER}${THREADS_SUFFIX}"
+LATEST_LINK= tk85${THREADS_SUFFIX}
.else
-CONFLICTS= tk-threads-8.4*
-.endif
+CONFIGURE_ARGS+= --disable-threads --with-tcl=${LOCALBASE}/lib/tcl${TK_VER}
+CONFIGURE_ENV+= ac_cv_path_tclsh="${TCLSH}"
.if defined(WITH_WISH_WRAPPER)
RUN_DEPENDS+= wish:${PORTSDIR}/lang/tcl-tk-wrapper
@@ -371,25 +377,49 @@
.endif
+.endif # defined(BUILDING_TK_THREADS)
+
TKBASE?= ${PORTSDIR}/${PKGCATEGORY}/${LATEST_LINK}
pre-everything::
@if ${TEST} -e "${NONEXISTENT}"; then ${ECHO_MSG} "=== Aborted, please remove ${NONEXISTENT}"; exit 1; fi
-pre-configure:
+post-patch:
+ @${REINPLACE_CMD} -e 's|@TK_SHARED_BUILD@|#@TK_SHARED_BUILD@|g' ${WRKSRC}/Makefile.in
+.if defined(BUILDING_TK_THREADS)
@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' \
+ -e 's|$${TCL_TRIM_DOTS}|$${TCL_TRIM_DOTS}${THREADS_SUFFIX}|g' \
+ -e 's|-ltk$${VERSION}|-ltk$${VERSION}${THREADS_SUFFIX}|g' \
+ -e 's/-ltk`echo $${VERSION} | tr -d .`/-ltk`echo $${VERSION} | tr -d .`${THREADS_SUFFIX}/g' \
+ -e 's|-ltkstub$${TK_VERSION}|-ltkstub$${TK_VERSION}${THREADS_SUFFIX}|g' \
+ -e 's/-ltkstub`echo $${TK_VERSION} | tr -d .`/-ltkstub`echo $${TK_VERSION} | tr -d .`${THREADS_SUFFIX}/g' \
${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|libtk$${SHORT_TK_VER}|libtk$${SHORT_TK_VER}${THREADS_SUFFIX}|g' \
+ -e 's|$$(BIN_INSTALL_DIR)/wish$$(VERSION)|$$(BIN_INSTALL_DIR)/wish$$(VERSION)${THREADS_SUFFIX}|g' \
+ -e 's|tk$$(VERSION)/tkConfig.sh|tk$$(VERSION)/tkConfig${THREADS_SUFFIX}.sh|g' \
+ -e 's|$$(LIB_INSTALL_DIR)$$(TK_PKG_DIR)|${WRKDIR}|g' \
+ -e 's|$$(MINOR_VERSION)$$(TCLPATCHL)|$$(MINOR_VERSION)$$(TCLPATCHL)${THREADS_SUFFIX}|g' \
+ ${WRKSRC}/Makefile.in
+.endif
post-configure:
${REINPLACE_CMD} \
-e 's|${WRKDIRPREFIX}${.CURDIR}|$${WRKDIRPREFIX}${TKBASE}|' \
${WRKSRC}/tkConfig.sh
+.if defined(BUILDING_TK_THREADS)
+do-install:
+ @cd ${WRKSRC} && ${MAKE_ENV} ${MAKE} -f Makefile install-binaries
+ @${MKDIR} ${PREFIX}/lib/tk${TK_VER}${THREADS_SUFFIX}
+ @${LN} -sf ${PREFIX}/lib/tk${TK_VER}/tkConfig${THREADS_SUFFIX}.sh \
+ ${PREFIX}/lib/tk${TK_VER}${THREADS_SUFFIX}/tkConfig.sh
+.endif
+
post-install:
- ${INSTALL_DATA} ${FILESDIR}/pkgIndex.tcl ${PREFIX}/lib/tk${TK_VER}/
+ ${INSTALL_DATA} ${WRKDIR}/pkgIndex.tcl ${PREFIX}/lib/tk${TK_VER}${THREADS_SUFFIX}/
+.if !defined(BUILDING_TK_THREADS) && !defined(NO_INSTALL_MANPAGES) && defined(WITH_TK84_MAN)
${MKDIR} ${DATADIR}
${INSTALL_DATA} ${WRKSRC}/../doc/man.macros ${DATADIR}
-.if !defined(NO_INSTALL_MANPAGES) && defined(WITH_TK84_MAN)
.for mp in ${MAN1} ${MAN3} ${MANN}
@${REINPLACE_CMD} -e 's|^.so man.macros|.so ${DATADIR}/man.macros|' \
${WRKSRC}/../doc/${mp}
diff -Nbur x11-toolkits/tk84.orig/files/pkgIndex.tcl x11-toolkits/tk84/files/pkgIndex.tcl
--- x11-toolkits/tk84.orig/files/pkgIndex.tcl Thu May 9 18:39:18 2002
+++ x11-toolkits/tk84/files/pkgIndex.tcl Thu Jan 1 01:00:00 1970
@@ -1,3 +0,0 @@
-# Tcl package index file, version 1.0
-
-package ifneeded Tk 8.4 [list load "[file join [file dirname $dir] libtk84.so.1]" Tk]
diff -Nbur x11-toolkits/tk84.orig/files/pkgIndex.tcl.in x11-toolkits/tk84/files/pkgIndex.tcl.in
--- x11-toolkits/tk84.orig/files/pkgIndex.tcl.in Thu Jan 1 01:00:00 1970
+++ x11-toolkits/tk84/files/pkgIndex.tcl.in Fri Mar 16 17:15:39 2007
@@ -0,0 +1,3 @@
+# Tcl package index file, version 1.0
+
+package ifneeded Tk%%THREADS_SUFFIX%% 8.4 [list load "[file join [file dirname $dir] libtk84%%THREADS_SUFFIX%%.so.1]" Tk]
diff -Nbur x11-toolkits/tk84.orig/pkg-plist.threads x11-toolkits/tk84/pkg-plist.threads
--- x11-toolkits/tk84.orig/pkg-plist.threads Thu Jan 1 01:00:00 1970
+++ x11-toolkits/tk84/pkg-plist.threads Fri Mar 16 17:17:22 2007
@@ -0,0 +1,9 @@
+bin/wish%%TK_VER%%-threads
+lib/libtk%%SHORT_TK_VER%%-threads.a
+lib/libtk%%SHORT_TK_VER%%-threads.so
+lib/libtk%%SHORT_TK_VER%%-threads.so.1
+lib/libtkstub%%SHORT_TK_VER%%-threads.a
+lib/tk%%TK_VER%%/tkConfig-threads.sh
+lib/tk%%TK_VER%%-threads/tkConfig.sh
+lib/tk%%TK_VER%%-threads/pkgIndex.tcl
+ at dirrm lib/tk%%TK_VER%%-threads
diff -Nbur x11-toolkits/tk84-thread.orig/Makefile x11-toolkits/tk84-thread/Makefile
--- x11-toolkits/tk84-thread.orig/Makefile Tue Mar 13 09:44:37 2007
+++ x11-toolkits/tk84-thread/Makefile Fri Mar 16 17:00:07 2007
@@ -5,7 +5,7 @@
# $FreeBSD: ports/x11-toolkits/tk84-thread/Makefile,v 1.1 2007/03/13 08:44:37 miwi Exp $
#
-WITH_THREADS= yes
+BUILDING_TK_THREADS= yes
MASTERDIR= ${.CURDIR}/../tk84
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list