Merge pull request #856 from lrusak/hyperion

hyperion: update to 355a324, enable qt5
This commit is contained in:
Christian Hewitt 2016-10-27 07:28:43 +04:00 committed by GitHub
commit 5cc9da5215
10 changed files with 794 additions and 164 deletions

View File

@ -1,107 +0,0 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="qt"
PKG_VERSION="4.8.7"
PKG_LICENSE="OSS"
PKG_SITE="http://qt-project.org"
PKG_URL="https://www.mirrorservice.org/sites/download.qt-project.org/official_releases/qt/4.8/${PKG_VERSION}/qt-everywhere-opensource-src-${PKG_VERSION}.tar.gz"
PKG_SOURCE_DIR="qt-everywhere-opensource-src-${PKG_VERSION}"
PKG_DEPENDS_TARGET="toolchain Python zlib:host zlib"
PKG_SHORTDESC="Qt GUI toolkit"
PKG_LONGDESC="Qt GUI toolkit"
QMAKE_CONF_DIR="mkspecs/qws/linux-openelec-g++"
QMAKE_CONF="${QMAKE_CONF_DIR}/qmake.conf"
PKG_CONFIGURE_OPTS_TARGET="-prefix /usr \
-hostprefix $SYSROOT_PREFIX \
-xplatform qws/linux-openelec-g++ \
-make libs \
-force-pkg-config \
-release \
-opensource -confirm-license \
-static \
-fast \
-no-accessibility \
-no-sql-mysql -no-sql-sqlite \
-no-qt3support \
-no-xmlpatterns \
-no-multimedia \
-no-audio-backend \
-no-phonon -no-phonon-backend \
-no-svg \
-no-webkit \
-no-javascript-jit \
-no-script \
-no-scripttools \
-no-declarative -no-declarative-debug \
-no-neon \
-system-zlib \
-no-gif \
-no-libtiff \
-no-libpng \
-no-libmng \
-no-libjpeg \
-no-openssl \
-no-rpath \
-silent \
-optimized-qmake \
-no-nis \
-no-cups \
-no-pch \
-no-dbus \
-reduce-relocations \
-reduce-exports \
-no-separate-debug-info \
-no-fontconfig \
-no-glib \
-embedded $TARGET_ARCH"
configure_target() {
cd ..
mkdir -p $QMAKE_CONF_DIR
echo "include(../../common/linux.conf)" > $QMAKE_CONF
echo "include(../../common/gcc-base-unix.conf)" >> $QMAKE_CONF
echo "include(../../common/g++-unix.conf)" >> $QMAKE_CONF
echo "include(../../common/qws.conf)" >> $QMAKE_CONF
echo "QMAKE_CC = $CC" >> $QMAKE_CONF
echo "QMAKE_CXX = $CXX" >> $QMAKE_CONF
echo "QMAKE_LINK = $CXX" >> $QMAKE_CONF
echo "QMAKE_LINK_SHLIB = $CXX" >> $QMAKE_CONF
echo "QMAKE_AR = $AR cqs" >> $QMAKE_CONF
echo "QMAKE_OBJCOPY = $OBJCOPY" >> $QMAKE_CONF
echo "QMAKE_STRIP = $STRIP" >> $QMAKE_CONF
echo "QMAKE_CFLAGS = $CFLAGS" >> $QMAKE_CONF
echo "QMAKE_CXXFLAGS = $CXXFLAGS" >> $QMAKE_CONF
echo "QMAKE_LFLAGS = $LDFLAGS" >> $QMAKE_CONF
echo "load(qt_config)" >> $QMAKE_CONF
echo '#include "../../linux-g++/qplatformdefs.h"' >> $QMAKE_CONF_DIR/qplatformdefs.h
CC="" CXX="" LD="" RANLIB="" AR="" AS="" CPPFLAGS="" CFLAGS="" LDFLAGS="" CXXFLAGS="" \
PKG_CONFIG_SYSROOT_DIR="$SYSROOT_PREFIX" \
PKG_CONFIG="$ROOT/$TOOLCHAIN/bin/pkg-config" \
PKG_CONFIG_PATH="$SYSROOT_PREFIX/usr/lib/pkgconfig" \
./configure $PKG_CONFIGURE_OPTS_TARGET
}
post_makeinstall_target() {
mkdir -p $ROOT/$TOOLCHAIN/bin
cp -P $ROOT/$PKG_BUILD/bin/qmake $ROOT/$TOOLCHAIN/bin
}

View File

