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

98 lines
2.4 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;
};
})