pytrainer: unpin python 3.10
[NixPkgs.git] / pkgs / games / tinyfugue / default.nix
blob982e6038592d1a5393a6f6573c408d1fb0daf2e2
2   lib,
3   stdenv,
4   fetchurl,
5   ncurses,
6   zlib,
7   openssl,
8   sslSupport ? true,
9 }:
11 assert sslSupport -> openssl != null;
13 let
14   inherit (lib)
15     licenses
16     maintainers
17     optional
18     platforms
19     ;
22 stdenv.mkDerivation rec {
23   pname = "tinyfugue";
24   version = "50b8";
25   verUrl = "5.0%20beta%208";
27   src = fetchurl {
28     url = "mirror://sourceforge/project/tinyfugue/tinyfugue/${verUrl}/tf-${version}.tar.gz";
29     sha256 = "12fra2fdwqj6ilv9wdkc33rkj343rdcf5jyff4yiwywlrwaa2l1p";
30   };
32   patches = [
33     ./001-darwin-fixes.patch
34   ];
36   configureFlags = optional (!sslSupport) "--disable-ssl";
38   buildInputs = [
39     ncurses
40     zlib
41   ] ++ optional sslSupport openssl;
43   # Workaround build failure on -fno-common toolchains like upstream
44   # gcc-10. Otherwise build fails as:
45   #   ld: world.o:/build/tf-50b8/src/socket.h:24: multiple definition of
46   #     `world_decl'; command.o:/build/tf-50b8/src/socket.h:24: first defined here
47   env.NIX_CFLAGS_COMPILE = "-fcommon";
49   meta = {
50     homepage = "https://tinyfugue.sourceforge.net/";
51     description = "Terminal UI, screen-oriented MUD client";
52     mainProgram = "tf";
53     longDescription = ''
54       TinyFugue, aka "tf", is a flexible, screen-oriented MUD client, for use
55       with any type of text MUD.
56     '';
57     license = licenses.gpl2Only;
58     platforms = platforms.linux ++ platforms.darwin;
59     maintainers = [ maintainers.KibaFox ];
60   };