3
0
Fork 0
forked from mirrors/nixpkgs

Merge pull request #145199 from Madouura/dev/primehack

This commit is contained in:
Sandro 2021-12-03 19:42:16 +01:00 committed by GitHub
commit 303ac25c1a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 160 additions and 0 deletions

View file

@ -7053,6 +7053,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";

View file

@ -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" ];
};
}

View file

@ -4655,6 +4655,9 @@ with pkgs;
dolphin-emu-beta = 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 { };