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.2 platform.
Download (HTTP): https://github.com/hughsie/libgusb/releases/download/0.4.9/libgusb-0.4.9.tar.xz
Download MD5 sum: 354a3227334991ea4e924843c144bd82
Download size: 52 KB
Estimated disk space required: 5.0 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
          GLib-2.80.4 (with GObject Introspection),
          hwdata-0.385 (for usb.ids data file, which is also required for the
          tests), and Vala-0.56.17
        
Gi-DocGen-2024.1 and umockdev-0.18.3 (for full test coverage)
Install libgusb by running the following commands:
mkdir build &&
cd    build &&
meson setup ..            \
      --prefix=/usr       \
      --buildtype=release \
      -D docs=false       &&
ninja
        If you have Gi-DocGen-2024.1 installed and wish to build the API documentation for this package, issue:
sed -E "/output|install_dir/s/('libgusb)'/\1-0.4.9'/" \
    -i ../docs/meson.build                            &&
meson configure -D docs=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.
        
          -D docs=false: Allow
          building this package without Gi-DocGen-2024.1 installed. If you have
          Gi-DocGen-2024.1 installed and you wish to
          rebuild and install the API documentation, a meson configure command will
          reset this option.