diff options
-rw-r--r-- | gnu/packages/electronics.scm | 144 |
1 files changed, 72 insertions, 72 deletions
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index 96b8b12142..54f246faa6 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -24,6 +24,7 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) @@ -145,78 +146,77 @@ as simple logic analyzer and/or oscilloscope hardware.") (license license:gpl2+))) (define-public libsigrok - (package - (name "libsigrok") - (version "0.5.2") - (source (origin - (method url-fetch) - (uri (string-append - "http://sigrok.org/download/source/libsigrok/libsigrok-" - version ".tar.gz")) - (sha256 - (base32 - "0g6fl684bpqm5p2z4j12c62m45j1dircznjina63w392ns81yd2d")))) - (outputs '("out" "doc")) - (arguments - `(#:tests? #f ; tests need USB access - #:phases - (modify-phases %standard-phases - (add-before 'configure 'change-udev-group - (lambda _ - (substitute* (find-files "contrib" "\\.rules$") - (("plugdev") "dialout")) - #t)) - (add-after 'build 'build-doc - (lambda _ - (invoke "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) - (let* ((out (assoc-ref outputs "out")) - (rules (string-append out "/lib/udev/rules.d/"))) - (for-each (lambda (file) - (install-file file rules)) - (find-files "contrib" "\\.rules$")) - #t))) - (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))) - (for-each - (lambda (file) - (install-file file output-dir)) - (find-files input-dir "."))) - #t))))) - (native-inputs - (list doxygen graphviz sigrok-firmware-fx2lafw pkg-config)) - (inputs - (list python zlib)) - ;; libsigrokcxx.pc lists "glibmm" in Requires - ;; libsigrok.pc lists "libserialport", "libusb", "libftdi" and "libzip" in - ;; Requires.private and "glib" in Requires - (propagated-inputs - (list glib - glibmm-2.64 - libserialport - libusb - libftdi - libzip)) - (build-system gnu-build-system) - (home-page "https://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+))) + (let ((commit "a7e919a3a6b7fd511acbe1a280536b76c70c28d2") + (revision "1")) + (package + (name "libsigrok") + (version (git-version "0.5.2" revision commit)) + (source + (origin + (method git-fetch) + (uri (git-reference + (url "git://sigrok.org/libsigrok") + (commit commit))) + (sha256 + (base32 "0km3fyv5s2byrm4zpbss2527ynhw4nb67imnbawwic2a6zh9jiyc")) + (file-name (git-file-name name version)))) + (outputs '("out" "doc")) + (arguments + `(#:tests? #f ; tests need USB access + #:phases + (modify-phases %standard-phases + (add-before 'configure 'change-udev-group + (lambda _ + (substitute* (find-files "contrib" "\\.rules$") + (("plugdev") "dialout")))) + (add-after 'build 'build-doc + (lambda _ + (invoke "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")))) + (add-after 'install-doc 'install-udev-rules + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (rules (string-append out "/lib/udev/rules.d/"))) + (for-each (lambda (file) + (install-file file rules)) + (find-files "contrib" "\\.rules$"))))) + (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))) + (for-each + (lambda (file) + (install-file file output-dir)) + (find-files input-dir ".")))))))) + (native-inputs + (list autoconf automake doxygen graphviz libtool + sigrok-firmware-fx2lafw pkg-config)) + (inputs + (list python zlib)) + ;; libsigrokcxx.pc lists "glibmm" in Requires libsigrok.pc lists + ;; "libserialport", "libusb", "libftdi" and "libzip" in Requires.private + ;; and "glib" in Requires + (propagated-inputs + (list glib + glibmm-2.64 + libserialport + libusb + libftdi + libzip)) + (build-system gnu-build-system) + (home-page "https://www.sigrok.org/wiki/Libsigrok") + (synopsis "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+)))) (define-public sigrok-cli (package |