Index: devel/Makefile =================================================================== --- devel/Makefile +++ devel/Makefile @@ -1220,6 +1220,7 @@ SUBDIR += libgta SUBDIR += libgtop SUBDIR += libgudev + SUBDIR += libgusb SUBDIR += libgutenfetch SUBDIR += libhash SUBDIR += libhid Index: devel/libgusb/Makefile =================================================================== --- /dev/null +++ devel/libgusb/Makefile @@ -0,0 +1,26 @@ +# $FreeBSD$ + +PORTNAME= libgusb +DISTVERSION= 0.3.6 +CATEGORIES= devel + +MAINTAINER= norbert.kaminski@3mdeb.com +COMMENT= GObject wrapper for libusb1 + +LICENSE= LGPL21 + +BUILD_DEPENDS= gobject-introspection>=1.36:devel/gobject-introspection \ + gtkdocize:textproc/gtk-doc \ + vala:lang/vala + +USES= gnome meson pkgconfig python:3.7+ +USE_GITHUB= yes +GH_ACCOUNT= hughsie +USE_GNOME= glib20 +USE_LDCONFIG= yes + +OPTIONS_DEFINE= DOCS + +DOCS_MESON_TRUE= docs + +.include Index: devel/libgusb/distinfo =================================================================== --- /dev/null +++ devel/libgusb/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1616118227 +SHA256 (hughsie-libgusb-0.3.6_GH0.tar.gz) = b81b4587243beaafd304fec6047cb803b47f5df382911d4f722ffcfe7239bd59 +SIZE (hughsie-libgusb-0.3.6_GH0.tar.gz) = 48572 Index: devel/libgusb/files/patch-gusb_gusb-context.c =================================================================== --- /dev/null +++ devel/libgusb/files/patch-gusb_gusb-context.c @@ -0,0 +1,53 @@ +--- gusb/gusb-context.c.orig 2021-03-12 16:08:58 UTC ++++ gusb/gusb-context.c +@@ -444,6 +444,7 @@ g_usb_context_rescan (GUsbContext *context) + libusb_free_device_list (dev_list, 1); + } + ++#ifndef __FreeBSD__ + static gboolean + g_usb_context_rescan_cb (gpointer user_data) + { +@@ -451,6 +452,7 @@ g_usb_context_rescan_cb (gpointer user_data) + g_usb_context_rescan (context); + return TRUE; + } ++#endif + + + /** +@@ -516,12 +518,14 @@ g_usb_context_enumerate (GUsbContext *context) + return; + + g_usb_context_rescan (context); ++#ifndef __FreeBSD__ + if (!libusb_has_capability (LIBUSB_CAP_HAS_HOTPLUG)) { + g_debug ("platform does not do hotplug, using polling"); + priv->hotplug_poll_id = g_timeout_add_seconds (1, + g_usb_context_rescan_cb, + context); + } ++#endif + priv->done_enumerate = TRUE; + } + +@@ -616,7 +620,9 @@ g_usb_context_initable_init (GInitable *initable, + context); + + /* watch for add/remove */ ++#ifndef __FreeBSD__ + if (libusb_has_capability (LIBUSB_CAP_HAS_HOTPLUG)) { ++#endif + rc = libusb_hotplug_register_callback (priv->ctx, + LIBUSB_HOTPLUG_EVENT_DEVICE_ARRIVED | + LIBUSB_HOTPLUG_EVENT_DEVICE_LEFT, +@@ -631,7 +637,9 @@ g_usb_context_initable_init (GInitable *initable, + g_warning ("Error creating a hotplug callback: %s", + g_usb_strerror (rc)); + } ++#ifndef __FreeBSD__ + } ++#endif + + return TRUE; + } Index: devel/libgusb/files/patch-gusb_gusb-device.c =================================================================== --- /dev/null +++ devel/libgusb/files/patch-gusb_gusb-device.c @@ -0,0 +1,147 @@ +--- gusb/gusb-device.c.orig 2021-03-12 16:08:58 UTC ++++ gusb/gusb-device.c +@@ -38,6 +38,7 @@ struct _GUsbDevicePrivate + GUsbContext *context; + libusb_device *device; + libusb_device_handle *handle; ++ GArray *port_numbers; + struct libusb_device_descriptor desc; + }; + +@@ -84,6 +85,7 @@ g_usb_device_dispose (GObject *object) + GUsbDevice *device = G_USB_DEVICE (object); + GUsbDevicePrivate *priv = device->priv; + ++ g_clear_pointer (&priv->port_numbers, g_array_unref); + g_clear_pointer (&priv->device, libusb_unref_device); + g_clear_object (&priv->context); + +@@ -202,25 +204,20 @@ g_usb_device_init (GUsbDevice *device) + device->priv = g_usb_device_get_instance_private (device); + } + +-static void +-g_usb_device_build_parent_port_number (GString *str, libusb_device *dev) +-{ +- libusb_device *parent = libusb_get_parent (dev); +- if (parent != NULL) +- g_usb_device_build_parent_port_number (str, parent); +- g_string_append_printf (str, "%02x:", libusb_get_port_number (dev)); +-} +- + static gchar * +-g_usb_device_build_platform_id (struct libusb_device *dev) ++g_usb_device_build_platform_id (GUsbDevice *device) + { ++ GUsbDevicePrivate *priv = device->priv; + GString *platform_id; ++ guint i; + + /* build a topology of the device */ +- platform_id = g_string_new ("usb:"); +- g_string_append_printf (platform_id, "%02x:", libusb_get_bus_number (dev)); +- g_usb_device_build_parent_port_number (platform_id, dev); +- g_string_truncate (platform_id, platform_id->len - 1); ++ platform_id = g_string_new ("usb"); ++ g_string_append_printf (platform_id, ":%02x", ++ libusb_get_bus_number (priv->device)); ++ for (i = 0; i < priv->port_numbers->len; i++) ++ g_string_append_printf (platform_id, ":%02x", ++ g_array_index (priv->port_numbers, guint8, i)); + return g_string_free (platform_id, FALSE); + } + +@@ -251,8 +248,32 @@ g_usb_device_initable_init (GInitable *initable, + return FALSE; + } + ++ /* Store port number values to ease parent device finding on FreeBSD. ++ * FreeBSD's libusb requires a device to be opened before calling ++ * libusb_get_port_numbers because it needs the fd to call ioctl. */ ++#define PORT_NUMBER_MAX 64 ++ priv->port_numbers = g_array_new (FALSE, FALSE, sizeof (guint8)); ++#ifdef __FreeBSD__ ++ g_return_val_if_fail (priv->handle == NULL, FALSE); ++ if (libusb_open (priv->device, &priv->handle) == LIBUSB_SUCCESS) { ++#endif ++ guint8 ports[PORT_NUMBER_MAX]; ++ gint port_count; ++ port_count = libusb_get_port_numbers (priv->device, ports, ++ PORT_NUMBER_MAX); ++ if (port_count > 0) { ++ g_array_set_size (priv->port_numbers, port_count); ++ memcpy (priv->port_numbers->data, ports, port_count); ++ } ++#ifdef __FreeBSD__ ++ libusb_close (priv->handle); ++ priv->handle = NULL; ++ } ++#endif ++#undef PORT_NUMBER_MAX ++ + /* this does not change on plug->unplug->plug */ +- priv->platform_id = g_usb_device_build_platform_id (priv->device); ++ priv->platform_id = g_usb_device_build_platform_id (device); + + return TRUE; + } +@@ -1608,6 +1629,41 @@ g_usb_device_get_platform_id (GUsbDevice *device) + return device->priv->platform_id; + } + ++static libusb_device * ++g_usb_device_get_parent_libusb_device (GUsbDevice *device) ++{ ++#ifdef __FreeBSD__ ++ GPtrArray *devices = NULL; ++ GUsbDevice *device_tmp; ++ gboolean found = FALSE; ++ guint i; ++ ++ if (device->priv->port_numbers->len == 0) ++ return NULL; ++ ++ devices = g_usb_context_get_devices (device->priv->context); ++ for (i = 0; devices->len; i++) { ++ device_tmp = g_ptr_array_index (devices, i); ++ if (g_usb_device_get_bus (device) == ++ g_usb_device_get_bus (device_tmp) && ++ device->priv->port_numbers->len - 1 == ++ device_tmp->priv->port_numbers->len && ++ memcmp (device->priv->port_numbers->data, ++ device_tmp->priv->port_numbers->data, ++ device_tmp->priv->port_numbers->len) == 0) { ++ found = TRUE; ++ break; ++ } ++ } ++ ++ g_ptr_array_unref (devices); ++ ++ return found ? device_tmp->priv->device : NULL; ++#else ++ return libusb_get_parent (device->priv->device); ++#endif ++} ++ + /** + * g_usb_device_get_parent: + * @device: a #GUsbDevice instance +@@ -1624,7 +1680,7 @@ g_usb_device_get_parent (GUsbDevice *device) + GUsbDevicePrivate *priv = device->priv; + libusb_device *parent; + +- parent = libusb_get_parent (priv->device); ++ parent = g_usb_device_get_parent_libusb_device (device); + if (parent == NULL) + return NULL; + +@@ -1658,7 +1714,7 @@ g_usb_device_get_children (GUsbDevice *device) + devices = g_usb_context_get_devices (priv->context); + for (i = 0; i < devices->len; i++) { + device_tmp = g_ptr_array_index (devices, i); +- if (priv->device == libusb_get_parent (device_tmp->priv->device)) ++ if (priv->device == g_usb_device_get_parent_libusb_device (device_tmp)) + g_ptr_array_add (children, g_object_ref (device_tmp)); + } + Index: devel/libgusb/files/patch-gusb_gusb-self-test.c =================================================================== --- /dev/null +++ devel/libgusb/files/patch-gusb_gusb-self-test.c @@ -0,0 +1,37 @@ +--- gusb/gusb-self-test.c.orig 2021-03-12 16:08:58 UTC ++++ gusb/gusb-self-test.c +@@ -32,8 +32,15 @@ gusb_device_func (void) + g_assert_cmpint (array->len, >, 0); + device = G_USB_DEVICE (g_ptr_array_index (array, 0)); + +- g_assert_cmpint (g_usb_device_get_vid (device), >, 0x0000); +- g_assert_cmpint (g_usb_device_get_pid (device), >, 0x0000); ++ /* Root hubs on FreeBSD have vid and pid set to zero */ ++#ifdef __FreeBSD__ ++ if (g_usb_device_get_parent (device) != NULL) { ++#endif ++ g_assert_cmpint (g_usb_device_get_vid (device), >, 0x0000); ++ g_assert_cmpint (g_usb_device_get_pid (device), >, 0x0000); ++#ifdef __FreeBSD__ ++ } ++#endif + + g_ptr_array_unref (array); + } +@@ -88,8 +95,14 @@ gusb_context_func (void) + for (i = 0; i < array->len; i++) { + device = G_USB_DEVICE (g_ptr_array_index (array, i)); + +- g_assert_cmpint (g_usb_device_get_vid (device), >, 0x0000); +- g_assert_cmpint (g_usb_device_get_pid (device), >, 0x0000); ++#ifdef __FreeBSD__ ++ if (g_usb_device_get_parent (device) != NULL) { ++#endif ++ g_assert_cmpint (g_usb_device_get_vid (device), >, 0x0000); ++ g_assert_cmpint (g_usb_device_get_pid (device), >, 0x0000); ++#ifdef __FreeBSD__ ++ } ++#endif + + /* Needed for g_usb_device_get_string_descriptor below, + not error checked to allow running basic tests without Index: devel/libgusb/files/patch-gusb_meson.build =================================================================== --- /dev/null +++ devel/libgusb/files/patch-gusb_meson.build @@ -0,0 +1,11 @@ +--- gusb/meson.build.orig 2021-03-19 02:26:26 UTC ++++ gusb/meson.build +@@ -147,7 +147,7 @@ libgusb_gir = libgusb_girtarget[0] + libgusb_typelib = libgusb_girtarget[1] + + pymod = import('python') +-py_installation = pymod.find_installation('python3') ++py_installation = import('python').find_installation() + + # Verify the map file is correct -- note we can't actually use the generated + # file for two reasons: Index: devel/libgusb/files/patch-meson.build =================================================================== --- /dev/null +++ devel/libgusb/files/patch-meson.build @@ -0,0 +1,18 @@ +--- meson.build.orig 2021-03-12 16:08:58 UTC ++++ meson.build +@@ -93,8 +93,14 @@ add_project_link_arguments( + language: 'c' + ) + ++if host_machine.system() == 'freebsd' ++ libusb_version = '>= 1.0.9' ++else ++ libusb_version = '>= 1.0.19' ++endif ++ + libgio = dependency('gio-2.0', version : '>= 2.44.0') +-libusb = dependency('libusb-1.0', version : '>= 1.0.19') ++libusb = dependency('libusb-1.0', version : libusb_version) + if libusb.version().version_compare ('>= 1.0.22') + conf.set('HAVE_LIBUSB_1_0_22', '1') + endif Index: devel/libgusb/pkg-descr =================================================================== --- /dev/null +++ devel/libgusb/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 Index: devel/libgusb/pkg-plist =================================================================== --- /dev/null +++ devel/libgusb/pkg-plist @@ -0,0 +1,44 @@ +bin/gusbcmd +include/gusb-1/gusb.h +include/gusb-1/gusb/gusb-autocleanups.h +include/gusb-1/gusb/gusb-context-private.h +include/gusb-1/gusb/gusb-context.h +include/gusb-1/gusb/gusb-device-list.h +include/gusb-1/gusb/gusb-device-private.h +include/gusb-1/gusb/gusb-device.h +include/gusb-1/gusb/gusb-endpoint-private.h +include/gusb-1/gusb/gusb-endpoint.h +include/gusb-1/gusb/gusb-interface-private.h +include/gusb-1/gusb/gusb-interface.h +include/gusb-1/gusb/gusb-source.h +include/gusb-1/gusb/gusb-util.h +include/gusb-1/gusb/gusb-version.h +lib/girepository-1.0/GUsb-1.0.typelib +lib/libgusb.so +lib/libgusb.so.2 +lib/libgusb.so.2.0.10 +libdata/pkgconfig/gusb.pc +share/gir-1.0/GUsb-1.0.gir +%%PORTDOCS%%share/gtk-doc/html/gusb/faq.html +%%PORTDOCS%%share/gtk-doc/html/gusb/gusb-GUsbContext.html +%%PORTDOCS%%share/gtk-doc/html/gusb/gusb-GUsbDevice.html +%%PORTDOCS%%share/gtk-doc/html/gusb/gusb-GUsbDeviceList.html +%%PORTDOCS%%share/gtk-doc/html/gusb/gusb-gusb-interface.html +%%PORTDOCS%%share/gtk-doc/html/gusb/gusb-gusb-source.html +%%PORTDOCS%%share/gtk-doc/html/gusb/gusb-gusb-version.html +%%PORTDOCS%%share/gtk-doc/html/gusb/gusb.devhelp2 +%%PORTDOCS%%share/gtk-doc/html/gusb/home.png +%%PORTDOCS%%share/gtk-doc/html/gusb/index.html +%%PORTDOCS%%share/gtk-doc/html/gusb/introduction.html +%%PORTDOCS%%share/gtk-doc/html/gusb/left-insensitive.png +%%PORTDOCS%%share/gtk-doc/html/gusb/left.png +%%PORTDOCS%%share/gtk-doc/html/gusb/libgusb-helpers.html +%%PORTDOCS%%share/gtk-doc/html/gusb/libgusb.html +%%PORTDOCS%%share/gtk-doc/html/gusb/right-insensitive.png +%%PORTDOCS%%share/gtk-doc/html/gusb/right.png +%%PORTDOCS%%share/gtk-doc/html/gusb/specification.html +%%PORTDOCS%%share/gtk-doc/html/gusb/style.css +%%PORTDOCS%%share/gtk-doc/html/gusb/up-insensitive.png +%%PORTDOCS%%share/gtk-doc/html/gusb/up.png +share/vala/vapi/gusb.deps +share/vala/vapi/gusb.vapi Index: sysutils/Makefile =================================================================== --- sysutils/Makefile +++ sysutils/Makefile @@ -424,6 +424,7 @@ SUBDIR += fusefs-zip SUBDIR += fvcool SUBDIR += fwup + SUBDIR += fwupd SUBDIR += gaffitter SUBDIR += ganglia-monitor-core SUBDIR += ganglia-webfrontend Index: sysutils/fwupd/Makefile =================================================================== --- /dev/null +++ sysutils/fwupd/Makefile @@ -0,0 +1,51 @@ +# Created by: Norbert KamiƄski +# $FreeBSD$ + +PORTNAME= fwupd +DISTVERSION= 1.5.7 +CATEGORIES= sysutils + +MAINTAINER= norbert.kaminski@3mdeb.com +COMMENT= Update firmware automatically, safely, and reliably + +LICENSE= LGPL21 + +BUILD_DEPENDS= gtkdoc-scan:textproc/gtk-doc \ + help2man:misc/help2man \ + vala:lang/vala +LIB_DEPENDS= libcurl.so:ftp/curl \ + libelf.so:devel/libelf \ + libgcab-1.0.so:archivers/gcab \ + libgnutls.so:security/gnutls \ + libgpg-error.so:security/libgpg-error \ + libgpgme.so:security/gpgme \ + libgusb.so:devel/libgusb \ + libjcat.so:textproc/libjcat \ + libjson-glib-1.0.so:devel/json-glib \ + libxmlb.so:textproc/libxmlb + +USES= gnome libarchive meson pkgconfig python:3.7+ shebangfix sqlite +USE_GITHUB= yes +USE_GNOME= glib20 introspection:build +INSTALLS_ICONS= yes +USE_LDCONFIG= yes + +SHEBANG_GLOB= *.py + +MESON_ARGS= -Dgudev=false \ + -Dplugin_altos=false \ + -Dplugin_amt=false \ + -Dplugin_dell=false \ + -Dplugin_emmc=false \ + -Dplugin_nvme=false \ + -Dplugin_redfish=false \ + -Dplugin_synaptics_mst=false \ + -Dplugin_synaptics_rmi=false \ + -Dplugin_thunderbolt=false \ + -Dplugin_tpm=false \ + -Dplugin_uefi_capsule=false \ + -Dpolkit=false \ + -Dsystemd=false \ + -Dtests=false + +.include Index: sysutils/fwupd/distinfo =================================================================== --- /dev/null +++ sysutils/fwupd/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1615551252 +SHA256 (fwupd-fwupd-1.5.7_GH0.tar.gz) = 2e5990ee5e308a369469bc602f7be7d9810ff24bffa885835268275630ecf78b +SIZE (fwupd-fwupd-1.5.7_GH0.tar.gz) = 2498618 Index: sysutils/fwupd/files/patch-libfwupd_meson.build =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-libfwupd_meson.build @@ -0,0 +1,10 @@ +--- libfwupd/meson.build.orig 2021-02-23 14:54:50 UTC ++++ libfwupd/meson.build +@@ -154,6 +154,7 @@ if get_option('introspection') + input: fwupd_gir[0], + output: 'fwupd.map', + command: [ ++ python3, + join_paths(meson.source_root(), 'contrib', 'generate-version-script.py'), + 'LIBFWUPD', + '@INPUT@', Index: sysutils/fwupd/files/patch-libfwupdplugin_fu-common.c =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-libfwupdplugin_fu-common.c @@ -0,0 +1,11 @@ +--- libfwupdplugin/fu-common.c.orig 2021-02-23 14:54:50 UTC ++++ libfwupdplugin/fu-common.c +@@ -2257,7 +2257,7 @@ fu_byte_array_set_size (GByteArray *array, guint lengt + gboolean + fu_common_kernel_locked_down (void) + { +-#ifndef _WIN32 ++#ifdef __linux__ + gsize len = 0; + g_autofree gchar *dir = fu_common_get_path (FU_PATH_KIND_SYSFSDIR_SECURITY); + g_autofree gchar *fname = g_build_filename (dir, "lockdown", NULL); Index: sysutils/fwupd/files/patch-libfwupdplugin_fu-efivar.c =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-libfwupdplugin_fu-efivar.c @@ -0,0 +1,56 @@ +--- libfwupdplugin/fu-efivar.c.orig 2021-02-23 14:54:50 UTC ++++ libfwupdplugin/fu-efivar.c +@@ -10,7 +10,7 @@ + #include + #include + #include +-#ifndef _WIN32 ++#ifdef __linux__ + #include + #include + #include +@@ -49,7 +49,7 @@ fu_efivar_get_filename (const gchar *guid, const gchar + gboolean + fu_efivar_supported (GError **error) + { +-#ifndef _WIN32 ++#ifdef __linux__ + g_autofree gchar *efivardir = fu_efivar_get_path (); + g_return_val_if_fail (error == NULL || *error == NULL, FALSE); + if (!g_file_test (efivardir, G_FILE_TEST_IS_DIR)) { +@@ -71,7 +71,7 @@ fu_efivar_supported (GError **error) + #endif + } + +-#ifndef _WIN32 ++#ifdef __linux__ + static gboolean + fu_efivar_set_immutable_fd (int fd, + gboolean value, +@@ -135,7 +135,7 @@ fu_efivar_set_immutable (const gchar *fn, + gboolean *value_old, + GError **error) + { +-#ifndef _WIN32 ++#ifdef __linux__ + gint fd; + g_autoptr(GInputStream) istr = NULL; + +@@ -298,7 +298,7 @@ gboolean + fu_efivar_get_data (const gchar *guid, const gchar *name, guint8 **data, + gsize *data_sz, guint32 *attr, GError **error) + { +-#ifndef _WIN32 ++#ifdef __linux__ + gssize attr_sz; + gssize data_sz_tmp; + guint32 attr_tmp; +@@ -546,7 +546,7 @@ gboolean + fu_efivar_set_data (const gchar *guid, const gchar *name, const guint8 *data, + gsize sz, guint32 attr, GError **error) + { +-#ifndef _WIN32 ++#ifdef __linux__ + int fd; + int open_wflags; + gboolean was_immutable; Index: sysutils/fwupd/files/patch-libfwupdplugin_fu-udev-device.c =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-libfwupdplugin_fu-udev-device.c @@ -0,0 +1,11 @@ +--- libfwupdplugin/fu-udev-device.c.orig 2021-02-23 14:54:50 UTC ++++ libfwupdplugin/fu-udev-device.c +@@ -1588,7 +1588,7 @@ gboolean + fu_udev_device_write_sysfs (FuUdevDevice *self, const gchar *attribute, + const gchar *val, GError **error) + { +-#ifndef _WIN32 ++#ifdef __linux__ + ssize_t n; + int r; + int fd; Index: sysutils/fwupd/files/patch-libfwupdplugin_meson.build =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-libfwupdplugin_meson.build @@ -0,0 +1,10 @@ +--- libfwupdplugin/meson.build.orig 2021-02-23 14:54:50 UTC ++++ libfwupdplugin/meson.build +@@ -222,6 +222,7 @@ if get_option('introspection') and get_option('gusb') + input: fwupdplugin_gir[0], + output: 'fwupdplugin.map', + command: [ ++ python3, + join_paths(meson.source_root(), 'contrib', 'generate-version-script.py'), + 'LIBFWUPDPLUGIN', + '@INPUT@', Index: sysutils/fwupd/files/patch-meson.build =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-meson.build @@ -0,0 +1,11 @@ +--- meson.build.orig 2021-02-23 14:54:50 UTC ++++ meson.build +@@ -242,7 +242,7 @@ if build_daemon + warning('Polkit is disabled, the daemon will allow ALL client actions') + endif + udevdir = get_option('udevdir') +- if udevdir == '' ++ if udevdir == '' and host_machine.system() == 'linux' + udev = dependency('udev') + udevdir = udev.get_pkgconfig_variable('udevdir') + endif Index: sysutils/fwupd/files/patch-plugins_dfu-csr_meson.build =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-plugins_dfu-csr_meson.build @@ -0,0 +1,8 @@ +--- plugins/dfu-csr/meson.build.orig 2021-02-23 14:54:50 UTC ++++ plugins/dfu-csr/meson.build +@@ -1,4 +1,4 @@ +-if get_option('gusb') ++if get_option('gusb') and host_machine.system() == 'linux' + cargs = ['-DG_LOG_DOMAIN="FuPluginDfuCsr"'] + + install_data(['dfu-csr.quirk'], Index: sysutils/fwupd/files/patch-plugins_dfu_meson.build =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-plugins_dfu_meson.build @@ -0,0 +1,8 @@ +--- plugins/dfu/meson.build.orig 2021-02-23 14:54:50 UTC ++++ plugins/dfu/meson.build +@@ -1,4 +1,4 @@ +-if get_option('gusb') ++if get_option('gusb') and host_machine.system() == 'linux' + cargs = ['-DG_LOG_DOMAIN="FuPluginDfu"'] + + install_data(['dfu.quirk'], Index: sysutils/fwupd/files/patch-src_fu-engine.c =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-src_fu-engine.c @@ -0,0 +1,20 @@ +--- src/fu-engine.c.orig 2021-02-23 14:54:50 UTC ++++ src/fu-engine.c +@@ -6299,7 +6299,7 @@ fu_engine_load (FuEngine *self, FuEngineLoadFlags flag + guint backend_cnt = 0; + g_autoptr(GPtrArray) checksums_approved = NULL; + g_autoptr(GPtrArray) checksums_blocked = NULL; +-#ifndef _WIN32 ++#ifdef __linux__ + g_autoptr(GError) error_local = NULL; + #endif + +@@ -6311,7 +6311,7 @@ fu_engine_load (FuEngine *self, FuEngineLoadFlags flag + return TRUE; + + /* TODO: Read registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography] "MachineGuid" */ +-#ifndef _WIN32 ++#ifdef __linux__ + /* cache machine ID so we can use it from a sandboxed app */ + self->host_machine_id = fwupd_build_machine_id ("fwupd", &error_local); + if (self->host_machine_id == NULL) Index: sysutils/fwupd/files/patch-src_fu-main.c =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-src_fu-main.c @@ -0,0 +1,14 @@ +--- src/fu-main.c.orig 2021-02-23 14:54:50 UTC ++++ src/fu-main.c +@@ -2037,9 +2037,10 @@ main (int argc, char *argv[]) + else if (timed_exit) + g_timeout_add_seconds (5, fu_main_timed_exit_cb, priv->loop); + ++#ifdef __linux__ + /* drop heap except one page */ + malloc_trim (4096); +- ++#endif + /* wait */ + g_message ("Daemon ready for requests (locale %s)", g_getenv ("LANG")); + g_main_loop_run (priv->loop); Index: sysutils/fwupd/files/patch-src_fu-self-test.c =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-src_fu-self-test.c @@ -0,0 +1,11 @@ +--- src/fu-self-test.c.orig 2021-02-23 14:54:50 UTC ++++ src/fu-self-test.c +@@ -583,7 +583,7 @@ fu_engine_requirements_device_func (gconstpointer user + " " + " bootloader" + " vendor-id" +-#ifndef _WIN32 ++#ifdef __linux__ + " org.kernel" + #endif + " " Index: sysutils/fwupd/files/patch-subprojects_gusb.wrap =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-subprojects_gusb.wrap @@ -0,0 +1,9 @@ +--- subprojects/gusb.wrap.orig 2021-02-23 14:54:50 UTC ++++ subprojects/gusb.wrap +@@ -1,4 +1,4 @@ + [wrap-git] + directory = gusb +-url = https://github.com/hughsie/libgusb.git +-revision = 0.3.5 ++url = https://github.com/3mdeb/libgusb.git ++revision = 36c91ab059c8446902dddd3693070559611c8980 Index: sysutils/fwupd/files/patch-subprojects_libjcat.wrap =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-subprojects_libjcat.wrap @@ -0,0 +1,9 @@ +--- subprojects/libjcat.wrap.orig 2021-02-23 14:54:50 UTC ++++ subprojects/libjcat.wrap +@@ -1,4 +1,4 @@ + [wrap-git] + directory = libjcat +-url = https://github.com/hughsie/libjcat.git ++url = https://github.com/3mdeb/libjcat.git +-revision = 0.1.0 ++revision = b5af577e63a009f6423dd5c62cf096ac38386210 Index: sysutils/fwupd/files/patch-subprojects_libxmlb.wrap =================================================================== --- /dev/null +++ sysutils/fwupd/files/patch-subprojects_libxmlb.wrap @@ -0,0 +1,8 @@ +--- subprojects/libxmlb.wrap.orig 2021-02-23 14:54:50 UTC ++++ subprojects/libxmlb.wrap +@@ -1,4 +1,4 @@ + [wrap-git] + directory = libxmlb + url = https://github.com/hughsie/libxmlb.git +-revision = 0.1.14 ++revision = 0.2.1 Index: sysutils/fwupd/pkg-descr =================================================================== --- /dev/null +++ sysutils/fwupd/pkg-descr @@ -0,0 +1,9 @@ +Make firmware updates automatic, safe, and reliable. + +fwupd is a simple daemon to allow session software to update device firmware on +your local machine. It is designed for desktops, but also usable on phones and +headless servers. You can either use a GUI software manager like GNOME Software +to view and apply updates, the command-line tool, or the system D-Bus interface +directly. + +WWW: https://fwupd.org/ Index: sysutils/fwupd/pkg-plist =================================================================== --- /dev/null +++ sysutils/fwupd/pkg-plist @@ -0,0 +1,152 @@ +bin/fwupdagent +bin/fwupdmgr +bin/fwupdtool +%%ETCDIR%%/daemon.conf +%%ETCDIR%%/remotes.d/lvfs-testing.conf +%%ETCDIR%%/remotes.d/lvfs.conf +%%ETCDIR%%/remotes.d/vendor-directory.conf +%%ETCDIR%%/remotes.d/vendor.conf +etc/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata +etc/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service +etc/pki/fwupd-metadata/LVFS-CA.pem +etc/pki/fwupd/GPG-KEY-Hughski-Limited +etc/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware +etc/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service +etc/pki/fwupd/LVFS-CA.pem +include/fwupd-1/fwupd.h +include/fwupd-1/fwupdplugin.h +include/fwupd-1/libfwupd/fwupd-client-sync.h +include/fwupd-1/libfwupd/fwupd-client.h +include/fwupd-1/libfwupd/fwupd-common.h +include/fwupd-1/libfwupd/fwupd-deprecated.h +include/fwupd-1/libfwupd/fwupd-device.h +include/fwupd-1/libfwupd/fwupd-enums.h +include/fwupd-1/libfwupd/fwupd-error.h +include/fwupd-1/libfwupd/fwupd-plugin.h +include/fwupd-1/libfwupd/fwupd-release.h +include/fwupd-1/libfwupd/fwupd-remote.h +include/fwupd-1/libfwupd/fwupd-security-attr.h +include/fwupd-1/libfwupd/fwupd-version.h +include/fwupd-1/libfwupdplugin/fu-archive.h +include/fwupd-1/libfwupdplugin/fu-bluez-device.h +include/fwupd-1/libfwupdplugin/fu-cabinet.h +include/fwupd-1/libfwupdplugin/fu-chunk.h +include/fwupd-1/libfwupdplugin/fu-common-cab.h +include/fwupd-1/libfwupdplugin/fu-common-guid.h +include/fwupd-1/libfwupdplugin/fu-common-version.h +include/fwupd-1/libfwupdplugin/fu-common.h +include/fwupd-1/libfwupdplugin/fu-deprecated.h +include/fwupd-1/libfwupdplugin/fu-device-locker.h +include/fwupd-1/libfwupdplugin/fu-device-metadata.h +include/fwupd-1/libfwupdplugin/fu-device.h +include/fwupd-1/libfwupdplugin/fu-dfu-firmware.h +include/fwupd-1/libfwupdplugin/fu-dfuse-firmware.h +include/fwupd-1/libfwupdplugin/fu-efi-signature-list.h +include/fwupd-1/libfwupdplugin/fu-efi-signature.h +include/fwupd-1/libfwupdplugin/fu-efivar.h +include/fwupd-1/libfwupdplugin/fu-firmware-common.h +include/fwupd-1/libfwupdplugin/fu-firmware-image.h +include/fwupd-1/libfwupdplugin/fu-firmware.h +include/fwupd-1/libfwupdplugin/fu-fmap-firmware.h +include/fwupd-1/libfwupdplugin/fu-hid-device.h +include/fwupd-1/libfwupdplugin/fu-hwids.h +include/fwupd-1/libfwupdplugin/fu-ihex-firmware.h +include/fwupd-1/libfwupdplugin/fu-io-channel.h +include/fwupd-1/libfwupdplugin/fu-plugin-vfuncs.h +include/fwupd-1/libfwupdplugin/fu-plugin.h +include/fwupd-1/libfwupdplugin/fu-quirks.h +include/fwupd-1/libfwupdplugin/fu-security-attrs.h +include/fwupd-1/libfwupdplugin/fu-smbios.h +include/fwupd-1/libfwupdplugin/fu-srec-firmware.h +include/fwupd-1/libfwupdplugin/fu-udev-device.h +include/fwupd-1/libfwupdplugin/fu-usb-device.h +include/fwupd-1/libfwupdplugin/fu-volume.h +lib/fwupd-plugins-3/libfu_plugin_bcm57xx.so +lib/fwupd-plugins-3/libfu_plugin_ccgx.so +lib/fwupd-plugins-3/libfu_plugin_colorhug.so +lib/fwupd-plugins-3/libfu_plugin_cpu.so +lib/fwupd-plugins-3/libfu_plugin_cros_ec.so +lib/fwupd-plugins-3/libfu_plugin_dell_dock.so +lib/fwupd-plugins-3/libfu_plugin_ebitdo.so +lib/fwupd-plugins-3/libfu_plugin_ep963x.so +lib/fwupd-plugins-3/libfu_plugin_fastboot.so +lib/fwupd-plugins-3/libfu_plugin_fresco_pd.so +lib/fwupd-plugins-3/libfu_plugin_goodixmoc.so +lib/fwupd-plugins-3/libfu_plugin_hailuck.so +lib/fwupd-plugins-3/libfu_plugin_jabra.so +lib/fwupd-plugins-3/libfu_plugin_msr.so +lib/fwupd-plugins-3/libfu_plugin_nitrokey.so +lib/fwupd-plugins-3/libfu_plugin_rts54hid.so +lib/fwupd-plugins-3/libfu_plugin_rts54hub.so +lib/fwupd-plugins-3/libfu_plugin_solokey.so +lib/fwupd-plugins-3/libfu_plugin_steelseries.so +lib/fwupd-plugins-3/libfu_plugin_synaptics_cxaudio.so +lib/fwupd-plugins-3/libfu_plugin_synaptics_prometheus.so +lib/fwupd-plugins-3/libfu_plugin_system76_launch.so +lib/fwupd-plugins-3/libfu_plugin_uefi_pk.so +lib/fwupd-plugins-3/libfu_plugin_vli.so +lib/fwupd-plugins-3/libfu_plugin_wacom_usb.so +lib/girepository-1.0/Fwupd-2.0.typelib +lib/girepository-1.0/FwupdPlugin-1.0.typelib +lib/libfwupd.so +lib/libfwupd.so.2 +lib/libfwupd.so.2.0.0 +lib/libfwupdplugin.so +lib/libfwupdplugin.so.1 +lib/libfwupdplugin.so.1.0.0 +libdata/pkgconfig/fwupd.pc +libdata/pkgconfig/fwupdplugin.pc +libexec/fwupd/fwupd +libexec/fwupd/fwupd-detect-cet +man/man1/fwupdagent.1.gz +man/man1/fwupdmgr.1.gz +man/man1/fwupdtool.1.gz +share/dbus-1/interfaces/org.freedesktop.fwupd.xml +share/dbus-1/system.d/org.freedesktop.fwupd.conf +share/fish/vendor_completions.d/fwupdmgr.fish +%%DATADIR%%/add_capsule_header.py +%%DATADIR%%/firmware_packager.py +%%DATADIR%%/install_dell_bios_exe.py +%%DATADIR%%/quirks.d/bcm57xx.quirk +%%DATADIR%%/quirks.d/ccgx-ids.quirk +%%DATADIR%%/quirks.d/ccgx.quirk +%%DATADIR%%/quirks.d/colorhug.quirk +%%DATADIR%%/quirks.d/cpu.quirk +%%DATADIR%%/quirks.d/cros-ec.quirk +%%DATADIR%%/quirks.d/dell-dock.quirk +%%DATADIR%%/quirks.d/ebitdo.quirk +%%DATADIR%%/quirks.d/ep963x.quirk +%%DATADIR%%/quirks.d/fastboot.quirk +%%DATADIR%%/quirks.d/fresco-pd.quirk +%%DATADIR%%/quirks.d/goodixmoc.quirk +%%DATADIR%%/quirks.d/hailuck.quirk +%%DATADIR%%/quirks.d/jabra.quirk +%%DATADIR%%/quirks.d/msr.quirk +%%DATADIR%%/quirks.d/nitrokey.quirk +%%DATADIR%%/quirks.d/rts54hid.quirk +%%DATADIR%%/quirks.d/rts54hub.quirk +%%DATADIR%%/quirks.d/solokey.quirk +%%DATADIR%%/quirks.d/steelseries.quirk +%%DATADIR%%/quirks.d/synaptics-cxaudio.quirk +%%DATADIR%%/quirks.d/synaptics-prometheus.quirk +%%DATADIR%%/quirks.d/system76-launch.quirk +%%DATADIR%%/quirks.d/vli-pd.quirk +%%DATADIR%%/quirks.d/vli-usbhub-hyper.quirk +%%DATADIR%%/quirks.d/vli-usbhub-lenovo.quirk +%%DATADIR%%/quirks.d/vli-usbhub.quirk +%%DATADIR%%/quirks.d/wacom-usb.quirk +%%DATADIR%%/remotes.d/vendor/firmware/README.md +%%DATADIR%%/simple_client.py +share/gir-1.0/Fwupd-2.0.gir +share/gir-1.0/FwupdPlugin-1.0.gir +share/icons/hicolor/scalable/apps/org.freedesktop.fwupd.svg +share/metainfo/org.freedesktop.fwupd.metainfo.xml +share/vala/vapi/fwupd.deps +share/vala/vapi/fwupd.vapi +share/vala/vapi/fwupdplugin.deps +share/vala/vapi/fwupdplugin.vapi +/var/local/lib/fwupd/builder/README.md +@dir /var/local/lib/fwupd/builder +@dir /var/local/lib/fwupd +@dir /var/local/lib +@dir /var/local Index: textproc/Makefile =================================================================== --- textproc/Makefile +++ textproc/Makefile @@ -369,6 +369,7 @@ SUBDIR += libfo SUBDIR += libfolia SUBDIR += libgepub + SUBDIR += libjcat SUBDIR += libkmfl SUBDIR += libkolabxml SUBDIR += libkomparediff2 @@ -401,6 +402,7 @@ SUBDIR += libxdiff SUBDIR += libxml++26 SUBDIR += libxml2 + SUBDIR += libxmlb SUBDIR += libxmlbird SUBDIR += libxode SUBDIR += libxslt Index: textproc/libjcat/Makefile =================================================================== --- /dev/null +++ textproc/libjcat/Makefile @@ -0,0 +1,27 @@ +# $FreeBSD$ + +PORTNAME= libjcat +DISTVERSION= 0.1.6 +CATEGORIES= textproc + +MAINTAINER= norbert.kaminski@3mdeb.com +COMMENT= Library for reading and writing JSON catalog files + +LICENSE= LGPL21 + +BUILD_DEPENDS= gobject-introspection>=1.36:devel/gobject-introspection \ + gtkdocize:textproc/gtk-doc \ + help2man:misc/help2man \ + vala:lang/vala +LIB_DEPENDS= libgnutls.so:security/gnutls \ + libgpg-error.so:security/libgpg-error \ + libgpgme.so:security/gpgme \ + libjson-glib-1.0.so:devel/json-glib + +USES= gnome localbase:ldflags meson pkgconfig +USE_GITHUB= yes +GH_ACCOUNT= hughsie +USE_GNOME= glib20 +USE_LDCONFIG= yes + +.include Index: textproc/libjcat/distinfo =================================================================== --- /dev/null +++ textproc/libjcat/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1616176749 +SHA256 (hughsie-libjcat-0.1.6_GH0.tar.gz) = 8de77399dd3f7cd055f07003e6fce438ef8339e2bfd90c29982b7ee0a2e72884 +SIZE (hughsie-libjcat-0.1.6_GH0.tar.gz) = 64485 Index: textproc/libjcat/files/patch-libjcat_meson.build =================================================================== --- /dev/null +++ textproc/libjcat/files/patch-libjcat_meson.build @@ -0,0 +1,11 @@ +--- libjcat/meson.build.orig 2021-02-08 11:55:19 UTC ++++ libjcat/meson.build +@@ -139,7 +139,7 @@ if get_option('introspection') + endif + + python = import('python') +- python_interpreter = python.find_installation('python3', ++ python_interpreter = import('python').find_installation( + modules: [ + 'xml.etree.ElementTree', + 'pkg_resources', Index: textproc/libjcat/pkg-descr =================================================================== --- /dev/null +++ textproc/libjcat/pkg-descr @@ -0,0 +1,9 @@ +This library allows reading and writing gzip-compressed JSON catalog files, +which can be used to store GPG, PKCS-7 and SHA-256 checksums for each file. It +provides equivalent functionality to the catalog files supported in Microsoft +Windows. Unlike Microsoft catalog files which are a signed manifest of hashes, +a Jcat file is a manifest of signatures. This means it's possible (and +positively encouraged) to modify the .jcat file to add new signatures or replace +existing ones. + +WWW: https://github.com/hughsie/libjcat Index: textproc/libjcat/pkg-plist =================================================================== --- /dev/null +++ textproc/libjcat/pkg-plist @@ -0,0 +1,27 @@ +bin/jcat-tool +include/libjcat-1/jcat.h +include/libjcat-1/libjcat/jcat-blob.h +include/libjcat-1/libjcat/jcat-common.h +include/libjcat-1/libjcat/jcat-context.h +include/libjcat-1/libjcat/jcat-engine.h +include/libjcat-1/libjcat/jcat-file.h +include/libjcat-1/libjcat/jcat-item.h +include/libjcat-1/libjcat/jcat-result.h +include/libjcat-1/libjcat/jcat-version.h +lib/girepository-1.0/Jcat-1.0.typelib +lib/libjcat.so +lib/libjcat.so.1 +lib/libjcat.so.1.0.0 +libdata/pkgconfig/jcat.pc +libexec/installed-tests/libjcat/colorhug/firmware.bin +libexec/installed-tests/libjcat/colorhug/firmware.bin.asc +libexec/installed-tests/libjcat/colorhug/firmware.bin.p7b +libexec/installed-tests/libjcat/colorhug/firmware.bin.p7c +libexec/installed-tests/libjcat/jcat-self-test +libexec/installed-tests/libjcat/pki/GPG-KEY-Linux-Vendor-Firmware-Service +libexec/installed-tests/libjcat/pki/LVFS-CA.pem +man/man1/jcat-tool.1.gz +share/gir-1.0/Jcat-1.0.gir +share/installed-tests/libjcat/libjcat.test +share/vala/vapi/jcat.deps +share/vala/vapi/jcat.vapi Index: textproc/libxmlb/Makefile =================================================================== --- /dev/null +++ textproc/libxmlb/Makefile @@ -0,0 +1,25 @@ +# $FreeBSD$ + +PORTNAME= libxmlb +DISTVERSION= 0.3.0 +CATEGORIES= textproc + +MAINTAINER= norbert.kaminski@3mdeb.com +COMMENT= Help create and query binary XML blobs + +LICENSE= LGPL21 + +BUILD_DEPENDS= gobject-introspection>=1.36:devel/gobject-introspection \ + gtkdocize:textproc/gtk-doc + +USES= gnome meson pkgconfig python:3.7+ +USE_GITHUB= yes +GH_ACCOUNT= hughsie +USE_GNOME= glib20 +USE_LDCONFIG= yes + +OPTIONS_DEFINE= DOCS + +DOCS_MESON_TRUE= docs + +.include Index: textproc/libxmlb/distinfo =================================================================== --- /dev/null +++ textproc/libxmlb/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1616097369 +SHA256 (hughsie-libxmlb-0.3.0_GH0.tar.gz) = be136770805e27087519c6366014c1ba2f48d7e4b8867950a942915feca47a5f +SIZE (hughsie-libxmlb-0.3.0_GH0.tar.gz) = 112097 Index: textproc/libxmlb/files/patch-meson.build =================================================================== --- /dev/null +++ textproc/libxmlb/files/patch-meson.build @@ -0,0 +1,11 @@ +--- meson.build.orig 2021-03-18 20:16:56 UTC ++++ meson.build +@@ -149,7 +149,7 @@ configure_file( + ) + + python = import('python') +-python3 = python.find_installation('python3') ++python3 = python.find_installation('python3.7') + + subdir('data') + subdir('src') Index: textproc/libxmlb/pkg-descr =================================================================== --- /dev/null +++ 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 Index: textproc/libxmlb/pkg-plist =================================================================== --- /dev/null +++ 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 +%%PORTDOCS%%share/gtk-doc/html/libxmlb/annotation-glossary.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/api-index-full.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/deprecated-api-index.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/home.png +%%PORTDOCS%%share/gtk-doc/html/libxmlb/index.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/intro.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/left-insensitive.png +%%PORTDOCS%%share/gtk-doc/html/libxmlb/left.png +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbBuilder.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbBuilderFixup.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbBuilderNode.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbBuilderSource.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbBuilderSourceCtx.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbMachine.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbNode.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbQuery.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-XbSilo.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-xb-node-query.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-xb-opcode.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-xb-query-context.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-xb-silo-export.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-xb-silo-query.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-xb-stack.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-xb-string.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb-xb-value-bindings.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb.devhelp2 +%%PORTDOCS%%share/gtk-doc/html/libxmlb/libxmlb.html +%%PORTDOCS%%share/gtk-doc/html/libxmlb/right-insensitive.png +%%PORTDOCS%%share/gtk-doc/html/libxmlb/right.png +%%PORTDOCS%%share/gtk-doc/html/libxmlb/style.css +%%PORTDOCS%%share/gtk-doc/html/libxmlb/up-insensitive.png +%%PORTDOCS%%share/gtk-doc/html/libxmlb/up.png +share/installed-tests/libxmlb/libxmlb.test