Files
ports/www/forgejo15/Makefile
T

93 lines
2.7 KiB
Makefile

PORTNAME= forgejo
DISTVERSIONPREFIX= v
DISTVERSION= 15.0.4
CATEGORIES= www
MASTER_SITES= https://codeberg.org/forgejo/forgejo/releases/download/${DISTVERSIONFULL}/
PKGNAMESUFFIX= ${PORTVERSION:C/([0-9]+).*/\1/}
DISTNAME= forgejo-src-${DISTVERSION}
MAINTAINER= des@FreeBSD.org
COMMENT= Compact self-hosted Git forge
WWW= https://forgejo.org/
LICENSE= GPLv3+
LICENSE_FILE= ${WRKSRC}/LICENSE
RUN_DEPENDS= git:devel/git
USES= cpe gmake go:1.26+,no_targets
USE_RC_SUBR= forgejo
PIE_UNSAFE= yes
CONFLICTS_INSTALL= forgejo[0-9]*
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} DBDIR=${DBDIR} LOGDIR=${LOGDIR}
PLIST_SUB= DBDIR=${DBDIR} LOGDIR=${LOGDIR}
NO_WRKSUBDIR= yes
USERS= git
GROUPS= git
# If the BINDATA option is off, we will install assets into DATADIR
# and this line ensures that they are included in the packing list.
# Otherwise, assets are compiled into the binary, DATADIR remains
# empty, and this line has no effect.
PORTDATA= *
OPTIONS_DEFINE= BINDATA GIT_LFS PAM SQLITE
OPTIONS_DEFAULT= BINDATA GIT_LFS PAM SQLITE
OPTIONS_SUB= yes
BINDATA_DESC= Build a single monolithic binary, with all assets included
GIT_LFS_DESC= Support for Git Large File Storage (LFS)
PAM_DESC= Enable support for PAM
BINDATA_VARS= GO_TAGS+=bindata
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.StaticRootPath=${DATADIR}"'" \
"'-X "forgejo.org/modules/setting.AppWorkPath=${DBDIR}"'"
MAKE_ARGS= GOFLAGS="-buildvcs=false" \
GOPATH=${WRKDIR} \
TAGS="${GO_TAGS}"
MAKE_JOBS_UNSAFE= yes
# The default build target builds both the frontend and the backend.
# However, release tarballs include a prebuilt frontend, so save a
# little time by explicitly building only the backend.
ALL_TARGET= backend
# Go binaries are statically linked
STRIP= #
# The provided Makefile does not include an install target.
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/gitea \
${STAGEDIR}${PREFIX}/sbin/forgejo
@${MKDIR} ${STAGEDIR}${ETCDIR}/conf
${INSTALL_DATA} ${WRKDIR}/app.ini.sample \
${STAGEDIR}${ETCDIR}/conf/app.ini.sample
${INSTALL_DATA} ${WRKSRC}/custom/conf/app.example.ini \
${STAGEDIR}${ETCDIR}/conf/app.ini.defaults
${MKDIR} ${STAGEDIR}${DBDIR}/data
${MKDIR} ${STAGEDIR}${DBDIR}/forgejo-repositories
${MKDIR} ${STAGEDIR}${LOGDIR}
# If the BINDATA option is off, install assets into DATADIR.
do-install-BINDATA-off:
${MKDIR} ${STAGEDIR}${DATADIR}
cd ${WRKSRC} && \
${COPYTREE_SHARE} "options public templates" ${STAGEDIR}${DATADIR}
.include <bsd.port.mk>