kodi: 19.4 -> 20.0
This commit is contained in:
parent
e3a07ea752
commit
2b315453e9
|
@ -1,88 +0,0 @@
|
||||||
From 620c3eb38f0dbea6e877e37e97508513e87a0732 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jeremy Fleischman <jeremyfleischman@gmail.com>
|
|
||||||
Date: Sun, 27 Mar 2022 00:44:52 -0700
|
|
||||||
Subject: [PATCH] Add new KODI_WEBSERVER_EXTRA_WHITELIST cmake var to allow
|
|
||||||
access to more directories
|
|
||||||
|
|
||||||
(This is a backport of
|
|
||||||
https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888
|
|
||||||
to Kodi 19.4 Matrix)
|
|
||||||
|
|
||||||
This is useful for NixOS, which often ends up creating a `KODI_HOME`
|
|
||||||
with symlinks to other files (including the chorus2 interface). Kodi's
|
|
||||||
webserver cautiously refuses to follow these symlinks, and you end up
|
|
||||||
getting 404s rather than the web page.
|
|
||||||
|
|
||||||
See https://forum.kodi.tv/showthread.php?tid=366338&pid=3079493 for a
|
|
||||||
discussion of this on the Kodi forum.
|
|
||||||
---
|
|
||||||
CMakeLists.txt | 1 +
|
|
||||||
xbmc/CompileInfo.cpp.in | 5 +++++
|
|
||||||
xbmc/CompileInfo.h | 1 +
|
|
||||||
xbmc/utils/FileUtils.cpp | 6 +++++-
|
|
||||||
4 files changed, 12 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
|
||||||
index 2d5369798df23..d5ef6d9390ef0 100644
|
|
||||||
--- a/CMakeLists.txt
|
|
||||||
+++ b/CMakeLists.txt
|
|
||||||
@@ -243,6 +243,7 @@ add_custom_command(OUTPUT ${CORE_BUILD_DIR}/xbmc/CompileInfo.cpp
|
|
||||||
-DAPP_BUILD_DATE=${APP_BUILD_DATE}
|
|
||||||
-DAPP_SHARED_LIBRARY_SUFFIX="${APP_SHARED_LIBRARY_SUFFIX}"
|
|
||||||
-Dprefix=${CMAKE_BINARY_DIR}/${CORE_BUILD_DIR}
|
|
||||||
+ -DKODI_WEBSERVER_EXTRA_WHITELIST="${KODI_WEBSERVER_EXTRA_WHITELIST}"
|
|
||||||
-P ${CMAKE_SOURCE_DIR}/cmake/scripts/common/GenerateVersionedFiles.cmake
|
|
||||||
DEPENDS ${CMAKE_SOURCE_DIR}/version.txt
|
|
||||||
export-files
|
|
||||||
diff --git a/xbmc/CompileInfo.cpp.in b/xbmc/CompileInfo.cpp.in
|
|
||||||
index f81fe77902236..4f19203a89cde 100644
|
|
||||||
--- a/xbmc/CompileInfo.cpp.in
|
|
||||||
+++ b/xbmc/CompileInfo.cpp.in
|
|
||||||
@@ -105,3 +105,8 @@ std::vector<std::string> CCompileInfo::GetAvailableWindowSystems()
|
|
||||||
{
|
|
||||||
return StringUtils::Split("@CORE_PLATFORM_NAME_LC@", ' ');
|
|
||||||
}
|
|
||||||
+
|
|
||||||
+const std::vector<std::string> CCompileInfo::GetWebserverExtraWhitelist()
|
|
||||||
+{
|
|
||||||
+ return StringUtils::Split("@KODI_WEBSERVER_EXTRA_WHITELIST@", ',');
|
|
||||||
+}
|
|
||||||
diff --git a/xbmc/CompileInfo.h b/xbmc/CompileInfo.h
|
|
||||||
index 553a0194ee77f..e2521324e6576 100644
|
|
||||||
--- a/xbmc/CompileInfo.h
|
|
||||||
+++ b/xbmc/CompileInfo.h
|
|
||||||
@@ -32,4 +32,5 @@ class CCompileInfo
|
|
||||||
static const char* GetVersionCode();
|
|
||||||
static std::vector<std::string> GetAvailableWindowSystems();
|
|
||||||
static std::vector<ADDON::RepoInfo> LoadOfficialRepoInfos();
|
|
||||||
+ static const std::vector<std::string> GetWebserverExtraWhitelist();
|
|
||||||
};
|
|
||||||
diff --git a/xbmc/utils/FileUtils.cpp b/xbmc/utils/FileUtils.cpp
|
|
||||||
index e51f3d631c256..fc717c9608098 100644
|
|
||||||
--- a/xbmc/utils/FileUtils.cpp
|
|
||||||
+++ b/xbmc/utils/FileUtils.cpp
|
|
||||||
@@ -6,6 +6,7 @@
|
|
||||||
* See LICENSES/README.md for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
+#include "CompileInfo.h"
|
|
||||||
#include "FileUtils.h"
|
|
||||||
#include "ServiceBroker.h"
|
|
||||||
#include "guilib/GUIKeyboardFactory.h"
|
|
||||||
@@ -261,12 +262,15 @@ bool CFileUtils::CheckFileAccessAllowed(const std::string &filePath)
|
|
||||||
"/.ssh/",
|
|
||||||
};
|
|
||||||
// ALLOW kodi paths
|
|
||||||
- const std::vector<std::string> whitelist = {
|
|
||||||
+ std::vector<std::string> whitelist = {
|
|
||||||
CSpecialProtocol::TranslatePath("special://home"),
|
|
||||||
CSpecialProtocol::TranslatePath("special://xbmc"),
|
|
||||||
CSpecialProtocol::TranslatePath("special://musicartistsinfo")
|
|
||||||
};
|
|
||||||
|
|
||||||
+ auto kodiExtraWhitelist = CCompileInfo::GetWebserverExtraWhitelist();
|
|
||||||
+ whitelist.insert(whitelist.end(), kodiExtraWhitelist.begin(), kodiExtraWhitelist.end());
|
|
||||||
+
|
|
||||||
// image urls come in the form of image://... sometimes with a / appended at the end
|
|
||||||
// and can be embedded in a music or video file image://music@...
|
|
||||||
// strip this off to get the real file path
|
|
|
@ -9,7 +9,7 @@
|
||||||
{ attrPath }:
|
{ attrPath }:
|
||||||
|
|
||||||
let
|
let
|
||||||
url = "http://mirrors.kodi.tv/addons/matrix/addons.xml.gz";
|
url = "http://mirrors.kodi.tv/addons/nexus/addons.xml.gz";
|
||||||
updateScript = writeShellScript "update.sh" ''
|
updateScript = writeShellScript "update.sh" ''
|
||||||
set -ex
|
set -ex
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "1.0.3.1";
|
version = "1.0.3.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/script.module.arrow/script.module.arrow-${version}.zip";
|
||||||
sha256 = "0xa16sb2hls59l4gsg1xwb1qbkhcvbykq02l05n5rcm0alg80l3l";
|
sha256 = "sha256-dFCAHlWgslxsAVQAPP3aDM6Fw+I9PP0ITUVTKJY2QXU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -6,7 +6,7 @@ buildKodiAddon rec {
|
||||||
version = "1.1.8";
|
version = "1.1.8";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
hash = "sha256-1f+oEHEhSsDMXH7WssSVjjuDjK3UNyMiNhaw7mh/xjI=";
|
hash = "sha256-1f+oEHEhSsDMXH7WssSVjjuDjK3UNyMiNhaw7mh/xjI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "2022.9.24";
|
version = "2022.9.24";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "kIPGEjmnHlgVb11W2RKBlrMy3/+kUOcQZiLCcnHCcno=";
|
sha256 = "sha256-kIPGEjmnHlgVb11W2RKBlrMy3/+kUOcQZiLCcnHCcno=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "4.0.0+matrix.1";
|
version = "4.0.0+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "1jsd165mb1b8jdan2jbjd3y3xa0xam2cxcccmwazkybpa0r6a7dj";
|
sha256 = "sha256-sh1lMlB3+fkVr4yxzkRVHag+/GhySWFVk2iFVYsJTcs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -6,8 +6,8 @@ buildKodiAddon rec {
|
||||||
version = "2.8.2";
|
version = "2.8.2";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "iQnyS0GjYcPbnBDUxmMrmDxHOA3K8RbTVke/HF4d5u4=";
|
sha256 = "sha256-iQnyS0GjYcPbnBDUxmMrmDxHOA3K8RbTVke/HF4d5u4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -6,8 +6,8 @@ buildKodiAddon rec {
|
||||||
version = "0.6.0+matrix.1";
|
version = "0.6.0+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "026i5rx9rmxcc18ixp6qhbryqdl4pn7cbwqicrishivan6apnacd";
|
sha256 = "sha256-jSl7lbFqR6hjZhHzxY69hDbs84LY3B5RYKzXnHou0Qg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -6,7 +6,7 @@ buildKodiAddon rec {
|
||||||
version = "0.18.2+matrix.1";
|
version = "0.18.2+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "sha256-QBG7V70Dwmfq8ISILxGNvtmQT9fJp2e5gs2C9skRwIw=";
|
sha256 = "sha256-QBG7V70Dwmfq8ISILxGNvtmQT9fJp2e5gs2C9skRwIw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "3.4.0";
|
version = "3.4.0";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "wS1d1L18v4+RGwxDh7OpKRHB2A4qYwiq6b5mAz7l8Pk=";
|
sha256 = "sha256-wS1d1L18v4+RGwxDh7OpKRHB2A4qYwiq6b5mAz7l8Pk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "0.5.10+matrix.1";
|
version = "0.5.10+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "FcOktwtOT7kDM+3y9qPDk3xU1qVeCduyAdUzebtJzv4=";
|
sha256 = "sha256-FcOktwtOT7kDM+3y9qPDk3xU1qVeCduyAdUzebtJzv4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -6,8 +6,8 @@ buildKodiAddon rec {
|
||||||
version = "1.1.4";
|
version = "1.1.4";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "eWzMqsE8H0wUvPyd3wvjiaXEg4+sgkQ3CQYjE0VS+9g=";
|
sha256 = "sha256-eWzMqsE8H0wUvPyd3wvjiaXEg4+sgkQ3CQYjE0VS+9g=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -6,8 +6,8 @@ buildKodiAddon rec {
|
||||||
version = "0.1.3.1";
|
version = "0.1.3.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "14m232p9hx925pbk8knsg994m1nbpa5278zmcrnfblh4z84gjv4x";
|
sha256 = "sha256-nWz5CPoE0uVsZvWjI4q6y4ZKUnraTjTXLSJ1mK4YopI=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, genesis-plus-gx }:
|
{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, genesis-plus-gx }:
|
||||||
|
|
||||||
buildKodiBinaryAddon rec {
|
buildKodiBinaryAddon rec {
|
||||||
pname = "kodi-libretro-genplus";
|
pname = "kodi-libretro-genplus";
|
||||||
|
@ -8,7 +8,7 @@ buildKodiBinaryAddon rec {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kodi-game";
|
owner = "kodi-game";
|
||||||
repo = "game.libretro.genplus";
|
repo = "game.libretro.genplus";
|
||||||
rev = "${version}-${rel}";
|
rev = "${version}-Matrix";
|
||||||
sha256 = "sha256-F3bt129lBZKlDtp7X0S0q10T9k9C2zNeHG+yIP3818Q=";
|
sha256 = "sha256-F3bt129lBZKlDtp7X0S0q10T9k9C2zNeHG+yIP3818Q=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, mgba }:
|
{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, mgba }:
|
||||||
|
|
||||||
buildKodiBinaryAddon rec {
|
buildKodiBinaryAddon rec {
|
||||||
pname = "kodi-libretro-mgba";
|
pname = "kodi-libretro-mgba";
|
||||||
|
@ -8,7 +8,7 @@ buildKodiBinaryAddon rec {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kodi-game";
|
owner = "kodi-game";
|
||||||
repo = "game.libretro.mgba";
|
repo = "game.libretro.mgba";
|
||||||
rev = "${version}-${rel}";
|
rev = "${version}-Matrix";
|
||||||
sha256 = "sha256-lxpj6Y34apYcE22q4W3Anhigp79r4RgiJ36DbES1kzU=";
|
sha256 = "sha256-lxpj6Y34apYcE22q4W3Anhigp79r4RgiJ36DbES1kzU=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, snes9x }:
|
{ lib, buildKodiBinaryAddon, fetchFromGitHub, libretro, snes9x }:
|
||||||
|
|
||||||
buildKodiBinaryAddon rec {
|
buildKodiBinaryAddon rec {
|
||||||
pname = "kodi-libretro-snes9x";
|
pname = "kodi-libretro-snes9x";
|
||||||
|
@ -8,7 +8,7 @@ buildKodiBinaryAddon rec {
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "kodi-game";
|
owner = "kodi-game";
|
||||||
repo = "game.libretro.snes9x";
|
repo = "game.libretro.snes9x";
|
||||||
rev = "${version}-${rel}";
|
rev = "${version}-Matrix";
|
||||||
sha256 = "sha256-LniZf8Gae4+4Rgc9OGhMCkOI3IA7CPjVrN/gbz9te38=";
|
sha256 = "sha256-LniZf8Gae4+4Rgc9OGhMCkOI3IA7CPjVrN/gbz9te38=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "8.0.18+matrix.1";
|
version = "8.0.18+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "1cx3qdzw9lkkmbyvyrmc2i193is20fihn2sfl7kmv43f708vam0k";
|
sha256 = "sha256-E1S1EThukF3noU4LC6MDQseRQhSsZr/9qnPSxH/Do7M=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "0.5.2+matrix.2";
|
version = "0.5.2+matrix.2";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "0fgl4jayq6hbhqxg16nfy9qizwf54c8nvg0icv93knaj13zfzkz8";
|
sha256 = "sha256-6M/v/ghS2TnSZhG8bREjxfEfcfLOmvA6hgsa7JUk9Dk=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "2.27.1+matrix.1";
|
version = "2.27.1+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "QxxVT6XaEYQtAFkZde8EaTXzGO7cjG2pApQZcA32xA0=";
|
sha256 = "sha256-QxxVT6XaEYQtAFkZde8EaTXzGO7cjG2pApQZcA32xA0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "0.2.3+matrix.1";
|
version = "0.2.3+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "1qhp40xd8mbcvzwlamqw1j5l224ry086593948g24drpqiiyc8x6";
|
sha256 = "sha256-piPmY8Q3NyIeImmkYhDwmQhBiwwcV0X532xV1DogF+I=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "0.0.6+matrix.1";
|
version = "0.0.6+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "1qcjbakch8hvx02wc01zv014nmzgn6ahc4n2bj5mzr114ppd3hjs";
|
sha256 = "sha256-WsLR7iUh5F+LXMISBpWx71dLAtg/AMYF6BsiyKZakuE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru= {
|
passthru= {
|
||||||
|
|
|
@ -6,7 +6,7 @@ buildKodiAddon rec {
|
||||||
version = "3.17.0+matrix.2";
|
version = "3.17.0+matrix.2";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "sha256-XLE4x0qr3CFwWqh1BfSg9q+w6pWgFBXG7TyVJWeGQIs=";
|
sha256 = "sha256-XLE4x0qr3CFwWqh1BfSg9q+w6pWgFBXG7TyVJWeGQIs=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@ buildKodiAddon rec {
|
||||||
version = "1.15.0+matrix.1";
|
version = "1.15.0+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "0c8vb0c4vhknkqqgvzj8l2ddgcm4iah0ca686slxbxbp800cydnf";
|
sha256 = "sha256-zjbPAEB39dWpNsgoBqCKpLLXmqBI/v0wnnbCTRhYGzE=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru.updateScript = addonUpdateScript {
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "4.4.0+matrix.1";
|
version = "4.4.0+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "19kjhrykx92sy67cajxjckzdwgq47ipwml0bx9vmdr9d191h14p8";
|
sha256 = "sha256-6JIAQwot5VZ36gvQym88BD/e/mSyS8WO8VqkPn2GcqY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "3.5.0";
|
version = "3.5.0";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "07fb0wjcr8ggidswrjs1r1hzi6grykiyi855bgm7pjzzk95kl99v";
|
sha256 = "sha256-OyU6S5r/y3vqW6Wg6OP0+Zn4YchBy8x1i++hzCQHyx0=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -5,8 +5,8 @@ buildKodiAddon rec {
|
||||||
version = "3.7.4.3";
|
version = "3.7.4.3";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "0p28hchj05hmccs6b2836kh4vqdqnl169409f2845d0nw9y4wkqq";
|
sha256 = "sha256-GE9OfOIWtEKQcAmQZAK1uOFN4DQDiWU0YxUWICGDSFw=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -6,8 +6,8 @@ buildKodiAddon rec {
|
||||||
version = "1.26.13+matrix.1";
|
version = "1.26.13+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "pymhHS1TqRv9o/3zBtmP8QSLMXSgFYno0VaR+YqhJqY=";
|
sha256 = "sha256-pymhHS1TqRv9o/3zBtmP8QSLMXSgFYno0VaR+YqhJqY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
passthru = {
|
passthru = {
|
||||||
|
|
|
@ -6,8 +6,8 @@ buildKodiAddon rec {
|
||||||
version = "0.58.0+matrix.2";
|
version = "0.58.0+matrix.2";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "0j2fcrn3hc6207g0k0gx5ypj4j3ww9pd7rnlzq1fgdig00laa8y7";
|
sha256 = "sha256-xyOlKAAvtucC/tTm027ifEgiry/9gQneAcIwOGxmTkg=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -6,8 +6,8 @@ buildKodiAddon rec {
|
||||||
version = "6.8.24+matrix.1";
|
version = "6.8.24+matrix.1";
|
||||||
|
|
||||||
src = fetchzip {
|
src = fetchzip {
|
||||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
url = "https://mirrors.kodi.tv/addons/nexus/${namespace}/${namespace}-${version}.zip";
|
||||||
sha256 = "/yQML2iK5jcIhN6RJC+WJ8EnH640qFJFdaaVeGPEg9U=";
|
sha256 = "sha256-/yQML2iK5jcIhN6RJC+WJ8EnH640qFJFdaaVeGPEg9U=";
|
||||||
};
|
};
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
propagatedBuildInputs = [
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
{ stdenv, lib, fetchFromGitHub, fetchpatch, autoconf, automake, libtool, makeWrapper
|
{ stdenv, lib, fetchFromGitHub, autoconf, automake, libtool, makeWrapper
|
||||||
, pkg-config, cmake, yasm, python3Packages
|
, pkg-config, cmake, yasm, python3Packages
|
||||||
, libxcrypt, libgcrypt, libgpg-error, libunistring
|
, libxcrypt, libgcrypt, libgpg-error, libunistring
|
||||||
, boost, avahi, lame
|
, boost, avahi, lame
|
||||||
|
@ -38,25 +38,27 @@ assert usbSupport -> !udevSupport; # libusb-compat-0_1 won't be used if udev is
|
||||||
assert gbmSupport || waylandSupport || x11Support;
|
assert gbmSupport || waylandSupport || x11Support;
|
||||||
|
|
||||||
let
|
let
|
||||||
kodiReleaseDate = "20221204";
|
kodiReleaseDate = "20230115";
|
||||||
kodiVersion = "19.5";
|
kodiVersion = "20.0";
|
||||||
rel = "Matrix";
|
rel = "Nexus";
|
||||||
|
|
||||||
kodi_src = fetchFromGitHub {
|
kodi_src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "xbmc";
|
repo = "xbmc";
|
||||||
rev = "${kodiVersion}-${rel}";
|
rev = "${kodiVersion}-${rel}";
|
||||||
sha256 = "sha256-vprhEPxYpY3/AsUgvPNnhBlh0Dl73ekALAblHaUKzd0=";
|
sha256 = "sha256-0BkbA1iovouwjQVtiKFw3+64i7sMWZNiCUfOQ0EsslY=";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# see https://github.com/xbmc/xbmc/blob/${kodiVersion}-${rel}/tools/depends/target/ to get suggested versions for all dependencies
|
||||||
|
|
||||||
ffmpeg = stdenv.mkDerivation rec {
|
ffmpeg = stdenv.mkDerivation rec {
|
||||||
pname = "kodi-ffmpeg";
|
pname = "kodi-ffmpeg";
|
||||||
version = "4.3.2"; # see https://github.com/xbmc/xbmc/blob/${kodiVersion}-${rel}/tools/depends/target/ffmpeg/FFMPEG-VERSION
|
version = "4.4.1";
|
||||||
src = fetchFromGitHub {
|
src = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "FFmpeg";
|
repo = "FFmpeg";
|
||||||
rev = "${version}-${rel}-19.2";
|
rev = "${version}-${rel}-Alpha1";
|
||||||
sha256 = "14s215sgc93ds1mrdbkgb7fvy94lpgv2ldricyxzis0gbzqfgs4f";
|
sha256 = "sha256-EQHmmWnDw+/udKYq7Nrf00nL7I5XWUtmzdauDryfTII=";
|
||||||
};
|
};
|
||||||
preConfigure = ''
|
preConfigure = ''
|
||||||
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
|
cp ${kodi_src}/tools/depends/target/ffmpeg/{CMakeLists.txt,*.cmake} .
|
||||||
|
@ -79,22 +81,22 @@ let
|
||||||
libdvdcss = fetchFromGitHub {
|
libdvdcss = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "libdvdcss";
|
repo = "libdvdcss";
|
||||||
rev = "1.4.2-Leia-Beta-5";
|
rev = "1.4.3-Next-Nexus-Alpha2-2";
|
||||||
sha256 = "0j41ydzx0imaix069s3z07xqw9q95k7llh06fc27dcn6f7b8ydyl";
|
sha256 = "sha256-CJMGH50mNAkovccNcol5ArF3zUnZKfbVB9EXyQgu5k4=";
|
||||||
};
|
};
|
||||||
|
|
||||||
libdvdnav = fetchFromGitHub {
|
libdvdnav = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "libdvdnav";
|
repo = "libdvdnav";
|
||||||
rev = "6.0.0-Leia-Alpha-3";
|
rev = "6.1.1-Next-Nexus-Alpha2-2";
|
||||||
sha256 = "0qwlf4lgahxqxk1r2pzl866mi03pbp7l1fc0rk522sc0ak2s9jhb";
|
sha256 = "sha256-m8SCjOokVbwJ7eVfYKHap1pQjVbI+BXaoxhGZQIg0+k=";
|
||||||
};
|
};
|
||||||
|
|
||||||
libdvdread = fetchFromGitHub {
|
libdvdread = fetchFromGitHub {
|
||||||
owner = "xbmc";
|
owner = "xbmc";
|
||||||
repo = "libdvdread";
|
repo = "libdvdread";
|
||||||
rev = "6.0.0-Leia-Alpha-3";
|
rev = "6.1.3-Next-Nexus-Alpha2-2";
|
||||||
sha256 = "1xxn01mhkdnp10cqdr357wx77vyzfb5glqpqyg8m0skyi75aii59";
|
sha256 = "sha256-AphBQhXud+a6wm52zjzC5biz53NnqWdgpL2QDt2ZuXc=";
|
||||||
};
|
};
|
||||||
|
|
||||||
kodi_platforms = lib.optional gbmSupport "gbm"
|
kodi_platforms = lib.optional gbmSupport "gbm"
|
||||||
|
@ -107,22 +109,6 @@ in stdenv.mkDerivation {
|
||||||
|
|
||||||
src = kodi_src;
|
src = kodi_src;
|
||||||
|
|
||||||
patches = [
|
|
||||||
# This is a backport of
|
|
||||||
# https://github.com/xbmc/xbmc/commit/a6dedce7ba1f03bdd83b019941d1e369a06f7888
|
|
||||||
# to Kodi 19.4 Matrix.
|
|
||||||
# This can be removed once a new major release of Kodi comes out and we upgrade
|
|
||||||
# to it.
|
|
||||||
./add-KODI_WEBSERVER_EXTRA_WHITELIST.patch
|
|
||||||
|
|
||||||
# A patch to fix build until the next major release of Kodi comes out and we upgrade
|
|
||||||
# https://github.com/xbmc/xbmc/pull/22291
|
|
||||||
(fetchpatch {
|
|
||||||
url = "https://github.com/xbmc/xbmc/commit/5449652abf0bb9dddd0d796de4120e60f19f89a5.patch";
|
|
||||||
sha256 = "sha256-vqX08dTSPhIur4aVu2BzXEpAxMOjaadwRNI43GSV9Og=";
|
|
||||||
})
|
|
||||||
];
|
|
||||||
|
|
||||||
buildInputs = [
|
buildInputs = [
|
||||||
gnutls libidn libtasn1 nasm p11-kit
|
gnutls libidn libtasn1 nasm p11-kit
|
||||||
libxml2 python3Packages.python
|
libxml2 python3Packages.python
|
||||||
|
@ -196,6 +182,7 @@ in stdenv.mkDerivation {
|
||||||
"-DGIT_VERSION=${kodiReleaseDate}"
|
"-DGIT_VERSION=${kodiReleaseDate}"
|
||||||
"-DENABLE_EVENTCLIENTS=ON"
|
"-DENABLE_EVENTCLIENTS=ON"
|
||||||
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
"-DENABLE_INTERNAL_CROSSGUID=OFF"
|
||||||
|
"-DENABLE_INTERNAL_RapidJSON=OFF"
|
||||||
"-DENABLE_OPTICAL=ON"
|
"-DENABLE_OPTICAL=ON"
|
||||||
"-DLIRC_DEVICE=/run/lirc/lircd"
|
"-DLIRC_DEVICE=/run/lirc/lircd"
|
||||||
"-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
|
"-DSWIG_EXECUTABLE=${buildPackages.swig}/bin/swig"
|
||||||
|
|
|
@ -9,7 +9,7 @@ in
|
||||||
let self = rec {
|
let self = rec {
|
||||||
|
|
||||||
addonDir = "/share/kodi/addons";
|
addonDir = "/share/kodi/addons";
|
||||||
rel = "Matrix";
|
rel = "Nexus";
|
||||||
|
|
||||||
callPackage = newScope self;
|
callPackage = newScope self;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue