aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTobias C. Berner <tcberner@FreeBSD.org>2022-03-04 05:09:04 +0000
committerTobias C. Berner <tcberner@FreeBSD.org>2022-03-04 05:16:56 +0000
commitc6d8fb35db81eaa939c3354462ce16171f8ffb98 (patch)
tree06aead9cb1b2c6334c619ba0a048a5df5088d1c8
parentc0fea4b10f445059f9456439fe82479eec0d00b2 (diff)
textproc/libxmlb: New port - Library to help create and query binary XML blobs
XML is slow to parse and strings inside the document cannot be memory mapped as they do not have a trailing NUL char. The libxmlb library takes XML source, and converts it to a structured binary representation with a deduplicated string table -- where the strings have the NULs included. This allows an application to mmap the binary XML file, do an XPath query and return some strings without actually parsing the entire document. This is all done using (almost) zero allocations and no actual copying of the binary data. WWW: https://github.com/hughsie/libxmlb PR: 258541
-rw-r--r--textproc/Makefile1
-rw-r--r--textproc/libxmlb/Makefile20
-rw-r--r--textproc/libxmlb/distinfo3
-rw-r--r--textproc/libxmlb/pkg-descr10
-rw-r--r--textproc/libxmlb/pkg-plist62
5 files changed, 96 insertions, 0 deletions
diff --git a/textproc/Makefile b/textproc/Makefile
index 1df606532a40..4061d74103a3 100644
--- a/textproc/Makefile
+++ b/textproc/Makefile
@@ -409,6 +409,7 @@
SUBDIR += libxdiff
SUBDIR += libxml++26
SUBDIR += libxml2
+ SUBDIR += libxmlb
SUBDIR += libxmlbird
SUBDIR += libxode
SUBDIR += libxslt
diff --git a/textproc/libxmlb/Makefile b/textproc/libxmlb/Makefile
new file mode 100644
index 000000000000..1c546add1dc1
--- /dev/null
+++ b/textproc/libxmlb/Makefile
@@ -0,0 +1,20 @@
+PORTNAME= libxmlb
+DISTVERSION= 0.3.6
+CATEGORIES= textproc
+
+MAINTAINER= desktop@FreeBSD.org
+COMMENT= Library to help create and query binary XML blobs
+
+LICENSE= LGPL21
+
+BUILD_DEPENDS= gtkdoc-scan:textproc/gtk-doc
+LIB_DEPENDS= libstemmer.so:textproc/snowballstemmer
+
+USES= gnome meson pkgconfig localbase:ldflags
+USE_GITHUB= yes
+GH_ACCOUNT= hughsie
+USE_GNOME= glib20 introspection:build
+
+MESON_ARGS= -Dstemmer=true
+
+.include <bsd.port.mk>
diff --git a/textproc/libxmlb/distinfo b/textproc/libxmlb/distinfo
new file mode 100644
index 000000000000..ff2d6125997b
--- /dev/null
+++ b/textproc/libxmlb/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1646369692
+SHA256 (hughsie-libxmlb-0.3.6_GH0.tar.gz) = cb529d055c63d705bafd17b5fab8e36153292533668a0aba853514ed0e42862c
+SIZE (hughsie-libxmlb-0.3.6_GH0.tar.gz) = 118521
diff --git a/textproc/libxmlb/pkg-descr b/textproc/libxmlb/pkg-descr
new file mode 100644
index 000000000000..b9b3b9fb6d21
--- /dev/null
+++ b/textproc/libxmlb/pkg-descr
@@ -0,0 +1,10 @@
+XML is slow to parse and strings inside the document cannot be memory mapped as
+they do not have a trailing NUL char. The libxmlb library takes XML source, and
+converts it to a structured binary representation with a deduplicated string
+table -- where the strings have the NULs included.
+
+This allows an application to mmap the binary XML file, do an XPath query and
+return some strings without actually parsing the entire document. This is all
+done using (almost) zero allocations and no actual copying of the binary data.
+
+WWW: https://github.com/hughsie/libxmlb
diff --git a/textproc/libxmlb/pkg-plist b/textproc/libxmlb/pkg-plist
new file mode 100644
index 000000000000..690ff7416eab
--- /dev/null
+++ b/textproc/libxmlb/pkg-plist
@@ -0,0 +1,62 @@
+include/libxmlb-2/libxmlb/xb-builder-fixup.h
+include/libxmlb-2/libxmlb/xb-builder-node.h
+include/libxmlb-2/libxmlb/xb-builder-source-ctx.h
+include/libxmlb-2/libxmlb/xb-builder-source.h
+include/libxmlb-2/libxmlb/xb-builder.h
+include/libxmlb-2/libxmlb/xb-machine.h
+include/libxmlb-2/libxmlb/xb-node-query.h
+include/libxmlb-2/libxmlb/xb-node-silo.h
+include/libxmlb-2/libxmlb/xb-node.h
+include/libxmlb-2/libxmlb/xb-opcode.h
+include/libxmlb-2/libxmlb/xb-query-context.h
+include/libxmlb-2/libxmlb/xb-query.h
+include/libxmlb-2/libxmlb/xb-silo-export.h
+include/libxmlb-2/libxmlb/xb-silo-query.h
+include/libxmlb-2/libxmlb/xb-silo.h
+include/libxmlb-2/libxmlb/xb-stack.h
+include/libxmlb-2/libxmlb/xb-string.h
+include/libxmlb-2/libxmlb/xb-value-bindings.h
+include/libxmlb-2/libxmlb/xb-version.h
+include/libxmlb-2/xmlb.h
+lib/girepository-1.0/Xmlb-2.0.typelib
+lib/libxmlb.so
+lib/libxmlb.so.2
+lib/libxmlb.so.2.0.0
+libdata/pkgconfig/xmlb.pc
+libexec/installed-tests/libxmlb/test.xml.gz.gz.gz
+libexec/installed-tests/libxmlb/xb-self-test
+libexec/xb-tool
+share/gir-1.0/Xmlb-2.0.gir
+share/gtk-doc/html/libxmlb/annotation-glossary.html
+share/gtk-doc/html/libxmlb/api-index-full.html
+share/gtk-doc/html/libxmlb/deprecated-api-index.html
+share/gtk-doc/html/libxmlb/home.png
+share/gtk-doc/html/libxmlb/index.html
+share/gtk-doc/html/libxmlb/intro.html
+share/gtk-doc/html/libxmlb/left-insensitive.png
+share/gtk-doc/html/libxmlb/left.png
+share/gtk-doc/html/libxmlb/libxmlb-XbBuilder.html
+share/gtk-doc/html/libxmlb/libxmlb-XbBuilderFixup.html
+share/gtk-doc/html/libxmlb/libxmlb-XbBuilderNode.html
+share/gtk-doc/html/libxmlb/libxmlb-XbBuilderSource.html
+share/gtk-doc/html/libxmlb/libxmlb-XbBuilderSourceCtx.html
+share/gtk-doc/html/libxmlb/libxmlb-XbMachine.html
+share/gtk-doc/html/libxmlb/libxmlb-XbNode.html
+share/gtk-doc/html/libxmlb/libxmlb-XbQuery.html
+share/gtk-doc/html/libxmlb/libxmlb-XbSilo.html
+share/gtk-doc/html/libxmlb/libxmlb-xb-node-query.html
+share/gtk-doc/html/libxmlb/libxmlb-xb-opcode.html
+share/gtk-doc/html/libxmlb/libxmlb-xb-query-context.html
+share/gtk-doc/html/libxmlb/libxmlb-xb-silo-export.html
+share/gtk-doc/html/libxmlb/libxmlb-xb-silo-query.html
+share/gtk-doc/html/libxmlb/libxmlb-xb-stack.html
+share/gtk-doc/html/libxmlb/libxmlb-xb-string.html
+share/gtk-doc/html/libxmlb/libxmlb-xb-value-bindings.html
+share/gtk-doc/html/libxmlb/libxmlb.devhelp2
+share/gtk-doc/html/libxmlb/libxmlb.html
+share/gtk-doc/html/libxmlb/right-insensitive.png
+share/gtk-doc/html/libxmlb/right.png
+share/gtk-doc/html/libxmlb/style.css
+share/gtk-doc/html/libxmlb/up-insensitive.png
+share/gtk-doc/html/libxmlb/up.png
+share/installed-tests/libxmlb/libxmlb.test