From rebum@mail.vx.sk  Fri Mar 16 16:44:10 2007
Return-Path: <rebum@mail.vx.sk>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 9180916A404
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 16 Mar 2007 16:44:10 +0000 (UTC)
	(envelope-from rebum@mail.vx.sk)
Received: from mail.vx.sk (neo.vx.sk [88.198.35.14])
	by mx1.freebsd.org (Postfix) with ESMTP id 3D18013C455
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 16 Mar 2007 16:44:10 +0000 (UTC)
	(envelope-from rebum@mail.vx.sk)
Received: from localhost (localhost [127.0.0.1])
	by mail.vx.sk (Postfix) with ESMTP id 7B4C63F41B
	for <FreeBSD-gnats-submit@freebsd.org>; Fri, 16 Mar 2007 17:44:09 +0100 (CET)
Received: from mail.vx.sk ([127.0.0.1])
	by localhost (mail.vx.sk [127.0.0.1]) (amavisd-new, port 10024)
	with LMTP id c4MHzywr3faL for <FreeBSD-gnats-submit@freebsd.org>;
	Fri, 16 Mar 2007 17:44:01 +0100 (CET)
Received: by mail.vx.sk (Postfix, from userid 1001)
	id C0A503F45C; Fri, 16 Mar 2007 17:44:01 +0100 (CET)
Message-Id: <20070316164401.C0A503F45C@mail.vx.sk>
Date: Fri, 16 Mar 2007 17:44:01 +0100 (CET)
From: Martin Matuska <martin@matuska.org>
Reply-To:
To: FreeBSD-gnats-submit@freebsd.org
Cc:
Subject: [MAINTAINER] lang/tcl84
X-Send-Pr-Version: 3.113
X-GNATS-Notify:

>Number:         110401
>Category:       ports
>Synopsis:       [MAINTAINER] lang/tcl84
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    miwi
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          maintainer-update
>Submitter-Id:   current-users
>Arrival-Date:   Fri Mar 16 16:50:05 GMT 2007
>Closed-Date:    Tue Mar 20 10:39:31 GMT 2007
>Last-Modified:  Tue Mar 20 10:40:03 GMT 2007
>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/tcl84.orig/Makefile lang/tcl84/Makefile
--- lang/tcl84.orig/Makefile	Wed Mar 14 17:59:18 2007
+++ lang/tcl84/Makefile	Fri Mar 16 17:27:59 2007
@@ -7,7 +7,7 @@
 
 PORTNAME=	tcl
 PORTVERSION=	8.4.14
-PORTREVISION=	2
+PORTREVISION=	3
 PORTEPOCH=	1
 CATEGORIES=	lang tcl84
 MASTER_SITES=	SF
@@ -24,34 +24,35 @@
 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
 TCL_VER=	8.4
+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=84
+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=	TCL84_MAN "Install tcl 8.4 manpages" on \
 		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(BUILDING_TCL_THREADS)
 CONFIGURE_ARGS+=	--enable-threads
 CONFIGURE_ENV+=		PTHREAD_LIBS="${PTHREAD_LIBS}" PTHREAD_CFLAGS="${PTHREAD_CFLAGS}"
-
-.if defined(TCL_WITH_THREADS) || defined(WITH_THREADS)
-THREADS_SUFFIX=		-threads
-CONFLICTS=		tcl-8.4*
 .else
-CONFLICTS=		tcl-threads-8.4*
-.endif
-
-LATEST_LINK=	tcl84${THREADS_SUFFIX}
+CONFIGURE_ARGS+=	--disable-threads
 
 .if defined(WITH_TCLSH_WRAPPER)
 RUN_DEPENDS+=		tclsh:${PORTSDIR}/lang/tcl-tk-wrapper
 .endif
 
-.if defined(NO_INSTALL_MANPAGES) && !defined(WITH_TCL84_MAN)
+.if defined(NO_INSTALL_MANPAGES) || defined(WITHOUT_TCL84_MAN)
 
 PLIST_SUB+=	INSTMAN='@comment '
 
@@ -613,13 +614,25 @@
 
 .endif
 
+.endif # defined(BUILDING_TCL_THREADS)
+
+LATEST_LINK=	tcl84${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:
@@ -641,6 +654,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_TCL84_MAN)
 	${MKDIR} ${DATADIR}
@@ -651,6 +670,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/tcl84.orig/pkg-plist.threads lang/tcl84/pkg-plist.threads
--- lang/tcl84.orig/pkg-plist.threads	Thu Jan  1 01:00:00 1970
+++ lang/tcl84/pkg-plist.threads	Fri Mar 16 16:00:39 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/tcl84-thread.orig/Makefile lang/tcl84-thread/Makefile
--- lang/tcl84-thread.orig/Makefile	Sun Jul 17 19:01:46 2005
+++ lang/tcl84-thread/Makefile	Fri Mar 16 16:04:12 2007
@@ -5,7 +5,7 @@
 # $FreeBSD: ports/lang/tcl84-thread/Makefile,v 1.1 2005/07/17 17:01:46 pav Exp $
 #
 
-WITH_THREADS=	yes
+BUILDING_TCL_THREADS=	yes
 
 MASTERDIR=	${.CURDIR}/../tcl84
 
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->miwi 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Fri Mar 16 16:50:19 UTC 2007 
Responsible-Changed-Why:  
miwi@ wants this PRs 

http://www.freebsd.org/cgi/query-pr.cgi?pr=110401 
State-Changed-From-To: open->closed 
State-Changed-By: miwi 
State-Changed-When: Tue Mar 20 10:39:28 UTC 2007 
State-Changed-Why:  
Committed. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=110401 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/110401: commit references a PR
Date: Tue, 20 Mar 2007 10:39:10 +0000 (UTC)

 miwi        2007-03-20 10:39:05 UTC
 
   FreeBSD ports repository
 
   Modified files:
     lang/tcl84           Makefile 
     lang/tcl84-thread    Makefile 
   Log:
   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.
   
   PR:             110401
   Submitted by:   Martin Matuska <martin@matuska.org> (maintainer)
   
   Revision  Changes    Path
   1.2       +1 -1      ports/lang/tcl84-thread/Makefile
   1.102     +35 -13    ports/lang/tcl84/Makefile
 _______________________________________________
 cvs-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/cvs-all
 To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
 
>Unformatted:
