Import tDOM 0.9.0.

ok sthen@


A fast XML/DOM/XPath/XSLT/HTML/JSON extension for Tcl.

Combines high performance XML data processing with
easy and powerful Tcl scripting functionality.

Includes the tdomhtml extension which implements a simple HTML
layer on top of the core DOM Level-1 specification.

Features:

 * A Tcl interface to expat for event-like (SAX-like) XML parsing.

 * A complete, compliant and fast XPath implementation in C
   following the November 99 W3C recommendation for navigation
   and data extraction.

 * A fast XSLT implementation in C following the W3C
   Recommendation 16 November 1999.

 * DTD validation.

 * A JSON parser that parses any possible JSON input into a DOM
   tree without losing information.

 * An efficient and Tcl'ish way to create XML and HTML documents
   and JSON strings.

 * An even faster simple XML parser for trusted XML input.
This commit is contained in:
stu 2018-06-12 15:44:28 +00:00
parent 19fa50473e
commit 100fd8b54c
7 changed files with 178 additions and 0 deletions

49
textproc/tdom/Makefile Normal file
View File

@ -0,0 +1,49 @@
# $OpenBSD: Makefile,v 1.1.1.1 2018/06/12 15:44:28 stu Exp $
COMMENT = fast XML/DOM/XPath/XSLT/HTML/JSON extension for Tcl
V = 0.9.0
VER = ${V:S/.//g}
DISTNAME = tdom-${V}
SHARED_LIBS = tdom${VER} 0.0
CATEGORIES = textproc
HOMEPAGE = http://www.tdom.org/
MAINTAINER = Stuart Cassoff <stwo@users.sourceforge.net>
# MPL 1.1
PERMIT_PACKAGE_CDROM = Yes
MASTER_SITES = ${HOMEPAGE:=downloads/}
EXTRACT_SUFX = -src.tgz
WANTLIB = expat
MODULES = lang/tcl
MODTCL_VERSION = 8.6
BUILD_DEPENDS = ${MODTCL_BUILD_DEPENDS}
RUN_DEPENDS = ${MODTCL_RUN_DEPENDS}
FAKE_FLAGS = PKG_DIR=tdom \
pkglibdir='$$(libdir)/tcl/$$(PKG_DIR)' \
'INSTALL_PROGRAM = $${INSTALL} -m 755' \
'INSTALL_DATA = $${INSTALL} -m 644'
SEPARATE_BUILD = Yes
CONFIGURE_STYLE = gnu
CONFIGURE_ARGS += --with-tcl=${MODTCL_LIBDIR} \
--with-expat=/usr \
--disable-rpath \
SHLIB_VERSION=${LIBtdom${VER}_VERSION}
TEST_TARGET = test
SUBST_VARS = VER
post-install:
${INSTALL_DATA_DIR} ${DESTDIR}${MODTCL_MODDIR}/86
${INSTALL_DATA} ${WRKSRC}/extensions/tdomhtml/tdomhtml.tcl \
${DESTDIR}${MODTCL_MODDIR}/86/tdomhtml-0.1.0.tm
.include <bsd.port.mk>

2
textproc/tdom/distinfo Normal file
View File

@ -0,0 +1,2 @@
SHA256 (tdom-0.9.0-src.tgz) = IB5/Gw3yix8ZIdnsGPH/1aG1WMBQnFTIgga2WoG6J0A=
SIZE (tdom-0.9.0-src.tgz) = 1065288

View File

@ -0,0 +1,43 @@
$OpenBSD: patch-Makefile_in,v 1.1.1.1 2018/06/12 15:44:28 stu Exp $
Install to OpenBSD locations and adjust pkgIndex.tcl accordingly.
Index: Makefile.in
--- Makefile.in.orig
+++ Makefile.in
@@ -407,12 +407,12 @@ install-lib-binaries: binaries
@$(INSTALL_DATA_DIR) $(DESTDIR)$(pkglibdir)
@list='$(lib_BINARIES)'; for p in $$list; do \
if test -f $$p; then \
- echo " $(INSTALL_LIBRARY) $$p $(DESTDIR)$(pkglibdir)/$$p"; \
- $(INSTALL_LIBRARY) $$p $(DESTDIR)$(pkglibdir)/$$p; \
+ echo " $(INSTALL_LIBRARY) $$p $(DESTDIR)$(libdir)/$$p"; \
+ $(INSTALL_LIBRARY) $$p $(DESTDIR)$(libdir)/$$p; \
stub=`echo $$p|sed -e "s/.*\(stub\).*/\1/"`; \
if test "x$$stub" = "xstub"; then \
- echo " $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p"; \
- $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p; \
+ echo " $(RANLIB_STUB) $(DESTDIR)$(libdir)/$$p"; \
+ $(RANLIB_STUB) $(DESTDIR)$(libdir)/$$p; \
else \
echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \
$(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \
@@ -427,8 +427,8 @@ install-lib-binaries: binaries
fi; \
fi; \
done
- @echo "Installing tdomConfig.sh to $(DESTDIR)$(libdir)/"
- @$(INSTALL_DATA) tdomConfig.sh "$(DESTDIR)$(libdir)/tdomConfig.sh"
+ @echo "Installing tdomConfig.sh to $(DESTDIR)$(pkglibdir)/"
+ @$(INSTALL_DATA) tdomConfig.sh "$(DESTDIR)$(pkglibdir)/tdomConfig.sh"
@list='$(PKG_TCL_SOURCES)'; for p in $$list; do \
if test -f $(srcdir)/$$p; then \
destp=`basename $$p`; \
@@ -438,6 +438,7 @@ install-lib-binaries: binaries
done
@if test "x$(SHARED_BUILD)" = "x1"; then \
echo " Install pkgIndex.tcl $(DESTDIR)$(pkglibdir)"; \
+ perl -pi -e 's!dir lib!dir .. .. lib!' pkgIndex.tcl; \
$(INSTALL_DATA) pkgIndex.tcl $(DESTDIR)$(pkglibdir); \
fi

View File

@ -0,0 +1,16 @@
$OpenBSD: patch-configure,v 1.1.1.1 2018/06/12 15:44:28 stu Exp $
Do this here so it propagates through everything.
Index: configure
--- configure.orig
+++ configure
@@ -9131,7 +9131,7 @@ TDOMSHELL=tcldomsh
#--------------------------------------------------------------------
# pkglibdir must be a fully qualified path and (not ${exec_prefix}/lib)
- eval pkglibdir="${libdir}/${PACKAGE_NAME}${PACKAGE_VERSION}"
+ eval pkglibdir="${libdir}"
if test "${TCL_LIB_VERSIONS_OK}" = "ok"; then
eval PKG_STUB_LIB_FLAG="-l${PACKAGE_NAME}stub${PACKAGE_VERSION}"
else

View File

@ -0,0 +1,26 @@
$OpenBSD: patch-extensions_tdomhtml_tdomhtml_tcl,v 1.1.1.1 2018/06/12 15:44:28 stu Exp $
Just do it.
Index: extensions/tdomhtml/tdomhtml.tcl
--- extensions/tdomhtml/tdomhtml.tcl.orig
+++ extensions/tdomhtml/tdomhtml.tcl
@@ -52,17 +52,7 @@
package require tdom
-#
-# Caller (usually our pkgIndex.tcl loader) will supply the package
-# version by defining the _V_ variable before sourcing this file.
-# For all other cases, we just provide the no-version package.
-#
-
-if {[info exists _V_] == 0} {
- package provide tdomhtml
-} else {
- package provide tdomhtml $_V_
-}
+package provide tdomhtml 0.1.0
#
# Declare HTML generating commands

26
textproc/tdom/pkg/DESCR Normal file
View File

@ -0,0 +1,26 @@
Combines high performance XML data processing with
easy and powerful Tcl scripting functionality.
Includes the tdomhtml extension which implements a simple HTML
layer on top of the core DOM Level-1 specification.
Features:
* A Tcl interface to expat for event-like (SAX-like) XML parsing.
* A complete, compliant and fast XPath implementation in C
following the November 99 W3C recommendation for navigation
and data extraction.
* A fast XSLT implementation in C following the W3C
Recommendation 16 November 1999.
* DTD validation.
* A JSON parser that parses any possible JSON input into a DOM
tree without losing information.
* An efficient and Tcl'ish way to create XML and HTML documents
and JSON strings.
* An even faster simple XML parser for trusted XML input.

16
textproc/tdom/pkg/PLIST Normal file
View File

@ -0,0 +1,16 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2018/06/12 15:44:28 stu Exp $
include/tdom.h
@lib lib/libtdom${VER}.so.${LIBtdom${VER}_VERSION}
lib/libtdomstub${VER}.a
lib/tcl/modules/86/tdomhtml-0.1.0.tm
lib/tcl/tdom/
lib/tcl/tdom/pkgIndex.tcl
lib/tcl/tdom/tdom.tcl
lib/tcl/tdom/tdomConfig.sh
@man man/mann/dom.n
@man man/mann/domDoc.n
@man man/mann/domNode.n
@man man/mann/expat.n
@man man/mann/expatapi.n
@man man/mann/tdomcmd.n
@man man/mann/tnc.n