1PORTNAME=	gitlab-shell
2PORTVERSION=	14.49.0
3DISTVERSIONPREFIX=	v
4CATEGORIES=	devel
5
6MAINTAINER=	ports@MidnightBSD.org
7COMMENT=	GitLab Shell handles git commands for GitLab
8WWW=		https://gitlab.com/gitlab-org/gitlab-shell
9
10LICENSE=	mit
11LICENSE_FILE=	${WRKSRC}/LICENSE
12
13# GSSAPI support can maybe be removed by disable CGO:
14# https://gitlab.com/gitlab-org/gitlab-shell/-/merge_requests/720
15#BUILD_DEPENDS=	heimdal>=0:security/heimdal
16
17USES=		gmake go:modules,no_targets pkgconfig
18
19USE_GITLAB=	yes
20GL_ACCOUNT=	gitlab-org
21GO_MOD_DIST=	gitlab
22GO_MODULE=	gitlab.com/gitlab-org/gitlab-shell/v14
23
24MAKE_ENV=	GOFLAGS="${GO_BUILDFLAGS}"
25# make sure to pass go build options into make process
26MAKE_ENV+=	${GO_ENV}
27ALL_TARGET=	build
28
29USERS=		git
30GROUPS=		git
31
32VARLOGDIR=	/var/log/gitlab-shell
33
34PLIST_FILES+=	"@dir(git,,755) ${VARLOGDIR}"
35
36post-patch:
37	${REINPLACE_CMD} -e "s|%%PREFIX%%|${PREFIX}|" ${WRKSRC}/config.yml.example
38	${MV} ${WRKSRC}/config.yml.example ${WRKSRC}/config.yml.sample
39	${CP} ${WRKSRC}/config.yml.sample ${WRKSRC}/config.yml
40	${REINPLACE_CMD} -e 's|VERSION_STRING :=.*|VERSION_STRING := v${PORTVERSION}|g' ${WRKSRC}/Makefile
41
42pre-install:
43	${RM} -rf ${WRKSRC}/config.yml
44
45do-install:
46	@${MKDIR} ${DATADIR}
47	${MKDIR} ${DATADIR}/bin
48	${FIND} ${WRKSRC} -name '*.orig' -delete
49	(cd ${WRKSRC}/bin/ && ${COPYTREE_BIN} .  ${DATADIR}/bin)
50.for x in CHANGELOG LICENSE README.md VERSION config.yml.sample
51	${INSTALL_DATA} ${WRKSRC}/${x} ${DATADIR}/
52.endfor
53.for x in support
54	@${MKDIR} ${DATADIR}/${x}
55	(cd ${WRKSRC}/${x} && ${COPYTREE_SHARE} . ${DATADIR}/${x})
56.endfor
57	@${MKDIR} ${VARLOGDIR}
58
59post-install:
60	${FIND} -s ${DATADIR} -not -type d | ${SORT} | \
61		${SED} -e 's#^${PREFIX}/##' | \
62		${SED} -E -e '/sample$$/ s#^#@sample #; \
63		s#${DATADIR_REL}/bin#@(,,555) ${DATADIR_REL}/bin#; ' >> ${TMPPLIST}
64
65.include <bsd.port.mk>
66