{
callPackage,
fetchFromGitHub,
fetchpatch,
substitute,
}:
callPackage ../generic.nix rec {
pname = "summoning-pixel-dungeon";
version = "1.2.5a";
src = fetchFromGitHub {
owner = "TrashboxBobylev";
repo = "Summoning-Pixel-Dungeon";
# The GH release is named "$version-$hash", but it's actually a mutable "_latest" tag
rev = "89ff59e7f42abcc88b7a1f24391f95ddc30f9d29";
hash = "sha256-VQcWkbGe/0qyt3M5WWgTxczwC5mE3lRHbYidOwRoukI=";
};
patches = [
(substitute {
src = ./disable-git-version.patch;
substitutions = [
"--subst-var-by"
"version"
version
];
})
# FIXME: Remove after next release
(fetchpatch {
name = "Update-desktop-build-script-for-Gradle-7.0+";
url = "https://github.com/TrashboxBobylev/Summoning-Pixel-Dungeon/commit/5610142126e161cbdc78a07c5d5abfbcd6eaf8a6.patch";
hash = "sha256-zAiOz/Cu89Y+VmAyLCf7fzq0Mr0sYFZu14sqBZ/XvZU=";
postPatch = ''
# Upstream patched this in https://github.com/TrashboxBobylev/Summoning-Pixel-Dungeon/commit/c8a6fdd57c49fd91bf65be48679ae6a77578ef9f,
# but the patch fails to apply cleanly. Manually replace the deprecated option instead.
substituteInPlace gradle.properties \
--replace-fail "-XX:MaxPermSize" "-XX:MaxMetaspaceSize"
'';
desktopName = "Summoning Pixel Dungeon";
meta = {
homepage = "https://github.com/TrashboxBobylev/Summoning-Pixel-Dungeon";
downloadPage = "https://github.com/TrashboxBobylev/Summoning-Pixel-Dungeon/releases";
description = "A fork of the Shattered Pixel Dungeon roguelike with added summoning mechanics";
}