aboutsummaryrefslogtreecommitdiffstats
path: root/www/domoticz/Makefile
blob: 05889fc3e8b30ccd0bf12a487f67ab421b726956 (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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
# $FreeBSD$

PORTNAME=   domoticz
PORTVERSION=    4.${DOMOTICZ_REL}
PORTREVISION=   3
CATEGORIES= www

MAINTAINER= kiwi@oav.net
COMMENT=    Home Automation System

LICENSE=    GPLv3
LICENSE_FILE=   ${WRKSRC}/License.txt

LIB_DEPENDS=    libcurl.so:ftp/curl \
        libexpat.so:textproc/expat2

CONFLICTS_INSTALL?= domoticz-[23]* domoticz-devel-*

OPTIONS_SUB=    YES
OPTIONS_DEFINE= PYTHON SBOOST SLUA SMINIZIP SMQTT SSQLITE SSSL TELLDUS
SBOOST_DESC=    Use static Boost instead of dynamic linking
SSSL_DESC=  Use static OpenSSL library instead of dynamic linking
SLUA_DESC=  Use domoticz provided LUA instead of ports one
SMQTT_DESC= Use domoticz mosquitto instead of ports one
SSQLITE_DESC=   Use domoticz SQLLite instead of ports one
SMINIZIP_DESC=  Use domoticz minizip instead of ports one
PYTHON_DESC=    Enable support for Python Plugins
TELLDUS_DESC=   Enable support for Telldus

.include <bsd.port.options.mk>

USES=       cmake compiler:c++11-lang iconv pkgconfig ssl

# This hack is to get rid of dependency of git while building
# the package.
DOMOTICZ_REL=   9700
DOMOTICZ_TS=    1529904511
USE_GITHUB= yes
GH_ACCOUNT= domoticz
GH_PROJECT= domoticz

USE_RC_SUBR=    domoticz

USERS=      domoticz
GROUPS=     domoticz

CMAKE_ARGS+=    -DCMAKE_INSTALL_PREFIX=${PREFIX}/domoticz \
        -DUSE_BUILTIN_ZLIB="NO" \
        -DUSE_STATIC_OPENZWAVE="NO"

.if ${PORT_OPTIONS:MSSSL}
CMAKE_ARGS+=    -DUSE_OPENSSL_STATIC="YES"
.else
CMAKE_ARGS+=    -DUSE_OPENSSL_STATIC="NO"
.endif

.if ${PORT_OPTIONS:MSBOOST}
CMAKE_ARGS+=    -DUSE_STATIC_BOOST="YES"
BUILD_DEPENDS+= boost-libs>=0:devel/boost-libs
.else
CMAKE_ARGS+=    -DUSE_STATIC_BOOST="NO"
LIB_DEPENDS+=   libboost_system.so:devel/boost-libs
.endif

.if ${PORT_OPTIONS:MSLUA}
CMAKE_ARGS+=    -DUSE_BUILTIN_LUA="YES"
.else
CMAKE_ARGS+=    -DUSE_BUILTIN_LUA="NO"
USES+=      lua:52
.endif

.if ${PORT_OPTIONS:MSMQTT}
CMAKE_ARGS+=    -DUSE_BUILTIN_MQTT="YES"
.else
CMAKE_ARGS+=    -DUSE_BUILTIN_MQTT="NO"
LIB_DEPENDS+=   libmosquitto.so:net/mosquitto
.endif

.if ${PORT_OPTIONS:MSSQLITE}
CMAKE_ARGS+=    -DUSE_BUILTIN_SQLITE="YES"
.else
CMAKE_ARGS+=    -DUSE_BUILTIN_SQLITE="NO"
USES+=      sqlite
.endif

.if ${PORT_OPTIONS:MSMINIZIP}
CMAKE_ARGS+=    -DUSE_BUILTIN_MINIZIP="YES"
.else
CMAKE_ARGS+=    -DUSE_BUILTIN_MINIZIP="NO"
LIB_DEPENDS+=   libminizip.so:archivers/minizip
.endif

.if ${PORT_OPTIONS:MPYTHON}
CMAKE_ARGS+=    -DUSE_PYTHON="YES"
USES+=      python:3.4
.else
CMAKE_ARGS+=    -DUSE_PYTHON="NO"
.endif

.if ${PORT_OPTIONS:MTELLDUS}
LIB_DEPENDS+=   libtelldus-core.so:comms/telldus-core
.endif

post-patch:
    @${REINPLACE_CMD} -e "s,\/opt,${PREFIX},g" ${WRKSRC}/CMakeLists.txt
    @${REINPLACE_CMD} -e "s,%%PREFIX%%,${PREFIX},g" ${WRKSRC}/CMakeLists.txt
    @${REINPLACE_CMD} -e "/^ADD_PRECOMPILED_HEADER/ d" ${WRKSRC}/CMakeLists.txt
    @${REINPLACE_CMD} -e "s/\(#define APPVERSION\)\(.*\)/\1 ${DOMOTICZ_REL}/" ${WRKSRC}/appversion.default
    @${REINPLACE_CMD} -e "s/\(#define APPHASH\)\(.*\)/\1 \"27772d9f\"/" ${WRKSRC}/appversion.default
    @${REINPLACE_CMD} -e "s/\(#define APPDATE\)\(.*\)/\1 ${DOMOTICZ_TS}/" ${WRKSRC}/appversion.default

post-install:
    @${MKDIR} ${STAGEDIR}/var/db/domoticz ${STAGEDIR}/var/run/domoticz

.include <bsd.port.mk>