blob: f9b20dd2bc7e0bfefcd9cfedc0402cce2abfd5f4 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
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
|