media-tv/kodi: fork official ebuild to support standalone mode (without X) and odroid-c1/c1+

This commit is contained in:
nemunaire 2017-11-21 07:53:53 +01:00
commit 66adeddb1e
9 changed files with 934 additions and 0 deletions

View file

@ -0,0 +1,8 @@
KERNEL=="mali",SUBSYSTEM=="misc",MODE="0777"
KERNEL=="mali0",SUBSYSTEM=="misc",MODE="0777"
KERNEL=="ump",SUBSYSTEM=="ump",MODE="0777"
KERNEL=="ttySAC0", SYMLINK+="ttyACM99"
KERNEL=="event*", SUBSYSTEM=="input", MODE="0777"
KERNEL=="CEC", MODE="0777"
KERNEL=="amvideo", MODE="0666"
KERNEL=="amstream*", MODE="0666"

View file

@ -0,0 +1,17 @@
polkit.addRule(function(action, subject) {
if (subject.user == "YourUsernameHere") {
polkit.log("action=" + action);
polkit.log("subject=" + subject);
if (action.id.indexOf("org.freedesktop.login1.") == 0) {
return polkit.Result.YES;
}
if (action.id.indexOf("org.freedesktop.udisks.") == 0) {
return polkit.Result.YES;
}
if (action.id.indexOf("org.freedesktop.upower.") == 0) {
return polkit.Result.YES;
}
}
});

View file

@ -0,0 +1 @@
SUBSYSTEM=="input", GROUP="input", MODE="0660"

View file

@ -0,0 +1,56 @@
diff --git a/xbmc/interfaces/swig/CMakeLists.txt b/xbmc/interfaces/swig/CMakeLists.txt
index 6e676159eb..d45a2ecbab 100644
--- a/xbmc/interfaces/swig/CMakeLists.txt
+++ b/xbmc/interfaces/swig/CMakeLists.txt
@@ -1,43 +1,21 @@
function(generate_file file)
- set(classpath ${GROOVY_DIR}/groovy-all-${GROOVY_VER}.jar
- ${GROOVY_DIR}/commons-lang-${COMMONS_VER}.jar
- ${CORE_SOURCE_DIR}/tools/codegenerator
- ${CMAKE_CURRENT_SOURCE_DIR}/../python)
- if(NOT CORE_SYSTEM_NAME STREQUAL windows)
- set(devnull "/dev/null")
- string(REPLACE ";" ":" classpath "${classpath}")
- else()
- set(devnull "nul")
- endif()
-
- set(CPP_FILE ${file}.cpp)
- add_custom_command(OUTPUT ${CPP_FILE}
- COMMAND ${SWIG_EXECUTABLE}
- ARGS -w401 -c++ -o ${file}.xml -xml -I${CORE_SOURCE_DIR}/xbmc -xmllang python ${CMAKE_CURRENT_SOURCE_DIR}/../swig/${file}
- COMMAND ${Java_JAVA_EXECUTABLE}
- ARGS -cp "${classpath}" groovy.ui.GroovyMain ${CORE_SOURCE_DIR}/tools/codegenerator/Generator.groovy ${file}.xml ${CMAKE_CURRENT_SOURCE_DIR}/../python/PythonSwig.cpp.template ${file}.cpp > ${devnull}
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/../swig/${file})
+ set(CPP_FILE ${CORE_SOURCE_DIR}/xbmc/interfaces/python/generated/${file}.cpp)
set(SOURCES ${SOURCES} "${CPP_FILE}" PARENT_SCOPE)
endfunction()
-find_package(Java COMPONENTS Runtime REQUIRED)
find_package(SWIG REQUIRED)
# The generated bindings
-set(INPUTS AddonModuleXbmcaddon.i
- AddonModuleXbmcgui.i
- AddonModuleXbmc.i
- AddonModuleXbmcplugin.i
- AddonModuleXbmcvfs.i
- AddonModuleXbmcwsgi.i)
-
-set(GROOVY_DIR ${CORE_SOURCE_DIR}/tools/codegenerator/groovy)
-set(GROOVY_VER 2.4.4)
-set(COMMONS_VER 2.6)
+set(INPUTS AddonModuleXbmcaddon
+ AddonModuleXbmcgui
+ AddonModuleXbmc
+ AddonModuleXbmcplugin
+ AddonModuleXbmcvfs
+ AddonModuleXbmcwsgi)
foreach(INPUT IN LISTS INPUTS)
generate_file(${INPUT})
- list(APPEND GEN_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${INPUT}.cpp)
+ list(APPEND GEN_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${INPUT}.i.cpp)
endforeach()
add_library(python_binding STATIC ${SOURCES})

View file

@ -0,0 +1,7 @@
#Configuration file for /etc/init.d/kodi
#User to start kodi
KODI_USER=""
#Optional options for kodi
KODI_OPTS=""

View file

@ -0,0 +1,27 @@
#!/sbin/openrc-run
# Distributed under the terms of the GNU General Public License v2
description="Start and stop Kodi"
depend() {
need net
need localmount
need local
}
start() {
ebegin "Starting kodi"
if [ -z "${KODI_USER}" ]; then
eend "No user defined in /etc/conf.d/kodi"
fi
start-stop-daemon --start --background --make-pidfile --pidfile /var/run/kodi.pid -u "${KODI_USER}" --exec /usr/lib/kodi/kodi.bin -- --standalone ${KODI_OPTS}
eend $?
}
stop() {
ebegin "Stopping kodi"
start-stop-daemon --stop --pidfile /var/run/kodi.pid
eend $?
}