about summary refs log tree commit diff
path: root/pkgs/misc/emulators/retroarch
diff options
context:
space:
mode:
authorThiago Kenji Okada <thiagokokada@gmail.com>2021-11-21 23:14:17 -0300
committerThiago Kenji Okada <thiagokokada@gmail.com>2021-11-21 23:15:09 -0300
commit994719881acfc2633ea2a66ea2149e89065ed126 (patch)
treedac2b1cf3f2951733fb9b35fe53b109486fd6f44 /pkgs/misc/emulators/retroarch
parent33478a118c33e450881fa405362bb58b729cf78c (diff)
libretro.swanstation: init at unstable-2021-11-21
Sadly the original repository (stenzek/duckstation) is missing the
necessary files to build a libretro core, so we need to use the fork
instead.
Diffstat (limited to 'pkgs/misc/emulators/retroarch')
-rw-r--r--pkgs/misc/emulators/retroarch/cores.nix59
-rw-r--r--pkgs/misc/emulators/retroarch/hashes.json49
-rwxr-xr-xpkgs/misc/emulators/retroarch/update.py1
3 files changed, 66 insertions, 43 deletions
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/misc/emulators/retroarch/cores.nix
index ab13e041139c4..e4172addcc487 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/misc/emulators/retroarch/cores.nix
@@ -50,6 +50,7 @@ let
   mkLibRetroCore =
     { core
     , description
+      # Check https://github.com/libretro/libretro-super for license information
     , license
     , src ? null
     , broken ? false
@@ -116,14 +117,6 @@ in
     makeFlags = [ "GIT_VERSION=" ];
   };
 
-  beetle-snes = mkLibRetroCore {
-    core = "mednafen-snes";
-    src = getCoreSrc "beetle-snes";
-    description = "Port of Mednafen's SNES core to libretro";
-    license = lib.licenses.gpl2Only;
-    makefile = "Makefile";
-  };
-
   beetle-gba = mkLibRetroCore {
     core = "mednafen-gba";
     src = getCoreSrc "beetle-gba";
@@ -204,18 +197,18 @@ in
     meta.platforms = [ "x86_64-linux" "aarch64-linux" ];
   };
 
