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; { diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 228613358c83..6ae85cdd918f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -2102,7 +2102,6 @@ with pkgs; dolphinEmuMaster = callPackage ../misc/emulators/dolphin-emu/master.nix { inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL; inherit (darwin) cf-private; - wxGTK = wxGTK31; }; doomseeker = qt5.callPackage ../applications/misc/doomseeker { };