2021-01-25 19:34:06 +01:00
|
|
|
{ pname, version, src, branchName
|
|
|
|
, stdenv, lib, fetchFromGitHub, wrapQtAppsHook
|
|
|
|
, cmake, pkg-config
|
2021-01-25 19:32:53 +01:00
|
|
|
, libpulseaudio, libjack2, alsaLib, sndio, ecasound
|
|
|
|
, vulkan-loader, vulkan-headers
|
|
|
|
, qtbase, qtwebengine, qttools
|
|
|
|
, nlohmann_json, rapidjson
|
|
|
|
, zlib, zstd, libzip, lz4
|
|
|
|
, glslang
|
|
|
|
, boost173
|
|
|
|
, catch2
|
|
|
|
, fmt
|
|
|
|
, SDL2
|
|
|
|
, udev
|
|
|
|
, libusb1
|
|
|
|
, ffmpeg
|
|
|
|
}:
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec {
|
|
|
|
inherit pname version src;
|
|
|
|
|
2021-01-25 19:34:06 +01:00
|
|
|
nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
|
2021-01-25 19:32:53 +01:00
|
|
|
buildInputs = [
|
|
|
|
libpulseaudio libjack2 alsaLib sndio ecasound
|
|
|
|
vulkan-loader vulkan-headers
|
|
|
|
qtbase qtwebengine qttools
|
|
|
|
nlohmann_json rapidjson
|
|
|
|
zlib zstd libzip lz4
|
|
|
|
glslang
|
|
|
|
boost173
|
|
|
|
catch2
|
|
|
|
fmt
|
|
|
|
SDL2
|
|
|
|
udev
|
|
|
|
libusb1
|
|
|
|
ffmpeg
|
|
|
|
];
|
|
|
|
|
2021-01-25 19:34:06 +01:00
|
|
|
cmakeFlags = [
|
|
|
|
"-DENABLE_QT_TRANSLATION=ON"
|
|
|
|
"-DYUZU_USE_QT_WEB_ENGINE=ON"
|
|
|
|
"-DUSE_DISCORD_PRESENCE=ON"
|
|
|
|
];
|
2021-01-25 19:32:53 +01:00
|
|
|
|
|
|
|
# Trick the configure system. This prevents a check for submodule directories.
|
2021-01-25 19:34:06 +01:00
|
|
|
preConfigure = ''
|
|
|
|
rm -f .gitmodules
|
|
|
|
'';
|
2021-01-25 19:32:53 +01:00
|
|
|
|
|
|
|
# Fix vulkan detection
|
|
|
|
postFixup = ''
|
|
|
|
wrapProgram $out/bin/yuzu --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
|
|
|
|
wrapProgram $out/bin/yuzu-cmd --prefix LD_LIBRARY_PATH : ${vulkan-loader}/lib
|
|
|
|
'';
|
|
|
|
|
2021-01-25 19:34:06 +01:00
|
|
|
meta = with lib; {
|
2021-01-25 19:32:53 +01:00
|
|
|
homepage = "https://yuzu-emu.org";
|
2021-01-25 19:34:06 +01:00
|
|
|
description = "The ${branchName} branch of an experimental Nintendo Switch emulator written in C++";
|
2021-01-25 19:32:53 +01:00
|
|
|
longDescription = ''
|
|
|
|
An experimental Nintendo Switch emulator written in C++.
|
|
|
|
Using the mainline branch is recommanded for general usage.
|
|
|
|
Using the early-access branch is recommanded if you would like to try out experimental features, with a cost of stability.
|
|
|
|
'';
|
|
|
|
license = with licenses; [
|
|
|
|
gpl2Plus
|
|
|
|
# Icons
|
|
|
|
cc-by-nd-30 cc0
|
|
|
|
];
|
|
|
|
maintainers = with maintainers; [ ivar joshuafern ];
|
|
|
|
platforms = platforms.linux;
|
|
|
|
};
|
|
|
|
}
|