nixpkgs/pkgs/misc/emulators/retroarch/wrapper.nix
John Ericson 9b090ccbca treewide: Get rid of most parseDrvName without breaking compat
That is because this commit should be merged to both master and
release-19.09.
2019-11-24 17:22:28 +00:00

37 lines
931 B
Nix

{ stdenv, lib, makeWrapper, retroarch, cores }:
stdenv.mkDerivation {
pname = "retroarch";
version = lib.getVersion retroarch;
buildInputs = [ makeWrapper ];
buildCommand = ''
mkdir -p $out/lib
$(for coreDir in $cores
do
$(ln -s $coreDir/* $out/lib/.)
done)
ln -s -t $out ${retroarch}/share
if [ -d ${retroarch}/Applications ]; then
ln -s -t $out ${retroarch}/Applications
fi
makeWrapper ${retroarch}/bin/retroarch $out/bin/retroarch \
--suffix-each LD_LIBRARY_PATH ':' "$cores" \
--add-flags "-L $out/lib/" \
'';
cores = map (x: x + x.libretroCore) cores;
preferLocalBuild = true;
meta = with retroarch.meta; {
inherit license homepage platforms maintainers;
description = description
+ " (with cores: "
+ lib.concatStrings (lib.intersperse ", " (map (x: ""+x.name) cores))
+ ")";
};
}