summary refs log tree commit diff
diff options
context:
space:
mode:
authorArtturi <Artturin@artturin.com>2023-04-11 20:14:29 +0300
committerGitHub <noreply@github.com>2023-04-11 20:14:29 +0300
commit0d29297c7c4b0a7215495262d6b664dfa53a688b (patch)
tree5bf9a21c4c3b88adffa01ceee6b438b3f873665e
parentde02df957bad546f8e9a7774fe91af1d425fe3d9 (diff)
parent265bb9ebd0ca3365632ed5e0b645b4017d2d6256 (diff)
downloadnixpkgs-0d29297c7c4b0a7215495262d6b664dfa53a688b.tar
nixpkgs-0d29297c7c4b0a7215495262d6b664dfa53a688b.tar.gz
nixpkgs-0d29297c7c4b0a7215495262d6b664dfa53a688b.tar.bz2
nixpkgs-0d29297c7c4b0a7215495262d6b664dfa53a688b.tar.lz
nixpkgs-0d29297c7c4b0a7215495262d6b664dfa53a688b.tar.xz
nixpkgs-0d29297c7c4b0a7215495262d6b664dfa53a688b.tar.zst
nixpkgs-0d29297c7c4b0a7215495262d6b664dfa53a688b.zip
Merge pull request #204527 from nvmd/master+hyperion
-rw-r--r--maintainers/maintainer-list.nix6
-rw-r--r--pkgs/applications/video/hyperion-ng/default.nix56
2 files changed, 45 insertions, 17 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index 408688e9077..d368a4cf08b 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -7896,6 +7896,12 @@
     githubId = 1047859;
     name = "Kaz Wesley";
   };
+  kazenyuk = {
+    email = "kazenyuk@pm.me";
+    github = "nvmd";
+    githubId = 524492;
+    name = "Sergey Kazenyuk";
+  };
   kcalvinalvin = {
     email = "calvin@kcalvinalvin.info";
     github = "kcalvinalvin";
diff --git a/pkgs/applications/video/hyperion-ng/default.nix b/pkgs/applications/video/hyperion-ng/default.nix
index d9a1e251e4d..a1eb4086e89 100644
--- a/pkgs/applications/video/hyperion-ng/default.nix
+++ b/pkgs/applications/video/hyperion-ng/default.nix
@@ -1,51 +1,73 @@
-{ stdenv, avahi-compat, cmake, fetchFromGitHub, flatbuffers, hidapi, lib, libcec
-, libusb1, libX11, libxcb, libXrandr, mbedtls, mkDerivation, protobuf, python3
-, qtbase, qtserialport, qtsvg, qtx11extras, wrapQtAppsHook }:
+{ stdenv, lib, fetchFromGitHub
+, cmake, wrapQtAppsHook, perl
+, flatbuffers, protobuf, mbedtls
+, hidapi, libcec, libusb1
+, libX11, libxcb, libXrandr, python3
+, qtbase, qtserialport, qtsvg, qtx11extras
+, withRPiDispmanx ? false, libraspberrypi
+}:
 
-mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "hyperion.ng";
-  version = "2.0.12";
+  version = "2.0.14";
 
   src = fetchFromGitHub {
     owner = "hyperion-project";
     repo = pname;
     rev = version;
-    sha256 = "sha256-J31QaWwGNhIpnZmWN9lZEI6fC0VheY5X8fGchQqtAlQ=";
+    sha256 = "sha256-Y1PZ+YyPMZEX4fBpMG6IVT1gtXR9ZHlavJMCQ4KAenc=";
+    # needed for `dependencies/external/`:
+    # * rpi_ws281x` - not possible to use as a "system" lib
+    # * qmdnsengine - not in nixpkgs yet
+    fetchSubmodules = true;
   };
 
   buildInputs = [
-    avahi-compat
-    flatbuffers
     hidapi
-    libcec
     libusb1
     libX11
     libxcb
     libXrandr
-    mbedtls
+    flatbuffers
     protobuf
+    mbedtls
     python3
     qtbase
     qtserialport
     qtsvg
     qtx11extras
-  ];
+  ] ++ lib.optional stdenv.isLinux libcec
+    ++ lib.optional withRPiDispmanx libraspberrypi;
 
-  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  nativeBuildInputs = [
+    cmake wrapQtAppsHook
+  ] ++ lib.optional stdenv.isDarwin perl; # for macos bundle
+
+  patchPhase =  ''
+    patchShebangs test/testrunner.sh
+    patchShebangs src/hyperiond/CMakeLists.txt
+  '' ;
 
   cmakeFlags = [
     "-DCMAKE_BUILD_TYPE=Release"
-    "-DUSE_SYSTEM_MBEDTLS_LIBS=ON"
+    "-DENABLE_DEPLOY_DEPENDENCIES=OFF"
     "-DUSE_SYSTEM_FLATBUFFERS_LIBS=ON"
     "-DUSE_SYSTEM_PROTO_LIBS=ON"
-  ];
+    "-DUSE_SYSTEM_MBEDTLS_LIBS=ON"
+    # "-DUSE_SYSTEM_QMDNS_LIBS=ON"  # qmdnsengine not in nixpkgs yet
+    "-DENABLE_TESTS=ON"
+  ] ++ lib.optional (withRPiDispmanx == false) "-DENABLE_DISPMANX=OFF";
+
+  doCheck = true;
+  checkPhase = ''
+    cd ../ && ./test/testrunner.sh && cd -
+  '';
 
   meta = with lib; {
-    broken = (stdenv.isLinux && stdenv.isAarch64);
-    description = "Open Source Ambilight solution";
+    description = "An opensource Bias or Ambient Lighting implementation";
     homepage = "https://github.com/hyperion-project/hyperion.ng";
     license = licenses.mit;
-    maintainers = with maintainers; [ algram ];
+    maintainers = with maintainers; [ algram kazenyuk ];
     platforms = platforms.unix;
   };
 }