The libgusb package contains the GObject wrappers for libusb-1.0 that makes it easy to do asynchronous control, bulk and interrupt transfers with proper cancellation and integration into a mainloop.
This package is known to build and work properly using an LFS 12.1 platform.
Download (HTTP): https://github.com/hughsie/libgusb/releases/download/0.4.8/libgusb-0.4.8.tar.xz
Download MD5 sum: edc0715ded0b886c063189deef94c754
Download size: 52 KB
Estimated disk space required: 2.1 MB (with tests and docs)
Estimated build time: 0.1 SBU (with tests and docs)
JSON-GLib-1.8.0 and libusb-1.0.27
          gobject-introspection-1.78.1,
          usbutils-017 (for usb.ids data file, which is also required for the
          tests), and Vala-0.56.14
        
Gi-DocGen-2023.3 and umockdev-0.17.18 (for full test coverage)
Install libgusb by running the following commands:
mkdir build &&
cd    build &&
meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -Ddocs=false        &&
ninja
        If you have Gi-DocGen-2023.3 installed and wish to build the API documentation for this package, issue:
sed -E "/output|install_dir/s/('libgusb)'/\1-0.4.8'/" \
    -i ../docs/meson.build                            &&
meson configure -Ddocs=true                           &&
ninja
        To test the results, issue: ninja test.
          Now, as the root user:
        
ninja install
          --buildtype=release:
          Specify a buildtype suitable for stable releases of the package, as
          the default may produce unoptimized binaries.
        
          -Ddocs=false: Allow
          building this package without Gi-DocGen-2023.3 installed. If you have
          Gi-DocGen-2023.3 installed and you wish to
          rebuild and install the API documentation, a meson configure command will
          reset this option.