Skip to contentSkip to conversation

Add mraa/upm recipes from meta-refkit-core

PATCH In review Paul Eggleton 2 participants 7 messages Oct 3, 2017

lore
Share & tools
lore
#0 lore raw

v2 cover Add mraa/upm recipes from meta-refkit-core

Move in recipes from meta-refkit-core for the mraa I/O library and upm sensor library.

Changes since v1:
* Set COMPATIBLE_HOST based upon what mraa's CMakeLists.txt checks for

The following changes since commit 06e8aa6bda49b4c103dcb41b059e3dba168ee37a:

mongodb: Fix build on aarch64 (2017-10-02 12:35:39 +0000)

are available in the git repository at:

git://git.openembedded.org/meta-openembedded-contrib paule/mraa
http://cgit.openembedded.org/meta-openembedded-contrib/log/?h=paule/mraa

Paul Eggleton (2):
mraa: move recipe from meta-refkit-core
upm: add recipe from meta-refkit-core

 meta-oe/recipes-extended/mraa/mraa_git.bb          | 51 ++++++++++++++++++++
 ...15-fixed-case-logic-in-getThresh-function.patch | 54 ++++++++++++++++++++++
 meta-oe/recipes-extended/upm/upm_git.bb            | 45 ++++++++++++++++++
 3 files changed, 150 insertions(+)
 create mode 100644 meta-oe/recipes-extended/mraa/mraa_git.bb
 create mode 100644 meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch
 create mode 100644 meta-oe/recipes-extended/upm/upm_git.bb
Signature · 1 line
2.9.5
#1 lore raw

PATCH v2 1/2 mraa: move recipe from meta-refkit-core

Make this recipe a little more widely visible (has previously appeared in meta-refkit-core and meta-intel-iot-middleware). Also make couple of minor tweaks:

* Make SUMMARY more accurate by borrowing the first part of the short description now in the mraa github repo
* Set HOMEPAGE
* Drop AUTHOR as this is field is only really intended for older software where there is no real point of contact for upstream other than an author's email address.
* Set COMPATIBLE_HOST to match what is checked by mraa's CMakeLists.txt

---
 meta-oe/recipes-extended/mraa/mraa_git.bb | 51 +++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 meta-oe/recipes-extended/mraa/mraa_git.bb
meta-oe/recipes-extended/mraa/mraa_git.bb new file +51 -0
new file mode 100644
index 0000000..616048f
@@ -0,0 +1,51 @@
+SUMMARY = "Linux Library for low speed I/O Communication"
+HOMEPAGE = "https://github.com/intel-iot-devkit/mraa"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=66493d54e65bfc12c7983ff2e884f37f"
+
+SRCREV = "8ddbcde84e2d146bc0f9e38504d6c89c14291480"
+PV = "1.7.0-git${SRCPV}"
+
+SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http"
+
+S = "${WORKDIR}/git"
+
+# CMakeLists.txt checks the architecture, only x86 and ARM supported for now
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"
+
+inherit cmake distutils3-base
+
+DEPENDS += "json-c"
+
+EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON"
+
+# Prepend mraa-utils to make sure bindir ends up in there
+PACKAGES =+ "${PN}-utils"
+
+FILES_${PN}-doc += "${datadir}/mraa/examples/"
+
+FILES_${PN}-utils = "${bindir}/"
+
+# override this in local.conf to get needed bindings.
+# BINDINGS_pn-mraa="python"
+# will result in only the python bindings being built/packaged.
+BINDINGS ??= "python ${@ 'nodejs' if oe.types.boolean(d.getVar('HAVE_NODEJS') or '0') else '' }"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
+ ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
+
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
+PACKAGECONFIG[ft4222] = "-DUSBPLAT=ON -DFTDI4222=ON, -DUSBPLAT=OFF -DFTDI4222=OFF,, libft4222"
+
+FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/"
+RDEPENDS_${PYTHON_PN}-${PN} += "${PYTHON_PN}"
+
+FILES_node-${PN} = "${prefix}/lib/node_modules/"
+RDEPENDS_node-${PN} += "nodejs"
+
+### Include desired language bindings ###
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}"
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}"
Signature · 1 line
2.9.5
#2 lore raw

Re: [meta-oe][PATCH v2 1/2] mraa: move recipe from meta-refkit-core

Quoted 30 lines · Paul Eggleton

Make this recipe a little more widely visible (has previously appeared in meta-refkit-core and meta-intel-iot-middleware). Also make couple of minor tweaks:

* Make SUMMARY more accurate by borrowing the first part of the short description now in the mraa github repo
* Set HOMEPAGE
* Drop AUTHOR as this is field is only really intended for older software where there is no real point of contact for upstream other than an author's email address.
* Set COMPATIBLE_HOST to match what is checked by mraa's CMakeLists.txt

---
 meta-oe/recipes-extended/mraa/mraa_git.bb | 51 +++++++++++++++++++++++++++++++
 1 file changed, 51 insertions(+)
 create mode 100644 meta-oe/recipes-extended/mraa/mraa_git.bb
