From 86630d9a5fbcecf04178e2d1f110f075ff3f8763 Mon Sep 17 00:00:00 2001 From: Madoura Date: Tue, 16 Nov 2021 20:45:07 -0600 Subject: [PATCH 1/2] maintainers: add Madouura --- maintainers/maintainer-list.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 26cd901552fb..96d722b75da2 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -6934,6 +6934,12 @@ githubId = 109141; name = "Georges Dubus"; }; + Madouura = { + email = "madouura@gmail.com"; + github = "Madouura"; + githubId = 93990818; + name = "Madoura"; + }; mafo = { email = "Marc.Fontaine@gmx.de"; github = "MarcFontaine"; From 76799f3bc5bbd79a5e9f5f3b4bc1927188a88d96 Mon Sep 17 00:00:00 2001 From: Madoura Date: Tue, 30 Nov 2021 15:07:05 -0600 Subject: [PATCH 2/2] dolphin-emu-primehack: init at 1.0.5 --- pkgs/misc/emulators/dolphin-emu/primehack.nix | 151 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 3 + 2 files changed, 154 insertions(+) create mode 100644 pkgs/misc/emulators/dolphin-emu/primehack.nix diff --git a/pkgs/misc/emulators/dolphin-emu/primehack.nix b/pkgs/misc/emulators/dolphin-emu/primehack.nix new file mode 100644 index 000000000000..90510d645226 --- /dev/null +++ b/pkgs/misc/emulators/dolphin-emu/primehack.nix @@ -0,0 +1,151 @@ +{ lib +, stdenv +, fetchFromGitHub +, pkg-config +, cmake +, wrapQtAppsHook +, qtbase +, bluez +, ffmpeg +, libao +, libGLU +, libGL +, pcre +, gettext +, libXrandr +, libusb1 +, lzo +, libpthreadstubs +, libXext +, libXxf86vm +, libXinerama +, libSM +, libXdmcp +, readline +, openal +, udev +, libevdev +, portaudio +, curl +, alsa-lib +, miniupnpc +, enet +, mbedtls +, soundtouch +, sfml +, fmt +, vulkan-loader +, libpulseaudio + +# - Inputs used for Darwin +, CoreBluetooth +, ForceFeedback +, IOKit +, OpenGL +, libpng +, hidapi +}: + +stdenv.mkDerivation rec { + pname = "dolphin-emu-primehack"; + version = "1.0.5"; + + src = fetchFromGitHub { + owner = "shiiion"; + repo = "dolphin"; + rev = version; + sha256 = "011qghswgh9l7k993lfn1hrwhgyrv9m33smgspsjq50jww6r27fl"; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + pkg-config + cmake + ] ++ lib.optional stdenv.isLinux wrapQtAppsHook; + + buildInputs = [ + curl + ffmpeg + libao + libGLU + libGL + pcre + gettext + libpthreadstubs + libpulseaudio + libXrandr + libXext + libXxf86vm + libXinerama + libSM + readline + openal + libXdmcp + lzo + portaudio + libusb1 + libpng + hidapi + miniupnpc + enet + mbedtls + soundtouch + sfml + fmt + qtbase + ] ++ lib.optionals stdenv.isLinux [ + bluez + udev + libevdev + alsa-lib + vulkan-loader + ] ++ lib.optionals stdenv.isDarwin [ + CoreBluetooth + OpenGL + ForceFeedback + IOKit + ]; + + cmakeFlags = [ + "-DUSE_SHARED_ENET=ON" + "-DENABLE_LTO=ON" + ] ++ lib.optionals stdenv.isDarwin [ + "-DOSX_USE_DEFAULT_SEARCH_PATH=True" + ]; + + qtWrapperArgs = lib.optionals stdenv.isLinux [ + "--prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib" + # https://bugs.dolphin-emu.org/issues/11807 + # The .desktop file should already set this, but Dolphin may be launched in other ways + "--set QT_QPA_PLATFORM xcb" + ]; + + # - Allow Dolphin to use nix-provided libraries instead of building them + postPatch = '' + substituteInPlace CMakeLists.txt --replace 'DISTRIBUTOR "None"' 'DISTRIBUTOR "NixOS"' + '' + lib.optionalString stdenv.isDarwin '' + substituteInPlace CMakeLists.txt --replace 'if(NOT APPLE)' 'if(true)' + substituteInPlace CMakeLists.txt --replace 'if(LIBUSB_FOUND AND NOT APPLE)' 'if(LIBUSB_FOUND)' + ''; + + postInstall = '' + mv $out/bin/dolphin-emu $out/bin/dolphin-emu-primehack + mv $out/bin/dolphin-emu-nogui $out/bin/dolphin-emu-primehack-nogui + mv $out/share/applications/dolphin-emu.desktop $out/share/applications/dolphin-emu-primehack.desktop + mv $out/share/icons/hicolor/256x256/apps/dolphin-emu.png $out/share/icons/hicolor/256x256/apps/dolphin-emu-primehack.png + substituteInPlace $out/share/applications/dolphin-emu-primehack.desktop --replace 'dolphin-emu' 'dolphin-emu-primehack' + '' + lib.optionalString stdenv.hostPlatform.isLinux '' + install -D $src/Data/51-usb-device.rules $out/etc/udev/rules.d/51-usb-device.rules + ''; + + meta = with lib; { + homepage = "https://github.com/shiiion/dolphin"; + description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8"; + license = licenses.gpl2Plus; + maintainers = with maintainers; [ MP2E ashkitten Madouura ]; + # x86_32 is an unsupported platform. + # Enable generic build if you really want a JIT-less binary. + broken = stdenv.isDarwin; + platforms = [ "x86_64-linux" "x86_64-darwin" ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index fb255be8b71f..b764e9cb3be1 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4575,6 +4575,9 @@ with pkgs; dolphinEmuMaster = qt5.callPackage ../misc/emulators/dolphin-emu/master.nix { inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL; }; + dolphin-emu-primehack = qt5.callPackage ../misc/emulators/dolphin-emu/primehack.nix { + inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL; + }; domoticz = callPackage ../servers/domoticz { };