| # Copyright 1999-2020 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=7 |
| |
| PYTHON_COMPAT=( python3_{6,7,8} ) |
| inherit cmake python-any-r1 |
| |
| DESCRIPTION="A linkable library for Git" |
| HOMEPAGE="https://libgit2.org" |
| GIT_REV="1e987525b3bd86fc29e7ff67d973861efd22faf7" |
| SRC_URI="https://github.com/${PN}/${PN}/archive/${GIT_REV}.tar.gz -> ${P}.tar.gz" |
| S=${WORKDIR}/${P/_/-} |
| |
| LICENSE="GPL-2-with-linking-exception" |
| SLOT="0/${PVR}" |
| KEYWORDS="*" |
| IUSE="examples gssapi libressl +ssh test +threads trace" |
| RESTRICT="!test? ( test )" |
| |
| RDEPEND=" |
| !libressl? ( dev-libs/openssl:0= ) |
| libressl? ( dev-libs/libressl:0= ) |
| sys-libs/zlib |
| net-libs/http-parser:= |
| gssapi? ( virtual/krb5 ) |
| ssh? ( net-libs/libssh2 ) |
| " |
| DEPEND="${RDEPEND} |
| ${PYTHON_DEPS} |
| virtual/pkgconfig |
| " |
| |
| S="${WORKDIR}/${PN}-${GIT_REV}/" |
| |
| src_prepare() { |
| cmake_src_prepare |
| # relying on forked http-parser to support some obscure URI form |
| sed -i -e '/empty_port/s:test:_&:' tests/network/urlparse.c || die |
| } |
| |
| src_configure() { |
| local mycmakeargs=( |
| -DBUILD_CLAR=$(usex test) |
| -DENABLE_TRACE=$(usex trace ON OFF) |
| -DUSE_GSSAPI=$(usex gssapi ON OFF) |
| -DUSE_SSH=$(usex ssh) |
| -DTHREADSAFE=$(usex threads) |
| -DUSE_HTTP_PARSER=system |
| ) |
| cmake_src_configure |
| } |
| |
| src_test() { |
| if [[ ${EUID} -eq 0 ]] ; then |
| # repo::iterator::fs_preserves_error fails if run as root |
| # since root can still access dirs with 0000 perms |
| ewarn "Skipping tests: non-root privileges are required for all tests to pass" |
| else |
| local TEST_VERBOSE=1 |
| cmake_src_test -R offline |
| fi |
| } |
| |
| src_install() { |
| cmake_src_install |
| dodoc docs/*.{md,txt} |
| |
| if use examples ; then |
| find examples -name '.gitignore' -delete || die |
| dodoc -r examples |
| docompress -x /usr/share/doc/${PF}/examples |
| fi |
| } |