View | Details | Raw Unified | Return to bug 284267 | Differences between
and this patch

Collapse All | Expand All

(-)b/www/codeberg-pages-server/Makefile (+50 lines)
Added Link Here
1
PORTNAME=	codeberg-pages-server
2
DISTVERSIONPREFIX=	v
3
DISTVERSION=	6.2
4
CATEGORIES=	www
5
MASTER_SITES=	https://codeberg.org/Codeberg/pages-server/archive/
6
DISTNAME=	${DISTVERSIONFULL}
7
8
MAINTAINER=	orville@anislet.dev
9
COMMENT=	Codeberg Pages Server
10
WWW=		https://codeberg.org/Codeberg/pages-server
11
12
LICENSE=	EUPL12
13
LICENSE_FILE=	${WRKSRC}/LICENSE
14
15
USES=		cpe go:1.23
16
BUILD_DEPENDS=	just:deskutils/just bash:shells/bash
17
18
WRKSRC=		${WRKDIR}/pages-server
19
20
USERS=		www
21
GROUPS=		www
22
23
USE_RC_SUBR=	codeberg-pages-server
24
25
post-extract:
26
	@${MKDIR} ${WRKDIR}/bin
27
	@${LN} -sf ${GO_CMD} ${WRKDIR}/bin/go
28
29
do-build:
30
	cd ${WRKSRC} && \
31
		PATH=${WRKDIR}/bin:${PATH} just build-tag ${DISTVERSIONFULL}
32
33
post-build:
34
	@${WRKSRC}/build/codeberg-pages-server --help | \
35
		${FILESDIR}/config-generater.sh > \
36
		${WRKSRC}/codeberg-pages-server-config.in
37
38
pre-install:
39
	${MKDIR} ${STAGEDIR}/${ETCDIR}/rc.conf.d
40
41
do-install:
42
	${INSTALL_PROGRAM} ${WRKSRC}/build/codeberg-pages-server \
43
		${STAGEDIR}${PREFIX}/bin/codeberg-pages-server
44
45
	${INSTALL} -m0600 ${WRKSRC}/codeberg-pages-server-config.in \
46
		${STAGEDIR}${PREFIX}/etc/rc.conf.d/codeberg_pages_server.sample
47
48
	@${MKDIR} ${STAGEDIR}/var/db/codeberg-pages-server
49
50
.include <bsd.port.mk>
(-)b/www/codeberg-pages-server/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1737549307
2
SHA256 (v6.2.tar.gz) = 01922587763e1bcc9e04e4b8d2a8a55aa818165cc083674c340ba156c84a6e13
3
SIZE (v6.2.tar.gz) = 156184
(-)b/www/codeberg-pages-server/files/codeberg-pages-server.in (+46 lines)
Added Link Here
1
#!/bin/sh
2
#
3
# PROVIDE: codeberg_pages_server
4
# REQUIRE: LOGIN
5
# KEYWORD: shutdown
6
7
. /etc/rc.subr
8
9
name="codeberg_pages_server"
10
rcvar="${name}_enable"
11
12
load_rc_config ${name}
13
14
: ${codeberg_pages_server_enable:="NO"}
15
: ${codeberg_pages_server_user:="www"}
16
: ${codeberg_pages_server_group:="www"}
17
: ${codeberg_pages_server_log:="/var/log/codeberg-pages-server.log"}
18
19
command="/usr/sbin/daemon"
20
task="/usr/local/bin/codeberg-pages-server"
21
pidfile="/var/run/${name}/${name}.pid"
22
procname="${task}"
23
24
command_args="-p ${pidfile} -o ${codeberg_pages_server_log} -T ${name} ${task}"
25
26
start_precmd="${name}_prestart"
27
28
codeberg_pages_server_prestart() {
29
    if [ ! -d "/var/db/codeberg-pages-server" ]; then
30
        mkdir "/var/db/codeberg-pages-server"
31
        chown ${codeberg_pages_server_user} "/var/db/codeberg-pages-server"
32
    fi
33
34
    if [ ! -f "${codeberg_pages_server_log}" ]; then
35
        touch "${codeberg_pages_server_log}"
36
        chown ${codeberg_pages_server_user}:${codeberg_pages_server_group} "${codeberg_pages_server_log}"
37
        chmod 640 "${codeberg_pages_server_log}"
38
    fi
39
40
    if [ ! -d "/var/run/${name}" ] ; then
41
        install -d -o ${codeberg_pages_server_user} -g ${codeberg_pages_server_group} "/var/run/${name}"
42
    fi
43
}
44
45
run_rc_command "$1"
46
(-)b/www/codeberg-pages-server/files/config-generater.sh (+49 lines)
Added Link Here
1
#!/usr/local/bin/bash
2
3
echo "# See https://codeberg.org/Codeberg/pages-server"
4
echo
5
6
while IFS= read -r line; do
7
    if [[ "$line" =~ ^\ *--([a-zA-Z0-9_-]+)\ value.*\[\$([A-Z0-9_]+)\] ]]; then