-  beetle-supergrafx = mkLibRetroCore {
-    core = "mednafen-supergrafx";
-    src = getCoreSrc "beetle-supergrafx";
-    description = "Port of Mednafen's SuperGrafx core to libretro";
+  beetle-snes = mkLibRetroCore {
+    core = "mednafen-snes";
+    src = getCoreSrc "beetle-snes";
+    description = "Port of Mednafen's SNES core to libretro";
     license = lib.licenses.gpl2Only;
     makefile = "Makefile";
   };
 
-  beetle-wswan = mkLibRetroCore {
-    core = "mednafen-wswan";
-    src = getCoreSrc "beetle-wswan";
-    description = "Port of Mednafen's WonderSwan core to libretro";
+  beetle-supergrafx = mkLibRetroCore {
+    core = "mednafen-supergrafx";
+    src = getCoreSrc "beetle-supergrafx";
+    description = "Port of Mednafen's SuperGrafx core to libretro";
     license = lib.licenses.gpl2Only;
     makefile = "Makefile";
   };
@@ -228,6 +221,14 @@ in
     makefile = "Makefile";
   };
 
+  beetle-wswan = mkLibRetroCore {
+    core = "mednafen-wswan";
+    src = getCoreSrc "beetle-wswan";
+    description = "Port of Mednafen's WonderSwan core to libretro";
+    license = lib.licenses.gpl2Only;
+    makefile = "Makefile";
+  };
+
   bluemsx = mkLibRetroCore {
     core = "bluemsx";
     description = "Port of BlueMSX to libretro";
@@ -724,6 +725,20 @@ in
     makefile = "Makefile";
   };
 
+  swanstation = mkLibRetroCore {
+    core = "swanstation";
+    version = "unstable-2021-11-21";
+    description = "Port of SwanStation (a fork of DuckStation) to libretro";
+    license = lib.licenses.gpl3Only;
+    extraNativeBuildInputs = [ cmake ];
+    makefile = "Makefile";
+    cmakeFlags = [
+      "-DCMAKE_BUILD_TYPE=Release"
+      "-DBUILD_LIBRETRO_CORE=ON"
+    ];
+    postPatch = "mkdir -p src/duckstation-libretro";
+  };
+
   tgbdual = mkLibRetroCore {
     core = "tgbdual";
     description = "Port of TGBDual to libretro";
@@ -757,12 +772,6 @@ in
     postBuild = "cd lib";
   };
 
-  vba-next = mkLibRetroCore {
-    core = "vba-next";
-    description = "VBA-M libretro port with modifications for speed";
-    license = lib.licenses.gpl2Only;
-  };
-
   vba-m = mkLibRetroCore {
     core = "vbam";
     src = getCoreSrc "vba-m";
@@ -772,6 +781,12 @@ in
     preBuild = "cd src/libretro";
   };
 
+  vba-next = mkLibRetroCore {
+    core = "vba-next";
+    description = "VBA-M libretro port with modifications for speed";
+    license = lib.licenses.gpl2Only;
+  };
+
   vecx = mkLibRetroCore {
     core = "vecx";
     description = "Port of Vecx to libretro";
diff --git a/pkgs/misc/emulators/retroarch/hashes.json b/pkgs/misc/emulators/retroarch/hashes.json
index a849a37bfab41..8a2635210438e 100644
--- a/pkgs/misc/emulators/retroarch/hashes.json
+++ b/pkgs/misc/emulators/retroarch/hashes.json
@@ -6,13 +6,6 @@
         "sha256": "LJpRegJVR2+sS1UmTTpVest0rMrNDBMXmj/jRFVglWI=",
         "fetchSubmodules": false
     },
-    "beetle-snes": {
-        "owner": "libretro",
-        "repo": "beetle-bsnes-libretro",
-        "rev": "bc867656d7438aaffc6818b3b92350587bc78a47",
-        "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg=",
-        "fetchSubmodules": false
-    },
     "beetle-gba": {
         "owner": "libretro",
         "repo": "beetle-gba-libretro",
@@ -62,6 +55,13 @@
         "sha256": "lKlNNAHK1ynFXY++Ya0m1Ax5YTZkd44eQjzuOLXfWa8=",
         "fetchSubmodules": false
     },
+    "beetle-snes": {
+        "owner": "libretro",
+        "repo": "beetle-bsnes-libretro",
+        "rev": "bc867656d7438aaffc6818b3b92350587bc78a47",
+        "sha256": "TyUCRGK+uyXowDjXW9/4m+zL8Vh/3GGsX1eznrTCbAg=",
+        "fetchSubmodules": false
+    },
     "beetle-supergrafx": {
         "owner": "libretro",
         "repo": "beetle-supergrafx-libretro",
@@ -69,13 +69,6 @@
         "sha256": "kGyl5XJMFUALPAEZf4IynY6bmXWfqy0o65eO8zS0RTE=",
         "fetchSubmodules": false
     },
-    "beetle-wswan": {
-        "owner": "libretro",
-        "repo": "beetle-wswan-libretro",
-        "rev": "0c7faaf7f70b72ebb68e310530cd46a69e680d40",
-        "sha256": "UQyICcZe1DVotSFt0QVnGop+JG5NJwTBcGSZaFW0P0U=",
-        "fetchSubmodules": false
-    },
     "beetle-vb": {
         "owner": "libretro",
         "repo": "beetle-vb-libretro",
@@ -83,6 +76,13 @@
         "sha256": "KguKbRK0uXE+brpF8HdRwi8Gt76AMa4wkh1MFvNCbN4=",
         "fetchSubmodules": false
     },
+    "beetle-wswan": {
+        "owner": "libretro",
+        "repo": "beetle-wswan-libretro",
+        "rev": "0c7faaf7f70b72ebb68e310530cd46a69e680d40",
+        "sha256": "UQyICcZe1DVotSFt0QVnGop+JG5NJwTBcGSZaFW0P0U=",
+        "fetchSubmodules": false
+    },
     "bluemsx": {
         "owner": "libretro",
         "repo": "bluemsx-libretro",
@@ -454,6 +454,13 @@
         "sha256": "s7LQ47sAPTyk4COONk4qnebxCq78zGLIjh3Y2+1fIak=",
         "fetchSubmodules": false
     },
+    "swanstation": {
+        "owner": "libretro",
+        "repo": "swanstation",
+        "rev": "cc3946b2b3bd10282bc46078c245db09f6e68836",
+        "sha256": "UzdmjUS6+6z4K6VJtMPxOwGXsCtxoh08RWTNHlvy/h8=",
+        "fetchSubmodules": false
+    },
     "tgbdual": {
         "owner": "libretro",
         "repo": "tgbdual-libretro",
@@ -475,13 +482,6 @@
         "sha256": "SXJvWX6Q3BrdajNnT4HIf6H2z7dXXvnXTJXf/TYRw4I=",
         "fetchSubmodules": true
     },
-    "vba-next": {
-        "owner": "libretro",
-        "repo": "vba-next",
-        "rev": "b218f48bb27b5d3885fa4076ff325922b5acd817",
-        "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo=",
-        "fetchSubmodules": false
-    },
     "vba-m": {
         "owner": "libretro",
         "repo": "vbam-libretro",
@@ -489,6 +489,13 @@
         "sha256": "vJWjdqJ913NLGL4G15sRPqO/wp9xPsuhUMLUuAbDRKk=",
         "fetchSubmodules": false
     },
+    "vba-next": {
+        "owner": "libretro",
+        "repo": "vba-next",
+        "rev": "b218f48bb27b5d3885fa4076ff325922b5acd817",
+        "sha256": "idqGMbMA9mZlIh0QAba3BxpPDi/bFJJkUbnxV3xMOCo=",
+        "fetchSubmodules": false
+    },
     "vecx": {
         "owner": "libretro",
         "repo": "libretro-vecx",
diff --git a/pkgs/misc/emulators/retroarch/update.py b/pkgs/misc/emulators/retroarch/update.py
index ee669c18a3a43..2ff276eb8f47a 100755
--- a/pkgs/misc/emulators/retroarch/update.py
+++ b/pkgs/misc/emulators/retroarch/update.py
@@ -75,6 +75,7 @@ CORES = {
     "snes9x2010": {"repo": "snes9x2010"},
     "stella": {"repo": "stella", "owner": "stella-emu"},
     "stella2014": {"repo": "stella2014-libretro"},
+    "swanstation": {"repo": "swanstation"},
     "tgbdual": {"repo": "tgbdual-libretro"},
     "thepowdertoy": {"repo": "ThePowderToy"},
     "tic80": {"repo": "tic-80", "fetch_submodules": True},