1{ lib
2, asyncio-dgram
3, buildPythonPackage
4, click
5, dnspython
6, fetchFromGitHub
7, mock
8, pytest-asyncio
9, pytestCheckHook
10, pythonOlder
11, six
12}:
13
14buildPythonPackage rec {
15 pname = "mcstatus";
16 version = "5.2.0";
17 disabled = pythonOlder "3.6";
18
19 src = fetchFromGitHub {
20 owner = "Dinnerbone";
21 repo = pname;
22 rev = "v${version}";
23 sha256 = "sha256-RlqzeixaHgyIl/7mMRkZAEsqJEP79Bz1bDGAU8PIetU=";
24 };
25
26 propagatedBuildInputs = [
27 asyncio-dgram
28 click
29 dnspython
30 six
31 ];
32
33 checkInputs = [
34 mock
35 pytest-asyncio
36 pytestCheckHook
37 ];
38
39 postPatch = ''
40 substituteInPlace requirements.txt --replace "dnspython3" "dnspython"
41 '';
42
43 pythonImportsCheck = [ "mcstatus" ];
44
45 meta = with lib; {
46 description = "Python library for checking the status of Minecraft servers";
47 homepage = "https://github.com/Dinnerbone/mcstatus";
48 license = with licenses; [ asl20 ];
49 maintainers = with maintainers; [ fab ];
50 };
51}