about summary refs log tree commit diff
path: root/pkgs/applications/video
diff options
context:
space:
mode:
authorAaron Andersen <aaron@fosslib.net>2021-11-02 17:21:17 -0400
committerGitHub <noreply@github.com>2021-11-02 17:21:17 -0400
commit79be4cb011363dad056024932c9f77211b48f4ca (patch)
tree90618f8ea8879cebfa305d63cdae721f04a96935 /pkgs/applications/video
parenta72f1d209514470de70936887b284fa753306d4a (diff)
parent020738a1fb53c0123a9a4ebd578106aa04d3ac21 (diff)
Merge pull request #143891 from aanderse/kodi
kodi.packages.libretro-snes9x: init at 1.60.0.29
Diffstat (limited to 'pkgs/applications/video')
-rw-r--r--pkgs/applications/video/kodi-packages/libretro-snes9x/default.nix31
-rw-r--r--pkgs/applications/video/kodi-packages/libretro/default.nix24
-rw-r--r--pkgs/applications/video/kodi/build-kodi-binary-addon.nix8
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