Merge master into staging-next
This commit is contained in:
commit
8739248897
35 changed files with 213 additions and 36 deletions
|
@ -97,6 +97,18 @@ with lib.maintainers; {
|
|||
scope = "Maintain Jitsi.";
|
||||
};
|
||||
|
||||
kodi = {
|
||||
members = [
|
||||
aanderse
|
||||
cpages
|
||||
edwtjo
|
||||
minijackson
|
||||
peterhoeg
|
||||
sephalon
|
||||
];
|
||||
scope = "Maintain Kodi and related packages.";
|
||||
};
|
||||
|
||||
matrix = {
|
||||
members = [
|
||||
ma27
|
||||
|
|
|
@ -93,10 +93,12 @@ in
|
|||
};
|
||||
|
||||
paths = mkOption {
|
||||
type = types.listOf types.str;
|
||||
default = [];
|
||||
type = types.nullOr (types.listOf types.str);
|
||||
default = null;
|
||||
description = ''
|
||||
Which paths to backup.
|
||||
Which paths to backup. If null or an empty array, no
|
||||
backup command will be run. This can be used to create a
|
||||
prune-only job.
|
||||
'';
|
||||
example = [
|
||||
"/var/lib/postgresql"
|
||||
|
@ -217,7 +219,7 @@ in
|
|||
resticCmd = "${pkgs.restic}/bin/restic${extraOptions}";
|
||||
filesFromTmpFile = "/run/restic-backups-${name}/includes";
|
||||
backupPaths = if (backup.dynamicFilesFrom == null)
|
||||
then concatStringsSep " " backup.paths
|
||||
then if (backup.paths != null) then concatStringsSep " " backup.paths else ""
|
||||
else "--files-from ${filesFromTmpFile}";
|
||||
pruneCmd = optionals (builtins.length backup.pruneOpts > 0) [
|
||||
( resticCmd + " forget --prune " + (concatStringsSep " " backup.pruneOpts) )
|
||||
|
@ -243,7 +245,8 @@ in
|
|||
restartIfChanged = false;
|
||||
serviceConfig = {
|
||||
Type = "oneshot";
|
||||
ExecStart = [ "${resticCmd} backup --cache-dir=%C/restic-backups-${name} ${concatStringsSep " " backup.extraBackupArgs} ${backupPaths}" ] ++ pruneCmd;
|
||||
ExecStart = (optionals (backupPaths != "") [ "${resticCmd} backup --cache-dir=%C/restic-backups-${name} ${concatStringsSep " " backup.extraBackupArgs} ${backupPaths}" ])
|
||||
++ pruneCmd;
|
||||
User = backup.user;
|
||||
RuntimeDirectory = "restic-backups-${name}";
|
||||
CacheDirectory = "restic-backups-${name}";
|
||||
|
|
|
@ -45,6 +45,10 @@ import ./make-test-python.nix (
|
|||
'';
|
||||
inherit passwordFile initialize paths pruneOpts;
|
||||
};
|
||||
remoteprune = {
|
||||
inherit repository passwordFile;
|
||||
pruneOpts = [ "--keep-last 1" ];
|
||||
};
|
||||
};
|
||||
|
||||
environment.sessionVariables.RCLONE_CONFIG_LOCAL_TYPE = "local";
|
||||
|
@ -84,6 +88,8 @@ import ./make-test-python.nix (
|
|||
"systemctl start restic-backups-rclonebackup.service",
|
||||
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
|
||||
'${pkgs.restic}/bin/restic -r ${rcloneRepository} -p ${passwordFile} snapshots -c | grep -e "^4 snapshot"',
|
||||
"systemctl start restic-backups-remoteprune.service",
|
||||
'${pkgs.restic}/bin/restic -r ${repository} -p ${passwordFile} snapshots -c | grep -e "^1 snapshot"',
|
||||
)
|
||||
'';
|
||||
}
|
||||
|
|
|
@ -17,5 +17,6 @@ buildKodiAddon rec {
|
|||
homepage = "https://certifi.io";
|
||||
description = "Python package for providing Mozilla's CA Bundle";
|
||||
license = licenses.mpl20;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,5 +17,6 @@ buildKodiAddon rec {
|
|||
homepage = "https://github.com/Freso/script.module.chardet";
|
||||
description = "Universal encoding detector";
|
||||
license = licenses.lgpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -16,6 +16,7 @@ buildKodiAddon rec {
|
|||
meta = with lib; {
|
||||
description = "Add support for different gaming controllers.";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
license = licenses.odbl;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
27
pkgs/applications/video/kodi-packages/dateutil/default.nix
Normal file
27
pkgs/applications/video/kodi-packages/dateutil/default.nix
Normal file
|
@ -0,0 +1,27 @@
|
|||
{ lib, buildKodiAddon, fetchzip, addonUpdateScript, six }:
|
||||
|
||||
buildKodiAddon rec {
|
||||
pname = "dateutil";
|
||||
namespace = "script.module.dateutil";
|
||||
version = "2.8.1+matrix.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||
sha256 = "1jr77017ihs7j3455i72af71wyvs792kbizq4539ccd98far8lm7";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
six
|
||||
];
|
||||
|
||||
passthru.updateScript = addonUpdateScript {
|
||||
attrPath = "kodi.packages.dateutil";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://dateutil.readthedocs.io/en/stable/";
|
||||
description = "Extensions to the standard Python datetime module";
|
||||
license = with licenses; [ asl20 bsd3 ];
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
|
@ -17,5 +17,6 @@ buildKodiAddon rec {
|
|||
homepage = "https://github.com/Freso/script.module.idna";
|
||||
description = "Internationalized Domain Names for Python";
|
||||
license = licenses.bsd3;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ buildKodiBinaryAddon rec {
|
|||
homepage = "https://github.com/peak3d/inputstream.adaptive";
|
||||
description = "Kodi inputstream addon for several manifest types";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ sephalon ];
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,5 +17,6 @@ buildKodiAddon rec {
|
|||
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;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
49
pkgs/applications/video/kodi-packages/jellyfin/default.nix
Normal file
49
pkgs/applications/video/kodi-packages/jellyfin/default.nix
Normal file
|
@ -0,0 +1,49 @@
|
|||
{ lib, addonDir, buildKodiAddon, fetchFromGitHub, kodi, requests, dateutil, six, kodi-six, signals }:
|
||||
let
|
||||
python = kodi.pythonPackages.python.withPackages (p: with p; [ pyyaml ]);
|
||||
in
|
||||
buildKodiAddon rec {
|
||||
pname = "jellyfin";
|
||||
namespace = "plugin.video.jellyfin";
|
||||
version = "0.7.1";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "jellyfin";
|
||||
repo = "jellyfin-kodi";
|
||||
rev = "v${version}";
|
||||
sha256 = "0fx20gmd5xlg59ks4433qh2b3jhbs5qrnc49zi4rkqqr4jr4nhnn";
|
||||
};
|
||||
|
||||
nativeBuildInputs = [
|
||||
python
|
||||
];
|
||||
|
||||
prePatch = ''
|
||||
substituteInPlace .config/generate_xml.py \
|
||||
--replace "'jellyfin-kodi/release.yaml'" "'release.yaml'" \
|
||||
--replace "'jellyfin-kodi/addon.xml'" "'addon.xml'"
|
||||
'';
|
||||
|
||||
buildPhase = ''
|
||||
${python}/bin/python3 .config/generate_xml.py py3
|
||||
'';
|
||||
|
||||
postInstall = ''
|
||||
mv /build/source/addon.xml $out${addonDir}/${namespace}/
|
||||
'';
|
||||
|
||||
propagatedBuildInputs = [
|
||||
requests
|
||||
dateutil
|
||||
six
|
||||
kodi-six
|
||||
signals
|
||||
];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://jellyfin.org/";
|
||||
description = "A whole new way to manage and view your media library";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
|
@ -11,11 +11,12 @@ buildKodiBinaryAddon rec {
|
|||
sha256 = "1dhj4afr9kj938xx70fq5r409mz6lbw4n581ljvdjj9lq7akc914";
|
||||
};
|
||||
|
||||
extraBuildInputs = [ tinyxml udev ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Binary addon for raw joystick input.";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
|
||||
extraBuildInputs = [ tinyxml udev ];
|
||||
}
|
||||
|
|
23
pkgs/applications/video/kodi-packages/kodi-six/default.nix
Normal file
23
pkgs/applications/video/kodi-packages/kodi-six/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||
|
||||
buildKodiAddon rec {
|
||||
pname = "kodi-six";
|
||||
namespace = "script.module.kodi-six";
|
||||
version = "0.1.3.1";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||
sha256 = "14m232p9hx925pbk8knsg994m1nbpa5278zmcrnfblh4z84gjv4x";
|
||||
};
|
||||
|
||||
passthru.updateScript = addonUpdateScript {
|
||||
attrPath = "kodi.packages.kodi-six";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/romanvm/kodi.six";
|
||||
description = "Wrappers around Kodi Python API for seamless Python 2/3 compatibility";
|
||||
license = licenses.gpl3Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
|
@ -17,5 +17,6 @@ buildKodiAddon rec {
|
|||
homepage = "http://dev.mysql.com/doc/connector-python/en/index.html";
|
||||
description = "MySQL Connector/Python";
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
{ lib, buildKodiAddon, fetchFromGitHub, signals, inputstreamhelper, requests, myconnpy }:
|
||||
{ lib, buildKodiAddon, fetchFromGitHub, signals, inputstream-adaptive, inputstreamhelper, requests, myconnpy }:
|
||||
|
||||
buildKodiAddon rec {
|
||||
pname = "netflix";
|
||||
namespace = "plugin.video.netflix";
|
||||
|
@ -13,6 +14,7 @@ buildKodiAddon rec {
|
|||
|
||||
propagatedBuildInputs = [
|
||||
signals
|
||||
inputstream-adaptive
|
||||
inputstreamhelper
|
||||
requests
|
||||
myconnpy
|
||||
|
@ -22,5 +24,6 @@ buildKodiAddon rec {
|
|||
homepage = "https://github.com/CastagnaIT/plugin.video.netflix";
|
||||
description = "Netflix VOD Services Add-on";
|
||||
license = licenses.mit;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ buildKodiAddon rec {
|
|||
meta = with lib; {
|
||||
homepage = "https://forum.kodi.tv/showthread.php?tid=187421";
|
||||
description = "A comic book reader";
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,12 +11,13 @@ buildKodiBinaryAddon rec {
|
|||
sha256 = "0gbwjssnd319csq2kwlyjj1rskg19m1dxac5dl2dymvx5hn3zrgm";
|
||||
};
|
||||
|
||||
extraBuildInputs = [ jsoncpp libhdhomerun ];
|
||||
|
||||
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 ];
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
|
||||
extraBuildInputs = [ jsoncpp libhdhomerun ];
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ buildKodiBinaryAddon rec {
|
|||
homepage = "https://github.com/kodi-pvr/pvr.hts";
|
||||
description = "Kodi's Tvheadend HTSP client addon";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ cpages ];
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -11,12 +11,13 @@ buildKodiBinaryAddon rec {
|
|||
sha256 = "062i922qi0izkvn7v47yhyy2cf3fa7xc3k95b1gm9abfdwkk8ywr";
|
||||
};
|
||||
|
||||
extraBuildInputs = [ zlib pugixml ];
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://github.com/kodi-pvr/pvr.iptvsimple";
|
||||
description = "Kodi's IPTV Simple client addon";
|
||||
platforms = platforms.all;
|
||||
license = licenses.gpl2Plus;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
|
||||
extraBuildInputs = [ zlib pugixml ];
|
||||
}
|
||||
|
|
|
@ -24,5 +24,6 @@ buildKodiAddon rec {
|
|||
homepage = "http://python-requests.org";
|
||||
description = "Python HTTP for Humans";
|
||||
license = licenses.asl20;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,5 +17,6 @@ buildKodiAddon rec {
|
|||
homepage = "https://github.com/ruuk/script.module.addon.signals";
|
||||
description = "Provides signal/slot mechanism for inter-addon communication";
|
||||
license = licenses.lgpl21Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
23
pkgs/applications/video/kodi-packages/six/default.nix
Normal file
23
pkgs/applications/video/kodi-packages/six/default.nix
Normal file
|
@ -0,0 +1,23 @@
|
|||
{ lib, buildKodiAddon, fetchzip, addonUpdateScript }:
|
||||
|
||||
buildKodiAddon rec {
|
||||
pname = "six";
|
||||
namespace = "script.module.six";
|
||||
version = "1.14.0+matrix.2";
|
||||
|
||||
src = fetchzip {
|
||||
url = "https://mirrors.kodi.tv/addons/matrix/${namespace}/${namespace}-${version}.zip";
|
||||
sha256 = "1f9g43j4y5x7b1bgbwqqfj0p2bkqjpycj17dj7a9j271mcr5zhwb";
|
||||
};
|
||||
|
||||
passthru.updateScript = addonUpdateScript {
|
||||
attrPath = "kodi.packages.six";
|
||||
};
|
||||
|
||||
meta = with lib; {
|
||||
homepage = "https://pypi.org/project/six/";
|
||||
description = "Python 2 and 3 compatibility utilities";
|
||||
license = licenses.mit;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
|
@ -16,7 +16,6 @@ buildKodiBinaryAddon rec {
|
|||
meta = with lib; {
|
||||
description = "Binary addon for steam controller.";
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
|
@ -23,6 +23,7 @@ buildKodiAddon {
|
|||
restart/maximise. Running pre/post Steam scripts can be
|
||||
configured via the addon.
|
||||
'';
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
license = licenses.gpl2Only;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -21,6 +21,7 @@ buildKodiAddon rec {
|
|||
is the preferred video format by the plugin.
|
||||
'';
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ edwtjo ];
|
||||
license = licenses.gpl3Plus;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -17,5 +17,6 @@ buildKodiAddon rec {
|
|||
homepage = "https://urllib3.readthedocs.io/en/latest/";
|
||||
description = "HTTP library with thread-safe connection pooling, file post, and more";
|
||||
license = licenses.mit;
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -11,12 +11,12 @@ buildKodiBinaryAddon rec {
|
|||
sha256 = "1q62p1i6rvqk2zv6f1cpffkh95lgclys2xl4dwyhj3acmqdxd9i5";
|
||||
};
|
||||
|
||||
extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "LibArchive Virtual Filesystem add-on for Kodi";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ minijackson ];
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
|
||||
extraBuildInputs = [ libarchive lzma bzip2 zlib lz4 lzo openssl ];
|
||||
}
|
||||
|
|
|
@ -11,12 +11,12 @@ buildKodiBinaryAddon rec {
|
|||
sha256 = "06w74sh8yagrrp7a7rjaz3xrh1j3wdqald9c4b72c33gpk5997dk";
|
||||
};
|
||||
|
||||
extraBuildInputs = [ openssl libssh zlib ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "SFTP Virtual Filesystem add-on for Kodi";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.all;
|
||||
maintainers = with maintainers; [ minijackson ];
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
|
||||
extraBuildInputs = [ openssl libssh zlib ];
|
||||
}
|
||||
|
|
|
@ -11,11 +11,15 @@ toKodiAddon (stdenv.mkDerivation ({
|
|||
extraRuntimeDependencies = [ ];
|
||||
|
||||
installPhase = ''
|
||||
runHook preInstall
|
||||
|
||||
cd $src/$sourceDir
|
||||
d=$out${addonDir}/${namespace}
|
||||
mkdir -p $d
|
||||
sauce="."
|
||||
[ -d ${namespace} ] && sauce=${namespace}
|
||||
cp -R "$sauce/"* $d
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
} // attrs))
|
||||
|
|
|
@ -24,8 +24,12 @@ toKodiAddon (stdenv.mkDerivation ({
|
|||
# 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 ''
|
||||
runHook preInstall
|
||||
|
||||
make install
|
||||
ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version}
|
||||
${extraInstallPhase}
|
||||
|
||||
runHook postInstall
|
||||
'';
|
||||
} // attrs))
|
||||
|
|
|
@ -237,6 +237,6 @@ in stdenv.mkDerivation {
|
|||
homepage = "https://kodi.tv/";
|
||||
license = licenses.gpl2Plus;
|
||||
platforms = platforms.linux;
|
||||
maintainers = with maintainers; [ titanous edwtjo peterhoeg sephalon ];
|
||||
maintainers = teams.kodi.members;
|
||||
};
|
||||
}
|
||||
|
|
|
@ -2,11 +2,11 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "avro";
|
||||
version = "1.10.1";
|
||||
version = "1.10.2";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "b3a405df5aa8654b992d2aca7b80482b858a1919a44dc0b10a682162e8ee340a";
|
||||
sha256 = "381b990cc4c4444743c3297348ffd46e0c3a5d7a17e15b2f4a9042f6e955c31a";
|
||||
};
|
||||
|
||||
patchPhase = ''
|
||||
|
|
|
@ -9,14 +9,14 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "icmplib";
|
||||
version = "2.0.2";
|
||||
version = "2.1.1";
|
||||
disabled = pythonOlder "3.6";
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "ValentinBELYN";
|
||||
repo = pname;
|
||||
rev = "v${version}";
|
||||
sha256 = "0djsbksgml2h18w6509w59s88730w1xaxdxzws12alq4m5v4hirr";
|
||||
sha256 = "06xx9854yzxa7x1mjfzbhhw5rfzgjnw269j5k0rshyqh3qvw1nwv";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [
|
||||
|
|
|
@ -10,12 +10,12 @@
|
|||
|
||||
buildPythonPackage rec {
|
||||
pname = "jupyterlab";
|
||||
version = "3.0.11";
|
||||
version = "3.0.12";
|
||||
disabled = pythonOlder "3.5";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
sha256 = "sha256-zkz08xFjzlGu0BPAGoV8BdQ6k8Ru1pAWbkhkT255R94=";
|
||||
sha256 = "929c60d7fb4aa704084c02d8ededc209b8b378e0b3adab46158b7fa6acc24230";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = [ jupyterlab_server notebook jupyter-packaging nbclassic ];
|
||||
|
|
|
@ -66,6 +66,8 @@ let self = rec {
|
|||
snes = callPackage ../applications/video/kodi-packages/controllers { controller = "snes"; };
|
||||
};
|
||||
|
||||
jellyfin = callPackage ../applications/video/kodi-packages/jellyfin { };
|
||||
|
||||
joystick = callPackage ../applications/video/kodi-packages/joystick { };
|
||||
|
||||
netflix = callPackage ../applications/video/kodi-packages/netflix { };
|
||||
|
@ -96,18 +98,24 @@ let self = rec {
|
|||
|
||||
chardet = callPackage ../applications/video/kodi-packages/chardet { };
|
||||
|
||||
dateutil = callPackage ../applications/video/kodi-packages/dateutil { };
|
||||
|
||||
idna = callPackage ../applications/video/kodi-packages/idna { };
|
||||
|
||||
inputstream-adaptive = callPackage ../applications/video/kodi-packages/inputstream-adaptive { };
|
||||
|
||||
inputstreamhelper = callPackage ../applications/video/kodi-packages/inputstreamhelper { };
|
||||
|
||||
kodi-six = callPackage ../applications/video/kodi-packages/kodi-six { };
|
||||
|
||||
myconnpy = callPackage ../applications/video/kodi-packages/myconnpy { };
|
||||
|
||||
requests = callPackage ../applications/video/kodi-packages/requests { };
|
||||
|
||||
signals = callPackage ../applications/video/kodi-packages/signals { };
|
||||
|
||||
six = callPackage ../applications/video/kodi-packages/six { };
|
||||
|
||||
urllib3 = callPackage ../applications/video/kodi-packages/urllib3 { };
|
||||
|
||||
}; in self
|
||||
|
|
Loading…
Reference in a new issue