8
        export=export
9
10
        option_name="${BASH_REMATCH[2]}"
11
12
        description=$(echo "$line" | sed -E "s/^.*value[[:space:]]+(.*)(\(default.*\)|\[.*\]).*$/\1/" | sed -e "s/[[:space:]]*$//")
13
14
        if [[ "$description" =~ ^\] ]]; then
15
            description=$(echo "$description" | sed -E "s/^\] *//")
16
        fi
17
18
        default_value=$(echo "$line" | grep -oE "\(default: [^)]+\)" | sed -E "s/^\(default: (.+)\)$/\1/")
19
20
        case "$option_name" in
21
            "DB_CONN")
22
                default_value="\"/var/db/codeberg-pages-server/certs.sqlite\""
23
                ;;
24
            "ACME_ACCOUNT_CONFIG")
25
                default_value="\"/var/db/codeberg-pages-server/acme-account.json\""
26
                ;;
27
            "FORBIDDEN_MIME_TYPES"|"ALLOWED_CORS_DOMAINS"|"BLACKLISTED_PATHS"|"CONFIG_FILE"|"PROFILING_ADDRESS"|"ACME_EAB_KID"|"ACME_EAB_HMAC"|"DNS_PROVIDER")
28
                option_name="#${option_name}"
29
                export="#${export}"
30
                ;;
31
        esac
32
33
        if [[ -n "$description" ]]; then
34
            echo "# $description"
35
        else
36
            echo "#"
37
        fi
38
39
        if [[ -n "$default_value" ]]; then
40
            echo "$option_name=$default_value"
41
            echo "$export $option_name"
42
        else
43
            echo "$option_name=\"\""
44
            echo "$export $(echo $option_name | sed 's/^#//')"
45
        fi
46
47
        echo
48
    fi
49
done
(-)b/www/codeberg-pages-server/files/patch-Justfile (+11 lines)
Added Link Here
1
--- Justfile.orig	2025-01-22 13:51:34 UTC
2
+++ Justfile
3
@@ -13,7 +13,7 @@ build-tag VERSION:
4
     CGO_ENABLED=1 go build -tags '{{TAGS}}' -ldflags '-s -w {{CGO_FLAGS}}' -v -o build/codeberg-pages-server ./
5
 
6
 build-tag VERSION:
7
-    CGO_ENABLED=1 go build -tags '{{TAGS}}' -ldflags '-s -w -X "codeberg.org/codeberg/pages/server/version.Version={{VERSION}}" {{CGO_FLAGS}}' -v -o build/codeberg-pages-server ./
8
+    CGO_ENABLED=1 go build -tags '{{TAGS}}' -trimpath -ldflags '-s -w -X "codeberg.org/codeberg/pages/server/version.Version={{VERSION}}" {{CGO_FLAGS}}' -v -o build/codeberg-pages-server ./
9
 
10
 lint: tool-golangci tool-gofumpt
11
     golangci-lint run --timeout 5m --build-tags integration
(-)b/www/codeberg-pages-server/pkg-descr (+5 lines)
Added Link Here
1
Gitea/Forgejo lacks the ability to host static pages from Git.
2
The Codeberg Pages Server addresses this lack by implementing a
3
standalone service that connects to Gitea/Forgejo via API. It is
4
suitable to be deployed by other Gitea/Forgejo instances, too,
5
to offer static pages hosting to their users.
(-)b/www/codeberg-pages-server/pkg-plist (-1 / +4 lines)
Added Link Here
0
- 
1
bin/codeberg-pages-server
2
@sample etc/rc.conf.d/codeberg_pages_server.sample
3
@dir %%ETCDIR%%/rc.conf.d
4
@dir(www,www,755) /var/db/codeberg-pages-server

Return to bug 284267