aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--devel/Makefile1
-rw-r--r--devel/critcl/Makefile5
-rw-r--r--devel/tcllib/Makefile15
-rw-r--r--devel/tcllib/pkg-descr4
-rw-r--r--devel/tcllib/pkg-plist4
-rw-r--r--devel/tcllibc/Makefile25
-rw-r--r--devel/tcllibc/pkg-descr5
-rw-r--r--devel/tcllibc/pkg-plist4
8 files changed, 48 insertions, 15 deletions
diff --git a/devel/Makefile b/devel/Makefile
index 8592bf6cf55..7f58ead10a7 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4918,6 +4918,7 @@
SUBDIR += tclgetopts
SUBDIR += tcllauncher
SUBDIR += tcllib
+ SUBDIR += tcllibc
SUBDIR += tclmore
SUBDIR += tcloo
SUBDIR += tclreadline
diff --git a/devel/critcl/Makefile b/devel/critcl/Makefile
index d3fdfbc196d..e8656cbcc6f 100644
--- a/devel/critcl/Makefile
+++ b/devel/critcl/Makefile
@@ -3,7 +3,7 @@
PORTNAME= critcl
PORTVERSION= 3.1.12
-PORTREVISION= 2
+PORTREVISION= 3
CATEGORIES= devel
MAINTAINER= tcltk@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
diff --git a/devel/tcllib/Makefile b/devel/tcllib/Makefile
index e54885bffb4..5f73877364b 100644
--- a/devel/tcllib/Makefile
+++ b/devel/tcllib/Makefile
@@ -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}${PREFIX}/lib/tcllib \
#
# 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
diff --git a/devel/tcllib/pkg-descr b/devel/tcllib/pkg-descr
index 724a9786244..826a1c12523 100644
--- a/devel/tcllib/pkg-descr
+++ b/devel/tcllib/pkg-descr
@@ -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/
diff --git a/devel/tcllib/pkg-plist b/devel/tcllib/pkg-plist
index 66932c9430a..60fdd5746c6 100644
--- a/devel/tcllib/pkg-plist
+++ b/devel/tcllib/pkg-plist
@@ -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
diff --git a/devel/tcllibc/Makefile b/devel/tcllibc/Makefile
new file mode 100644
index 00000000000..e4931ddc8e7
--- /dev/null
+++ b/devel/tcllibc/Makefile
@@ -0,0 +1,25 @@
+# Created by: Mikhail Teterin <mi@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"
diff --git a/devel/tcllibc/pkg-descr b/devel/tcllibc/pkg-descr
new file mode 100644
index 00000000000..e5bd2c2900b
--- /dev/null
+++ b/devel/tcllibc/pkg-descr
@@ -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.
diff --git a/devel/tcllibc/pkg-plist b/devel/tcllibc/pkg-plist
new file mode 100644
index 00000000000..98c4d4f9521
--- /dev/null
+++ b/devel/tcllibc/pkg-plist
@@ -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