src_prepare-overlay/dev-libs/olm/olm-3.2.15.ebuild

113 lines
2.2 KiB
Bash
Raw Normal View History

# 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
}