about summary refs log tree commit diff
path: root/pkgs/misc/emulators/melonDS/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/emulators/melonDS/default.nix')
-rw-r--r--pkgs/misc/emulators/melonDS/default.nix24
1 files changed, 18 insertions, 6 deletions
diff --git a/pkgs/misc/emulators/melonDS/default.nix b/pkgs/misc/emulators/melonDS/default.nix
index de8b5e03552d..94fbeba0e075 100644
--- a/pkgs/misc/emulators/melonDS/default.nix
+++ b/pkgs/misc/emulators/melonDS/default.nix
@@ -1,8 +1,13 @@
-{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, gtk3, curl, libpcap }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, SDL2, gtk3, libpcap, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
   pname = "melonDS";
   version = "0.8.3";
+  ## When updating to the release after 0.8.3,
+  ##  - Uncomment:
+  ##      cmakeFlags = [ "-UUNIX_PORTABLE" ];
+  ##  - Remove the postInstall, since cmake should then take care of installing icons, .desktop file, and romlist.bin
+  ##    (see https://github.com/Arisotura/melonDS/pull/546)
 
   src = fetchFromGitHub {
     owner = "Arisotura";
@@ -12,18 +17,25 @@ stdenv.mkDerivation rec {
   };
 
   enableParallelBuilding = true;
-  nativeBuildInputs = [ cmake pkgconfig ];
-  buildInputs = [ SDL2 gtk3 curl libpcap ];
+  nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
+  buildInputs = [ SDL2 gtk3 libpcap ];
 
   postInstall = ''
-    install -Dm644 romlist.bin "$out/share/melonDS/romlist.bin"
+    install -Dm644 -t $out/share/melonDS/ ../romlist.bin
+    install -Dm644 -t $out/share/applications/ ../flatpak/*.desktop
+
+    for i in ../icon/melon_*.png; do
+      d="''${i##*_}"
+      d="$out/share/icons/hicolor/''${d%.png}/apps"
+      install -D $i "$d/net.kuribo64.melonds.png"
+    done
   '';
 
   meta = with stdenv.lib; {
     homepage = "http://melonds.kuribo64.net/";
     description = "Work in progress Nintendo DS emulator";
-    license = licenses.gpl3;
-    maintainers = with maintainers; [ artemist ];
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ artemist benley ];
     platforms = platforms.linux;
   };
 }