aboutsummaryrefslogtreecommitdiffstats
path: root/devel/glab/Makefile
blob: 967b35a28c937f990e7b4b6228dd78921a6930c5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
PORTNAME=	glab
DISTVERSIONPREFIX=	v
DISTVERSION=	1.64.0
CATEGORIES=	devel

MAINTAINER=	lcook@FreeBSD.org
COMMENT=	GitLab CLI tool bringing GitLab to your command line
WWW=		https://gitlab.com/gitlab-org/cli

LICENSE=	MIT
LICENSE_FILE=	${WRKSRC}/LICENSE

BUILD_DEPENDS=	git:devel/git
RUN_DEPENDS=	git:devel/git

USES=		go:1.24,modules

_BUILD_VERSION=		${DISTVERSION}
_BUILD_PLATFORM=	${OPSYS:tl}
_BUILD_DATE=		$$(date +%Y-%m-%d)
_TAG=			fe60bcf75bfb58801f5a429a52a3461ef62b0f6e

GO_MODULE=	gitlab.com/gitlab-org/cli
GO_TARGET=	./cmd/${PORTNAME}
GO_BUILDFLAGS=	-ldflags "\
		-s -w \
		-X 'main.commit=${_TAG}' \
		-X 'main.version=${_BUILD_VERSION}' \
		-X 'main.platform=${_BUILD_PLATFORM}'"

PORTDOCS=	CONTRIBUTING.md README.md SECURITY.md

OPTIONS_DEFINE=		COMPLETIONS DOCS MANPAGES
OPTIONS_DEFAULT=	COMPLETIONS MANPAGES
OPTIONS_SUB=		yes

COMPLETIONS_DESC=		Build and install bash, fish and zsh shell completions
COMPLETIONS_PLIST_FILES=	share/bash-completion/completions/${PORTNAME} \
				share/fish/vendor_completions.d/${PORTNAME}.fish \
				share/zsh/site-functions/_${PORTNAME}

# add a git tag, as that is required to build the manpages
pre-build:
	cd ${WRKSRC} && \
		git init && \
		git config user.email "${MAINTAINER}" && \
		git config user.name "FreeBSD Port" && \
		git add . && \
		git commit -m "tag" && \
		git tag v${PORTVERSION}

post-install-COMPLETIONS-on:
.for _shell in bash fish zsh
	${GO_WRKDIR_BIN}/${PORTNAME} completion -s ${_shell} \
		>${STAGEDIR}${PREFIX}/${COMPLETIONS_PLIST_FILES:M*${_shell}*}
.endfor

post-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
	${INSTALL_DATA} ${PORTDOCS:S|^|${WRKSRC}/|} \
		${STAGEDIR}${DOCSDIR}

post-install-MANPAGES-on:
	(cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GO_ENV} ${GO_CMD} run \
		./cmd/gen-docs --manpage --path ${STAGEDIR}${PREFIX}/share/man/man1)

.include <bsd.port.mk>