89 lines
1.6 KiB
Nix
89 lines
1.6 KiB
Nix
|
{
|
||
|
lib,
|
||
|
SDL2,
|
||
|
alsa-lib,
|
||
|
boost,
|
||
|
callPackage,
|
||
|
cmake,
|
||
|
curl,
|
||
|
freeimage,
|
||
|
freetype,
|
||
|
libGL,
|
||
|
libGLU,
|
||
|
libvlc,
|
||
|
pkg-config,
|
||
|
rapidjson,
|
||
|
stdenv,
|
||
|
}:
|
||
|
|
||
|
let
|
||
|
sources = callPackage ./sources.nix { };
|
||
|
in
|
||
|
stdenv.mkDerivation {
|
||
|
inherit (sources.emulationstation) pname version src;
|
||
|
|
||
|
postUnpack = ''
|
||
|
pushd $sourceRoot/external/pugixml
|
||
|
cp --verbose --archive ${sources.pugixml.src}/* .
|
||
|
chmod --recursive 744 .
|
||
|
popd
|
||
|
'';
|
||
|
|
||
|
nativeBuildInputs = [
|
||
|
SDL2
|
||
|
cmake
|
||
|
pkg-config
|
||
|
];
|
||
|
|
||
|
buildInputs = [
|
||
|
SDL2
|
||
|
alsa-lib
|
||
|
boost
|
||
|
curl
|
||
|
freeimage
|
||
|
freetype
|
||
|
libGL
|
||
|
libGLU
|
||
|
libvlc
|
||
|
rapidjson
|
||
|
];
|
||
|
|
||
|
cmakeFlags = [ (lib.cmakeBool "GL" true) ];
|
||
|
|
||
|
strictDeps = true;
|
||
|
|
||
|
installPhase = ''
|
||
|
runHook preInstall
|
||
|
|
||
|
install -Dm755 ../emulationstation $out/bin/emulationstation
|
||
|
mkdir -p $out/share/emulationstation/
|
||
|
cp -r ../resources $out/share/emulationstation/
|
||
|
|
||
|
runHook postInstall
|
||
|
'';
|
||
|
|
||
|
# es-core/src/resources/ResourceManager.cpp: resources are searched at the
|
||
|
# same place of binaries.
|
||
|
postFixup = ''
|
||
|
pushd $out
|
||
|
ln -s $out/share/emulationstation/resources $out/bin/
|
||
|
popd
|
||
|
'';
|
||
|
|
||
|
passthru = {
|
||
|
inherit sources;
|
||
|
};
|
||
|
|
||
|
meta = {
|
||
|
homepage = "https://github.com/RetroPie/EmulationStation";
|
||
|
description = "Flexible emulator front-end supporting keyboardless navigation and custom system themes (forked by RetroPie)";
|
||
|
license = with lib.licenses; [ mit ];
|
||
|
mainProgram = "emulationstation";
|
||
|
maintainers = with lib.maintainers; [
|
||
|
AndersonTorres
|
||
|
edwtjo
|
||
|
];
|
||
|
platforms = lib.platforms.linux;
|
||
|
};
|
||
|
}
|