summaryrefslogtreecommitdiff
path: root/security/authelia/Makefile
blob: d25b01d46e1a4e7ef90a8592deaa50fbb5bb4aee (plain)
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
# $NetBSD: Makefile,v 1.24 2022/09/07 09:32:19 bsiegert Exp $

DISTNAME=	authelia-4.26.1
PKGREVISION=	18
CATEGORIES=	security
MASTER_SITES=	${MASTER_SITE_GITHUB:=authelia/}
GITHUB_TAG=	v${PKGVERSION_NOREV}

DISTFILES=			${DEFAULT_DISTFILES}
FE_DISTNAME=			${DISTNAME}.public_html.tar.gz
DISTFILES+=			${FE_DISTNAME}
SITES.${FE_DISTNAME}=		\
	-${MASTER_SITE_GITHUB:=authelia/}authelia/releases/download/${GITHUB_TAG}/authelia-public_html.tar.gz
EXTRACT_DIR.${FE_DISTNAME}=	${WRKSRC}
BR_DISTNAME=			broccoli-1.0.3.tar.gz
DISTFILES+=			${BR_DISTNAME}
SITES.${BR_DISTNAME}=		\
	-${MASTER_SITE_GITHUB:=thealetheia/}broccoli/archive/v1.0.3.tar.gz
EXTRACT_DIR.${BR_DISTNAME}=	${WRKDIR}

MAINTAINER=	pkgsrc-users@NetBSD.org
HOMEPAGE=	https://www.authelia.com/
COMMENT=	Single Sign-On Multi-Factor portal for web apps
LICENSE=	apache-2.0

CHECK_PORTABILITY_SKIP+=	entrypoint.sh

.include "go-modules.mk"

# additional go modules needed to build broccoli
GO_MODULE_FILES+=	aletheia.icu/broccoli/fs/@v/v0.0.0-20200420162907-e7ff440cf358.mod
GO_MODULE_FILES+=	aletheia.icu/broccoli/fs/@v/v0.0.0-20200420162907-e7ff440cf358.zip
GO_MODULE_FILES+=	github.com/sabhiram/go-gitignore/@v/v0.0.0-20180611051255-d3107576ba94.mod
GO_MODULE_FILES+=	github.com/sabhiram/go-gitignore/@v/v0.0.0-20180611051255-d3107576ba94.zip

GO_BUILD_PATTERN=	./cmd/authelia/...

AUTHELIA_USER?=		authelia
AUTHELIA_GROUP?=	authelia
BUILD_DEFS+=		AUTHELIA_USER AUTHELIA_GROUP
FILES_SUBST+=		AUTHELIA_USER=${AUTHELIA_USER:Q}
FILES_SUBST+=		AUTHELIA_GROUP=${AUTHELIA_GROUP:Q}
PKG_USERS=		${AUTHELIA_USER:Q}:${AUTHELIA_GROUP:Q}
PKG_USERS_VARS+=	AUTHELIA_USER
PKG_GROUPS=		${AUTHELIA_GROUP:Q}
PKG_GROUPS_VARS+=	AUTHELIA_GROUP

CONF_FILES_PERMS+=	${PREFIX}/share/examples/authelia/authelia.yml \
			  ${PKG_SYSCONFDIR}/authelia.yml \
			  ${AUTHELIA_USER:Q} ${AUTHELIA_GROUP:Q} 0600
EGDIR=			${PREFIX}/share/examples/authelia
INSTALLATION_DIRS+=	bin ${EGDIR}
RCD_SCRIPTS=		authelia

# generate embeddable frontend assets w/ broccoli
pre-build:
	cd ${WRKDIR}/broccoli-* && ${_ULIMIT_CMD} ${PKGSRC_SETENV} ${MAKE_ENV} ${GO} install -v .
	cd ${WRKSRC}/internal/server && ${WRKDIR}/.gopath/bin/broccoli -src ../../public_html -o public_html

do-install:
	${INSTALL_PROGRAM} ${WRKDIR}/.gopath/bin/authelia ${DESTDIR}${PREFIX}/bin/authelia
	${INSTALL_DATA} ${WRKSRC}/config.template.yml ${DESTDIR}${EGDIR}/authelia.yml

.include "../../lang/go/go-module.mk"
.include "../../mk/bsd.pkg.mk"