packages/utils/domoticz/Makefile
Stijn Tintel 43d0e07789 domoticz: bump to 2020.1
Drop upstreamed patches.

The file appversion.default was removed from Domoticz, causing the hacks
to inject APPVERSION, APPDATE and APPHASH to fail. As the appversion.h
is generated during compile time, implementing a new way to inject these
defines is non-trivial, so simply drop them.

As the minor version for this release is no longer based on the number
of commits, the package versioning needs to be revised if we want to
build a git snapshot instead of stable release. Leave this for another
day and drop that logic for now.

Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
2020-03-23 22:37:36 +02:00

121 lines
3.7 KiB
Makefile

#
# Copyright (C) 2016 - 2020 Stijn Tintel <stijn@linux-ipv6.be>
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=domoticz
PKG_VERSION:=2020.1
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/domoticz/domoticz/archive/$(PKG_VERSION)/$(PKG_SOURCE)
PKG_HASH:=d0c17b2082dad8a8caeed888b7d4c191975e74a2808b5d078305f5327b82442d
PKG_LICENSE:=GPL-3.0
PKG_LICENSE_FILES:=License.txt
PKG_BUILD_DEPENDS:=python3
PKG_BUILD_PARALLEL:=1
PKG_USE_MIPS16:=0
CMAKE_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/cmake.mk
define Package/domoticz
SECTION:=utils
CATEGORY:=Utilities
TITLE:=Open Source Home Automation System
URL:=http://domoticz.com/
MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
USERID:=domoticz=6144:domoticz=6144
DEPENDS:= \
+boost \
+boost-date_time \
+boost-system \
+boost-thread \
+libcurl \
+libmosquittopp \
+libopenssl \
+libopenzwave \
+libsqlite3 \
+libstdcpp \
+telldus-core \
+zlib
endef
define Package/domoticz/description
Domoticz is a Home Automation System that lets you monitor and configure various devices like: Lights, Switches, various sensors/meters like Temperature, Rain, Wind, UV, Electra, Gas, Water and much more. Notifications/Alerts can be sent to any mobile device.
endef
CMAKE_OPTIONS += \
-DBUILD_SHARED_LIBS=yes \
-DBoost_NO_BOOST_CMAKE=yes \
-DCMAKE_BUILD_TYPE=Release \
-DUSE_BUILTIN_MQTT=no \
-DUSE_BUILTIN_SQLITE=no \
-DUSE_STATIC_BOOST=no \
-DUSE_STATIC_LIBSTDCXX=no \
-DUSE_STATIC_OPENZWAVE=no \
-DUSE_OPENSSL_STATIC=no \
-DUSE_PYTHON=yes \
-DWITH_LIBUSB=no
TARGET_CFLAGS+=-flto
TARGET_CXXFLAGS+=-DWITH_GPIO -flto
define Build/Prepare
$(call Build/Prepare/Default)
# Remove unwanted scripts
cd $(PKG_BUILD_DIR)/scripts && rm -rf \
buienradar_rain_example.pl \
_domoticz_main* \
download_update.sh \
dzVents/{.gitignore,documentation,examples,generated_scripts,data} \
dzVents/runtime/{integration-tests,misc/smoothing.xlsx,tests} \
logrotate/ \
lua_parsers/example* \
lua/*demo.lua \
python/ \
readme.txt \
restart_domoticz \
templates/All.Python \
update_domoticz \
domoticz.conf
# Remove *.md
cd $(PKG_BUILD_DIR) && $(FIND) -name '*.md' -delete
endef
define Package/domoticz/install
$(INSTALL_DIR) $(1)/etc/config $(1)/etc/hotplug.d/tty $(1)/etc/init.d $(1)/etc/domoticz/plugins
$(INSTALL_BIN) ./files/domoticz.hotplug $(1)/etc/hotplug.d/tty/domoticz
$(INSTALL_BIN) ./files/domoticz.init $(1)/etc/init.d/domoticz
$(INSTALL_CONF) ./files/domoticz.config $(1)/etc/config/domoticz
$(INSTALL_DIR) $(1)/usr/share/domoticz $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/dzVents $(1)/usr/share/domoticz/dzVents
$(CP) $(PKG_INSTALL_DIR)/usr/Config $(1)/usr/share/domoticz/Config
$(CP) $(PKG_INSTALL_DIR)/usr/scripts $(1)/etc/domoticz/scripts
ln -sf /var/lib/domoticz/dzVents/generated_scripts $(1)/etc/domoticz/scripts/dzVents
ln -sf /var/lib/domoticz/dzVents/data $(1)/etc/domoticz/scripts/dzVents
$(CP) $(PKG_INSTALL_DIR)/usr/www $(1)/usr/share/domoticz/
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/domoticz $(1)/usr/bin/domoticz
# compress static web content
find $(1)/usr/share/domoticz/www -name "*.css" -exec gzip -9 {} \;
find $(1)/usr/share/domoticz/www -name "*.js" -exec gzip -9 {} \;
gzip -9 $(1)/usr/share/domoticz/www/*.html
gzip -9 $(1)/usr/share/domoticz/www/secpanel/*.html
find $(1)/usr/share/domoticz/www/views -name "*.html" -exec sh -c 'grep -q "<\!--#embed" {} || gzip -9 {}' \;
endef
define Package/domoticz/conffiles
/etc/config/domoticz
/var/lib/domoticz/
/etc/domoticz/
endef
$(eval $(call BuildPackage,domoticz))