depot/third_party/nixpkgs/pkgs/by-name/tu/tumiki-fighters/package.nix

86 lines
2.3 KiB
Nix

{
lib,
stdenv,
fetchpatch,
fetchurl,
unzip,
gdc,
SDL,
SDL_mixer,
bulletml,
}:
let
debianPatch =
patchname: hash:
fetchpatch {
name = "${patchname}.patch";
url = "https://sources.debian.org/data/main/t/tumiki-fighters/0.2.dfsg1-9/debian/patches/${patchname}.patch";
sha256 = hash;
};
in
stdenv.mkDerivation (finalAttrs: {
pname = "tumiki-fighters";
version = "0.21";
src = fetchurl {
url = "http://abagames.sakura.ne.jp/windows/tf${
lib.replaceStrings [ "." ] [ "_" ] finalAttrs.version
}.zip";
sha256 = "0djykfc1r8ysapklm621h89ana1c4qzc1m5nr9bqw4iccnmvwk3p";
};
patches = [
(debianPatch "imports" "1l3kc67b43gdi139cpz5cka1nkn0pjp9mrgrrxlmr0liwx2aryhn")
(debianPatch "fixes" "1iy1a5vii6yz9zdlk2bcj6gkj4y25hn9y2fczz15jpqd9r2zm603")
(debianPatch "directories" "0kmv0s7jgr693fzrkjsmz4dnicc4w7njanxm2la3cf4vmgdyipmm")
(debianPatch "windowed" "1wp74l0bi8wq85pcxnmkwrlfmlf09im95n27pxgz082lhwf2ksy1")
(debianPatch "dotfile" "0d8x519bclh41j992qn6ijzfcrgacb79px6zjd1awypkwyc0j2p6")
(debianPatch "makefile" "11xf2b31kjyps53jfryv82dv0g6q0smc9xgp8imrbr93mzi51vf0")
(debianPatch "window-resizing" "1dm79d0yisa8zs5fr89y3wq2kzd3khcaxs0la8lhncvkqbd4smx8")
(debianPatch "dlang_v2" "1isnvbl3bjnpyphji8k3fl0yd1z4869h0lai143vpwgj6518lpg4")
(debianPatch "gdc-8" "1md0zwmv50jnak5g9d93bglv9v4z41blinjii6kv3vmgjnajapzj")
];
postPatch = ''
for f in \
src/abagames/tf/barragemanager.d \
src/abagames/util/sdl/sound.d \
src/abagames/util/sdl/texture.d \
src/abagames/tf/enemyspec.d \
src/abagames/tf/field.d \
src/abagames/tf/stagemanager.d \
src/abagames/tf/tumikiset.d
do
substituteInPlace $f \
--replace "/usr/" "$out/"
done
'';
nativeBuildInputs = [
unzip
gdc
];
buildInputs = [
SDL
SDL_mixer
bulletml
];
installPhase = ''
install -Dm755 tumiki-fighters $out/bin/tumiki-fighters
mkdir -p $out/share/games/tumiki-fighters
cp -r barrage sounds enemy field stage tumiki $out/share/games/tumiki-fighters/
'';
meta = with lib; {
homepage = "http://www.asahi-net.or.jp/~cs8k-cyu/windows/tf_e.html";
description = "Sticky 2D shooter";
mainProgram = "tumiki-fighters";
license = licenses.bsd2;
maintainers = with maintainers; [ fgaz ];
platforms = platforms.all;
};
})