diff --git a/packages/addons/addon-depends/qt/package.mk b/packages/addons/addon-depends/qt/package.mk deleted file mode 100644 index 07f0d33813..0000000000 --- a/packages/addons/addon-depends/qt/package.mk +++ /dev/null @@ -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 . -################################################################################ - -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 -} diff --git a/packages/addons/addon-depends/qtbase/package.mk b/packages/addons/addon-depends/qtbase/package.mk new file mode 100644 index 0000000000..f7db62fe2e --- /dev/null +++ b/packages/addons/addon-depends/qtbase/package.mk @@ -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 . +################################################################################ + +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 +} diff --git a/packages/addons/service/hyperion/changelog.txt b/packages/addons/service/hyperion/changelog.txt index 5ffbf31f92..090394e0d2 100644 --- a/packages/addons/service/hyperion/changelog.txt +++ b/packages/addons/service/hyperion/changelog.txt @@ -1,3 +1,8 @@ +8.0.103 +- Update to version 355a324 +- Build with QT5 +- Enable webserver + 8.0.102 - Update to version 85fcec3 diff --git a/packages/addons/service/hyperion/package.mk b/packages/addons/service/hyperion/package.mk index 2616a0ab13..9829c7b04b 100644 --- a/packages/addons/service/hyperion/package.mk +++ b/packages/addons/service/hyperion/package.mk @@ -17,12 +17,12 @@ ################################################################################ PKG_NAME="hyperion" -PKG_VERSION="85fcec3" -PKG_REV="102" +PKG_VERSION="355a324" +PKG_REV="103" PKG_LICENSE="GPL" -PKG_SITE="https://github.com/tvdzwan/hyperion" -PKG_URL="https://github.com/tvdzwan/hyperion/archive/$PKG_VERSION.tar.gz" -PKG_DEPENDS_TARGET="toolchain Python libusb qt protobuf rpi_ws281x" +PKG_SITE="https://github.com/hyperion-project/hyperion" +PKG_URL="https://github.com/hyperion-project/hyperion/archive/$PKG_VERSION.tar.gz" +PKG_DEPENDS_TARGET="toolchain Python libusb qtbase protobuf rpi_ws281x" PKG_SECTION="service" PKG_SHORTDESC="Hyperion: an AmbiLight controller" 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 \ $FB_SUPPORT \ -DENABLE_OSX=0 \ - -DUSE_SYSTEM_PROTO_LIBS=ON \ + -DUSE_SYSTEM_PROTO_LIBS=1 \ -DENABLE_SPIDEV=1 \ -DENABLE_TINKERFORGE=0 \ -DENABLE_V4L2=1 \ -DENABLE_WS2812BPWM=0 \ -DENABLE_WS281XPWM=1 \ $X11_SUPPORT \ - -DENABLE_QT5=0 \ + -DENABLE_QT5=1 \ -DENABLE_TESTS=0 \ -Wno-dev" @@ -79,26 +79,10 @@ makeinstall_target() { addon() { 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/hyperion-remote $ADDON_BUILD/$PKG_ADDON_ID/bin - cp $PKG_BUILD/.$TARGET_NAME/bin/hyperion-v4l2 $ADDON_BUILD/$PKG_ADDON_ID/bin + cp $PKG_BUILD/.$TARGET_NAME/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin - if [ "$KODIPLAYER_DRIVER" = "libamcodec" ]; then - cp $PKG_BUILD/.$TARGET_NAME/bin/hyperion-aml $ADDON_BUILD/$PKG_ADDON_ID/bin - 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 + cp -PR $PKG_BUILD/assets/webconfig $ADDON_BUILD/$PKG_ADDON_ID + cp -PR $PKG_BUILD/effects $ADDON_BUILD/$PKG_ADDON_ID debug_strip $ADDON_BUILD/$PKG_ADDON_ID/bin } diff --git a/packages/addons/service/hyperion/patches/hyperion-0002-add-extra-linking-libraries.patch b/packages/addons/service/hyperion/patches/hyperion-0002-add-extra-linking-libraries.patch new file mode 100644 index 0000000000..e1072f00b4 --- /dev/null +++ b/packages/addons/service/hyperion/patches/hyperion-0002-add-extra-linking-libraries.patch @@ -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) diff --git a/packages/addons/service/hyperion/patches/hyperion-0002-fix-isnan-member-std.patch b/packages/addons/service/hyperion/patches/hyperion-0002-fix-isnan-member-std.patch deleted file mode 100644 index ce608b6f84..0000000000 --- a/packages/addons/service/hyperion/patches/hyperion-0002-fix-isnan-member-std.patch +++ /dev/null @@ -1,30 +0,0 @@ -From f826ee510c520eec364b04d7d4f6193dff334aa2 Mon Sep 17 00:00:00 2001 -From: Peter Vicman -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 - diff --git a/packages/addons/service/hyperion/source/bin/hyperiond.start b/packages/addons/service/hyperion/source/bin/hyperiond.start index 4bf8f1e4e4..7961b8e3db 100644 --- a/packages/addons/service/hyperion/source/bin/hyperiond.start +++ b/packages/addons/service/hyperion/source/bin/hyperiond.start @@ -21,4 +21,9 @@ 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 diff --git a/packages/addons/service/hyperion/source/config/hyperion.config.json.sample b/packages/addons/service/hyperion/source/config/hyperion.config.json.sample new file mode 100644 index 0000000000..16ea281c5f --- /dev/null +++ b/packages/addons/service/hyperion/source/config/hyperion.config.json.sample @@ -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" +} + diff --git a/packages/addons/service/hyperion/source/system.d/service.hyperion.service b/packages/addons/service/hyperion/source/system.d/service.hyperion.service index 64f875e980..21128eb6d6 100644 --- a/packages/addons/service/hyperion/source/system.d/service.hyperion.service +++ b/packages/addons/service/hyperion/source/system.d/service.hyperion.service @@ -1,7 +1,6 @@ [Unit] Description=Hyperion service After=graphical.target -ConditionPathExists=/storage/.kodi/userdata/addon_data/service.hyperion/hyperion.config.json [Service] ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.hyperion/bin/hyperiond.start" diff --git a/packages/devel/pcre/package.mk b/packages/devel/pcre/package.mk index b0135bbf60..5c7fb4458b 100644 --- a/packages/devel/pcre/package.mk +++ b/packages/devel/pcre/package.mk @@ -41,6 +41,7 @@ PKG_CONFIGURE_OPTS_HOST="--prefix=$ROOT/$TOOLCHAIN \ PKG_CONFIGURE_OPTS_TARGET="--disable-shared \ --enable-static \ --enable-utf8 \ + --enable-pcre16 \ --enable-unicode-properties \ --with-gnu-ld"