git: c6d8fb35db81 - main - textproc/libxmlb: New port - Library to help create and query binary XML blobs
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 04 Mar 2022 05:18:02 UTC
The branch main has been updated by tcberner:
URL: https://cgit.FreeBSD.org/ports/commit/?id=c6d8fb35db81eaa939c3354462ce16171f8ffb98
commit c6d8fb35db81eaa939c3354462ce16171f8ffb98
Author: Tobias C. Berner <tcberner@FreeBSD.org>
AuthorDate: 2022-03-04 05:09:04 +0000
Commit: Tobias C. Berner <tcberner@FreeBSD.org>
CommitDate: 2022-03-04 05:16:56 +0000
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
---
textproc/Makefile | 1 +
textproc/libxmlb/Makefile | 20 +++++++++++++++
textproc/libxmlb/distinfo | 3 +++
textproc/libxmlb/pkg-descr | 10 ++++++++
textproc/libxmlb/pkg-plist | 62 ++++++++++++++++++++++++++++++++++++++++++++++
5 files changed, 96 insertions(+)
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