109 lines
2.1 KiB
Bash
109 lines
2.1 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_{8..10} )
|
||
|
|
||
|
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}]
|
||
|
dev-python/future[${PYTHON_USEDEP}]
|
||
|
)
|
||
|
"
|
||
|
BDEPEND="
|
||
|
python? (
|
||
|
${RDEPEND}
|
||
|
test? (
|
||
|
dev-python/aspectlib[${PYTHON_USEDEP}]
|
||
|
dev-python/pytest-benchmark[${PYTHON_USEDEP}]
|
||
|
dev-python/pytest-cov[${PYTHON_USEDEP}]
|
||
|
dev-python/pytest-flake8[${PYTHON_USEDEP}]
|
||
|
dev-python/pytest-isort[${PYTHON_USEDEP}]
|
||
|
)
|
||
|
)
|
||
|
"
|
||
|
|
||
|
distutils_enable_tests pytest
|
||
|
distutils_enable_sphinx "${S}"/python/docs
|
||
|
|
||
|
DOCS=( "${S}/docs/" )
|
||
|
|
||
|
src_prepare() {
|
||
|
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
|
||
|
}
|