diff --git a/devel/tclxml/Makefile b/devel/tclxml/Makefile index 5a8b0cc25bf3..5e4a3caeb2a4 100644 --- a/devel/tclxml/Makefile +++ b/devel/tclxml/Makefile @@ -1,47 +1,47 @@ PORTNAME= tclxml PORTVERSION= 3.3 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= devel tcl MASTER_SITES= LOCAL/bf SF/tclxml/TclXML/${PORTVERSION} MAINTAINER= tcltk@FreeBSD.org COMMENT= API for parsing XML documents using Tcl WWW= https://tclxml.sourceforge.net/ LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE LIB_DEPENDS= libicui18n.so:devel/icu libxslt.so:textproc/libxslt RUN_DEPENDS?= dtplite:devel/tcllib USES= gnome tar:xz tcl:tea TCL_PKG= Tclxml${PORTVERSION} USE_GNOME= libxml2 XML_CONFIG?= ${LOCALBASE}/bin/xml2-config USE_LDCONFIG= ${PREFIX}/lib/${TCL_PKG} CONFIGURE_ARGS+=XML_CONFIG="${XML_CONFIG}" MAKE_ENV+= TCLLIBPATH=${STAGEDIR}/${PREFIX}/lib TEST_TARGET= test PLIST_SUB= PORTVERSION=${PORTVERSION} PORTDOCS= README.xml html.xsl man.macros nroff.xsl tcldoc-1.0.dtd \ tcldom.html tcldom.xml tclxml.css tclxml.html tclxml.xml \ tclxslt.html tclxslt.xml transform.tcl txt.xsl OPTIONS_DEFINE= DOCS post-patch: @${REINPLACE_CMD} -e '/^TCLSH_ENV[[:blank:]]*=/,/[^\]$$/d' \ ${WRKSRC}/Makefile.in @${REINPLACE_CMD} -e 's/FreeBSD-\*/FreeBSD-*|DragonFly-*/g' \ ${WRKSRC}/configure post-install: (cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${MAKE} ${MAKE_ARGS} doc) ${MKDIR} ${STAGEDIR}${DOCSDIR} (cd ${WRKSRC}/doc && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}) .include diff --git a/devel/tclxml/files/patch-Makefile.in b/devel/tclxml/files/patch-Makefile.in index 60196004f4ba..48402ef0711f 100644 --- a/devel/tclxml/files/patch-Makefile.in +++ b/devel/tclxml/files/patch-Makefile.in @@ -1,20 +1,31 @@ --- Makefile.in.orig 2013-03-30 17:17:07 UTC +++ Makefile.in -@@ -423,13 +423,15 @@ +@@ -136,10 +136,6 @@ TCLLIBPATH = $(top_builddir) + EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR) + #EXTRA_PATH = $(top_builddir):$(TCL_BIN_DIR):$(TK_BIN_DIR) + TCLLIBPATH = $(top_builddir) +-TCLSH_ENV = TCL_LIBRARY=`@CYGPATH@ $(TCL_SRC_DIR)/library` \ +- @LD_LIBRARY_PATH_VAR@="$(EXTRA_PATH):$(@LD_LIBRARY_PATH_VAR@)" \ +- PATH="$(EXTRA_PATH):$(PATH)" \ +- TCLLIBPATH="$(TCLLIBPATH)" + # TK_LIBRARY=`@CYGPATH@ $(TK_SRC_DIR)/library` + + TCLSH_PROG = @TCLSH_PROG@ +@@ -423,13 +419,15 @@ install-lib-binaries: @mkdir -p $(DESTDIR)$(pkglibdir) @list='$(lib_BINARIES)'; for p in $$list; do \ if test -f $$p; then \ - echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \ - $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \ stub=`echo $$p|sed -e "s/.*\(stub\).*/\1/"`; \ if test "x$$stub" = "xstub"; then \ + echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkglibdir)/$$p"; \ + $(INSTALL_DATA) $$p $(DESTDIR)$(pkglibdir)/$$p; \ echo " $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p"; \ $(RANLIB_STUB) $(DESTDIR)$(pkglibdir)/$$p; \ else \ + echo " $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p"; \ + $(INSTALL_PROGRAM) $$p $(DESTDIR)$(pkglibdir)/$$p; \ echo " $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p"; \ $(RANLIB) $(DESTDIR)$(pkglibdir)/$$p; \ fi; \ diff --git a/devel/tclxml/files/patch-configure b/devel/tclxml/files/patch-configure index c001f6a49e71..7ec514208aa8 100644 --- a/devel/tclxml/files/patch-configure +++ b/devel/tclxml/files/patch-configure @@ -1,20 +1,33 @@ ---- configure.orig 2022-03-16 21:59:50 UTC +--- configure.orig 2013-03-30 17:17:07 UTC +++ configure -@@ -8580,14 +8580,14 @@ echo "${ECHO_T}$tcl_cv_ld_elf" >&6; } - FreeBSD-*|DragonFly-*) +@@ -8577,17 +8577,17 @@ echo "${ECHO_T}$tcl_cv_ld_elf" >&6; } + UNSHARED_LIB_SUFFIX='${TCL_TRIM_DOTS}.a' + TCL_LIB_VERSIONS_OK=nodots + ;; +- FreeBSD-*) ++ FreeBSD-*|DragonFly-*) # FreeBSD 3.* and greater have ELF. SHLIB_CFLAGS="-fPIC" - SHLIB_LD="ld -Bshareable -x" + SHLIB_LD="${CC} -shared -Wl,-x" SHLIB_LD_LIBS='${LIBS}' SHLIB_SUFFIX=".so" DL_OBJS="tclLoadDl.o" DL_LIBS="" - LDFLAGS="$LDFLAGS -export-dynamic" + LDFLAGS="$LDFLAGS -Wl,-export-dynamic" CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}' - LD_SEARCH_FLAGS='-rpath ${LIB_RUNTIME_DIR}' + LD_SEARCH_FLAGS='-Wl,-rpath ${LIB_RUNTIME_DIR}' if test "${TCL_THREADS}" = "1" ; then # The -pthread needs to go in the CFLAGS, not LIBS LIBS=`echo $LIBS | sed s/-pthread//` +@@ -9267,7 +9267,7 @@ fi + ;; + IRIX*) + ;; +- NetBSD-*|FreeBSD-*) ++ NetBSD-*|FreeBSD-*|DragonFly-*) + ;; + Darwin-*) + ;; diff --git a/devel/tclxml/files/patch-docObj.c b/devel/tclxml/files/patch-docObj.c new file mode 100644 index 000000000000..59f57bf2fedf --- /dev/null +++ b/devel/tclxml/files/patch-docObj.c @@ -0,0 +1,19 @@ +--- docObj.c.orig 2013-03-30 17:17:07 UTC ++++ docObj.c +@@ -1852,9 +1852,13 @@ void + } + + void +-TclXML_libxml2_ErrorHandler (ctx, error) +- void *ctx; /* ignore - depends on context */ +- xmlErrorPtr error; ++TclXML_libxml2_ErrorHandler (void *ctx, ++#if LIBXML_VERSION >= 21200 ++ const xmlError *error ++#else ++ xmlError *error ++#endif ++ ) + { + ThreadSpecificData *tsdPtr = Tcl_GetThreadData(&dataKey, sizeof(ThreadSpecificData)); + Tcl_Obj *objPtr; diff --git a/devel/tclxml/files/patch-include_tclxml-libxml2_tclxml-libxml2Decls.h b/devel/tclxml/files/patch-include_tclxml-libxml2_tclxml-libxml2Decls.h new file mode 100644 index 000000000000..2e8371bf6421 --- /dev/null +++ b/devel/tclxml/files/patch-include_tclxml-libxml2_tclxml-libxml2Decls.h @@ -0,0 +1,31 @@ +--- include/tclxml-libxml2/tclxml-libxml2Decls.h.orig 2013-03-30 17:17:07 UTC ++++ include/tclxml-libxml2/tclxml-libxml2Decls.h +@@ -55,7 +55,12 @@ EXTERN void TclXML_libxml2_ErrorHandler _ANSI_ARGS_(( + TclXML_libxml2_DocumentHandling keep)); + /* 10 */ + EXTERN void TclXML_libxml2_ErrorHandler _ANSI_ARGS_((void * ctx, +- xmlErrorPtr error)); ++#if LIBXML_VERSION >= 21200 ++ const xmlError *error)); ++#else ++ xmlError *error)); ++#endif ++ + /* 11 */ + EXTERN void TclXML_libxml2_ResetError _ANSI_ARGS_(( + Tcl_Interp * interp)); +@@ -93,7 +98,13 @@ typedef struct Tclxml_libxml2Stubs { + int (*tclXML_libxml2_GetTclDocFromNode) _ANSI_ARGS_((Tcl_Interp * interp, xmlNodePtr nodePtr, TclXML_libxml2_Document ** tDocPtrPtr)); /* 7 */ + void (*tclXML_libxml2_DestroyDocument) _ANSI_ARGS_((TclXML_libxml2_Document * tDocPtr)); /* 8 */ + void (*tclXML_libxml2_DocKeep) _ANSI_ARGS_((Tcl_Obj * objPtr, TclXML_libxml2_DocumentHandling keep)); /* 9 */ +- void (*tclXML_libxml2_ErrorHandler) _ANSI_ARGS_((void * ctx, xmlErrorPtr error)); /* 10 */ ++ void (*tclXML_libxml2_ErrorHandler) _ANSI_ARGS_((void * ctx, ++#if LIBXML_VERSION >= 21200 ++ const xmlError * error ++#else ++ xmlError * error ++#endif ++ )); /* 10 */ + void (*tclXML_libxml2_ResetError) _ANSI_ARGS_((Tcl_Interp * interp)); /* 11 */ + Tcl_Obj * (*tclXML_libxml2_GetErrorObj) _ANSI_ARGS_((Tcl_Interp * interp)); /* 12 */ + void (*tclXML_libxml2_SetErrorNodeFunc) _ANSI_ARGS_((Tcl_Interp * interp, TclXML_ErrorNodeHandlerProc * proc)); /* 13 */ diff --git a/devel/tclxml/files/patch-tclxml.c b/devel/tclxml/files/patch-tclxml.c new file mode 100644 index 000000000000..bb461a274c7b --- /dev/null +++ b/devel/tclxml/files/patch-tclxml.c @@ -0,0 +1,11 @@ +--- tclxml.c.orig 2013-03-30 17:17:07 UTC ++++ tclxml.c +@@ -20,6 +20,8 @@ + #include + #include + ++int Tcldom_libxml2_Init ( Tcl_Interp *interp ); ++ + #define TCL_DOES_STUBS \ + (TCL_MAJOR_VERSION > 8 || TCL_MAJOR_VERSION == 8 && (TCL_MINOR_VERSION > 1 || \ + (TCL_MINOR_VERSION == 1 && TCL_RELEASE_LEVEL == TCL_FINAL_RELEASE)))