diff options
-rw-r--r-- | www/htmlcxx/DESCR | 20 | ||||
-rw-r--r-- | www/htmlcxx/Makefile | 19 | ||||
-rw-r--r-- | www/htmlcxx/PLIST | 20 | ||||
-rw-r--r-- | www/htmlcxx/buildlink3.mk | 12 | ||||
-rw-r--r-- | www/htmlcxx/distinfo | 7 | ||||
-rw-r--r-- | www/htmlcxx/patches/patch-html_CharsetConverter.cc | 15 | ||||
-rw-r--r-- | www/htmlcxx/patches/patch-html_ci__string.h | 18 |
7 files changed, 111 insertions, 0 deletions
diff --git a/www/htmlcxx/DESCR b/www/htmlcxx/DESCR new file mode 100644 index 00000000000..d877e942d19 --- /dev/null +++ b/www/htmlcxx/DESCR @@ -0,0 +1,20 @@ +htmlcxx is a simple non-validating CSS1 and HTML parser for C++. +Although there are several other HTML parsers available, htmlcxx +has some characteristics that make it unique: + +* STL like navigation of DOM tree, using the excellent tree.hh library + from Kasper Peeters +* It is possible to reproduce exactly, character by character, the + original document from the parse tree +* Bundled css parser +* Optional parsing of attributes +* C++ code that looks like C++ (not so true anymore) +* Offsets of tags/elements in the original document are stored in + the nodes of the DOM tree + +The parsing politics of htmlcxx were created trying to mimic Mozilla +Firefox behavior. So you should expect parse trees similar to those +create by Firefox. However, differently from Firefox, htmlcxx does +not insert non-existent stuff in your html. Therefore, serializing +the DOM tree gives exactly the same bytes contained in the original +HTML document. diff --git a/www/htmlcxx/Makefile b/www/htmlcxx/Makefile new file mode 100644 index 00000000000..c648e62747c --- /dev/null +++ b/www/htmlcxx/Makefile @@ -0,0 +1,19 @@ +# $NetBSD: Makefile,v 1.1 2014/02/16 22:58:51 wiz Exp $ + +DISTNAME= htmlcxx-0.85 +CATEGORIES= www +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=htmlcxx/} + +MAINTAINER= pkgsrc-users@NetBSD.org +HOMEPAGE= http://htmlcxx.sourceforge.net/ +COMMENT= Simple non-validating CSS1 and HTML parser for C++ +LICENSE= gnu-lgpl-v2 AND apache-2.0 + +GNU_CONFIGURE= yes +USE_LIBTOOL= yes +USE_TOOLS+= pkg-config +USE_LANGUAGES= c c++ + +PKGCONFIG_OVERRIDE+= htmlcxx.pc.in + +.include "../../mk/bsd.pkg.mk" diff --git a/www/htmlcxx/PLIST b/www/htmlcxx/PLIST new file mode 100644 index 00000000000..0508026fe1c --- /dev/null +++ b/www/htmlcxx/PLIST @@ -0,0 +1,20 @@ +@comment $NetBSD: PLIST,v 1.1 2014/02/16 22:58:51 wiz Exp $ +bin/htmlcxx +include/htmlcxx/css/parser.h +include/htmlcxx/css/parser_pp.h +include/htmlcxx/html/CharsetConverter.h +include/htmlcxx/html/Extensions.h +include/htmlcxx/html/Node.h +include/htmlcxx/html/ParserDom.h +include/htmlcxx/html/ParserSax.h +include/htmlcxx/html/ParserSax.tcc +include/htmlcxx/html/Uri.h +include/htmlcxx/html/ci_string.h +include/htmlcxx/html/tld.h +include/htmlcxx/html/tree.h +include/htmlcxx/html/utils.h +lib/libcss_parser.la +lib/libcss_parser_pp.la +lib/libhtmlcxx.la +lib/pkgconfig/htmlcxx.pc +share/htmlcxx/css/default.css diff --git a/www/htmlcxx/buildlink3.mk b/www/htmlcxx/buildlink3.mk new file mode 100644 index 00000000000..3fb5b4934cd --- /dev/null +++ b/www/htmlcxx/buildlink3.mk @@ -0,0 +1,12 @@ +# $NetBSD: buildlink3.mk,v 1.1 2014/02/16 22:58:51 wiz Exp $ + +BUILDLINK_TREE+= htmlcxx + +.if !defined(HTMLCXX_BUILDLINK3_MK) +HTMLCXX_BUILDLINK3_MK:= + +BUILDLINK_API_DEPENDS.htmlcxx+= htmlcxx>=0.85 +BUILDLINK_PKGSRCDIR.htmlcxx?= ../../www/htmlcxx +.endif # HTMLCXX_BUILDLINK3_MK + +BUILDLINK_TREE+= -htmlcxx diff --git a/www/htmlcxx/distinfo b/www/htmlcxx/distinfo new file mode 100644 index 00000000000..78c7b66d162 --- /dev/null +++ b/www/htmlcxx/distinfo @@ -0,0 +1,7 @@ +$NetBSD: distinfo,v 1.1 2014/02/16 22:58:51 wiz Exp $ + +SHA1 (htmlcxx-0.85.tar.gz) = e56fef830db51041fd297d269d24379b2dccb928 +RMD160 (htmlcxx-0.85.tar.gz) = d357b4c29127aae7f06da666c004c9db26ef29a4 +Size (htmlcxx-0.85.tar.gz) = 414624 bytes +SHA1 (patch-html_CharsetConverter.cc) = 72204f93fa3639328b73c5bed1841f23c32946c8 +SHA1 (patch-html_ci__string.h) = 71438e4eea290f5934918d1996d0c80eefd5ffe5 diff --git a/www/htmlcxx/patches/patch-html_CharsetConverter.cc b/www/htmlcxx/patches/patch-html_CharsetConverter.cc new file mode 100644 index 00000000000..72dc5fa8a12 --- /dev/null +++ b/www/htmlcxx/patches/patch-html_CharsetConverter.cc @@ -0,0 +1,15 @@ +$NetBSD: patch-html_CharsetConverter.cc,v 1.1 2014/02/16 22:58:51 wiz Exp $ + +Fix build on NetBSD. + +--- html/CharsetConverter.cc.orig 2011-05-15 17:32:10.000000000 +0000 ++++ html/CharsetConverter.cc +@@ -37,7 +37,7 @@ string CharsetConverter::convert(const s + + size_t ret; + while (1) { +- ret = iconv(mIconvDescriptor, const_cast<char**>(&inbuf), &inbytesleft, &outbuf, &outbytesleft); ++ ret = iconv(mIconvDescriptor, (const char**)(&inbuf), &inbytesleft, &outbuf, &outbytesleft); + if (ret == 0) break; + if (ret == (size_t)-1 && errno == E2BIG) return string(); + diff --git a/www/htmlcxx/patches/patch-html_ci__string.h b/www/htmlcxx/patches/patch-html_ci__string.h new file mode 100644 index 00000000000..d31923e0298 --- /dev/null +++ b/www/htmlcxx/patches/patch-html_ci__string.h @@ -0,0 +1,18 @@ +$NetBSD: patch-html_ci__string.h,v 1.1 2014/02/16 22:58:51 wiz Exp $ + +Fix build with clang, from +https://github.com/dhoerl/htmlcxx/ + +--- html/ci_string.h.orig 2011-02-13 22:24:53.000000000 +0000 ++++ html/ci_string.h +@@ -4,7 +4,9 @@ + #include <cctype> + #include <string> + +-#if __GNUC__ >= 3 ++#if __clang_major__ >= 3 ++struct ci_char_traits : public std::char_traits<char> ++#elif __GNUC__ >= 3 + #include <bits/char_traits.h> + struct ci_char_traits : public std::char_traits<char> + #elif defined(__GNUC__) |