From 06b6807488a2768c149b3ec747af89bf52c08135 Mon Sep 17 00:00:00 2001 From: Lukas Rusak Date: Thu, 7 Apr 2016 21:03:42 +0300 Subject: [PATCH] hyperion: enable protobuf/v4l2 and clean up --- packages/addons/service/hyperion/package.mk | 28 ++++++++---- ...on-0001-Use-protobuf-from-pkg-config.patch | 44 +++++++++++++++++++ 2 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 packages/addons/service/hyperion/patches/hyperion-0001-Use-protobuf-from-pkg-config.patch diff --git a/packages/addons/service/hyperion/package.mk b/packages/addons/service/hyperion/package.mk index 43834113ea..9614146cba 100644 --- a/packages/addons/service/hyperion/package.mk +++ b/packages/addons/service/hyperion/package.mk @@ -22,7 +22,7 @@ PKG_REV="100" PKG_LICENSE="GPL" PKG_SITE="https://github.com/tvdzwan/hyperion" PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz" -PKG_DEPENDS_TARGET="toolchain Python libusb qt" +PKG_DEPENDS_TARGET="toolchain Python libusb qt protobuf" PKG_SECTION="service" PKG_SHORTDESC="Hyperion: an AmbiLight controller" PKG_LONGDESC="Hyperion($PKG_VERSION) is an modern opensource AmbiLight implementation." @@ -59,10 +59,10 @@ configure_target() { $DISPMANX_SUPPORT \ $FB_SUPPORT \ -DENABLE_OSX=0 \ - -DENABLE_PROTOBUF=0 \ + -DENABLE_PROTOBUF=1 \ -DENABLE_SPIDEV=1 \ -DENABLE_TINKERFORGE=0 \ - -DENABLE_V4L2=0 \ + -DENABLE_V4L2=1 \ -DENABLE_WS2812BPWM=0 \ -DENABLE_WS281XPWM=1 \ $X11_SUPPORT \ @@ -78,16 +78,26 @@ makeinstall_target() { addon() { mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $PKG_BUILD/.$TARGET_NAME/bin/hyperiond $ADDON_BUILD/$PKG_ADDON_ID/bin - cp -P $PKG_BUILD/.$TARGET_NAME/bin/hyperion-remote $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 + + 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 $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 + cp -P $PKG_BUILD/config/hyperion.config.json $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/effects/* $ADDON_BUILD/$PKG_ADDON_ID/effects debug_strip $ADDON_BUILD/$PKG_ADDON_ID/bin } diff --git a/packages/addons/service/hyperion/patches/hyperion-0001-Use-protobuf-from-pkg-config.patch b/packages/addons/service/hyperion/patches/hyperion-0001-Use-protobuf-from-pkg-config.patch new file mode 100644 index 0000000000..1b5184b0d5 --- /dev/null +++ b/packages/addons/service/hyperion/patches/hyperion-0001-Use-protobuf-from-pkg-config.patch @@ -0,0 +1,44 @@ +From 0ce04b692b7c3e4414c46402c389215f7b0aac48 Mon Sep 17 00:00:00 2001 +From: Jonas Karlman +Date: Mon, 6 Apr 2015 21:47:41 +0200 +Subject: [PATCH] Use protobuf from pkg-config + +--- + dependencies/CMakeLists.txt | 20 ++------------------ + 1 file changed, 2 insertions(+), 18 deletions(-) + +diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt +index 17747bd..4406d01 100644 +--- a/dependencies/CMakeLists.txt ++++ b/dependencies/CMakeLists.txt +@@ -5,25 +5,9 @@ add_subdirectory(build/serial) + add_subdirectory(build/tinkerforge) + + if(ENABLE_PROTOBUF) +- set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared protobuf library") +- add_subdirectory(external/protobuf) ++ find_package(Protobuf REQUIRED) ++ include_directories(${PROTOBUF_INCLUDE_DIRS}) + +- if(CMAKE_CROSSCOMPILING) +- # when crosscompiling import the protoc executable targets from a file generated by a native build +- option(IMPORT_PROTOC "Protoc export file (protoc_export.cmake) from a native build" "IMPORT_PROTOC-FILE_NOT_FOUND") +- include(${IMPORT_PROTOC}) +- else() +- # export the protoc compiler so it can be used when cross compiling +- export(TARGETS protoc_compiler FILE "${CMAKE_BINARY_DIR}/protoc_export.cmake") +- endif() +- +- # define the include for the protobuf library at the parent scope +- set(PROTOBUF_INCLUDE_DIRS "${CMAKE_CURRENT_SOURCE_DIR}/external/protobuf/src") +- set(PROTOBUF_INCLUDE_DIRS ${PROTOBUF_INCLUDE_DIRS} PARENT_SCOPE) +- +- # define the protoc executable at the parent scope +- get_property(PROTOBUF_PROTOC_EXECUTABLE TARGET protoc_compiler PROPERTY LOCATION) +- set(PROTOBUF_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE} PARENT_SCOPE) + message(STATUS "Using protobuf compiler: " ${PROTOBUF_PROTOC_EXECUTABLE}) + + #============================================================================= +-- +2.3.4 +