@ -0,0 +1,100 @@
################################################################################
# This file is part of LibreELEC - https://libreelec.tv
# Copyright (C) 2009-2016 Lukas Rusak (lrusak@libreelec.tv)
#
# LibreELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# LibreELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with LibreELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="qtbase"
PKG_VERSION="5.6.2"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://qt-project.org"
PKG_URL="http://download.qt.io/official_releases/qt/5.6/$PKG_VERSION/submodules/$PKG_NAME-opensource-src-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="pcre zlib"
PKG_SOURCE_DIR="$PKG_NAME-opensource-src-$PKG_VERSION"
PKG_SHORTDESC="A cross-platform application and UI framework"
PKG_LONGDESC="A cross-platform application and UI framework"
PKG_AUTORECONF="no"
PKG_CONFIGURE_OPTS_TARGET="-prefix /usr
-sysroot $SYSROOT_PREFIX
-hostprefix $ROOT/$TOOLCHAIN
-device linux-libreelec-g++
-opensource -confirm-license
-release
-static
-make libs
-force-pkg-config
-no-accessibility
-no-sql-sqlite
-no-sql-mysql
-no-qml-debug
-system-zlib
-no-mtdev
-no-gif
-no-libpng
-no-libjpeg
-no-harfbuzz
-no-openssl
-no-libproxy
-system-pcre
-no-glib
-no-pulseaudio
-no-alsa
-silent
-no-cups
-no-iconv
-no-evdev
-no-tslib
-no-icu
-no-strip
-no-fontconfig
-no-dbus
-no-opengl
-no-libudev
-no-libinput
-no-gstreamer
-no-eglfs"
configure_target() {
QMAKE_CONF_DIR="mkspecs/devices/linux-libreelec-g++"
QMAKE_CONF="${QMAKE_CONF_DIR}/qmake.conf"
cd ..
mkdir -p $QMAKE_CONF_DIR
echo "MAKEFILE_GENERATOR = UNIX" > $QMAKE_CONF
echo "CONFIG += incremental" >> $QMAKE_CONF
echo "QMAKE_INCREMENTAL_STYLE = sublib" >> $QMAKE_CONF
echo "include(../../common/linux.conf)" >> $QMAKE_CONF
echo "include(../../common/gcc-base-unix.conf)" >> $QMAKE_CONF
echo "include(../../common/g++-unix.conf)" >> $QMAKE_CONF
echo "load(device_config)" >> $QMAKE_CONF
echo "QMAKE_CC = $CC" >> $QMAKE_CONF
echo "QMAKE_CXX = $CXX" >> $QMAKE_CONF
echo "QMAKE_LINK = $CXX" >> $QMAKE_CONF
echo "QMAKE_LINK_SHLIB = $CXX" >> $QMAKE_CONF
echo "QMAKE_AR = $AR cqs" >> $QMAKE_CONF
echo "QMAKE_OBJCOPY = $OBJCOPY" >> $QMAKE_CONF
echo "QMAKE_NM = $NM -P" >> $QMAKE_CONF
echo "QMAKE_STRIP = $STRIP" >> $QMAKE_CONF
echo "QMAKE_CFLAGS = $CFLAGS" >> $QMAKE_CONF
echo "QMAKE_CXXFLAGS = $CXXFLAGS" >> $QMAKE_CONF
echo "QMAKE_LFLAGS = $LDFLAGS" >> $QMAKE_CONF
echo "load(qt_config)" >> $QMAKE_CONF
echo '#include "../../linux-g++/qplatformdefs.h"' >> $QMAKE_CONF_DIR/qplatformdefs.h
unset CC CXX LD RANLIB AR AS CPPFLAGS CFLAGS LDFLAGS CXXFLAGS
./configure $PKG_CONFIGURE_OPTS_TARGET
}

View File

@ -1,3 +1,8 @@
8.0.103
- Update to version 355a324
- Build with QT5
- Enable webserver
8.0.102 8.0.102
- Update to version 85fcec3 - Update to version 85fcec3

View File

