Cyclonedds/Iceoryx ebuilds

Signed-off-by: Marius Norvoll Sletten <mariusns@gmail.com>
This commit is contained in:
Marius Norvoll Sletten
2023-09-01 13:31:47 +02:00
parent 4dc0c9f1d9
commit 10104d978b
7 changed files with 346 additions and 0 deletions

View File

@@ -0,0 +1 @@
DIST cyclonedds-0.10.3.tar.gz 6978637 BLAKE2B 341b046d958c9f9f4200c5518525f42191d2e3954160cdffcc8bccbd5e43fe87e9e66bc18b4ae47cbb9b0f7f47b887936190cb611cfb02f61d6d983cea40763d SHA512 02cc883a892e07865b7b362919d0a756db8c20f2d4ff7912738ccaaa512a83db4114a4da74f87b5bf743891871402cc4e9d472eaf6718ef409776fa2817ce288

View File

@@ -0,0 +1,66 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
if [[ ${PV} == *9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/eclipse-cyclonedds/"
else
SRC_URI="https://github.com/eclipse-cyclonedds/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
S="${WORKDIR}/${P}"
DESCRIPTION="Eclipse Cyclone DDS is a very performant and robust open-source implementation of the OMG DDS specification."
HOMEPAGE="https://cyclonedds.io/"
LICENSE="EPL-2.0"
SLOT="0/$(ver_cut 1-2)"
IUSE="test ssl shm parser doc examples ipv6 idlc get_kind"
RESTRICT="!test? ( test )"
RDEPEND=(
"doc? ( app-doc/doxygen )"
"ssl? ( dev-libs/openssl )"
"shm? ( sys-libs/iceoryx )"
"parser? ( sys-devel/bison )"
)
DEPEND="${RDEPEND}"
CMAKE_BUILD_TYPE=Release
#PATCHES=()
src_prepare() {
use get_kind && eapply ${FILESDIR}/${PN}-0.10.3-get_kind.patch
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DBUILD_DOCS= $(usex doc)
-DBUILD_DDSPERF=OFF
-DBUILD_EXAMPLES=$(usex examples)
-DBUILD_TESTING=$(usex test)
-DBUILD_IDLC_TESTING=$(usex test)
-DBUILD_IDLC=$(usex idlc)
-DENABLE_SSL=$(usex ssl)
-DENABLE_SECURITY=$(usex ssl)
-DENABLE_SECURITY=$(usex ssl)
-DENABLE_IPV6=$(usex ipv6)
-DENABLE_SHM=$(usex shm)
)
cmake_src_configure
}

View File

@@ -0,0 +1,66 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
if [[ ${PV} == *9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/eclipse-cyclonedds/"
else
SRC_URI="https://github.com/eclipse-cyclonedds/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
S="${WORKDIR}/${P}"
DESCRIPTION="Eclipse Cyclone DDS is a very performant and robust open-source implementation of the OMG DDS specification."
HOMEPAGE="https://cyclonedds.io/"
LICENSE="EPL-2.0"
SLOT="0/$(ver_cut 1-2)"
IUSE="test ssl shm parser doc examples ipv6 idlc get_kind"
RESTRICT="!test? ( test )"
RDEPEND=(
"doc? ( app-doc/doxygen )"
"ssl? ( dev-libs/openssl )"
"shm? ( sys-libs/iceoryx )"
"parser? ( sys-devel/bison )"
)
DEPEND="${RDEPEND}"
CMAKE_BUILD_TYPE=Release
#PATCHES=()
src_prepare() {
use get_kind && eapply ${FILESDIR}/${PN}-0.10.3-get_kind.patch
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DBUILD_DOCS= $(usex doc)
-DBUILD_DDSPERF=OFF
-DBUILD_EXAMPLES=$(usex examples)
-DBUILD_TESTING=$(usex test)
-DBUILD_IDLC_TESTING=$(usex test)
-DBUILD_IDLC=$(usex idlc)
-DENABLE_SSL=$(usex ssl)
-DENABLE_SECURITY=$(usex ssl)
-DENABLE_SECURITY=$(usex ssl)
-DENABLE_IPV6=$(usex ipv6)
-DENABLE_SHM=$(usex shm)
)
cmake_src_configure
}

View File

@@ -0,0 +1,87 @@
diff --git a/src/core/ddsc/include/dds/dds.h b/src/core/ddsc/include/dds/dds.h
index 97647d6..b619ca7 100644
--- a/src/core/ddsc/include/dds/dds.h
+++ b/src/core/ddsc/include/dds/dds.h
@@ -46,6 +46,7 @@
#include "dds/ddsc/dds_public_error.h"
#include "dds/ddsc/dds_public_status.h"
#include "dds/ddsc/dds_public_listener.h"
+#include "dds/ddsc/dds_public_entity.h"
#if defined (__cplusplus)
extern "C" {
diff --git a/src/core/ddsc/include/dds/ddsc/dds_public_entity.h b/src/core/ddsc/include/dds/ddsc/dds_public_entity.h
new file mode 100644
index 0000000..d1402f5
--- /dev/null
+++ b/src/core/ddsc/include/dds/ddsc/dds_public_entity.h
@@ -0,0 +1,36 @@
+/*
+ * dds_public_entity.h
+ *
+ * Created on: 21. nov. 2022
+ * Author: marius
+ */
+
+#ifndef _DDS_PUBLIC_ENTITY_H_
+#define _DDS_PUBLIC_ENTITY_H_
+#include <dds/export.h>
+#include <dds/ddsrt/retcode.h>
+#include <dds/ddsc/dds_public_impl.h>
+#include <dds/ddsc/dds_basic_types.h>
+
+
+/*
+ * An addition to the external interface
+ *
+ * RETURN type of entity
+ */
+
+DDS_EXPORT dds_entity_kind_t
+dds_get_kind (const dds_entity_t e);
+
+/*
+ *
+ * RETURN DDS_RETCODE_OK on enabled entity
+ * ELSE DDS_RETCODE_NOT_ENABLED
+ *
+ */
+
+DDS_EXPORT dds_return_t
+dds_enabled(const dds_entity_t entity);
+
+#endif /* SRC_CORE_DDSC_INCLUDE_DDS_DDSC_DDS_PUBLIC_ENTITY_H_ */
+
diff --git a/src/core/ddsc/src/dds_entity.c b/src/core/ddsc/src/dds_entity.c
index 16c99e8..e19891e 100644
--- a/src/core/ddsc/src/dds_entity.c
+++ b/src/core/ddsc/src/dds_entity.c
@@ -30,6 +30,7 @@
#include "dds/ddsi/q_bswap.h"
#include "dds/ddsi/ddsi_entity.h"
#include "dds/ddsi/ddsi_endpoint.h"
+#include "dds/ddsc/dds_public_entity.h"
DDS_EXPORT extern inline dds_entity *dds_entity_from_handle_link (struct dds_handle_link *hdllink);
DDS_EXPORT extern inline bool dds_entity_is_enabled (const dds_entity *e);
@@ -52,6 +53,20 @@ const struct dds_entity_deriver *dds_entity_deriver_table[] = {
[DDS_KIND_CYCLONEDDS] = &dds_entity_deriver_cyclonedds
};
+
+dds_entity_kind_t dds_get_kind (const dds_entity_t e)
+{
+ struct dds_entity *entity;
+ dds_return_t ret;
+ dds_entity_kind_t kind = DDS_KIND_DONTCARE;
+ if((ret = dds_entity_pin(e, &entity)) >0)
+ {
+ kind = entity->m_kind;
+ dds_entity_unpin(entity);
+ }
+
+ return kind;
+}
void dds_entity_deriver_dummy_interrupt (struct dds_entity *e) {
(void) e;
}

View File

@@ -0,0 +1 @@
DIST iceoryx-2.0.3.tar.gz 1544045 BLAKE2B ce352c035fe89691425b5dcd763eb848a21f9eda6885c9bbd452d8aa9089fbb0a453557f9b40c97f1819d5c1ee8ec0fcdc5dc93f228974c7169576f090ccd83a SHA512 b860452373dc41d6b0dd0042d1fc4c97621f143d20e9354a1572126ab815ee0cec6548ddfab9fa276943ed33d9ffd8810243e67eb5fae1d11f18ef0b2b074650

View File

@@ -0,0 +1,63 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
if [[ ${PV} == *9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/eclipse-iceoryx/iceoryx"
else
SRC_URI="https://github.com/eclipse-iceoryx/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
S="${WORKDIR}/${P}"
B="${WORKDIR}/${P}_build"
DESCRIPTION="Eclipse Iceoryx zero copy IPC"
HOMEPAGE="https://iceoryx.io"
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1-2)"
IUSE="test doc examples ccache"
RESTRICT="!test? ( test )"
RDEPEND=(
"doc? ( app-doc/doxygen )"
"dev-cpp/cpptoml"
"ccache? dev-util/ccache"
)
DEPEND="${RDEPEND}"
CMAKE_BUILD_TYPE=Release
PATCHES=()
src_prepare() {
CMAKE_USE_DIR=${S}/${PN}_meta
BUILD_DIR=${B}
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DBUILD_DOC= $(usex doc)
-DBUILD_ALL=OFF
-DBINDING_C=ON
-DEXAMPLES=$(usex examples)
-DBUILD_TEST=$(usex test)
-DCLANG_TIDY=OFF
-DDOWNLOAD_TOML_LIB=OFF
-DCMAKE_MODULE_PATH="/usr/lib/cmake/cpptoml"
-DCCACHE=$(usex ccache)
)
cmake_src_configure
}

View File

@@ -0,0 +1,62 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake
if [[ ${PV} == *9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/eclipse-iceoryx/iceoryx"
else
SRC_URI="https://github.com/eclipse-iceoryx/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64"
fi
S="${WORKDIR}/${P}"
B="${WORKDIR}/${P}_build"
DESCRIPTION="Eclipse Iceoryx zero copy IPC"
HOMEPAGE="https://iceoryx.io"
LICENSE="Apache-2.0"
SLOT="0/$(ver_cut 1-2)"
IUSE="test doc examples ccache"
RESTRICT="!test? ( test )"
RDEPEND=(
"doc? ( app-doc/doxygen )"
"dev-cpp/cpptoml"
"ccache? dev-util/ccache"
)
DEPEND="${RDEPEND}"
CMAKE_BUILD_TYPE=Release
PATCHES=()
src_prepare() {
CMAKE_USE_DIR=${S}/${PN}_meta
BUILD_DIR=${B}
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DBUILD_DOC= $(usex doc)
-DBUILD_ALL=OFF
-DBINDING_C=ON
-DEXAMPLES=$(usex examples)
-DBUILD_TEST=$(usex test)
-DCLANG_TIDY=OFF
-DDOWNLOAD_TOML_LIB=OFF
-DCMAKE_MODULE_PATH="/usr/lib/cmake/cpptoml"
-DCCACHE=$(usex ccache)
)
cmake_src_configure
}