summaryrefslogtreecommitdiff
path: root/www/forgejo
diff options
context:
space:
mode:
Diffstat (limited to 'www/forgejo')
-rw-r--r--www/forgejo/Makefile44
-rw-r--r--www/forgejo/distinfo6
-rw-r--r--www/forgejo/files/app.ini.sample.in18
-rw-r--r--www/forgejo/files/forgejo.in21
-rw-r--r--www/forgejo/pkg-plist10
5 files changed, 49 insertions, 50 deletions
diff --git a/www/forgejo/Makefile b/www/forgejo/Makefile
index 4081b8af0ea9..92df5e9e5661 100644
--- a/www/forgejo/Makefile
+++ b/www/forgejo/Makefile
@@ -1,13 +1,12 @@
PORTNAME= forgejo
DISTVERSIONPREFIX= v
-DISTVERSION= 12.0.4
-PORTREVISION= 2
+DISTVERSION= 13.0.2
CATEGORIES= www
MASTER_SITES= https://codeberg.org/forgejo/forgejo/releases/download/${DISTVERSIONFULL}/
DISTNAME= forgejo-src-${DISTVERSION}
-MAINTAINER= stb@lassitu.de
-COMMENT= Compact self-hosted Git service
+MAINTAINER= des@FreeBSD.org
+COMMENT= Compact self-hosted Git forge
WWW= https://forgejo.org/
LICENSE= MIT
@@ -15,16 +14,19 @@ LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= git:devel/git
-USES= cpe gmake go:no_targets
+USES= cpe gmake go:1.25,no_targets
USE_RC_SUBR= forgejo
PIE_UNSAFE= yes
-CONFLICTS_INSTALL= forgejo[0-79]*
+CONFLICTS_INSTALL= forgejo-lts forgejo7
EXTRACT_AFTER_ARGS= --strip-components 1
+DBDIR= /var/db/forgejo
+LOGDIR= /var/log/forgejo
SUB_FILES= app.ini.sample pkg-message
-SUB_LIST= GITUSER=${USERS}
+SUB_LIST= GITUSER=${USERS} DBDIR=${DBDIR} LOGDIR=${LOGDIR}
+PLIST_SUB= DBDIR=${DBDIR} LOGDIR=${LOGDIR}
NO_WRKSUBDIR= yes
@@ -46,6 +48,15 @@ GIT_LFS_RUN_DEPENDS= git-lfs:devel/git-lfs
PAM_VARS= GO_TAGS+=pam
SQLITE_VARS= GO_TAGS+="sqlite sqlite_unlock_notify"
+SSP_UNSAFE= true
+LDFLAGS= "'-X "forgejo.org/modules/setting.CustomPath=${PREFIX}/etc/forgejo"'" \
+ "'-X "forgejo.org/modules/setting.AppWorkPath=${DATADIR}"'"
+MAKE_ARGS= GOFLAGS="-buildvcs=false" \
+ GOPATH=${WRKDIR} \
+ TAGS="${GO_TAGS}"
+ALL_TARGET= backend
+MAKE_JOBS_UNSAFE= yes
+
.include <bsd.port.options.mk>
.if ${OPSYS} == FreeBSD
@@ -54,21 +65,8 @@ DAEMONARGS= -S -l \$${forgejo_facility} -s \$${forgejo_priority} -T \
.else
DAEMONARGS= -f
.endif
-
SUB_LIST+= DAEMONARGS="${DAEMONARGS}"
-SSP_UNSAFE= true
-LDFLAGS+= "'-X "forgejo.org/modules/setting.CustomPath=${PREFIX}/etc/forgejo"'" \
- "'-X "forgejo.org/modules/setting.AppWorkPath=${PREFIX}/share/forgejo"'"
-MAKE_ARGS= GOFLAGS="-buildvcs=false" \
- GOPATH=${WRKDIR} \
- TAGS="${GO_TAGS}"
-ALL_TARGET= backend
-MAKE_JOBS_UNSAFE= yes
-
-post-patch:
- ${ECHO_CMD} ${DISTVERSION} >${WRKSRC}/VERSION
-
# Too lazy to figure out why go install won't work.
do-install:
# Go binary is statically linked and cannot be stripped, so use
@@ -81,9 +79,9 @@ do-install:
${INSTALL_DATA} ${WRKSRC}/custom/conf/app.example.ini \
${STAGEDIR}${ETCDIR}/conf/app.ini.defaults
${MKDIR} ${STAGEDIR}${DATADIR}
- ${MKDIR} ${STAGEDIR}/var/db/forgejo/data
- ${MKDIR} ${STAGEDIR}/var/db/forgejo/forgejo-repositories
- ${MKDIR} ${STAGEDIR}/var/log/forgejo
+ ${MKDIR} ${STAGEDIR}${DBDIR}/data
+ ${MKDIR} ${STAGEDIR}${DBDIR}/forgejo-repositories
+ ${MKDIR} ${STAGEDIR}${LOGDIR}
do-install-BINDATA-off:
cd ${WRKSRC} && \
diff --git a/www/forgejo/distinfo b/www/forgejo/distinfo
index fd739adc9fdf..ec6731f34bd8 100644
--- a/www/forgejo/distinfo
+++ b/www/forgejo/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1758356864
-SHA256 (forgejo-src-12.0.4.tar.gz) = b1adeec3f5f446c63996250a334be62baf0cd8fbb9ad71a3316a5896cb327d08
-SIZE (forgejo-src-12.0.4.tar.gz) = 54124346
+TIMESTAMP = 1761594542
+SHA256 (forgejo-src-13.0.2.tar.gz) = 6731d5e73a025c1a04aba0f84caf80886d5be0031f4c154ac63026e7fe30918a
+SIZE (forgejo-src-13.0.2.tar.gz) = 55481937
diff --git a/www/forgejo/files/app.ini.sample.in b/www/forgejo/files/app.ini.sample.in
index b54e756578be..f06b9819cc84 100644
--- a/www/forgejo/files/app.ini.sample.in
+++ b/www/forgejo/files/app.ini.sample.in
@@ -23,7 +23,7 @@
# localhost.
#
# If you'd rather use the web-based installer, remove this conf/app.ini file
-# and make %%PREFIX%%/etc/forgejo/conf writeable to the git user.
+# and make %%ETCDIR%%/conf writeable to the git user.
APP_NAME = Forgejo: A self-hosted lightweight software forge
RUN_MODE = prod
@@ -34,17 +34,17 @@ DB_TYPE = sqlite3
HOST = 127.0.0.1:3306
NAME = forgejo
PASSWD =
-PATH = /var/db/forgejo/forgejo.db
+PATH = %%DBDIR%%/forgejo.db
SSL_MODE = disable
USER = root
[indexer]
-ISSUE_INDEXER_PATH = /var/db/forgejo/indexers/issues.bleve
+ISSUE_INDEXER_PATH = %%DBDIR%%/indexers/issues.bleve
[log]
LEVEL = Info
MODE = file
-ROOT_PATH = /var/log/forgejo
+ROOT_PATH = %%LOGDIR%%
[mailer]
ENABLED = false
@@ -53,18 +53,18 @@ ENABLED = false
JWT_SECRET = CHANGE_ME
[picture]
-AVATAR_UPLOAD_PATH = /var/db/forgejo/data/avatars
+AVATAR_UPLOAD_PATH = %%DBDIR%%/data/avatars
DISABLE_GRAVATAR = true
ENABLE_FEDERATED_AVATAR = false
[repository]
-ROOT = /var/db/forgejo/forgejo-repositories
+ROOT = %%DBDIR%%/forgejo-repositories
# Forgejo's default is 'bash', so if you have bash installed, you can comment
# this out.
SCRIPT_TYPE = sh
[repository.upload]
-TEMP_PATH = /var/db/forgejo/data/tmp/uploads
+TEMP_PATH = %%DBDIR%%/data/tmp/uploads
[security]
INSTALL_LOCK = true
@@ -73,10 +73,10 @@ SECRET_KEY = CHANGE_ME
[session]
PROVIDER = file
-PROVIDER_CONFIG = /var/db/forgejo/data/sessions
+PROVIDER_CONFIG = %%DBDIR%%/data/sessions
[server]
-APP_DATA_PATH = /var/db/forgejo/data
+APP_DATA_PATH = %%DBDIR%%/data
DISABLE_SSH = false
DOMAIN = localhost
HTTP_ADDR = 127.0.0.1
diff --git a/www/forgejo/files/forgejo.in b/www/forgejo/files/forgejo.in
index 026fed82b0b2..1474bd63438a 100644
--- a/www/forgejo/files/forgejo.in
+++ b/www/forgejo/files/forgejo.in
@@ -20,7 +20,6 @@ load_rc_config $name
: ${forgejo_configcheck_enable:="YES"}
: ${forgejo_facility:="daemon"}
: ${forgejo_priority:="info"}
-: ${forgejo_shared:="%%PREFIX%%/share/${name}"}
: ${forgejo_custom:="%%PREFIX%%/etc/${name}"}
command="%%PREFIX%%/sbin/${name} web"
@@ -33,7 +32,7 @@ start_cmd="${name}_start"
start_precmd="${name}_prestart"
forgejo_start() {
- for d in /var/db/forgejo /var/log/forgejo; do
+ for d in %%DBDIR%% %%LOGDIR%%; do
if [ ! -e "$d" ]; then
mkdir "$d"
chown ${forgejo_user} "$d"
@@ -42,7 +41,6 @@ forgejo_start() {
/usr/sbin/daemon %%DAEMONARGS%% \
-u ${forgejo_user} -p ${pidfile} \
/usr/bin/env -i \
- "FORGEJO_WORK_DIR=${forgejo_shared}" \
"FORGEJO_CUSTOM=${forgejo_custom}" \
"HOME=${githome}" \
"PATH=%%PREFIX%%/bin:${PATH}" \
@@ -52,13 +50,16 @@ forgejo_start() {
forgejo_prestart() {
if checkyesno forgejo_configcheck_enable; then
- if su -m ${forgejo_user} -c "FORGEJO_CUSTOM=${forgejo_custom} \
- %%PREFIX%%/sbin/${name} doctor check >/dev/null"; then
- else
- echo "cannot start ${name} because of configuration errors. Run" >&2
- echo " su -m git -c '${name} doctor check'" >&2
- echo "for further details"
- return 1
+ if ! errstr=$(/usr/bin/env -i \
+ "FORGEJO_CUSTOM=${forgejo_custom}" \
+ "HOME=${githome}" \
+ "PATH=%%PREFIX%%/bin:${PATH}" \
+ "USER=${forgejo_user}" \
+ /usr/bin/su -m ${forgejo_user} -c \
+ "%%PREFIX%%/sbin/${name} doctor check" 2>&1); then
+ rc=$?
+ echo "$errstr" >&2
+ return $rc
fi
fi
}
diff --git a/www/forgejo/pkg-plist b/www/forgejo/pkg-plist
index cfdd317d833c..133c23b66678 100644
--- a/www/forgejo/pkg-plist
+++ b/www/forgejo/pkg-plist
@@ -1,8 +1,8 @@
@sample %%ETCDIR%%/conf/app.ini.sample
%%ETCDIR%%/conf/app.ini.defaults
sbin/forgejo
-@dir share/forgejo
-@dir(git,git,755) /var/db/forgejo
-@dir(git,git,755) /var/db/forgejo/data
-@dir(git,git,755) /var/db/forgejo/forgejo-repositories
-@dir(git,git,755) /var/log/forgejo
+@dir %%DATADIR%%
+@dir(git,git,755) %%DBDIR%%
+@dir(git,git,755) %%DBDIR%%/data
+@dir(git,git,755) %%DBDIR%%/forgejo-repositories
+@dir(git,git,755) %%LOGDIR%%