@ -17,12 +17,12 @@
################################################################################ ################################################################################
PKG_NAME="hyperion" PKG_NAME="hyperion"
PKG_VERSION="85fcec3" PKG_VERSION="355a324"
PKG_REV="102" PKG_REV="103"
PKG_LICENSE="GPL" PKG_LICENSE="GPL"
PKG_SITE="https://github.com/tvdzwan/hyperion" PKG_SITE="https://github.com/hyperion-project/hyperion"
PKG_URL="https://github.com/tvdzwan/hyperion/archive/$PKG_VERSION.tar.gz" PKG_URL="https://github.com/hyperion-project/hyperion/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python libusb qt protobuf rpi_ws281x" PKG_DEPENDS_TARGET="toolchain Python libusb qtbase protobuf rpi_ws281x"
PKG_SECTION="service" PKG_SECTION="service"
PKG_SHORTDESC="Hyperion: an AmbiLight controller" PKG_SHORTDESC="Hyperion: an AmbiLight controller"
PKG_LONGDESC="Hyperion($PKG_VERSION) is an modern opensource AmbiLight implementation." PKG_LONGDESC="Hyperion($PKG_VERSION) is an modern opensource AmbiLight implementation."
@ -62,14 +62,14 @@ PKG_CMAKE_OPTS_TARGET="-DQT_QMAKE_EXECUTABLE=$ROOT/$TOOLCHAIN/bin/qmake \
$DISPMANX_SUPPORT \ $DISPMANX_SUPPORT \
$FB_SUPPORT \ $FB_SUPPORT \
-DENABLE_OSX=0 \ -DENABLE_OSX=0 \
-DUSE_SYSTEM_PROTO_LIBS=ON \ -DUSE_SYSTEM_PROTO_LIBS=1 \
-DENABLE_SPIDEV=1 \ -DENABLE_SPIDEV=1 \
-DENABLE_TINKERFORGE=0 \ -DENABLE_TINKERFORGE=0 \
-DENABLE_V4L2=1 \ -DENABLE_V4L2=1 \
-DENABLE_WS2812BPWM=0 \ -DENABLE_WS2812BPWM=0 \
-DENABLE_WS281XPWM=1 \ -DENABLE_WS281XPWM=1 \
$X11_SUPPORT \ $X11_SUPPORT \
-DENABLE_QT5=0 \ -DENABLE_QT5=1 \
-DENABLE_TESTS=0 \ -DENABLE_TESTS=0 \
-Wno-dev" -Wno-dev"
@ -79,26 +79,10 @@ makeinstall_target() {
addon() { addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp $PKG_BUILD/.$TARGET_NAME/bin/hyperiond $ADDON_BUILD/$PKG_ADDON_ID/bin cp $PKG_BUILD/.$TARGET_NAME/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin
cp $PKG_BUILD/.$TARGET_NAME/bin/hyperion-remote $ADDON_BUILD/$PKG_ADDON_ID/bin
cp $PKG_BUILD/.$TARGET_NAME/bin/hyperion-v4l2 $ADDON_BUILD/$PKG_ADDON_ID/bin
if [ "$KODIPLAYER_DRIVER" = "libamcodec" ]; then cp -PR $PKG_BUILD/assets/webconfig $ADDON_BUILD/$PKG_ADDON_ID
cp $PKG_BUILD/.$TARGET_NAME/bin/hyperion-aml $ADDON_BUILD/$PKG_ADDON_ID/bin cp -PR $PKG_BUILD/effects $ADDON_BUILD/$PKG_ADDON_ID
cp $PKG_BUILD/.$TARGET_NAME/bin/hyperion-framebuffer $ADDON_BUILD/$PKG_ADDON_ID/bin
elif [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
cp $PKG_BUILD/.$TARGET_NAME/bin/hyperion-dispmanx $ADDON_BUILD/$PKG_ADDON_ID/bin
elif [ "$DISPLAYSERVER" = "x11" ]; then
cp $PKG_BUILD/.$TARGET_NAME/bin/hyperion-x11 $ADDON_BUILD/$PKG_ADDON_ID/bin
fi
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config
cp -P $PKG_BUILD/config/hyperion.config.json.example $ADDON_BUILD/$PKG_ADDON_ID/config/hyperion.config.json.sample
sed -i -e "s,/opt/hyperion/effects,/storage/.kodi/addons/service.hyperion/effects,g" \
$ADDON_BUILD/$PKG_ADDON_ID/config/hyperion.config.json.sample
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/effects
cp -PR $PKG_BUILD/effects/* $ADDON_BUILD/$PKG_ADDON_ID/effects
debug_strip $ADDON_BUILD/$PKG_ADDON_ID/bin debug_strip $ADDON_BUILD/$PKG_ADDON_ID/bin
} }

View File

@ -0,0 +1,220 @@
diff -Naur a/libsrc/boblightserver/CMakeLists.txt b/libsrc/boblightserver/CMakeLists.txt
--- a/libsrc/boblightserver/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/boblightserver/CMakeLists.txt 2016-10-19 14:11:32.946486260 -0700
@@ -37,4 +37,4 @@
target_link_libraries(boblightserver
hyperion
hyperion-utils
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff -Naur a/libsrc/bonjour/CMakeLists.txt b/libsrc/bonjour/CMakeLists.txt
--- a/libsrc/bonjour/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/bonjour/CMakeLists.txt 2016-10-19 14:11:32.945486250 -0700
@@ -43,7 +43,7 @@
target_link_libraries(bonjour
hyperion
hyperion-utils
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
set(USE_SHARED_AVAHI_LIBS ${DEFAULT_USE_SHARED_AVAHI_LIBS} CACHE BOOL "use avahi libraries from system")
diff -Naur a/libsrc/effectengine/CMakeLists.txt b/libsrc/effectengine/CMakeLists.txt
--- a/libsrc/effectengine/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/effectengine/CMakeLists.txt 2016-10-19 14:11:32.946486260 -0700
@@ -51,5 +51,5 @@
target_link_libraries(effectengine
hyperion
jsoncpp
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
${PYTHON_LIBRARIES})
diff -Naur a/libsrc/grabber/amlogic/CMakeLists.txt b/libsrc/grabber/amlogic/CMakeLists.txt
--- a/libsrc/grabber/amlogic/CMakeLists.txt 2016-10-19 13:53:03.326320836 -0700
+++ b/libsrc/grabber/amlogic/CMakeLists.txt 2016-10-19 14:11:32.947486270 -0700
@@ -37,4 +37,4 @@
target_link_libraries(amlogic-grabber
hyperion
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff -Naur a/libsrc/grabber/dispmanx/CMakeLists.txt b/libsrc/grabber/dispmanx/CMakeLists.txt
--- a/libsrc/grabber/dispmanx/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/grabber/dispmanx/CMakeLists.txt 2016-10-19 14:11:32.948486280 -0700
@@ -36,6 +36,6 @@
target_link_libraries(dispmanx-grabber
hyperion
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
${BCM_LIBRARIES}
)
diff -Naur a/libsrc/grabber/framebuffer/CMakeLists.txt b/libsrc/grabber/framebuffer/CMakeLists.txt
--- a/libsrc/grabber/framebuffer/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/grabber/framebuffer/CMakeLists.txt 2016-10-19 14:11:32.948486280 -0700
@@ -36,4 +36,4 @@
target_link_libraries(framebuffer-grabber
hyperion
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff -Naur a/libsrc/grabber/osx/CMakeLists.txt b/libsrc/grabber/osx/CMakeLists.txt
--- a/libsrc/grabber/osx/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/grabber/osx/CMakeLists.txt 2016-10-19 14:11:32.949486290 -0700
@@ -31,4 +31,4 @@
target_link_libraries(osx-grabber
hyperion
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff -Naur a/libsrc/grabber/v4l2/CMakeLists.txt b/libsrc/grabber/v4l2/CMakeLists.txt
--- a/libsrc/grabber/v4l2/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/grabber/v4l2/CMakeLists.txt 2016-10-19 14:11:32.947486270 -0700
@@ -35,5 +35,5 @@
target_link_libraries(v4l2-grabber
hyperion
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
diff -Naur a/libsrc/grabber/x11/CMakeLists.txt b/libsrc/grabber/x11/CMakeLists.txt
--- a/libsrc/grabber/x11/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/grabber/x11/CMakeLists.txt 2016-10-19 14:11:32.948486280 -0700
@@ -37,5 +37,5 @@
target_link_libraries(x11-grabber
hyperion
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
diff -Naur a/libsrc/hyperion/CMakeLists.txt b/libsrc/hyperion/CMakeLists.txt
--- a/libsrc/hyperion/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/hyperion/CMakeLists.txt 2016-10-19 14:11:32.944486240 -0700
@@ -68,5 +68,5 @@
leddevice
effectengine
serialport
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
diff -Naur a/libsrc/jsonserver/CMakeLists.txt b/libsrc/jsonserver/CMakeLists.txt
--- a/libsrc/jsonserver/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/jsonserver/CMakeLists.txt 2016-10-19 14:11:32.946486260 -0700
@@ -45,4 +45,4 @@
hyperion
hyperion-utils
jsoncpp
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff -Naur a/libsrc/leddevice/CMakeLists.txt b/libsrc/leddevice/CMakeLists.txt
--- a/libsrc/leddevice/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/leddevice/CMakeLists.txt 2016-10-19 14:11:32.947486270 -0700
@@ -152,7 +152,7 @@
serialport
${LIBUSB_1_LIBRARIES} #apt-get install libusb-1.0-0-dev
${CMAKE_THREAD_LIBS_INIT}
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
if(ENABLE_TINKERFORGE)
diff -Naur a/libsrc/protoserver/CMakeLists.txt b/libsrc/protoserver/CMakeLists.txt
--- a/libsrc/protoserver/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/protoserver/CMakeLists.txt 2016-10-19 14:11:32.944486240 -0700
@@ -57,5 +57,5 @@
hyperion
hyperion-utils
protobuf
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
diff -Naur a/libsrc/utils/CMakeLists.txt b/libsrc/utils/CMakeLists.txt
--- a/libsrc/utils/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/utils/CMakeLists.txt 2016-10-19 14:11:32.945486250 -0700
@@ -55,4 +55,4 @@
target_link_libraries(hyperion-utils
jsoncpp
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff -Naur a/libsrc/webconfig/CMakeLists.txt b/libsrc/webconfig/CMakeLists.txt
--- a/libsrc/webconfig/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/webconfig/CMakeLists.txt 2016-10-19 14:11:32.949486290 -0700
@@ -49,7 +49,7 @@
target_link_libraries(webconfig
hyperion
hyperion-utils
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
diff -Naur a/libsrc/xbmcvideochecker/CMakeLists.txt b/libsrc/xbmcvideochecker/CMakeLists.txt
--- a/libsrc/xbmcvideochecker/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/libsrc/xbmcvideochecker/CMakeLists.txt 2016-10-19 14:11:32.945486250 -0700
@@ -34,4 +34,4 @@
target_link_libraries(xbmcvideochecker
hyperion
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff -Naur a/src/hyperion-remote/CMakeLists.txt b/src/hyperion-remote/CMakeLists.txt
--- a/src/hyperion-remote/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/src/hyperion-remote/CMakeLists.txt 2016-10-19 15:05:59.050877759 -0700
@@ -34,7 +34,8 @@
target_link_libraries(${PROJECT_NAME}
jsoncpp
getoptPlusPlus
- ${QT_LIBRARIES})
+ hyperion
+ ${QT_LIBRARIES} pthread pcre16 dl z)
if(ENABLE_QT5)
qt5_use_modules(${PROJECT_NAME} Widgets Core Network)
diff -Naur a/src/hyperion-v4l2/CMakeLists.txt b/src/hyperion-v4l2/CMakeLists.txt
--- a/src/hyperion-v4l2/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/src/hyperion-v4l2/CMakeLists.txt 2016-10-19 14:11:32.950486300 -0700
@@ -51,7 +51,7 @@
hyperion-utils
protoserver
pthread
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
if(ENABLE_QT5)
diff -Naur a/test/CMakeLists.txt b/test/CMakeLists.txt
--- a/test/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/test/CMakeLists.txt 2016-10-19 14:11:32.955486350 -0700
@@ -47,11 +47,11 @@
add_executable(test_qregexp TestQRegExp.cpp)
target_link_libraries(test_qregexp
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
add_executable(test_qtscreenshot TestQtScreenshot.cpp)
target_link_libraries(test_qtscreenshot
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
if(ENABLE_QT5)
qt5_use_modules(test_qregexp Widgets)
@@ -63,7 +63,7 @@
find_package(X11 REQUIRED)
add_executable(test_x11performance TestX11Performance.cpp)
- target_link_libraries(test_x11performance ${X11_LIBRARIES} ${QT_LIBRARIES})
+ target_link_libraries(test_x11performance ${X11_LIBRARIES} ${QT_LIBRARIES} pthread pcre16 dl z)
if(ENABLE_QT5)
qt5_use_modules(test_x11performance Widgets)
endif(ENABLE_QT5)
diff -Naur a/test/dispmanx2png/CMakeLists.txt b/test/dispmanx2png/CMakeLists.txt
--- a/test/dispmanx2png/CMakeLists.txt 2016-07-17 23:44:37.000000000 -0700
+++ b/test/dispmanx2png/CMakeLists.txt 2016-10-19 14:11:32.955486350 -0700
@@ -16,4 +16,4 @@
target_link_libraries(dispmanx2png
dispmanx-grabber
getoptPlusPlus
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)

View File

@ -1,30 +0,0 @@
From f826ee510c520eec364b04d7d4f6193dff334aa2 Mon Sep 17 00:00:00 2001
From: Peter Vicman <peter.vicman@gmail.com>
Date: Thu, 30 Jun 2016 15:21:18 +0200
Subject: [PATCH] Fix compile error
error: '__builtin_isnan' is not a member of 'std'
---
libsrc/leddevice/LedDevicePhilipsHue.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libsrc/leddevice/LedDevicePhilipsHue.cpp b/libsrc/leddevice/LedDevicePhilipsHue.cpp
index fe9e359..5838534 100755
--- a/libsrc/leddevice/LedDevicePhilipsHue.cpp
+++ b/libsrc/leddevice/LedDevicePhilipsHue.cpp
@@ -105,10 +105,10 @@ CiColor PhilipsHueLight::rgbToCiColor(float red, float green, float blue) {
// Convert to x,y space.
float cx = X / (X + Y + Z);
float cy = Y / (X + Y + Z);
- if (std::isnan(cx)) {
+ if (isnan(cx)) {
cx = 0.0f;
}
- if (std::isnan(cy)) {
+ if (isnan(cy)) {
cy = 0.0f;
}
// Brightness is simply Y in the XYZ space.
--
2.7.1

View File

@ -21,4 +21,9 @@
oe_setup_addon service.hyperion oe_setup_addon service.hyperion
if [ ! -f "$ADDON_HOME/hyperion.config.json" ]; then
mkdir -p $ADDON_HOME
cp $ADDON_DIR/config/hyperion.config.json.sample $ADDON_HOME/hyperion.config.json
fi
exec hyperiond $ADDON_HOME/hyperion.config.json exec hyperiond $ADDON_HOME/hyperion.config.json

View File

@ -0,0 +1,453 @@
// This is a example config (hyperion.config.json) with comments, in any case you need to create your own one with HyperCon!
// location of all configs: /etc/hyperion
// Webpage: https://www.hyperion-project.org
{
/// Device configuration contains the following fields:
/// * 'name' : The user friendly name of the device (only used for display purposes)
/// * 'type' : The type of the device or leds (known types for now are
/// APA102, WS2801, P9813, LPD6803, LPD8806, ---------PWM---------, WS2812b (just RPi1), WS281X (RPi1, RPi2, RPi3), --------OTHER--------, PhilipsHUE, AtmoOrb, PiBlaster, Tinkerforge, FadeCandy, RawHID (USB), UDP, SEDU, TPM2, USBASP-WS2801, USBASP-WS2812, ------3rd PARTY------, Adalight, AdalightAPA102, AmbiLed, Atmo, Lightpack, Multi-Lightpack, Paintpack, Test (file), None)
/// * [device type specific configuration]
/// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
"device" :
{
"name" : "MyHyperionConfig",
"type" : "file",
"output" : "/dev/null",
"rate" : 1000000,
"colorOrder" : "rgb"
},
/// Color manipulation configuration used to tune the output colors to specific surroundings.
/// The configuration contains a list of color-transforms. Each transform contains the
/// following fields:
/// * 'channelAdjustment'
/// * 'id' : The unique identifier of the channel adjustments (eg 'device_1')
/// * 'leds' : The indices (or index ranges) of the leds to which this channel adjustment applies
/// (eg '0-5, 9, 11, 12-17'). The indices are zero based.
/// * 'pureRed'/'pureGreen'/'pureBlue' : The manipulation in the Red-Green-Blue color domain with the
/// following tuning parameters for each channel:
/// * 'temperature'
/// * 'id' : The unique identifier of the temperature (eg 'device_1')
/// * 'leds' : The indices (or index ranges) of the leds to which this temperature applies
/// (eg '0-5, 9, 11, 12-17'). The indices are zero based.
/// * 'red'/'green'/'blue' : The temperature manipulation in the Red-Green-Blue color domain with the
/// following tuning parameters for each channel:
/// * 'transform'
/// * 'id' : The unique identifier of the color transformation (eg 'device_1')
/// * 'leds' : The indices (or index ranges) of the leds to which this color transform applies
/// (eg '0-5, 9, 11, 12-17'). The indices are zero based.
/// * 'hsv' : The manipulation in the Hue-Saturation-Value color domain with the following
/// tuning parameters:
/// - 'saturationGain' The gain adjustement of the saturation
/// - 'luminanceGain' The gain adjustement of the luminance
/// - 'luminanceMinimum' The minimum luminance (backlight)
/// * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
/// following tuning parameters for each channel:
/// - 'threshold' The minimum required input value for the channel to be on
/// (else zero)
/// - 'gamma' The gamma-curve correction factor
///
/// Next to the list with color transforms there is also a smoothing option.
/// * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
/// parameters:
/// - 'type' The type of smoothing algorithm ('linear' or 'none')
/// - 'time_ms' The time constant for smoothing algorithm in milliseconds
/// - 'updateFrequency' The update frequency of the leds in Hz
/// - 'updateDelay' The delay of the output to leds (in periods of smoothing)
"color" :
{
"channelAdjustment" :
[
{
"id" : "default",
"leds" : "*",
"pureRed" :
{
"redChannel" : 255,
"greenChannel" : 0,
"blueChannel" : 0
},
"pureGreen" :
{
"redChannel" : 0,
"greenChannel" : 255,
"blueChannel" : 0
},
"pureBlue" :
{
"redChannel" : 0,
"greenChannel" : 0,
"blueChannel" : 255
}
}
],
"temperature" :
[
{
"id" : "default",
"leds" : "*",
"temperatureValues" :
{
"red" : 255,
"green" : 255,
"blue" : 255
}
}
],
"transform" :
[
{
"id" : "default",
"leds" : "*",
"hsl" :
{
"saturationGain" : 1.0000,
"luminanceGain" : 1.0000,
"luminanceMinimum" : 0.0000
},
"red" :
{
"threshold" : 0.0000,
"gamma" : 2.5000
},
"green" :
{
"threshold" : 0.0000,
"gamma" : 2.5000
},
"blue" :
{
"threshold" : 0.0000,
"gamma" : 2.5000
}
}
],
"smoothing" :
{
"type" : "linear",
"time_ms" : 200,
"updateFrequency" : 20.0000,
"updateDelay" : 0,
"continuousOutput": true
}
},
/// The black border configuration, contains the following items:
/// * enable : true if the detector should be activated
/// * threshold : Value below which a pixel is regarded as black (value between 0.0 and 1.0)
/// * unknownFrameCnt : Number of frames without any detection before the border is set to 0 (default 600)
/// * borderFrameCnt : Number of frames before a consistent detected border gets set (default 50)
/// * maxInconsistentCnt : Number of inconsistent frames that are ignored before a new border gets a chance to proof consistency
/// * blurRemoveCnt : Number of pixels that get removed from the detected border to cut away blur (default 1)
/// * mode : Border detection mode (values=default,classic,osd)
"blackborderdetector" :
{
"enable" : true,
"threshold" : 0.0,
"unknownFrameCnt" : 600,
"borderFrameCnt" : 50,
"maxInconsistentCnt" : 10,
"blurRemoveCnt" : 1,
"mode" : "default"
},
/// The configuration of the effect engine, contains the following items:
/// * paths : An array with absolute/relative location(s) of directories with effects
"effects" :
{
"paths" :
[
"/storage/.kodi/addons/service.hyperion/effects"
]
},
/// Boot sequence configuration. Start effect / set color at startup of hyperion
/// HINT inital background color is not shown, when any other grabber is active
/// * color : Set initial background color on startup -> set effect to "" (empty) and input the values [R,G,B] and set duration_ms NOT to 0 (use 1) instead
/// * effect : The effect is shown when hyperion starts
/// * duration_ms : The duration of the selected effect (0=endless)
/// * priority : The priority of the selected effect/initial background color (default=990, if duration is 0)
/// when duration > 0 => priority is set to 0, otherwise priority is set to configured value
/// HINT: lower value result in HIGHER priority!
"bootsequence" :
{
"color" : [0,0,0],
"effect" : "Rainbow swirl fast",
"duration_ms" : 3000,
"priority" : 990
},
/// Configuration of webserver integrated in hyperion.
/// * enable : enable the server or not
/// * document_root : path to hyperion webapp files
/// * port : the port where hyperion webapp is accasible
"webConfig" :
{
"enable" : true,
"document_root" : "/storage/.kodi/addons/service.hyperion/webconfig",
"port" : 8099
},
/// The configuration of the Json server which enables the json remote interface
/// * port : Port at which the json server is started
"jsonServer" :
{
"port" : 19444
},
/// The configuration of the Proto server which enables the protobuffer remote interface
/// * port : Port at which the protobuffer server is started
"protoServer" :
{
"port" : 19445
},
/// The configuration for each individual led. This contains the specification of the area
/// averaged of an input image for each led to determine its color. Each item in the list
/// contains the following fields:
/// * index: The index of the led. This determines its location in the string of leds; zero
/// being the first led.
/// * hscan: The fractional part of the image along the horizontal used for the averaging
/// (minimum and maximum inclusive)
/// * vscan: The fractional part of the image along the vertical used for the averaging
/// (minimum and maximum inclusive)
"leds" :
[
{
"index" : 0,
"hscan" : { "minimum" : 0.5000, "maximum" : 0.5625 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 1,
"hscan" : { "minimum" : 0.4375, "maximum" : 0.5000 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 2,
"hscan" : { "minimum" : 0.3750, "maximum" : 0.4375 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 3,
"hscan" : { "minimum" : 0.3125, "maximum" : 0.3750 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 4,
"hscan" : { "minimum" : 0.2500, "maximum" : 0.3125 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 5,
"hscan" : { "minimum" : 0.1875, "maximum" : 0.2500 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 6,
"hscan" : { "minimum" : 0.1250, "maximum" : 0.1875 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 7,
"hscan" : { "minimum" : 0.0625, "maximum" : 0.1250 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 8,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0625 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 9,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.8571, "maximum" : 1.0000 }
},
{
"index" : 10,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.7143, "maximum" : 0.8571 }
},
{
"index" : 11,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.5714, "maximum" : 0.7143 }
},
{
"index" : 12,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.4286, "maximum" : 0.5714 }
},
{
"index" : 13,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.2857, "maximum" : 0.4286 }
},
{
"index" : 14,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.1429, "maximum" : 0.2857 }
},
{
"index" : 15,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.1429 }
},
{
"index" : 16,
"hscan" : { "minimum" : 0.0000, "maximum" : 0.0625 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 17,
"hscan" : { "minimum" : 0.0625, "maximum" : 0.1250 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 18,
"hscan" : { "minimum" : 0.1250, "maximum" : 0.1875 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 19,
"hscan" : { "minimum" : 0.1875, "maximum" : 0.2500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 20,
"hscan" : { "minimum" : 0.2500, "maximum" : 0.3125 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 21,
"hscan" : { "minimum" : 0.3125, "maximum" : 0.3750 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 22,
"hscan" : { "minimum" : 0.3750, "maximum" : 0.4375 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 23,
"hscan" : { "minimum" : 0.4375, "maximum" : 0.5000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 24,
"hscan" : { "minimum" : 0.5000, "maximum" : 0.5625 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 25,
"hscan" : { "minimum" : 0.5625, "maximum" : 0.6250 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 26,
"hscan" : { "minimum" : 0.6250, "maximum" : 0.6875 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 27,
"hscan" : { "minimum" : 0.6875, "maximum" : 0.7500 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 28,
"hscan" : { "minimum" : 0.7500, "maximum" : 0.8125 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 29,
"hscan" : { "minimum" : 0.8125, "maximum" : 0.8750 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 30,
"hscan" : { "minimum" : 0.8750, "maximum" : 0.9375 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 31,
"hscan" : { "minimum" : 0.9375, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
},
{
"index" : 32,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.0000, "maximum" : 0.1429 }
},
{
"index" : 33,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.1429, "maximum" : 0.2857 }
},
{
"index" : 34,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.2857, "maximum" : 0.4286 }
},
{
"index" : 35,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.4286, "maximum" : 0.5714 }
},
{
"index" : 36,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.5714, "maximum" : 0.7143 }
},
{
"index" : 37,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.7143, "maximum" : 0.8571 }
},
{
"index" : 38,
"hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.8571, "maximum" : 1.0000 }
},
{
"index" : 39,
"hscan" : { "minimum" : 0.9375, "maximum" : 1.0000 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 40,
"hscan" : { "minimum" : 0.8750, "maximum" : 0.9375 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 41,
"hscan" : { "minimum" : 0.8125, "maximum" : 0.8750 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 42,
"hscan" : { "minimum" : 0.7500, "maximum" : 0.8125 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 43,
"hscan" : { "minimum" : 0.6875, "maximum" : 0.7500 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 44,
"hscan" : { "minimum" : 0.6250, "maximum" : 0.6875 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
},
{
"index" : 45,
"hscan" : { "minimum" : 0.5625, "maximum" : 0.6250 },
"vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
}
],
"endOfJson" : "endOfJson"
}

View File

@ -1,7 +1,6 @@
[Unit] [Unit]
Description=Hyperion service Description=Hyperion service
After=graphical.target After=graphical.target
ConditionPathExists=/storage/.kodi/userdata/addon_data/service.hyperion/hyperion.config.json
[Service] [Service]
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.hyperion/bin/hyperiond.start" ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.hyperion/bin/hyperiond.start"

View File

@ -41,6 +41,7 @@ PKG_CONFIGURE_OPTS_HOST="--prefix=$ROOT/$TOOLCHAIN \
PKG_CONFIGURE_OPTS_TARGET="--disable-shared \ PKG_CONFIGURE_OPTS_TARGET="--disable-shared \
--enable-static \ --enable-static \
--enable-utf8 \ --enable-utf8 \
--enable-pcre16 \
--enable-unicode-properties \ --enable-unicode-properties \
--with-gnu-ld" --with-gnu-ld"