meta-oe/recipes-extended/mraa/mraa_git.bb new file +6 -0
new file mode 100644
index 0000000..616048f
@@ -0,0 +1,51 @@
+SUMMARY = "Linux Library for low speed I/O Communication"
+HOMEPAGE = "https://github.com/intel-iot-devkit/mraa"
+SECTION = "libs"
+
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=66493d54e65bfc12c7983ff2e884f37f"

meta-oe/recipes-extended/mraa/mraa_git.bb line 16

Quoted 10 lines
meta-oe/recipes-extended/mraa/mraa_git.bb new file +10 -0
+
+SRCREV = "8ddbcde84e2d146bc0f9e38504d6c89c14291480"
+PV = "1.7.0-git${SRCPV}"
+
+SRC_URI = "git://github.com/intel-iot-devkit/${BPN}.git;protocol=http"
+
+S = "${WORKDIR}/git"
+
+# CMakeLists.txt checks the architecture, only x86 and ARM supported for now
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"

May be it should be "linux*" at the end so musl is covered too.

Quoted 43 lines
meta-oe/recipes-extended/mraa/mraa_git.bb new file +35 -1
+
+inherit cmake distutils3-base
+
+DEPENDS += "json-c"
+
+EXTRA_OECMAKE_append = " -DINSTALLTOOLS:BOOL=ON -DFIRMATA=ON -DCMAKE_SKIP_RPATH=ON"
+
+# Prepend mraa-utils to make sure bindir ends up in there
+PACKAGES =+ "${PN}-utils"
+
+FILES_${PN}-doc += "${datadir}/mraa/examples/"
+
+FILES_${PN}-utils = "${bindir}/"
+
+# override this in local.conf to get needed bindings.
+# BINDINGS_pn-mraa="python"
+# will result in only the python bindings being built/packaged.
+BINDINGS ??= "python ${@ 'nodejs' if oe.types.boolean(d.getVar('HAVE_NODEJS') or '0') else '' }"
+
+PACKAGECONFIG ??= "${@bb.utils.contains('PACKAGES', 'node-${PN}', 'nodejs', '', d)} \
+ ${@bb.utils.contains('PACKAGES', '${PYTHON_PN}-${PN}', 'python', '', d)}"
+
+PACKAGECONFIG[python] = "-DBUILDSWIGPYTHON=ON, -DBUILDSWIGPYTHON=OFF, swig-native ${PYTHON_PN},"
+PACKAGECONFIG[nodejs] = "-DBUILDSWIGNODE=ON, -DBUILDSWIGNODE=OFF, swig-native nodejs-native,"
+PACKAGECONFIG[ft4222] = "-DUSBPLAT=ON -DFTDI4222=ON, -DUSBPLAT=OFF -DFTDI4222=OFF,, libft4222"
+
+FILES_${PYTHON_PN}-${PN} = "${PYTHON_SITEPACKAGES_DIR}/"
+RDEPENDS_${PYTHON_PN}-${PN} += "${PYTHON_PN}"
+
+FILES_node-${PN} = "${prefix}/lib/node_modules/"
+RDEPENDS_node-${PN} += "nodejs"
+
+### Include desired language bindings ###
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'nodejs', 'node-${PN}', '', d)}"
+PACKAGES =+ "${@bb.utils.contains('BINDINGS', 'python', '${PYTHON_PN}-${PN}', '', d)}"
--

2.9.5

--
_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.openembedded.org/mailman/listinfo/openembedded-devel

#3 lore raw

Re: [meta-oe][PATCH v2 1/2] mraa: move recipe from meta-refkit-core

Quoted 6 lines · NZDT Khem Raj

meta-oe/recipes-extended/mraa/mraa_git.bb line 16

Quoted 2 lines · Paul Eggleton
meta-oe/recipes-extended/mraa/mraa_git.bb new file +2 -0
+# CMakeLists.txt checks the architecture, only x86 and ARM supported for now
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"

May be it should be "linux*" at the end so musl is covered too.

I just borrowed this from another recipe in OE-Core - AFAIK though the regex isn't anchored so that shouldn't be necessary. Did you try it? (I'll admit that I haven't).

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#4 lore raw

Re: [meta-oe][PATCH v2 1/2] mraa: move recipe from meta-refkit-core

Quoted 11 lines · NZDT Paul Eggleton
Quoted 6 lines · NZDT Khem Raj

meta-oe/recipes-extended/mraa/mraa_git.bb line 16

Quoted 2 lines · Paul Eggleton
meta-oe/recipes-extended/mraa/mraa_git.bb new file +2 -0
+# CMakeLists.txt checks the architecture, only x86 and ARM supported for now
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"

May be it should be "linux*" at the end so musl is covered too.

I just borrowed this from another recipe in OE-Core - AFAIK though the regex isn't anchored so that shouldn't be necessary. Did you try it? (I'll admit that I haven't).

OK, I did just try with TCLIBC = "musl" and it seems to pass the COMPATIBLE_HOST check so the regex is indeed not anchored.

Cheers,
Paul

