40 lines
1.1 KiB
Nix
40 lines
1.1 KiB
Nix
{ clonehero-unwrapped
|
|
, makeDesktopItem
|
|
, buildFHSUserEnv
|
|
, liberation_ttf
|
|
, callPackage
|
|
}:
|
|
|
|
let
|
|
name = "clonehero";
|
|
desktopName = "Clone Hero";
|
|
desktopItem = makeDesktopItem {
|
|
inherit name desktopName;
|
|
comment = clonehero-unwrapped.meta.description;
|
|
exec = name;
|
|
icon = name;
|
|
categories = "Game;";
|
|
};
|
|
in
|
|
buildFHSUserEnv {
|
|
inherit name;
|
|
inherit (clonehero-unwrapped) meta;
|
|
|
|
# Clone Hero has /usr/share/fonts hard-coded in its binary for looking up fonts.
|
|
# This workaround is necessary for rendering text on the keybinding screen (and possibly elsewhere)
|
|
# If a better solution is found, the FHS environment can be removed.
|
|
extraBuildCommands = ''
|
|
chmod +w usr/share
|
|
mkdir -p usr/share/fonts/truetype
|
|
ln -s ${liberation_ttf}/share/fonts/truetype/* usr/share/fonts/truetype
|
|
'';
|
|
|
|
extraInstallCommands = ''
|
|
mkdir -p "$out/share/applications" "$out/share/pixmaps"
|
|
cp ${desktopItem}/share/applications/* "$out/share/applications"
|
|
ln -s ${clonehero-unwrapped}/share/clonehero_Data/Resources/UnityPlayer.png "$out/share/pixmaps/${name}.png"
|
|
'';
|
|
|
|
runScript = callPackage ./xdg-wrapper.nix { };
|
|
}
|