1{
2 lib,
3 SDL2,
4 SDL2_image,
5 SDL2_mixer,
6 SDL2_ttf,
7 boost,
8 cmake,
9 fetchFromGitHub,
10 gettext,
11 gitUpdater,
12 ninja,
13 physfs,
14 pkg-config,
15 stdenv,
16 zip,
17}:
18
19stdenv.mkDerivation (finalAttrs: {
20 pname = "blockattack";
21 version = "2.9.0";
22
23 src = fetchFromGitHub {
24 owner = "blockattack";
25 repo = "blockattack-game";
26 rev = "v${finalAttrs.version}";
27 hash = "sha256-6mPj6A7mYm4CXkSSemNPn1CPkd7+01yr8KvCBM3a5po=";
28 };
29
30 nativeBuildInputs = [
31 SDL2
32 cmake
33 ninja
34 pkg-config
35 gettext
36 zip
37 ];
38
39 buildInputs = [
40 SDL2
41 SDL2_image
42 SDL2_mixer
43 SDL2_ttf
44 SDL2_ttf
45 boost
46 physfs
47 ];
48
49 outputs = [
50 "out"
51 "man"
52 ];
53
54 strictDeps = true;
55
56 preConfigure = ''
57 patchShebangs packdata.sh source/misc/translation/*.sh
58 chmod +x ./packdata.sh
59 ./packdata.sh
60 '';
61
62 passthru = {
63 updateScript = gitUpdater { };
64 };
65
66 meta = {
67 homepage = "https://blockattack.net/";
68 description = "Open source clone of Panel de Pon (aka Tetris Attack)";
69 broken = stdenv.hostPlatform.isDarwin;
70 changelog = "https://github.com/blockattack/blockattack-game/blob/${finalAttrs.src.rev}/CHANGELOG.md";
71 license = with lib.licenses; [ gpl2Plus ];
72 mainProgram = "blockattack";
73 maintainers = with lib.maintainers; [ ];
74 inherit (SDL2.meta) platforms;
75 };
76})