aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--textproc/libxml2/Makefile42
-rw-r--r--textproc/libxml2/files/patch-encoding.c21
-rw-r--r--textproc/libxml2/pkg-plist4
3 files changed, 36 insertions, 31 deletions
diff --git a/textproc/libxml2/Makefile b/textproc/libxml2/Makefile
index d71d04c9cd14..4c737118242f 100644
--- a/textproc/libxml2/Makefile
+++ b/textproc/libxml2/Makefile
@@ -4,7 +4,7 @@
PORTNAME= libxml2
PORTVERSION= 2.8.0
-PORTREVISION?= 2
+PORTREVISION?= 3
CATEGORIES?= textproc gnome
MASTER_SITES= ftp://xmlsoft.org/libxml2/ \
http://xmlsoft.org/sources/ \
@@ -15,7 +15,6 @@ MAINTAINER?= gnome@FreeBSD.org
COMMENT?= XML parser library for GNOME
.if !defined(REFERENCE_PORT)
-
USE_CSTD= gnu89
GNU_CONFIGURE= yes
USES= pathfix gmake iconv pkgconfig
@@ -27,50 +26,31 @@ CONFIGURE_ARGS?=--with-iconv=${ICONV_PREFIX} \
--without-python
.if !defined(MASTERDIR)
-MAN1= xml2-config.1 xmllint.1 xmlcatalog.1
-MAN3= libxml.3
-
OPTIONS_DEFINE= SCHEMA THREADS MEM_DEBUG XMLLINT_HIST THREAD_ALLOC
OPTIONS_DEFAULT=SCHEMA THREADS
+
SCHEMA_DESC= XML schema support
+SCHEMA_CONFIGURE_WITH= schemas
THREADS_DESC= Threads support
+THREADS_CONFIGURE_WITH= threads
MEM_DEBUG_DESC= Memory debugging (DEVELOPERS ONLY!)
+MEM_DEBUG_CONFIGURE_WITH= mem-debug
XMLLINT_HIST_DESC= History for xmllint
+XMLLINT_HIST_CONFIGURE_WITH= history
THREAD_ALLOC_DESC= Per-thread memory (DEVELOPERS ONLY!)
-
-NO_STAGE= yes
-.include <bsd.port.options.mk>
-
-.if ! ${PORT_OPTIONS:MSCHEMA}
-CONFIGURE_ARGS+= --without-schemas
-.endif
-
-.if ! ${PORT_OPTIONS:MTHREADS}
-CONFIGURE_ARGS+= --without-threads
-.endif
-
-.if ${PORT_OPTIONS:MMEM_DEBUG}
-CONFIGURE_ARGS+= --with-mem-debug
-.endif
-
-.if ${PORT_OPTIONS:MXMLLINT_HIST}
-CONFIGURE_ARGS+= --with-history
-.endif
-
-.if ${PORT_OPTIONS:MTHREAD_ALLOC}
-CONFIGURE_ARGS+= --with-thread-alloc
-.endif
+THREAD_ALLOC_CONFIGURE_WITH= thread-alloc
.endif # !defined(MASTERDIR)
post-patch:
.for d in . doc doc/devhelp doc/examples
@${REINPLACE_CMD} -e '/^install-data-am:/ s|install-data-local||' \
- ${WRKSRC}/${d}/Makefile.in
+ ${WRKSRC}/${d}/Makefile.in
.endfor
.for f in catalog.c xmlcatalog.c xmllint.c doc/xmllint.1
@${REINPLACE_CMD} -e \
- 's|/etc/xml/catalog|${LOCALBASE}/share/xml/catalog|g; \
- s|/etc/sgml/catalog|${LOCALBASE}/share/sgml/catalog|g' ${WRKSRC}/${f}
+ 's|/etc/xml/catalog|${LOCALBASE}/share/xml/catalog|g; \
+ s|/etc/sgml/catalog|${LOCALBASE}/share/sgml/catalog|g' \
+ ${WRKSRC}/${f}
.endfor
# manual patch because WITH_FBSD10_FIX break the python bindings
${FIND} ${WRKSRC} -type f -name configure \
diff --git a/textproc/libxml2/files/patch-encoding.c b/textproc/libxml2/files/patch-encoding.c
new file mode 100644
index 000000000000..c044357a2d27
--- /dev/null
+++ b/textproc/libxml2/files/patch-encoding.c
@@ -0,0 +1,21 @@
+--- encoding.c.orig 2012-05-08 22:55:13.000000000 +0900
++++ encoding.c 2013-11-22 04:59:54.000000000 +0900
+@@ -1789,13 +1789,18 @@
+ const char *icv_in = (const char *) in;
+ char *icv_out = (char *) out;
+ int ret;
++ int one;
+
++ one = 1;
+ if ((out == NULL) || (outlen == NULL) || (inlen == NULL) || (in == NULL)) {
+ if (outlen != NULL) *outlen = 0;
+ return(-1);
+ }
+ icv_inlen = *inlen;
+ icv_outlen = *outlen;
++#ifdef ICONV_SET_ILSEQ_INVALID
++ iconvctl(cd, ICONV_SET_ILSEQ_INVALID, &one);
++#endif
+ ret = iconv(cd, (ICONV_CONST char **) &icv_in, &icv_inlen, &icv_out, &icv_outlen);
+ *inlen -= icv_inlen;
+ *outlen -= icv_outlen;
diff --git a/textproc/libxml2/pkg-plist b/textproc/libxml2/pkg-plist
index c1e7fae18fcc..2d2d90bd6965 100644
--- a/textproc/libxml2/pkg-plist
+++ b/textproc/libxml2/pkg-plist
@@ -55,5 +55,9 @@ lib/libxml2.so
lib/libxml2.so.5
libdata/pkgconfig/libxml-2.0.pc
share/aclocal/libxml.m4
+man/man1/xml2-config.1.gz
+man/man1/xmlcatalog.1.gz
+man/man1/xmllint.1.gz
+man/man3/libxml.3.gz
@dirrm include/libxml2/libxml
@dirrm include/libxml2