Skip to contentSkip to conversation

sigrok: set of new packages

PATCH New Bartosz Golaszewski 1 participant 7 messages Nov 26, 2018

lore
Share & tools
lore
#0 lore raw

v2 cover sigrok: set of new packages

This series adds recipes for libsigrok and accompanying libraries and tools. The eventual goal is to add pulseview - the graphical interface for sigrok - to meta-qt5-extra.

First two patches add external packages used by libsigrok. The third patch adds a recipe for doxygen, which is needed to generate libsigrok C++ bindings which will in turn be necessary to build pulseview.

Last three patches add recipes for the sigrok suite including the command-line utility - sigrok-cli.

v1 -> v2:
- make doxygen recipe buildable for target as well (BBCLASSEXTEND instead of a native recipe)
- use ${datadir} instead of hardcoding /usr/share

Bartosz Golaszewski (6):
libzip: new package
libserialport: new package
doxygen: new package
libsigrok: new package
libsigrokdecode: new package
sigrok-cli: new package

 .../0001-build-don-t-look-for-Iconv.patch     | 36 +++++++++++++++++++
 .../doxygen/doxygen_1.8.14.bb                 | 17 +++++++++
 .../libserialport/libserialport_0.1.1.bb      | 12 +++++++
 .../recipes-extended/libzip/libzip_1.5.1.bb   | 18 ++++++++++
 .../sigrok/libsigrok_0.5.1.bb                 | 23 ++++++++++++
 .../sigrok/libsigrokdecode_0.5.2.bb           | 14 ++++++++
 .../sigrok/sigrok-cli_0.7.0.bb                | 18 ++++++++++
 7 files changed, 138 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
 create mode 100644 meta-oe/recipes-devtools/doxygen/doxygen_1.8.14.bb
 create mode 100644 meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb
 create mode 100644 meta-oe/recipes-extended/libzip/libzip_1.5.1.bb
 create mode 100644 meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb
 create mode 100644 meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb
 create mode 100644 meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb
Signature · 1 line
2.19.1
#1 lore raw

PATCH v2 1/6 libzip: new package

---
 .../recipes-extended/libzip/libzip_1.5.1.bb    | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 meta-oe/recipes-extended/libzip/libzip_1.5.1.bb
meta-oe/recipes-extended/libzip/libzip_1.5.1.bb new file +18 -0
new file mode 100644
index 000000000..ce73700d7
@@ -0,0 +1,18 @@
+DESCRIPTION = "libzip is a C library for reading, creating, and modifying zip archives."
+HOMEPAGE = "https://libzip.org/"
+
+LICENSE = "BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=01f8b1b8da6403739094396e15b1e722"
+
+DEPENDS = "zlib bzip2"
+
+PACKAGECONFIG[ssl] = "-DENABLE_OPENSSL=ON,-DENABLE_OPENSSL=OFF,openssl"
+
+PACKAGECONFIG ?= "ssl"
+
+inherit cmake
+
+SRC_URI = "https://libzip.org/download/libzip-${PV}.tar.xz"
+
+SRC_URI[md5sum] = "6fe665aa6d6bf3a99eb6fa9c553283fd"
+SRC_URI[sha256sum] = "04ea35b6956c7b3453f1ed3f3fe40e3ddae1f43931089124579e8384e79ed372"
Signature · 1 line
2.19.1
#2 lore raw

PATCH v2 2/6 libserialport: new package

In reply to Bartosz Golaszewski
---
 .../libserialport/libserialport_0.1.1.bb             | 12 ++++++++++++
 1 file changed, 12 insertions(+)
 create mode 100644 meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb
meta-oe/recipes-extended/libserialport/libserialport_0.1.1.bb new file +12 -0
new file mode 100644
index 000000000..192d4bce6
@@ -0,0 +1,12 @@
+DESCRIPTION = "libserialport is a minimal, cross-platform shared library written in C that is intended to take care of the OS-specific details when writing software that uses serial ports."
+HOMEPAGE = "https://sigrok.org/wiki/Libserialport"
+
+LICENSE = "LGPL-3.0+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=e6a600fd5e1d9cbde2d983680233ad02"
+
+inherit autotools
+
+SRC_URI = "http://sigrok.org/download/source/libserialport/libserialport-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "b93f0325a6157198152b5bd7e8182b51"
+SRC_URI[sha256sum] = "4a2af9d9c3ff488e92fb75b4ba38b35bcf9b8a66df04773eba2a7bbf1fa7529d"
Signature · 1 line
2.19.1
#3 lore raw

PATCH v2 3/6 doxygen: new package

In reply to Bartosz Golaszewski

Doxygen binary is necessary to generate C++ bindings for libsigrok.

---
 .../0001-build-don-t-look-for-Iconv.patch     | 36 +++++++++++++++++++
 .../doxygen/doxygen_1.8.14.bb                 | 17 +++++++++
 2 files changed, 53 insertions(+)
 create mode 100644 meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch
 create mode 100644 meta-oe/recipes-devtools/doxygen/doxygen_1.8.14.bb
