ports/109716: [UPDATE] devel/tcllib 1.9
Martin Matuska
martin at matuska.org
Thu Mar 1 13:10:02 UTC 2007
>Number: 109716
>Category: ports
>Synopsis: [UPDATE] devel/tcllib 1.9
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: update
>Submitter-Id: current-users
>Arrival-Date: Thu Mar 01 13:10:01 GMT 2007
>Closed-Date:
>Last-Modified:
>Originator: Martin Matuska
>Release: FreeBSD 6.2-RELEASE i386
>Organization:
>Environment:
System: FreeBSD 6.2-RELEASE i386 amd64
>Description:
Update of tcllib 1.9
- removed support for tcl83 (sak.tcl does not run tests)
- added support for tcl85
- added support for threaded tcl84 and tcl85 (WITH_THREADS)
separate slave port tcllib-thread will be submitted
- added support for tcl85 via USE_TCL_VER=85
- updated to USE_TCL infrastructure
- added configure and pre-build dependencies for make test
- new patches (tcl 8.5 fixes for tests):
files/patch-modules-math-fuzzy.test:
URL: http://tcllib.cvs.sourceforge.net/tcllib/tcllib/modules/math/fuzzy.test?r1=1.5&r2=1.6
files/patch-modules-snit-snit.test:
fixed catch result for tcl 8.5 in: expose-1.1
files/patch-modules-struct-sets.test:
fixed catch result for tcl 8.5 in: set-1.0
Tinderbox log:
http://tinderbox.vx.sk/logs/6.2-FreeBSD-amd64/tcllib-1.9_2.log
portlint -A: no fatal errors
I am interested in maintaining the port so I am asking the maintainer
to pass maintainership to me, if he/she agrees.
>How-To-Repeat:
>Fix:
diff -Nbur devel/tcllib.orig/Makefile devel/tcllib/Makefile
--- devel/tcllib.orig/Makefile Thu Mar 1 13:28:41 2007
+++ devel/tcllib/Makefile Thu Mar 1 13:54:50 2007
@@ -7,24 +7,28 @@
PORTNAME= tcllib
PORTVERSION= 1.9
-PORTREVISION= 1
-CATEGORIES= devel tcl83 tcl84
+PORTREVISION= 2
+CATEGORIES= devel tcl84
MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR= tcllib
+PKGNAMESUFFIX?= ${THREADS_SUFFIX}
MAINTAINER= mi at aldan.algebra.com
COMMENT= A collection of utility modules for Tcl
-BUILD_DEPENDS= tclsh${TCL_VER}:${PORTSDIR}/lang/tcl${TCL_VER:S/.//}
-
-TCL_VER?= 8.4
USE_BZIP2= yes
GNU_CONFIGURE= yes
ALL_TARGET= all
MAKE_ENV+= LANG=C
-SCRIPTS_ENV+= TCL_VER=${TCL_VER} PATCH="${PATCH}"
-PLIST_SUB+= PORTVERSION=${PORTVERSION}
+USE_TCL_VER?= 84
+
+.if ${USE_TCL_VER} != 84 && ${USE_TCL_VER} != 85
+IGNORE= supported values for USE_TCL_VER are only 84 and 85
+.endif
+
+USE_TCL= ${USE_TCL_VER}
+USE_TCL_BUILD= ${USE_TCL_VER}
MANN= aes.n asn.n ansi_cmacros.n ansi_cctrl.n ansi_cattr.n \
ansi_code.n ansi_ctrlu.n ansi_send.n autoproxy.n base32hex.n \
@@ -58,7 +62,38 @@
MANCOMPRESSED= no
+PLIST_SUB+= PORTVERSION=${PORTVERSION}
+
+.include <bsd.port.pre.mk>
+
+. if exists(${TCLSH})
+_TCL_IS_THREADED!= ${ECHO_CMD} 'puts [array names tcl_platform -exact threaded]' | ${TCLSH} || return 0
+. if !defined(TCL_WITH_THREADS) && !defined(WITH_THREADS) && !empty(_TCL_IS_THREADED)
+TCL_WITH_THREADS= yes
+. endif
+. endif
+
+.if defined(TCL_WITH_THREADS) || defined(WITH_THREADS)
+. if defined(_TCL_IS_THREADED) && empty(_TCL_IS_THREADED)
+IGNORE= tcl with threads is required. Please install tcl with WITH_THREADS defined or from lang/tcl${USE_TCL} port and try again
+. endif
+THREADS_SUFFIX= -threads
+USE_TCL= ${USE_TCL_VER}-thread
+USE_TCL_BUILD= ${USE_TCL_VER}-thread
+CONFLICTS= tcllib-1.*
+.include "${PORTSDIR}/Mk/bsd.tcl.mk"
+.else
+CONFLICTS= tcllib-threads-1.*
+.endif
+
+LATEST_LINK= tcllib${THREADS_SUFFIX}
+
+SCRIPTS_ENV+= TCL_VER=${TCL_VER} PATCH="${PATCH}"
+
post-patch:
+ # Ensure that configure looks for the right tclsh
+ @${REINPLACE_CMD} -e 's|\$$dir/tclsh\[8-9\]\*\$${EXEEXT}|${TCLSH}|g' \
+ -e 's|\$$dir/tclsh\*\$${EXEEXT}|${TCLSH}|g' ${WRKSRC}/configure
#
# Ensure, the detailed output of vendors' self-tests is
# available in addition to the pretty progress report:
@@ -66,12 +101,11 @@
${REINPLACE_CMD} -e 's,test run,test run -l testlog,' \
${WRKSRC}/Makefile.in
-.include <bsd.port.pre.mk>
-
RUNTEST= ${SETENV} LANG=C DISPLAY= ${MAKE} -C ${WRKSRC} test
MYID != ${ID} -u
.if ${MYID} == 0
RUNTEST:= ${SU_CMD:S/root/-m nobody/} "${RUNTEST}"
+
pre-build:
#
# Preparing to run the tests as `nobody'
@@ -79,7 +113,7 @@
${FIND} ${WRKSRC} -type d | ${XARGS} ${CHOWN} nobody
.endif
-test:
+test: configure pre-build
@set -x ; if ! ${RUNTEST}; \
then \
${AWK} '$$NF == "FAILED" { echo = 1 } \
diff -Nbur devel/tcllib.orig/files/patch-modules-math-fuzzy.test devel/tcllib/files/patch-modules-math-fuzzy.test
--- devel/tcllib.orig/files/patch-modules-math-fuzzy.test Thu Jan 1 01:00:00 1970
+++ devel/tcllib/files/patch-modules-math-fuzzy.test Wed Feb 28 18:21:24 2007
@@ -0,0 +1,24 @@
+--- modules/math/fuzzy.test 2006/01/24 05:10:01 1.5
++++ modules/math/fuzzy.test 2006/11/07 20:02:34 1.6
+@@ -168,6 +168,12 @@
+ set tol_le 0
+ set tol_lt 0
+
++ #
++ # Force Tcl8.4 or earlier behaviour in expanding numbers
++ #
++ set org_tcl_precision $tcl_precision
++ set tcl_precision 12
++
+ for { set i -1000 } { $i <= 1000 } { incr i } {
+ if { $i == 0 } continue
+
+@@ -192,6 +198,7 @@
+ set equal 0
+ }
+ }
++ set tcl_precision $org_tcl_precision
+ set equal
+ } 0
+
+
diff -Nbur devel/tcllib.orig/files/patch-modules-snit-snit.test devel/tcllib/files/patch-modules-snit-snit.test
--- devel/tcllib.orig/files/patch-modules-snit-snit.test Thu Jan 1 01:00:00 1970
+++ devel/tcllib/files/patch-modules-snit-snit.test Thu Mar 1 12:52:47 2007
@@ -0,0 +1,23 @@
+--- modules/snit/snit.test.orig Thu Mar 1 12:39:28 2007
++++ modules/snit/snit.test Thu Mar 1 12:52:09 2007
+@@ -5784,13 +5784,19 @@
+ #-----------------------------------------------------------------------
+ # expose statement
+
++if {[package vsatisfies [package present Tcl] 8.5]} {
++ set expose_msg "expose"
++} else {
++ set expose_msg "::snit::Comp.statement.expose"
++}
++
+ test expose-1.1 {can't expose nothing} -body {
+ type dog {
+ expose
+ }
+ } -returnCodes {
+ error
+-} -result [tcltest::wrongNumArgs ::snit::Comp.statement.expose {component ?as? ?methodname?} 0]
++} -result [tcltest::wrongNumArgs $expose_msg {component ?as? ?methodname?} 0]
+
+ test expose-1.2 {expose a component that's never installed} -body {
+ type dog {
diff -Nbur devel/tcllib.orig/files/patch-modules-struct-sets.test devel/tcllib/files/patch-modules-struct-sets.test
--- devel/tcllib.orig/files/patch-modules-struct-sets.test Thu Jan 1 01:00:00 1970
+++ devel/tcllib/files/patch-modules-struct-sets.test Thu Mar 1 12:59:16 2007
@@ -0,0 +1,20 @@
+--- modules/struct/sets.test.orig Tue Jan 31 05:57:40 2006
++++ modules/struct/sets.test Thu Mar 1 12:58:55 2007
+@@ -36,10 +36,16 @@
+
+ #----------------------------------------------------------------------
+
++if {[package vsatisfies [package present Tcl] 8.5]} {
++ set setop_msg setop
++} else {
++ set setop_msg ::struct::set::set
++}
++
+ test set-1.0 {nothing} {
+ catch {setop} msg
+ set msg
+-} [tcltest::wrongNumArgs {::struct::set::set} {cmd args} 0]
++} [tcltest::wrongNumArgs $setop_msg {cmd args} 0]
+
+ test set-1.1 {bogus} {
+ catch {setop foo} msg
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list