summary refs log tree commit diff
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2021-09-30 19:37:37 +0000
committerJune McEnroe <june@causal.agency>2021-09-30 19:39:24 +0000
commit584184c64544cb9a0ac57cdfe210bad3ed4f1529 (patch)
tree7c4e4ca02e3d94594e604c47052b255d12da8074
parentMove FreeBSD ports under FreeBSD directory (diff)
downloadports-584184c64544cb9a0ac57cdfe210bad3ed4f1529.tar.gz
ports-584184c64544cb9a0ac57cdfe210bad3ed4f1529.zip
OpenBSD: Add port for cgit-causal-agency
-rw-r--r--OpenBSD/www/cgit-causal-agency/Makefile38
-rw-r--r--OpenBSD/www/cgit-causal-agency/distinfo4
-rw-r--r--OpenBSD/www/cgit-causal-agency/patches/patch-Makefile30
-rw-r--r--OpenBSD/www/cgit-causal-agency/patches/patch-cgit_mk11
-rw-r--r--OpenBSD/www/cgit-causal-agency/patches/patch-setup_c22
-rw-r--r--OpenBSD/www/cgit-causal-agency/pkg/DESCR2
-rw-r--r--OpenBSD/www/cgit-causal-agency/pkg/PLIST12
-rw-r--r--OpenBSD/www/cgit-causal-agency/pkg/README74
8 files changed, 193 insertions, 0 deletions
diff --git a/OpenBSD/www/cgit-causal-agency/Makefile b/OpenBSD/www/cgit-causal-agency/Makefile
new file mode 100644
index 0000000..87241a0
--- /dev/null
+++ b/OpenBSD/www/cgit-causal-agency/Makefile
@@ -0,0 +1,38 @@
+# $OpenBSD: Makefile,v 1.27 2020/04/04 19:28:31 kn Exp $
+
+COMMENT =	web frontend for git repositories
+
+PKGNAME =	cgit-causal-agency-20210922
+DISTNAME =	src-5a8f6f3698fbd69b97483c7b84bf661f4761124f
+CATEGORIES =	www devel
+
+DISTFILES =	${DISTNAME}.tar.gz:0 \
+		git-2.32.0.tar.gz:1
+
+WRKDIST =	${WRKDIR}/${DISTNAME}/www/git.causal.agency/cgit
+
+MASTER_SITES0 =		https://git.causal.agency/src/snapshot/
+MASTER_SITES1 =		https://www.kernel.org/pub/software/scm/git/
+HOMEPAGE =		https://git.causal.agency/src/log/www/git.causal.agency/cgit
+
+# GPLv2
+PERMIT_PACKAGE =	Yes
+
+USE_GMAKE =	yes
+
+BUILD_DEPENDS =	textproc/asciidoc
+LIB_DEPENDS =	converters/libiconv
+
+PREFIX =	${VARBASE}/www
+MAKE_FLAGS +=	V=1 NO_GETTEXT=1 LDFLAGS+='${STATIC} -L${LOCALBASE}/lib'
+
+ALL_TARGET =	all doc-man
+
+post-extract:
+	mv ${WRKDIR}/git-* ${WRKSRC}/git
+
+post-install:
+	mv ${PREFIX}/htdocs ${PREFIX}/cgit
+	${INSTALL_MAN} ${WRKBUILD}/cgitrc.5 ${WRKINST}${LOCALBASE}/man/man5
+
+.include <bsd.port.mk>
diff --git a/OpenBSD/www/cgit-causal-agency/distinfo b/OpenBSD/www/cgit-causal-agency/distinfo
new file mode 100644
index 0000000..91285d3
--- /dev/null
+++ b/OpenBSD/www/cgit-causal-agency/distinfo
@@ -0,0 +1,4 @@
+SHA256 (git-2.32.0.tar.gz) = YDjwbTlrqdqy7uVBx9tuf5+Efxgexi89hEGJP4xGk5g=
+SHA256 (src-5a8f6f3698fbd69b97483c7b84bf661f4761124f.tar.gz) = +GQEwCcH3tvrqCvuMxawxEpthHtcSlhLxdDSDMRSg0U=
+SIZE (git-2.32.0.tar.gz) = 10321570
+SIZE (src-5a8f6f3698fbd69b97483c7b84bf661f4761124f.tar.gz) = 899773
diff --git a/OpenBSD/www/cgit-causal-agency/patches/patch-Makefile b/OpenBSD/www/cgit-causal-agency/patches/patch-Makefile
new file mode 100644
index 0000000..b49eb37
--- /dev/null
+++ b/OpenBSD/www/cgit-causal-agency/patches/patch-Makefile
@@ -0,0 +1,30 @@
+$OpenBSD: patch-Makefile,v 1.9 2018/08/04 09:19:35 kn Exp $
+Index: Makefile
+--- Makefile.orig
++++ Makefile
+@@ -2,11 +2,11 @@ all::
+ 
+ CGIT_VERSION = v1.2.1
+ CGIT_SCRIPT_NAME = cgit.cgi
+-CGIT_SCRIPT_PATH = /var/www/htdocs/cgit
+-CGIT_DATA_PATH = $(CGIT_SCRIPT_PATH)
+-CGIT_CONFIG = /etc/cgitrc
+-CACHE_ROOT = /var/cache/cgit
+-prefix = /usr/local
++CGIT_SCRIPT_PATH = /var/www/cgi-bin
++CGIT_DATA_PATH = /var/www/htdocs
++CGIT_CONFIG = /conf/cgitrc
++CACHE_ROOT = /tmp/cgit
++prefix = ${PREFIX}
+ libdir = $(prefix)/lib
+ filterdir = $(libdir)/cgit/filters
+ docdir = $(prefix)/share/doc/cgit
+@@ -90,8 +90,6 @@ install: all
+ 	$(INSTALL) -m 0644 cgit.png $(DESTDIR)$(CGIT_DATA_PATH)/cgit.png
+ 	$(INSTALL) -m 0644 favicon.ico $(DESTDIR)$(CGIT_DATA_PATH)/favicon.ico
+ 	$(INSTALL) -m 0644 robots.txt $(DESTDIR)$(CGIT_DATA_PATH)/robots.txt
+-	$(INSTALL) -m 0755 -d $(DESTDIR)$(filterdir)
+-	$(COPYTREE) filters/* $(DESTDIR)$(filterdir)
+ 
+ install-doc: install-man install-html install-pdf
+ 
diff --git a/OpenBSD/www/cgit-causal-agency/patches/patch-cgit_mk b/OpenBSD/www/cgit-causal-agency/patches/patch-cgit_mk
new file mode 100644
index 0000000..c74f62d
--- /dev/null
+++ b/OpenBSD/www/cgit-causal-agency/patches/patch-cgit_mk
@@ -0,0 +1,11 @@
+$OpenBSD: patch-cgit_mk,v 1.1 2013/07/15 07:00:49 jasper Exp $
+--- cgit.mk.orig	Sun Jul 14 23:18:05 2013
++++ cgit.mk	Sun Jul 14 23:18:39 2013
+@@ -17,6 +17,7 @@ $(CGIT_PREFIX)VERSION: force-version
+ 
+ # CGIT_CFLAGS is a separate variable so that we can track it separately
+ # and avoid rebuilding all of Git when these variables change.
++CGIT_CFLAGS += -L${LOCALBASE}/include
+ CGIT_CFLAGS += -DCGIT_CONFIG='"$(CGIT_CONFIG)"'
+ CGIT_CFLAGS += -DCGIT_SCRIPT_NAME='"$(CGIT_SCRIPT_NAME)"'
+ CGIT_CFLAGS += -DCGIT_CACHE_ROOT='"$(CACHE_ROOT)"'
diff --git a/OpenBSD/www/cgit-causal-agency/patches/patch-setup_c b/OpenBSD/www/cgit-causal-agency/patches/patch-setup_c
new file mode 100644
index 0000000..c93edf7
--- /dev/null
+++ b/OpenBSD/www/cgit-causal-agency/patches/patch-setup_c
@@ -0,0 +1,22 @@
+$OpenBSD: patch-setup_c,v 1.1 2017/03/22 20:23:52 landry Exp $
+
+Dont openbsd dev/null, doesnt exist in the default chroot
+
+--- git/setup.c.orig	Wed Mar  1 21:01:06 2017
++++ git/setup.c	Wed Mar  1 21:01:56 2017
+@@ -1024,6 +1024,7 @@ const char *resolve_gitdir(const char *suspect)
+ /* if any standard file descriptor is missing open it to /dev/null */
+ void sanitize_stdfds(void)
+ {
++#if 0
+ 	int fd = open("/dev/null", O_RDWR, 0);
+ 	while (fd != -1 && fd < 2)
+ 		fd = dup(fd);
+@@ -1031,6 +1032,7 @@ void sanitize_stdfds(void)
+ 		die_errno("open /dev/null or dup failed");
+ 	if (fd > 2)
+ 		close(fd);
++#endif
+ }
+ 
+ int daemonize(void)
diff --git a/OpenBSD/www/cgit-causal-agency/pkg/DESCR b/OpenBSD/www/cgit-causal-agency/pkg/DESCR
new file mode 100644
index 0000000..f85c78a
--- /dev/null
+++ b/OpenBSD/www/cgit-causal-agency/pkg/DESCR
@@ -0,0 +1,2 @@
+This is an attempt to create a fast web interface for the git scm,
+using a builtin cache to decrease server io-pressure.
diff --git a/OpenBSD/www/cgit-causal-agency/pkg/PLIST b/OpenBSD/www/cgit-causal-agency/pkg/PLIST
new file mode 100644
index 0000000..2105512
--- /dev/null
+++ b/OpenBSD/www/cgit-causal-agency/pkg/PLIST
@@ -0,0 +1,12 @@
+@comment $OpenBSD: PLIST,v 1.6 2018/09/04 12:46:24 espie Exp $
+@conflict cgit-*
+@group daemon
+@bin cgi-bin/cgit.cgi
+@group
+cgit/
+cgit/cgit.css
+cgit/cgit.png
+cgit/robots.txt
+@cwd ${LOCALBASE}
+@man man/man5/cgitrc.5
+share/doc/pkg-readmes/${PKGSTEM}
diff --git a/OpenBSD/www/cgit-causal-agency/pkg/README b/OpenBSD/www/cgit-causal-agency/pkg/README
new file mode 100644
index 0000000..816ad9e
--- /dev/null
+++ b/OpenBSD/www/cgit-causal-agency/pkg/README
@@ -0,0 +1,74 @@
+$OpenBSD: README,v 1.5 2018/09/04 12:46:24 espie Exp $
+
++-----------------------------------------------------------------------
+| Running ${PKGSTEM} on OpenBSD
++-----------------------------------------------------------------------
+
+Cgit config
+===========
+By default, the cgitrc config file is searched in ${PREFIX}/conf/cgitrc.
+Refer to cgitrc(5) for the syntax.
+
+Webserver config
+================
+
+OpenBSD httpd
+-------------
+server "default" {
+	listen on egress port 80
+
+	# don't serve static files from cgit CGI: cgit.css and cgit.png
+	location "/cgit.*" {
+		root "/cgit"
+		no fastcgi
+	}
+	root "/cgi-bin/cgit.cgi"
+	fastcgi socket "/run/slowcgi.sock"
+}
+
+Nginx
+-----
+An example nginx config snippet is provided below, to run with
+slowcgi:
+
+server {
+	server_name cgit.example.com;
+	access_log logs/cgit-access main;
+	error_log logs/cgit-error warn;
+	location ~ /cgit.(png|css) {
+		root /var/www/htdocs;
+	}
+	location / {
+		rewrite /(.*) /cgi-bin/cgit.cgi/$1;
+	}
+	location /cgi-bin/ {
+		fastcgi_pass unix:run/slowcgi.sock;
+		fastcgi_split_path_info ^(/cgi-bin/[^/]+)(.*);
+		fastcgi_param  PATH_INFO $fastcgi_path_info;
+		include fastcgi_params;
+	}
+}
+
+Apache config
+-------------
+
+This config snippet works with Apache:
+
+ScriptAlias /cgit /cgi-bin/cgit.cgi
+<Location "/cgit">
+	AllowOverride None
+	Options +ExecCGI
+	Order allow,deny
+	Allow from all
+</Location>
+
+
+snapshots
+---------
+Nginx and OpenBSD httpd use chroot(2).
+
+For .tar.gz snapshot support a static binary in $chroot/bin/gzip is required.
+
+	cd /usr/src/usr.bin/compress
+	make clean && make LDFLAGS="-static -pie"
+	cp obj/compress $chroot/bin/gzip