meta-oe/recipes-devtools/doxygen/doxygen/0001-build-don-t-look-for-Iconv.patch new file +36 -0
new file mode 100644
index 000000000..0eefe0729
@@ -0,0 +1,36 @@
+From f3a6c05e3a8afdac547c6c8176fa6b57636db65c Mon Sep 17 00:00:00 2001
+From: Bartosz Golaszewski <[email protected]>
+Date: Fri, 23 Nov 2018 11:44:56 +0100
+Subject: [PATCH] build: don't look for Iconv
+
+Drop the find_package() for Iconv. CMake is unable to find iconv.h in
+native build but all modern systems supply it as part of the standard
+C library. We don't need this check in meta-openembedded.
+
+Signed-off-by: Bartosz Golaszewski <[email protected]>
+
+Upstream-status: Inappropriate
+- upstream doxygen must build on many architectures, this change is
+  too intrusive for upstream
+---
+ CMakeLists.txt | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index ba105b89..16252247 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -89,10 +89,6 @@ if (sqlite3)
+     find_package(SQLite3 REQUIRED)
+ endif()
+ 
+-find_package(Iconv REQUIRED)
+-include_directories(${ICONV_INCLUDE_DIR})
+-
+-
+ #set(DOXYDOCS ${CMAKE_SOURCE_DIR}/doc CACHE INTERNAL "Path to doxygen docs")
+ set(DOXYDOCS ${PROJECT_BINARY_DIR}/doc)
+ set(ENV{DOXYGEN_DOCDIR} ${DOXYDOCS})
+-- 
+2.19.1
+
meta-oe/recipes-devtools/doxygen/doxygen_1.8.14.bb new file +17 -0
new file mode 100644
index 000000000..3137c4843
@@ -0,0 +1,17 @@
+DESCRIPTION = "Doxygen is the de facto standard tool for generating documentation from annotated C++ sources."
+HOMEPAGE = "http://www.doxygen.org/"
+
+LICENSE = "GPL-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+inherit cmake python3native
+
+DEPENDS = "flex-native bison-native"
+
+SRC_URI = "ftp://ftp.stack.nl/pub/users/dimitri/doxygen-${PV}.src.tar.gz \
+           file://0001-build-don-t-look-for-Iconv.patch"
+
+SRC_URI[md5sum] = "41d8821133e8d8104280030553e2b42b"
+SRC_URI[sha256sum] = "d1757e02755ef6f56fd45f1f4398598b920381948d6fcfa58f5ca6aa56f59d4d"
+
+BBCLASSEXTEND = "native"
Signature · 1 line
2.19.1
#4 lore raw

PATCH v2 4/6 libsigrok: new package

In reply to Bartosz Golaszewski
---
 .../sigrok/libsigrok_0.5.1.bb                 | 23 +++++++++++++++++++
 1 file changed, 23 insertions(+)
 create mode 100644 meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb
meta-oe/recipes-extended/sigrok/libsigrok_0.5.1.bb new file +23 -0
new file mode 100644
index 000000000..8152ca7ca
@@ -0,0 +1,23 @@
+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."
+HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "glib-2.0 libzip"
+
+PACKAGECONFIG[serialport] = "--with-libserialport,--without-libserialport,libserialport"
+PACKAGECONFIG[ftdi] = "--with-libftdi,--without-libftdi,libftdi"
+PACKAGECONFIG[usb] = "--with-libusb,--without-libusb,libusb"
+PACKAGECONFIG[cxx] = "--enable-cxx,--disable-cxx,glibmm doxygen-native"
+
+PACKAGECONFIG ??= "serialport ftdi usb"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://sigrok.org/download/source/libsigrok/libsigrok-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "a3de9e52a660e51d27a6aca025d204a7"
+SRC_URI[sha256sum] = "e40fde7af98d29e922e9d3cbe0a6c0569889153fc31e47b8b1afe4d846292b9c"
+
+FILES_${PN} += "${datadir}/*"
Signature · 1 line
2.19.1
#5 lore raw

PATCH v2 5/6 libsigrokdecode: new package

In reply to Bartosz Golaszewski
---
 .../sigrok/libsigrokdecode_0.5.2.bb                | 14 ++++++++++++++
 1 file changed, 14 insertions(+)
 create mode 100644 meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb
meta-oe/recipes-extended/sigrok/libsigrokdecode_0.5.2.bb new file +14 -0
new file mode 100644
index 000000000..b8e1e4705
@@ -0,0 +1,14 @@
+DESCRIPTION = "libsigrokdecode is a shared library written in C, which provides (streaming) protocol decoding functionality."
+HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "glib-2.0 python3"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://sigrok.org/download/source/libsigrokdecode/libsigrokdecode-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "b9033bc7e68bc17fffffd4fdd793f5a1"
+SRC_URI[sha256sum] = "e08d9e797c54eccf3144da631b6e5f1498ac531e51520428df537a1da82583f0"
Signature · 1 line
2.19.1
#6 lore raw

PATCH v2 6/6 sigrok-cli: new package

In reply to Bartosz Golaszewski
---
 .../sigrok/sigrok-cli_0.7.0.bb                 | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)
 create mode 100644 meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb
meta-oe/recipes-extended/sigrok/sigrok-cli_0.7.0.bb new file +18 -0
new file mode 100644
index 000000000..d31bcd282
@@ -0,0 +1,18 @@
+DESCRIPTION = "sigrok-cli is a command-line frontend for sigrok."
+HOMEPAGE = "http://sigrok.org/wiki/Main_Page"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+DEPENDS = "libsigrok"
+
+PACKAGECONFIG[decode] = "--with-libsigrokdecode,--without-libsigrokdecode,libsigrokdecode"
+
+PACKAGECONFIG ??= "decode"
+
+inherit autotools pkgconfig
+
+SRC_URI = "http://sigrok.org/download/source/sigrok-cli/sigrok-cli-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "77cb745e2fa239c7bd1ea81e2d67ede9"
+SRC_URI[sha256sum] = "5669d968c2de3dfc6adfda76e83789b6ba76368407c832438cef5e7099a65e1c"
Signature · 1 line
2.19.1