gnu: emacs-svg-icon: Fix grammar.
[jackhill/guix/guix.git] / gnu / packages / electronics.scm
index 3f9ca33..861544e 100644 (file)
@@ -1,7 +1,9 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2017 Theodoros Foradis <theodoros@foradis.org>
-;;; Copyright © 2018, 2019, 2020 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018–2021 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2019 Clément Lassieur <clement@lassieur.org>
+;;; Copyright © 2021 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2021 Leo Famulari <leo@famulari.name>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
   #: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
@@ -215,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
@@ -223,7 +229,7 @@ format support.")
                     version ".tar.gz"))
               (sha256
                (base32
-                "15vpn1psriadcbl6v9swwgws7dva85ld03yv6g1mgm27kx11697m"))))
+                "1f0a2k8qdcin0pqiqq5ni4khzsnv61l21v1dfdjzayw96qzl9l3i"))))
     (native-inputs
      `(("pkg-config" ,pkg-config)))
     (inputs
@@ -239,15 +245,16 @@ format support.")
 (define-public pulseview
   (package
     (name "pulseview")
-    (version "0.4.1")
+    (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
-                "0bvgmkgz37n2bi9niskpl05hf7rsj1lj972fbrgnlz25s4ywxrwy"))))
+                "1jxbpz1h3m1mgrxw74rnihj8vawgqdpf6c33cqqbyd8v7rxgfhph"))
+              (patches (search-patches "pulseview-qt515-compat.patch"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags '("-DENABLE_TESTS=y")
@@ -262,7 +269,8 @@ format support.")
                  (rmdir "doc"))
                #t))))))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("qttools" ,qttools)))
     (inputs
      `(("boost" ,boost)
        ("glib" ,glib)
@@ -276,3 +284,52 @@ format support.")
     (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+)))