about summary refs log tree commit diff
path: root/pkgs/misc/emulators/melonDS/default.nix
blob: 94fbeba0e075473543d451d0da3619f11cb739d1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
{ 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";
    repo = pname;
    rev = version;
    sha256 = "1lqmfwjpkdqfkns1aaxlp4yrg6i0r66mxfr4rrj7b5286k44hqwn";
  };

  enableParallelBuilding = true;
  nativeBuildInputs = [ cmake pkgconfig wrapGAppsHook ];
  buildInputs = [ SDL2 gtk3 libpcap ];

  postInstall = ''
    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.gpl3Plus;
    maintainers = with maintainers; [ artemist benley ];
    platforms = platforms.linux;
  };
}