ports/110805: lang/tclX: unbreak + various improvements.

Thierry Thomas thierry at FreeBSD.org
Sun Mar 25 15:30:06 UTC 2007


>Number:         110805
>Category:       ports
>Synopsis:       lang/tclX: unbreak + various improvements.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 25 15:30:04 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator:     Thierry Thomas
>Release:        FreeBSD 6.2-STABLE i386
>Organization:
Kabbale Eros
>Environment:
System: FreeBSD graf.pompo.net 6.2-STABLE FreeBSD 6.2-STABLE #0: Sun Jan 28 10:29:56 CET 2007 thierry at graf.pompo.net:/usr/obj/usr/src/sys/GRAF060511 i386


	
>Description:
	- Fix a breakage caused by revision v 1.91 of ports/lang/tcl84/Makefile

	- Switch to USE_TCL

	- s/INSTALLS_SHLIB/USE_LDCONFIG/

	- Support tcl84-thread

	- Fix tclsh detection in configure

	- Move the test target to regression-test

	- Pet portlint.

>How-To-Repeat:
	See errors logs on pointyhat:
	<http://portsmon.droso.net/portoverview.py?category=lang&portname=tclX>
>Fix:
	Please apply the folowing patch:

--- tclX.diff begins here ---
diff -urN lang/tclX.orig/Makefile lang/tclX/Makefile
--- lang/tclX.orig/Makefile	Fri Jun 30 22:20:18 2006
+++ lang/tclX/Makefile	Sun Mar 25 17:09:14 2007
@@ -7,7 +7,8 @@
 
 PORTNAME=	tclX
 PORTVERSION=	8.4
-CATEGORIES=	lang tcl${TCL_DVER} devel
+PORTREVISION=	1
+CATEGORIES=	lang tcl${USE_TCL} devel
 MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
 MASTER_SITE_SUBDIR=tclx
 DISTNAME=	tclx${PORTVERSION}
@@ -16,27 +17,24 @@
 COMMENT=	Extended TCL
 
 USE_BZIP2=	yes
-LIB_DEPENDS=	tcl${TCL_DVER}:${PORTSDIR}/lang/tcl${TCL_DVER}
+USE_TCL_BUILD=	yes
 
-TCL_VER?=	8.4
-TCL_DVER?=	${TCL_VER:S/.//}
-
-INSTALLS_SHLIB=	yes
+USE_LDCONFIG=	yes
 GNU_CONFIGURE=	yes
-CONFIGURE_ENV+=	CPPFLAGS="-I${LOCALBASE}/include/tcl${TCL_VER}/unix\
-		-I${LOCALBASE}/include/tcl${TCL_VER}/generic"
-CONFIGURE_ARGS= --enable-shared \
+CONFIGURE_ENV+=	CPPFLAGS="-I${TCL_INCLUDEDIR}/unix\
+		-I${TCL_INCLUDEDIR}/generic"
+CONFIGURE_ARGS=	--enable-shared \
 		--with-help=Help \
-		--with-tcl="${LOCALBASE}/lib/tcl${TCL_VER}"
+		--with-tcl="${TCL_LIBDIR}"
 PLIST_SUB=	TCLX_VER=${PORTVERSION}
-ALL_TARGET=	binaries libraries test
+ALL_TARGET=	binaries libraries
 INSTALL_TARGET=	install-binaries install-libraries
 .ifndef(NOPORTDOCS)
 ALL_TARGET+=	doc
 INSTALL_TARGET+=install-help
 .endif
 
-MAN3=   CmdWrite.3 Handles.3 Keylist.3 ObjCmdWrite.3 TclXInit.3
+MAN3=	CmdWrite.3 Handles.3 Keylist.3 ObjCmdWrite.3 TclXInit.3
 MANN=	TclX.n
 
 MLINKS=	CmdWrite.3	TclCommandWriting.3	\
@@ -51,15 +49,28 @@
 MLINKS+=	TclXInit.3	$l.3
 .endfor
 
+.include <bsd.port.pre.mk>
+
+pre-configure:
+.if exists(${TCL_LIBDIR}/tclConfig-threads.sh)
+	${REINPLACE_CMD} -e 's|tclConfig.sh|tclConfig-threads.sh|'	\
+		${WRKSRC}/${CONFIGURE_SCRIPT}
+.endif
+	${REINPLACE_CMD} -e 's|-lpthread|${PTHREAD_LIBS}|'	\
+		${WRKSRC}/${CONFIGURE_SCRIPT}
+
 post-configure:
 	${REINPLACE_CMD} -e	\
-	    's,^TCLSH_PROG.*,TCLSH_PROG=${LOCALBASE}/bin/tclsh${TCL_VER},' \
+	    's,^TCLSH_PROG.*,TCLSH_PROG=${TCLSH},' \
 	    -e 's,TCL_LIBRARY=.*,\\,' ${WRKSRC}/Makefile
 	# Disabling the failing help.test
-	mv ${WRKSRC}/tests/help.test ${WRKSRC}/tests/help.test.dis
+	${MV} ${WRKSRC}/tests/help.test ${WRKSRC}/tests/help.test.dis
 
 pre-su-install:
 	cd ${WRKSRC}/doc && ${INSTALL_MAN} ${MAN3} ${PREFIX}/man/man3
 	cd ${WRKSRC}/doc && ${INSTALL_MAN} ${MANN} ${PREFIX}/man/mann
 
-.include <bsd.port.mk>
+regression-test:
+	@(cd ${BUILD_WRKSRC}; ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_FLAGS} ${MAKEFILE} ${MAKE_ARGS} test)
+
+.include <bsd.port.post.mk>
diff -urN lang/tclX.orig/files/patch-af lang/tclX/files/patch-af
--- lang/tclX.orig/files/patch-af	Fri Jun 30 22:20:18 2006
+++ lang/tclX/files/patch-af	Sun Mar 25 17:07:57 2007
@@ -1,6 +1,7 @@
---- unix/tools/bldmanhelp.tcl	Thu Dec  2 15:33:05 2004
-+++ unix/tools/bldmanhelp.tcl	Mon Jun 26 19:51:14 2006
-@@ -12,8 +12,7 @@
+--- ./unix/tools/bldmanhelp.tcl.orig	Thu Dec  2 21:33:05 2004
++++ ./unix/tools/bldmanhelp.tcl	Sun Mar 25 17:07:36 2007
+@@ -11,10 +11,9 @@
+ #
  # The command line is:
  #
 -#   bldmanhelp docdir maninfo helpdir
