summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2024-05-07 20:11:46 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2024-05-07 20:15:13 -0700
commit328c2af92299ca33e642543ca64884402f8bcc56 (patch)
tree7e096d013916e7a2d3d935a9e6e1cb13095de34f /www-apps/cgit
parentnet-wireless/wpa_supplicant: remove ${EROOT} from DOC_CONTENTS (diff)
downloadgentoo-328c2af92299ca33e642543ca64884402f8bcc56.tar.gz
gentoo-328c2af92299ca33e642543ca64884402f8bcc56.tar.bz2
gentoo-328c2af92299ca33e642543ca64884402f8bcc56.zip
www-apps/cgit: re-add 9999 series to support much newer Git
Upstream has not made an official release since 2020, but master is more up to date, and trusted contributers have a branch with the latest Git support. This is important because Git v2.45.0 adds support for Bloom Filters in commit graphs, providing 10x performance in web displays. Reference: https://lore.kernel.org/git/robbat2-20240507T053331-859497691Z@orbis-terrarum.net/T/#t Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
Diffstat (limited to 'www-apps/cgit')
-rw-r--r--www-apps/cgit/cgit-1.2.3-r203.ebuild6
-rw-r--r--www-apps/cgit/cgit-9999-r1.ebuild123
-rw-r--r--www-apps/cgit/cgit-9999.ebuild120
3 files changed, 247 insertions, 2 deletions
diff --git a/www-apps/cgit/cgit-1.2.3-r203.ebuild b/www-apps/cgit/cgit-1.2.3-r203.ebuild
index 8499426633d8..805171058e89 100644
--- a/www-apps/cgit/cgit-1.2.3-r203.ebuild
+++ b/www-apps/cgit/cgit-1.2.3-r203.ebuild
@@ -56,8 +56,10 @@ pkg_setup() {
}
src_configure() {
- rmdir git || die
- mv "${WORKDIR}"/git-"${GIT_V}" git || die
+ if ! [[ ${PV} =~ 9999* ]]; then
+ rmdir git || die
+ mv "${WORKDIR}"/git-"${GIT_V}" git || die
+ fi
echo "prefix = ${EPREFIX}/usr" >> cgit.conf || die "echo prefix failed"
echo "libdir = ${EPREFIX}/usr/$(get_libdir)" >> cgit.conf || die "echo libdir failed"
diff --git a/www-apps/cgit/cgit-9999-r1.ebuild b/www-apps/cgit/cgit-9999-r1.ebuild
new file mode 100644
index 000000000000..8b6fded5c051
--- /dev/null
+++ b/www-apps/cgit/cgit-9999-r1.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+WEBAPP_MANUAL_SLOT="yes"
+
+inherit lua-single python-single-r1 tmpfiles toolchain-funcs webapp git-r3
+
+[[ -z "${CGIT_CACHEDIR}" ]] && CGIT_CACHEDIR="/var/cache/${PN}/"
+
+GIT_V="2.45.0"
+
+DESCRIPTION="a fast web-interface for git repositories"
+HOMEPAGE="https://git.zx2c4.com/cgit/about"
+if [[ ${PV} =~ 9999* ]]; then
+ SRC_URI=""
+ EGIT_REPO_URI="https://git.zx2c4.com/cgit"
+ # v2.45.0 updates in this branch series
+ EGIT_COMMIT=dbadd856ba0537110338cfe58256b152d01388c0
+ EGIT_BRANCH=ch/for-jason
+else
+ SRC_URI="https://www.kernel.org/pub/software/scm/git/git-${GIT_V}.tar.xz
+ https://git.zx2c4.com/cgit/snapshot/${P}.tar.xz"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+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() {
+ if ! [[ ${PV} =~ 9999* ]]; then
+ rmdir git || die
+ mv "${WORKDIR}"/git-"${GIT_V}" git || die
+ fi
+ 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"
+ 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}" DESTDIR="${D}" 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."
+}
diff --git a/www-apps/cgit/cgit-9999.ebuild b/www-apps/cgit/cgit-9999.ebuild
new file mode 100644
index 000000000000..1fab1a1e34a9
--- /dev/null
+++ b/www-apps/cgit/cgit-9999.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+WEBAPP_MANUAL_SLOT="yes"
+
+inherit lua-single python-single-r1 tmpfiles toolchain-funcs webapp git-r3
+
+[[ -z "${CGIT_CACHEDIR}" ]] && CGIT_CACHEDIR="/var/cache/${PN}/"
+
+GIT_V="2.39.0"
+
+DESCRIPTION="a fast web-interface for git repositories"
+HOMEPAGE="https://git.zx2c4.com/cgit/about"
+if [[ ${PV} =~ 9999* ]]; then
+ SRC_URI=""
+ EGIT_REPO_URI="https://git.zx2c4.com/cgit"
+else
+ SRC_URI="https://www.kernel.org/pub/software/scm/git/git-${GIT_V}.tar.xz
+ https://git.zx2c4.com/cgit/snapshot/${P}.tar.xz"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS=""
+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() {
+ if ! [[ ${PV} =~ 9999* ]]; then
+ rmdir git || die
+ mv "${WORKDIR}"/git-"${GIT_V}" git || die
+ fi
+ 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"
+ 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}" DESTDIR="${D}" 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."
+}