diff --git a/dev-libs/olm/Manifest b/dev-libs/olm/Manifest index 8d38cba..3f9e18c 100644 --- a/dev-libs/olm/Manifest +++ b/dev-libs/olm/Manifest @@ -1 +1,2 @@ DIST olm-3.2.12.tar.bz2 2742680 BLAKE2B 47c3bacaf05cc0bb6088da34e6a031f9c770893771ddcf9f13bc0e10a050139f14969dfc91f38684336872089b4cbf9d66e4bd85692989eba5fc3df966da3cd2 SHA512 a25db4c72910512beca9120db59ebeeefc5fff6a381e88ae7cf261bc5ab896edc2cfe25ece57b7b28b2e3d8bc66367c457133c147e1a3514f926714159b5cf6f +DIST olm-3.2.15.tar.bz2 2744760 BLAKE2B 44486a63217998010a0bb7e01ff3315c88e139d686b97158e67af29b2f052912412541fb944a17c5d8931df9c641a73e521ef8d0ff352b80fe30bd6fb73b2e7b SHA512 81832766e477fc17908e8d1c49b5403d87b5977fd9102605d95ef2a3907619b7301e32fe0e18ec0f575b1f004ce248633307ff43b0f48bc9bb2313cdfefd6ea7 diff --git a/dev-libs/olm/olm-3.2.15.ebuild b/dev-libs/olm/olm-3.2.15.ebuild new file mode 100644 index 0000000..64e893b --- /dev/null +++ b/dev-libs/olm/olm-3.2.15.ebuild @@ -0,0 +1,112 @@ +# 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..11} ) + +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 +}