|
|
@ -2,83 +2,72 @@ |
|
|
|
, stdenv |
|
|
|
, stdenv |
|
|
|
, fetchFromGitHub |
|
|
|
, fetchFromGitHub |
|
|
|
, pkg-config |
|
|
|
, pkg-config |
|
|
|
|
|
|
|
, SDL2 |
|
|
|
, alsa-lib |
|
|
|
, alsa-lib |
|
|
|
|
|
|
|
, gtk3 |
|
|
|
, gtksourceview3 |
|
|
|
, gtksourceview3 |
|
|
|
|
|
|
|
, libGL |
|
|
|
|
|
|
|
, libGLU |
|
|
|
|
|
|
|
, libX11 |
|
|
|
, libXv |
|
|
|
, libXv |
|
|
|
, openal |
|
|
|
|
|
|
|
, libpulseaudio |
|
|
|
|
|
|
|
, libao |
|
|
|
, libao |
|
|
|
|
|
|
|
, libpulseaudio |
|
|
|
|
|
|
|
, openal |
|
|
|
, udev |
|
|
|
, udev |
|
|
|
, SDL2 |
|
|
|
|
|
|
|
}: |
|
|
|
}: |
|
|
|
|
|
|
|
|
|
|
|
stdenv.mkDerivation rec { |
|
|
|
stdenv.mkDerivation rec { |
|
|
|
pname = "ares"; |
|
|
|
pname = "ares"; |
|
|
|
version = "126"; |
|
|
|
version = "127"; |
|
|
|
|
|
|
|
|
|
|
|
src = fetchFromGitHub { |
|
|
|
src = fetchFromGitHub { |
|
|
|
owner = "ares-emulator"; |
|
|
|
owner = "ares-emulator"; |
|
|
|
repo = "ares"; |
|
|
|
repo = "ares"; |
|
|
|
rev = "v${version}"; |
|
|
|
rev = "v${version}"; |
|
|
|
sha256 = "1rj4vmz8lvpmfc6wni7222kagnw9f6jda9rcb6qky2kpizlp2d24"; |
|
|
|
sha256 = "0rhq39w41j9yr1fkyfmf4n6fjxnq1cglj98rp4wys12kwqv7smvx"; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
parallel-rdp = fetchFromGitHub { |
|
|
|
|
|
|
|
owner = "Themaister"; |
|
|
|
|
|
|
|
repo = "parallel-rdp-standalone"; |
|
|
|
|
|
|
|
rev = "0dcebe11ee79288441e40e145c8f340d81f52316"; |
|
|
|
|
|
|
|
sha256 = "1avp4wyfkhk5yfjqx5w3jbqghn2mq5la7k9248kjmnp9n9lip6w9"; |
|
|
|
|
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
patches = [ |
|
|
|
patches = [ |
|
|
|
|
|
|
|
./dont-rebuild-on-install.patch |
|
|
|
./fix-ruby.patch |
|
|
|
./fix-ruby.patch |
|
|
|
]; |
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
enableParallelBuilding = true; |
|
|
|
|
|
|
|
dontConfigure = true; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
nativeBuildInputs = [ |
|
|
|
nativeBuildInputs = [ |
|
|
|
pkg-config |
|
|
|
pkg-config |
|
|
|
]; |
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
buildInputs = [ |
|
|
|
buildInputs = [ |
|
|
|
|
|
|
|
SDL2 |
|
|
|
alsa-lib |
|
|
|
alsa-lib |
|
|
|
|
|
|
|
gtk3 |
|
|
|
gtksourceview3 |
|
|
|
gtksourceview3 |
|
|
|
|
|
|
|
libGL |
|
|
|
|
|
|
|
libGLU |
|
|
|
|
|
|
|
libX11 |
|
|
|
libXv |
|
|
|
libXv |
|
|
|
openal |
|
|
|
|
|
|
|
libpulseaudio |
|
|
|
|
|
|
|
libao |
|
|
|
libao |
|
|
|
|
|
|
|
libpulseaudio |
|
|
|
|
|
|
|
openal |
|
|
|
udev |
|
|
|
udev |
|
|
|
SDL2 |
|
|
|
|
|
|
|
]; |
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
buildPhase = '' |
|
|
|
enableParallelBuilding = true; |
|
|
|
runHook preBuild |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
rm -rf ares/n64/vulkan/parallel-rdp |
|
|
|
|
|
|
|
ln -sf ${parallel-rdp} ares/n64/vulkan/parallel-rdp |
|
|
|
|
|
|
|
make -C desktop-ui -j $NIX_BUILD_CORES openmp=true vulkan=true local=false hiro=gtk3 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
runHook postBuild |
|
|
|
|
|
|
|
''; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
installPhase = '' |
|
|
|
|
|
|
|
runHook preInstall |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mkdir -p $out/{bin,share/{applications,ares,pixmaps}} |
|
|
|
|
|
|
|
cp desktop-ui/out/ares $out/bin |
|
|
|
|
|
|
|
cp desktop-ui/resource/ares.desktop $out/share/applications |
|
|
|
|
|
|
|
cp desktop-ui/resource/{ares{.ico,.png},font.png} $out/share/pixmaps |
|
|
|
|
|
|
|
cp -r ares/{Shaders,System} $out/share/ares |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
runHook postInstall |
|
|
|
makeFlags = [ |
|
|
|
''; |
|
|
|
"-C desktop-ui" |
|
|
|
|
|
|
|
"local=false" |
|
|
|
|
|
|
|
"openmp=true" |
|
|
|
|
|
|
|
"hiro=gtk3" |
|
|
|
|
|
|
|
"prefix=$(out)" |
|
|
|
|
|
|
|
]; |
|
|
|
|
|
|
|
|
|
|
|
meta = with lib; { |
|
|
|
meta = with lib; { |
|
|
|
homepage = "https://ares.dev"; |
|
|
|
homepage = "https://ares.dev"; |
|
|
|
description = "Open-source multi-system emulator with a focus on accuracy and preservation"; |
|
|
|
description = "Open-source multi-system emulator with a focus on accuracy and preservation"; |
|
|
|
license = licenses.isc; |
|
|
|
license = licenses.isc; |
|
|
|
maintainers = with maintainers; [ Madouura ]; |
|
|
|
maintainers = with maintainers; [ Madouura ]; |
|
|
|
platforms = platforms.all; |
|
|
|
platforms = platforms.linux; |
|
|
|
}; |
|
|
|
}; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
# TODO: select between Qt, GTK2 and GTK3 |
|
|
|
|
|
|
|
# TODO: support Darwin |
|
|
|