hyperhdr: add addon and depends

Signed-off-by: Matthias Reichl <hias@horus.com>
This commit is contained in:
Matthias Reichl 2025-02-04 16:57:49 +01:00
parent 93c0739ab8
commit 6dfa96ede9
13 changed files with 185 additions and 0 deletions

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperhdr-linalg"
PKG_VERSION="4460f1f5b85ccc81ffcf49aa450d454db58ca90e"
PKG_SHA256="fbeacd845a4121da101222112af45b2e7f4fb024ad627b4adc97aaaab2272ccb"
PKG_LICENSE="Unlicense"
PKG_SITE="https://github.com/sgorsten/linalg"
PKG_URL="https://github.com/sgorsten/linalg/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="single header, public domain, short vector math library for C++"
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperhdr-lunasvg"
PKG_VERSION="610b8bf5148a27489b4e3344b4f5617b81be38c7"
PKG_SHA256="b71a1abf80cebf909da1b0e9bc86b8e10d0281851202785ecf04761229da8275"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/sammycage/lunasvg"
PKG_URL="https://github.com/sammycage/lunasvg/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Lightweight SVG rendering library in C++"
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperhdr-mdns"
PKG_VERSION="1727be0602941a714cb6048a737f0584b1cebf3c"
PKG_SHA256="e8559095ac179ca89fee6c2de6c24cf252538485c7521a50d4f36785e22c571e"
PKG_LICENSE="Unlicense"
PKG_SITE="https://github.com/mjansson/mdns"
PKG_URL="https://github.com/mjansson/mdns/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Public domain mDNS/DNS-SD library in C"
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperhdr-nanopb"
PKG_VERSION="6cfe48d6f1593f8fa5c0f90437f5e6522587745e"
PKG_SHA256="556899aeba86a151a0c27b85234cc1918b8278d90d482aaeb58207da5720dd4a"
PKG_LICENSE="Zlib"
PKG_SITE="https://github.com/nanopb/nanopb"
PKG_URL="https://github.com/nanopb/nanopb/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Protocol Buffers for Embedded Systems"
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperhdr-qmqtt"
PKG_VERSION="6476bf68edc4840fbe4395838a27d1b06f9f84ec"
PKG_SHA256="8a8dfdb77391a565cb086708557a4f96db4b8186cd316bca6e8fd1a41611bb7f"
PKG_LICENSE="EPL-1.0"
PKG_SITE="https://github.com/emqx/qmqtt"
PKG_URL="https://github.com/emqx/qmqtt/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="MQTT client for Qt 5 in maintenance status"
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperhdr-sdbus-cpp"
PKG_VERSION="b7d85f936d622299ee57966c2b2aefde5e4f3684"
PKG_SHA256="1ab2c8b6ee551fe6cd5afe75660cf88ebf9094b1132a5823bb84a65a14fd821c"
PKG_LICENSE="LGPL-2.1"
PKG_SITE="https://github.com/Kistler-Group/sdbus-cpp"
PKG_URL="https://github.com/Kistler-Group/sdbus-cpp/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="single-file public domain (or MIT licensed) libraries for C/C++"
PKG_TOOLCHAIN="manual"

View File

