diff options
author | Aaron Andersen <aaron@fosslib.net> | 2021-11-02 17:21:17 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-11-02 17:21:17 -0400 |
commit | 79be4cb011363dad056024932c9f77211b48f4ca (patch) | |
tree | 90618f8ea8879cebfa305d63cdae721f04a96935 /pkgs/applications/video | |
parent | a72f1d209514470de70936887b284fa753306d4a (diff) | |
parent | 020738a1fb53c0123a9a4ebd578106aa04d3ac21 (diff) |
Merge pull request #143891 from aanderse/kodi
kodi.packages.libretro-snes9x: init at 1.60.0.29
Diffstat (limited to 'pkgs/applications/video')
3 files changed, 61 insertions, 2 deletions
diff --git a/pkgs/applications/video/kodi-packages/libretro-snes9x/default.nix b/pkgs/applications/video/kodi-packages/libretro-snes9x/default.nix new file mode 100644 index 0000000000000..640aec3d49714 --- /dev/null +++ b/pkgs/applications/video/kodi-packages/libretro-snes9x/default.nix @@ -0,0 +1,31 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, libretro, snes9x }: + +buildKodiBinaryAddon rec { + pname = "kodi-libretro-snes9x"; + namespace = "game.libretro.snes9x"; + version = "1.60.0.29"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "game.libretro.snes9x"; + rev = "${version}-${rel}"; + sha256 = "1wyfkg4fncc604alnbaqk92fi1h80n7bwiqfkb8479x5517byab1"; + }; + + extraCMakeFlags = [ + "-DSNES9X_LIB=${snes9x}/lib/retroarch/cores/snes9x_libretro.so" + ]; + + extraBuildInputs = [ snes9x ]; + propagatedBuildInputs = [ + libretro + ]; + + meta = with lib; { + homepage = "https://github.com/kodi-game/game.libretro.snes9x"; + description = "Snes9X GameClient for Kodi"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi-packages/libretro/default.nix b/pkgs/applications/video/kodi-packages/libretro/default.nix new file mode 100644 index 0000000000000..d1fc3d4afd2b0 --- /dev/null +++ b/pkgs/applications/video/kodi-packages/libretro/default.nix @@ -0,0 +1,24 @@ +{ lib, rel, buildKodiBinaryAddon, fetchFromGitHub, tinyxml }: + +buildKodiBinaryAddon rec { + pname = "libretro"; + namespace = "game.libretro"; + version = "19.0.0"; + + src = fetchFromGitHub { + owner = "kodi-game"; + repo = "game.libretro"; + rev = "${version}-${rel}"; + sha256 = "1831wbbc4a545lr4mg1fm4sbx75k5lkrfqaa5fh308aar0nm974d"; + }; + + extraBuildInputs = [ tinyxml ]; + + meta = with lib; { + homepage = "https://github.com/kodi-game/game.libretro"; + description = "Libretro wrapper for Kodi's Game API"; + platforms = platforms.all; + license = licenses.gpl2Only; + maintainers = teams.kodi.members; + }; +} diff --git a/pkgs/applications/video/kodi/build-kodi-binary-addon.nix b/pkgs/applications/video/kodi/build-kodi-binary-addon.nix index 72d6533f38d9e..d1eb38cd0bd4c 100644 --- a/pkgs/applications/video/kodi/build-kodi-binary-addon.nix +++ b/pkgs/applications/video/kodi/build-kodi-binary-addon.nix @@ -5,6 +5,7 @@ , extraNativeBuildInputs ? [] , extraBuildInputs ? [] , extraRuntimeDependencies ? [] +, extraCMakeFlags ? [] , extraInstallPhase ? "", ... } @ attrs: toKodiAddon (stdenv.mkDerivation ({ name = "kodi-" + name; @@ -19,7 +20,7 @@ toKodiAddon (stdenv.mkDerivation ({ # disables check ensuring install prefix is that of kodi cmakeFlags = [ "-DOVERRIDE_PATHS=1" - ]; + ] ++ extraCMakeFlags; # kodi checks for addon .so libs existance in the addon folder (share/...) # and the non-wrapped kodi lib/... folder before even trying to dlopen @@ -28,7 +29,10 @@ toKodiAddon (stdenv.mkDerivation ({ runHook preInstall make install - ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version} + + [[ -f $out/lib/addons/${n}/${n}.so ]] && ln -s $out/lib/addons/${n}/${n}.so $out${addonDir}/${n}/${n}.so || true + [[ -f $out/lib/addons/${n}/${n}.so.${version} ]] && ln -s $out/lib/addons/${n}/${n}.so.${version} $out${addonDir}/${n}/${n}.so.${version} || true + ${extraInstallPhase} runHook postInstall |