diff options
author | Jason M. Bills <jason.m.bills@linux.intel.com> | 2020-12-08 00:38:17 +0300 |
---|---|---|
committer | Jason M. Bills <jason.m.bills@linux.intel.com> | 2020-12-08 00:38:17 +0300 |
commit | 8d6ae7f2a817751fad151168fa10ce28ee0869d8 (patch) | |
tree | 281032f7ec07c41589aa094bd165cc2a98f2d3a7 /meta-openembedded/meta-networking/recipes-connectivity/libiec61850 | |
parent | c16fb8893b19075db4bcf3b5bf33c1db8c3ca2bd (diff) | |
parent | 5da3c2284560a7e08ffafd03c5b5ba44a3242228 (diff) | |
download | openbmc-8d6ae7f2a817751fad151168fa10ce28ee0869d8.tar.xz |
Merge tag '0.26' of ssh://git-amr-1.devtools.intel.com:29418/openbmc-openbmc into update
Diffstat (limited to 'meta-openembedded/meta-networking/recipes-connectivity/libiec61850')
4 files changed, 141 insertions, 0 deletions
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-use-poll.h-instead-of-sys-poll.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-use-poll.h-instead-of-sys-poll.h.patch new file mode 100644 index 000000000..a04473d21 --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0001-use-poll.h-instead-of-sys-poll.h.patch @@ -0,0 +1,33 @@ +From 4cad505fc98240eb66eaabfae61a9694f8158dda Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@smile.fr> +Date: Tue, 7 Apr 2020 20:58:37 +0200 +Subject: [PATCH] use <poll.h> instead of <sys/poll.h> + +The manpage of poll(2) states that the prototype of poll is defined +in <poll.h>. Use that header file instead of <sys/poll.h> to allow +compilation against musl-libc. + +Upstream status: Pending +https://github.com/mz-automation/libiec61850/pull/228 + +Signed-off-by: Romain Naour <romain.naour@smile.fr> +--- + hal/ethernet/linux/ethernet_linux.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/hal/ethernet/linux/ethernet_linux.c b/hal/ethernet/linux/ethernet_linux.c +index c3ab2e2..9aa5c28 100644 +--- a/hal/ethernet/linux/ethernet_linux.c ++++ b/hal/ethernet/linux/ethernet_linux.c +@@ -23,7 +23,7 @@ + + #include <sys/socket.h> + #include <sys/ioctl.h> +-#include <sys/poll.h> ++#include <poll.h> + #include <linux/if_packet.h> + #include <linux/if_ether.h> + #include <linux/if_arp.h> +-- +2.21.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0002-serial_port_linux-Add-missing-include-sys-time.h.patch b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0002-serial_port_linux-Add-missing-include-sys-time.h.patch new file mode 100644 index 000000000..e1b8ca15b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0002-serial_port_linux-Add-missing-include-sys-time.h.patch @@ -0,0 +1,32 @@ +From 661405eb6066b67dfe51d5ff9635e29f86bdd238 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@smile.fr> +Date: Tue, 7 Apr 2020 21:02:54 +0200 +Subject: [PATCH] serial_port_linux: Add missing include sys/time.h + +POSIX says `struct timeval` is defined if <sys/time.h> is included. + +Adding this header allow to build against musl-libc. + +Upstream status: Pending +https://github.com/mz-automation/libiec61850/pull/228 + +Signed-off-by: Romain Naour <romain.naour@smile.fr> +--- + hal/serial/linux/serial_port_linux.c | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/hal/serial/linux/serial_port_linux.c b/hal/serial/linux/serial_port_linux.c +index e6308c0..15e5794 100644 +--- a/hal/serial/linux/serial_port_linux.c ++++ b/hal/serial/linux/serial_port_linux.c +@@ -29,6 +29,7 @@ + #include <termios.h> + #include <fcntl.h> + #include <unistd.h> ++#include <sys/time.h> + + #include "hal_serial.h" + #include "hal_time.h" +-- +2.21.1 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch new file mode 100644 index 000000000..65567610b --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/files/0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch @@ -0,0 +1,37 @@ +From 89f326a427c7ad13c115e2d3f2ac27807aa5a795 Mon Sep 17 00:00:00 2001 +From: Romain Naour <romain.naour@smile.fr> +Date: Fri, 10 Jul 2020 17:08:34 +0200 +Subject: [PATCH] pyiec61850: don't break CMAKE_INSTALL_PATH by trying to find + python modules install path (site-packages) + +https://stackoverflow.com/questions/1242904/finding-python-site-packages-directory-with-cmake + +Signed-off-by: Romain Naour <romain.naour@smile.fr> +--- + pyiec61850/CMakeLists.txt | 11 ++--------- + 1 file changed, 2 insertions(+), 9 deletions(-) + +diff --git a/pyiec61850/CMakeLists.txt b/pyiec61850/CMakeLists.txt +index 159ef4b..d1732a1 100644 +--- a/pyiec61850/CMakeLists.txt ++++ b/pyiec61850/CMakeLists.txt +@@ -31,14 +31,7 @@ endif() + + swig_link_libraries(iec61850 ${PYTHON_LIBRARIES} ${LIBS}) + +-# Finding python modules install path +-execute_process( +- COMMAND ${PYTHON_EXECUTABLE} -c +- "from distutils.sysconfig import get_python_lib; import sys; sys.stdout.write(get_python_lib())" +- OUTPUT_VARIABLE PYTHON_SITE_DIR +-) +- +-install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION ${PYTHON_SITE_DIR}) +-install(TARGETS _iec61850 LIBRARY DESTINATION ${PYTHON_SITE_DIR}) ++install(FILES ${CMAKE_CURRENT_BINARY_DIR}/iec61850.py DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) ++install(TARGETS _iec61850 LIBRARY DESTINATION /usr/lib/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages) + + add_test(test_pyiec61850 ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_LIST_DIR}/test_pyiec61850.py) +-- +2.21.3 + diff --git a/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.4.2.1.bb b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.4.2.1.bb new file mode 100644 index 000000000..18cb0cd8e --- /dev/null +++ b/meta-openembedded/meta-networking/recipes-connectivity/libiec61850/libiec61850_1.4.2.1.bb @@ -0,0 +1,39 @@ +SUMMARY = "Open source iec61850 implementation" +DESCRIPTION = "IEC 61850 is an international standard for \ +communication systems in Substation Automation Systems \ +(SAS) and management of Decentralized Energy Resources \ +(DER). It is seen as one of the communication standards \ +of the emerging Smart Grid. \ +The project libIEC61850 provides a server and client \ +library for the IEC 61850/MMS, IEC 61850/GOOSE and IEC \ +61850-9-2/Sampled Values communication protocols \ +written in C. It is available under the GPLv3 license." +HOMEPAGE = "http://libiec61850.com" +SECTION = "console/network" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +DEPENDS = "swig-native python3" +SRCREV = "d798814fb463115a835da597535a625b68a39cff" + +SRC_URI = "git://github.com/mz-automation/${BPN}.git;branch=v1.4 \ + file://0001-use-poll.h-instead-of-sys-poll.h.patch \ + file://0002-serial_port_linux-Add-missing-include-sys-time.h.patch \ + file://0003-pyiec61850-don-t-break-CMAKE_INSTALL_PATH-by-trying-.patch \ +" + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig python3-dir python3native siteinfo + +EXTRA_OECMAKE = " \ + -DBUILD_EXAMPLES=OFF \ + -DBUILD_PYTHON_BINDINGS=ON \ +" + +RDEPENDS_${PN}-python = " python3-core " +RDEPENDS_${PN} = " python3-core " + +FILES_${PN} += " \ + ${libdir}/${PYTHON_DIR}/site-packages/iec61850.py \ + ${libdir}/${PYTHON_DIR}/site-packages/_iec61850.so \ +" |