@@ -10,13 +11,18 @@
 -#    o docdir is the directory containing the manual pages.
  #    o maninfo is the path to a file that when sources returns a list of
  #      entries describing manual pages to convert.  Each entry is a list
-@@ -70,15 +69,27 @@
+ #      of manual file and the path of the help file to generate.
+@@ -69,17 +68,32 @@
+ proc CopyManPage {manPage outFH} {
      global skipSection
  
 -    set stat [catch {
 -        open $manPage
 -    } fh]
 +    set section [lindex [split $manPage .] end]
++    if {$section == "macros"} {
++      return
++    }
 +    set manPage [file rootname $manPage]
 +    set manPage [split [exec man -w $section $manPage] ":)"]
 +    if {[llength $manPage] > 1} { # Get the source, not from cat
@@ -42,7 +48,9 @@
 +	    {.so man.macros} {}
              .so* {
                  CopyManPage [lindex $line 1] $outFH
-@@ -120,9 +131,8 @@
+             }
+@@ -119,11 +133,10 @@
+ # for input to buildhelp.
  #
  
 -proc GenInputFile {docDir manInfoTbl tmpFile} {
@@ -53,16 +61,19 @@
 -   cd $docDir
  
     foreach ent $manInfoTbl {
-@@ -145,5 +155,4 @@
+        puts stdout "    preprocessing $ent"
+@@ -144,13 +157,12 @@
+ 
  set tmpFile "bldmanhelp.tmp"
  
 -set docDir [lindex $argv 0]
  set manInfoTbl [source [lindex $argv 1]]
  set helpDir [lindex $argv 2]
-@@ -151,5 +160,5 @@
+ set brief [lindex $argv 3]
  
  puts stdout "Begin preprocessing UCB manual files"
 -GenInputFile $docDir $manInfoTbl $tmpFile
 +GenInputFile $manInfoTbl $tmpFile
  
  buildhelp $helpDir $brief [list $tmpFile]
+ 
diff -urN lang/tclX.orig/files/patch-configure lang/tclX/files/patch-configure
--- lang/tclX.orig/files/patch-configure	Thu Jan  1 01:00:00 1970
+++ lang/tclX/files/patch-configure	Sun Mar 25 15:35:24 2007
@@ -0,0 +1,11 @@
+--- configure.orig	Sat Oct  8 01:17:50 2005
++++ configure	Sun Mar 25 15:34:58 2007
+@@ -6917,7 +6917,7 @@
+         fi
+     else
+         # tclConfig.sh is in $INSTALL/lib directory
+-        REAL_TCL_BIN_DIR=`cd ${TCL_BIN_DIR}/../bin/;pwd`
++        REAL_TCL_BIN_DIR=`cd ${TCL_BIN_DIR}/../../bin/;pwd`
+         if test "$TEA_PLATFORM" = "windows"; then
+             TCLSH_PROG=${REAL_TCL_BIN_DIR}/tclsh${TCL_MAJOR_VERSION}${TCL_MINOR_VERSION}${TCL_DBGX}${EXEEXT}
+         else
--- tclX.diff ends here ---

>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list