summary refs log tree commit diff
path: root/OpenBSD
diff options
context:
space:
mode:
authorJune McEnroe <june@causal.agency>2022-02-14 02:53:47 +0000
committerJune McEnroe <june@causal.agency>2022-02-14 02:53:47 +0000
commitadc960cfafb8a1b0b06cda60563bbbacad06792f (patch)
treef30f6fc5bb5ea5726ade103a648ba6684c037d30 /OpenBSD
parentOpenBSD: Update pounce to 3.0 (diff)
downloadports-adc960cfafb8a1b0b06cda60563bbbacad06792f.tar.gz
ports-adc960cfafb8a1b0b06cda60563bbbacad06792f.zip
OpenBSD: Add port for cgit-pink
Diffstat (limited to 'OpenBSD')
-rw-r--r--OpenBSD/www/cgit-pink/Makefile39
-rw-r--r--OpenBSD/www/cgit-pink/distinfo4
-rw-r--r--OpenBSD/www/cgit-pink/patches/patch-Makefile30
-rw-r--r--OpenBSD/www/cgit-pink/patches/patch-cgit_mk11
-rw-r--r--OpenBSD/www/cgit-pink/patches/patch-setup_c20
-rw-r--r--OpenBSD/www/cgit-pink/pkg/DESCR2
-rw-r--r--OpenBSD/www/cgit-pink/pkg/PLIST14
-rw-r--r--OpenBSD/www/cgit-pink/pkg/README74
8 files changed, 194 insertions, 0 deletions
diff --git a/OpenBSD/www/cgit-pink/Makefile b/OpenBSD/www/cgit-pink/Makefile
new file mode 100644
index 0000000..845c0f9
--- /dev/null
+++ b/OpenBSD/www/cgit-pink/Makefile
@@ -0,0 +1,39 @@
+# $OpenBSD: Makefile,v 1.27 2020/04/04 19:28:31 kn Exp $
+
+COMMENT =	web frontend for git repositories
+
+DISTNAME =	cgit-pink-1.3.0
+CATEGORIES =	www devel
+
+DISTFILES =	${DISTNAME}.tar.gz:0 \
+		git-2.35.1.tar.gz:1
+
+MASTER_SITES0 =		https://git.causal.agency/cgit-pink/snapshot/
+MASTER_SITES1 =		https://www.kernel.org/pub/software/scm/git/
+HOMEPAGE =		https://git.causal.agency/cgit-pink/about/
+
+# 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 EXTRA_GIT_TARGETS='git git-http-backend' LDFLAGS+='${STATIC} -L${LOCALBASE}/lib'
+
+ALL_TARGET =	all doc-man
+
+post-extract:
+	rmdir ${WRKSRC}/git
+	mv ${WRKDIR}/git-* ${WRKSRC}/git
+
+post-install:
+	mv ${PREFIX}/htdocs ${PREFIX}/cgit
+	${INSTALL_MAN} ${WRKBUILD}/cgitrc.5 ${WRKINST}${LOCALBASE}/man/man5
+	${INSTALL_PROGRAM_DIR} ${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKBUILD}/git/git ${PREFIX}/bin
+	${INSTALL_PROGRAM} ${WRKBUILD}/git/git-http-backend ${PREFIX}/cgi-bin
+
+.include <bsd.port.mk>
diff --git a/OpenBSD/www/cgit-pink/distinfo b/OpenBSD/www/cgit-pink/distinfo
new file mode 100644
index 0000000..09172a8
--- /dev/null
+++ b/OpenBSD/www/cgit-pink/distinfo
@@ -0,0 +1,4 @@
+SHA256 (cgit-pink-1.3.0.tar.gz) = oL46NWgqi1VqKNEt0QGBWNXbi2l7nOQDZy1aMivcWuM=
+SHA256 (git-2.35.1.tar.gz) = mEWjfdAfn6qn2KogeDmdOuqRtDgZpe/qbih3sK8JvUM=
+SIZE (cgit-pink-1.3.0.tar.gz) = 103989
+SIZE (git-2.35.1.tar.gz) = 10511581
diff --git a/OpenBSD/www/cgit-pink/patches/patch-Makefile b/OpenBSD/www/cgit-pink/patches/patch-Makefile
new file mode 100644
index 0000000..b49eb37
--- /dev/null
+++ b/OpenBSD/www/cgit-pink/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-pink/patches/patch-cgit_mk b/OpenBSD/www/cgit-pink/patches/patch-cgit_mk
new file mode 100644
index 0000000..c74f62d
--- /dev/null
+++ b/OpenBSD/www/cgit-pink/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-pink/patches/patch-setup_c b/OpenBSD/www/cgit-pink/patches/patch-setup_c
new file mode 100644
index 0000000..eae3fc0
--- /dev/null
+++ b/OpenBSD/www/cgit-pink/patches/patch-setup_c
@@ -0,0 +1,20 @@
+$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
+@@ -1488,11 +1488,13 @@ const char *resolve_gitdir_gently(const char *suspect, int *return_error_code)
+ /* if any standard file descriptor is missing open it to /dev/null */
+ void sanitize_stdfds(void)
+ {
++#if 0
+ 	int fd = xopen("/dev/null", O_RDWR);
+ 	while (fd < 2)
+ 		fd = xdup(fd);
+ 	if (fd > 2)
+ 		close(fd);
++#endif
+ }
+ 
+ int daemonize(void)
diff --git a/OpenBSD/www/cgit-pink/pkg/DESCR b/OpenBSD/www/cgit-pink/pkg/DESCR
new file mode 100644
index 0000000..f85c78a
--- /dev/null
+++ b/OpenBSD/www/cgit-pink/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-pink/pkg/PLIST b/OpenBSD/www/cgit-pink/pkg/PLIST
new file mode 100644
index 0000000..aeb2763
--- /dev/null
+++ b/OpenBSD/www/cgit-pink/pkg/PLIST
@@ -0,0 +1,14 @@
+@comment $OpenBSD: PLIST,v 1.6 2018/09/04 12:46:24 espie Exp $
+@conflict cgit-*
+@group daemon
+@bin bin/git
+@bin cgi-bin/cgit.cgi
+@bin cgi-bin/git-http-backend
+@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-pink/pkg/README b/OpenBSD/www/cgit-pink/pkg/README
new file mode 100644
index 0000000..816ad9e
--- /dev/null
+++ b/OpenBSD/www/cgit-pink/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