Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
  • Loading branch information
CvH committed Oct 27, 2018
1 parent 46f6d4e commit cfc0e82
Show file tree
Hide file tree
Showing 17 changed files with 979 additions and 0 deletions.
30 changes: 30 additions & 0 deletions packages/addons/addon-depends/pcre2/package.mk
@@ -0,0 +1,30 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)

PKG_NAME="pcre2"
PKG_VERSION="10.32"
PKG_SHA256="f29e89cc5de813f45786580101aaee3984a65818631d4ddbda7b32f699b87c2e"
PKG_LICENSE="BSD"
PKG_SITE="http://www.pcre.org/"
PKG_URL="https://ftp.pcre.org/pub/pcre/$PKG_NAME-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="The PCRE library is a set of functions that implement regular expression pattern matching using the same syntax."
PKG_TOOLCHAIN="configure"
PKG_BUILD_FLAGS="+pic"

PKG_CONFIGURE_OPTS_HOST="--prefix=$TOOLCHAIN \
--enable-utf8 \
--enable-unicode-properties \
--with-gnu-ld"

PKG_CONFIGURE_OPTS_TARGET="--disable-shared \
--enable-static \
--enable-utf8 \
--enable-pcre2-16 \
--enable-unicode-properties \
--with-gnu-ld"

post_makeinstall_target() {
rm -rf $INSTALL/usr/bin
sed -e "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" -i $SYSROOT_PREFIX/usr/bin/$PKG_NAME-config
}
109 changes: 109 additions & 0 deletions packages/addons/addon-depends/qt-everywhere/package.mk
@@ -0,0 +1,109 @@
PKG_NAME="qt-everywhere"
PKG_VERSION="5.11.2"
PKG_SHA256="c6104b840b6caee596fa9a35bc5f57f67ed5a99d6a36497b6fe66f990a53ca81"
PKG_ARCH="x86_64"
PKG_LICENSE="GPL"
PKG_SITE="http://qt-project.org"
PKG_URL="http://download.qt.io/archive/qt/${PKG_VERSION%.*}/$PKG_VERSION/single/$PKG_NAME-src-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain pcre2 zlib"
PKG_LONGDESC="A cross-platform application and UI framework"

PKG_CONFIGURE_OPTS_TARGET="-prefix /usr
-sysroot $SYSROOT_PREFIX
-hostprefix $TOOLCHAIN
-device linux-libreelec-g++
-opensource -confirm-license
-release
-static
-make libs
-force-pkg-config
-no-accessibility
-no-sql-sqlite
-no-sql-mysql
-system-zlib
-no-mtdev
-no-gif
-no-libpng
-no-libjpeg
-no-harfbuzz
-no-libproxy
-system-pcre
-no-glib
-silent
-no-cups
-no-iconv
-no-evdev
-no-tslib
-no-icu
-no-strip
-no-fontconfig
-no-dbus
-no-opengl
-no-libudev
-no-libinput
-no-eglfs
-skip qt3d
-skip qtactiveqt
-skip qtandroidextras
-skip qtcanvas3d
-skip qtcharts
-skip qtconnectivity
-skip qtdatavis3d
-skip qtdeclarative
-skip qtdoc
-skip qtgamepad
-skip qtgraphicaleffects
-skip qtimageformats
-skip qtlocation
-skip qtmacextras
-skip qtmultimedia
-skip qtquickcontrols
-skip qtquickcontrols2
-skip qtremoteobjects
-skip qtscript
-skip qtscxml
-skip qtsensors
-skip qtserialbus
-skip qtspeech
-skip qtsvg
-skip qttranslations
-skip qtvirtualkeyboard
-skip qtwayland
-skip qtwebchannel
-skip qtwebengine
-skip qtwebsockets
-skip qtwebview
-skip qtwinextras
-skip qtx11extras
-skip qtxmlpatterns"

