pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / sfrotz / default.nix
blob49f903b8610119c7bc4bf3d5fd80733286ee5cbd
1 { fetchFromGitLab
2 , freetype
3 , libao
4 , libjpeg
5 , libmodplug
6 , libpng
7 , libsamplerate
8 , libsndfile
9 , libvorbis
10 , pkg-config
11 , SDL2
12 , SDL2_mixer
13 , lib, stdenv
14 , zlib }:
16 stdenv.mkDerivation rec {
17   pname = "sfrotz";
18   version = "2.54";
20   src = fetchFromGitLab  {
21     domain = "gitlab.com";
22     owner = "DavidGriffith";
23     repo = "frotz";
24     rev = version;
25     hash = "sha256-GvGxojD8d5GVy/d8h3q6K7KJroz2lsKbfE0F0acjBl8=";
26   };
28   buildInputs = [
29     freetype
30     libao
31     libjpeg
32     libmodplug
33     libpng
34     libsamplerate
35     libsndfile
36     libvorbis
37     SDL2
38     SDL2_mixer
39     zlib
40   ];
41   nativeBuildInputs = [ pkg-config ];
42   makeFlags = [ "PREFIX=${placeholder "out"}" ];
43   buildPhase = "make sdl";
44   installTargets = [ "install_sfrotz" ];
46   meta = with lib; {
47     description =
48       "Interpreter for Infocom and other Z-Machine games (SDL interface)";
49     mainProgram = "sfrotz";
50     longDescription = ''
51       Frotz is a Z-Machine interpreter. The Z-machine is a virtual machine
52       designed by Infocom to run all of their text adventures. It went through
53       multiple revisions during the lifetime of the company, and two further
54       revisions (V7 and V8) were created by Graham Nelson after the company's
55       demise. The specification is now quite well documented; this version of
56       Frotz supports version 1.0.
58       This version of Frotz fully supports all these versions of the Z-Machine
59       including the graphical version 6. Graphics and sound are created through
60       the use of the SDL libraries. AIFF sound effects and music in MOD and OGG
61       formats are supported when packaged in Blorb container files or optionally
62       from individual files.
63     '';
64     homepage = "https://davidgriffith.gitlab.io/frotz/";
65     changelog = "https://gitlab.com/DavidGriffith/frotz/-/raw/${version}/NEWS";
66     license = licenses.gpl2Plus;
67     maintainers = with maintainers; [ ddelabru ];
68     platforms = platforms.linux;
69   };