mirror of
https://github.com/LibreELEC/LibreELEC.tv.git
synced 2025-07-29 13:46:49 +00:00
new package: platform
This commit is contained in:
parent
9db0648dae
commit
678af3f01f
48
packages/mediacenter/platform/package.mk
Normal file
48
packages/mediacenter/platform/package.mk
Normal file
@ -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 <http://www.gnu.org/licenses/>.
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
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
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
From f91594676d1f75530addd87363ccbc6510efb84e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stefan Saraev <stefan@saraev.ca>
|
||||||
|
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
|
||||||
|
|
199
packages/mediacenter/platform/patches/platform-02-add-PR6.patch
Normal file
199
packages/mediacenter/platform/patches/platform-02-add-PR6.patch
Normal file
@ -0,0 +1,199 @@
|
|||||||
|
From 8ff719d94b664378f3ebb61166454eef7cb20c25 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Stephan Raue <stephan@openelec.tv>
|
||||||
|
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 <stdio.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
+#include <sys/ioctl.h>
|
||||||
|
#include <sys/socket.h>
|
||||||
|
#include <netinet/in.h>
|
||||||
|
#include <netinet/tcp.h>
|
||||||
|
@@ -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 <license@pulse-eight.com>
|
||||||
|
+ * http://www.pulse-eight.com/
|
||||||
|
+ * http://www.pulse-eight.net/
|
||||||
|
+ */
|
||||||
|
+
|
||||||
|
+#include "../os.h"
|
||||||
|
+#include "../util/buffer.h"
|
||||||
|
+
|
||||||
|
+#include <string>
|
||||||
|
+#include <stdint.h>
|
||||||
|
+
|
||||||
|
+#if !defined(__WINDOWS__)
|
||||||
|
+#include <termios.h>
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#include "socket.h"
|
||||||
|
+
|
||||||
|
+namespace PLATFORM
|
||||||
|
+{
|
||||||
|
+ class CCDevSocket : public CCommonSocket<chardev_socket_t>
|
||||||
|
+ {
|
||||||
|
+ public:
|
||||||
|
+ CCDevSocket(const std::string &strName ) :
|
||||||
|
+ CCommonSocket<chardev_socket_t>(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;
|
||||||
|
+ }
|
||||||
|
+ };
|
||||||
|
+
|
||||||
|
+};
|
||||||
|
+
|
Loading…
x
Reference in New Issue
Block a user