GNU bug report logs - #27355
[PATCH 0/7] Add sigrok

Previous Next

Package: guix-patches;

Reported by: Theodoros Foradis <theodoros.for <at> openmailbox.org>

Date: Wed, 14 Jun 2017 09:56:01 UTC

Severity: normal

Tags: patch

Done: Danny Milosavljevic <dannym <at> scratchpost.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 27355 in the body.
You can then email your comments to 27355 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 14 Jun 2017 09:56:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Theodoros Foradis <theodoros.for <at> openmailbox.org>:
New bug report received and forwarded. Copy sent to guix-patches <at> gnu.org. (Wed, 14 Jun 2017 09:56:01 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: guix-patches <at> gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH 0/7] Add sigrok
Date: Wed, 14 Jun 2017 12:54:34 +0300
Hello,

This patch series includes all needed packages to run sigrok, a signal
analysis software suite.

I did introduce a new file, electronics.scm, which may not be a good
idea, I could refactor the patches to apply to an existing one.

Also, the package libsigrok, includes a file with udev rules. I have our
package change the udev group from plugdev to dialout. Is that correct?
Or should it be some other group it changes to?


* Theodoros Foradis(7):
 gnu: Add pulseview.
 gnu: Add sigrok-cli.
 gnu: Add libsigrok.
 gnu: Add sigrok-firmware-fx2lafw.
 gnu: Add libsigrokdecode.
 gnu: Add libserialport.
 gnu: Add libzip.
 gnu/local.mk                 |   1 +
 gnu/packages/electronics.scm | 227 ++++++++++++++++++++++++++++++++++++++
 gnu/packages/zip.scm         |  32 ++++++++++++++
 3 files changed, 260 insertions(+)
 create mode 100644 gnu/packages/electronics.scm
-- 
Theodoros Foradis




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 14 Jun 2017 09:59:01 GMT) Full text and rfc822 format available.

Message #8 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH 1/7] gnu: Add libzip.
Date: Wed, 14 Jun 2017 12:58:07 +0300
* gnu/packages/zip.scm (libzip): New variable.
---
 gnu/packages/zip.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/zip.scm b/gnu/packages/zip.scm
index 8feb4fea2..4f0e7ff32 100644
--- a/gnu/packages/zip.scm
+++ b/gnu/packages/zip.scm
@@ -1,6 +1,7 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2013 Andreas Enge <andreas <at> enge.fr>
 ;;; Copyright © 2014, 2015 Mark H Weaver <mhw <at> netris.org>
+;;; Copyright © 2017 Theodoros Foradis <theodoros.for <at> openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -175,3 +176,34 @@ recreates the stored directory structure by default.")
 manipulate, read, and write Zip archive files.")
     (home-page "http://search.cpan.org/~adamk/Archive-Zip-1.30/")
     (license license:perl-license)))
