Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Mar 2007 16:15:45 +0100 (CET)
From:      Martin Matuska <martin@matuska.org>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/110394: [MAINTAINER] lang/tcl85
Message-ID:  <20070316151546.88D993F441@mail.vx.sk>
Resent-Message-ID: <200703161520.l2GFK4QZ058660@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         110394
>Category:       ports
>Synopsis:       [MAINTAINER] lang/tcl85
>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 15:20:03 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 lang/tcl85.orig/Makefile lang/tcl85/Makefile
--- lang/tcl85.orig/Makefile	Tue Mar 13 11:42:03 2007
+++ lang/tcl85/Makefile	Fri Mar 16 15:46:15 2007
@@ -7,7 +7,7 @@
 
 PORTNAME=	tcl
 PORTVERSION=	8.5.a.5
-PORTREVISION=	3
+PORTREVISION=	4
 CATEGORIES=	lang
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=	tcl
@@ -24,30 +24,41 @@
 GNU_CONFIGURE=	yes
 CONFIGURE_ARGS=	--enable-shared --includedir=${PREFIX}/include/tcl${TCL_VER}
 CONFIGURE_ENV=	PORTSDIR=${PORTSDIR}
-MAKE_ENV=	SHORT_TCL_VER=85 LANG=C LC_ALL=C	# LANG=C is required for some of UTF-using tests
 TCL_VER=	8.5
+SHORT_TCL_VER=	${TCL_VER:S/8./8/}
+MAKE_ENV=	SHORT_TCL_VER=${SHORT_TCL_VER} LANG=C LC_ALL=C	# LANG=C is required for some of UTF-using tests
 NOPRECIOUSMAKEVARS=	Too many _MLINKS for README.html
-PLIST_SUB=	TCL_VER=${TCL_VER} SHORT_TCL_VER=85
+PLIST_SUB=	TCL_VER=${TCL_VER} SHORT_TCL_VER=${SHORT_TCL_VER}
 EXTRACT_AFTER_ARGS=|${TAR} -xpf - --exclude compat/
 
+.if !defined(BUILDING_TCL_THREADS)
 OPTIONS=	TCL85_MAN "Install tcl 8.5 manpages" off \
 		TCLSH_WRAPPER "Require tclsh wrapper from ports" off
+.else
+USE_TCL=	${SHORT_TCL_VER}
+PLIST=		${PKGDIR}/pkg-plist.threads
+THREADS_SUFFIX=		-threads
+.endif
 
 .include <bsd.port.pre.mk>
 
-.if defined(TCL_WITH_THREADS) || defined(WITH_THREADS)
+.if defined(BUILDING_TCL_THREADS)
 . if (${ARCH} == "ia64")
-BROKEN=	does not compile with threads on ia64
+BROKEN=	does not compile on ia64
 . endif
-CONFLICTS=	tcl-8.5*
-THREADS_SUFFIX=		-threads
+. if exists(${TCLSH})
+TCL_PATCHLEVEL!=	${ECHO_CMD} "puts \$$tcl_patchLevel" | ${TCLSH}
+.  if ${TCL_PATCHLEVEL} != ${PORTVERSION:S/.a./a/}
+IGNORE=	version mismatch - installing ${PORTVERSION:S/.a./a/} over installed ${TCL_PATCHLEVEL}
+.  endif
+.endif
+
 CONFIGURE_ARGS+=	--enable-threads
 CONFIGURE_ENV+=		PTHREAD_LIBS="${PTHREAD_LIBS}" PTHREAD_CFLAGS="${PTHREAD_CFLAGS}"
+
 .else
-CONFLICTS=	tcl-threads-8.5*
-.endif
 
-LATEST_LINK=	tcl85${THREADS_SUFFIX}
+CONFIGURE_ARGS+=	--disable-threads
 
 .if defined(WITH_TCLSH_WRAPPER)
 RUN_DEPENDS+=		tclsh:${PORTSDIR}/lang/tcl-tk-wrapper
@@ -682,14 +693,25 @@
 	pkgMkIndex.n pkg_mkIndex.n \
 	safe.n SafeBase.n
 .endif
+.endif # defined(BUILDING_TCL_THREADS)
+
+LATEST_LINK=	tcl85${THREADS_SUFFIX}
 
 TCLBASE?=	${PORTSDIR}/${PKGCATEGORY}/${LATEST_LINK}
 
