summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Mayo <aklhfex@gmail.com>2023-04-24 19:22:28 +0100
committerSam James <sam@gentoo.org>2023-04-25 03:22:09 +0100
commit91be320f2480e8b48c5812a9ed412688ccd6b06a (patch)
treea4e81a6e4ca288b93d483c6a4e9e043e9ec0d9d1 /www-apps
parentdev-vcs/subversion: tweak ruby detection logic (diff)
downloadgentoo-91be320f2480e8b48c5812a9ed412688ccd6b06a.tar.gz
gentoo-91be320f2480e8b48c5812a9ed412688ccd6b06a.tar.bz2
gentoo-91be320f2480e8b48c5812a9ed412688ccd6b06a.zip
www-apps/cgit: Create cache directory at runtime
Closes: https://bugs.gentoo.org/516388 Signed-off-by: Chris Mayo <aklhfex@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/30724 Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'www-apps')
-rw-r--r--www-apps/cgit/cgit-1.2.3-r202.ebuild115
1 files changed, 115 insertions, 0 deletions
diff --git a/www-apps/cgit/cgit-1.2.3-r202.ebuild b/www-apps/cgit/cgit-1.2.3-r202.ebuild
new file mode 100644
index 000000000000..dc581d8b548c
--- /dev/null
+++ b/www-apps/cgit/cgit-1.2.3-r202.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..2} luajit )
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+WEBAPP_MANUAL_SLOT="yes"
+
+inherit lua-single python-single-r1 tmpfiles toolchain-funcs webapp
+
+[[ -z "${CGIT_CACHEDIR}" ]] && CGIT_CACHEDIR="/var/cache/${PN}/"
+
+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 ~arm ~riscv ~x86"
+IUSE="doc +highlight +lua test"
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} ) ${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ acct-group/cgit
+ acct-user/cgit
+ dev-libs/openssl:0=
+ dev-vcs/git
+ highlight? (
+ $(python_gen_cond_dep 'dev-python/pygments[${PYTHON_USEDEP}]' )
+ )
+ lua? ( ${LUA_DEPS} )
+ sys-libs/zlib
+ virtual/httpd-cgi
+"
+# ebuilds without WEBAPP_MANUAL_SLOT="yes" are broken
+DEPEND="${RDEPEND}"
+BDEPEND="
+ doc? (
+ app-text/docbook-xsl-stylesheets
+ >=app-text/asciidoc-8.5.1
+ )
+"
+
+pkg_setup() {
+ python_setup
+ webapp_pkg_setup
+ use lua && lua-single_pkg_setup
+}
+
+src_configure() {
+ rmdir git || die
+ mv "${WORKDIR}"/git-"${GIT_V}" git || die
+
+ echo "prefix = ${EPREFIX}/usr" >> cgit.conf || die "echo prefix failed"
+ echo "libdir = ${EPREFIX}/usr/$(get_libdir)" >> cgit.conf || die "echo libdir failed"
+ echo "CGIT_SCRIPT_PATH = ${MY_CGIBINDIR}" >> cgit.conf || die "echo CGIT_SCRIPT_PATH failed"
+ echo "CGIT_DATA_PATH = ${MY_HTDOCSDIR}" >> cgit.conf || die "echo CGIT_DATA_PATH failed"
+ echo "CACHE_ROOT = ${CGIT_CACHEDIR}" >> cgit.conf || die "echo CACHE_ROOT failed"
+ echo "DESTDIR = ${D}" >> cgit.conf || die "echo DESTDIR failed"
+ if use lua; then
+ echo "LUA_PKGCONFIG = ${ELUA}" >> cgit.conf || die "echo LUA_PKGCONFIG failed"
+ else
+ echo "NO_LUA = 1" >> cgit.conf || die "echo NO_LUA failed"
+ fi
+}
+
+src_compile() {
+ emake V=1 AR="$(tc-getAR)" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+ use doc && emake V=1 doc-man
+}
+
+src_install() {
+ webapp_src_preinst
+
+ emake V=1 AR="$(tc-getAR)" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" install
+
+ insinto /etc
+ doins "${FILESDIR}"/cgitrc
+
+ dodoc README
+ use doc && doman cgitrc.5
+
+ webapp_postinst_txt en "${FILESDIR}"/postinstall-en.txt
+ webapp_src_install
+
+ cat > cgit.conf <<-EOT || die
+ d ${CGIT_CACHEDIR} 0700 cgit cgit -
+ EOT
+ dotmpfiles cgit.conf
+
+ python_fix_shebang .
+}
+
+src_test() {
+ emake V=1 AR="$(tc-getAR)" CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}" test
+}
+
+pkg_postinst() {
+ webapp_pkg_postinst
+ tmpfiles_process cgit.conf
+ ewarn "The cgit cache is enabled using the cache-size setting in cgitrc."
+ ewarn "If enabling the cache and running cgit using the web server's user"
+ ewarn "you should copy ${EROOT}/usr/lib/tmpfiles.d/cgit.conf"
+ ewarn "to ${EROOT}/etc/tmpfiles.d/ and edit, changing the ownership fields."
+ ewarn "If you use the cache-root setting in cgitrc to specify a cache directory"
+ ewarn "other than ${CGIT_CACHEDIR} edit the path in cgit.conf."
+}