# Copyright 1999-2020 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit multilib toolchain-funcs GIT_V="2.25.1" DESCRIPTION="a fast web-interface for git repositories" HOMEPAGE="https://git.zx2c4.com/cgit/about" SRC_URI="https://www.kernel.org/pub/software/scm/git/git-${GIT_V}.tar.xz https://git.zx2c4.com/cgit/snapshot/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" KEYWORDS="amd64 x86" IUSE="doc highlight lua luajit lzip markdown static +vanilla zip zstd" LUA_DEPEND=" lua? ( luajit? ( dev-lang/luajit ) !luajit? ( dev-lang/lua:0 ) ) " BDEPEND=" doc? ( app-text/docbook-xsl-stylesheets >=app-text/asciidoc-8.5.1 ) " RDEPEND="${LUA_DEPEND} dev-vcs/git highlight? ( || ( dev-python/pygments app-text/highlight ) ) lzip? ( app-arch/lzip ) markdown? ( dev-python/markdown ) zip? ( app-arch/zip ) zstd? ( app-arch/zstd ) !static? ( sys-libs/zlib ) " DEPEND="${LUA_DEPEND} static? ( sys-libs/zlib[static-libs(+)] ) " # +static fails with +luajit REQUIRED_USE=" static? ( !luajit ) " src_prepare() { if ! use vanilla; then PATCHES+=( "${FILESDIR}/${P}-git-http-backend.patch" ) fi default rmdir git || die mv "${WORKDIR}"/git-"${GIT_V}" git || die echo "prefix = ${EPREFIX}/usr" >> cgit.conf echo "libdir = ${EPREFIX}/usr/$(get_libdir)" >> cgit.conf echo "CACHE_ROOT = ${CGIT_CACHEDIR}" >> cgit.conf echo "DESTDIR = ${D}" >> cgit.conf echo "CGIT_SCRIPT_PATH = ${EPREFIX}/usr/libexec/cgit" >> cgit.conf echo "CGIT_DATA_PATH = ${EPREFIX}/usr/share/cgit/resources" >> cgit.conf if use lua; then if use luajit; then echo "LUA_PKGCONFIG = luajit" >> cgit.conf else echo "LUA_PKGCONFIG = lua" >> cgit.conf fi else echo "NO_LUA = 1" >> cgit.conf fi } src_configure() { myopts=( $(usex elibc_musl NO_REGEX=NeedsStartEnd '') ) export MY_MAKEOPTS="${myopts[@]}" LDFLAGS="${LDFLAGS} $(usex static -static '')" } src_compile() { emake ${MY_MAKEOPTS} V=1 AR="$(tc-getAR)" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" use doc && emake V=1 doc-man } src_install() { emake ${MY_MAKEOPTS} V=1 AR="$(tc-getAR)" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" install dodoc README use doc && doman cgitrc.5 } pkg_postinst() { ewarn "For caching support in its default configuration, /var/cache/cgit" ewarn "needs to exist and be owned by the user executing cgit." }