From 678af3f01f7bf7de475627be4ad9a82cdae41690 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 4 May 2015 21:02:03 +0300 Subject: [PATCH 1/3] new package: platform --- packages/mediacenter/platform/package.mk | 48 +++++ .../platform-01-revert-cc-badness.patch | 30 +++ .../patches/platform-02-add-PR6.patch | 199 ++++++++++++++++++ 3 files changed, 277 insertions(+) create mode 100644 packages/mediacenter/platform/package.mk create mode 100644 packages/mediacenter/platform/patches/platform-01-revert-cc-badness.patch create mode 100644 packages/mediacenter/platform/patches/platform-02-add-PR6.patch diff --git a/packages/mediacenter/platform/package.mk b/packages/mediacenter/platform/package.mk new file mode 100644 index 0000000000..2f10fb6be1 --- /dev/null +++ b/packages/mediacenter/platform/package.mk @@ -0,0 +1,48 @@ +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv) +# +# OpenELEC 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. +# +# OpenELEC 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 OpenELEC. If not, see . +################################################################################ + +PKG_NAME="platform" +PKG_VERSION="1.0.6" +PKG_REV="1" +PKG_ARCH="any" +PKG_LICENSE="GPL" +PKG_SITE="http://www.kodi.tv" +PKG_URL="http://mirrors.xbmc.org/build-deps/sources/$PKG_NAME-$PKG_VERSION.tar.gz" +PKG_DEPENDS_TARGET="toolchain" +PKG_PRIORITY="optional" +PKG_SECTION="multimedia" +PKG_SHORTDESC="platform:" +PKG_LONGDESC="platform:" + +PKG_IS_ADDON="no" +PKG_AUTORECONF="no" + +configure_target() { + cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_INSTALL_LIBDIR_NOARCH=/usr/lib \ + -DCMAKE_INSTALL_PREFIX_TOOLCHAIN=$SYSROOT_PREFIX/usr \ + -DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \ + -DBUILD_SHARED_LIBS=0 \ + .. +} + +post_makeinstall_target() { + rm -rf $INSTALL/usr +} diff --git a/packages/mediacenter/platform/patches/platform-01-revert-cc-badness.patch b/packages/mediacenter/platform/patches/platform-01-revert-cc-badness.patch new file mode 100644 index 0000000000..3e7e5ebcc7 --- /dev/null +++ b/packages/mediacenter/platform/patches/platform-01-revert-cc-badness.patch @@ -0,0 +1,30 @@ +From f91594676d1f75530addd87363ccbc6510efb84e Mon Sep 17 00:00:00 2001 +From: Stefan Saraev +Date: Fri, 8 May 2015 11:19:42 +0300 +Subject: [PATCH] revert cc badness + +this reverts upstream commit 68f8418 +--- + CMakeLists.txt | 6 ------ + 1 file changed, 6 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 73fae2e..dc3e1b5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -22,12 +22,6 @@ if(WIN32) + src/windows/os-threads.cpp) + endif() + +-set(platform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/platform") +-IF(WIN32) +- LIST(APPEND platform_INCLUDE_DIRS "${CMAKE_INSTALL_PREFIX}/include/platform/windows") +-ENDIF(WIN32) +-set(platform_LIBRARIES ${CMAKE_THREAD_LIBS_INIT}) +- + if(NOT ${CORE_SYSTEM_NAME} STREQUAL "") + if(${CORE_SYSTEM_NAME} STREQUAL "darwin" OR ${CORE_SYSTEM_NAME} STREQUAL "ios") + list(APPEND platform_LIBRARIES "-framework CoreVideo -framework IOKit") +-- +1.7.10.4 + diff --git a/packages/mediacenter/platform/patches/platform-02-add-PR6.patch b/packages/mediacenter/platform/patches/platform-02-add-PR6.patch new file mode 100644 index 0000000000..9a09e3931c --- /dev/null +++ b/packages/mediacenter/platform/patches/platform-02-add-PR6.patch @@ -0,0 +1,199 @@ +From 8ff719d94b664378f3ebb61166454eef7cb20c25 Mon Sep 17 00:00:00 2001 +From: Stephan Raue +Date: Sat, 9 May 2015 17:13:25 +0200 +Subject: [PATCH] readd sockets/cdevsocket.h, needed by IMX6 and TDA995x + +--- + CMakeLists.txt | 3 +- + src/posix/os-socket.h | 16 +++++++ + src/posix/os-types.h | 2 + + src/sockets/cdevsocket.h | 117 +++++++++++++++++++++++++++++++++++++++++++++++ + 4 files changed, 137 insertions(+), 1 deletion(-) + create mode 100644 src/sockets/cdevsocket.h + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 8164286..9f577b3 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,7 +56,8 @@ ELSE(WIN32) + src/posix/os-types.h + DESTINATION include/platform/posix) + ENDIF(WIN32) +-install(FILES src/sockets/socket.h ++install(FILES src/sockets/cdevsocket.h ++ src/sockets/socket.h + src/sockets/tcp.h + DESTINATION include/platform/sockets) + install(FILES src/threads/atomics.h +diff --git a/src/posix/os-socket.h b/src/posix/os-socket.h +index 60c8507..05888c2 100644 +--- a/src/posix/os-socket.h ++++ b/src/posix/os-socket.h +@@ -36,6 +36,7 @@ + #include "../util/timeutils.h" + #include + #include ++#include + #include + #include + #include +@@ -164,8 +165,23 @@ namespace PLATFORM + + return iBytesRead; + } ++ ++ inline int SocketIoctl(socket_t socket, int *iError, int request, void* data) ++ { ++ if (socket == INVALID_SOCKET_VALUE) ++ { ++ *iError = EINVAL; ++ return -1; ++ } ++ ++ int iReturn = ioctl(socket, request, data); ++ if (iReturn < 0) ++ *iError = errno; ++ return iReturn; ++ } + //@} + ++ + // TCP + //@{ + inline void TcpSocketClose(tcp_socket_t socket) +diff --git a/src/posix/os-types.h b/src/posix/os-types.h +index 6134080..b48f330 100644 +--- a/src/posix/os-types.h ++++ b/src/posix/os-types.h +@@ -61,6 +61,8 @@ typedef socket_t tcp_socket_t; + #define INVALID_SOCKET_VALUE (-1) + typedef socket_t serial_socket_t; + #define INVALID_SERIAL_SOCKET_VALUE (-1) ++typedef socket_t chardev_socket_t; ++#define INVALID_CHARDEV_SOCKET_VALUE (-1) + + typedef long LONG; + #if !defined(__APPLE__) +diff --git a/src/sockets/cdevsocket.h b/src/sockets/cdevsocket.h +new file mode 100644 +index 0000000..a5ac338 +--- /dev/null ++++ b/src/sockets/cdevsocket.h +@@ -0,0 +1,117 @@ ++#pragma once ++/* ++ * This file is part of the libCEC(R) library. ++ * ++ * libCEC(R) is Copyright (C) 2011-2013 Pulse-Eight Limited. All rights reserved. ++ * libCEC(R) is an original work, containing original code. ++ * ++ * libCEC(R) is a trademark of Pulse-Eight Limited. ++ * ++ * This program is dual-licensed; 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. ++ * ++ * This program 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 this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. ++ * ++ * ++ * Alternatively, you can license this library under a commercial license, ++ * please contact Pulse-Eight Licensing for more information. ++ * ++ * For more information contact: ++ * Pulse-Eight Licensing ++ * http://www.pulse-eight.com/ ++ * http://www.pulse-eight.net/ ++ */ ++ ++#include "../os.h" ++#include "../util/buffer.h" ++ ++#include ++#include ++ ++#if !defined(__WINDOWS__) ++#include ++#endif ++ ++#include "socket.h" ++ ++namespace PLATFORM ++{ ++ class CCDevSocket : public CCommonSocket ++ { ++ public: ++ CCDevSocket(const std::string &strName ) : ++ CCommonSocket(INVALID_CHARDEV_SOCKET_VALUE, strName) ++ #ifdef __WINDOWS__ ++ ,m_iCurrentReadTimeout(MAXDWORD) ++ #endif ++ {} ++ ++ virtual ~CCDevSocket(void) ++ { ++ Close(); ++ } ++ ++ virtual bool Open(uint64_t iTimeoutMs = 0) ++ { ++ (void)iTimeoutMs; ++ ++ if (IsOpen()) ++ return false; ++ ++ m_socket = open(m_strName.c_str(), O_RDWR ); ++ ++ if (m_socket == INVALID_CHARDEV_SOCKET_VALUE) ++ { ++ m_strError = strerror(errno); ++ return false; ++ } ++ ++ return true; ++ } ++ ++ virtual void Close(void) ++ { ++ if (IsOpen()) ++ { ++ SocketClose(m_socket); ++ m_socket = INVALID_CHARDEV_SOCKET_VALUE; ++ } ++ } ++ ++ virtual void Shutdown(void) ++ { ++ SocketClose(m_socket); ++ } ++ ++ virtual int Ioctl(int request, void* data) ++ { ++ return IsOpen() ? SocketIoctl(m_socket, &m_iError, request, data) : -1; ++ } ++ ++ virtual ssize_t Write(void* data, size_t len) ++ { ++ return IsOpen() ? SocketWrite(m_socket, &m_iError, data, len) : -1; ++ } ++ ++ virtual ssize_t Read(void* data, size_t len, uint64_t iTimeoutMs = 0) ++ { ++ return IsOpen() ? SocketRead(m_socket, &m_iError, data, len, iTimeoutMs) : -1; ++ } ++ ++ virtual bool IsOpen(void) ++ { ++ return m_socket != INVALID_CHARDEV_SOCKET_VALUE; ++ } ++ }; ++ ++}; ++ From 7ad44582446c84742d4760b64afe9e8f650de584 Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 4 May 2015 21:02:39 +0300 Subject: [PATCH 2/3] libcec: update to libcec-3.0.0 --- packages/devel/libcec/package.mk | 49 ++-- .../patches/libcec-00-imx6-support.patch | 250 +++++++++++------- 2 files changed, 175 insertions(+), 124 deletions(-) diff --git a/packages/devel/libcec/package.mk b/packages/devel/libcec/package.mk index 9805f89918..9d21bed724 100644 --- a/packages/devel/libcec/package.mk +++ b/packages/devel/libcec/package.mk @@ -17,46 +17,49 @@ ################################################################################ PKG_NAME="libcec" -PKG_VERSION="2.2.0" +PKG_VERSION="3.0.0" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" PKG_SITE="http://libcec.pulse-eight.com/" -PKG_URL="http://mirrors.xbmc.org/build-deps/sources/$PKG_NAME-$PKG_VERSION-3.tar.gz" -PKG_DEPENDS_TARGET="toolchain systemd lockdev" +PKG_URL="http://mirrors.xbmc.org/build-deps/sources/$PKG_NAME-$PKG_VERSION-6.tar.gz" +PKG_DEPENDS_TARGET="toolchain systemd lockdev platform" PKG_PRIORITY="optional" PKG_SECTION="system" PKG_SHORTDESC="libCEC is an open-source dual licensed library designed for communicating with the Pulse-Eight USB - CEC Adaptor" PKG_LONGDESC="libCEC is an open-source dual licensed library designed for communicating with the Pulse-Eight USB - CEC Adaptor." PKG_IS_ADDON="no" -PKG_AUTORECONF="yes" - -PKG_CONFIGURE_OPTS_TARGET="--disable-cubox --disable-exynos" +PKG_AUTORECONF="no" if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver" - - export CFLAGS="$CFLAGS \ - -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/ \ - -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux" - export CXXFLAGS="$CXXFLAGS \ - -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/ \ - -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux" - - PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-rpi \ - --with-rpi-include-path=$SYSROOT_PREFIX/usr/include \ - --with-rpi-lib-path=$SYSROOT_PREFIX/usr/lib" -else - PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-rpi" fi if [ "$KODIPLAYER_DRIVER" = "libfslvpuwrap" ]; then - PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-imx6" + EXTRA_CMAKE_OPTS="-DHAVE_IMX_API=1" else - PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --disable-imx6" + EXTRA_CMAKE_OPTS="-DHAVE_IMX_API=0" fi +configure_target() { + if [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then + export CXXFLAGS="$CXXFLAGS \ + -I$SYSROOT_PREFIX/usr/include/interface/vcos/pthreads/ \ + -I$SYSROOT_PREFIX/usr/include/interface/vmcs_host/linux" -# dont use some optimizations because of build problems - export LDFLAGS=`echo $LDFLAGS | sed -e "s|-Wl,--as-needed||"` + # detecting RPi support fails without -lvchiq_arm + export LDFLAGS="$LDFLAGS -lvchiq_arm" + fi + + cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \ + -DBUILD_SHARED_LIBS=1 \ + -DSKIP_PYTHON_WRAPPER:STRING=1 \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DCMAKE_INSTALL_LIBDIR=/usr/lib \ + -DCMAKE_INSTALL_LIBDIR_NOARCH=/usr/lib \ + -DCMAKE_INSTALL_PREFIX_TOOLCHAIN=$SYSROOT_PREFIX/usr \ + -DCMAKE_PREFIX_PATH=$SYSROOT_PREFIX/usr \ + $EXTRA_CMAKE_OPTS \ + .. +} diff --git a/packages/devel/libcec/patches/libcec-00-imx6-support.patch b/packages/devel/libcec/patches/libcec-00-imx6-support.patch index 8519abb850..2c24635c46 100644 --- a/packages/devel/libcec/patches/libcec-00-imx6-support.patch +++ b/packages/devel/libcec/patches/libcec-00-imx6-support.patch @@ -1,43 +1,33 @@ -diff -Naur libcec-2.2.0/configure.ac libcec-2.2.0.patch/configure.ac ---- libcec-2.2.0/configure.ac 2014-11-01 01:51:37.000000000 +0100 -+++ libcec-2.2.0.patch/configure.ac 2014-11-10 23:14:45.210162950 +0100 -@@ -100,6 +100,14 @@ - esac - fi - -+## i.MX6 support -+AC_ARG_ENABLE([imx6], -+ [AS_HELP_STRING([--enable-imx6], -+ [enable support for freescale i.MX6 (default is no)])], -+ [use_imx6=$enableval], -+ [use_imx6=no]) -+ -+ - ## add the top dir and include to the include path, so we can include config.h and cec.h - CPPFLAGS="$CPPFLAGS -I\$(abs_top_srcdir)/src -I\$(abs_top_srcdir)/include" - -@@ -306,6 +314,17 @@ - fi - - -+## mark i.MX6 support as available -+if test "x$use_imx6" != "xno"; then -+ AC_DEFINE([HAVE_IMX_API],[1],[Define to 1 to include i.MX6 support]) -+ AM_CONDITIONAL(USE_IMX_API, true) -+ features="$features\n i.MX6 support :\t\t\tyes" -+ LIB_INFO="$LIB_INFO 'i.MX6'" -+else -+ AM_CONDITIONAL(USE_IMX_API, false) -+ features="$features\n i.MX6 support :\t\t\tno" -+fi -+ - ## check if our build system is complete - AC_CHECK_HEADER(algorithm,,AC_MSG_ERROR($msg_required_header_missing)) - AC_CHECK_HEADER(ctype.h,,AC_MSG_ERROR($msg_required_header_missing)) -diff -Naur libcec-2.2.0/include/cectypes.h libcec-2.2.0.patch/include/cectypes.h ---- libcec-2.2.0/include/cectypes.h 2014-10-28 16:20:50.000000000 +0100 -+++ libcec-2.2.0.patch/include/cectypes.h 2014-11-10 23:21:37.347945493 +0100 -@@ -307,6 +307,17 @@ +From a7f3315333c1a79259a763c6542a6cd71855b357 Mon Sep 17 00:00:00 2001 +From: Stefan Saraev +Date: Thu, 7 May 2015 11:35:04 +0300 +Subject: [PATCH] imx support + +note. I am NOT the author of the patch. just rebased it +--- + include/cectypes.h | 14 +- + src/libcec/CECTypeUtils.h | 2 + + src/libcec/adapter/AdapterFactory.cpp | 29 +- + src/libcec/adapter/IMX/AdapterMessageQueue.h | 134 +++++++++ + .../adapter/IMX/IMXCECAdapterCommunication.cpp | 328 +++++++++++++++++++++ + .../adapter/IMX/IMXCECAdapterCommunication.h | 119 ++++++++ + src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp | 42 +++ + src/libcec/adapter/IMX/IMXCECAdapterDetection.h | 36 +++ + src/libcec/cmake/CheckPlatformSupport.cmake | 10 + + src/libcec/cmake/DisplayPlatformSupport.cmake | 6 + + src/libcec/env.h.in | 3 + + 11 files changed, 720 insertions(+), 3 deletions(-) + create mode 100644 src/libcec/adapter/IMX/AdapterMessageQueue.h + create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp + create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterCommunication.h + create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp + create mode 100644 src/libcec/adapter/IMX/IMXCECAdapterDetection.h + +diff --git a/include/cectypes.h b/include/cectypes.h +index acff259..0cfee8c 100644 +--- a/include/cectypes.h ++++ b/include/cectypes.h +@@ -309,6 +309,17 @@ namespace CEC { #define CEC_EXYNOS_VIRTUAL_COM "Exynos" /*! @@ -54,8 +44,8 @@ diff -Naur libcec-2.2.0/include/cectypes.h libcec-2.2.0.patch/include/cectypes.h +/*! * Mimimum client version */ - #define CEC_MIN_LIB_VERSION 2 -@@ -888,7 +899,8 @@ + #define CEC_MIN_LIB_VERSION 3 +@@ -876,7 +887,8 @@ typedef enum cec_adapter_type ADAPTERTYPE_P8_DAUGHTERBOARD = 0x2, ADAPTERTYPE_RPI = 0x100, ADAPTERTYPE_TDA995x = 0x200, @@ -64,11 +54,25 @@ diff -Naur libcec-2.2.0/include/cectypes.h libcec-2.2.0.patch/include/cectypes.h + ADAPTERTYPE_IMX = 0x400 } cec_adapter_type; - typedef struct cec_menu_language -diff -Naur libcec-2.2.0/src/lib/adapter/AdapterFactory.cpp libcec-2.2.0.patch/src/lib/adapter/AdapterFactory.cpp ---- libcec-2.2.0/src/lib/adapter/AdapterFactory.cpp 2014-10-28 16:20:50.000000000 +0100 -+++ libcec-2.2.0.patch/src/lib/adapter/AdapterFactory.cpp 2014-11-10 23:18:08.761485552 +0100 -@@ -57,6 +57,11 @@ + /** force exporting through swig */ +diff --git a/src/libcec/CECTypeUtils.h b/src/libcec/CECTypeUtils.h +index fd8046a..48cb215 100644 +--- a/src/libcec/CECTypeUtils.h ++++ b/src/libcec/CECTypeUtils.h +@@ -765,6 +765,8 @@ namespace CEC + return "Raspberry Pi"; + case ADAPTERTYPE_TDA995x: + return "TDA995x"; ++ case ADAPTERTYPE_IMX: ++ return "i.MX"; + default: + return "unknown"; + } +diff --git a/src/libcec/adapter/AdapterFactory.cpp b/src/libcec/adapter/AdapterFactory.cpp +index da05725..92e378b 100644 +--- a/src/libcec/adapter/AdapterFactory.cpp ++++ b/src/libcec/adapter/AdapterFactory.cpp +@@ -58,6 +58,11 @@ #include "Exynos/ExynosCECAdapterCommunication.h" #endif @@ -77,10 +81,10 @@ diff -Naur libcec-2.2.0/src/lib/adapter/AdapterFactory.cpp libcec-2.2.0.patch/sr +#include "IMX/IMXCECAdapterCommunication.h" +#endif + - using namespace std; using namespace CEC; -@@ -127,7 +132,22 @@ + int8_t CAdapterFactory::FindAdapters(cec_adapter *deviceList, uint8_t iBufSize, const char *strDevicePath /* = NULL */) +@@ -127,7 +132,22 @@ int8_t CAdapterFactory::DetectAdapters(cec_adapter_descriptor *deviceList, uint8 #endif @@ -104,7 +108,7 @@ diff -Naur libcec-2.2.0/src/lib/adapter/AdapterFactory.cpp libcec-2.2.0.patch/sr #error "libCEC doesn't have support for any type of adapter. please check your build system or configuration" #endif -@@ -151,11 +171,16 @@ +@@ -151,11 +171,16 @@ IAdapterCommunication *CAdapterFactory::GetInstance(const char *strPort, uint16_ return new CRPiCECAdapterCommunication(m_lib->m_cec); #endif @@ -122,9 +126,11 @@ diff -Naur libcec-2.2.0/src/lib/adapter/AdapterFactory.cpp libcec-2.2.0.patch/sr return NULL; #endif } -diff -Naur libcec-2.2.0/src/lib/adapter/IMX/AdapterMessageQueue.h libcec-2.2.0.patch/src/lib/adapter/IMX/AdapterMessageQueue.h ---- libcec-2.2.0/src/lib/adapter/IMX/AdapterMessageQueue.h 1970-01-01 01:00:00.000000000 +0100 -+++ libcec-2.2.0.patch/src/lib/adapter/IMX/AdapterMessageQueue.h 2014-11-10 23:14:45.214162390 +0100 +diff --git a/src/libcec/adapter/IMX/AdapterMessageQueue.h b/src/libcec/adapter/IMX/AdapterMessageQueue.h +new file mode 100644 +index 0000000..af6742c +--- /dev/null ++++ b/src/libcec/adapter/IMX/AdapterMessageQueue.h @@ -0,0 +1,134 @@ +#pragma once +/* @@ -159,7 +165,7 @@ diff -Naur libcec-2.2.0/src/lib/adapter/IMX/AdapterMessageQueue.h libcec-2.2.0.p + * http://www.pulse-eight.net/ + */ + -+#include "lib/platform/threads/mutex.h" ++#include "platform/threads/mutex.h" + +namespace CEC +{ @@ -260,9 +266,11 @@ diff -Naur libcec-2.2.0/src/lib/adapter/IMX/AdapterMessageQueue.h libcec-2.2.0.p + }; + +}; -diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp ---- libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 1970-01-01 01:00:00.000000000 +0100 -+++ libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp 2014-11-10 23:14:45.217161982 +0100 +diff --git a/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp +new file mode 100644 +index 0000000..2daa8cb +--- /dev/null ++++ b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.cpp @@ -0,0 +1,328 @@ +/* + * This file is part of the libCEC(R) library. @@ -296,11 +304,11 @@ diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp libce +#if defined(HAVE_IMX_API) +#include "IMXCECAdapterCommunication.h" + -+#include "lib/CECTypeUtils.h" -+#include "lib/LibCEC.h" -+#include "lib/platform/sockets/cdevsocket.h" -+#include "lib/platform/util/StdString.h" -+#include "lib/platform/util/buffer.h" ++#include "CECTypeUtils.h" ++#include "LibCEC.h" ++#include "platform/sockets/cdevsocket.h" ++#include "platform/util/StdString.h" ++#include "platform/util/buffer.h" + +/* + * Ioctl definitions from kernel header @@ -592,9 +600,11 @@ diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.cpp libce +} + +#endif // HAVE_IMX_API -diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.h libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.h ---- libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.h 1970-01-01 01:00:00.000000000 +0100 -+++ libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterCommunication.h 2014-11-10 23:14:45.217161982 +0100 +diff --git a/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h +new file mode 100644 +index 0000000..9e899a3 +--- /dev/null ++++ b/src/libcec/adapter/IMX/IMXCECAdapterCommunication.h @@ -0,0 +1,119 @@ +#pragma once +/* @@ -626,10 +636,10 @@ diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.h libcec- + +#if defined(HAVE_IMX_API) + -+#include "lib/platform/threads/mutex.h" -+#include "lib/platform/threads/threads.h" -+#include "lib/platform/sockets/socket.h" -+#include "lib/adapter/AdapterCommunication.h" ++#include "platform/threads/mutex.h" ++#include "platform/threads/threads.h" ++#include "platform/sockets/socket.h" ++#include "adapter/AdapterCommunication.h" +#include + +#define IMX_ADAPTER_VID 0x0471 /*FIXME TBD*/ @@ -715,9 +725,11 @@ diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterCommunication.h libcec- +}; + +#endif -diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp ---- libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp 1970-01-01 01:00:00.000000000 +0100 -+++ libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp 2014-11-10 23:14:45.215162253 +0100 +diff --git a/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp b/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp +new file mode 100644 +index 0000000..6c93c45 +--- /dev/null ++++ b/src/libcec/adapter/IMX/IMXCECAdapterDetection.cpp @@ -0,0 +1,42 @@ +/* + * This file is part of the libCEC(R) library. @@ -761,9 +773,11 @@ diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.cpp libcec-2. +} + +#endif -diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.h libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.h ---- libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.h 1970-01-01 01:00:00.000000000 +0100 -+++ libcec-2.2.0.patch/src/lib/adapter/IMX/IMXCECAdapterDetection.h 2014-11-10 23:14:45.215162253 +0100 +diff --git a/src/libcec/adapter/IMX/IMXCECAdapterDetection.h b/src/libcec/adapter/IMX/IMXCECAdapterDetection.h +new file mode 100644 +index 0000000..d54891d +--- /dev/null ++++ b/src/libcec/adapter/IMX/IMXCECAdapterDetection.h @@ -0,0 +1,36 @@ +#pragma once +/* @@ -801,31 +815,65 @@ diff -Naur libcec-2.2.0/src/lib/adapter/IMX/IMXCECAdapterDetection.h libcec-2.2. + static bool FindAdapter(void); + }; +} -diff -Naur libcec-2.2.0/src/lib/CECTypeUtils.h libcec-2.2.0.patch/src/lib/CECTypeUtils.h ---- libcec-2.2.0/src/lib/CECTypeUtils.h 2014-10-28 16:20:50.000000000 +0100 -+++ libcec-2.2.0.patch/src/lib/CECTypeUtils.h 2014-11-10 23:14:45.212162668 +0100 -@@ -877,6 +877,8 @@ - return "Raspberry Pi"; - case ADAPTERTYPE_TDA995x: - return "TDA995x"; -+ case ADAPTERTYPE_IMX: -+ return "i.MX"; - default: - return "unknown"; - } -diff -Naur libcec-2.2.0/src/lib/Makefile.am libcec-2.2.0.patch/src/lib/Makefile.am ---- libcec-2.2.0/src/lib/Makefile.am 2014-10-28 16:20:50.000000000 +0100 -+++ libcec-2.2.0.patch/src/lib/Makefile.am 2014-11-10 23:20:02.597700521 +0100 -@@ -63,6 +63,12 @@ - adapter/TDA995x/TDA995xCECAdapterCommunication.cpp - endif +diff --git a/src/libcec/cmake/CheckPlatformSupport.cmake b/src/libcec/cmake/CheckPlatformSupport.cmake +index 828cdb2..8b47795 100644 +--- a/src/libcec/cmake/CheckPlatformSupport.cmake ++++ b/src/libcec/cmake/CheckPlatformSupport.cmake +@@ -8,6 +8,7 @@ + # HAVE_RANDR 1 if xrandr is supported + # HAVE_LIBUDEV 1 if udev is supported + # HAVE_RPI_API 1 if Raspberry Pi is supported ++# HAVE_IMX_API 1 if i.MX is supported + # HAVE_TDA995X_API 1 if TDA995X is supported + # HAVE_EXYNOS_API 1 if Exynos is supported + # HAVE_P8_USB_DETECT 1 if Pulse-Eight devices can be auto-detected +@@ -87,6 +88,15 @@ else() + list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_RPI}) + endif() -+## i.MX6 support -+if USE_IMX_API -+libcec_la_SOURCES += adapter/IMX/IMXCECAdapterDetection.cpp \ -+ adapter/IMX/IMXCECAdapterCommunication.cpp -+endif ++ # i.MX ++ if (HAVE_IMX_API) ++ set(LIB_INFO "${LIB_INFO}, 'IMX'") ++ set(CEC_SOURCES_ADAPTER_IMX adapter/IMX/IMXCECAdapterDetection.cpp ++ adapter/IMX/IMXCECAdapterCommunication.cpp) ++ source_group("Source Files\\adapter\\IMX" FILES ${CEC_SOURCES_ADAPTER_IMX}) ++ list(APPEND CEC_SOURCES ${CEC_SOURCES_ADAPTER_IMX}) ++ endif() + - ## Exynos support - if USE_EXYNOS_API - libcec_la_SOURCES += adapter/Exynos/ExynosCECAdapterDetection.cpp \ + # TDA995x + check_include_files("tda998x_ioctl.h;comps/tmdlHdmiCEC/inc/tmdlHdmiCEC_Types.h" HAVE_TDA995X_API) + if (HAVE_TDA995X_API) +diff --git a/src/libcec/cmake/DisplayPlatformSupport.cmake b/src/libcec/cmake/DisplayPlatformSupport.cmake +index feee111..0309c56 100644 +--- a/src/libcec/cmake/DisplayPlatformSupport.cmake ++++ b/src/libcec/cmake/DisplayPlatformSupport.cmake +@@ -32,6 +32,12 @@ else() + message(STATUS "Raspberry Pi support: no") + endif() + ++if (HAVE_IMX_API) ++ message(STATUS "i.MX support: yes") ++else() ++ message(STATUS "i.MX support: no") ++endif() ++ + if (HAVE_TDA995X_API) + message(STATUS "TDA995x support: yes") + else() +diff --git a/src/libcec/env.h.in b/src/libcec/env.h.in +index a1a1f26..f90e729 100644 +--- a/src/libcec/env.h.in ++++ b/src/libcec/env.h.in +@@ -60,6 +60,9 @@ + /* Define to 1 for Raspberry Pi support */ + #cmakedefine HAVE_RPI_API @HAVE_RPI_API@ + ++/* Define to 1 for IMX support */ ++#cmakedefine HAVE_IMX_API @HAVE_IMX_API@ ++ + /* Define to 1 for TDA995x support */ + #cmakedefine HAVE_TDA995X_API @HAVE_TDA995X_API@ + +-- +2.1.4 + From 102186ab5d6bf438ac693a66d6d15926865617cd Mon Sep 17 00:00:00 2001 From: Stefan Saraev Date: Mon, 4 May 2015 21:03:25 +0300 Subject: [PATCH 3/3] kodi: update to kodi-15.0-beta2-d6e06ad --- packages/mediacenter/kodi-theme-Confluence/package.mk | 2 +- packages/mediacenter/kodi/package.mk | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/mediacenter/kodi-theme-Confluence/package.mk b/packages/mediacenter/kodi-theme-Confluence/package.mk index 841422e493..f71d33cf93 100644 --- a/packages/mediacenter/kodi-theme-Confluence/package.mk +++ b/packages/mediacenter/kodi-theme-Confluence/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="kodi-theme-Confluence" -PKG_VERSION="15.0-beta1-d1a2c33" +PKG_VERSION="15.0-beta2-d6e06ad" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL" diff --git a/packages/mediacenter/kodi/package.mk b/packages/mediacenter/kodi/package.mk index 141c8cae04..980909a963 100644 --- a/packages/mediacenter/kodi/package.mk +++ b/packages/mediacenter/kodi/package.mk @@ -17,7 +17,7 @@ ################################################################################ PKG_NAME="kodi" -PKG_VERSION="15.0-beta1-d1a2c33" +PKG_VERSION="15.0-beta2-d6e06ad" PKG_REV="1" PKG_ARCH="any" PKG_LICENSE="GPL"