configure_target() {
QMAKE_CONF_DIR="qtbase/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
}
@@ -0,0 +1,12 @@
--- a/qtbase/mkspecs/common/gcc-base.conf
+++ b/qtbase/mkspecs/common/gcc-base.conf
@@ -46,7 +46,7 @@
QMAKE_CFLAGS_SHLIB += $$QMAKE_CFLAGS_PIC
QMAKE_CFLAGS_STATIC_LIB += $$QMAKE_CFLAGS_PIC
QMAKE_CFLAGS_APP += $$QMAKE_CFLAGS_PIC
-QMAKE_CFLAGS_ISYSTEM = -isystem
+QMAKE_CFLAGS_ISYSTEM = -I
QMAKE_CFLAGS_YACC += -Wno-unused -Wno-parentheses
QMAKE_CFLAGS_HIDESYMS += -fvisibility=hidden
QMAKE_CFLAGS_EXCEPTIONS_OFF += -fno-exceptions

2 changes: 2 additions & 0 deletions packages/addons/service/hyperion.ng/changelog.txt
@@ -0,0 +1,2 @@
100
- Initial Release @e438bc6
Binary file added packages/addons/service/hyperion.ng/icon/icon.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
76 changes: 76 additions & 0 deletions packages/addons/service/hyperion.ng/package.mk
@@ -0,0 +1,76 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2018 CoreELEC (https://coreelec.org)
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)

PKG_NAME="hyperion.ng"
PKG_VERSION="1860f6166c1883827ea3ffcfb0181b2389550f6d"
PKG_SHA256="6b2505c8099d3cbbd2c561b47c6f63992a2acfb01d19093573d93ee07bc9a2c9"
PKG_REV="100"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/hyperion-project/hyperion.ng"
PKG_URL="https://github.com/hyperion-project/hyperion.ng/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain avahi libusb protobuf Python3 qt-everywhere"
PKG_SECTION="service"
PKG_SHORTDESC="Hyperion.NG: an AmbiLight controller"
PKG_LONGDESC="Hyperion.NG($PKG_VERSION) is an modern opensource AmbiLight implementation."

PKG_IS_ADDON="yes"
PKG_ADDON_NAME="Hyperion.NG"
PKG_ADDON_TYPE="xbmc.service"

# Setting default values
PKG_PLATFORM="-DPLATFORM=x86"
PKG_AMLOGIC_SUPPORT="-DENABLE_AMLOGIC=0"
PKG_DISPMANX_SUPPORT="-DENABLE_DISPMANX=0"
PKG_FB_SUPPORT="-DENABLE_FB=1"
PKG_X11_SUPPORT="-DENABLE_X11=0"
PKG_DENABLE_WS281XPWM="-DENABLE_WS281XPWM=0"

