biglybt: 3.5.0.0 -> 3.6.0.0
[NixPkgs.git] / pkgs / applications / emulators / desmume / default.nix
blob63ebe07202870283d220387b694caf1da3ce786e
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , fetchpatch
5 , SDL2
6 , agg
7 , alsa-lib
8 , desktop-file-utils
9 , wrapGAppsHook
10 , gtk3
11 , intltool
12 , libGLU
13 , libXmu
14 , libpcap
15 , libtool
16 , lua
17 , meson
18 , ninja
19 , openal
20 , pkg-config
21 , soundtouch
22 , tinyxml
23 , zlib
26 stdenv.mkDerivation (finalAttrs: {
27   pname = "desmume";
28   version = "0.9.13";
30   src = fetchFromGitHub {
31     owner = "TASVideos";
32     repo = "desmume";
33     rev = "release_${lib.replaceStrings ["."] ["_"] finalAttrs.version}";
34     hash = "sha256-vmjKXa/iXLTwtqnG+ZUvOnOQPZROeMpfM5J3Jh/Ynfo=";
35   };
37   patches = [
38     # Fix compiling on GCC for AArch64
39     (fetchpatch {
40       url = "https://github.com/TASEmulators/desmume/commit/24eb5ed95c6cbdaba8b3c63a99e95e899e8a5061.patch";
41       hash = "sha256-J3ZRU1tPTl+4/jg0DBo6ro6DTUZkpQCey+QGF2EugCQ=";
42     })
43   ];
45   nativeBuildInputs = [
46     wrapGAppsHook
47     desktop-file-utils
48     intltool
49     libtool
50     lua
51     meson
52     ninja
53     pkg-config
54   ];
56   buildInputs = [
57     SDL2
58     agg
59     alsa-lib
60     gtk3
61     libGLU
62     libXmu
63     libpcap
64     openal
65     soundtouch
66     tinyxml
67     zlib
68   ];
70   hardeningDisable = [ "format" ];
72   preConfigure = ''
73     cd desmume/src/frontend/posix
74   '';
76   mesonFlags = [
77     "-Db_pie=true"
78     "-Dopenal=true"
79     "-Dwifi=true"
80   ];
82   meta = with lib; {
83     homepage = "https://www.github.com/TASVideos/desmume/";
84     description = "An open-source Nintendo DS emulator";
85     longDescription = ''
86       DeSmuME is a freeware emulator for the NDS roms & Nintendo DS Lite games
87       created by YopYop156 and now maintained by the TASvideos team. It supports
88       many homebrew nds rom demoes as well as a handful of Wireless Multiboot
89       demo nds roms. DeSmuME is also able to emulate nearly all of the
90       commercial nds rom titles which other DS Emulators aren't.
91     '';
92     license = licenses.gpl2Plus;
93     maintainers = [ maintainers.AndersonTorres ];
94     platforms = platforms.unix;
95   };