From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:49501) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1dL54u-000476-45 for guix-patches@gnu.org; Wed, 14 Jun 2017 05:59:10 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1dL54p-0001gO-T1 for guix-patches@gnu.org; Wed, 14 Jun 2017 05:59:08 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:44038) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1dL54p-0001gE-QH for guix-patches@gnu.org; Wed, 14 Jun 2017 05:59:03 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1dL54p-0001sW-Jr for guix-patches@gnu.org; Wed, 14 Jun 2017 05:59:03 -0400 Subject: [bug#27355] [PATCH 5/7] gnu: Add libsigrok. Resent-Message-ID: From: Theodoros Foradis Date: Wed, 14 Jun 2017 12:58:11 +0300 Message-Id: <20170614095813.1926-5-theodoros.for@openmailbox.org> In-Reply-To: <20170614095813.1926-1-theodoros.for@openmailbox.org> References: <20170614095813.1926-1-theodoros.for@openmailbox.org> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+kyle=kyleam.com@gnu.org Sender: "Guix-patches" To: 27355@debbugs.gnu.org * 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