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

Collapse All | Expand All

(-)b/www/codeberg-pages-server/Makefile (+47 lines)
Added Link Here
1
PORTNAME=	codeberg-pages-server
2
DISTVERSIONPREFIX=	v
3
DISTVERSION=	6.2.1
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
pre-build:
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
do-install:
39
	${INSTALL_PROGRAM} ${WRKSRC}/build/codeberg-pages-server \
40
		${STAGEDIR}${PREFIX}/bin/codeberg-pages-server
41
42
	${INSTALL} -m0600 ${WRKSRC}/codeberg-pages-server-config.in \
43
		${STAGEDIR}${PREFIX}/etc/rc.conf.d/codeberg-pages-server.sample
44
45
	@${MKDIR} ${STAGEDIR}/var/db/codeberg-pages-server
46
47
.include <bsd.port.mk>
(-)b/www/codeberg-pages-server/distinfo (+3 lines)
Added Link Here
1
TIMESTAMP = 1740709713
2
SHA256 (v6.2.1.tar.gz) = a7fbf8110701da2a480a58f824a79d5a1ef949173c2543f6af0754f3e3a60883
3
SIZE (v6.2.1.tar.gz) = 160292
(-)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 codeberg-pages-server
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
: ${codeberg_pages_server_chdir:="/var/db/codeberg-pages-server"}
19
20
command="/usr/sbin/daemon"
21
task="/usr/local/bin/codeberg-pages-server"
22
pidfile="/var/run/codeberg-pages-server/codeberg-pages-server.pid"
23
procname="${task}"
24
25
command_args="-p ${pidfile} -o ${codeberg_pages_server_log} ${task}"
26
27
start_precmd="${name}_prestart"
28
29
codeberg_pages_server_prestart() {
30
    if [ ! -d "${codeberg_pages_server_chdir}" ]; then
31
        mkdir "${codeberg_pages_server_chdir}"
32
        chown ${codeberg_pages_server_user} "${codeberg_pages_server_chdir}"
33
    fi
34
35
    if [ ! -f "${codeberg_pages_server_log}" ]; then
36
        touch "${codeberg_pages_server_log}"
37
        chown ${codeberg_pages_server_user}:${codeberg_pages_server_group} "${codeberg_pages_server_log}"
38
        chmod 640 "${codeberg_pages_server_log}"
39
    fi
40
41
    if [ ! -d "/var/run/codeberg-pages-server" ] ; then
42
        install -d -o ${codeberg_pages_server_user} -g ${codeberg_pages_server_group} "/var/run/codeberg-pages-server"
43
    fi
44
}
45
46
run_rc_command "$1"
(-)b/www/codeberg-pages-server/files/config-generater.sh (+50 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
50
(-)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 etc/rc.conf.d
4
@dir(www,www,755) /var/db/codeberg-pages-server

Return to bug 284267