openzwave: new package
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
This commit is contained in:
parent
87798d7b2f
commit
14f01cb946
5 changed files with 265 additions and 0 deletions
95
utils/openzwave/Makefile
Normal file
95
utils/openzwave/Makefile
Normal file
|
@ -0,0 +1,95 @@
|
|||
#
|
||||
# Copyright (C) 2017 Hauke Mehrtens <hauke@hauke-m.de>
|
||||
# Copyright (C) 2016 - 2017 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:=openzwave
|
||||
PKG_REV:=164
|
||||
PKG_VERSION:=1.4.$(PKG_REV)
|
||||
PKG_RELEASE:=1
|
||||
|
||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz
|
||||
PKG_SOURCE_URL:=http://old.openzwave.com/downloads
|
||||
PKG_HASH:=4ecf39787aaf278c203764069b581dbc26094ce57cafeab4a0c1f012d2c0ac69
|
||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(PKG_VERSION)
|
||||
PKG_INSTALL:=1
|
||||
|
||||
include $(INCLUDE_DIR)/package.mk
|
||||
|
||||
define Package/openzwave/default
|
||||
URL:=http://openzwave.com
|
||||
MAINTAINER:=Stijn Tintel <stijn@linux-ipv6.be>
|
||||
DEPENDS:=+libpthread +libstdcpp
|
||||
endef
|
||||
|
||||
define Package/openzwave/description
|
||||
Open-ZWave is a library that interfaces with selected Z-Wave PC controllers
|
||||
endef
|
||||
|
||||
define Package/libopenzwave
|
||||
$(call Package/openzwave/default)
|
||||
SECTION:=Libs
|
||||
CATEGORY:=Libraries
|
||||
TITLE:=Open-ZWave Library
|
||||
endef
|
||||
|
||||
define Package/openzwave
|
||||
$(call Package/openzwave/default)
|
||||
SECTION:=Utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Open-ZWave MinOZW test utility
|
||||
DEPENDS:=+libopenzwave +openzwave-config
|
||||
endef
|
||||
|
||||
define Package/openzwave-config
|
||||
$(call Package/openzwave/default)
|
||||
SECTION:=Utils
|
||||
CATEGORY:=Utilities
|
||||
TITLE:=Open-ZWave Device Configs
|
||||
endef
|
||||
|
||||
MAKE_FLAGS += \
|
||||
LD="$(TARGET_CROSS)g++" \
|
||||
PREFIX=$(CONFIGURE_PREFIX) \
|
||||
instlibdir=/usr/lib \
|
||||
pkgconfigdir=/usr/lib/pkgconfig \
|
||||
sysconfdir=/etc/openzwave
|
||||
|
||||
define Build/Prepare
|
||||
$(call Build/Prepare/Default)
|
||||
rm $(PKG_BUILD_DIR)/cpp/src/platform/HidController.*
|
||||
sed -i -e '/hidapi/d;/HidController/d' $(PKG_BUILD_DIR)/distfiles.mk
|
||||
endef
|
||||
|
||||
define Package/libopenzwave/install
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libopenzwave.so* $(1)/usr/lib/
|
||||
endef
|
||||
|
||||
define Package/openzwave/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/bin/MinOZW $(1)/usr/bin/
|
||||
endef
|
||||
|
||||
define Package/openzwave-config/install
|
||||
$(INSTALL_DIR) $(1)/etc/
|
||||
$(CP) $(PKG_INSTALL_DIR)/etc/openzwave $(1)/etc/
|
||||
endef
|
||||
|
||||
define Build/InstallDev
|
||||
$(INSTALL_DIR) $(1)/usr/include
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/include/openzwave $(1)/usr/include/
|
||||
$(INSTALL_DIR) $(1)/usr/lib
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libopenzwave.* $(1)/usr/lib/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/libopenzwave.pc $(1)/usr/lib/pkgconfig/
|
||||
endef
|
||||
|
||||
$(eval $(call BuildPackage,libopenzwave))
|
||||
$(eval $(call BuildPackage,openzwave))
|
||||
$(eval $(call BuildPackage,openzwave-config))
|
|
@ -0,0 +1,28 @@
|
|||
From eab45f0959ccb1deb662c6f8c036651088e2e8d6 Mon Sep 17 00:00:00 2001
|
||||
From: Stijn Tintel <stijn@linux-ipv6.be>
|
||||
Date: Fri, 17 Feb 2017 05:42:25 +0100
|
||||
Subject: [PATCH] unix: fix compilation against musl libc (#1127)
|
||||
|
||||
POSIX.1-2001 requires sys/select.h for select() and friends.
|
||||
Compile-tested on glibc and musl, runtime tested on musl.
|
||||
|
||||
Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be>
|
||||
---
|
||||
cpp/src/platform/unix/SerialControllerImpl.cpp | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/cpp/src/platform/unix/SerialControllerImpl.cpp b/cpp/src/platform/unix/SerialControllerImpl.cpp
|
||||
index d95f848..b52b74f 100644
|
||||
--- a/cpp/src/platform/unix/SerialControllerImpl.cpp
|
||||
+++ b/cpp/src/platform/unix/SerialControllerImpl.cpp
|
||||
@@ -25,6 +25,7 @@
|
||||
// along with OpenZWave. If not, see <http://www.gnu.org/licenses/>.
|
||||
//
|
||||
//-----------------------------------------------------------------------------
|
||||
+#include <sys/select.h>
|
||||
#include <unistd.h>
|
||||
#include <pthread.h>
|
||||
#include "Defs.h"
|
||||
--
|
||||
2.10.2
|
||||
|
29
utils/openzwave/patches/900_fix-build.patch
Normal file
29
utils/openzwave/patches/900_fix-build.patch
Normal file
|
@ -0,0 +1,29 @@
|
|||
--- a/cpp/build/Makefile
|
||||
+++ b/cpp/build/Makefile
|
||||
@@ -15,7 +15,7 @@
|
||||
# what flags we will use for compiling in debug mode
|
||||
DEBUG_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-inline -Wno-format -Werror -Wno-error=sequence-point -Wno-sequence-point -ggdb -DDEBUG -fPIC -DSYSCONFDIR="\"$(PREFIX)/etc/openzwave/\""
|
||||
# what flags we will use for compiling in release mode
|
||||
-RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Werror -Wno-format -Wno-error=sequence-point -Wno-sequence-point -O3 -DNDEBUG -fPIC -DSYSCONFDIR="\"$(PREFIX)/etc/openzwave/\""
|
||||
+RELEASE_CFLAGS := -Wall -Wno-unknown-pragmas -Wno-error=sequence-point -Wno-sequence-point -DNDEBUG -fPIC -DSYSCONFDIR="\"/etc/openzwave/\""
|
||||
#what flags we will use for linking in debug mode
|
||||
DEBUG_LDFLAGS := -g
|
||||
|
||||
@@ -139,7 +139,7 @@ $(LIBDIR)/libopenzwave.a: $(patsubst %.c
|
||||
$(patsubst %.cpp,$(OBJDIR)/%.o,$(indep)) \
|
||||
$(OBJDIR)/vers.o
|
||||
@echo "Linking Static Library"
|
||||
- @$(AR) $@ $+
|
||||
+ @$(AR) q $@ $+
|
||||
@$(RANLIB) $@
|
||||
|
||||
$(LIBDIR)/$(SHARED_LIB_NAME): $(patsubst %.cpp,$(OBJDIR)/%.o,$(tinyxml)) \
|
||||
@@ -161,7 +161,7 @@ $(top_builddir)/libopenzwave.pc: $(top_s
|
||||
-e 's|[@]exec_prefix@|$(PREFIX)/bin|g' \
|
||||
-e 's|[@]libdir@|$(instlibdir)|g' \
|
||||
-e 's|[@]includedir@|$(PREFIX)/include/openzwave/|g' \
|
||||
- -e 's|[@]sysconfdir@|$(PREFIX)/etc/openzwave/|g' \
|
||||
+ -e 's|[@]sysconfdir@|/etc/openzwave/|g' \
|
||||
-e 's|[@]gitversion@|$(GITVERSION)|g' \
|
||||
-e 's|[@]docdir@|$(docdir)/|g' \
|
||||
-e 's|[@]VERSION@|$(VERSION)|g' \
|
89
utils/openzwave/patches/901_no-hidcontroller.patch
Normal file
89
utils/openzwave/patches/901_no-hidcontroller.patch
Normal file
|
@ -0,0 +1,89 @@
|
|||
--- a/cpp/src/Driver.cpp
|
||||
+++ b/cpp/src/Driver.cpp
|
||||
@@ -37,11 +37,6 @@
|
||||
#include "platform/Event.h"
|
||||
#include "platform/Mutex.h"
|
||||
#include "platform/SerialController.h"
|
||||
-#ifdef WINRT
|
||||
-#include "platform/winRT/HidControllerWinRT.h"
|
||||
-#else
|
||||
-#include "platform/HidController.h"
|
||||
-#endif
|
||||
#include "platform/Thread.h"
|
||||
#include "platform/Log.h"
|
||||
#include "platform/TimeStamp.h"
|
||||
@@ -223,14 +218,7 @@ m_nonceReportSentAttempt( 0 )
|
||||
|
||||
initNetworkKeys(false);
|
||||
|
||||
- if( ControllerInterface_Hid == _interface )
|
||||
- {
|
||||
- m_controller = new HidController();
|
||||
- }
|
||||
- else
|
||||
- {
|
||||
- m_controller = new SerialController();
|
||||
- }
|
||||
+ m_controller = new SerialController();
|
||||
m_controller->SetSignalThreshold( 1 );
|
||||
|
||||
Options::Get()->GetOptionAsBool( "NotifyTransactions", &m_notifytransactions );
|
||||
--- a/cpp/build/Makefile
|
||||
+++ b/cpp/build/Makefile
|
||||
@@ -66,16 +66,7 @@ CFLAGS += $(CPPFLAGS)
|
||||
#where to put the temporary library
|
||||
LIBDIR ?= $(top_builddir)
|
||||
|
||||
-INCLUDES := -I $(top_srcdir)/cpp/src -I $(top_srcdir)/cpp/tinyxml/ -I $(top_srcdir)/cpp/hidapi/hidapi/
|
||||
-
|
||||
-ifeq ($(UNAME),Darwin)
|
||||
-SOURCES_HIDAPI =$(top_srcdir)/cpp/hidapi/mac
|
||||
-else ifeq ($(UNAME),FreeBSD)
|
||||
-SOURCES_HIDAPI =$(top_srcdir)/cpp/hidapi/libusb
|
||||
-else
|
||||
-SOURCES_HIDAPI =$(top_srcdir)/cpp/hidapi/linux
|
||||
-endif
|
||||
-
|
||||
+INCLUDES := -I $(top_srcdir)/cpp/src -I $(top_srcdir)/cpp/tinyxml/
|
||||
|
||||
SOURCES := $(top_srcdir)/cpp/src $(top_srcdir)/cpp/src/command_classes $(top_srcdir)/cpp/tinyxml \
|
||||
$(top_srcdir)/cpp/src/value_classes $(top_srcdir)/cpp/src/platform $(top_srcdir)/cpp/src/platform/unix $(SOURCES_HIDAPI) $(top_srcdir)/cpp/src/aes/
|
||||
@@ -85,14 +76,6 @@ VPATH = $(top_srcdir)/cpp/src:$(top_srcd
|
||||
|
||||
tinyxml := $(notdir $(wildcard $(top_srcdir)/cpp/tinyxml/*.cpp))
|
||||
|
||||
-ifeq ($(UNAME),Darwin)
|
||||
-hidapi := $(notdir $(wildcard $(top_srcdir)/cpp/hidapi/mac/*.c))
|
||||
-else ifeq ($(UNAME),FreeBSD)
|
||||
-hidapi := $(notdir $(wildcard $(top_srcdir)/cpp/hidapi/libusb/*.c))
|
||||
-else
|
||||
-hidapi := $(notdir $(wildcard $(top_srcdir)/cpp/hidapi/linux/*.c)) # we do not want the libusb version
|
||||
-endif
|
||||
-
|
||||
cclasses := $(notdir $(wildcard $(top_srcdir)/cpp/src/command_classes/*.cpp))
|
||||
vclasses := $(notdir $(wildcard $(top_srcdir)/cpp/src/value_classes/*.cpp))
|
||||
pform := $(notdir $(wildcard $(top_srcdir)/cpp/src/platform/*.cpp)) \
|
||||
@@ -111,7 +94,6 @@ printversion:
|
||||
|
||||
|
||||
-include $(patsubst %.cpp,$(DEPDIR)/%.d,$(tinyxml))
|
||||
--include $(patsubst %.c,$(DEPDIR)/%.d,$(hidapi))
|
||||
-include $(patsubst %.cpp,$(DEPDIR)/%.d,$(cclasses))
|
||||
-include $(patsubst %.cpp,$(DEPDIR)/%.d,$(vclasses))
|
||||
-include $(patsubst %.cpp,$(DEPDIR)/%.d,$(pform))
|
||||
@@ -131,7 +113,6 @@ $(top_srcdir)/cpp/src/vers.cpp:
|
||||
#$(OBJDIR)/vers.o: $(top_builddir)/vers.cpp
|
||||
|
||||
$(LIBDIR)/libopenzwave.a: $(patsubst %.cpp,$(OBJDIR)/%.o,$(tinyxml)) \
|
||||
- $(patsubst %.c,$(OBJDIR)/%.o,$(hidapi)) \
|
||||
$(patsubst %.c,$(OBJDIR)/%.o,$(aes)) \
|
||||
$(patsubst %.cpp,$(OBJDIR)/%.o,$(cclasses)) \
|
||||
$(patsubst %.cpp,$(OBJDIR)/%.o,$(vclasses)) \
|
||||
@@ -143,7 +124,6 @@ $(LIBDIR)/libopenzwave.a: $(patsubst %.c
|
||||
@$(RANLIB) $@
|
||||
|
||||
$(LIBDIR)/$(SHARED_LIB_NAME): $(patsubst %.cpp,$(OBJDIR)/%.o,$(tinyxml)) \
|
||||
- $(patsubst %.c,$(OBJDIR)/%.o,$(hidapi)) \
|
||||
$(patsubst %.c,$(OBJDIR)/%.o,$(aes)) \
|
||||
$(patsubst %.cpp,$(OBJDIR)/%.o,$(cclasses)) \
|
||||
$(patsubst %.cpp,$(OBJDIR)/%.o,$(vclasses)) \
|
24
utils/openzwave/patches/902_no-udev.patch
Normal file
24
utils/openzwave/patches/902_no-udev.patch
Normal file
|
@ -0,0 +1,24 @@
|
|||
--- a/cpp/src/platform/unix/SerialControllerImpl.cpp
|
||||
+++ b/cpp/src/platform/unix/SerialControllerImpl.cpp
|
||||
@@ -34,10 +34,6 @@
|
||||
#include "SerialControllerImpl.h"
|
||||
#include "platform/Log.h"
|
||||
|
||||
-#ifdef __linux__
|
||||
-#include <libudev.h>
|
||||
-#endif
|
||||
-
|
||||
using namespace OpenZWave;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
--- a/cpp/build/Makefile
|
||||
+++ b/cpp/build/Makefile
|
||||
@@ -59,7 +59,7 @@ endif
|
||||
|
||||
else
|
||||
LDFLAGS += -shared -Wl,-soname,libopenzwave.so.$(VERSION)
|
||||
-LIBS += -ludev
|
||||
+LIBS +=
|
||||
endif
|
||||
CFLAGS += $(CPPFLAGS)
|
||||
|
Loading…
Reference in a new issue