011e7c50ed
Signed-off-by: Alfred Wingate <parona@protonmail.com>
113 lines
2.2 KiB
Bash
113 lines
2.2 KiB
Bash
# Copyright 2020-2022 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=8
|
|
|
|
DISTUTILS_USE_PEP517=setuptools
|
|
DISTUTILS_OPTIONAL=1
|
|
PYTHON_COMPAT=( python3_{10..12} )
|
|
|
|
inherit cmake distutils-r1
|
|
|
|
DESCRIPTION="An implementation of the Double Ratchet cryptographic ratchet in C++"
|
|
HOMEPAGE="https://git.matrix.org/git/olm/about/"
|
|
|
|
if [[ "${PV}" == 9999 ]]; then
|
|
inherit git-r3
|
|
EGIT_REPO_URI="https://gitlab.matrix.org/matrix-org/${PN}.git"
|
|
else
|
|
SRC_URI="https://gitlab.matrix.org/matrix-org/${PN}/-/archive/${PV}/${P}.tar.bz2"
|
|
KEYWORDS="~amd64"
|
|
fi
|
|
|
|
LICENSE="Apache-2.0"
|
|
SLOT="0/$(ver_cut 1)"
|
|
IUSE="python test"
|
|
REQUIRED_USE="
|
|
doc? ( python )
|
|
python? ( ${PYTHON_REQUIRED_USE} )
|
|
"
|
|
|
|
RDEPEND="
|
|
python? (
|
|
${PYTHON_DEPS}
|
|
>=dev-python/cffi-1.0.0[${PYTHON_USEDEP}]
|
|
)
|
|
"
|
|
BDEPEND="
|
|
${DISTUTILS_DEPS}
|
|
python? (
|
|
${RDEPEND}
|
|
test? (
|
|
dev-python/aspectlib[${PYTHON_USEDEP}]
|
|
)
|
|
)
|
|
"
|
|
|
|
distutils_enable_tests pytest
|
|
distutils_enable_sphinx "${S}"/python/docs
|
|
|
|
DOCS=( "${S}/docs/" )
|
|
|
|
EPYTEST_DESELECT=(
|
|
# deselect tests using benchmark fixtures
|
|
"tests/group_session_test.py::TestClass::test_encrypt"
|
|
"tests/group_session_test.py::TestClass::test_decrypt"
|
|
)
|
|
|
|
src_prepare() {
|
|
sed -i '/flake8/,/^$/ d' python/setup.cfg || die
|
|
|
|
cmake_src_prepare
|
|
if use python; then
|
|
pushd python || die
|
|
distutils-r1_src_prepare
|
|
popd || die
|
|
fi
|
|
}
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DBUILD_SHARED_LIBS=ON
|
|
-DOLM_TESTS=$(usex test)
|
|
)
|
|
cmake_src_configure
|
|
if use python; then
|
|
pushd python || die
|
|
distutils-r1_src_configure
|
|
popd || die
|
|
fi
|
|
}
|
|
|
|
src_compile() {
|
|
cmake_src_compile
|
|
if use python; then
|
|
pushd python || die
|
|
# Let python build find the already built libolm
|
|
export LIBRARY_PATH="${BUILD_DIR}/"
|
|
distutils-r1_src_compile
|
|
popd || die
|
|
fi
|
|
}
|
|
|
|
src_install() {
|
|
cmake_src_install
|
|
if use python; then
|
|
pushd python || die
|
|
distutils-r1_src_install
|
|
popd || die
|
|
fi
|
|
einstalldocs
|
|
}
|
|
|
|
src_test() {
|
|
# eclass doesnt appear to be to handle CTestTestfile.cmake in build root locations
|
|
BUILD_DIR="${BUILD_DIR}/tests" cmake_src_test
|
|
|
|
if use python; then
|
|
pushd "${S}"/python || die
|
|
LD_LIBRARY_PATH="${BUILD_DIR}:${LD_LIBRARY_PATH}" distutils-r1_src_test
|
|
popd || die
|
|
fi
|
|
}
|