+
+(define-public libzip
+  (package
+    (name "libzip")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://nih.at/libzip/libzip-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "17vxj2ffsxwh8lkc6801ppmwj15jp8q58rin76znxfbx88789ybc"))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-perl
+           (lambda _
+             (substitute* "regress/runtest.in"
+               (("/usr/bin/env perl") (which "perl"))))))))
+    (inputs
+     `(("perl" ,perl)
+       ("zlib" ,zlib)))
+    (build-system gnu-build-system)
+    (home-page "https://nih.at/libzip/index.html")
+    (synopsis "C library for reading, creating, and modifying zip archives")
+    (description "Libzip is a C library for reading, creating, and modifying zip
+archives.  Files can be added from data buffers, files, or compressed data copied
+directly from other zip archives.  Changes made without closing the archive can be
+reverted.")
+    (license license:bsd-3)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 14 Jun 2017 09:59:02 GMT) Full text and rfc822 format available.

Message #11 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH 2/7] gnu: Add libserialport.
Date: Wed, 14 Jun 2017 12:58:08 +0300
* gnu/packages/electronics.scm (libserialport): New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk                 |  1 +
 gnu/packages/electronics.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 gnu/packages/electronics.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index f761ad21e..a64d581cb 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -126,6 +126,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ebook.scm			\
   %D%/packages/ed.scm				\
   %D%/packages/education.scm			\
+  %D%/packages/electronics.scm			\
   %D%/packages/elf.scm				\
   %D%/packages/elixir.scm			\
   %D%/packages/embedded.scm			\
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
new file mode 100644
index 000000000..53c7316df
--- /dev/null
+++ b/gnu/packages/electronics.scm
@@ -0,0 +1,44 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Theodoros Foradis <theodoros.for <at> openmailbox.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages electronics)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (guix download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (gnu packages))
+
+(define-public libserialport
+  (package
+    (name "libserialport")
+    (version "0.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/libserialport/libserialport-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "17ajlwgvyyrap8z7f16zcs59pksvncwbmd3mzf98wj7zqgczjaja"))))
+    (build-system gnu-build-system)
+    (home-page "http://sigrok.org/wiki/Libserialport")
+    (synopsis "Library for using serial ports")
+    (description "Libserialport is a minimal shared library written in C that is intended
+to take care of the OS-specific details when writing software that uses serial ports.")
+    (license license:lgpl3+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 14 Jun 2017 09:59:02 GMT) Full text and rfc822 format available.

Message #14 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH 3/7] gnu: Add libsigrokdecode.
Date: Wed, 14 Jun 2017 12:58:09 +0300
* gnu/packages/electronics.scm (libsigrokdecode): New variable.
---
 gnu/packages/electronics.scm | 32 +++++++++++++++++++++++++++++++-
 1 file changed, 31 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 53c7316df..90b025680 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -22,7 +22,11 @@
  #:use-module (guix download)
  #:use-module ((guix licenses) #:prefix license:)
  #:use-module (guix build-system gnu)
- #:use-module (gnu packages))
+ #:use-module (gnu packages)
+ #:use-module (gnu packages check)
+ #:use-module (gnu packages glib)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages python))
 
 (define-public libserialport
   (package
@@ -42,3 +46,29 @@
     (description "Libserialport is a minimal shared library written in C that is intended
 to take care of the OS-specific details when writing software that uses serial ports.")
     (license license:lgpl3+)))
+
+(define-public libsigrokdecode
+  (package
+    (name "libsigrokdecode")
+    (version "0.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1hfigfj1976qk11kfsgj75l20qvyq8c9p2h4mjw23d59rsg5ga2a"))))
+    (native-inputs
+     `(("check" ,check)
+       ("pkg-config" ,pkg-config)))
+    ;; libsigrokdecode.pc lists "python" in Requires.private, and "glib" in Requires.
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("python" ,python)))
+    (build-system gnu-build-system)
+    (home-page "http://www.sigrok.org/wiki/Libsigrokdecode")
+    (synopsis "Library providing (streaming) protocol decoding functionality")
+    (description "Libsigrokdecode is a shared library written in C, which provides
+(streaming) protocol decoding functionality.")
+    (license license:gpl3+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 14 Jun 2017 09:59:03 GMT) Full text and rfc822 format available.

Message #17 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH 4/7] gnu: Add sigrok-firmware-fx2lafw.
Date: Wed, 14 Jun 2017 12:58:10 +0300
* gnu/packages/electronics.scm (sigrok-firmware-fx2lafw): New variable.
---
 gnu/packages/electronics.scm | 24 +++++++++++++++++++++++-
 1 file changed, 23 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 90b025680..d1edb008d 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -26,7 +26,8 @@
  #:use-module (gnu packages check)
  #:use-module (gnu packages glib)
  #:use-module (gnu packages pkg-config)
- #:use-module (gnu packages python))
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages sdcc))
 
 (define-public libserialport
   (package
@@ -72,3 +73,24 @@ to take care of the OS-specific details when writing software that uses serial p
     (description "Libsigrokdecode is a shared library written in C, which provides
 (streaming) protocol decoding functionality.")
     (license license:gpl3+)))
+
+(define-public sigrok-firmware-fx2lafw
+  (package
+    (name "sigrok-firmware-fx2lafw")
+    (version "0.1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/sigrok-firmware-fx2lafw/"
+                    "sigrok-firmware-fx2lafw-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0bbdgy4rpc00jl0l0744m2ibjlqi26bhrkjr7vplivdsjdmhjx6a"))))
+    (native-inputs
+     `(("sdcc" ,sdcc)))
+    (build-system gnu-build-system)
+    (home-page "http://www.sigrok.org/wiki/Fx2lafw")
+    (synopsis "Firmware for Cypress FX2 chips")
+    (description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable
+as simple logic analyzer and/or oscilloscope hardware.")
+    (license license:gpl2+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 14 Jun 2017 09:59:03 GMT) Full text and rfc822 format available.

Message #20 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH 5/7] gnu: Add libsigrok.
Date: Wed, 14 Jun 2017 12:58:11 +0300
* gnu/packages/electronics.scm (libsigrok): New variable.
---
 gnu/packages/electronics.scm | 76 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 75 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index d1edb008d..fce31fa28 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -24,10 +24,15 @@
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
  #:use-module (gnu packages check)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages documentation)
  #:use-module (gnu packages glib)
+ #:use-module (gnu packages libftdi)
+ #:use-module (gnu packages libusb)
  #:use-module (gnu packages pkg-config)
  #:use-module (gnu packages python)
- #:use-module (gnu packages sdcc))
+ #:use-module (gnu packages sdcc)
+ #:use-module (gnu packages zip))
 
 (define-public libserialport
   (package
@@ -94,3 +99,72 @@ to take care of the OS-specific details when writing software that uses serial p
     (description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable
 as simple logic analyzer and/or oscilloscope hardware.")
     (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"))))
+    (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 'install '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-eudev-rules 'install-fw
+           (lambda* (#:key inputs outputs #:allow-other-keys)
+             (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
+                    (out (assoc-ref outputs "out"))
+                    (dir "/share/sigrok-firmware/")
+                    (input-dir (string-append fx2lafw dir))
+                    (output-dir (string-append out dir)))
+               (mkdir-p output-dir)
+               (for-each
+                (lambda (file)
+                  (install-file file output-dir))
+                (find-files input-dir ".")))
+             #t)))))
+    (native-inputs
+     `(("check" ,check)
+       ("doxygen" ,doxygen)
+       ("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 "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+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 14 Jun 2017 09:59:04 GMT) Full text and rfc822 format available.

Message #23 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH 6/7] gnu: Add sigrok-cli.
Date: Wed, 14 Jun 2017 12:58:12 +0300
* gnu/packages/electronics.scm (sigrok-cli): New variable.
---
 gnu/packages/electronics.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index fce31fa28..7353ac36a 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -168,3 +168,27 @@ analyzers")
 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
+    (name "sigrok-cli")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "072ylscp0ppgii1k5j07hhv7dfmni4vyhxnsvxmgqgfyq9ldjsan"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("libsigrok" ,libsigrok)
+       ("libsigrokdecode" ,libsigrokdecode)))
+    (build-system gnu-build-system)
+    (home-page "http://sigrok.org/wiki/Sigrok-cli")
+    (synopsis "Command-line frontend for sigrok")
+    (description "Sigrok-cli is a command-line frontend for sigrok.")
+    (license license:gpl3+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 14 Jun 2017 09:59:04 GMT) Full text and rfc822 format available.

