diff --git a/conf/layer.conf b/conf/layer.conf new file mode 100644 index 0000000..7ddf537 --- /dev/null +++ b/conf/layer.conf @@ -0,0 +1,18 @@ +# We have a conf and classes directory, add to BBPATH +BBPATH .= ":${LAYERDIR}" + +# We have recipes-* directories, add to BBFILES +BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \ + ${LAYERDIR}/recipes-*/*/*.bbappend" + +BBFILE_COLLECTIONS += "helium-tango" +BBFILE_PATTERN_helium-tango = "^${LAYERDIR}/" +BBFILE_PRIORITY_helium-tango = "6" + +# This should only be incremented on significant changes that will +# cause compatibility issues with other layers +LAYERVERSION_helium-tango = "2" + + +LAYERDEPENDS_helium-tango = "core openembedded-layer" +LAYERSERIES_COMPAT_helium-tango = "langdale mickledore" diff --git a/recipes-protocols/libtango/libtango.inc b/recipes-protocols/libtango/libtango.inc new file mode 100644 index 0000000..3fd5a05 --- /dev/null +++ b/recipes-protocols/libtango/libtango.inc @@ -0,0 +1,15 @@ +SUMMARY = "Tango Controls kernel library" +LICENSE = "LGPL-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=8195c2d9416e5fc98eb30ee334511b73" + +SRC_URI = "https://gitlab.com/tango-controls/cppTango/-/archive/${PV}/cppTango-${PV}.tar.gz" + +S = "${WORKDIR}/cppTango-${PV}" + +DEPENDS = "omniorb-native omniorb tango-idl zeromq cppzmq jpeg" + +EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release" + +inherit cmake python3native pkgconfig + +BBCLASSEXTEND = "nativesdk" diff --git a/recipes-protocols/libtango/libtango_9.5.0.bb b/recipes-protocols/libtango/libtango_9.5.0.bb new file mode 100644 index 0000000..dc67004 --- /dev/null +++ b/recipes-protocols/libtango/libtango_9.5.0.bb @@ -0,0 +1,2 @@ +require libtango.inc +SRC_URI[sha256sum] = "8f8cd49d5287f66f84088a1cf2fa427c98a4a567fb81cce8479e1b14c4307b16" diff --git a/recipes-protocols/omniorb/files/0002-python-shebang.patch b/recipes-protocols/omniorb/files/0002-python-shebang.patch new file mode 100644 index 0000000..7dcaf6f --- /dev/null +++ b/recipes-protocols/omniorb/files/0002-python-shebang.patch @@ -0,0 +1,20 @@ +Index: omniORB/src/tool/omniidl/python/scripts/omniidl.in +=================================================================== +--- omniORB.orig/src/tool/omniidl/python2/scripts/omniidl.in ++++ omniORB/src/tool/omniidl/python2/scripts/omniidl.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python + # -*- python -*- + # Package : omniidl + # omniidl.in Created on: 1999/10/29 +Index: omniORB/src/tool/omniidl/python3/scripts/omniidl.in +=================================================================== +--- omniORB.orig/src/tool/omniidl/python3/scripts/omniidl.in ++++ omniORB/src/tool/omniidl/python3/scripts/omniidl.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python3 + # -*- python -*- + # Package : omniidl + # omniidl.in Created on: 1999/10/29 diff --git a/recipes-protocols/omniorb/omniorb_4.3.2.bb b/recipes-protocols/omniorb/omniorb_4.3.2.bb new file mode 100644 index 0000000..5cea845 --- /dev/null +++ b/recipes-protocols/omniorb/omniorb_4.3.2.bb @@ -0,0 +1,44 @@ +DESCRIPTION = "OmniORB High Performance ORB" +HOMEPAGE = "http://omniorb.sourceforge.net" +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=1b422f7cda3870b9c4b040b68ba1c0fe" + +DEPENDS += "omniorb-native python3" + +SRC_URI = "http://downloads.sourceforge.net/omniorb/omniORB-${PV}.tar.bz2" +SRC_URI[sha256sum] = "1c745330d01904afd7a1ed0a5896b9a6e53ac1a4b864a48503b93c7eecbf1fa8" + +SRC_URI += " \ + file://0002-python-shebang.patch \ +" + +S = "${WORKDIR}/omniORB-${PV}" + +EXTRA_OECONF += "--disable-longdouble" + +CONFFILES:${PN} += "/etc/omniORB.cfg" +FILES:${PN}-dev += "${libdir}/python${PYTHON_BASEVERSION}" + +do_compile () { + export TOOLBINDIR=${STAGING_BINDIR_NATIVE} + oe_runmake +} + +do_compile:class-native () { + oe_runmake +} + +do_install:append () { + install -d ${D}${sysconfdir} + install -m 0644 ${S}/sample.cfg ${D}${sysconfdir}/omniORB.cfg + + # Set sane defaults + sed -i 's,^traceThreadId.*,traceThreadId = 0,g' ${D}${sysconfdir}/omniORB.cfg + sed -i 's,^traceTime.*,traceTime = 0,g' ${D}${sysconfdir}/omniORB.cfg +} + +PARALLEL_MAKE = "" + +inherit autotools python3native pkgconfig + +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-support/tango-idl/tango-idl.inc b/recipes-support/tango-idl/tango-idl.inc new file mode 100644 index 0000000..e01670a --- /dev/null +++ b/recipes-support/tango-idl/tango-idl.inc @@ -0,0 +1,13 @@ +SUMMARY = "IDL definitions for Tango Controls" +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6c9432eab6a070a936cf9da6191d6db6" + +SRC_URI = "https://gitlab.com/tango-controls/tango-idl/-/archive/${PV}/tango-idl-${PV}.tar.gz" + +S = "${WORKDIR}/tango-idl-${PV}" + +DEPENDS = "omniorb-native" + +inherit cmake + +BBCLASSEXTEND = "nativesdk" diff --git a/recipes-support/tango-idl/tango-idl_5.1.0.bb b/recipes-support/tango-idl/tango-idl_5.1.0.bb new file mode 100644 index 0000000..d501190 --- /dev/null +++ b/recipes-support/tango-idl/tango-idl_5.1.0.bb @@ -0,0 +1,2 @@ +require tango-idl.inc +SRC_URI[sha256sum] = "864dc73510fea5d71c8d7120ecb0d0df13510b37319120367305b94490b5751e" diff --git a/recipes-tools/starter/tango-starter.inc b/recipes-tools/starter/tango-starter.inc new file mode 100644 index 0000000..9516ca5 --- /dev/null +++ b/recipes-tools/starter/tango-starter.inc @@ -0,0 +1,11 @@ +SUMMARY = "Tango Controls Starter" +LICENSE = "GPL-3.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1ebbd3e34237af26da5dc08a4e440464" + +SRC_URI = "https://gitlab.com/tango-controls/starter/-/archive/Starter-${PV}/starter-Starter-${PV}.tar.gz" + +S = "${WORKDIR}/starter-Starter-${PV}" + +DEPENDS = "libtango omniorb" + +inherit cmake diff --git a/recipes-tools/starter/tango-starter/0001-8.3-detect-linux-not-glibc.patch b/recipes-tools/starter/tango-starter/0001-8.3-detect-linux-not-glibc.patch new file mode 100644 index 0000000..411e34b --- /dev/null +++ b/recipes-tools/starter/tango-starter/0001-8.3-detect-linux-not-glibc.patch @@ -0,0 +1,11 @@ +--- starter-Starter-8.3/CheckProcessUtil.h 2023-11-24 21:30:37.000000000 +0100 ++++ starter-Starter-8.3-musl/CheckProcessUtil.h 2024-03-08 00:00:17.685887663 +0100 +@@ -59,7 +59,7 @@ + # include + # include + # include +-# if (!defined __GLIBC__) && (!defined __darwin__) && (!defined __freebsd__) ++# if (!defined __linux__) && (!defined __darwin__) && (!defined __freebsd__) + /* solaris */ + # include + # include diff --git a/recipes-tools/starter/tango-starter_8.3.bb b/recipes-tools/starter/tango-starter_8.3.bb new file mode 100644 index 0000000..d5e7ac8 --- /dev/null +++ b/recipes-tools/starter/tango-starter_8.3.bb @@ -0,0 +1,12 @@ +require tango-starter.inc +SRC_URI[sha256sum] = "4d6e9b4bc2ab0582c871d167fb6dae4db7d8aeeae5abd0bc0705c58c8b3d0b44" + +SRC_URI += "https://gitlab.com/tango-controls/TangoCMakeModules/-/archive/main/TangoCMakeModules-main.tar.gz;name=CMakeModules" +SRC_URI[CMakeModules.sha256sum] = "238d2d1caf26ce217750dec599400c9c207d55c9f086752ec8fac4255eb17954" + +SRC_URI += "file://0001-8.3-detect-linux-not-glibc.patch" + +do_configure:prepend() { + # Starter 8.3 doesn't include TangoCMakeModules + cp ${WORKDIR}/TangoCMakeModules-main/* ${WORKDIR}/starter-Starter-${PV}/TangoCMakeModules +}