~ruther/guix-local

37903729798cc9a3ea2b803cd7c4de4cc80572b5 — Maxim Cournoyer 5 years ago 0195d4b
gnu: gusb-minimal: Introduce minimal variant.

This is needed to prevent a dependency cycle between Inkscape and GTK+.

* gnu/packages/gnome.scm (gusb-minimal): New variable.
[configure-flags]: Disable docs.
[native-inputs]: Remove gtk-doc.
(gusb): Rewrite in terms of gusb-minimal.
[configure-flags]: Enable docs.
[native-inputs]: Add gtk-doc.
1 files changed, 27 insertions(+), 15 deletions(-)

M gnu/packages/gnome.scm
M gnu/packages/gnome.scm => gnu/packages/gnome.scm +27 -15
@@ 6587,38 6587,38 @@ GVFS comes with a set of backends, including trash support, SFTP, SMB, HTTP,
DAV, and others.")
    (license license:lgpl2.0+)))

(define-public gusb
(define-public gusb-minimal
  (package
    (name "gusb")
    (name "gusb-minimal")
    (version "0.3.5")
    (source (origin
              (method git-fetch)
              (uri (git-reference
                     (url "https://github.com/hughsie/libgusb")
                     (commit version)))
                    (url "https://github.com/hughsie/libgusb")
                    (commit version)))
              (file-name (git-file-name name version))
              (sha256
               (base32
                "0ifhdqhpyxwsg0z9s1anj7cf5pya5qsqyp5ksh9n7mqwa4lrjkl8"))))
    (build-system meson-build-system)
    (arguments
     `(#:tests? #f          ;libusb fails to initialize.  Wonder what that is.
       #:configure-flags
       (cons "-Ddocs=false"
             (if ,(%current-target-system)
                 ;; Introspection data cannot currently be cross-compiled.
                 '("-Dintrospection=false"
                   ;; Requires introspection data.
                   "-Dvapi=false")
                 '()))))
    (native-inputs
     `(("gobject-introspection" ,gobject-introspection)
       ("pkg-config" ,pkg-config)
       ("vala" ,vala)
       ("gtk-doc" ,gtk-doc/stable)))
       ("vala" ,vala)))
    (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.
       #:configure-flags
       ,(if (%current-target-system)
            ;; Introspection data cannot currently be cross-compiled.
            ''("-Dintrospection=false"
               ;; Requires introspection data.
               "-Dvapi=false")
            ''())))
    (home-page "https://github.com/hughsie/libgusb")
    (synopsis "GLib binding for libusb1")
    (description


@@ 6628,6 6628,18 @@ 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+)))

(define-public gusb
  (package/inherit gusb-minimal
    (name "gusb")
    (arguments
     (substitute-keyword-arguments (package-arguments gusb-minimal)
       ((#:configure-flags flags)
        `(cons "-Ddocs=true"
               (delete "-Ddocs=false" ,flags)))))
    (native-inputs
     (cons `("gtk-doc" ,gtk-doc/stable)
           (package-native-inputs gusb-minimal)))))

(define-public simple-scan
  (package
    (name "simple-scan")