3e31f2a645
Previously, dolphin would build against vendored copies of the libraries (shipped in source code form). This would result both in a longer build (wxWidgets takes a while to build!) and in bulkier binaries that wouldn't share libraries with others, along with using fixed versions of curl and mbedtls which may be left with unpatched security vulnerabilities.
48 lines
1.6 KiB
Nix
48 lines
1.6 KiB
Nix
{ stdenv, pkgconfig, cmake, bluez, ffmpeg, libao, gtk2, glib, mesa
|
|
, gettext, libpthreadstubs, libXrandr, libXext, readline, openal
|
|
, libXdmcp, portaudio, fetchFromGitHub, libusb, libevdev
|
|
, wxGTK30, soundtouch, miniupnpc, mbedtls, curl, lzo, sfml
|
|
, libpulseaudio ? null }:
|
|
|
|
stdenv.mkDerivation rec {
|
|
name = "dolphin-emu-${version}";
|
|
version = "5.0";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "dolphin-emu";
|
|
repo = "dolphin";
|
|
rev = version;
|
|
sha256 = "07mlfnh0hwvk6xarcg315x7z2j0qbg9g7cm040df9c8psiahc3g6";
|
|
};
|
|
|
|
postPatch = ''
|
|
substituteInPlace Source/Core/VideoBackends/OGL/RasterFont.cpp \
|
|
--replace " CHAR_WIDTH " " CHARWIDTH "
|
|
'';
|
|
|
|
cmakeFlags = ''
|
|
-DGTK2_GLIBCONFIG_INCLUDE_DIR=${glib.out}/lib/glib-2.0/include
|
|
-DGTK2_GDKCONFIG_INCLUDE_DIR=${gtk2.out}/lib/gtk-2.0/include
|
|
-DGTK2_INCLUDE_DIRS=${gtk2.dev}/include/gtk-2.0
|
|
-DENABLE_LTO=True
|
|
'';
|
|
|
|
enableParallelBuilding = true;
|
|
|
|
buildInputs = [ pkgconfig cmake bluez ffmpeg libao mesa gtk2 glib
|
|
gettext libpthreadstubs libXrandr libXext readline openal
|
|
libevdev libXdmcp portaudio libusb libpulseaudio
|
|
libevdev libXdmcp portaudio libusb libpulseaudio
|
|
wxGTK30 soundtouch miniupnpc mbedtls curl lzo sfml ];
|
|
|
|
meta = {
|
|
homepage = http://dolphin-emu.org/;
|
|
description = "Gamecube/Wii/Triforce emulator for x86_64 and ARM";
|
|
license = stdenv.lib.licenses.gpl2;
|
|
maintainers = with stdenv.lib.maintainers; [ MP2E ];
|
|
# x86_32 is an unsupported platform.
|
|
# Enable generic build if you really want a JIT-less binary.
|
|
platforms = [ "x86_64-linux" ];
|
|
};
|
|
}
|