1{
2 lib,
3 stdenv,
4 fetchFromGitHub,
5 gtk3,
6 rgbds,
7 SDL2,
8 wrapGAppsHook3,
9 glib,
10 gdk-pixbuf,
11 pkg-config,
12}:
13
14stdenv.mkDerivation rec {
15 pname = "sameboy";
16 version = "1.0.1";
17
18 src = fetchFromGitHub {
19 owner = "LIJI32";
20 repo = "SameBoy";
21 rev = "v${version}";
22 sha256 = "sha256-rNP1jGnGqZG5jz8vQzqDNEKticg51uCcZQaUteawlPU=";
23 };
24
25 enableParallelBuilding = true;
26 # glib and wrapGAppsHook3 are needed to make the Open ROM menu work.
27 nativeBuildInputs = [
28 pkg-config
29 gdk-pixbuf
30 rgbds
31 glib
32 wrapGAppsHook3
33 ];
34 buildInputs = [ SDL2 ];
35
36 makeFlags = [
37 "CONF=release"
38 "FREEDESKTOP=true"
39 "PREFIX=$(out)"
40 ];
41
42 patches = [
43 ./xdg-install-patch.diff
44 ];
45
46 postPatch = ''
47 substituteInPlace OpenDialog/gtk.c \
48 --replace '"libgtk-3.so"' '"${gtk3}/lib/libgtk-3.so"'
49 '';
50
51 meta = with lib; {
52 homepage = "https://sameboy.github.io";
53 description = "Game Boy, Game Boy Color, and Super Game Boy emulator";
54 mainProgram = "sameboy";
55
56 longDescription = ''
57 SameBoy is a user friendly Game Boy, Game Boy Color and Super
58 Game Boy emulator for macOS, Windows and Unix-like platforms.
59 SameBoy is extremely accurate and includes a wide range of
60 powerful debugging features, making it ideal for both casual
61 players and developers. In addition to accuracy and developer
62 capabilities, SameBoy has all the features one would expect from
63 an emulator – from save states to scaling filters.
64 '';
65
66 license = licenses.mit;
67 maintainers = with maintainers; [ NieDzejkob ];
68 platforms = platforms.linux;
69 };
70}