#
# Copyright (C) 2015-2018 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#

include $(TOPDIR)/rules.mk

PKG_NAME:=python-openopc
PKG_VERSION:=1.3.1
PKG_RELEASE:=1

PKG_SOURCE:=OpenOPC-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=https://github.com/barrybb/OpenOPC/archive/v$(PKG_VERSION)
PKG_HASH:=426fd796f6c3fd85566a932141eae31ac3ea3308519b4ee38fce02cc75222337

PKG_BUILD_DIR:=$(BUILD_DIR)/$(BUILD_VARIANT)-OpenOPC-$(PKG_VERSION)

PKG_LICENSE:=MIT
PKG_LICENSE_FILES:=LICENSE
PKG_MAINTAINER:=Ye Jiaqiang <jiaqiang.ye@lnxall.com>

include $(INCLUDE_DIR)/package.mk
$(call include_mk, python-package.mk)
$(call include_mk, python3-package.mk)

PKG_UNPACK:=$(HOST_TAR) -C $(PKG_BUILD_DIR) --strip-components=1 -xzf $(DL_DIR)/$(PKG_SOURCE)

define Package/python-openopc/Default
  SECTION:=lang
  CATEGORY:=Languages
  SUBMENU:=Python
  TITLE:=OpenOPC, TCP/IP client for OPCDA
  URL:=http://openopc.sourceforge.net/
  DEPENDS:=+python-pyro3
endef

define Package/python-openopc
$(call Package/python-openopc/Default)
  VARIANT:=python
endef

define Package/python3-openopc
$(call Package/python-openopc/Default)
  VARIANT:=python3
endef

define Package/python-openopc/description
OpenOPC Gateway Client
endef

define Build/Compile
	@mkdir -p $(PKG_BUILD_DIR)/ipkg-install/usr/lib/python2.7/site-packages
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/OpenOPC.py $(PKG_BUILD_DIR)/ipkg-install/usr/lib/python2.7/site-packages/
endef

define Build/Compile/python-openopc
	$(call Build/Compile)
endef
define Build/Compile/python3-openopc
	$(call Build/Compile)
endef

define Package/openopc/install
	$(INSTALL_DIR) $(1)/usr/bin
	$(INSTALL_DIR) $(1)/usr/lib/$(2)/site-packages
	$(INSTALL_BIN) $(PKG_BUILD_DIR)/src/opc.py $(1)/usr/bin/
	$(INSTALL_DATA) $(PKG_BUILD_DIR)/src/OpenOPC.py $(1)/usr/lib/$(2)/site-packages/
endef

define Package/python-openopc/install
$(call Package/openopc/install,$(1),python2.7)
endef

define Package/python3-openopc/install
$(call Package/openopc/install,$(1),python3)
endef

define Package/python3-openopc/description
$(call Package/python-openopc/description)
(Variant for Python3)
endef

$(eval $(call PyPackage,python-openopc))
$(eval $(call BuildPackage,python-openopc))

$(eval $(call Py3Package,python3-openopc))
$(eval $(call BuildPackage,python3-openopc))
