mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-07-10 15:45:15 -04:00
103 lines
2.0 KiB
Bash
103 lines
2.0 KiB
Bash
# Copyright 1999-2022 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
PYTHON_COMPAT=( python3_{8..10} )
|
|
|
|
inherit cmake python-single-r1
|
|
|
|
DESCRIPTION="Open source C implementation of OPC UA"
|
|
HOMEPAGE="https://open62541.org/"
|
|
SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
|
|
|
|
LICENSE="MPL-2.0"
|
|
SLOT="0"
|
|
KEYWORDS="~amd64 ~arm64 ~x86"
|
|
IUSE="doc encryption examples mbedtls pubsub openssl test tools"
|
|
RESTRICT="!test? ( test )"
|
|
|
|
REQUIRED_USE="
|
|
${PYTHON_REQUIRED_USE}
|
|
encryption? ( || ( mbedtls openssl ) )
|
|
"
|
|
|
|
BDEPEND="
|
|
${PYTHON_DEPS}
|
|
virtual/pkgconfig
|
|
doc? (
|
|
media-gfx/graphviz
|
|
$(python_gen_cond_dep '
|
|
dev-python/sphinx[${PYTHON_USEDEP}]
|
|
dev-python/sphinx_rtd_theme[${PYTHON_USEDEP}]
|
|
')
|
|
)
|
|
test? (
|
|
dev-libs/check
|
|
dev-util/valgrind
|
|
$(python_gen_cond_dep '
|
|
dev-python/subunit[${PYTHON_USEDEP}]
|
|
')
|
|
)
|
|
"
|
|
DEPEND="
|
|
mbedtls? ( net-libs/mbedtls:= )
|
|
openssl? ( dev-libs/openssl:0= )
|
|
"
|
|
RDEPEND="
|
|
${PYTHON_DEPS}
|
|
${DEPEND}
|
|
"
|
|
|
|
PATCHES=(
|
|
"${FILESDIR}/${P}-disable-xdp.patch"
|
|
"${FILESDIR}/${P}-tests.patch"
|
|
)
|
|
|
|
src_prepare() {
|
|
# bug 780912
|
|
sed -i -e 's/check_add_cc_flag("-Werror")//g' CMakeLists.txt || die
|
|
|
|
cmake_src_prepare
|
|
}
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DBUILD_SHARED_LIBS=ON
|
|
-DOPEN62541_VERSION=v${PV}
|
|
-DUA_BUILD_EXAMPLES=OFF
|
|
-DUA_BUILD_TOOLS=$(usex tools)
|
|
-DUA_BUILD_UNIT_TESTS=$(usex test)
|
|
-DUA_ENABLE_PUBSUB=$(usex pubsub)
|
|
-DUA_ENABLE_PUBSUB_ETH_UADP=$(usex pubsub)
|
|
)
|
|
|
|
if use encryption; then
|
|
use mbedtls && mycmakeargs+=(-DUA_ENABLE_ENCRYPTION=MBEDTLS)
|
|
use openssl && mycmakeargs+=(-DUA_ENABLE_ENCRYPTION=OPENSSL)
|
|
fi
|
|
|
|
cmake_src_configure
|
|
}
|
|
|
|
src_compile() {
|
|
cmake_src_compile
|
|
use doc && cmake_build doc
|
|
}
|
|
|
|
src_install() {
|
|
use doc && local HTML_DOCS=( "${WORKDIR}"/${P}_build/doc/. )
|
|
cmake_src_install
|
|
|
|
if use examples; then
|
|
docompress -x /usr/share/doc/${PF}/examples
|
|
dodoc -r examples/
|
|
fi
|
|
|
|
python_fix_shebang "${ED}"
|
|
}
|
|
|
|
src_test() {
|
|
cmake_src_test -j1
|
|
}
|