summary refs log tree commit diff
path: root/pkgs/applications/emulators/desmume/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/emulators/desmume/default.nix')
-rw-r--r--pkgs/applications/emulators/desmume/default.nix87
1 files changed, 87 insertions, 0 deletions
diff --git a/pkgs/applications/emulators/desmume/default.nix b/pkgs/applications/emulators/desmume/default.nix
new file mode 100644
index 00000000000..49cb2498e64
--- /dev/null
+++ b/pkgs/applications/emulators/desmume/default.nix
@@ -0,0 +1,87 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, SDL2
+, agg
+, alsa-lib
+, desktop-file-utils
+, gtk3
+, intltool
+, libGLU
+, libXmu
+, libpcap
+, libtool
+, lua
+, meson
+, ninja
+, openal
+, pkg-config
+, soundtouch
+, tinyxml
+, zlib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "desmume";
+  version = "0.9.11+unstable=2021-09-22";
+
+  src = fetchFromGitHub {
+    owner = "TASVideos";
+    repo = pname;
+    rev = "7fc2e4b6b6a58420de65a4089d4df3934d7a46b1";
+    hash = "sha256-sTCyjQ31w1Lp+aa3VQ7/rdLbhjnqthce54mjKJZQIDM=";
+  };
+
+  nativeBuildInputs = [
+    desktop-file-utils
+    intltool
+    libtool
+    lua
+    meson
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    SDL2
+    agg
+    alsa-lib
+    gtk3
+    libGLU
+    libXmu
+    libpcap
+    openal
+    soundtouch
+    tinyxml
+    zlib
+  ];
+
+  hardeningDisable = [ "format" ];
+
+  preConfigure = ''
+    cd desmume/src/frontend/posix
+  '';
+
+  mesonFlags = [
+    "-Db_pie=true"
+    "-Dopenal=true"
+    "-Dwifi=true"
+  ];
+
+  meta = with lib; {
+    homepage = "https://www.github.com/TASVideos/desmume/";
+    description = "An open-source Nintendo DS emulator";
+    longDescription = ''
+      DeSmuME is a freeware emulator for the NDS roms & Nintendo DS Lite games
+      created by YopYop156 and now maintained by the TASvideos team. It supports
+      many homebrew nds rom demoes as well as a handful of Wireless Multiboot
+      demo nds roms. DeSmuME is also able to emulate nearly all of the
+      commercial nds rom titles which other DS Emulators aren't.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = [ maintainers.AndersonTorres ];
+    platforms = platforms.unix;
+  };
+}
+# TODO: investigate the patches
+# TODO: investigate other platforms