linux_xanmod: 5.11.14 -> 5.11.15
[NixPkgs.git] / pkgs / development / libraries / yojimbo / default.nix
blobb72820c77a68dea6ec10889a52d514003ddff3b7
1 { lib, stdenv, fetchFromGitHub, premake5, doxygen, libsodium, mbedtls }:
3 stdenv.mkDerivation {
4   pname = "yojimbo";
5   version = "1.1";
7   src = fetchFromGitHub {
8     owner = "networkprotocol";
9     repo = "yojimbo";
10     rev = "e02219c102d9b440290539036992d77608eab3b0";
11     sha256 = "0jn25ddv73hwjals883a910m66kwj6glxxhnmn96bpzsvsaimnkr";
12     fetchSubmodules = true;
13   };
15   nativeBuildInputs = [ premake5 doxygen ];
16   propagatedBuildInputs = [ libsodium mbedtls ];
18   postBuild = ''
19     premake5 docs
20   '';
22   installPhase = ''
23     install -Dm555 -t $out/lib bin/libyojimbo.a
24     install -Dm444 -t $out/include yojimbo.h
25     mkdir -p $out/share/doc/yojimbo
26     cp -r docs/html $out/share/doc/yojimbo
27   '';
29   doCheck = true;
31   meta = with lib; {
32     description = "A network library for client/server games with dedicated servers";
33     longDescription = ''
34       yojimbo is a network library for client/server games with dedicated servers.
35       It's designed around the networking requirements of competitive multiplayer games like first person shooters.
36       As such it provides a time critical networking layer on top of UDP, with a client/server architecture supporting up to 64 players per-dedicated server instance.
37     '';
38     homepage = "https://github.com/networkprotocol/yojimbo";
39     license = licenses.bsd3;
40     platforms = platforms.x86_64;
41     maintainers = with maintainers; [ paddygord ];
42   };