summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/gnome.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm
index fb5c67e396..ebf1383d92 100644
--- a/gnu/packages/gnome.scm
+++ b/gnu/packages/gnome.scm
@@ -3162,3 +3162,48 @@ mounts to non-GIO applications using FUSE.
 GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
 DAV, and others.")
     (license license:lgpl2.0+)))
+
+(define-public gusb
+  (package
+    (name "gusb")
+    (version "0.2.6")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/hughsie/libgusb/archive/"
+                                  "gusb_"
+                                  (string-join (string-split version #\.)
+                                               "_")
+                                  ".tar.gz"))
+              (sha256
+               (base32
+                "0h9dzaza81b0mx5jfh5cnc31xdynl0jsxgwvl6vqyhy8mnwfi5nr"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("glib:bin" ,glib "bin")         ; for glib-genmarshal, etc.
+       ("gobject-introspection" ,gobject-introspection)
+       ("pkg-config" ,pkg-config)
+       ("vala" ,vala)
+       ("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("libtool" ,libtool)
+       ("gtk-doc" ,gtk-doc)))
+    (propagated-inputs
+     ;; Both of these are required by gusb.pc.
+     `(("glib" ,glib)
+       ("libusb" ,libusb)))
+    (arguments
+     `(#:tests? #f  ; libusb fails to initialize.  Wonder what that is.
+       #:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'autogen
+                    (lambda _
+                      (and (zero? (system* "gtkdocize"))
+                           (zero? (system* "autoreconf" "-vif"))))))))
+    (home-page "https://github/hughsie/libgusb")
+    (synopsis "A GLib binding for libusb1")
+    (description
+     "GUsb is a GObject wrapper for libusb1 that makes it easy to do
+asynchronous control, bulk and interrupt transfers with proper cancellation
+and integration into a mainloop.  This makes it easy to integrate low level
+USB transfers with your high-level application or system daemon.")
+    (license license:lgpl2.1+)))