game bundle: Symlink libgc.so to libgc.so.1.
[guix-custom.git] / gnu / packages / emulators.scm
1 (define-module (gnu packages emulators)
2 #:use-module (ice-9 match)
3 #:use-module ((guix licenses) #:prefix license:)
4 #:use-module (guix utils)
5 #:use-module (guix packages)
6 #:use-module (guix download)
7 #:use-module (guix git-download)
8 #:use-module (gnu packages)
9 #:use-module (gnu packages audio)
10 #:use-module (gnu packages gettext)
11 #:use-module (gnu packages gl)
12 #:use-module (gnu packages glib)
13 #:use-module (gnu packages gnome)
14 #:use-module (gnu packages gtk)
15 #:use-module (gnu packages libcanberra)
16 #:use-module (gnu packages libunwind)
17 #:use-module (gnu packages image)
18 #:use-module (gnu packages ncurses)
19 #:use-module (gnu packages python)
20 #:use-module (gnu packages readline)
21 #:use-module (gnu packages xorg)
22 #:use-module (gnu packages pkg-config)
23 #:use-module (gnu packages sdl)
24 #:use-module (gnu packages fontutils)
25 #:use-module (gnu packages compression)
26 #:use-module (gnu packages pulseaudio)
27 #:use-module (gnu packages linux)
28 #:use-module (gnu packages zip)
29 #:use-module (gnu packages xiph)
30 #:use-module (gnu packages video)
31 #:use-module (gnu packages wxwidgets)
32 #:use-module (gnu packages libusb)
33 #:use-module (gnu packages upnp)
34 #:use-module (guix build-system cmake))
35
36 (define wxwidgets-with-gtk2
37 (package
38 (inherit wxwidgets)
39 (inputs
40 (let loop ((inputs (package-inputs wxwidgets)))
41 (match inputs
42 (() '())
43 ((("gtk" _) . tail)
44 (cons `("gtk" ,gtk+-2) (loop tail)))
45 ((head . tail)
46 (cons head (loop tail))))))))
47
48 (define-public dolphin-emu
49 (package
50 (name "dolphin-emu")
51 (version "5.0")
52 (source
53 (origin
54 (method url-fetch)
55 (uri (string-append "https://github.com/dolphin-emu/dolphin/archive/"
56 version ".tar.gz"))
57 (file-name (string-append name "-" version ".tar.gz"))
58 (sha256
59 (base32
60 "02yw302y3g3y26qyca8nm8r2hybzlm7bk8shzwab6yknalh61i32"))))
61 (build-system cmake-build-system)
62 (arguments
63 '(#:tests? #f
64 ;; The FindGTK2 cmake script only checks hardcoded directories for
65 ;; glib/gtk headers.
66 #:configure-flags
67 (list (string-append "-DGTK2_GDKCONFIG_INCLUDE_DIR="
68 (assoc-ref %build-inputs "gtk+")
69 "/lib/gtk-2.0/include")
70 (string-append "-DGTK2_GLIBCONFIG_INCLUDE_DIR="
71 (assoc-ref %build-inputs "glib")
72 "/lib/glib-2.0/include")
73 (string-append "-DX11_INCLUDE_DIR="
74 (assoc-ref %build-inputs "libx11")
75 "/include")
76 (string-append "-DX11_LIBRARIES="
77 (assoc-ref %build-inputs "libx11")
78 "/lib/libX11.so")
79 "-DX11_FOUND=1")))
80 (native-inputs
81 `(("pkg-config" ,pkg-config)
82 ("gettext" ,gnu-gettext)))
83 (inputs
84 `(("alsa-lib" ,alsa-lib)
85 ("ao" ,ao)
86 ("bluez" ,bluez)
87 ("eudev" ,eudev)
88 ("ffmpeg" ,ffmpeg)
89 ("glew" ,glew)
90 ("glib" ,glib)
91 ("glu" ,glu)
92 ("gtk+" ,gtk+-2)
93 ("libevdev" ,libevdev)
94 ("libpng" ,libpng)
95 ("libusb" ,libusb)
96 ("libx11" ,libx11)
97 ("libxi" ,libxi)
98 ("libxrandr" ,libxrandr)
99 ("lzo" ,lzo)
100 ("mesa" ,mesa)
101 ("miniupnpc" ,miniupnpc)
102 ("openal" ,openal)
103 ("pulseaudio" ,pulseaudio)
104 ("sdl2" ,sdl2)
105 ("soil" ,soil)
106 ("soundtouch" ,soundtouch)
107 ("wxwidgets" ,wxwidgets-with-gtk2)
108 ("zlib" ,zlib)))
109 (home-page "https://dolphin-emu.org/")
110 (synopsis "Nintendo Wii and GameCube emulator")
111 (description
112 "Dolphin is an emulator for two Nintendo video game consoles: the
113 GameCube and the Wii. It provides compatibility with all PC controllers, turbo
114 speed, networked multiplayer, and graphical enhancements.")
115 (license license:gpl2)))