Files
Dark Steveneq 646b892680
Some checks failed
Periodic Merges (6h) / master → staging-nixos (push) Failing after 12m50s
Periodic Merges (6h) / master → staging-next (push) Failing after 12m54s
Periodic Merges (24h) / merge-base(master,staging) → haskell-updates (push) Failing after 11m54s
Periodic Merges (6h) / staging-next → staging (push) Failing after 12m13s
Periodic Merges (24h) / staging-next-25.05 → staging-25.05 (push) Failing after 13m24s
Periodic Merges (24h) / release-25.05 → staging-next-25.05 (push) Failing after 14m28s
push sheeet
2025-10-09 14:15:47 +02:00

72 lines
1.7 KiB
Nix

{
lib,
stdenvNoCC,
fetchFromGitea,
makeDesktopItem,
copyDesktopItems,
makeWrapper,
renpy,
nix-update-script,
}:
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "katawa-shoujo-re-engineered";
version = "2.0.3";
src = fetchFromGitea {
# GitHub mirror at fleetingheart/ksre
domain = "codeberg.org";
owner = "fhs";
repo = "katawa-shoujo-re-engineered";
rev = "v${finalAttrs.version}";
hash = "sha256-M2TWc5dl7lkwM/oisM6xtJwb3Dw9i6qUadBHGdEO2bs=";
};
desktopItems = [
(makeDesktopItem {
name = "katawa-shoujo-re-engineered";
desktopName = "Katawa Shoujo: Re-Engineered";
type = "Application";
icon = finalAttrs.meta.mainProgram;
categories = [ "Game" ];
exec = finalAttrs.meta.mainProgram;
})
];
nativeBuildInputs = [
makeWrapper
copyDesktopItems
];
dontBuild = true;
installPhase = ''
runHook preInstall
mkdir -p $out/bin
makeWrapper ${lib.getExe' renpy "renpy"} $out/bin/${finalAttrs.meta.mainProgram} \
--add-flags ${finalAttrs.src} --add-flags run
install -D $src/web-icon.png $out/share/icons/hicolor/512x512/apps/${finalAttrs.meta.mainProgram}.png
runHook postInstall
'';
passthru.updateScript = nix-update-script { };
meta = {
description = "Fan-made modernization of the classic visual novel Katawa Shoujo";
homepage = "https://www.fhs.sh/projects";
license = with lib.licenses; [
# code
mpl20
# assets from the original game
cc-by-nc-nd-30
];
mainProgram = "katawa-shoujo-re-engineered";
maintainers = with lib.maintainers; [
quantenzitrone
rapiteanu
];
platforms = renpy.meta.platforms;
};
})