added my Recipes
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
DESCRIPTION = "C++ bindings for ZeroMQ"
|
||||
HOMEPAGE = "http://www.zeromq.org"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=db174eaf7b55a34a7c89551197f66e94"
|
||||
DEPENDS = "zeromq"
|
||||
|
||||
SRCREV = "d67b6352b87a238775cd17e4376b980d07fa7939"
|
||||
PV = "4.9.0"
|
||||
|
||||
SRC_URI = "git://github.com/zeromq/cppzmq.git;branch=master;protocol=https"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake
|
||||
|
||||
EXTRA_OECMAKE = "-DCPPZMQ_BUILD_TESTS=OFF"
|
||||
|
||||
PACKAGES = "${PN}-dev"
|
||||
|
||||
RDEPENDS:${PN}-dev = "zeromq-dev"
|
||||
DEV_PKG_DEPENDENCY = ""
|
||||
@@ -0,0 +1,38 @@
|
||||
DESCRIPTION = "High-level C binding for 0MQ"
|
||||
HOMEPAGE = "http://czmq.zeromq.org/"
|
||||
LICENSE = "MPL-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=9741c346eef56131163e13b9db1241b3"
|
||||
DEPENDS = "zeromq"
|
||||
|
||||
SRC_URI = "https://github.com/zeromq/czmq/releases/download/v${PV}/czmq-${PV}.tar.gz"
|
||||
|
||||
SRC_URI[md5sum] = "471e9ec120fc66a2fe2aae14359e3cfa"
|
||||
SRC_URI[sha256sum] = "5d720a204c2a58645d6f7643af15d563a712dad98c9d32c1ed913377daa6ac39"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/zeromq/${BPN}/releases"
|
||||
|
||||
inherit cmake pkgconfig
|
||||
|
||||
PACKAGES = "lib${BPN} lib${BPN}-dev lib${BPN}-staticdev ${PN} ${PN}-dbg"
|
||||
|
||||
FILES:${PN} = "${bindir}/*"
|
||||
FILES:lib${BPN} = "${libdir}/*.so.*"
|
||||
FILES:lib${BPN}-dev = "${libdir}/*.so ${libdir}/pkgconfig ${includedir} ${datadir}/cmake"
|
||||
FILES:lib${BPN}-staticdev = "${libdir}/lib*.a"
|
||||
|
||||
RDEPENDS:lib${BPN}-dev = "zeromq-dev"
|
||||
|
||||
PACKAGECONFIG ??= "lz4 uuid curl ${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}"
|
||||
PACKAGECONFIG[curl] = "-DCZMQ_WITH_LIBCURL=ON,-DCZMQ_WITH_LIBCURL=OFF,curl"
|
||||
PACKAGECONFIG[httpd] = "-DCZMQ_WITH_LIBMICROHTTPD=ON,-DCZMQ_WITH_LIBMICROHTTPD=OFF,libmicrohttpd"
|
||||
PACKAGECONFIG[lz4] = "-DCZMQ_WITH_LZ4=ON,-DCZMQ_WITH_LZ4=OFF,lz4"
|
||||
PACKAGECONFIG[nss] = "-DCZMQ_WITH_NSS=ON,-DCZMQ_WITH_NSS=OFF,nss"
|
||||
PACKAGECONFIG[systemd] = "-DCZMQ_WITH_SYSTEMD=ON,-DCZMQ_WITH_SYSTEMD=OFF,systemd"
|
||||
PACKAGECONFIG[uuid] = "-DCZMQ_WITH_UUID=ON,-DCZMQ_WITH_UUID=OFF,util-linux"
|
||||
|
||||
BBCLASSEXTEND = "nativesdk"
|
||||
|
||||
do_install:append() {
|
||||
mkdir -p ${D}/${includedir}/${BPN}
|
||||
mv ${D}/${includedir}/sha1.h ${D}/${includedir}/${BPN}/.
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
From 24ad50286a87833329213dc0b0e68c21aeeee95f Mon Sep 17 00:00:00 2001
|
||||
From: Niko Mauno <niko.mauno@vaisala.com>
|
||||
Date: Wed, 22 Apr 2020 09:00:00 +0300
|
||||
Subject: [PATCH] CMakeLists.txt: Avoid host-specific path to libsodium
|
||||
|
||||
Avoid propagating full build host specific path to generated
|
||||
ZeroMQTargets.cmake when building with libsodium, which changes the
|
||||
content in generated ZeroMQTargets.cmake files followingly:
|
||||
|
||||
-INTERFACE_LINK_LIBRARIES "-lpthread;/build/host/specific/path/to/zeromq/4.3.2-r0/recipe-sysroot/usr/lib/libsodium.so;-lrt"
|
||||
+INTERFACE_LINK_LIBRARIES "-lpthread;-lsodium;-lrt"
|
||||
|
||||
This change mitigates an issue stemming from reuse of build artifacts
|
||||
where the path to libsodium.so does not match exactly between two
|
||||
different build hosts.
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Niko Mauno <niko.mauno@vaisala.com>
|
||||
|
||||
---
|
||||
CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index e92141d..d0775c1 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1428,7 +1428,7 @@ if(BUILD_SHARED)
|
||||
endif()
|
||||
|
||||
if(SODIUM_FOUND)
|
||||
- target_link_libraries(libzmq ${SODIUM_LIBRARIES})
|
||||
+ target_link_libraries(libzmq -lsodium)
|
||||
# On Solaris, libsodium depends on libssp
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
target_link_libraries(libzmq ssp)
|
||||
@@ -1473,7 +1473,7 @@ if(BUILD_STATIC)
|
||||
endif()
|
||||
|
||||
if(SODIUM_FOUND)
|
||||
- target_link_libraries(libzmq-static ${SODIUM_LIBRARIES})
|
||||
+ target_link_libraries(libzmq-static -lsodium)
|
||||
# On Solaris, libsodium depends on libssp
|
||||
if(${CMAKE_SYSTEM_NAME} MATCHES "SunOS")
|
||||
target_link_libraries(libzmq-static ssp)
|
||||
@@ -0,0 +1,64 @@
|
||||
From 66e72389cc90625ed74e8ba1ea3a65234bdb06b5 Mon Sep 17 00:00:00 2001
|
||||
From: Sergei Trofimovich <slyich@gmail.com>
|
||||
Date: Tue, 20 Dec 2022 21:45:16 +0000
|
||||
Subject: [PATCH] src/secure_allocator.hpp: define missing 'rebind' type
|
||||
|
||||
`gcc-13` added an assert to standard headers to make sure custom
|
||||
allocators have intended implementation of rebind type instead
|
||||
of inherited rebind. gcc change:
|
||||
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=64c986b49558a7
|
||||
|
||||
Without the fix build fails on this week's `gcc-13` as:
|
||||
|
||||
[ 92%] Building CXX object tests/CMakeFiles/test_security_curve.dir/test_security_curve.cpp.o
|
||||
In file included from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:34,
|
||||
from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_uninitialized.h:64,
|
||||
from /<<NIX>>/gcc-13.0.0/include/c++/13.0.0/memory:69,
|
||||
from tests/../src/secure_allocator.hpp:42,
|
||||
from tests/../src/curve_client_tools.hpp:49,
|
||||
from tests/test_security_curve.cpp:53:
|
||||
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h: In instantiation of 'struct std::__allocator_traits_base::__rebind<zmq::secure_allocator_t<unsigned char>, unsigned char, void>':
|
||||
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:94:11: required by substitution of 'template<class _Alloc, class _Up> using std::__alloc_rebind = typename std::__allocator_traits_base::__rebind<_Alloc, _Up>::type [with _Alloc = zmq::secure_allocator_t<unsigned char>; _Up = unsigned char]'
|
||||
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:228:8: required by substitution of 'template<class _Alloc> template<class _Tp> using std::allocator_traits< <template-parameter-1-1> >::rebind_alloc = std::__alloc_rebind<_Alloc, _Tp> [with _Tp = unsigned char; _Alloc = zmq::secure_allocator_t<unsigned char>]'
|
||||
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/ext/alloc_traits.h:126:65: required from 'struct __gnu_cxx::__alloc_traits<zmq::secure_allocator_t<unsigned char>, unsigned char>::rebind<unsigned char>'
|
||||
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:88:21: required from 'struct std::_Vector_base<unsigned char, zmq::secure_allocator_t<unsigned char> >'
|
||||
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/stl_vector.h:423:11: required from 'class std::vector<unsigned char, zmq::secure_allocator_t<unsigned char> >'
|
||||
tests/../src/curve_client_tools.hpp:64:76: required from here
|
||||
/<<NIX>>/gcc-13.0.0/include/c++/13.0.0/bits/alloc_traits.h:70:31: error: static assertion failed: allocator_traits<A>::rebind_alloc<A::value_type> must be A
|
||||
70 | _Tp>::value,
|
||||
| ^~~~~
|
||||
|
||||
The change adds trivial `rebind` definition with expected return type
|
||||
and satisfies conversion requirements.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/zeromq/libzmq/commit/438d5d88]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
src/secure_allocator.hpp | 11 +++++++++++
|
||||
1 file changed, 11 insertions(+)
|
||||
|
||||
diff --git a/src/secure_allocator.hpp b/src/secure_allocator.hpp
|
||||
index 0d37e7ed..5b8de9e2 100644
|
||||
--- a/src/secure_allocator.hpp
|
||||
+++ b/src/secure_allocator.hpp
|
||||
@@ -95,6 +95,17 @@ bool operator!= (const secure_allocator_t<T> &, const secure_allocator_t<U> &)
|
||||
#else
|
||||
template <typename T> struct secure_allocator_t : std::allocator<T>
|
||||
{
|
||||
+ secure_allocator_t () ZMQ_DEFAULT;
|
||||
+
|
||||
+ template <class U>
|
||||
+ secure_allocator_t (const secure_allocator_t<U> &) ZMQ_NOEXCEPT
|
||||
+ {
|
||||
+ }
|
||||
+
|
||||
+ template <class U> struct rebind
|
||||
+ {
|
||||
+ typedef secure_allocator_t<U> other;
|
||||
+ };
|
||||
};
|
||||
#endif
|
||||
}
|
||||
--
|
||||
2.39.1
|
||||
|
||||
10
meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/run-ptest
Executable file
10
meta-openembedded/meta-oe/recipes-connectivity/zeromq/files/run-ptest
Executable file
@@ -0,0 +1,10 @@
|
||||
#!/bin/sh
|
||||
|
||||
cd tests
|
||||
for i in `ls *`; do
|
||||
if [ ./$i ] ; then
|
||||
echo "PASS: $i"
|
||||
else
|
||||
echo "FAIL: $i"
|
||||
fi
|
||||
done
|
||||
@@ -0,0 +1,30 @@
|
||||
DESCRIPTION = "ZeroMQ looks like an embeddable networking library but acts like a concurrency framework"
|
||||
HOMEPAGE = "http://www.zeromq.org"
|
||||
LICENSE = "LGPL-3.0-or-later"
|
||||
LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=d5311495d952062e0e4fbba39cbf3de1"
|
||||
|
||||
PACKAGECONFIG ??= "libsodium"
|
||||
PACKAGECONFIG[libsodium] = "-DWITH_LIBSODIUM=ON,-DWITH_LIBSODIUM=OFF, libsodium"
|
||||
|
||||
SRC_URI = "http://github.com/zeromq/libzmq/releases/download/v${PV}/zeromq-${PV}.tar.gz \
|
||||
file://0001-CMakeLists-txt-Avoid-host-specific-path-to-libsodium.patch \
|
||||
file://0001-src-secure_allocator.hpp-define-missing-rebind-type.patch \
|
||||
file://run-ptest \
|
||||
"
|
||||
SRC_URI[md5sum] = "c897d4005a3f0b8276b00b7921412379"
|
||||
SRC_URI[sha256sum] = "c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/libzmq/releases"
|
||||
|
||||
inherit cmake ptest pkgconfig
|
||||
|
||||
EXTRA_OECMAKE = "${@bb.utils.contains('PTEST_ENABLED', '1', '-DBUILD_TESTS=ON', '-DBUILD_TESTS=OFF', d)} \
|
||||
-DCMAKE_SKIP_RPATH=ON \
|
||||
"
|
||||
|
||||
do_install_ptest () {
|
||||
install -d ${D}${PTEST_PATH}/tests
|
||||
install -m 0755 ${B}/bin/test_* ${D}${PTEST_PATH}/tests
|
||||
}
|
||||
|
||||
FILES:${PN}-doc += "${datadir}/zmq/*.txt"
|
||||
Reference in New Issue
Block a user