Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at python-updates 273 lines 9.4 kB view raw
1{ 2 config, 3 lib, 4 newScope, 5 kodi, 6 libretro, 7}: 8 9let 10 inherit (lib) 11 catAttrs 12 concatLists 13 filter 14 optionalAttrs 15 unique 16 ; 17 18 inherit (libretro) 19 fuse 20 genesis-plus-gx 21 gw 22 mgba 23 nestopia 24 snes9x 25 twenty-fortyeight 26 ; 27 28 callPackage = newScope self; 29 30 # Check whether a derivation provides a Kodi addon. 31 hasKodiAddon = drv: drv ? kodiAddonFor && drv.kodiAddonFor == kodi; 32 33 # Get list of required Kodi addons given a list of derivations. 34 requiredKodiAddons = 35 drvs: 36 let 37 modules = filter hasKodiAddon drvs; 38 in 39 unique (modules ++ concatLists (catAttrs "requiredKodiAddons" modules)); 40 41 self = { 42 addonDir = "/share/kodi/addons"; 43 44 rel = kodi.kodiReleaseName; 45 46 inherit 47 callPackage 48 kodi 49 hasKodiAddon 50 requiredKodiAddons 51 ; 52 53 # Convert derivation to a kodi module. Stolen from ../../../top-level/python-packages.nix 54 toKodiAddon = 55 drv: 56 drv.overrideAttrs (oldAttrs: { 57 # Use passthru in order to prevent rebuilds when possible. 58 passthru = (oldAttrs.passthru or { }) // { 59 kodiAddonFor = kodi; 60 requiredKodiAddons = requiredKodiAddons drv.propagatedBuildInputs; 61 }; 62 }); 63 64 # package update scripts 65 66 addonUpdateScript = callPackage ../applications/video/kodi/addons/addon-update-script { }; 67 68 # package builders 69 70 buildKodiAddon = callPackage ../applications/video/kodi/build-kodi-addon.nix { }; 71 72 buildKodiBinaryAddon = callPackage ../applications/video/kodi/build-kodi-binary-addon.nix { }; 73 74 # regular packages 75 76 kodi-platform = callPackage ../applications/video/kodi/addons/kodi-platform { }; 77 78 # addon packages 79 80 a4ksubtitles = callPackage ../applications/video/kodi/addons/a4ksubtitles { }; 81 82 arteplussept = callPackage ../applications/video/kodi/addons/arteplussept { }; 83 84 bluetooth-manager = callPackage ../applications/video/kodi/addons/bluetooth-manager { }; 85 86 controller-topology-project = 87 callPackage ../applications/video/kodi/addons/controller-topology-project 88 { }; 89 90 formula1 = callPackage ../applications/video/kodi/addons/formula1 { }; 91 92 iagl = callPackage ../applications/video/kodi/addons/iagl { }; 93 94 invidious = callPackage ../applications/video/kodi/addons/invidious { }; 95 96 libretro = callPackage ../applications/video/kodi/addons/libretro { }; 97 98 libretro-2048 = callPackage ../applications/video/kodi/addons/libretro-2048 { 99 inherit twenty-fortyeight; 100 }; 101 102 libretro-fuse = callPackage ../applications/video/kodi/addons/libretro-fuse { inherit fuse; }; 103 104 libretro-genplus = callPackage ../applications/video/kodi/addons/libretro-genplus { 105 inherit genesis-plus-gx; 106 }; 107 108 libretro-gw = callPackage ../applications/video/kodi/addons/libretro-gw { inherit gw; }; 109 110 libretro-mgba = callPackage ../applications/video/kodi/addons/libretro-mgba { inherit mgba; }; 111 112 libretro-nestopia = callPackage ../applications/video/kodi/addons/libretro-nestopia { 113 inherit nestopia; 114 }; 115 116 libretro-snes9x = callPackage ../applications/video/kodi/addons/libretro-snes9x { inherit snes9x; }; 117 118 jellycon = callPackage ../applications/video/kodi/addons/jellycon { }; 119 120 jellyfin = callPackage ../applications/video/kodi/addons/jellyfin { }; 121 122 joystick = callPackage ../applications/video/kodi/addons/joystick { }; 123 124 keymap = callPackage ../applications/video/kodi/addons/keymap { }; 125 126 mediacccde = callPackage ../applications/video/kodi/addons/mediacccde { }; 127 128 mediathekview = callPackage ../applications/video/kodi/addons/mediathekview { }; 129 130 netflix = callPackage ../applications/video/kodi/addons/netflix { }; 131 132 orftvthek = callPackage ../applications/video/kodi/addons/orftvthek { }; 133 134 radioparadise = callPackage ../applications/video/kodi/addons/radioparadise { }; 135 136 raiplay = callPackage ../applications/video/kodi/addons/raiplay { }; 137 138 robotocjksc = callPackage ../applications/video/kodi/addons/robotocjksc { }; 139 140 screensaver-asteroids = callPackage ../applications/video/kodi/addons/screensaver-asteroids { }; 141 142 skyvideoitalia = callPackage ../applications/video/kodi/addons/skyvideoitalia { }; 143 144 svtplay = callPackage ../applications/video/kodi/addons/svtplay { }; 145 146 steam-controller = callPackage ../applications/video/kodi/addons/steam-controller { }; 147 148 steam-launcher = callPackage ../applications/video/kodi/addons/steam-launcher { }; 149 150 steam-library = callPackage ../applications/video/kodi/addons/steam-library { }; 151 152 somafm = callPackage ../applications/video/kodi/addons/somafm { }; 153 154 pdfreader = callPackage ../applications/video/kodi/addons/pdfreader { }; 155 156 pvr-hts = callPackage ../applications/video/kodi/addons/pvr-hts { }; 157 158 pvr-hdhomerun = callPackage ../applications/video/kodi/addons/pvr-hdhomerun { }; 159 160 pvr-iptvsimple = callPackage ../applications/video/kodi/addons/pvr-iptvsimple { }; 161 162 pvr-vdr-vnsi = callPackage ../applications/video/kodi/addons/pvr-vdr-vnsi { }; 163 164 osmc-skin = callPackage ../applications/video/kodi/addons/osmc-skin { }; 165 166 texturemaker = callPackage ../applications/video/kodi/addons/texturemaker { }; 167 168 upnext = callPackage ../applications/video/kodi/addons/upnext { }; 169 170 vfs-libarchive = callPackage ../applications/video/kodi/addons/vfs-libarchive { }; 171 172 vfs-rar = callPackage ../applications/video/kodi/addons/vfs-rar { }; 173 174 vfs-sftp = callPackage ../applications/video/kodi/addons/vfs-sftp { }; 175 176 visualization-fishbmc = callPackage ../applications/video/kodi/addons/visualization-fishbmc { }; 177 178 visualization-goom = callPackage ../applications/video/kodi/addons/visualization-goom { }; 179 180 visualization-matrix = callPackage ../applications/video/kodi/addons/visualization-matrix { }; 181 182 visualization-pictureit = callPackage ../applications/video/kodi/addons/visualization-pictureit { }; 183 184 visualization-projectm = callPackage ../applications/video/kodi/addons/visualization-projectm { }; 185 186 visualization-shadertoy = callPackage ../applications/video/kodi/addons/visualization-shadertoy { }; 187 188 visualization-spectrum = callPackage ../applications/video/kodi/addons/visualization-spectrum { }; 189 190 visualization-starburst = callPackage ../applications/video/kodi/addons/visualization-starburst { }; 191 192 visualization-waveform = callPackage ../applications/video/kodi/addons/visualization-waveform { }; 193 194 youtube = callPackage ../applications/video/kodi/addons/youtube { }; 195 196 # addon packages (dependencies) 197 198 archive_tool = callPackage ../applications/video/kodi/addons/archive_tool { }; 199 200 certifi = callPackage ../applications/video/kodi/addons/certifi { }; 201 202 chardet = callPackage ../applications/video/kodi/addons/chardet { }; 203 204 dateutil = callPackage ../applications/video/kodi/addons/dateutil { }; 205 206 defusedxml = callPackage ../applications/video/kodi/addons/defusedxml { }; 207 208 future = callPackage ../applications/video/kodi/addons/future { }; 209 210 idna = callPackage ../applications/video/kodi/addons/idna { }; 211 212 infotagger = callPackage ../applications/video/kodi/addons/infotagger { }; 213 214 inputstream-adaptive = callPackage ../applications/video/kodi/addons/inputstream-adaptive { }; 215 216 inputstream-ffmpegdirect = 217 callPackage ../applications/video/kodi/addons/inputstream-ffmpegdirect 218 { }; 219 220 inputstream-rtmp = callPackage ../applications/video/kodi/addons/inputstream-rtmp { }; 221 222 inputstreamhelper = callPackage ../applications/video/kodi/addons/inputstreamhelper { }; 223 224 jurialmunkey = callPackage ../applications/video/kodi/addons/jurialmunkey { }; 225 226 kodi-six = callPackage ../applications/video/kodi/addons/kodi-six { }; 227 228 myconnpy = callPackage ../applications/video/kodi/addons/myconnpy { }; 229 230 plugin-cache = callPackage ../applications/video/kodi/addons/plugin-cache { }; 231 232 requests = callPackage ../applications/video/kodi/addons/requests { }; 233 234 requests-cache = callPackage ../applications/video/kodi/addons/requests-cache { }; 235 236 routing = callPackage ../applications/video/kodi/addons/routing { }; 237 238 sendtokodi = callPackage ../applications/video/kodi/addons/sendtokodi { }; 239 240 signals = callPackage ../applications/video/kodi/addons/signals { }; 241 242 simplecache = callPackage ../applications/video/kodi/addons/simplecache { }; 243 244 simplejson = callPackage ../applications/video/kodi/addons/simplejson { }; 245 246 six = callPackage ../applications/video/kodi/addons/six { }; 247 248 sponsorblock = callPackage ../applications/video/kodi/addons/sponsorblock { }; 249 250 urllib3 = callPackage ../applications/video/kodi/addons/urllib3 { }; 251 252 websocket = callPackage ../applications/video/kodi/addons/websocket { }; 253 254 xbmcswift2 = callPackage ../applications/video/kodi/addons/xbmcswift2 { }; 255 256 typing_extensions = callPackage ../applications/video/kodi/addons/typing_extensions { }; 257 258 arrow = callPackage ../applications/video/kodi/addons/arrow { }; 259 260 trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { }; 261 262 trakt = callPackage ../applications/video/kodi/addons/trakt { }; 263 }; 264in 265self 266// optionalAttrs config.allowAliases { 267 # deprecated or renamed packages 268 269 controllers = 270 throw 271 "kodi.packages.controllers has been replaced with kodi.packages.controller-topology-project - a package which contains a large number of controller profiles." 272 { }; 273}