X-Git-Url: https://git.hcoop.net/jackhill/guix/guix.git/blobdiff_plain/61c58b7827b336877758d824aafd0c5e4a50713f..e0f983c0d55e301fc646d956039cc425ad18076d:/gnu/packages/electronics.scm diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm index ddee5bac13..861544ee22 100644 --- a/gnu/packages/electronics.scm +++ b/gnu/packages/electronics.scm @@ -1,6 +1,9 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2017 Theodoros Foradis -;;; Copyright © 2018 Tobias Geerinckx-Rice +;;; Copyright © 2018–2021 Tobias Geerinckx-Rice +;;; Copyright © 2019 Clément Lassieur +;;; Copyright © 2021 Efraim Flashner +;;; Copyright © 2021 Leo Famulari ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,18 +28,25 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (gnu packages) + #:use-module (gnu packages algebra) + #:use-module (gnu packages base) + #:use-module (gnu packages bash) #:use-module (gnu packages boost) #:use-module (gnu packages check) #:use-module (gnu packages compression) #:use-module (gnu packages documentation) + #:use-module (gnu packages embedded) + #:use-module (gnu packages gawk) #:use-module (gnu packages glib) #:use-module (gnu packages graphviz) + #:use-module (gnu packages gtk) #:use-module (gnu packages libftdi) #:use-module (gnu packages libusb) + #:use-module (gnu packages linux) + #:use-module (gnu packages m4) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages qt) - #:use-module (gnu packages sdcc)) + #:use-module (gnu packages qt)) (define-public libserialport (package @@ -60,7 +70,7 @@ to take care of the OS-specific details when writing software that uses serial p (define-public libsigrokdecode (package (name "libsigrokdecode") - (version "0.5.2") + (version "0.5.3") (source (origin (method url-fetch) (uri (string-append @@ -68,7 +78,7 @@ to take care of the OS-specific details when writing software that uses serial p version ".tar.gz")) (sha256 (base32 - "1w434nl1syjkvwl08lji3r9sr60lbxp1nqys8hqwzv2lgiwrx3g0")))) + "1h1zi1kpsgf6j2z8j8hjpv1q7n49i3fhqjn8i178rka3cym18265")))) (outputs '("out" "doc")) (arguments `(#:phases @@ -84,7 +94,7 @@ to take care of the OS-specific details when writing software that uses serial p "/share/doc/libsigrokdecode")) #t))))) (native-inputs - `(("check" ,check) + `(("check" ,check-0.14) ("doxygen" ,doxygen) ("graphviz" ,graphviz) ("pkg-config" ,pkg-config))) @@ -102,7 +112,7 @@ to take care of the OS-specific details when writing software that uses serial p (define-public sigrok-firmware-fx2lafw (package (name "sigrok-firmware-fx2lafw") - (version "0.1.5") + (version "0.1.7") (source (origin (method url-fetch) (uri (string-append @@ -110,9 +120,19 @@ to take care of the OS-specific details when writing software that uses serial p "sigrok-firmware-fx2lafw-" version ".tar.gz")) (sha256 (base32 - "0bbdgy4rpc00jl0l0744m2ibjlqi26bhrkjr7vplivdsjdmhjx6a")))) + "0fyfd82mvrcf55v5a3afq1mh1kfswk4c37qrbln6x92jm3b41x53")))) + (arguments + `(#:implicit-inputs? #f)) (native-inputs - `(("sdcc" ,sdcc))) + `(("awk" ,gawk) + ("bash" ,bash) + ("coreutils" ,coreutils) + ("grep" ,grep) + ("gzip" ,gzip) + ("make" ,gnu-make) + ("sdcc" ,sdcc) + ("sed" ,sed) + ("tar" ,tar))) (build-system gnu-build-system) (home-page "https://www.sigrok.org/wiki/Fx2lafw") (synopsis "Firmware for Cypress FX2 chips") @@ -123,7 +143,7 @@ as simple logic analyzer and/or oscilloscope hardware.") (define-public libsigrok (package (name "libsigrok") - (version "0.5.1") + (version "0.5.2") (source (origin (method url-fetch) (uri (string-append @@ -131,7 +151,7 @@ as simple logic analyzer and/or oscilloscope hardware.") version ".tar.gz")) (sha256 (base32 - "171b553dir5gn6w4f7n37waqk62nq2kf1jykx4ifjacdz5xdw3z4")))) + "0g6fl684bpqm5p2z4j12c62m45j1dircznjina63w392ns81yd2d")))) (outputs '("out" "doc")) (arguments `(#:tests? #f ; tests need USB access @@ -172,8 +192,7 @@ as simple logic analyzer and/or oscilloscope hardware.") (find-files input-dir "."))) #t))))) (native-inputs - `(("check" ,check) - ("doxygen" ,doxygen) + `(("doxygen" ,doxygen) ("graphviz" ,graphviz) ("sigrok-firmware-fx2lafw" ,sigrok-firmware-fx2lafw) ("pkg-config" ,pkg-config))) @@ -202,7 +221,7 @@ format support.") (define-public sigrok-cli (package (name "sigrok-cli") - (version "0.7.1") + (version "0.7.2") (source (origin (method url-fetch) (uri (string-append @@ -210,7 +229,7 @@ format support.") version ".tar.gz")) (sha256 (base32 - "15vpn1psriadcbl6v9swwgws7dva85ld03yv6g1mgm27kx11697m")))) + "1f0a2k8qdcin0pqiqq5ni4khzsnv61l21v1dfdjzayw96qzl9l3i")))) (native-inputs `(("pkg-config" ,pkg-config))) (inputs @@ -226,19 +245,32 @@ format support.") (define-public pulseview (package (name "pulseview") - (version "0.4.0") + (version "0.4.2") (source (origin (method url-fetch) (uri (string-append - "http://sigrok.org/download/source/pulseview/pulseview-" + "https://sigrok.org/download/source/pulseview/pulseview-" version ".tar.gz")) (sha256 (base32 - "1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q")))) + "1jxbpz1h3m1mgrxw74rnihj8vawgqdpf6c33cqqbyd8v7rxgfhph")) + (patches (search-patches "pulseview-qt515-compat.patch")))) + (build-system cmake-build-system) (arguments - `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fext-numeric-literals"))) + `(#:configure-flags '("-DENABLE_TESTS=y") + #:phases + (modify-phases %standard-phases + (add-after 'install 'remove-empty-doc-directory + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion (string-append out "/share") + ;; Use RMDIR to never risk silently deleting files. + (rmdir "doc/pulseview") + (rmdir "doc")) + #t)))))) (native-inputs - `(("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config) + ("qttools" ,qttools))) (inputs `(("boost" ,boost) ("glib" ,glib) @@ -247,9 +279,57 @@ format support.") ("libsigrokdecode" ,libsigrokdecode) ("qtbase" ,qtbase) ("qtsvg" ,qtsvg))) - (build-system cmake-build-system) (home-page "https://www.sigrok.org/wiki/PulseView") (synopsis "Qt based logic analyzer, oscilloscope and MSO GUI for sigrok") (description "PulseView is a Qt based logic analyzer, oscilloscope and MSO GUI for sigrok.") (license license:gpl3+))) + +(define-public comedilib + (package + (name "comedilib") + (version "0.12.0") + (source (origin + (method url-fetch) + (uri (string-append "https://www.comedi.org/download/comedilib-" + version ".tar.gz")) + (sha256 + (base32 + "0wzh23iyix4xj211fsd8hwrdcjhg2w5jswk9kywb1gpd3h8afajj")))) + (build-system gnu-build-system) + (synopsis "Library for Comedi") + (description "Comedilib is a user-space library that provides a +developer-friendly interface to Comedi devices. Comedi is a collection of +drivers for a variety of common data acquisition plug-in boards. The drivers +are implemented as a core Linux kernel module providing common functionality and +individual low-level driver modules.") + (home-page "https://www.comedi.org/") + (license license:lgpl2.1))) + +(define-public xoscope + (package + (name "xoscope") + (version "2.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/xoscope/xoscope/" + version "/xoscope-" version ".tar.gz")) + (sha256 + (base32 + "0a5ycfc1qdmibvagc82r2mhv2i99m6pndy5i6ixas3j2297g6pgq")))) + (build-system gnu-build-system) + (native-inputs + `(("m4" ,m4) + ("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("comedilib" ,comedilib) + ("fftw" ,fftw) + ("gtk+" ,gtk+) + ("gtkdatabox" ,gtkdatabox))) + (synopsis "Digital oscilloscope") + (description "Xoscope is a digital oscilloscope that can acquire signals +from ALSA, ESD, and COMEDI sources. This package currently does not include +support for ESD sources.") + (home-page "http://xoscope.sourceforge.net/") + (license license:gpl2+)))