python3Packages.orjson: Disable failing tests on 32 bit
[NixPkgs.git] / pkgs / games / blightmud / default.nix
blobcd37385585da793397b8381d3d8a271fd975ed8d
1 { stdenv
2 , lib
3 , fetchFromGitHub
4 , rustPlatform
5 , pkg-config
6 , alsa-lib
7 , openssl
8 , withTTS ? false
9 , speechd
12 rustPlatform.buildRustPackage rec {
13   pname = "blightmud";
14   version = "5.0.0";
16   src = fetchFromGitHub {
17     owner = pname;
18     repo = pname;
19     rev = "v${version}";
20     sha256 = "sha256-AGKlkNpNdyD2cJGs350/076Qd/8M/nmRAaHJyefFRgw=";
21   };
23   cargoSha256 = "sha256-RI0J60DCspJ501VR3TpqD6pjzO6//Qq1NgQb45d32ks=";
25   buildFeatures = lib.optional withTTS "tts";
27   nativeBuildInputs = [ pkg-config rustPlatform.bindgenHook ];
29   buildInputs = [ alsa-lib openssl ] ++ lib.optionals withTTS [ speechd ];
31   checkFlags =
32     let
33       # Most of Blightmud's unit tests pass without trouble in the isolated
34       # Nixpkgs build env. The following tests need to be skipped.
35       skipList = [
36         "test_connect"
37         "test_gmcp_negotiation"
38         "test_ttype_negotiation"
39         "test_reconnect"
40         "test_is_connected"
41         "test_mud"
42         "test_server"
43         "test_lua_script"
44         "timer_test"
45         "validate_assertion_fail"
46       ];
47       skipFlag = test: "--skip " + test;
48     in
49     builtins.concatStringsSep " " (builtins.map skipFlag skipList);
51   meta = with lib; {
52     description = "A terminal MUD client written in Rust";
53     longDescription = ''
54       Blightmud is a terminal client for connecting to Multi User Dungeon (MUD)
55       games. It is written in Rust and supports TLS, GMCP, MSDP, MCCP2, tab
56       completion, text searching and a split view for scrolling. Blightmud can
57       be customized with Lua scripting for aliases, triggers, timers, customized
58       status bars, and more. Blightmud supports several accessibility features
59       including an optional built-in text-to-speech engine and a screen reader
60       friendly mode.
61     '';
62     homepage = "https://github.com/Blightmud/Blightmud";
63     license = licenses.gpl3Plus;
64     maintainers = with maintainers; [ cpu ];
65     platforms = platforms.linux;
66   };