-.if defined(TCL_WITH_THREADS) || defined(WITH_THREADS)
-pre-configure:
+.if defined(BUILDING_TCL_THREADS)
+post-patch:
 	@${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|g' \
+		-e 's|$${TCL_TRIM_DOTS}|$${TCL_TRIM_DOTS}${THREADS_SUFFIX}|g' \
+		-e 's|-ltcl$${TCL_VERSION}|-ltcl$${TCL_VERSION}${THREADS_SUFFIX}|g' \
+		-e 's/-ltcl`echo $${TCL_VERSION} | tr -d .`/-ltcl`echo $${TCL_VERSION} | tr -d .`${THREADS_SUFFIX}/g' \
+		-e 's|-ltclstub$${TCL_VERSION}|-ltclstub$${TCL_VERSION}${THREADS_SUFFIX}|g' \
+		-e 's/-ltclstub`echo $${TCL_VERSION} | tr -d .`/-ltclstub`echo $${TCL_VERSION} | tr -d .`${THREADS_SUFFIX}/g' \
 		${WRKSRC}/configure
-
+	@${REINPLACE_CMD} -e 's|libtcl$${SHORT_TCL_VER}|libtcl$${SHORT_TCL_VER}${THREADS_SUFFIX}|g' \
+		-e 's|$$(BIN_INSTALL_DIR)/tclsh$$(VERSION)|$$(BIN_INSTALL_DIR)/tclsh$$(VERSION)${THREADS_SUFFIX}|g' \
+		-e 's|$$(SCRIPT_INSTALL_DIR)/tclConfig.sh|$$(SCRIPT_INSTALL_DIR)/tclConfig${THREADS_SUFFIX}.sh|g' \
+		${WRKSRC}/Makefile.in
 .endif
 
 # Where the below command fails, there is no need for concern:
@@ -711,6 +733,12 @@
 	# ====================================================
 .endif
 
+.if defined(BUILDING_TCL_THREADS)
+do-install:
+	@cd ${WRKSRC} && ${MAKE_ENV} ${MAKE} -f Makefile install-binaries
+	@${MKDIR} ${PREFIX}/lib/tcl${TCL_VER}${THREADS_SUFFIX}
+	@${LN} -s ${PREFIX}/lib/tcl${TCL_VER}/tclConfig${THREADS_SUFFIX}.sh ${PREFIX}/lib/tcl${TCL_VER}${THREADS_SUFFIX}/tclConfig.sh
+.else
 post-install:
 .if !defined(NO_INSTALL_MANPAGES) && defined(WITH_TCL85_MAN)
 	${MKDIR} ${DATADIR}
@@ -721,6 +749,8 @@
 . endfor
 	@cd ${WRKSRC} && ${MAKE} -f Makefile install-doc ${MAKE_ENV}
 .endif
+
+.endif # !defined(BUILDING_TCL_THREADS)
 
 regression-test:	build
 	cd ${WRKSRC} && LC_ALL=C ${MAKE} test
diff -Nbur lang/tcl85.orig/pkg-plist.threads lang/tcl85/pkg-plist.threads
--- lang/tcl85.orig/pkg-plist.threads	Thu Jan  1 01:00:00 1970
+++ lang/tcl85/pkg-plist.threads	Fri Mar 16 12:58:54 2007
@@ -0,0 +1,8 @@
+bin/tclsh%%TCL_VER%%-threads
+lib/libtcl%%SHORT_TCL_VER%%-threads.a
+lib/libtcl%%SHORT_TCL_VER%%-threads.so
+lib/libtcl%%SHORT_TCL_VER%%-threads.so.1
+lib/libtclstub%%SHORT_TCL_VER%%-threads.a
+lib/tcl%%TCL_VER%%/tclConfig-threads.sh
+lib/tcl%%TCL_VER%%-threads/tclConfig.sh
+@dirrm lib/tcl%%TCL_VER%%-threads
\ No newline at end of file
diff -Nbur lang/tcl85-thread.orig/Makefile lang/tcl85-thread/Makefile
--- lang/tcl85-thread.orig/Makefile	Mon Jan 29 04:10:23 2007
+++ lang/tcl85-thread/Makefile	Fri Mar 16 15:24:31 2007
@@ -5,7 +5,7 @@
 # $FreeBSD: ports/lang/tcl85-thread/Makefile,v 1.1 2007/01/29 03:10:23 clsung Exp $
 #
 
-WITH_THREADS=	yes
+BUILDING_TCL_THREADS=	yes
 
 MASTERDIR=	${.CURDIR}/../tcl85
 
>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070316151546.88D993F441>