summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/patches/open-zwave-hidapi.patch15
-rw-r--r--gnu/packages/zwave.scm9
3 files changed, 25 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index da3245ea18..74d2bafa8d 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1130,6 +1130,7 @@ dist_patch_DATA = \
%D%/packages/patches/openssl-1.1-c-rehash-in.patch \
%D%/packages/patches/openssl-c-rehash-in.patch \
%D%/packages/patches/openssl-CVE-2019-1559.patch \
+ %D%/packages/patches/open-zwave-hidapi.patch \
%D%/packages/patches/orpheus-cast-errors-and-includes.patch \
%D%/packages/patches/osip-CVE-2017-7853.patch \
%D%/packages/patches/ots-no-include-missing-file.patch \
diff --git a/gnu/packages/patches/open-zwave-hidapi.patch b/gnu/packages/patches/open-zwave-hidapi.patch
new file mode 100644
index 0000000000..fc50bfeade
--- /dev/null
+++ b/gnu/packages/patches/open-zwave-hidapi.patch
@@ -0,0 +1,15 @@
+Build against the system's HIDAPI instead of the bundled one.
+
+--- open-zwave-1.6-checkout/cpp/build/support.mk 2019-06-16 15:15:34.258331628 +0200
++++ open-zwave-1.6-checkout/cpp/build/support.mk 2019-06-16 15:15:54.698249462 +0200
+@@ -86,6 +86,10 @@ endif
+ endif
+ SED := sed
+
++# Build against the system's HIDAPI.
++CPPFLAGS += $(shell pkg-config hidapi-libusb --cflags)
++LDFLAGS += $(shell pkg-config hidapi-libusb --libs)
++
+ #determine if we are release or debug Build and set appropriate flags
+ ifeq ($(BUILD), release)
+ CFLAGS += -c $(RELEASE_CFLAGS)
diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm
index 43d1747332..f07367d264 100644
--- a/gnu/packages/zwave.scm
+++ b/gnu/packages/zwave.scm
@@ -21,9 +21,12 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix git-download)
#:use-module (guix build-system gnu)
+ #:use-module (gnu packages)
#:use-module (gnu packages base)
+ #:use-module (gnu packages libusb)
#:use-module (gnu packages linux)
#:use-module (gnu packages perl)
+ #:use-module (gnu packages pkg-config)
#:use-module (gnu packages xml))
(define-public open-zwave
@@ -39,6 +42,7 @@
(sha256
(base32
"0xgs4mmr0480c269wx9xkk67ikjzxkh8xcssrdx0f5xcl1lyd333"))
+ (patches (search-patches "open-zwave-hidapi.patch"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -52,6 +56,9 @@
(substitute* "cpp/build/Makefile"
(("LIBS \\+= -ludev")
"LIBS += -ludev -ltinyxml "))
+
+ ;; Delete the bundled HIDAPI.
+ (delete-file-recursively "cpp/hidapi")
#t))))
(build-system gnu-build-system)
(arguments
@@ -70,9 +77,11 @@
;; them.
#:tests? #f))
(native-inputs `(("which" ,which)
+ ("pkg-config" ,pkg-config)
("perl" ,perl) ;for tests
("perl-xml-simple" ,perl-xml-simple)))
(inputs `(("tinyxml" ,tinyxml)
+ ("hidapi" ,hidapi)
("eudev" ,eudev)))
(home-page "http://www.openzwave.net/")
(synopsis "Access Z-Wave devices from C++ programs")