Signature · 2 lines
Paul Eggleton
Intel Open Source Technology Centre
#5 lore raw

Re: [meta-oe][PATCH v2 1/2] mraa: move recipe from meta-refkit-core

Quoted 9 lines · Paul Eggleton
Quoted 8 lines · NZDT Paul Eggleton
Quoted 6 lines · NZDT Khem Raj

meta-oe/recipes-extended/mraa/mraa_git.bb line 16

Quoted 2 lines · Paul Eggleton
meta-oe/recipes-extended/mraa/mraa_git.bb new file +2 -0
+# CMakeLists.txt checks the architecture, only x86 and ARM supported for now
+COMPATIBLE_HOST = "(x86_64.*|i.86.*|aarch64.*|arm.*)-linux"

May be it should be "linux*" at the end so musl is covered too.

Quoted 6 lines
Quoted 3 lines

I just borrowed this from another recipe in OE-Core - AFAIK though the regex isn't anchored so that shouldn't be necessary. Did you try it? (I'll admit that I haven't).

OK, I did just try with TCLIBC = "musl" and it seems to pass the COMPATIBLE_HOST check so the regex is indeed not anchored.

hmm ok.

#6 lore raw

PATCH v2 2/2 upm: add recipe from meta-refkit-core

In reply to Paul Eggleton

Make this recipe a little more widely visible (has previously appeared in meta-refkit-core and meta-intel-iot-middleware). Also make couple of minor tweaks:

* Fix BINDINGS example to use the correct recipe name (copy-paste error)
* Set HOMEPAGE
* Drop AUTHOR as this is field is only really intended for older software where there is no real point of contact for upstream other than an author's email address.
* Set same COMPATIBLE_HOST as mraa since upm depends upon it

---
 ...15-fixed-case-logic-in-getThresh-function.patch | 54 ++++++++++++++++++++++
 meta-oe/recipes-extended/upm/upm_git.bb            | 45 ++++++++++++++++++
 2 files changed, 99 insertions(+)
 create mode 100644 meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch
 create mode 100644 meta-oe/recipes-extended/upm/upm_git.bb
meta-oe/recipes-extended/upm/files/ads1x15-fixed-case-logic-in-getThresh-function.patch new file +54 -0
new file mode 100644
index 0000000..c617d14
@@ -0,0 +1,54 @@
+From c64d04d084f47b4cb3e1cdee6e96348fcc6a756e Mon Sep 17 00:00:00 2001
+From: Mihai Tudor Panu <[email protected]>
+Date: Tue, 30 May 2017 15:14:09 -0700
+Subject: [PATCH 1/1] ads1x15: fixed case logic in getThresh() function
+
+Signed-off-by: Mihai Tudor Panu <[email protected]>
+
+Upstream-Status: Backported [c64d04d084f47b4cb3e1cdee6e96348fcc6a756e]
+
+Signed-off-by: Patrick Ohly <[email protected]>
+
+---
+ src/ads1x15/ads1x15.cxx | 4 ++--
+ src/ads1x15/ads1x15.hpp | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/ads1x15/ads1x15.cxx b/src/ads1x15/ads1x15.cxx
+index 35782709..47701b2a 100644
+--- a/src/ads1x15/ads1x15.cxx
++++ b/src/ads1x15/ads1x15.cxx
+@@ -116,7 +116,7 @@ ADS1X15::setContinuous(bool mode){
+ 
+ float
+ ADS1X15::getThresh(ADSTHRESH reg){
+-     if( THRESH_HIGH && THRESH_LOW) return getLastSample(reg);
++     if(reg == THRESH_HIGH || reg == THRESH_LOW) return getLastSample(reg);
+      else return 0.0;
+ }
+ 
+@@ -137,7 +137,7 @@ ADS1X15::setThresh(ADSTHRESH reg, float value){
+      case 2:
+      case 3:
+           set_value = value / getMultiplier();
+-         set_value = set_value << m_bitShift;
++          set_value = set_value << m_bitShift;
+           if(i2c->writeWordReg(reg, swapWord(set_value)) != mraa::SUCCESS){
+             throw std::runtime_error(std::string(__FUNCTION__) + ": I2c.write() failed");
+             return;
+diff --git a/src/ads1x15/ads1x15.hpp b/src/ads1x15/ads1x15.hpp
+index 7524572d..efd8c8ec 100644
+--- a/src/ads1x15/ads1x15.hpp
++++ b/src/ads1x15/ads1x15.hpp
+@@ -390,7 +390,7 @@ namespace upm {
+              * @param reg ADSTHRES enum value.
+              * Returns 0.0 unless THRESH_HIGH or THRESH_LOW requested.
+              */
+-            float getThresh(ADSTHRESH reg = THRESH_LOW);
++            float getThresh(ADSTHRESH reg = THRESH_DEFAULT);
+ 
+             /**
+              * Sets threshold levels or configures for conversion ready
+-- 
+2.11.0
+
meta-oe/recipes-extended/upm/upm_git.bb new file +45 -0

45 lines not on this page · raw message

Signature · 1 line
2.9.5