pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / openlierox / default.nix
blobf1fa65c403de1a9f1aed1871c454dc12424fd21b
2   lib,
3   stdenv,
4   fetchFromGitHub,
5   cmake,
6   pkg-config,
7   curl,
8   gd,
9   libX11,
10   libxml2,
11   libzip,
12   SDL,
13   SDL_image,
14   SDL_mixer,
15   zlib,
18 stdenv.mkDerivation (finalAttrs: {
19   pname = "openlierox";
20   version = "0.58_rc5";
22   src = fetchFromGitHub {
23     owner = "albertz";
24     repo = "openlierox";
25     rev = finalAttrs.version;
26     hash = "sha256-4ofjroEHlfrQitc7M+YTNWut0LGgntgQoOeBWU8nscY=";
27   };
29   postPatch = ''
30     sed 1i'#include <cstdint>' -i src/common/s*x.cpp
31     sed 1i'#include <libxml/parser.h>' -i include/XMLutils.h
32     substituteInPlace src/common/StringUtils.cpp \
33         --replace-fail "xmlErrorPtr" "const xmlError*"
34   '';
36   strictDeps = true;
38   nativeBuildInputs = [
39     cmake
40     pkg-config
41     SDL
42   ];
44   buildInputs = [
45     curl
46     gd
47     libX11
48     libxml2
49     libzip
50     SDL
51     SDL_image
52     SDL_mixer
53     zlib
54   ];
56   cmakeFlags = [ "-DSYSTEM_DATA_DIR=${placeholder "out"}/share" ];
58   env.NIX_CFLAGS_COMPILE = "-I${lib.getDev libxml2}/include/libxml2";
60   installPhase = ''
61     runHook preInstall
63     install -Dm755 bin/* -t $out/bin
65     mkdir -p $out/share/OpenLieroX
66     cp -r ../share/gamedir/* $out/share/OpenLieroX
68     runHook postInstall
69   '';
71   meta = {
72     description = "Real-time game with Worms-like shooting";
73     homepage = "http://openlierox.net";
74     license = lib.licenses.lgpl2Plus;
75     mainProgram = "openlierox";
76     maintainers = with lib.maintainers; [ tomasajt ];
77     platforms = lib.platforms.linux;
78   };