summary refs log tree commit diff
path: root/pkgs/misc/emulators/dolphin-emu/master.nix
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/misc/emulators/dolphin-emu/master.nix')
-rw-r--r--pkgs/misc/emulators/dolphin-emu/master.nix77
1 files changed, 29 insertions, 48 deletions
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/misc/emulators/dolphin-emu/master.nix
index 3bfbc2565f35..6959177b3c9d 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/misc/emulators/dolphin-emu/master.nix
@@ -1,26 +1,16 @@
 { stdenv, fetchFromGitHub, makeWrapper, makeDesktopItem, pkgconfig, cmake, qt5
-, bluez, ffmpeg, libao, libGLU_combined, gtk2, glib, pcre, gettext, libXrandr
-, libpthreadstubs, libusb, libXext, libXxf86vm, libXinerama, libSM, libXdmcp
-, readline, openal, libevdev, portaudio, curl
-, vulkan-loader ? null
-, libpulseaudio ? null
+, bluez, ffmpeg, libao, libGLU_combined, pcre, gettext, libXrandr, libusb, lzo
+, libpthreadstubs, libXext, libXxf86vm, libXinerama, libSM, libXdmcp, readline
+, openal, libudev, libevdev, portaudio, curl, alsaLib, miniupnpc, enet, polarssl
+, soundtouch, sfml, vulkan-loader ? null, libpulseaudio ? null
 
 # - Inputs used for Darwin
-, CoreBluetooth, cf-private, ForceFeedback, IOKit, OpenGL, wxGTK, libpng, hidapi
-
-# options
-, dolphin-wxgui ? true
-, dolphin-qtgui ? false }:
-
-# XOR: ensure only wx XOR qt are enabled
-assert dolphin-wxgui || dolphin-qtgui;
-assert !(dolphin-wxgui && dolphin-qtgui);
+, CoreBluetooth, cf-private, ForceFeedback, IOKit, OpenGL, libpng, hidapi }:
 
 let
   desktopItem = makeDesktopItem {
     name = "dolphin-emu-master";
-    exec = stdenv.lib.optionalString dolphin-wxgui "dolphin-emu-wx"
-         + stdenv.lib.optionalString dolphin-qtgui "dolphin-emu-qt";
+    exec = "dolphin-emu-master";
     icon = "dolphin-emu";
     comment = "A Wii/GameCube Emulator";
     desktopName = "Dolphin Emulator (master)";
@@ -30,63 +20,54 @@ let
   };
 in stdenv.mkDerivation rec {
   name = "dolphin-emu-${version}";
-  version = "2018-06-22";
+  version = "2018-07-02";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "971972069cc2813ee7fa5b630c67baab2b35d12d";
-    sha256 = "0kf6dzvwmvhqb1iy15ldap0mmfbyyzl5f14jc65a110vwv5sww7n";
+    rev = "87c5d00e2085090e51c1d44e4fd271437123c722";
+    sha256 = "04f0my5k1vrj3pcg07m6wy4in4cs95db8367bp7zkraparmj1mjk";
   };
 
   enableParallelBuilding = true;
   nativeBuildInputs = [ cmake pkgconfig ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ makeWrapper ];
+  ++ stdenv.lib.optionals stdenv.isLinux [ makeWrapper ];
 
   buildInputs = [
-    curl ffmpeg libao libGLU_combined gtk2 glib pcre gettext libpthreadstubs
-    libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp
-    portaudio libusb libpulseaudio libpng hidapi
-  ] ++ stdenv.lib.optionals dolphin-qtgui [ qt5.qtbase ]
-    ++ stdenv.lib.optionals stdenv.isLinux [ bluez libevdev vulkan-loader ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ wxGTK CoreBluetooth cf-private
-                                              ForceFeedback IOKit OpenGL ];
+    curl ffmpeg libao libGLU_combined pcre gettext libpthreadstubs libpulseaudio
+    libXrandr libXext libXxf86vm libXinerama libSM readline openal libXdmcp lzo
+    portaudio libusb libpng hidapi miniupnpc enet polarssl soundtouch sfml
+    qt5.qtbase
+  ] ++ stdenv.lib.optionals stdenv.isLinux [
+    bluez libudev libevdev alsaLib vulkan-loader
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    CoreBluetooth cf-private OpenGL ForceFeedback IOKit
+  ];
 
   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"
-  ] ++ stdenv.lib.optionals (!dolphin-qtgui)  [ "-DENABLE_QT2=False" ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [
-      "-DOSX_USE_DEFAULT_SEARCH_PATH=True"
-    ];
+    "-DUSE_SHARED_ENET=ON"
+    "-DENABLE_LTO=ON"
+  ] ++ stdenv.lib.optionals stdenv.isDarwin [
+    "-DOSX_USE_DEFAULT_SEARCH_PATH=True"
+  ];
 
-  # - Change install path to Applications relative to $out
   # - Allow Dolphin to use nix-provided libraries instead of building them
-  preConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
-    sed -i -e 's,/Applications,Applications,g' \
-      Source/Core/DolphinWX/CMakeLists.txt
+  preConfigure = ''
+    sed -i -e 's,DISTRIBUTOR "None",DISTRIBUTOR "NixOS",g' CMakeLists.txt
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    sed -i -e 's,if(NOT APPLE),if(true),g' CMakeLists.txt
     sed -i -e 's,if(LIBUSB_FOUND AND NOT APPLE),if(LIBUSB_FOUND),g' \
       CMakeLists.txt
-    sed -i -e 's,if(NOT APPLE),if(true),g' CMakeLists.txt
-  '';
-
-  preInstall = stdenv.lib.optionalString stdenv.isDarwin ''
-    mkdir -p "$out/Applications"
   '';
 
   postInstall = ''
     cp -r ${desktopItem}/share/applications $out/share
+    ln -sf $out/bin/dolphin-emu $out/bin/dolphin-emu-master
   '' + stdenv.lib.optionalString stdenv.isLinux ''
     wrapProgram $out/bin/dolphin-emu-nogui \
       --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    wrapProgram $out/bin/dolphin-emu-wx \
-      --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-  '' + stdenv.lib.optionalString (dolphin-qtgui && stdenv.isLinux) ''
     wrapProgram $out/bin/dolphin-emu \
       --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
-    ln -sf $out/bin/dolphin-emu $out/bin/dolphin-emu-qt
   '';
 
   meta = with stdenv.lib; {