mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 05:18:07 -05:00
gnu: Add libsigrok.
* gnu/packages/electronics.scm (libsigrok): New variable. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
This commit is contained in:
parent
7a19de9c48
commit
1c12be9682
1 changed files with 83 additions and 0 deletions
|
@ -24,9 +24,12 @@ (define-module (gnu packages electronics)
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (gnu packages)
|
#:use-module (gnu packages)
|
||||||
#:use-module (gnu packages check)
|
#:use-module (gnu packages check)
|
||||||
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages documentation)
|
#:use-module (gnu packages documentation)
|
||||||
#:use-module (gnu packages glib)
|
#:use-module (gnu packages glib)
|
||||||
#:use-module (gnu packages graphviz)
|
#:use-module (gnu packages graphviz)
|
||||||
|
#:use-module (gnu packages libftdi)
|
||||||
|
#:use-module (gnu packages libusb)
|
||||||
#:use-module (gnu packages pkg-config)
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages python)
|
#:use-module (gnu packages python)
|
||||||
#:use-module (gnu packages sdcc))
|
#:use-module (gnu packages sdcc))
|
||||||
|
@ -111,3 +114,83 @@ (define-public sigrok-firmware-fx2lafw
|
||||||
(description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable
|
(description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable
|
||||||
as simple logic analyzer and/or oscilloscope hardware.")
|
as simple logic analyzer and/or oscilloscope hardware.")
|
||||||
(license license:gpl2+)))
|
(license license:gpl2+)))
|
||||||
|
|
||||||
|
(define-public libsigrok
|
||||||
|
(package
|
||||||
|
(name "libsigrok")
|
||||||
|
(version "0.5.0")
|
||||||
|
(source (origin
|
||||||
|
(method url-fetch)
|
||||||
|
(uri (string-append
|
||||||
|
"http://sigrok.org/download/source/libsigrok/libsigrok-"
|
||||||
|
version ".tar.gz"))
|
||||||
|
(sha256
|
||||||
|
(base32
|
||||||
|
"197kr5ip98lxn7rv10zs35d1w0j7265s0xvckx0mq2l8kdvqd32c"))))
|
||||||
|
(outputs '("out" "doc"))
|
||||||
|
(arguments
|
||||||
|
`(#:tests? #f ; tests need usb access
|
||||||
|
#:phases
|
||||||
|
(modify-phases %standard-phases
|
||||||
|
(add-before 'configure 'change-udev-group
|
||||||
|
(lambda _
|
||||||
|
(let ((file "contrib/z60_libsigrok.rules"))
|
||||||
|
(substitute* file
|
||||||
|
(("plugdev") "dialout"))
|
||||||
|
(rename-file file "contrib/60-libsigrok.rules")
|
||||||
|
#t)))
|
||||||
|
(add-after 'build 'build-doc
|
||||||
|
(lambda _
|
||||||
|
(zero? (system* "doxygen"))))
|
||||||
|
(add-after 'install 'install-doc
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(copy-recursively "doxy/html-api"
|
||||||
|
(string-append (assoc-ref outputs "doc")
|
||||||
|
"/share/doc/libsigrok"))
|
||||||
|
#t))
|
||||||
|
(add-after 'install-doc 'install-udev-rules
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(install-file "contrib/60-libsigrok.rules"
|
||||||
|
(string-append
|
||||||
|
(assoc-ref outputs "out")
|
||||||
|
"/lib/udev/rules.d/"))))
|
||||||
|
(add-after 'install-udev-rules 'install-fw
|
||||||
|
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||||
|
(let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
|
||||||
|
(out (assoc-ref outputs "out"))
|
||||||
|
(dir-suffix "/share/sigrok-firmware/")
|
||||||
|
(input-dir (string-append fx2lafw dir-suffix))
|
||||||
|
(output-dir (string-append out dir-suffix)))
|
||||||
|
(mkdir-p output-dir)
|
||||||
|
(for-each
|
||||||
|
(lambda (file)
|
||||||
|
(install-file file output-dir))
|
||||||
|
(find-files input-dir ".")))
|
||||||
|
#t)))))
|
||||||
|
(native-inputs
|
||||||
|
`(("check" ,check)
|
||||||
|
("doxygen" ,doxygen)
|
||||||
|
("graphviz" ,graphviz)
|
||||||
|
("sigrok-firmware-fx2lafw" ,sigrok-firmware-fx2lafw)
|
||||||
|
("pkg-config" ,pkg-config)))
|
||||||
|
(inputs
|
||||||
|
`(("python" ,python)
|
||||||
|
("zlib" ,zlib)))
|
||||||
|
;; libsigrokcxx.pc lists "glibmm" in Requires
|
||||||
|
;; libsigrok.pc lists "libserialport", "libusb", "libftdi" and "libzip" in
|
||||||
|
;; Requires.private and "glib" in Requires
|
||||||
|
(propagated-inputs
|
||||||
|
`(("glib" ,glib)
|
||||||
|
("glibmm" ,glibmm)
|
||||||
|
("libserialport" ,libserialport)
|
||||||
|
("libusb" ,libusb)
|
||||||
|
("libftdi" ,libftdi)
|
||||||
|
("libzip" ,libzip)))
|
||||||
|
(build-system gnu-build-system)
|
||||||
|
(home-page "http://www.sigrok.org/wiki/Libsigrok")
|
||||||
|
(synopsis "Library which provides the basic hardware access drivers for logic
|
||||||
|
analyzers")
|
||||||
|
(description "@code{libsigrok} is a shared library written in C which provides the basic hardware
|
||||||
|
access drivers for logic analyzers and other supported devices, as well as input/output file
|
||||||
|
format support.")
|
||||||
|
(license license:gpl3+)))
|
||||||
|
|
Loading…
Reference in a new issue