kodi.packages.controller-topology-project: init at unstable-2022-01-22

main
Aaron Andersen 2 years ago
parent 4a44a5f126
commit a18bad9ba3
  1. 35
      pkgs/applications/video/kodi/addons/controller-topology-project/default.nix
  2. 22
      pkgs/applications/video/kodi/addons/controllers/default.nix
  3. 28
      pkgs/top-level/kodi-packages.nix

@ -0,0 +1,35 @@
{ lib, stdenv, fetchFromGitHub, toKodiAddon, addonDir }:
let
drv = stdenv.mkDerivation {
pname = "controller-topology-project";
version = "unstable-2022-01-22";
src = fetchFromGitHub {
owner = "kodi-game";
repo = "controller-topology-project";
rev = "e2a9bac903f21b2acfeee374070cfc97d03aba2d";
sha256 = "sha256-o6uKxOjEYNAK27drvNOokOFPdjkOEnr49mBre9ycM0w=";
};
postPatch = ''
# remove addons already included in the base kodi package
rm -r addons/game.controller.default
rm -r addons/game.controller.snes
'';
installPhase = ''
runHook preInstall
mkdir -p $out${addonDir}
cp -r addons/* $out${addonDir}
runHook postInstall
'';
meta = with lib; {
homepage = "https://github.com/kodi-game/controller-topology-project";
description = "Models how controllers connect to and map to each other for all gaming history";
license = with licenses; [ odbl ];
maintainers = teams.kodi.members;
};
};
in
toKodiAddon drv

@ -1,22 +0,0 @@
{ 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;
license = licenses.odbl;
maintainers = teams.kodi.members;
};
}

@ -1,4 +1,4 @@
{ lib, newScope, kodi, libretro }:
{ config, lib, newScope, kodi, libretro }:
with lib;
@ -54,25 +54,7 @@ let self = rec {
arteplussept = callPackage ../applications/video/kodi/addons/arteplussept { };
controllers = {
default = callPackage ../applications/video/kodi/addons/controllers { controller = "default"; };
dreamcast = callPackage ../applications/video/kodi/addons/controllers { controller = "dreamcast"; };
gba = callPackage ../applications/video/kodi/addons/controllers { controller = "gba"; };
genesis = callPackage ../applications/video/kodi/addons/controllers { controller = "genesis"; };
mouse = callPackage ../applications/video/kodi/addons/controllers { controller = "mouse"; };
n64 = callPackage ../applications/video/kodi/addons/controllers { controller = "n64"; };
nes = callPackage ../applications/video/kodi/addons/controllers { controller = "nes"; };
ps = callPackage ../applications/video/kodi/addons/controllers { controller = "ps"; };
snes = callPackage ../applications/video/kodi/addons/controllers { controller = "snes"; };
};
controller-topology-project = callPackage ../applications/video/kodi/addons/controller-topology-project { };
iagl = callPackage ../applications/video/kodi/addons/iagl { };
@ -171,4 +153,8 @@ let self = rec {
trakt-module = callPackage ../applications/video/kodi/addons/trakt-module { };
trakt = callPackage ../applications/video/kodi/addons/trakt { };
}; in self
}; in self // lib.optionalAttrs (config.allowAliases or true) {
# deprecated or renamed packages
controllers = throw "kodi.packages.controllers has been replaced with kodi.packages.controller-topology-project - a package which contains a large number of controller profiles." { };
}

Loading…
Cancel
Save