Message #26 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH 7/7] gnu: Add pulseview.
Date: Wed, 14 Jun 2017 12:58:13 +0300
* gnu/packages/electronics.scm (pulseview): New variable.
---
 gnu/packages/electronics.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 7353ac36a..33ddaa8b8 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -21,8 +21,10 @@
  #:use-module (guix packages)
  #:use-module (guix download)
  #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system cmake)
  #:use-module (guix build-system gnu)
  #:use-module (gnu packages)
+   #:use-module (gnu packages boost)
  #:use-module (gnu packages check)
  #:use-module (gnu packages compression)
  #:use-module (gnu packages documentation)
@@ -31,6 +33,7 @@
  #:use-module (gnu packages libusb)
  #: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 zip))
 
@@ -192,3 +195,33 @@ format support.")
     (synopsis "Command-line frontend for sigrok")
     (description "Sigrok-cli is a command-line frontend for sigrok.")
     (license license:gpl3+)))
+
+(define-public pulseview
+  (package
+    (name "pulseview")
+    (version "0.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/pulseview/pulseview-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q"))))
+    (arguments
+     `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fext-numeric-literals")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("boost" ,boost)
+       ("glib" ,glib)
+       ("glibmm" ,glibmm)
+       ("qt" ,qt)
+       ("libsigrok" ,libsigrok)
+       ("libsigrokdecode" ,libsigrokdecode)))
+    (build-system cmake-build-system)
+    (home-page "http://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+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Thu, 15 Jun 2017 12:34:02 GMT) Full text and rfc822 format available.

Message #29 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Cc: 27355 <at> debbugs.gnu.org
Subject: Re: [bug#27355] [PATCH 1/7] gnu: Add libzip.
Date: Thu, 15 Jun 2017 14:33:52 +0200
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'patch-perl
> +           (lambda _
> +             (substitute* "regress/runtest.in"
> +               (("/usr/bin/env perl") (which "perl"))))))))
> +    (inputs
> +     `(("perl" ,perl)

Hmm.  Sounds like perl is used for regression tests.  Is it used in the derivation?




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 16 Jun 2017 17:43:02 GMT) Full text and rfc822 format available.

Message #32 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: Re: [bug#27355] [PATCH 1/7] gnu: Add libzip.
Date: Fri, 16 Jun 2017 20:42:50 +0300
Danny Milosavljevic writes:

>> +     `(#:phases
>> +       (modify-phases %standard-phases
>> +         (add-before 'configure 'patch-perl
>> +           (lambda _
>> +             (substitute* "regress/runtest.in"
>> +               (("/usr/bin/env perl") (which "perl"))))))))
>> +    (inputs
>> +     `(("perl" ,perl)
>
> Hmm.  Sounds like perl is used for regression tests.  Is it used in the derivation?

Right, thanks for catching that. I'll move perl to native-inputs.

-- 
Theodoros Foradis




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Mon, 19 Jun 2017 20:21:02 GMT) Full text and rfc822 format available.

Message #35 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Cc: Hartmut Goebel <h.goebel <at> crazy-compilers.com>, 27355 <at> debbugs.gnu.org
Subject: Re: [bug#27355] [PATCH 3/7] gnu: Add libsigrokdecode.
Date: Mon, 19 Jun 2017 22:20:54 +0200
Hi Theodoros,
Hi Hartmut,

the README lists some more dependencies:

 - doxygen (optional, only needed for the C API docs)
 - graphviz (optional, only needed for the C API docs)

Do you think it makes sense to build the API docs?

Also, reading srd.c it seems that this library embeds Python.  Is it still supposed to be a propagated-input then?  It doesn't need the executable at runtime or anything.  Users probably do need the Python standard library, so I guess it's OK...  Hartmut, what do you think?

Extra Python scripts for libsigrokdecode can be installed by the user into ${XDG_DATA_HOME-.local/share}/libsigrokdecode/decoders which is nice.

Additionally, there's an environment variable SIGROKDECODE_DIR too.




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Mon, 19 Jun 2017 20:36:02 GMT) Full text and rfc822 format available.

Message #38 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Cc: 27355 <at> debbugs.gnu.org
Subject: Re: [bug#27355] [PATCH 5/7] gnu: Add libsigrok.
Date: Mon, 19 Jun 2017 22:35:09 +0200
Hi,

On Wed, 14 Jun 2017 12:58:11 +0300
Theodoros Foradis <theodoros.for <at> openmailbox.org> wrote:

> +     `(#:tests? #f ; tests need usb access

All of them?

> +         (add-after 'install 'install-udev-rules
...
> +         (add-after 'install-eudev-rules 'install-fw
                                ^ e?

> +           (lambda* (#:key inputs outputs #:allow-other-keys)
> +             (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
> +                    (out (assoc-ref outputs "out"))
> +                    (dir "/share/sigrok-firmware/")

Maybe "dir-suffix" ?  Not that important...

> +    (description "Libsigrok is a shared library written in C, which provides the basic hardware

                                                               ^ comma looks weird here

Also maybe @code{libsigrok} ?

Otherwise LGTM!




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Mon, 19 Jun 2017 20:39:01 GMT) Full text and rfc822 format available.

Message #41 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Cc: 27355 <at> debbugs.gnu.org
Subject: Re: [bug#27355] [PATCH 7/7] gnu: Add pulseview.
Date: Mon, 19 Jun 2017 22:38:22 +0200
> +       ("qt" ,qt)

Does it work with the newer modular Qt (qtbase, qtserialport, qttools) ?




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Wed, 21 Jun 2017 22:47:01 GMT) Full text and rfc822 format available.

Message #44 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: Re: [bug#27355] [PATCH 3/7] gnu: Add libsigrokdecode.
Date: Wed, 21 Jun 2017 23:34:24 +0300
Hello,

> the README lists some more dependencies:
>
>  - doxygen (optional, only needed for the C API docs)
>  - graphviz (optional, only needed for the C API docs)
>
> Do you think it makes sense to build the API docs?
>

I recall adding those two as native-inputs but the API docs not
building. I will try again though, and see if I can get it to work. It
makes sense to me to have the docs.

> Also, reading srd.c it seems that this library embeds Python.  Is it still supposed to be a propagated-input then?  It doesn't need the executable at runtime or anything.  Users probably do need the Python standard library, so I guess it's OK...  Hartmut, what do you think?
>

libsigrokdecode.pc, that is the pkg-config file  lists python in
Requires.private. If python is not propagated, libsigrok which depends
on libsigrokdecode cannot be built.

Maybe there is another way for this to work? I saw that done in another
package.

> Extra Python scripts for libsigrokdecode can be installed by the user into ${XDG_DATA_HOME-.local/share}/libsigrokdecode/decoders which is nice.
>
> Additionally, there's an environment variable SIGROKDECODE_DIR too.

Does the package have to set any native-search-paths for this, to let
the users know of the environment variable?

-- 
Theodoros Foradis




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Thu, 22 Jun 2017 01:36:01 GMT) Full text and rfc822 format available.

Message #47 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: Re: [bug#27355] [PATCH 7/7] gnu: Add pulseview.
Date: Thu, 22 Jun 2017 02:31:14 +0300
Danny Milosavljevic writes:

>> +       ("qt" ,qt)
>
> Does it work with the newer modular Qt (qtbase, qtserialport, qttools) ?

It does build with qtbase and qtsvg, but icons are missing from the
ui. I didn't manage to find which package provides them, having tried a
few.

Any ideas what that may be? Or should we keep qt as a dependency?

-- 
Theodoros Foradis




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Thu, 22 Jun 2017 01:41:02 GMT) Full text and rfc822 format available.

Message #50 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: Re: [bug#27355] [PATCH 5/7] gnu: Add libsigrok.
Date: Thu, 22 Jun 2017 02:53:47 +0300
Hi,

>> +     `(#:tests? #f ; tests need usb access
>
> All of them?
>

It reports 1 fail out of 1 test, giving out usb permission errors. The
only other test-related target, check-TESTS fails likewise.

>> +         (add-after 'install 'install-udev-rules
> ...
>> +         (add-after 'install-eudev-rules 'install-fw
>                                 ^ e?
>

fixed

>> +           (lambda* (#:key inputs outputs #:allow-other-keys)
>> +             (let* ((fx2lafw (assoc-ref inputs "sigrok-firmware-fx2lafw"))
>> +                    (out (assoc-ref outputs "out"))
>> +                    (dir "/share/sigrok-firmware/")
>
> Maybe "dir-suffix" ?  Not that important...
>

Changed that.

>> +    (description "Libsigrok is a shared library written in C, which provides the basic hardware
>
>                                                                ^ comma looks weird here
>
> Also maybe @code{libsigrok} ?

Changed both. I will send an updated patch series, with all the changes,
as soon as the qt issue with pulseview is resolved.

Regards,
-- 
Theodoros Foradis




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 23 Jun 2017 21:03:01 GMT) Full text and rfc822 format available.

Message #53 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: Re: [bug#27355] [PATCH 3/7] gnu: Add libsigrokdecode.
Date: Sat, 24 Jun 2017 00:02:28 +0300
Hello,

> the README lists some more dependencies:
>
>  - doxygen (optional, only needed for the C API docs)
>  - graphviz (optional, only needed for the C API docs)
>
> Do you think it makes sense to build the API docs?

I am replying to this with un updated patch series, rebased on current
master, because the old wouldn't apply due to migration of zip.scm to
compression.scm.

I have fixed the suggested issues, and added the C API docs for libsigrok
and libsigrokdecode. I did not manage to use the modular qt packages
instead of qt because icons are missing, suggestions are welcome.

Theodoros Foradis(7):
 gnu: Add pulseview.
 gnu: Add sigrok-cli.
 gnu: Add libsigrok.
 gnu: Add sigrok-firmware-fx2lafw.
 gnu: Add libsigrokdecode.
 gnu: Add libserialport.
 gnu: Add libzip.

 gnu/local.mk                 |   1 +
 gnu/packages/compression.scm |  33 +++++++++++++++++++++++++++++++
 gnu/packages/electronics.scm | 253 +++++++++++++++++++++++++++++++++++++
 3 files changed, 287 insertions(+)
 create mode 100644 gnu/packages/electronics.scm
-- 
Theodoros Foradis




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 23 Jun 2017 21:06:02 GMT) Full text and rfc822 format available.

Message #56 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH v2 1/7] gnu: Add libzip.
Date: Sat, 24 Jun 2017 00:05:11 +0300
* gnu/packages/compression.scm (libzip): New variable.
---
 gnu/packages/compression.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm
index 2667ebb97..2ca00a7a4 100644
--- a/gnu/packages/compression.scm
+++ b/gnu/packages/compression.scm
@@ -16,6 +16,7 @@
 ;;; Copyright © 2016 Marius Bakke <mbakke <at> fastmail.com>
 ;;; Copyright © 2017 ng0 <contact.ng0 <at> cryptolab.net>
 ;;; Copyright © 2017 Manolis Fragkiskos Ragkousis <manolis837 <at> gmail.com>
+;;; Copyright © 2017 Theodoros Foradis <theodoros.for <at> openmailbox.org>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1491,3 +1492,35 @@ recreates the stored directory structure by default.")
 manipulate, read, and write Zip archive files.")
     (home-page "http://search.cpan.org/~adamk/Archive-Zip-1.30/")
     (license license:perl-license)))
+
+(define-public libzip
+  (package
+    (name "libzip")
+    (version "1.2.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "https://nih.at/libzip/libzip-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "17vxj2ffsxwh8lkc6801ppmwj15jp8q58rin76znxfbx88789ybc"))))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'patch-perl
+           (lambda _
+             (substitute* "regress/runtest.in"
+               (("/usr/bin/env perl") (which "perl"))))))))
+    (native-inputs
+     `(("perl" ,perl)))
+    (inputs
+     `(("zlib" ,zlib)))
+    (build-system gnu-build-system)
+    (home-page "https://nih.at/libzip/index.html")
+    (synopsis "C library for reading, creating, and modifying zip archives")
+    (description "Libzip is a C library for reading, creating, and modifying zip
+archives.  Files can be added from data buffers, files, or compressed data copied
+directly from other zip archives.  Changes made without closing the archive can be
+reverted.")
+    (license license:bsd-3)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 23 Jun 2017 21:06:02 GMT) Full text and rfc822 format available.

Message #59 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH v2 3/7] gnu: Add libsigrokdecode.
Date: Sat, 24 Jun 2017 00:05:13 +0300
* gnu/packages/electronics.scm (libsigrokdecode): New variable.
---
 gnu/packages/electronics.scm | 50 +++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 49 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 4abe9eea6..a62b06dc5 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -22,7 +22,14 @@
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages))
+  #:use-module (gnu packages)
+  #:use-module (gnu packages check)
+  #:use-module (gnu packages documentation)
+  #:use-module (gnu packages glib)
+  #:use-module (gnu packages graphviz)
+  #:use-module (gnu packages pkg-config)
+  #:use-module (gnu packages python))
+
 
 (define-public libserialport
   (package
@@ -42,3 +49,44 @@
     (description "Libserialport is a minimal shared library written in C that is intended
 to take care of the OS-specific details when writing software that uses serial ports.")
     (license license:lgpl3+)))
+
+(define-public libsigrokdecode
+  (package
+    (name "libsigrokdecode")
+    (version "0.5.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1hfigfj1976qk11kfsgj75l20qvyq8c9p2h4mjw23d59rsg5ga2a"))))
+    (outputs '("out" "doc"))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (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/libsigrokdecode"))
+             #t)))))
+    (native-inputs
+     `(("check" ,check)
+       ("doxygen" ,doxygen)
+       ("graphviz" ,graphviz)
+       ("pkg-config" ,pkg-config)))
+    ;; libsigrokdecode.pc lists "python" in Requires.private, and "glib" in Requires.
+    (propagated-inputs
+     `(("glib" ,glib)
+       ("python" ,python)))
+    (build-system gnu-build-system)
+    (home-page "http://www.sigrok.org/wiki/Libsigrokdecode")
+    (synopsis "Library providing (streaming) protocol decoding functionality")
+    (description "Libsigrokdecode is a shared library written in C, which provides
+(streaming) protocol decoding functionality.")
+    (license license:gpl3+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 23 Jun 2017 21:06:03 GMT) Full text and rfc822 format available.

Message #62 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH v2 2/7] gnu: Add libserialport.
Date: Sat, 24 Jun 2017 00:05:12 +0300
* gnu/packages/electronics.scm (libserialport): New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
 gnu/local.mk                 |  1 +
 gnu/packages/electronics.scm | 44 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 45 insertions(+)
 create mode 100644 gnu/packages/electronics.scm

diff --git a/gnu/local.mk b/gnu/local.mk
index 88ea8daf4..a1c6249a0 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -126,6 +126,7 @@ GNU_SYSTEM_MODULES =				\
   %D%/packages/ebook.scm			\
   %D%/packages/ed.scm				\
   %D%/packages/education.scm			\
+  %D%/packages/electronics.scm			\
   %D%/packages/elf.scm				\
   %D%/packages/elixir.scm			\
   %D%/packages/embedded.scm			\
diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
new file mode 100644
index 000000000..4abe9eea6
--- /dev/null
+++ b/gnu/packages/electronics.scm
@@ -0,0 +1,44 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2017 Theodoros Foradis <theodoros.for <at> openmailbox.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages electronics)
+  #:use-module (guix utils)
+  #:use-module (guix packages)
+  #:use-module (guix download)
+  #:use-module ((guix licenses) #:prefix license:)
+  #:use-module (guix build-system gnu)
+  #:use-module (gnu packages))
+
+(define-public libserialport
+  (package
+    (name "libserialport")
+    (version "0.1.1")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/libserialport/libserialport-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "17ajlwgvyyrap8z7f16zcs59pksvncwbmd3mzf98wj7zqgczjaja"))))
+    (build-system gnu-build-system)
+    (home-page "http://sigrok.org/wiki/Libserialport")
+    (synopsis "Library for using serial ports")
+    (description "Libserialport is a minimal shared library written in C that is intended
+to take care of the OS-specific details when writing software that uses serial ports.")
+    (license license:lgpl3+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 23 Jun 2017 21:06:03 GMT) Full text and rfc822 format available.

Message #65 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH v2 4/7] gnu: Add sigrok-firmware-fx2lafw.
Date: Sat, 24 Jun 2017 00:05:14 +0300
* gnu/packages/electronics.scm (sigrok-firmware-fx2lafw): New variable.
---
 gnu/packages/electronics.scm | 25 +++++++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index a62b06dc5..324864946 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -28,8 +28,8 @@
   #:use-module (gnu packages glib)
   #:use-module (gnu packages graphviz)
   #:use-module (gnu packages pkg-config)
-  #:use-module (gnu packages python))
-
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages sdcc))
 
 (define-public libserialport
   (package
@@ -90,3 +90,24 @@ to take care of the OS-specific details when writing software that uses serial p
     (description "Libsigrokdecode is a shared library written in C, which provides
 (streaming) protocol decoding functionality.")
     (license license:gpl3+)))
+
+(define-public sigrok-firmware-fx2lafw
+  (package
+    (name "sigrok-firmware-fx2lafw")
+    (version "0.1.5")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/sigrok-firmware-fx2lafw/"
+                    "sigrok-firmware-fx2lafw-" version ".tar.gz"))
+              (sha256
+               (base32
+                "0bbdgy4rpc00jl0l0744m2ibjlqi26bhrkjr7vplivdsjdmhjx6a"))))
+    (native-inputs
+     `(("sdcc" ,sdcc)))
+    (build-system gnu-build-system)
+    (home-page "http://www.sigrok.org/wiki/Fx2lafw")
+    (synopsis "Firmware for Cypress FX2 chips")
+    (description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable
+as simple logic analyzer and/or oscilloscope hardware.")
+    (license license:gpl2+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 23 Jun 2017 21:06:03 GMT) Full text and rfc822 format available.

Message #68 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH v2 5/7] gnu: Add libsigrok.
Date: Sat, 24 Jun 2017 00:05:15 +0300
* gnu/packages/electronics.scm (libsigrok): New variable.
---
 gnu/packages/electronics.scm | 83 ++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 83 insertions(+)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 324864946..5d05f10da 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -24,9 +24,12 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages check)
+  #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
   #:use-module (gnu packages glib)
   #: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 python)
   #:use-module (gnu packages sdcc))
@@ -111,3 +114,83 @@ to take care of the OS-specific details when writing software that uses serial p
     (description "Fx2lafw is free firmware for Cypress FX2 chips which makes them usable
 as simple logic analyzer and/or oscilloscope hardware.")
     (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+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 23 Jun 2017 21:06:04 GMT) Full text and rfc822 format available.

Message #71 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH v2 6/7] gnu: Add sigrok-cli.
Date: Sat, 24 Jun 2017 00:05:16 +0300
* gnu/packages/electronics.scm (sigrok-cli): New variable.
---
 gnu/packages/electronics.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 5d05f10da..75bb2960d 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -194,3 +194,27 @@ analyzers")
 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
+    (name "sigrok-cli")
+    (version "0.7.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "072ylscp0ppgii1k5j07hhv7dfmni4vyhxnsvxmgqgfyq9ldjsan"))))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("glib" ,glib)
+       ("libsigrok" ,libsigrok)
+       ("libsigrokdecode" ,libsigrokdecode)))
+    (build-system gnu-build-system)
+    (home-page "http://sigrok.org/wiki/Sigrok-cli")
+    (synopsis "Command-line frontend for sigrok")
+    (description "Sigrok-cli is a command-line frontend for sigrok.")
+    (license license:gpl3+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Fri, 23 Jun 2017 21:06:04 GMT) Full text and rfc822 format available.

Message #74 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: [PATCH v2 7/7] gnu: Add pulseview.
Date: Sat, 24 Jun 2017 00:05:17 +0300
* gnu/packages/electronics.scm (pulseview): New variable.
---
 gnu/packages/electronics.scm | 33 +++++++++++++++++++++++++++++++++
 1 file changed, 33 insertions(+)

diff --git a/gnu/packages/electronics.scm b/gnu/packages/electronics.scm
index 75bb2960d..8a9f625dc 100644
--- a/gnu/packages/electronics.scm
+++ b/gnu/packages/electronics.scm
@@ -22,7 +22,9 @@
   #:use-module (guix download)
   #:use-module ((guix licenses) #:prefix license:)
   #:use-module (guix build-system gnu)
+  #:use-module (guix build-system cmake)
   #:use-module (gnu packages)
+  #:use-module (gnu packages boost)
   #:use-module (gnu packages check)
   #:use-module (gnu packages compression)
   #:use-module (gnu packages documentation)
@@ -32,6 +34,7 @@
   #:use-module (gnu packages libusb)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages qt)
   #:use-module (gnu packages sdcc))
 
 (define-public libserialport
@@ -218,3 +221,33 @@ format support.")
     (synopsis "Command-line frontend for sigrok")
     (description "Sigrok-cli is a command-line frontend for sigrok.")
     (license license:gpl3+)))
+
+(define-public pulseview
+  (package
+    (name "pulseview")
+    (version "0.4.0")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append
+                    "http://sigrok.org/download/source/pulseview/pulseview-"
+                    version ".tar.gz"))
+              (sha256
+               (base32
+                "1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q"))))
+    (arguments
+     `(#:configure-flags '("-DCMAKE_CXX_FLAGS=-fext-numeric-literals")))
+    (native-inputs
+     `(("pkg-config" ,pkg-config)))
+    (inputs
+     `(("boost" ,boost)
+       ("glib" ,glib)
+       ("glibmm" ,glibmm)
+       ("qt" ,qt)
+       ("libsigrok" ,libsigrok)
+       ("libsigrokdecode" ,libsigrokdecode)))
+    (build-system cmake-build-system)
+    (home-page "http://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+)))
-- 
2.13.1





Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Sat, 24 Jun 2017 06:07:01 GMT) Full text and rfc822 format available.

Message #77 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Cc: 27355 <at> debbugs.gnu.org
Subject: Re: [bug#27355] [PATCH 7/7] gnu: Add pulseview.
Date: Sat, 24 Jun 2017 08:06:52 +0200
Hi,

On Thu, 22 Jun 2017 02:31:14 +0300
Theodoros Foradis <theodoros.for <at> openmailbox.org> wrote:

> It does build with qtbase and qtsvg, but icons are missing from the
> ui. I didn't manage to find which package provides them, having tried a
> few.
> 
> Any ideas what that [package] may be? 

I don't know, sorry.

For the file names of the icons, you can try starting pulseview under strace:

$ strace pulseview 2>&1 |grep -i -E "(png|svg)"

>Or should we keep qt as a dependency?

Yeah, let's use the older Qt for now.

I hope someone else chimes in and we can update it somewhen.

I don't like depending on older versions of things much.  It's just asking for problems which have been fixed in newer versions already.  But in this case apparently it's the other way around...




Reply sent to Danny Milosavljevic <dannym <at> scratchpost.org>:
You have taken responsibility. (Sat, 24 Jun 2017 06:32:01 GMT) Full text and rfc822 format available.

Notification sent to Theodoros Foradis <theodoros.for <at> openmailbox.org>:
bug acknowledged by developer. (Sat, 24 Jun 2017 06:32:02 GMT) Full text and rfc822 format available.

Message #82 received at 27355-done <at> debbugs.gnu.org (full text, mbox):

From: Danny Milosavljevic <dannym <at> scratchpost.org>
To: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Cc: 27355-done <at> debbugs.gnu.org
Subject: Re: [bug#27355] [PATCH 0/7] Add sigrok
Date: Sat, 24 Jun 2017 08:31:22 +0200
Pushed the sigrok patchset to master as the following commits:

- 6df20b5ae64b747865265410609527c0ac134915 (pulseview)
- 2dbad1dd6e94bcc8ecb6f1a2d11f87845022a6b6 (sigrok-cli)
- 1c12be968251f301f061e2101796a2d8223ad4ec (libsigrok)
- 7a19de9c48670684df1c78cc2d43e7d59374c596 (sigrok-firmware-fx2lafw)
- c07358022a74a4c82de7fef392ece66788f3b35d (libsigrokdecode)
- 03d0cc116001d2bac4204925c9d169ec3a58323f (libserialport)
- 06de4aaf1e71916181c87997b62698a09db35009 (libzip)

Thanks for the patches!




Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Mon, 26 Jun 2017 10:11:02 GMT) Full text and rfc822 format available.

Message #85 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Hartmut Goebel <h.goebel <at> crazy-compilers.com>
To: Danny Milosavljevic <dannym <at> scratchpost.org>,
 Theodoros Foradis <theodoros.for <at> openmailbox.org>
Cc: 27355 <at> debbugs.gnu.org
Subject: Re: [bug#27355] [PATCH 3/7] gnu: Add libsigrokdecode.
Date: Mon, 26 Jun 2017 12:09:58 +0200
Hi,
> Also, reading srd.c it seems that this library embeds Python.  Is it still supposed to be a propagated-input then?  It doesn't need the executable at runtime or anything.  Users probably do need the Python standard library, so I guess it's OK...  Hartmut, what do you think?

Sorry for answering late.

I'm confident that python should be a *normal* input – although it
should be tested (and the result documented in guix.texi). I'm short in
time, so I can't test myself now.

From the Documentation [1] I can not tell exactly how libpython behaves
if used embedded. But the code [2] says:

    Step 3 [… search python3 on $PATH]

    Step 4. Search the directories pointed to by the preprocessor variables
    PREFIX and EXEC_PREFIX.  These are supplied by the Makefile but can be
    passed in as options to the configure script.

So the PREFIX guix is setting is honoured (as a last resort).

BTW: I assume glib should be a normal input, too.

[1] https://docs.python.org/3/c-api/init.html
[2] https://github.com/python/cpython/blob/master/Modules/getpath.c#L73

[3] https://github.com/python/cpython/blob/master/Modules/getpath.c#L495
[4] https://github.com/python/cpython/blob/master/Modules/getpath.c#L364

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel <at> crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |






Information forwarded to guix-patches <at> gnu.org:
bug#27355; Package guix-patches. (Mon, 26 Jun 2017 17:28:02 GMT) Full text and rfc822 format available.

Message #88 received at 27355 <at> debbugs.gnu.org (full text, mbox):

From: Theodoros Foradis <theodoros.for <at> openmailbox.org>
To: 27355 <at> debbugs.gnu.org
Cc: Theodoros Foradis <theodoros.for <at> openmailbox.org>
Subject: Re: [bug#27355] [PATCH 3/7] gnu: Add libsigrokdecode.
Date: Mon, 26 Jun 2017 19:50:56 +0300
Hello,

> Hi,
>> Also, reading srd.c it seems that this library embeds Python.  Is it still supposed to be a propagated-input then?  It doesn't need the executable at runtime or anything.  Users probably do need the Python standard library, so I guess it's OK...  Hartmut, what do you think?
>
> Sorry for answering late.
>
> I'm confident that python should be a *normal* input – although it
> should be tested (and the result documented in guix.texi). I'm short in
> time, so I can't test myself now.
>
> From the Documentation [1] I can not tell exactly how libpython behaves
> if used embedded. But the code [2] says:
>
>     Step 3 [… search python3 on $PATH]
>
>     Step 4. Search the directories pointed to by the preprocessor variables
>     PREFIX and EXEC_PREFIX.  These are supplied by the Makefile but can be
>     passed in as options to the configure script.
>
> So the PREFIX guix is setting is honoured (as a last resort).
>
> BTW: I assume glib should be a normal input, too.
>
> [1] https://docs.python.org/3/c-api/init.html
> [2] https://github.com/python/cpython/blob/master/Modules/getpath.c#L73
>
> [3] https://github.com/python/cpython/blob/master/Modules/getpath.c#L495
> [4] https://github.com/python/cpython/blob/master/Modules/getpath.c#L364

I have tested having either python/glibc as *normal* inputs. Cmake,
which is used by pulseview, gives out an error and the build fails at
the configure phase. Maybe I'm missing something?

Regards,
-- 
Theodoros Foradis




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Tue, 25 Jul 2017 11:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 7 years and 334 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.