aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2022-01-02 11:38:03 -0500
committerLeo Famulari <leo@famulari.name>2022-01-06 13:18:19 -0500
commitfb8568857fbbfc46c01c47099da364639ca69d88 (patch)
treea7be760cbe34495ffd079eeb836f65498b9b4991
parent2860bb2779dbc557ab5362b531d9f497f34b41d8 (diff)
downloadguix-fb8568857fbbfc46c01c47099da364639ca69d88.tar
guix-fb8568857fbbfc46c01c47099da364639ca69d88.tar.gz
gnu: Add hueplusplus.
* gnu/packages/hardware.scm (hueplusplus): New variable. * gnu/packages/patches/hueplusplus-mbedtls.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/hardware.scm38
-rw-r--r--gnu/packages/patches/hueplusplus-mbedtls.patch20
3 files changed, 58 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 9238069f1c..4ac9036038 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1260,6 +1260,7 @@ dist_patch_DATA = \
%D%/packages/patches/helm-fix-gcc-9-build.patch \
%D%/packages/patches/http-parser-CVE-2020-8287.patch \
%D%/packages/patches/hubbub-sort-entities.patch \
+ %D%/packages/patches/hueplusplus-mbedtls.patch \
%D%/packages/patches/hurd-cross.patch \
%D%/packages/patches/hurd-xattr.patch \
%D%/packages/patches/hydra-disable-darcs-test.patch \
diff --git a/gnu/packages/hardware.scm b/gnu/packages/hardware.scm
index 28647477fe..5ba7a5e9ec 100644
--- a/gnu/packages/hardware.scm
+++ b/gnu/packages/hardware.scm
@@ -8,7 +8,7 @@
;;; Copyright © 2021 Petr Hodina <phodina@protonmail.com>
;;; Copyright © 2021 Raghav Gururajan <rg@raghavgururajan.name>
;;; Copyright © 2021 Vinicius Monego <monego@posteo.net>
-;;; Copyright © 2021 John Kehayias <john.kehayias@protonmail.com>
+;;; Copyright © 2021, 2022 John Kehayias <john.kehayias@protonmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -341,6 +341,42 @@ headsets. Currently, support is provided for adjusting sidetone, getting
battery state, controlling LEDs, and setting the inactive time.")
(license license:gpl3+)))
+(define-public hueplusplus
+ (package
+ (name "hueplusplus")
+ (version "1.1.0")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/enwi/hueplusplus")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1jy8m2a0h0kf0aw8jbniz069q9j7cx67b1zlv2vz1ymq921qk0pm"))
+ (patches
+ (search-patches "hueplusplus-mbedtls.patch"))))
+ (build-system cmake-build-system)
+ (arguments
+ `(#:tests? #f)) ;; Tests require Google's gtest and gmock
+ (inputs
+ (list mbedtls-apache))
+ (synopsis "C++ library to control Philips Hue lights")
+ (description "Hueplusplus is a library for controlling Philips Hue lights.
+Features:
+
+@itemize
+@item find bridges with SSDP or set an ip manually
+@item all common light functions (brightness, color, temperature)
+@item extended @code{alert()} functions, which alert in a specific
+color (good for notifications)
+@item supports sensors, rules, groups, scenes and schedules
+@item streaming with entertainment mode
+@item documented with doxygen
+@end itemize")
+ (home-page "https://github.com/enwi/hueplusplus")
+ (license license:lgpl3+)))
+
(define-public i7z
(let ((revision "0")
(commit "1a41ff13db747e962456ddbb5ccb2b7fc43ca0cb"))
diff --git a/gnu/packages/patches/hueplusplus-mbedtls.patch b/gnu/packages/patches/hueplusplus-mbedtls.patch
new file mode 100644
index 0000000000..894590af8d
--- /dev/null
+++ b/gnu/packages/patches/hueplusplus-mbedtls.patch
@@ -0,0 +1,20 @@
+Remove references to bundled mbedtls library to use the one from inputs.
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 1e27d21..f0eb1a5 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -85,13 +85,6 @@ endif()
+
+ set(USE_STATIC_MBEDTLS_LIBRARY ON)
+ set(USE_SHARED_MBEDTLS_LIBRARY OFF)
+-add_subdirectory("lib/mbedtls" EXCLUDE_FROM_ALL)
+-
+-# Compile the mbedtls library as a static with position independent code,
+-# because we need it for both a shared and static library
+-set_property(TARGET mbedtls PROPERTY POSITION_INDEPENDENT_CODE ON)
+-set_property(TARGET mbedcrypto PROPERTY POSITION_INDEPENDENT_CODE ON)
+-set_property(TARGET mbedx509 PROPERTY POSITION_INDEPENDENT_CODE ON)
+
+ add_subdirectory(src)
+