Gentoo Archives: gentoo-commits

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