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

Collapse All | Expand All

(-)b/www/codeberg-pages-server/Makefile (+48 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
DISTFILES=	${DISTVERSIONFULL}.zip
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:modules,1.23
16
BUILD_DEPENDS=	bash:shells/bash
17
18
WRKSRC=		${WRKDIR}/pages-server
19
20
GO_MODULE=	codeberg.org/codeberg/pages
21
GO_MOD_DIST=	https://codeberg.org/Codeberg/pages-server/raw/tag/${DISTVERSIONFULL}/
22
GO_TARGET=	codeberg.org/codeberg/pages:codeberg-pages-server
23
GO_BUILDFLAGS+=	-ldflags=" \
24
		${STRIP} -w \
25
		-extldflags '-static' \
26
		-X codeberg.org/codeberg/pages/server/version.Version=${DISTVERSIONFULL}"
27
GO_BUILDFLAGS+=	-tags=" \
28
		sqlite \
29
		sqlite_unlock_notify \
30
		netgo"
31
32
USERS=		www
33
GROUPS=		www
34
35
USE_RC_SUBR=	codeberg-pages-server
36
37
post-build:
38
	@${WRKDIR}/bin/codeberg-pages-server --help | \
39
		${FILESDIR}/config-generater.sh > \
40
		${WRKSRC}/codeberg-pages-server-config.in
41
42
post-install:
43
	${INSTALL} -m0600 ${WRKSRC}/codeberg-pages-server-config.in \
44
		${STAGEDIR}${PREFIX}/etc/rc.conf.d/codeberg-pages-server.sample
45
46
	@${MKDIR} ${STAGEDIR}/var/db/codeberg-pages-server
47
48
.include <bsd.port.mk>
(-)b/www/codeberg-pages-server/distinfo (+5 lines)
Added Link Here
1
TIMESTAMP = 1740750130
2
SHA256 (go/www_codeberg-pages-server/codeberg-pages-server-v6.2.1/v6.2.1.zip) = cb501480f938430aee6066faa473660fafde2ea93539e20472c4acf00bd1d112
3
SIZE (go/www_codeberg-pages-server/codeberg-pages-server-v6.2.1/v6.2.1.zip) = 187631
4
SHA256 (go/www_codeberg-pages-server/codeberg-pages-server-v6.2.1/go.mod) = 608493cbe24bb51ace67cba30cb80b811d431d1f0e660f705a641812c61da041
5
SIZE (go/www_codeberg-pages-server/codeberg-pages-server-v6.2.1/go.mod) = 12379
(-)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/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