Gentoo Archives: gentoo-commits

From: Florian Schmaus <flow@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/proj/guru:master commit in: dev-libs/open62541/, dev-libs/open62541/files/
Date: Sat, 26 Feb 2022 18:16:44
Message-Id: 1645822051.36e42377c96008cd4bc4b200f98ec2348ba4b2a9.flow@gentoo
1 commit: 36e42377c96008cd4bc4b200f98ec2348ba4b2a9
2 Author: Kurt Kanzenbach <kurt <AT> kmk-computers <DOT> de>
3 AuthorDate: Fri Feb 25 20:47:31 2022 +0000
4 Commit: Florian Schmaus <flow <AT> gentoo <DOT> org>
5 CommitDate: Fri Feb 25 20:47:31 2022 +0000
6 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=36e42377
7
8 dev-libs/open62541: Bump version to v1.2.4
9
10 Package-Manager: Portage-3.0.30, Repoman-3.0.3
11 Signed-off-by: Kurt Kanzenbach <kurt <AT> kmk-computers.de>
12
13 dev-libs/open62541/Manifest | 1 +
14 .../open62541/files/open62541-1.2.4-headers.patch | 31 ++++++
15 .../open62541/files/open62541-1.2.4-tests.patch | 124 +++++++++++++++++++++
16 dev-libs/open62541/open62541-1.2.4.ebuild | 104 +++++++++++++++++
17 4 files changed, 260 insertions(+)
18
19 diff --git a/dev-libs/open62541/Manifest b/dev-libs/open62541/Manifest
20 index d59ef7daa..aa9a52758 100644
21 --- a/dev-libs/open62541/Manifest
22 +++ b/dev-libs/open62541/Manifest
23 @@ -1 +1,2 @@
24 DIST open62541-1.2.3.tar.gz 3645511 BLAKE2B 3cebe1a4200cb026916cd801303937509d8e59c10af5400f5a212c16006c1744bc403fad25b40fb7bcf9043982649f1661c13aa16df8a07db6334f7e2fc55872 SHA512 ffcc697901ec978fb9d1f8996f8a4c5114c98a0ec19206cac95d1a84f8d0fcbe38bf73e88f1df59d53bc6be481102aa2f2a6a0efa29797e7ce11123bd23131c2
25 +DIST open62541-1.2.4.tar.gz 3646665 BLAKE2B 83441f05d4f846e83d441a84d46e6bff4459a239d02eee7a78f846a26cb433ecb67a2b178c8a5bcbc748b10ac49f055f5c9063b02dd72d2e574f1b1e0ea3fe97 SHA512 4fb4c01c0573dd5e06c4f3a0caa6b7b5ef3bafbbf3d4d7a0770e9e448e111b5f4906d6911271f28c27a2b1f07710a6bc0b3204ca39e043c350f5051c3ee8e821
26
27 diff --git a/dev-libs/open62541/files/open62541-1.2.4-headers.patch b/dev-libs/open62541/files/open62541-1.2.4-headers.patch
28 new file mode 100644
29 index 000000000..75d79ec46
30 --- /dev/null
31 +++ b/dev-libs/open62541/files/open62541-1.2.4-headers.patch
32 @@ -0,0 +1,31 @@
33 +From a5697f1eb69822e172bc31d1549222c8ca718844 Mon Sep 17 00:00:00 2001
34 +From: Kurt Kanzenbach <kurt@×××××××××××××.de>
35 +Date: Sun, 12 Jul 2020 10:39:31 +0200
36 +Subject: [PATCH 2/3] cmake: Install ETF and XDP plugin headers
37 +
38 +When the corresponding features are enabled, the headers should be installed as
39 +well.
40 +
41 +Signed-off-by: Kurt Kanzenbach <kurt@×××××××××××××.de>
42 +---
43 + CMakeLists.txt | 2 ++
44 + 1 file changed, 2 insertions(+)
45 +
46 +--- a/CMakeLists.txt
47 ++++ b/CMakeLists.txt
48 +@@ -907,6 +907,7 @@ if(UA_ENABLE_PUBSUB)
49 + list(APPEND default_plugin_headers ${PROJECT_SOURCE_DIR}/plugins/include/open62541/plugin/pubsub_udp.h)
50 + list(APPEND default_plugin_sources ${PROJECT_SOURCE_DIR}/plugins/ua_pubsub_udp.c)
51 + if(UA_ENABLE_PUBSUB_ETH_UADP_ETF)
52 ++ list(APPEND default_plugin_headers ${PROJECT_SOURCE_DIR}/plugins/include/open62541/plugin/pubsub_ethernet_etf.h)
53 + list(APPEND default_plugin_sources ${PROJECT_SOURCE_DIR}/plugins/ua_pubsub_ethernet_etf.c)
54 + endif()
55 + if(UA_ENABLE_PUBSUB_ETH_UADP)
56 +@@ -916,6 +917,7 @@ if(UA_ENABLE_PUBSUB)
57 + if(UA_ENABLE_PUBSUB_ETH_UADP_XDP)
58 + if(EXISTS "${XDP_LIBRARY}")
59 + list(APPEND open62541_LIBRARIES ${XDP_LIBRARY})
60 ++ list(APPEND default_plugin_headers ${PROJECT_SOURCE_DIR}/plugins/include/open62541/plugin/pubsub_ethernet_xdp.h)
61 + list(APPEND default_plugin_sources ${PROJECT_SOURCE_DIR}/plugins/ua_pubsub_ethernet_xdp.c)
62 + else()
63 + MESSAGE(WARNING "samples in bpf-next directory were not built. Build the bpf-next to use XDP")
64
65 diff --git a/dev-libs/open62541/files/open62541-1.2.4-tests.patch b/dev-libs/open62541/files/open62541-1.2.4-tests.patch
66 new file mode 100644
67 index 000000000..e8b83fe08
68 --- /dev/null
69 +++ b/dev-libs/open62541/files/open62541-1.2.4-tests.patch
70 @@ -0,0 +1,124 @@
71 +From ab9a4a1c826bb662816f71020054ba2558afefc7 Mon Sep 17 00:00:00 2001
72 +From: Kurt Kanzenbach <kurt@×××××××××××××.de>
73 +Date: Sat, 20 Jun 2020 14:28:57 +0200
74 +Subject: [PATCH 1/3] cmake: pubsub: Disable failing tests within portage
75 +
76 +The Pub/Sub tests won't work within portage. Disable them.
77 +
78 +Signed-off-by: Kurt Kanzenbach <kurt@×××××××××××××.de>
79 +---
80 + tests/CMakeLists.txt | 103 ---------------------------------------------------
81 + 1 file changed, 103 deletions(-)
82 +
83 +--- a/tests/CMakeLists.txt
84 ++++ b/tests/CMakeLists.txt
85 +@@ -341,109 +341,6 @@ if(UA_ENABLE_DISCOVERY)
86 + add_test_valgrind(discovery ${TESTS_BINARY_DIR}/check_discovery)
87 + endif()
88 +
89 +-if(UA_ENABLE_PUBSUB)
90 +- add_executable(check_pubsub_encoding pubsub/check_pubsub_encoding.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
91 +- target_link_libraries(check_pubsub_encoding ${LIBS})
92 +- add_test_valgrind(pubsub_encoding ${TESTS_BINARY_DIR}/check_pubsub_encoding)
93 +- add_executable(check_pubsub_pds pubsub/check_pubsub_pds.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
94 +- target_link_libraries(check_pubsub_pds ${LIBS})
95 +- add_test_valgrind(pubsub_pds ${TESTS_BINARY_DIR}/check_pubsub_pds)
96 +- add_executable(check_pubsub_connection_udp pubsub/check_pubsub_connection_udp.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
97 +- target_link_libraries(check_pubsub_connection_udp ${LIBS})
98 +- add_test_valgrind(pubsub_connection_udp ${TESTS_BINARY_DIR}/check_pubsub_connection_udp)
99 +- add_executable(check_pubsub_publish pubsub/check_pubsub_publish.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
100 +- target_link_libraries(check_pubsub_publish ${LIBS})
101 +- add_test_valgrind(pubsub_publish ${TESTS_BINARY_DIR}/check_pubsub_publish)
102 +- add_executable(check_pubsub_publish_uadp pubsub/check_pubsub_publish_uadp.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
103 +- target_link_libraries(check_pubsub_publish_uadp ${LIBS})
104 +- add_test_valgrind(pubsub_publish ${TESTS_BINARY_DIR}/check_pubsub_publish_uadp)
105 +- add_executable(check_pubsub_get_state pubsub/check_pubsub_get_state.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
106 +- target_link_libraries(check_pubsub_get_state ${LIBS})
107 +- add_test_valgrind(check_pubsub_get_state ${TESTS_BINARY_DIR}/check_pubsub_get_state)
108 +-
109 +- #Link libraries for executing subscriber unit test
110 +- add_executable(check_pubsub_subscribe pubsub/check_pubsub_subscribe.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
111 +- target_link_libraries(check_pubsub_subscribe ${LIBS})
112 +- add_executable(check_pubsub_publishspeed pubsub/check_pubsub_publishspeed.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
113 +- target_link_libraries(check_pubsub_publishspeed ${LIBS})
114 +- add_test_valgrind(pubsub_publishspeed ${TESTS_BINARY_DIR}/check_pubsub_publish)
115 +- add_executable(check_pubsub_config_freeze pubsub/check_pubsub_config_freeze.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
116 +- target_link_libraries(check_pubsub_config_freeze ${LIBS})
117 +- add_test_valgrind(check_pubsub_config_freeze ${TESTS_BINARY_DIR}/check_pubsub_config_freeze)
118 +- add_executable(check_pubsub_publish_rt_levels pubsub/check_pubsub_publish_rt_levels.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
119 +- target_link_libraries(check_pubsub_publish_rt_levels ${LIBS})
120 +- add_test_valgrind(check_pubsub_publish_rt_levels ${TESTS_BINARY_DIR}/check_pubsub_publish_rt_levels)
121 +- add_executable(check_pubsub_subscribe_config_freeze pubsub/check_pubsub_subscribe_config_freeze.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
122 +- target_link_libraries(check_pubsub_subscribe_config_freeze ${LIBS})
123 +- add_test_valgrind(check_pubsub_subscribe_config_freeze ${TESTS_BINARY_DIR}/check_pubsub_subscribe_config_freeze)
124 +- add_executable(check_pubsub_subscribe_rt_levels pubsub/check_pubsub_subscribe_rt_levels.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
125 +- target_link_libraries(check_pubsub_subscribe_rt_levels ${LIBS})
126 +- add_test_valgrind(check_pubsub_subscribe_rt_levels ${TESTS_BINARY_DIR}/check_pubsub_subscribe_rt_levels)
127 +- add_executable(check_pubsub_multiple_subscribe_rt_levels pubsub/check_pubsub_multiple_subscribe_rt_levels.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
128 +- target_link_libraries(check_pubsub_multiple_subscribe_rt_levels ${LIBS})
129 +- add_test_valgrind(check_pubsub_multiple_subscribe_rt_levels ${TESTS_BINARY_DIR}/check_pubsub_multiple_subscribe_rt_levels)
130 +-
131 +- add_executable(check_pubsub_multiple_layer pubsub/check_pubsub_multiple_layer.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
132 +- target_link_libraries(check_pubsub_multiple_layer ${LIBS})
133 +- add_test_valgrind(pubsub_multiple_layer ${TESTS_BINARY_DIR}/check_pubsub_multiple_layer)
134 +-
135 +- if (UA_ENABLE_PUBSUB_MONITORING)
136 +- add_executable(check_pubsub_subscribe_msgrcvtimeout pubsub/check_pubsub_subscribe_msgrcvtimeout.c
137 +- $<TARGET_OBJECTS:open62541-object>
138 +- $<TARGET_OBJECTS:open62541-testplugins>)
139 +- target_link_libraries(check_pubsub_subscribe_msgrcvtimeout ${LIBS})
140 +- add_test_valgrind(check_pubsub_subscribe_msgrcvtimeout ${TESTS_BINARY_DIR}/check_pubsub_subscribe_msgrcvtimeout)
141 +- endif()
142 +-
143 +- if(UA_ENABLE_PUBSUB_ETH_UADP)
144 +- if(NOT UA_ENABLE_PUBSUB_ETH_UADP_ETF)
145 +- add_executable(check_pubsub_connection_ethernet pubsub/check_pubsub_connection_ethernet.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
146 +- target_link_libraries(check_pubsub_connection_ethernet ${LIBS})
147 +- add_test_valgrind(pubsub_connection_ethernet ${TESTS_BINARY_DIR}/check_pubsub_connection_ethernet)
148 +- add_executable(check_pubsub_publish_ethernet pubsub/check_pubsub_publish_ethernet.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
149 +- target_link_libraries(check_pubsub_publish_ethernet ${LIBS})
150 +- add_test_valgrind(pubsub_publish_ethernet ${TESTS_BINARY_DIR}/check_pubsub_publish_ethernet)
151 +- endif()
152 +- if(UA_ENABLE_PUBSUB_ETH_UADP_XDP)
153 +- add_executable(check_pubsub_connection_xdp pubsub/check_pubsub_connection_xdp.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
154 +- target_link_libraries(check_pubsub_connection_xdp ${LIBS})
155 +- add_test_valgrind(pubsub_connection_xdp ${TESTS_BINARY_DIR}/check_pubsub_connection_xdp)
156 +- endif()
157 +- endif()
158 +- if(UA_ENABLE_PUBSUB_ETH_UADP_ETF)
159 +- add_executable(check_pubsub_connection_ethernet_etf pubsub/check_pubsub_connection_ethernet_etf.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
160 +- target_link_libraries(check_pubsub_connection_ethernet_etf ${LIBS})
161 +- add_test_valgrind(pubsub_connection_ethernet_etf ${TESTS_BINARY_DIR}/check_pubsub_connection_ethernet_etf)
162 +- add_executable(check_pubsub_publish_ethernet_etf pubsub/check_pubsub_publish_ethernet_etf.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
163 +- target_link_libraries(check_pubsub_publish_ethernet_etf ${LIBS})
164 +- add_test_valgrind(pubsub_publish_ethernet_etf ${TESTS_BINARY_DIR}/check_pubsub_publish_ethernet_etf)
165 +- endif()
166 +-
167 +- if(UA_ENABLE_PUBSUB_INFORMATIONMODEL)
168 +- add_executable(check_pubsub_informationmodel pubsub/check_pubsub_informationmodel.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
169 +- target_link_libraries(check_pubsub_informationmodel ${LIBS})
170 +- add_test_valgrind(check_pubsub_informationmodel ${TESTS_BINARY_DIR}/check_pubsub_informationmodel)
171 +- if(UA_ENABLE_PUBSUB_INFORMATIONMODEL_METHODS)
172 +- add_executable(check_pubsub_informationmodel_methods pubsub/check_pubsub_informationmodel_methods.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
173 +- target_link_libraries(check_pubsub_informationmodel_methods ${LIBS})
174 +- add_test_valgrind(check_pubsub_informationmodel_methods ${TESTS_BINARY_DIR}/check_pubsub_informationmodel_methods)
175 +-
176 +- endif()
177 +- endif()
178 +- if(UA_ENABLE_PUBSUB_MQTT)
179 +- if(NOT WIN32)
180 +- add_executable(check_pubsub_connection_mqtt pubsub/check_pubsub_connection_mqtt.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
181 +- target_link_libraries(check_pubsub_connection_mqtt ${LIBS})
182 +- add_test_valgrind(pubsub_connection_mqtt ${TESTS_BINARY_DIR}/check_pubsub_connection_mqtt)
183 +- endif()
184 +- endif()
185 +- if(UA_ENABLE_PUBSUB_FILE_CONFIG)
186 +- add_executable(check_pubsub_configuration pubsub/check_pubsub_configuration.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-plugins>)
187 +- target_link_libraries(check_pubsub_configuration ${LIBS})
188 +- add_test_valgrind(pubsub_configuration ${TESTS_BINARY_DIR}/check_pubsub_configuration)
189 +- endif()
190 +-endif()
191 +-
192 + add_executable(check_server_readspeed server/check_server_readspeed.c $<TARGET_OBJECTS:open62541-object> $<TARGET_OBJECTS:open62541-testplugins>)
193 + target_link_libraries(check_server_readspeed ${LIBS})
194 + add_test_no_valgrind(server_readspeed ${TESTS_BINARY_DIR}/check_server_readspeed)
195
196 diff --git a/dev-libs/open62541/open62541-1.2.4.ebuild b/dev-libs/open62541/open62541-1.2.4.ebuild
197 new file mode 100644
198 index 000000000..971777330
199 --- /dev/null
200 +++ b/dev-libs/open62541/open62541-1.2.4.ebuild
201 @@ -0,0 +1,104 @@
202 +# Copyright 1999-2022 Gentoo Authors
203 +# Distributed under the terms of the GNU General Public License v2
204 +
205 +EAPI=8
206 +
207 +PYTHON_COMPAT=( python3_{8..10} )
208 +
209 +inherit cmake python-single-r1
210 +
211 +DESCRIPTION="Open source C implementation of OPC UA"
212 +HOMEPAGE="https://open62541.org/"
213 +SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
214 +
215 +LICENSE="MPL-2.0"
216 +SLOT="0"
217 +KEYWORDS="~amd64 ~arm64 ~x86"
218 +IUSE="doc encryption examples etf mbedtls pubsub openssl test tools xdp"
219 +RESTRICT="!test? ( test )"
220 +
221 +REQUIRED_USE="
222 + ${PYTHON_REQUIRED_USE}
223 + encryption? ( || ( mbedtls openssl ) )
224 + etf? ( pubsub )
225 + xdp? ( pubsub )
226 +"
227 +
228 +BDEPEND="
229 + ${PYTHON_DEPS}
230 + virtual/pkgconfig
231 + doc? (
232 + media-gfx/graphviz
233 + $(python_gen_cond_dep '
234 + dev-python/sphinx[${PYTHON_USEDEP}]
235 + dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
236 + ')
237 + )
238 + test? (
239 + dev-libs/check
240 + dev-util/valgrind
241 + $(python_gen_cond_dep '
242 + dev-python/subunit[${PYTHON_USEDEP}]
243 + ')
244 + )
245 +"
246 +DEPEND="
247 + mbedtls? ( net-libs/mbedtls:= )
248 + openssl? ( dev-libs/openssl:0= )
249 +"
250 +RDEPEND="
251 + ${PYTHON_DEPS}
252 + ${DEPEND}
253 +"
254 +
255 +PATCHES=(
256 + "${FILESDIR}/${P}-headers.patch"
257 + "${FILESDIR}/${P}-tests.patch"
258 +)
259 +
260 +src_prepare() {
261 + # bug 780912
262 + sed -i -e 's/check_add_cc_flag("-Werror")//g' CMakeLists.txt || die
263 +
264 + cmake_src_prepare
265 +}
266 +
267 +src_configure() {
268 + local mycmakeargs=(
269 + -DBUILD_SHARED_LIBS=ON
270 + -DOPEN62541_VERSION=v${PV}
271 + -DUA_BUILD_EXAMPLES=OFF
272 + -DUA_BUILD_TOOLS=$(usex tools)
273 + -DUA_BUILD_UNIT_TESTS=$(usex test)
274 + -DUA_ENABLE_ENCRYPTION=$(usex encryption)
275 + -DUA_ENABLE_ENCRYPTION_MBEDTLS=$(usex mbedtls)
276 + -DUA_ENABLE_ENCRYPTION_OPENSSL=$(usex openssl)
277 + -DUA_ENABLE_PUBSUB=$(usex pubsub)
278 + -DUA_ENABLE_PUBSUB_ETH_UADP=$(usex pubsub)
279 + -DUA_ENABLE_PUBSUB_ETH_UADP_ETF=$(usex etf)
280 + -DUA_ENABLE_PUBSUB_ETH_UADP_XDP=$(usex xdp)
281 + )
282 +
283 + cmake_src_configure
284 +}
285 +
286 +src_compile() {
287 + cmake_src_compile
288 + use doc && cmake_build doc
289 +}
290 +
291 +src_install() {
292 + use doc && local HTML_DOCS=( "${WORKDIR}"/${P}_build/doc/. )
293 + cmake_src_install
294 +
295 + if use examples; then
296 + docompress -x /usr/share/doc/${PF}/examples
297 + dodoc -r examples/
298 + fi
299 +
300 + python_fix_shebang "${ED}"
301 +}
302 +
303 +src_test() {
304 + cmake_src_test -j1
305 +}