diff options
author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-01-25 22:07:13 -0500 |
---|---|---|
committer | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2022-01-25 22:07:13 -0500 |
commit | 1a5302435ff0d2822b823f5a6fe01faa7a85c629 (patch) | |
tree | ac7810c88b560532f22d2bab2e59609cd7305c21 /gnu/packages/zwave.scm | |
parent | 3ff2ac4980dacf10087e4b42bd9fbc490591900c (diff) | |
parent | 070b8a893febd6e7d8b2b7c8c4dcebacf7845aa9 (diff) |
Merge branch 'master' into staging.
With "conflicts" solved (all in favor of master except git) in:
gnu/local.mk
gnu/packages/databases.scm
gnu/packages/glib.scm
gnu/packages/gnome.scm
gnu/packages/gnupg.scm
gnu/packages/gnuzilla.scm
gnu/packages/graphics.scm
gnu/packages/gstreamer.scm
gnu/packages/gtk.scm
gnu/packages/linux.scm
gnu/packages/machine-learning.scm
gnu/packages/networking.scm
gnu/packages/polkit.scm
gnu/packages/pulseaudio.scm
gnu/packages/rpc.scm
gnu/packages/rust.scm
gnu/packages/version-control.scm
gnu/packages/w3m.scm
Diffstat (limited to 'gnu/packages/zwave.scm')
-rw-r--r-- | gnu/packages/zwave.scm | 73 |
1 files changed, 67 insertions, 6 deletions
diff --git a/gnu/packages/zwave.scm b/gnu/packages/zwave.scm index 2019ec32df..3e99bd7687 100644 --- a/gnu/packages/zwave.scm +++ b/gnu/packages/zwave.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2019 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2021 Philip McGrath <philip@philipmcgrath.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,11 +22,14 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix git-download) #:use-module (guix build-system gnu) + #:use-module (guix build-system node) #:use-module (gnu packages) #:use-module (gnu packages base) + #:use-module (gnu packages node-xyz) #:use-module (gnu packages libusb) #:use-module (gnu packages linux) #:use-module (gnu packages perl) + #:use-module (gnu packages python) #:use-module (gnu packages pkg-config) #:use-module (gnu packages xml)) @@ -74,12 +78,9 @@ ;; the device XML database and it's not entirely clear what to get from ;; them. #:tests? #f)) - (native-inputs `(("which" ,which) - ("pkg-config" ,pkg-config) - ("perl" ,perl) ;for tests - ("perl-xml-simple" ,perl-xml-simple))) - (inputs `(("hidapi" ,hidapi) - ("eudev" ,eudev))) + (native-inputs (list which pkg-config perl ;for tests + perl-xml-simple)) + (inputs (list hidapi eudev)) (home-page "http://www.openzwave.net/") (synopsis "Access Z-Wave devices from C++ programs") (description @@ -88,3 +89,63 @@ PC controllers. It allows developers to create applications that manipulate and respond to devices on a Z-Wave network, without requiring in-depth knowledge of the Z-Wave protocol.") (license license:lgpl3+))) + +(define-public node-openzwave-shared + (package + (name "node-openzwave-shared") + (version "1.7.2") + (source + (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/OpenZWave/node-openzwave-shared") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1bqqy12dzqj05j9wsh50dmn84dddmhz0gjzvd3y20z4hpy1v8rsc")))) + (inputs + (list open-zwave node-nan)) + (native-inputs + (list which python pkg-config)) + (build-system node-build-system) + (arguments + `(#:phases + (modify-phases %standard-phases + (replace 'build + ;; For some reason, `npm install` doesn't build + ;; the addon automatically, so we do it explicitly here. + ;; We go through `npx` so the npmrc file sets the + ;; configuration up properly. + (lambda* (#:key native-inputs inputs #:allow-other-keys) + (invoke (search-input-file (or native-inputs inputs) "/bin/npx") + "--call" + (string-append + (search-input-file + (or native-inputs inputs) + "/lib/node_modules/npm/bin/node-gyp-bin/node-gyp") + " rebuild"))))))) + (home-page "https://github.com/OpenZWave/node-openzwave-shared") + (synopsis "Node.js bindings for OpenZWave") + (description + "With the @code{node-openzwave-shared} package, you can easily control +and manage your Z-Wave devices (lights, dimmers, blinds, you name it) from +within Node.js applications. This library also supports secure +devices (e.g. door locks) that require encryption. All widely used Node.js +versions are supported with the help of @code{node-nan}. + +This library is currently able to: +@itemize @bullet +@item +scan a Z-Wave network and report on connected devices; +@item +write values to Z-Wave nodes; +@item +monitor the network for changes; +@item +heal nodes and/or the network; and +@item +perform management tasks: add or remove nodes, replace failed nodes, +manage their group associations, etc. +@end itemize") + (license license:isc))) |