@ -0,0 +1,12 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperhdr-stb"
PKG_VERSION="f7f20f39fe4f206c6f19e26ebfef7b261ee59ee4"
PKG_SHA256="76bbeda8d27488b8520e2c05b722c6f2500530ac41de3240d364a2ad800eb273"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/nothings/stb"
PKG_URL="https://github.com/nothings/stb/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="single-file public domain (or MIT licensed) libraries for C/C++"
PKG_TOOLCHAIN="manual"

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@ -0,0 +1,71 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperhdr"
PKG_VERSION="21.0.0.0beta2"
PKG_SHA256="7ef919e10b903541f138685bb0fef0a14a4c2b36e925b61aceb9c76472385511"
PKG_REV="0"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/awawa-dev/HyperHDR"
PKG_URL="https://github.com/awawa-dev/HyperHDR/archive/v${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain flatbuffers:host alsa-lib libjpeg-turbo qt5 systemd rpi_ws281x zstd \
hyperhdr-linalg hyperhdr-lunasvg hyperhdr-mdns hyperhdr-nanopb hyperhdr-qmqtt \
hyperhdr-sdbus-cpp hyperhdr-stb"
PKG_TOOLCHAIN="cmake"
PKG_SECTION="service"
PKG_SHORTDESC="HyperHDR: an ambient lighting controller"
PKG_LONGDESC="HyperHDR (${PKG_VERSION}) is a highly optimized opensource ambient lighting implementation"
PKG_BUILD_FLAGS="-sysroot"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="HyperHDR"
PKG_ADDON_TYPE="xbmc.service"
if [ "${PROJECT}" = "ARM" -o "${PROJECT}" = "RPi" ]; then
PKG_WS281X="-DENABLE_WS281XPWM=ON"
else
PKG_WS281X="-DENABLE_WS281XPWM=OFF"
fi
PKG_CMAKE_OPTS_TARGET="-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
-DCMAKE_BUILD_TYPE=Release \
-DENABLE_CEC=OFF \
-DENABLE_FRAMEBUFFER=OFF \
-DENABLE_PIPEWIRE=OFF \
-DENABLE_POWER_MANAGEMENT=ON \
-DENABLE_SYSTRAY=OFF \
-DENABLE_X11=OFF \
-DENABLE_ZSTD=ON \
${PKG_WS281X} \
-DPLATFORM=linux \
-DUSE_CCACHE_CACHING=OFF \
-DUSE_PRECOMPILED_HEADERS=OFF \
-DUSE_SHARED_LIBS=OFF \
-DUSE_STATIC_QT_PLUGINS=ON \
-DUSE_SYSTEM_FLATBUFFERS_LIBS=OFF \
-DFLATBUFFERS_FLATC_EXECUTABLE=${TOOLCHAIN}/bin/flatc \
-Wno-dev"
pre_configure_target() {
pkg_flatbuffers_version=$(get_pkg_version flatbuffers)
tar --strip-components=1 -xf "${SOURCES}/flatbuffers/flatbuffers-${pkg_flatbuffers_version}.tar.gz" -C "${PKG_BUILD}/external/flatbuffers"
cp -a $(get_build_dir rpi_ws281x)/* ${PKG_BUILD}/external/rpi_ws281x
cp -a $(get_build_dir hyperhdr-lunasvg)/* ${PKG_BUILD}/external/lunasvg
cp -a $(get_build_dir hyperhdr-nanopb)/* ${PKG_BUILD}/external/nanopb
cp -a $(get_build_dir hyperhdr-stb)/* ${PKG_BUILD}/external/stb
cp -a $(get_build_dir hyperhdr-linalg)/* ${PKG_BUILD}/external/linalg
cp -a $(get_build_dir hyperhdr-mdns)/* ${PKG_BUILD}/external/mdns
cp -a $(get_build_dir hyperhdr-qmqtt)/* ${PKG_BUILD}/external/qmqtt
cp -a $(get_build_dir hyperhdr-sdbus-cpp)/* ${PKG_BUILD}/external/sdbus-cpp
}
addon() {
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
cp ${PKG_INSTALL}/usr/share/hyperhdr/bin/hyperhdr ${ADDON_BUILD}/${PKG_ADDON_ID}/bin
patchelf --add-rpath '$ORIGIN/../lib.private' ${ADDON_BUILD}/${PKG_ADDON_ID}/bin/hyperhdr
mkdir -p ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
cp -p $(get_install_dir zstd)/usr/lib/libzstd.so.1 ${ADDON_BUILD}/${PKG_ADDON_ID}/lib.private
}

View File

@ -0,0 +1,10 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
. /etc/profile
oe_setup_addon service.hyperhdr
exec hyperhdr --userdata "${ADDON_HOME}"

View File

@ -0,0 +1,7 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2025-present Team LibreELEC (https://libreelec.tv)
import xbmc
monitor = xbmc.Monitor()
monitor.waitForAbort()

Binary file not shown.

After

Width:  |  Height:  |  Size: 625 KiB

View File

@ -0,0 +1,13 @@
[Unit]
Description=HyperHDR service
After=graphical.target
[Service]
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.hyperhdr/bin/hyperhdr.start"
TimeoutStopSec=2
Restart=always
RestartSec=10
StartLimitInterval=0
[Install]
WantedBy=default.target