forgejo-lts: 7.0.10 -> 7.0.11
[NixPkgs.git] / pkgs / games / exult / default.nix
blobcc32d13617dc1996e78638d452a5d300d8f4be0e
1 { lib
2 , stdenv
3 , fetchFromGitHub
4 , SDL2
5 , autoconf
6 , autoconf-archive
7 , autoreconfHook
8 , automake
9 , libogg
10 , libtool
11 , libvorbis
12 , pkg-config
13 , zlib
14 , enableTools ? false
15 # Darwin-specific
16 , AudioUnit
19 stdenv.mkDerivation rec {
20   pname = "exult";
21   version = "1.10.1";
23   src = fetchFromGitHub {
24     owner = "exult";
25     repo = "exult";
26     rev = "v${version}";
27     hash = "sha256-NlvtYtmJNYhOC1BtIxIij3NEQHWAGOeD4XgRq7evjzE=";
28   };
30   # We can't use just DESTDIR because with it we'll have /nix/store/...-exult-1.10.1/nix/store/...-exult-1.10.1/bin
31   postPatch = ''
32     substituteInPlace macosx/macosx.am \
33       --replace-fail DESTDIR NIX_DESTDIR
34   '';
36   nativeBuildInputs = [
37     autoconf
38     autoconf-archive
39     autoreconfHook
40     automake
41     libtool
42     pkg-config
43   ];
45   buildInputs = [
46     SDL2
47     libogg
48     libvorbis
49     zlib
50   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
51     AudioUnit
52   ];
54   enableParallelBuilding = true;
56   makeFlags = [ "NIX_DESTDIR=$(out)" ]; # see postPatch
57   configureFlags = lib.optional (!enableTools) "--disable-tools";
59   meta = with lib; {
60     description = "Exult is a project to recreate Ultima VII for modern operating systems";
61     longDescription = ''
62       Ultima VII, an RPG from the early 1990's, still has a huge following. But,
63       being a DOS game with a very nonstandard memory manager, it is difficult
64       to run it on the latest computers. Exult is a project that created an
65       Ultima VII game engine that runs on modern operating systems, capable of
66       using the data and graphics files that come with the game. Exult aims to
67       let those people who own Ultima VII play the game on modern hardware, in
68       as close to (or perhaps even surpassing) its original splendor as is
69       possible.
70     '';
71     homepage = "http://exult.info";
72     license = licenses.gpl2Plus;
73     maintainers = with maintainers; [ azahi ];
74     mainProgram = "exult";
75   };