aboutsummaryrefslogtreecommitdiffstats
path: root/net-mgmt/icingaweb2/Makefile
blob: de66502653f2d366a9ba5ccb42b4001a8a94ed14 (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
68
69
70
71
72
73
74
75
# $FreeBSD$

PORTNAME=   icingaweb2
DISTVERSIONPREFIX=  v
DISTVERSION=    2.5.0
PORTREVISION=   1
CATEGORIES= net-mgmt www

MAINTAINER= lme@FreeBSD.org
COMMENT=    Next generation web interface for Icinga 1 and 2

LICENSE=    GPLv2
LICENSE_FILE=   ${WRKSRC}/COPYING

RUN_DEPENDS=    zf:www/zend-framework1

USE_GITHUB= yes
GH_ACCOUNT= icinga

NO_BUILD=   yes
NO_ARCH=    yes

USES=       php:build
USE_PHP=    ctype dom gd gettext hash json openssl session sockets

SUB_FILES=  pkg-message
SUB_LIST=   WWWDIR=${WWWDIR} \
        ETCDIR=${ETCDIR} \
        EXAMPLESDIR=${EXAMPLESDIR}

PLIST_SUB=  WWWOWN=${WWWOWN} \
        WWWGRP=${WWWGRP}

OPTIONS_DEFINE=     NLS LDAP MYSQL PGSQL PDF
OPTIONS_DEFAULT=    LDAP MYSQL PGSQL

PDF_DESC=   Export graphs as PDF

NLS_USES=   gettext
NLS_USE=    php=intl
PGSQL_USE=  PHP=pdo_pgsql,pgsql
MYSQL_USE=  PHP=pdo_mysql
LDAP_USE=   PHP=ldap
PDF_RUN_DEPENDS=    ${PHPBASE}/lib/php/${PHP_EXT_DIR}/imagick.so:graphics/pecl-imagick

post-patch:
    ${REINPLACE_CMD} 's%\(/etc/icingaweb2\)%${PREFIX}\1%g' \
        ${WRKSRC}/library/Icinga/Application/ApplicationBootstrap.php
    ${REINPLACE_CMD} 's%readlink[^)]*)%"${PREFIX}/bin/php"%g' \
        ${WRKSRC}/application/clicommands/WebCommand.php
do-install:
    ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/bash_completion.d/
    ${INSTALL_DATA} ${WRKSRC}/etc/bash_completion.d/icingacli \
        ${STAGEDIR}${EXAMPLESDIR}/bash_completion.d
    (cd ${WRKSRC} && ${RM} -r .mailmap changelog.py icingaweb2.spec \
        bin/license_writer.py packages test)
    ${MKDIR} ${STAGEDIR}${WWWDIR}
    (cd ${WRKSRC} && \
        ${COPYTREE_SHARE} . ${STAGEDIR}${WWWDIR})
    ${CHMOD} 755 ${STAGEDIR}${WWWDIR}/bin/icingacli
    ${RLN} ${STAGEDIR}${WWWDIR}/bin/icingacli ${STAGEDIR}${PREFIX}/bin/icingacli
    ${MKDIR} ${STAGEDIR}${ETCDIR}
.for webserver in apache nginx
    ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}/${webserver}
    # ICINGAWEB_CONFIGDIR is set to /nonexistent to allow staging as user.
    # Once installed, ${ETCDIR} is not world-readable, so point icingacli to
    # a non existing directory. The config files are generated correctly anyway.
    (cd ${STAGEDIR}${WWWDIR} && \
    ICINGAWEB_CONFIGDIR=/nonexistent \
    ./bin/icingacli setup config webserver ${webserver} --path=/icingaweb2 \
    --root=${WWWDIR}/public --config=${ETCDIR} \
    --file=${STAGEDIR}${EXAMPLESDIR}/${webserver}/icingaweb2.conf)
.endfor

.include <bsd.port.mk>