if [ "$KODIPLAYER_DRIVER" = "libamcodec" ]; then
PKG_PLATFORM="-DPLATFORM=amlogic"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libamcodec"
PKG_AMLOGIC_SUPPORT="-DENABLE_AMLOGIC=1"
elif [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
PKG_PLATFORM="-DPLATFORM=rpi"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver rpi_ws281x"
PKG_DISPMANX_SUPPORT="-DENABLE_DISPMANX=1"
PKG_FB_SUPPORT="-DENABLE_FB=0"
PKG_DENABLE_WS281XPWM="-DENABLE_WS281XPWM=1"
elif [ "$DISPLAYSERVER" = "x11" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET xorg-server xrandr"
PKG_X11_SUPPORT="-DENABLE_X11=1"
fi

pre_configure_target() {
echo "" > ../cmake/FindGitVersion.cmake
CFLAGS="$CFLAGS -lpcre2-16"
}

PKG_CMAKE_OPTS_TARGET="-DCMAKE_NO_SYSTEM_FROM_IMPORTED=ON \
-DCMAKE_BUILD_TYPE=Release\
-DUSE_SHARED_AVAHI_LIBS=ON\
-DUSE_SYSTEM_PROTO_LIBS=1 \
$PKG_PLATFORM \
$PKG_AMLOGIC_SUPPORT \
$PKG_DISPMANX_SUPPORT \
$PKG_FB_SUPPORT \
$PKG_DENABLE_WS281XPWM \
$PKG_X11_SUPPORT \
-DENABLE_OSX=0 \
-DENABLE_SPIDEV=1 \
-DENABLE_TINKERFORGE=0 \
-DENABLE_V4L2=1 \
-DENABLE_QT5=1 \
-DENABLE_TESTS=0 \
-Wno-dev"

makeinstall_target() {
:
}

addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp $PKG_BUILD/.$TARGET_NAME/bin/* $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -PR $PKG_BUILD/assets/webconfig $ADDON_BUILD/$PKG_ADDON_ID
cp -PR $PKG_BUILD/effects $ADDON_BUILD/$PKG_ADDON_ID
}
@@ -0,0 +1,86 @@
diff --git a/libsrc/boblightserver/CMakeLists.txt b/libsrc/boblightserver/CMakeLists.txt
index 1587d4d..859b09a 100644
--- a/libsrc/boblightserver/CMakeLists.txt
+++ b/libsrc/boblightserver/CMakeLists.txt
@@ -10,5 +10,5 @@ add_library(boblightserver ${BoblightServer_SOURCES} )
target_link_libraries(boblightserver
hyperion
hyperion-utils
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
diff --git a/libsrc/grabber/amlogic/CMakeLists.txt b/libsrc/grabber/amlogic/CMakeLists.txt
index 40ce2d5..cff16c1 100644
--- a/libsrc/grabber/amlogic/CMakeLists.txt
+++ b/libsrc/grabber/amlogic/CMakeLists.txt
@@ -15,4 +15,4 @@ add_library(amlogic-grabber ${AmlogicSOURCES} )

target_link_libraries(amlogic-grabber
hyperion
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff --git a/libsrc/grabber/dispmanx/CMakeLists.txt b/libsrc/grabber/dispmanx/CMakeLists.txt
index 187de70..5a16e68 100644
--- a/libsrc/grabber/dispmanx/CMakeLists.txt
+++ b/libsrc/grabber/dispmanx/CMakeLists.txt
@@ -17,6 +17,6 @@ add_library(dispmanx-grabber ${DispmanxGrabberSOURCES} )

target_link_libraries(dispmanx-grabber
hyperion
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
${BCM_LIBRARIES}
)
diff --git a/libsrc/grabber/framebuffer/CMakeLists.txt b/libsrc/grabber/framebuffer/CMakeLists.txt
index af1368f..b31b14e 100644
--- a/libsrc/grabber/framebuffer/CMakeLists.txt
+++ b/libsrc/grabber/framebuffer/CMakeLists.txt
@@ -8,4 +8,4 @@ add_library(framebuffer-grabber ${FramebufferGrabberSOURCES} )

target_link_libraries(framebuffer-grabber
hyperion
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff --git a/libsrc/grabber/osx/CMakeLists.txt b/libsrc/grabber/osx/CMakeLists.txt
index 3a5690c..5de6359 100644
--- a/libsrc/grabber/osx/CMakeLists.txt
+++ b/libsrc/grabber/osx/CMakeLists.txt
@@ -8,4 +8,4 @@ add_library(osx-grabber ${OsxGrabberSOURCES} )

target_link_libraries(osx-grabber
hyperion
- ${QT_LIBRARIES})
+ ${QT_LIBRARIES} pthread pcre16 dl z)
diff --git a/libsrc/grabber/v4l2/CMakeLists.txt b/libsrc/grabber/v4l2/CMakeLists.txt
index fd1fe93..026fbd8 100644
--- a/libsrc/grabber/v4l2/CMakeLists.txt
+++ b/libsrc/grabber/v4l2/CMakeLists.txt
@@ -8,5 +8,5 @@ add_library(v4l2-grabber ${V4L2_SOURCES} )

target_link_libraries(v4l2-grabber
hyperion
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
diff --git a/libsrc/hyperion/CMakeLists.txt b/libsrc/hyperion/CMakeLists.txt
index a974d91..88bde11 100644
--- a/libsrc/hyperion/CMakeLists.txt
+++ b/libsrc/hyperion/CMakeLists.txt
@@ -18,5 +18,5 @@ target_link_libraries(hyperion
leddevice
bonjour
effectengine
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z libpng.a
)
diff --git a/libsrc/udplistener/CMakeLists.txt b/libsrc/udplistener/CMakeLists.txt
index ef222d7..3b003c2 100644
--- a/libsrc/udplistener/CMakeLists.txt
+++ b/libsrc/udplistener/CMakeLists.txt
@@ -10,5 +10,5 @@ add_library(udplistener ${UDPListener_SOURCES} )
target_link_libraries(udplistener
hyperion
hyperion-utils
- ${QT_LIBRARIES}
+ ${QT_LIBRARIES} pthread pcre16 dl z
)
@@ -0,0 +1,52 @@
diff --git a/dependencies/CMakeLists.txt b/dependencies/CMakeLists.txt
index e044305..0e0ea08 100644
--- a/dependencies/CMakeLists.txt
+++ b/dependencies/CMakeLists.txt
@@ -13,7 +13,7 @@ set(USE_SYSTEM_PROTO_LIBS ${DEFAULT_USE_SYSTEM_PROTO_LIBS} CACHE BOOL "use proto

if (USE_SYSTEM_PROTO_LIBS)
find_package(Protobuf REQUIRED)
- include_directories(${PROTOBUF_INCLUDE_DIRS})
+ include_directories(${Protobuf_INCLUDE_DIRS})
else ()
set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared protobuf library")
add_subdirectory(external/protobuf)
@@ -28,15 +28,15 @@ else ()
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)
+ 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)
+ get_property(Protobuf_PROTOC_EXECUTABLE TARGET protoc_compiler PROPERTY LOCATION)
+ set(Protobuf_PROTOC_EXECUTABLE ${PROTOBUF_PROTOC_EXECUTABLE} PARENT_SCOPE)
endif()

-message(STATUS "Using protobuf compiler: " ${PROTOBUF_PROTOC_EXECUTABLE})
+message(STATUS "Using protobuf compiler: " ${Protobuf_PROTOC_EXECUTABLE})

#=============================================================================
# Copyright 2009 Kitware, Inc.
@@ -83,7 +83,7 @@ function(PROTOBUF_GENERATE_CPP SRCS HDRS)
endif()

if(CMAKE_CROSSCOMPILING OR USE_SYSTEM_PROTO_LIBS)
- set(PROTOC_DEPENDENCY ${PROTOBUF_PROTOC_EXECUTABLE})
+ set(PROTOC_DEPENDENCY ${Protobuf_PROTOC_EXECUTABLE})
else()
set(PROTOC_DEPENDENCY protoc_compiler)
endif()
@@ -100,7 +100,7 @@ function(PROTOBUF_GENERATE_CPP SRCS HDRS)
add_custom_command(
OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.cc"
"${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.pb.h"
- COMMAND ${PROTOBUF_PROTOC_EXECUTABLE}
+ COMMAND ${Protobuf_PROTOC_EXECUTABLE}
ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} ${_protobuf_include_path} ${ABS_FIL}
DEPENDS ${ABS_FIL} ${PROTOC_DEPENDENCY}
COMMENT "Running C++ protocol buffer compiler on ${FIL}"
@@ -0,0 +1,11 @@
diff -Naur build.LibreELEC-Generic.x86_64-9.0-devel/org_hyperion-355a324/include/utils/Image.h build.LibreELEC-Generic.x86_64-9.0-devel/hyperion-355a324/include/utils/Image.h
--- org_hyperion-355a324/include/utils/Image.h 2016-09-06 22:58:55.000000000 +0200
+++ hyperion-355a324/include/utils/Image.h 2017-05-30 18:18:06.043345976 +0200
@@ -2,6 +2,7 @@

// STL includes
#include <vector>
+#include <cassert>
#include <cstdint>
#include <cstring>
#include <algorithm>

0 comments on commit cfc0e82

Please sign in to comment.