svn commit: r388573 - in head/devel: . critcl tcllib tcllibc
Mikhail Teterin
mi at FreeBSD.org
Fri Jun 5 07:26:30 UTC 2015
Author: mi
Date: Fri Jun 5 07:26:27 2015
New Revision: 388573
URL: https://svnweb.freebsd.org/changeset/ports/388573
Log:
Split the compiled pieces out of tcllib into a slave port of its own to avoid
a circular dependency: compiling C-files of tcllib requires critcl, but critcl
requires the cmdline (pure-Tcl) component of tcllib.
PR: 195863, 200612
Approved by: gahr (blanket)
Added:
head/devel/tcllibc/
head/devel/tcllibc/Makefile (contents, props changed)
head/devel/tcllibc/pkg-descr (contents, props changed)
head/devel/tcllibc/pkg-plist (contents, props changed)
Modified:
head/devel/Makefile
head/devel/critcl/Makefile
head/devel/tcllib/Makefile
head/devel/tcllib/pkg-descr
head/devel/tcllib/pkg-plist
Modified: head/devel/Makefile
==============================================================================
--- head/devel/Makefile Fri Jun 5 07:23:15 2015 (r388572)
+++ head/devel/Makefile Fri Jun 5 07:26:27 2015 (r388573)
@@ -4918,6 +4918,7 @@
SUBDIR += tclgetopts
SUBDIR += tcllauncher
SUBDIR += tcllib
+ SUBDIR += tcllibc
SUBDIR += tclmore
SUBDIR += tcloo
SUBDIR += tclreadline
Modified: head/devel/critcl/Makefile
==============================================================================
--- head/devel/critcl/Makefile Fri Jun 5 07:23:15 2015 (r388572)
+++ head/devel/critcl/Makefile Fri Jun 5 07:26:27 2015 (r388573)
@@ -3,7 +3,7 @@
PORTNAME= critcl
PORTVERSION= 3.1.12
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MAINTAINER= tcltk at FreeBSD.org
@@ -14,7 +14,8 @@ LICENSE_NAME= Tcl/Tk License
LICENSE_FILE= ${WRKSRC}/license.terms
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-RUN_DEPENDS= ${LOCALBASE}/lib/Trf/pkgIndex.tcl:${PORTSDIR}/devel/tcl-trf
+RUN_DEPENDS= ${LOCALBASE}/lib/Trf/pkgIndex.tcl:${PORTSDIR}/devel/tcl-trf \
+ ${LOCALBASE}/lib/tcllib/cmdline/pkgIndex.tcl:${PORTSDIR}/devel/tcllib
USES+= tcl
USE_GITHUB= yes
Modified: head/devel/tcllib/Makefile
==============================================================================
--- head/devel/tcllib/Makefile Fri Jun 5 07:23:15 2015 (r388572)
+++ head/devel/tcllib/Makefile Fri Jun 5 07:26:27 2015 (r388573)
@@ -16,19 +16,15 @@ LICENSE_NAME= Tcl/Tk License
LICENSE_FILE= ${WRKSRC}/license.terms
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-BUILD_DEPENDS= critcl:${PORTSDIR}/devel/critcl
-
OPTIONS_DEFINE= DOCS MANPAGES
WRKSRC= ${WRKDIR}/tcllib-tcllib_${DISTVERSION}
USES+= tcl
GNU_CONFIGURE= yes
CONFIGURE_ENV+= ac_cv_path_tclsh="${TCLSH}"
-ALL_TARGET= critcl
MAKE_ENV+= LANG=C
PORTDOCS= *
REINPLACE_ARGS= -i'""'
-PLIST_SUB+= BINARCH=${OPSYS:tl}-${ARCH:S/i386/ix86/}
INSTALL_ARGS= -pkgs -pkg-path ${STAGEDIR}${PREFIX}/lib/tcllib \
-apps -app-path ${STAGEDIR}${PREFIX}/bin \
@@ -39,7 +35,7 @@ INSTALL_ARGS= -pkgs -pkg-path ${STAGEDIR
#
# Man pages
#
-.if ${PORT_OPTIONS:MMANPAGES}
+.if ${PORT_OPTIONS:MMANPAGES} && !(defined(ALL_TARGET) && ${ALL_TARGET:Mcritcl})
ALL_TARGET+= nroff-doc
INSTALL_ARGS+= -nroff-path ${STAGEDIR}${PREFIX}/man/mann
PLIST_SUB+= MAN=""
@@ -51,13 +47,14 @@ PLIST_SUB+= MAN="@comment "
#
# HTML documentation
#
-.if ${PORT_OPTIONS:MDOCS}
+.if ${PORT_OPTIONS:MDOCS} && !(defined(ALL_TARGET) && ${ALL_TARGET:Mcritcl})
ALL_TARGET+= html-doc
INSTALL_ARGS+= -html-path ${STAGEDIR}${DOCSDIR}
.else
INSTALL_ARGS+= -no-html
.endif
+.if !target(post-patch)
post-patch:
#
# Ensure, the detailed output of vendors' self-tests is
@@ -96,12 +93,12 @@ post-patch:
for man in `${FIND} . -name "*.n"`; do \
${MV} $$man `echo $$man | ${SED} -e 's|n$$|tcllib.n|'`; \
done
- cd ${WRKSRC}/modules/json/c && ${YACC} -b json json.y
+.endif
+.if !target(do-install)
do-install:
cd ${WRKSRC} && ${TCLSH} ./installer.tcl ${INSTALL_ARGS}
- ${RM} ${WRKSRC}/modules/tcllibc/license.terms
- ${CP} -Rp ${WRKSRC}/modules/tcllibc ${STAGEDIR}${PREFIX}/lib/tcllib/
+.endif
test check regression-test: build
cd ${WRKSRC} && ${SETENV} LANG=C LC_ALL=C DISPLAY= ${MAKE} test
Modified: head/devel/tcllib/pkg-descr
==============================================================================
--- head/devel/tcllib/pkg-descr Fri Jun 5 07:23:15 2015 (r388572)
+++ head/devel/tcllib/pkg-descr Fri Jun 5 07:26:27 2015 (r388573)
@@ -9,4 +9,8 @@ documentation at
to get the idea.
+This port installs pure-Tcl versions of the modules only.
+C-implementations -- for some of the modules -- can be added by
+installing devel/tcllibc port.
+
WWW: http://tcllib.sourceforge.net/
Modified: head/devel/tcllib/pkg-plist
==============================================================================
--- head/devel/tcllib/pkg-plist Fri Jun 5 07:23:15 2015 (r388572)
+++ head/devel/tcllib/pkg-plist Fri Jun 5 07:26:27 2015 (r388573)
@@ -554,10 +554,6 @@ lib/tcllib/struct/tree_c.tcl
lib/tcllib/struct/tree_tcl.tcl
lib/tcllib/tar/pkgIndex.tcl
lib/tcllib/tar/tar.tcl
-lib/tcllib/tcllibc/critcl-rt.tcl
-lib/tcllib/tcllibc/%%BINARCH%%/tcllibc.so
-lib/tcllib/tcllibc/pkgIndex.tcl
-lib/tcllib/tcllibc/teapot.txt
lib/tcllib/tepam/pkgIndex.tcl
lib/tcllib/tepam/tepam.tcl
lib/tcllib/tepam/tepam_doc_gen.tcl
Added: head/devel/tcllibc/Makefile
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/tcllibc/Makefile Fri Jun 5 07:26:27 2015 (r388573)
@@ -0,0 +1,25 @@
+# Created by: Mikhail Teterin <mi at aldan.algebra.com>
+# $FreeBSD$
+
+PKGNAMESUFFIX= c
+
+COMMENT= Compiled implementations of some of the modules of Tcllib
+
+BUILD_DEPENDS= critcl:${PORTSDIR}/devel/critcl
+
+MASTERDIR= ${.CURDIR:H}/tcllib
+TMPPLIST= ${WRKDIR}/PLIST
+DESCR= ${.CURDIR}/pkg-descr
+ALL_TARGET= critcl
+
+post-patch:
+ cd ${WRKSRC}/modules/json/c && ${YACC} -b json json.y
+
+do-install:
+ ${RM} -f ${WRKSRC}/modules/tcllibc/license.terms
+ ${MKDIR} ${STAGEDIR}${PREFIX}/lib/tcllib
+ ${MV} ${WRKSRC}/modules/tcllibc ${STAGEDIR}${PREFIX}/lib/tcllib/
+ ${SED} -e s,%%PLATFORM%%,`${LOCALBASE}/bin/critcl -show | ${SED} -n 's| *platform *||p'`,\
+ ${.CURDIR}/pkg-plist > ${TMPPLIST}
+
+.include "${MASTERDIR}/Makefile"
Added: head/devel/tcllibc/pkg-descr
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/tcllibc/pkg-descr Fri Jun 5 07:26:27 2015 (r388573)
@@ -0,0 +1,5 @@
+Some of the modules in Tcllib have C-implementations, which are
+considerably faster than the pure-Tcl ones.
+
+This port adds tcllibc, which contains all such available C-versions
+of Tcllib's modules.
Added: head/devel/tcllibc/pkg-plist
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/tcllibc/pkg-plist Fri Jun 5 07:26:27 2015 (r388573)
@@ -0,0 +1,4 @@
+lib/tcllib/tcllibc/critcl-rt.tcl
+lib/tcllib/tcllibc/%%PLATFORM%%/tcllibc.so
+lib/tcllib/tcllibc/pkgIndex.tcl
+lib/tcllib/tcllibc/teapot.txt
More information about the svn-ports-all
mailing list