Merge pull request #116493 from aanderse/kodi-wip
kodi.packages: refactor, netflix: init at 1.14.1
This commit is contained in:
commit
67272ac8fa
31 changed files with 706 additions and 591 deletions
|
@ -0,0 +1,23 @@
|
||||||
|
{ writeShellScript
|
||||||
|
, nix
|
||||||
|
, curl
|
||||||
|
, gzip
|
||||||
|
, xmlstarlet
|
||||||
|
, common-updater-scripts
|
||||||
|
}:
|
||||||
|
|
||||||
|
{ attrPath }:
|
||||||
|
|
||||||
|
let
|
||||||
|
url = "http://mirrors.kodi.tv/addons/matrix/addons.xml.gz";
|
||||||
|
updateScript = writeShellScript "update.sh" ''
|
||||||
|
set -ex
|
||||||
|
|
||||||
|
attrPath=$1
|
||||||
|
namespace=$(${nix}/bin/nix-instantiate $systemArg --eval -E "with import ./. {}; $attrPath.namespace" | tr -d '"')
|
||||||
|
version=$(${curl}/bin/curl -s -L ${url} | ${gzip}/bin/gunzip -c | ${xmlstarlet}/bin/xml select -T -t -m "//addons/addon[@id='$namespace']" -v @version)
|
||||||
|
|
||||||
|
${common-updater-scripts}/bin/update-source-version "$attrPath" "$version"
|
||||||
|
'';
|
||||||
|
in
|
||||||
|
[ updateScript attrPath ]
|
21
pkgs/applications/video/kodi-packages/certifi/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/certifi/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "certifi";
|
||||||
|
namespace = "script.module.certifi";
|
||||||
|
version = "2019.11.28+matrix.1";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||||
|
sha256 = "0vsd68izv1ix0hb1gm74qq3zff0sxmhfhjyh7y9005zzp2gpi62v";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
attrPath = "kodi.packages.certifi";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://certifi.io";
|
||||||
|
description = "Python package for providing Mozilla's CA Bundle";
|
||||||
|
license = licenses.mpl20;
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/applications/video/kodi-packages/chardet/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/chardet/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "chardet";
|
||||||
|
namespace = "script.module.chardet";
|
||||||
|
version = "3.0.4+matrix.3";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||||
|
sha256 = "05928dj4fsj2zg8ajdial3sdf8izddq64sr0al3zy1gqw91jp80f";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
attrPath = "kodi.packages.chardet";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/Freso/script.module.chardet";
|
||||||
|
description = "Universal encoding detector";
|
||||||
|
license = licenses.lgpl2Only;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchFromGitHub, controller }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "game-controller-${controller}";
|
||||||
|
namespace = "game.controller.${controller}";
|
||||||
|
version = "1.0.3";
|
||||||
|
|
||||||
|
sourceDir = "addons/" + namespace;
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kodi-game";
|
||||||
|
repo = "kodi-game-controllers";
|
||||||
|
rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18";
|
||||||
|
sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Add support for different gaming controllers.";
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ edwtjo ];
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/applications/video/kodi-packages/idna/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/idna/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "idna";
|
||||||
|
namespace = "script.module.idna";
|
||||||
|
version = "2.8.1+matrix.1";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||||
|
sha256 = "02s75fhfmbs3a38wvxba51aj3lv5bidshjdkl6yjfji6waxpr9xh";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
attrPath = "kodi.packages.idna";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/Freso/script.module.idna";
|
||||||
|
description = "Internationalized Domain Names for Python";
|
||||||
|
license = licenses.bsd3;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
{ stdenv, lib, rel, addonDir, buildKodiBinaryAddon, fetchFromGitHub, expat, glib, nspr, nss }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = "inputstream-adaptive";
|
||||||
|
namespace = "inputstream.adaptive";
|
||||||
|
version = "2.6.7";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "peak3d";
|
||||||
|
repo = "inputstream.adaptive";
|
||||||
|
rev = "${version}-${rel}";
|
||||||
|
sha256 = "1pwqmbr78wp12jn6rwv63npdfc456adwz0amlxf6gvgg43li6p7s";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildInputs = [ expat ];
|
||||||
|
|
||||||
|
extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];
|
||||||
|
|
||||||
|
extraInstallPhase = let n = namespace; in ''
|
||||||
|
ln -s $out/lib/addons/${n}/libssd_wv.so $out/${addonDir}/${n}/libssd_wv.so
|
||||||
|
'';
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/peak3d/inputstream.adaptive";
|
||||||
|
description = "Kodi inputstream addon for several manifest types";
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ sephalon ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "inputstreamhelper";
|
||||||
|
namespace = "script.module.inputstreamhelper";
|
||||||
|
version = "0.5.2+matrix.1";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||||
|
sha256 = "18lkksljfa57w69yklbldf7dgyykrm84pd10mdjdqdm88fdiiijk";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
attrPath = "kodi.packages.inputstreamhelper";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/emilsvennesson/script.module.inputstreamhelper";
|
||||||
|
description = "A simple Kodi module that makes life easier for add-on developers relying on InputStream based add-ons and DRM playback";
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/applications/video/kodi-packages/joystick/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/joystick/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml, udev }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
|
namespace = "peripheral.joystick";
|
||||||
|
version = "1.7.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = namespace;
|
||||||
|
rev = "${version}-${rel}";
|
||||||
|
sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Binary addon for raw joystick input.";
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ edwtjo ];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildInputs = [ tinyxml udev ];
|
||||||
|
}
|
|
@ -0,0 +1,15 @@
|
||||||
|
{ stdenv, fetchFromGitHub, cmake, kodi, libcec_platform, tinyxml }:
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
pname = "kodi-platform";
|
||||||
|
version = "17.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = pname;
|
||||||
|
rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
|
||||||
|
sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [ kodi libcec_platform tinyxml ];
|
||||||
|
}
|
21
pkgs/applications/video/kodi-packages/myconnpy/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/myconnpy/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "myconnpy";
|
||||||
|
namespace = "script.module.myconnpy";
|
||||||
|
version = "8.0.18+matrix.1";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||||
|
sha256 = "1cx3qdzw9lkkmbyvyrmc2i193is20fihn2sfl7kmv43f708vam0k";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
attrPath = "kodi.packages.myconnpy";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "http://dev.mysql.com/doc/connector-python/en/index.html";
|
||||||
|
description = "MySQL Connector/Python";
|
||||||
|
license = licenses.gpl2Only;
|
||||||
|
};
|
||||||
|
}
|
26
pkgs/applications/video/kodi-packages/netflix/default.nix
Normal file
26
pkgs/applications/video/kodi-packages/netflix/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ lib, buildKodiAddon, fetchFromGitHub, signals, inputstreamhelper, requests, myconnpy }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "netflix";
|
||||||
|
namespace = "plugin.video.netflix";
|
||||||
|
version = "1.14.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "CastagnaIT";
|
||||||
|
repo = namespace;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0vv3234gg4brp0gvrsl4vdskmpfbyk4z7cjmmj31zn4m8j33japn";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
signals
|
||||||
|
inputstreamhelper
|
||||||
|
requests
|
||||||
|
myconnpy
|
||||||
|
];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/CastagnaIT/plugin.video.netflix";
|
||||||
|
description = "Netflix VOD Services Add-on";
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/applications/video/kodi-packages/osmc-skin/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/osmc-skin/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchFromGitHub }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "osmc-skin";
|
||||||
|
namespace = "skin.osmc";
|
||||||
|
version = "18.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "osmc";
|
||||||
|
repo = namespace;
|
||||||
|
rev = "40a6c318641e2cbeac58fb0e7dde9c2beac737a0";
|
||||||
|
sha256 = "1l7hyfj5zvjxjdm94y325bmy1naak455b9l8952sb0gllzrcwj6s";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/osmc/skin.osmc";
|
||||||
|
description = "The default skin for OSMC";
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ worldofpeace ];
|
||||||
|
license = licenses.cc-by-nc-sa-30;
|
||||||
|
};
|
||||||
|
}
|
19
pkgs/applications/video/kodi-packages/pdfreader/default.nix
Normal file
19
pkgs/applications/video/kodi-packages/pdfreader/default.nix
Normal file
|
@ -0,0 +1,19 @@
|
||||||
|
{ lib, buildKodiAddon, fetchFromGitHub }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "pdfreader";
|
||||||
|
namespace = "plugin.image.pdf";
|
||||||
|
version = "2.0.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "i96751414";
|
||||||
|
repo = "plugin.image.pdfreader";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0nkqhlm1gyagq6xpdgqvd5qxyr2ngpml9smdmzfabc8b972mwjml";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://forum.kodi.tv/showthread.php?tid=187421";
|
||||||
|
description = "A comic book reader";
|
||||||
|
maintainers = with maintainers; [ edwtjo ];
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, jsoncpp, libhdhomerun }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = "pvr-hdhomerun";
|
||||||
|
namespace = "pvr.hdhomerun";
|
||||||
|
version = "7.1.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kodi-pvr";
|
||||||
|
repo = "pvr.hdhomerun";
|
||||||
|
rev = "${version}-${rel}";
|
||||||
|
sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/kodi-pvr/pvr.hdhomerun";
|
||||||
|
description = "Kodi's HDHomeRun PVR client addon";
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ titanous ];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildInputs = [ jsoncpp libhdhomerun ];
|
||||||
|
}
|
21
pkgs/applications/video/kodi-packages/pvr-hts/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/pvr-hts/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = "pvr-hts";
|
||||||
|
namespace = "pvr.hts";
|
||||||
|
version = "8.2.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kodi-pvr";
|
||||||
|
repo = "pvr.hts";
|
||||||
|
rev = "${version}-${rel}";
|
||||||
|
sha256 = "0jnn9gfjl556acqjf92wzzn371gxymhbbi665nqgg2gjcan0a49q";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/kodi-pvr/pvr.hts";
|
||||||
|
description = "Kodi's Tvheadend HTSP client addon";
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ cpages ];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, zlib, pugixml }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = "pvr-iptvsimple";
|
||||||
|
namespace = "pvr.iptvsimple";
|
||||||
|
version = "7.4.2";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kodi-pvr";
|
||||||
|
repo = "pvr.iptvsimple";
|
||||||
|
rev = "${version}-${rel}";
|
||||||
|
sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/kodi-pvr/pvr.iptvsimple";
|
||||||
|
description = "Kodi's IPTV Simple client addon";
|
||||||
|
platforms = platforms.all;
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildInputs = [ zlib pugixml ];
|
||||||
|
}
|
28
pkgs/applications/video/kodi-packages/requests/default.nix
Normal file
28
pkgs/applications/video/kodi-packages/requests/default.nix
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, certifi, chardet, idna, urllib3 }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "requests";
|
||||||
|
namespace = "script.module.requests";
|
||||||
|
version = "2.22.0+matrix.1";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||||
|
sha256 = "09576galkyzhw8fhy2h4aablm5rm2v08g0mdmg9nn55dlxhkkljq";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [
|
||||||
|
certifi
|
||||||
|
chardet
|
||||||
|
idna
|
||||||
|
urllib3
|
||||||
|
];
|
||||||
|
|
||||||
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
attrPath = "kodi.packages.requests";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "http://python-requests.org";
|
||||||
|
description = "Python HTTP for Humans";
|
||||||
|
license = licenses.asl20;
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/applications/video/kodi-packages/signals/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/signals/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "signals";
|
||||||
|
namespace = "script.module.addon.signals";
|
||||||
|
version = "0.0.6+matrix.1";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||||
|
sha256 = "1qcjbakch8hvx02wc01zv014nmzgn6ahc4n2bj5mzr114ppd3hjs";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
attrPath = "kodi.packages.signals";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://github.com/ruuk/script.module.addon.signals";
|
||||||
|
description = "Provides signal/slot mechanism for inter-addon communication";
|
||||||
|
license = licenses.lgpl21Only;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ lib, buildKodiBinaryAddon, fetchFromGitHub, libusb1 }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
|
namespace = "peripheral.steamcontroller";
|
||||||
|
version = "0.11.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "kodi-game";
|
||||||
|
repo = namespace;
|
||||||
|
rev = "f68140ca44f163a03d3a625d1f2005a6edef96cb";
|
||||||
|
sha256 = "09lm8i119xlsxxk0c64rnp8iw0crr90v7m8iwi9r31qdmxrdxpmg";
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildInputs = [ libusb1 ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "Binary addon for steam controller.";
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ edwtjo ];
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
|
@ -0,0 +1,28 @@
|
||||||
|
{ lib, buildKodiAddon, fetchFromGitHub, steam }:
|
||||||
|
buildKodiAddon {
|
||||||
|
pname = "steam-launcher";
|
||||||
|
namespace = "script.steam.launcher";
|
||||||
|
version = "3.5.1";
|
||||||
|
|
||||||
|
src = fetchFromGitHub rec {
|
||||||
|
owner = "teeedubb";
|
||||||
|
repo = owner + "-xbmc-repo";
|
||||||
|
rev = "8260bf9b464846a1f1965da495d2f2b7ceb81d55";
|
||||||
|
sha256 = "1fj3ry5s44nf1jzxk4bmnpa4b9p23nrpmpj2a4i6xf94h7jl7p5k";
|
||||||
|
};
|
||||||
|
|
||||||
|
propagatedBuildInputs = [ steam ];
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://forum.kodi.tv/showthread.php?tid=157499";
|
||||||
|
description = "Launch Steam in Big Picture Mode from Kodi";
|
||||||
|
longDescription = ''
|
||||||
|
This add-on will close/minimise Kodi, launch Steam in Big
|
||||||
|
Picture Mode and when Steam BPM is exited (either by quitting
|
||||||
|
Steam or returning to the desktop) Kodi will
|
||||||
|
restart/maximise. Running pre/post Steam scripts can be
|
||||||
|
configured via the addon.
|
||||||
|
'';
|
||||||
|
maintainers = with maintainers; [ edwtjo ];
|
||||||
|
};
|
||||||
|
}
|
26
pkgs/applications/video/kodi-packages/svtplay/default.nix
Normal file
26
pkgs/applications/video/kodi-packages/svtplay/default.nix
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
{ lib, buildKodiAddon, fetchFromGitHub }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "svtplay";
|
||||||
|
namespace = "plugin.video.svtplay";
|
||||||
|
version = "5.1.12";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "nilzen";
|
||||||
|
repo = "xbmc-" + pname;
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://forum.kodi.tv/showthread.php?tid=67110";
|
||||||
|
description = "Watch content from SVT Play";
|
||||||
|
longDescription = ''
|
||||||
|
With this addon you can stream content from SVT Play
|
||||||
|
(svtplay.se). The plugin fetches the video URL from the SVT
|
||||||
|
Play website and feeds it to the Kodi video player. HLS (m3u8)
|
||||||
|
is the preferred video format by the plugin.
|
||||||
|
'';
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ edwtjo ];
|
||||||
|
};
|
||||||
|
}
|
21
pkgs/applications/video/kodi-packages/urllib3/default.nix
Normal file
21
pkgs/applications/video/kodi-packages/urllib3/default.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||||
|
buildKodiAddon rec {
|
||||||
|
pname = "urllib3";
|
||||||
|
namespace = "script.module.urllib3";
|
||||||
|
version = "1.25.8+matrix.1";
|
||||||
|
|
||||||
|
src = fetchzip {
|
||||||
|
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||||
|
sha256 = "080yq8ns0sag6rmdag1hjwi0whcmp35wzqjp3by92m81cpszs75q";
|
||||||
|
};
|
||||||
|
|
||||||
|
passthru.updateScript = addonUpdateScript {
|
||||||
|
attrPath = "kodi.packages.urllib3";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
homepage = "https://urllib3.readthedocs.io/en/latest/";
|
||||||
|
description = "HTTP library with thread-safe connection pooling, file post, and more";
|
||||||
|
license = licenses.mit;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,22 @@
|
||||||
|
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libarchive, lzma, bzip2, zlib, lz4, lzo, openssl }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
|
namespace = "vfs.libarchive";
|
||||||
|
version = "2.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = namespace;
|
||||||
|
rev = "${version}-${rel}";
|
||||||
|
sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "LibArchive Virtual Filesystem add-on for Kodi";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ minijackson ];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ];
|
||||||
|
}
|
22
pkgs/applications/video/kodi-packages/vfs-sftp/default.nix
Normal file
22
pkgs/applications/video/kodi-packages/vfs-sftp/default.nix
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, openssl, libssh, zlib }:
|
||||||
|
buildKodiBinaryAddon rec {
|
||||||
|
pname = namespace;
|
||||||
|
namespace = "vfs.sftp";
|
||||||
|
version = "2.0.0";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "xbmc";
|
||||||
|
repo = namespace;
|
||||||
|
rev = "${version}-${rel}";
|
||||||
|
sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk";
|
||||||
|
};
|
||||||
|
|
||||||
|
meta = with lib; {
|
||||||
|
description = "SFTP Virtual Filesystem add-on for Kodi";
|
||||||
|
license = licenses.gpl2Plus;
|
||||||
|
platforms = platforms.all;
|
||||||
|
maintainers = with maintainers; [ minijackson ];
|
||||||
|
};
|
||||||
|
|
||||||
|
extraBuildInputs = [ openssl libssh zlib ];
|
||||||
|
}
|
21
pkgs/applications/video/kodi/build-kodi-addon.nix
Normal file
21
pkgs/applications/video/kodi/build-kodi-addon.nix
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{ stdenv, toKodiAddon, addonDir }:
|
||||||
|
{ name ? "${attrs.pname}-${attrs.version}"
|
||||||
|
, namespace
|
||||||
|
, sourceDir ? ""
|
||||||
|
, ... } @ attrs:
|
||||||
|
toKodiAddon (stdenv.mkDerivation ({
|
||||||
|
name = "kodi-" + name;
|
||||||
|
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
|
extraRuntimeDependencies = [ ];
|
||||||
|
|
||||||
|
installPhase = ''
|
||||||
|
cd $src/$sourceDir
|
||||||
|
d=$out${addonDir}/${namespace}
|
||||||
|
mkdir -p $d
|
||||||
|
sauce="."
|
||||||
|
[ -d ${namespace} ] && sauce=${namespace}
|
||||||
|
cp -R "$sauce/"* $d
|
||||||
|
'';
|
||||||
|
} // attrs))
|
31
pkgs/applications/video/kodi/build-kodi-binary-addon.nix
Normal file
31
pkgs/applications/video/kodi/build-kodi-binary-addon.nix
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
{ stdenv, toKodiAddon, addonDir, cmake, kodi, kodi-platform, libcec_platform }:
|
||||||
|
{ name ? "${attrs.pname}-${attrs.version}"
|
||||||
|
, namespace
|
||||||
|
, version
|
||||||
|
, extraBuildInputs ? []
|
||||||
|
, extraRuntimeDependencies ? []
|
||||||
|
, extraInstallPhase ? "", ... } @ attrs:
|
||||||
|
toKodiAddon (stdenv.mkDerivation ({
|
||||||
|
name = "kodi-" + name;
|
||||||
|
|
||||||
|
dontStrip = true;
|
||||||
|
|
||||||
|
nativeBuildInputs = [ cmake ];
|
||||||
|
buildInputs = [ kodi kodi-platform libcec_platform ] ++ extraBuildInputs;
|
||||||
|
|
||||||
|
inherit extraRuntimeDependencies;
|
||||||
|
|
||||||
|
# disables check ensuring install prefix is that of kodi
|
||||||
|
cmakeFlags = [
|
||||||
|
"-DOVERRIDE_PATHS=1"
|
||||||
|
];
|
||||||
|
|
||||||
|
# kodi checks for addon .so libs existance in the addon folder (share/...)
|
||||||
|
# and the non-wrapped kodi lib/... folder before even trying to dlopen
|
||||||
|
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
|
||||||
|
installPhase = let n = namespace; in ''
|
||||||
|
make install
|
||||||
|
ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version}
|
||||||
|
${extraInstallPhase}
|
||||||
|
'';
|
||||||
|
} // attrs))
|
|
@ -1,7 +1,7 @@
|
||||||
{ callPackage, ... } @ args:
|
{ callPackage, ... } @ args:
|
||||||
let
|
let
|
||||||
unwrapped = callPackage ./unwrapped.nix (removeAttrs args [ "callPackage" ]);
|
unwrapped = callPackage ./unwrapped.nix (removeAttrs args [ "callPackage" ]);
|
||||||
kodiPackages = callPackage ./packages.nix { kodi = unwrapped; };
|
kodiPackages = callPackage ../../../top-level/kodi-packages.nix { kodi = unwrapped; };
|
||||||
in
|
in
|
||||||
unwrapped.overrideAttrs (oldAttrs: {
|
unwrapped.overrideAttrs (oldAttrs: {
|
||||||
passthru = oldAttrs.passthru // {
|
passthru = oldAttrs.passthru // {
|
||||||
|
|
|
@ -1,560 +0,0 @@
|
||||||
{ lib, stdenv, callPackage, fetchFromGitHub
|
|
||||||
, cmake, kodi, libcec_platform, tinyxml, pugixml
|
|
||||||
, steam, udev, libusb1, jsoncpp, libhdhomerun, zlib
|
|
||||||
, python3Packages, expat, glib, nspr, nss, openssl
|
|
||||||
, libssh, libarchive, lzma, bzip2, lz4, lzo }:
|
|
||||||
|
|
||||||
with lib;
|
|
||||||
|
|
||||||
let self = rec {
|
|
||||||
|
|
||||||
addonDir = "/share/kodi/addons";
|
|
||||||
rel = "Matrix";
|
|
||||||
|
|
||||||
inherit kodi;
|
|
||||||
|
|
||||||
# Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix
|
|
||||||
toKodiAddon = drv: drv.overrideAttrs(oldAttrs: {
|
|
||||||
# Use passthru in order to prevent rebuilds when possible.
|
|
||||||
passthru = (oldAttrs.passthru or {})// {
|
|
||||||
kodiAddonFor = kodi;
|
|
||||||
requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs;
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
# Check whether a derivation provides a Kodi addon.
|
|
||||||
hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi;
|
|
||||||
|
|
||||||
# Get list of required Kodi addons given a list of derivations.
|
|
||||||
requiredKodiAddons = drvs: let
|
|
||||||
modules = filter hasKodiAddon drvs;
|
|
||||||
in unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules));
|
|
||||||
|
|
||||||
kodi-platform = stdenv.mkDerivation rec {
|
|
||||||
project = "kodi-platform";
|
|
||||||
version = "17.1";
|
|
||||||
name = "${project}-${version}";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = project;
|
|
||||||
rev = "c8188d82678fec6b784597db69a68e74ff4986b5";
|
|
||||||
sha256 = "1r3gs3c6zczmm66qcxh9mr306clwb3p7ykzb70r3jv5jqggiz199";
|
|
||||||
};
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
buildInputs = [ kodi libcec_platform tinyxml ];
|
|
||||||
};
|
|
||||||
|
|
||||||
buildKodiAddon =
|
|
||||||
{ name ? "${attrs.pname}-${attrs.version}"
|
|
||||||
, namespace
|
|
||||||
, sourceDir ? ""
|
|
||||||
, ... } @ attrs:
|
|
||||||
toKodiAddon (stdenv.mkDerivation ({
|
|
||||||
name = "kodi-" + name;
|
|
||||||
|
|
||||||
dontStrip = true;
|
|
||||||
|
|
||||||
extraRuntimeDependencies = [ ];
|
|
||||||
|
|
||||||
installPhase = ''
|
|
||||||
cd $src/$sourceDir
|
|
||||||
d=$out${addonDir}/${namespace}
|
|
||||||
mkdir -p $d
|
|
||||||
sauce="."
|
|
||||||
[ -d ${namespace} ] && sauce=${namespace}
|
|
||||||
cp -R "$sauce/"* $d
|
|
||||||
'';
|
|
||||||
} // attrs));
|
|
||||||
|
|
||||||
buildKodiBinaryAddon =
|
|
||||||
{ name ? "${attrs.pname}-${attrs.version}"
|
|
||||||
, namespace
|
|
||||||
, version
|
|
||||||
, extraBuildInputs ? []
|
|
||||||
, extraRuntimeDependencies ? []
|
|
||||||
, extraInstallPhase ? "", ... } @ attrs:
|
|
||||||
toKodiAddon (stdenv.mkDerivation ({
|
|
||||||
name = "kodi-" + name;
|
|
||||||
|
|
||||||
dontStrip = true;
|
|
||||||
|
|
||||||
nativeBuildInputs = [ cmake ];
|
|
||||||
buildInputs = [ kodi kodi-platform libcec_platform ] ++ extraBuildInputs;
|
|
||||||
|
|
||||||
inherit extraRuntimeDependencies;
|
|
||||||
|
|
||||||
# disables check ensuring install prefix is that of kodi
|
|
||||||
cmakeFlags = [
|
|
||||||
"-DOVERRIDE_PATHS=1"
|
|
||||||
];
|
|
||||||
|
|
||||||
# kodi checks for addon .so libs existance in the addon folder (share/...)
|
|
||||||
# and the non-wrapped kodi lib/... folder before even trying to dlopen
|
|
||||||
# them. Symlinking .so, as setting LD_LIBRARY_PATH is of no use
|
|
||||||
installPhase = let n = namespace; in ''
|
|
||||||
make install
|
|
||||||
ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version}
|
|
||||||
${extraInstallPhase}
|
|
||||||
'';
|
|
||||||
} // attrs));
|
|
||||||
|
|
||||||
advanced-launcher = buildKodiAddon rec {
|
|
||||||
|
|
||||||
pname = "advanced-launcher";
|
|
||||||
namespace = "plugin.program.advanced.launcher";
|
|
||||||
version = "2.5.8";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "edwtjo";
|
|
||||||
repo = pname;
|
|
||||||
rev = version;
|
|
||||||
sha256 = "142vvgs37asq5m54xqhjzqvgmb0xlirvm0kz6lxaqynp0vvgrkx2";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://forum.kodi.tv/showthread.php?tid=85724";
|
|
||||||
description = "A program launcher for Kodi";
|
|
||||||
longDescription = ''
|
|
||||||
Advanced Launcher allows you to start any Linux, Windows and
|
|
||||||
macOS external applications (with command line support or not)
|
|
||||||
directly from the Kodi GUI. Advanced Launcher also give you
|
|
||||||
the possibility to edit, download (from Internet resources)
|
|
||||||
and manage all the meta-data (informations and images) related
|
|
||||||
to these applications.
|
|
||||||
'';
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
broken = true; # requires port to python3
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
advanced-emulator-launcher = buildKodiAddon rec {
|
|
||||||
|
|
||||||
pname = "advanced-emulator-launcher";
|
|
||||||
namespace = "plugin.program.advanced.emulator.launcher";
|
|
||||||
version = "0.9.6";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "Wintermute0110";
|
|
||||||
repo = namespace;
|
|
||||||
rev = version;
|
|
||||||
sha256 = "1sv9z77jj6bam6llcnd9b3dgkbvhwad2m1v541rv3acrackms2z2";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://forum.kodi.tv/showthread.php?tid=287826";
|
|
||||||
description = "A program launcher for Kodi";
|
|
||||||
longDescription = ''
|
|
||||||
Advanced Emulator Launcher is a multi-emulator front-end for Kodi
|
|
||||||
scalable to collections of thousands of ROMs. Includes offline scrapers
|
|
||||||
for MAME and No-Intro ROM sets and also supports scrapping ROM metadata
|
|
||||||
and artwork online. ROM auditing for No-Intro ROMs using No-Intro XML
|
|
||||||
DATs. Launching of games and standalone applications is also available.
|
|
||||||
'';
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
broken = true; # requires port to python3
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
controllers = let
|
|
||||||
pname = "game-controller";
|
|
||||||
version = "1.0.3";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "kodi-game";
|
|
||||||
repo = "kodi-game-controllers";
|
|
||||||
rev = "01acb5b6e8b85392b3cb298b034aadb1b24ccf18";
|
|
||||||
sha256 = "0sbc0w0fwbp7rbmbgb6a1kglhnn5g85hijcbbvf5x6jdq9v3f1qb";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Add support for different gaming controllers.";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
};
|
|
||||||
|
|
||||||
mkController = controller: {
|
|
||||||
${controller} = buildKodiAddon rec {
|
|
||||||
pname = pname + "-" + controller;
|
|
||||||
namespace = "game.controller." + controller;
|
|
||||||
sourceDir = "addons/" + namespace;
|
|
||||||
inherit version src meta;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
in (mkController "default")
|
|
||||||
// (mkController "dreamcast")
|
|
||||||
// (mkController "gba")
|
|
||||||
// (mkController "genesis")
|
|
||||||
// (mkController "mouse")
|
|
||||||
// (mkController "n64")
|
|
||||||
// (mkController "nes")
|
|
||||||
// (mkController "ps")
|
|
||||||
// (mkController "snes");
|
|
||||||
|
|
||||||
hyper-launcher = let
|
|
||||||
pname = "hyper-launcher";
|
|
||||||
version = "1.5.2";
|
|
||||||
src = fetchFromGitHub rec {
|
|
||||||
name = pname + "-" + version + ".tar.gz";
|
|
||||||
owner = "teeedubb";
|
|
||||||
repo = owner + "-xbmc-repo";
|
|
||||||
rev = "f958ba93fe85b9c9025b1745d89c2db2e7dd9bf6";
|
|
||||||
sha256 = "1dvff24fbas25k5kvca4ssks9l1g5rfa3hl8lqxczkaqi3pp41j5";
|
|
||||||
};
|
|
||||||
meta = {
|
|
||||||
homepage = "https://forum.kodi.tv/showthread.php?tid=258159";
|
|
||||||
description = "A ROM launcher for Kodi that uses HyperSpin assets.";
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
broken = true; # requires port to python3
|
|
||||||
};
|
|
||||||
in {
|
|
||||||
service = buildKodiAddon {
|
|
||||||
pname = pname + "-service";
|
|
||||||
version = "1.2.1";
|
|
||||||
namespace = "service.hyper.launcher";
|
|
||||||
inherit src meta;
|
|
||||||
};
|
|
||||||
plugin = buildKodiAddon {
|
|
||||||
namespace = "plugin.hyper.launcher";
|
|
||||||
inherit pname version src meta;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
joystick = buildKodiBinaryAddon rec {
|
|
||||||
pname = namespace;
|
|
||||||
namespace = "peripheral.joystick";
|
|
||||||
version = "1.7.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = namespace;
|
|
||||||
rev = "${version}-${rel}";
|
|
||||||
sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Binary addon for raw joystick input.";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraBuildInputs = [ tinyxml udev ];
|
|
||||||
};
|
|
||||||
|
|
||||||
simpleplugin = buildKodiAddon rec {
|
|
||||||
pname = "simpleplugin";
|
|
||||||
namespace = "script.module.simpleplugin";
|
|
||||||
version = "2.3.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "romanvm";
|
|
||||||
repo = namespace;
|
|
||||||
rev = "v.${version}";
|
|
||||||
sha256 = "0myar8dqjigb75pcc8zx3i5z79p1ifgphgb82s5syqywk0zaxm3j";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = src.meta.homepage;
|
|
||||||
description = "Simpleplugin API";
|
|
||||||
license = licenses.gpl3;
|
|
||||||
broken = true; # requires port to python3
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
svtplay = buildKodiAddon rec {
|
|
||||||
|
|
||||||
pname = "svtplay";
|
|
||||||
namespace = "plugin.video.svtplay";
|
|
||||||
version = "5.1.12";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
name = pname + "-" + version + ".tar.gz";
|
|
||||||
owner = "nilzen";
|
|
||||||
repo = "xbmc-" + pname;
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "04j1nhm7mh9chs995lz6bv1vsq5xzk7a7c0lmk4bnfv8jrfpj0w6";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://forum.kodi.tv/showthread.php?tid=67110";
|
|
||||||
description = "Watch content from SVT Play";
|
|
||||||
longDescription = ''
|
|
||||||
With this addon you can stream content from SVT Play
|
|
||||||
(svtplay.se). The plugin fetches the video URL from the SVT
|
|
||||||
Play website and feeds it to the Kodi video player. HLS (m3u8)
|
|
||||||
is the preferred video format by the plugin.
|
|
||||||
'';
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
steam-controller = buildKodiBinaryAddon rec {
|
|
||||||
pname = namespace;
|
|
||||||
namespace = "peripheral.steamcontroller";
|
|
||||||
version = "0.11.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "kodi-game";
|
|
||||||
repo = namespace;
|
|
||||||
rev = "f68140ca44f163a03d3a625d1f2005a6edef96cb";
|
|
||||||
sha256 = "09lm8i119xlsxxk0c64rnp8iw0crr90v7m8iwi9r31qdmxrdxpmg";
|
|
||||||
};
|
|
||||||
|
|
||||||
extraBuildInputs = [ libusb1 ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
description = "Binary addon for steam controller.";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
steam-launcher = buildKodiAddon {
|
|
||||||
|
|
||||||
pname = "steam-launcher";
|
|
||||||
namespace = "script.steam.launcher";
|
|
||||||
version = "3.5.1";
|
|
||||||
|
|
||||||
src = fetchFromGitHub rec {
|
|
||||||
owner = "teeedubb";
|
|
||||||
repo = owner + "-xbmc-repo";
|
|
||||||
rev = "8260bf9b464846a1f1965da495d2f2b7ceb81d55";
|
|
||||||
sha256 = "1fj3ry5s44nf1jzxk4bmnpa4b9p23nrpmpj2a4i6xf94h7jl7p5k";
|
|
||||||
};
|
|
||||||
|
|
||||||
propagatedBuildInputs = [ steam ];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://forum.kodi.tv/showthread.php?tid=157499";
|
|
||||||
description = "Launch Steam in Big Picture Mode from Kodi";
|
|
||||||
longDescription = ''
|
|
||||||
This add-on will close/minimise Kodi, launch Steam in Big
|
|
||||||
Picture Mode and when Steam BPM is exited (either by quitting
|
|
||||||
Steam or returning to the desktop) Kodi will
|
|
||||||
restart/maximise. Running pre/post Steam scripts can be
|
|
||||||
configured via the addon.
|
|
||||||
'';
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pdfreader = buildKodiAddon rec {
|
|
||||||
pname = "pdfreader";
|
|
||||||
namespace = "plugin.image.pdf";
|
|
||||||
version = "2.0.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "i96751414";
|
|
||||||
repo = "plugin.image.pdfreader";
|
|
||||||
rev = "v${version}";
|
|
||||||
sha256 = "0nkqhlm1gyagq6xpdgqvd5qxyr2ngpml9smdmzfabc8b972mwjml";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://forum.kodi.tv/showthread.php?tid=187421";
|
|
||||||
description = "A comic book reader";
|
|
||||||
maintainers = with maintainers; [ edwtjo ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
pvr-hts = buildKodiBinaryAddon rec {
|
|
||||||
|
|
||||||
pname = "pvr-hts";
|
|
||||||
namespace = "pvr.hts";
|
|
||||||
version = "8.2.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "kodi-pvr";
|
|
||||||
repo = "pvr.hts";
|
|
||||||
rev = "${version}-${rel}";
|
|
||||||
sha256 = "0jnn9gfjl556acqjf92wzzn371gxymhbbi665nqgg2gjcan0a49q";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/kodi-pvr/pvr.hts";
|
|
||||||
description = "Kodi's Tvheadend HTSP client addon";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ cpages ];
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
pvr-hdhomerun = buildKodiBinaryAddon rec {
|
|
||||||
|
|
||||||
pname = "pvr-hdhomerun";
|
|
||||||
namespace = "pvr.hdhomerun";
|
|
||||||
version = "7.1.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "kodi-pvr";
|
|
||||||
repo = "pvr.hdhomerun";
|
|
||||||
rev = "${version}-${rel}";
|
|
||||||
sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/kodi-pvr/pvr.hdhomerun";
|
|
||||||
description = "Kodi's HDHomeRun PVR client addon";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ titanous ];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraBuildInputs = [ jsoncpp libhdhomerun ];
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
pvr-iptvsimple = buildKodiBinaryAddon rec {
|
|
||||||
|
|
||||||
pname = "pvr-iptvsimple";
|
|
||||||
namespace = "pvr.iptvsimple";
|
|
||||||
version = "7.4.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "kodi-pvr";
|
|
||||||
repo = "pvr.iptvsimple";
|
|
||||||
rev = "${version}-${rel}";
|
|
||||||
sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/kodi-pvr/pvr.iptvsimple";
|
|
||||||
description = "Kodi's IPTV Simple client addon";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ ];
|
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
};
|
|
||||||
|
|
||||||
extraBuildInputs = [ zlib pugixml ];
|
|
||||||
};
|
|
||||||
|
|
||||||
osmc-skin = buildKodiAddon rec {
|
|
||||||
|
|
||||||
pname = "osmc-skin";
|
|
||||||
namespace = "skin.osmc";
|
|
||||||
version = "18.0.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "osmc";
|
|
||||||
repo = namespace;
|
|
||||||
rev = "40a6c318641e2cbeac58fb0e7dde9c2beac737a0";
|
|
||||||
sha256 = "1l7hyfj5zvjxjdm94y325bmy1naak455b9l8952sb0gllzrcwj6s";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/osmc/skin.osmc";
|
|
||||||
description = "The default skin for OSMC";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ worldofpeace ];
|
|
||||||
license = licenses.cc-by-nc-sa-30;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
yatp = python3Packages.toPythonModule (buildKodiAddon rec {
|
|
||||||
pname = "yatp";
|
|
||||||
namespace = "plugin.video.yatp";
|
|
||||||
version = "3.3.2";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "romanvm";
|
|
||||||
repo = "kodi.yatp";
|
|
||||||
rev = "v.${version}";
|
|
||||||
sha256 = "12g1f57sx7dy6wy7ljl7siz2qs1kxcmijcg7xx2xpvmq61x9qa2d";
|
|
||||||
};
|
|
||||||
|
|
||||||
patches = [ ./yatp/dont-monkey.patch ];
|
|
||||||
|
|
||||||
propagatedBuildInputs = [
|
|
||||||
simpleplugin
|
|
||||||
python3Packages.requests
|
|
||||||
python3Packages.libtorrent-rasterbar
|
|
||||||
];
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = src.meta.homepage;
|
|
||||||
description = "Yet Another Torrent Player: libtorrent-based torrent streaming for Kodi";
|
|
||||||
license = licenses.gpl3;
|
|
||||||
broken = true; # requires port to python3
|
|
||||||
};
|
|
||||||
});
|
|
||||||
|
|
||||||
inputstream-adaptive = buildKodiBinaryAddon rec {
|
|
||||||
|
|
||||||
pname = "inputstream-adaptive";
|
|
||||||
namespace = "inputstream.adaptive";
|
|
||||||
version = "2.6.7";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "peak3d";
|
|
||||||
repo = "inputstream.adaptive";
|
|
||||||
rev = "${version}-${rel}";
|
|
||||||
sha256 = "1pwqmbr78wp12jn6rwv63npdfc456adwz0amlxf6gvgg43li6p7s";
|
|
||||||
};
|
|
||||||
|
|
||||||
extraBuildInputs = [ expat ];
|
|
||||||
|
|
||||||
extraRuntimeDependencies = [ glib nspr nss stdenv.cc.cc.lib ];
|
|
||||||
|
|
||||||
extraInstallPhase = let n = namespace; in ''
|
|
||||||
ln -s $out/lib/addons/${n}/libssd_wv.so $out/${addonDir}/${n}/libssd_wv.so
|
|
||||||
'';
|
|
||||||
|
|
||||||
meta = {
|
|
||||||
homepage = "https://github.com/peak3d/inputstream.adaptive";
|
|
||||||
description = "Kodi inputstream addon for several manifest types";
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ sephalon ];
|
|
||||||
};
|
|
||||||
};
|
|
||||||
|
|
||||||
vfs-sftp = buildKodiBinaryAddon rec {
|
|
||||||
pname = namespace;
|
|
||||||
namespace = "vfs.sftp";
|
|
||||||
version = "2.0.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = namespace;
|
|
||||||
rev = "${version}-${rel}";
|
|
||||||
sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "SFTP Virtual Filesystem add-on for Kodi";
|
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ minijackson ];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraBuildInputs = [ openssl libssh zlib ];
|
|
||||||
};
|
|
||||||
|
|
||||||
vfs-libarchive = buildKodiBinaryAddon rec {
|
|
||||||
pname = namespace;
|
|
||||||
namespace = "vfs.libarchive";
|
|
||||||
version = "2.0.0";
|
|
||||||
|
|
||||||
src = fetchFromGitHub {
|
|
||||||
owner = "xbmc";
|
|
||||||
repo = namespace;
|
|
||||||
rev = "${version}-${rel}";
|
|
||||||
sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
|
|
||||||
};
|
|
||||||
|
|
||||||
meta = with lib; {
|
|
||||||
description = "LibArchive Virtual Filesystem add-on for Kodi";
|
|
||||||
license = licenses.gpl2Plus;
|
|
||||||
platforms = platforms.all;
|
|
||||||
maintainers = with maintainers; [ minijackson ];
|
|
||||||
};
|
|
||||||
|
|
||||||
extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ];
|
|
||||||
};
|
|
||||||
}; in self
|
|
|
@ -1,5 +1,10 @@
|
||||||
{ lib, makeWrapper, buildEnv, kodi, addons }:
|
{ lib, makeWrapper, buildEnv, kodi, addons }:
|
||||||
|
|
||||||
|
let
|
||||||
|
# linux distros are supposed to provide pillow and pycryptodome
|
||||||
|
requiredPythonPackages = with kodi.pythonPackages; [ pillow pycryptodome] ++ addons;
|
||||||
|
in
|
||||||
|
|
||||||
buildEnv {
|
buildEnv {
|
||||||
name = "${kodi.name}-env";
|
name = "${kodi.name}-env";
|
||||||
|
|
||||||
|
@ -13,7 +18,7 @@ buildEnv {
|
||||||
for exe in kodi{,-standalone}
|
for exe in kodi{,-standalone}
|
||||||
do
|
do
|
||||||
makeWrapper ${kodi}/bin/$exe $out/bin/$exe \
|
makeWrapper ${kodi}/bin/$exe $out/bin/$exe \
|
||||||
--prefix PYTHONPATH : ${kodi.pythonPackages.makePythonPath addons} \
|
--prefix PYTHONPATH : ${kodi.pythonPackages.makePythonPath requiredPythonPackages} \
|
||||||
--prefix KODI_HOME : $out/share/kodi \
|
--prefix KODI_HOME : $out/share/kodi \
|
||||||
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
--prefix LD_LIBRARY_PATH ":" "${lib.makeLibraryPath
|
||||||
(lib.concatMap
|
(lib.concatMap
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
diff --git a/plugin.video.yatp/server.py b/plugin.video.yatp/server.py
|
|
||||||
index 1adcbb5..488b72c 100644
|
|
||||||
--- a/plugin.video.yatp/server.py
|
|
||||||
+++ b/plugin.video.yatp/server.py
|
|
||||||
@@ -20,24 +20,8 @@ addon = Addon()
|
|
||||||
_ = addon.initialize_gettext()
|
|
||||||
addon.log_notice('Starting Torrent Server...')
|
|
||||||
|
|
||||||
-# A monkey-patch to set the necessary librorrent version
|
|
||||||
-librorrent_addon = Addon('script.module.libtorrent')
|
|
||||||
-orig_custom_version = librorrent_addon.get_setting('custom_version', False)
|
|
||||||
-orig_set_version = librorrent_addon.get_setting('set_version', False)
|
|
||||||
-librorrent_addon.set_setting('custom_version', 'true')
|
|
||||||
-if addon.libtorrent_version == '1.0.9':
|
|
||||||
- librorrent_addon.set_setting('set_version', '4')
|
|
||||||
-elif addon.libtorrent_version == '1.1.0':
|
|
||||||
- librorrent_addon.set_setting('set_version', '5')
|
|
||||||
-elif addon.libtorrent_version == '1.1.1':
|
|
||||||
- librorrent_addon.set_setting('set_version', '6')
|
|
||||||
-else:
|
|
||||||
- librorrent_addon.set_setting('set_version', '0')
|
|
||||||
-
|
|
||||||
from libs.server import wsgi_app
|
|
||||||
|
|
||||||
-librorrent_addon.set_setting('custom_version', orig_custom_version)
|
|
||||||
-librorrent_addon.set_setting('set_version', orig_set_version)
|
|
||||||
# ======
|
|
||||||
|
|
||||||
if addon.enable_limits:
|
|
113
pkgs/top-level/kodi-packages.nix
Normal file
113
pkgs/top-level/kodi-packages.nix
Normal file
|
@ -0,0 +1,113 @@
|
||||||
|
{ lib, newScope, kodi }:
|
||||||
|
|
||||||
|
with lib;
|
||||||
|
|
||||||
|
let self = rec {
|
||||||
|
|
||||||
|
addonDir = "/share/kodi/addons";
|
||||||
|
rel = "Matrix";
|
||||||
|
|
||||||
|
callPackage = newScope self;
|
||||||
|
|
||||||
|
inherit kodi;
|
||||||
|
|
||||||
|
# Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix
|
||||||
|
toKodiAddon = drv: drv.overrideAttrs (oldAttrs: {
|
||||||
|
# Use passthru in order to prevent rebuilds when possible.
|
||||||
|
passthru = (oldAttrs.passthru or {}) // {
|
||||||
|
kodiAddonFor = kodi;
|
||||||
|
requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs;
|
||||||
|
};
|
||||||
|
});
|
||||||
|
|
||||||
|
# Check whether a derivation provides a Kodi addon.
|
||||||
|
hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi;
|
||||||
|
|
||||||
|
# Get list of required Kodi addons given a list of derivations.
|
||||||
|
requiredKodiAddons = drvs:
|
||||||
|
let
|
||||||
|
modules = filter hasKodiAddon drvs;
|
||||||
|
in
|
||||||
|
unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules));
|
||||||
|
|
||||||
|
# package update scripts
|
||||||
|
|
||||||
|
addonUpdateScript = callPackage ../applications/video/kodi-packages/addon-update-script { };
|
||||||
|
|
||||||
|
# package builders
|
||||||
|
|
||||||
|
buildKodiAddon = callPackage ../applications/video/kodi/build-kodi-addon.nix { };
|
||||||
|
|
||||||
|
buildKodiBinaryAddon = callPackage ../applications/video/kodi/build-kodi-binary-addon.nix { };
|
||||||
|
|
||||||
|
# regular packages
|
||||||
|
|
||||||
|
kodi-platform = callPackage ../applications/video/kodi-packages/kodi-platform { };
|
||||||
|
|
||||||
|
# addon packages
|
||||||
|
|
||||||
|
controllers = {
|
||||||
|
default = callPackage ../applications/video/kodi-packages/controllers { controller = "default"; };
|
||||||
|
|
||||||
|
dreamcast = callPackage ../applications/video/kodi-packages/controllers { controller = "dreamcast"; };
|
||||||
|
|
||||||
|
gba = callPackage ../applications/video/kodi-packages/controllers { controller = "gba"; };
|
||||||
|
|
||||||
|
genesis = callPackage ../applications/video/kodi-packages/controllers { controller = "genesis"; };
|
||||||
|
|
||||||
|
mouse = callPackage ../applications/video/kodi-packages/controllers { controller = "mouse"; };
|
||||||
|
|
||||||
|
n64 = callPackage ../applications/video/kodi-packages/controllers { controller = "n64"; };
|
||||||
|
|
||||||
|
nes = callPackage ../applications/video/kodi-packages/controllers { controller = "nes"; };
|
||||||
|
|
||||||
|
ps = callPackage ../applications/video/kodi-packages/controllers { controller = "ps"; };
|
||||||
|
|
||||||
|
snes = callPackage ../applications/video/kodi-packages/controllers { controller = "snes"; };
|
||||||
|
};
|
||||||
|
|
||||||
|
joystick = callPackage ../applications/video/kodi-packages/joystick { };
|
||||||
|
|
||||||
|
netflix = callPackage ../applications/video/kodi-packages/netflix { };
|
||||||
|
|
||||||
|
svtplay = callPackage ../applications/video/kodi-packages/svtplay { };
|
||||||
|
|
||||||
|
steam-controller = callPackage ../applications/video/kodi-packages/steam-controller { };
|
||||||
|
|
||||||
|
steam-launcher = callPackage ../applications/video/kodi-packages/steam-launcher { };
|
||||||
|
|
||||||
|
pdfreader = callPackage ../applications/video/kodi-packages/pdfreader { };
|
||||||
|
|
||||||
|
pvr-hts = callPackage ../applications/video/kodi-packages/pvr-hts { };
|
||||||
|
|
||||||
|
pvr-hdhomerun = callPackage ../applications/video/kodi-packages/pvr-hdhomerun { };
|
||||||
|
|
||||||
|
pvr-iptvsimple = callPackage ../applications/video/kodi-packages/pvr-iptvsimple { };
|
||||||
|
|
||||||
|
osmc-skin = callPackage ../applications/video/kodi-packages/osmc-skin { };
|
||||||
|
|
||||||
|
vfs-sftp = callPackage ../applications/video/kodi-packages/vfs-sftp { };
|
||||||
|
|
||||||
|
vfs-libarchive = callPackage ../applications/video/kodi-packages/vfs-libarchive { };
|
||||||
|
|
||||||
|
# addon packages (dependencies)
|
||||||
|
|
||||||
|
certifi = callPackage ../applications/video/kodi-packages/certifi { };
|
||||||
|
|
||||||
|
chardet = callPackage ../applications/video/kodi-packages/chardet { };
|
||||||
|
|
||||||
|
idna = callPackage ../applications/video/kodi-packages/idna { };
|
||||||
|
|
||||||
|
inputstream-adaptive = callPackage ../applications/video/kodi-packages/inputstream-adaptive { };
|
||||||
|
|
||||||
|
inputstreamhelper = callPackage ../applications/video/kodi-packages/inputstreamhelper { };
|
||||||
|
|
||||||
|
myconnpy = callPackage ../applications/video/kodi-packages/myconnpy { };
|
||||||
|
|
||||||
|
requests = callPackage ../applications/video/kodi-packages/requests { };
|
||||||
|
|
||||||
|
signals = callPackage ../applications/video/kodi-packages/signals { };
|
||||||
|
|
||||||
|
urllib3 = callPackage ../applications/video/kodi-packages/urllib3 { };
|
||||||
|
|
||||||
|
}; in self
|
Loading…
Reference in a new issue