1{ 2 lib, 3 fetchFromGitHub, 4 buildPythonPackage, 5 setuptools, 6 colorama, 7 colorlog, 8 packaging, 9 parse, 10 prompt-toolkit, 11 psutil, 12 requests, 13 resolvelib, 14 ruamel-yaml, 15 typing-extensions, 16 pathspec, 17 pytestCheckHook, 18 versionCheckHook, 19 nix-update-script, 20}: 21 22buildPythonPackage rec { 23 pname = "mcdreforged"; 24 version = "2.15.4"; 25 pyproject = true; 26 27 src = fetchFromGitHub { 28 owner = "MCDReforged"; 29 repo = "MCDReforged"; 30 tag = "v${version}"; 31 hash = "sha256-q88jAsgoIFzsOVKeA4fk69wGbnq3HcYJ2YzeZQHmYo4="; 32 }; 33 34 build-system = [ setuptools ]; 35 36 dependencies = [ 37 colorama 38 colorlog 39 packaging 40 parse 41 prompt-toolkit 42 psutil 43 requests 44 resolvelib 45 ruamel-yaml 46 typing-extensions 47 pathspec 48 ]; 49 50 nativeCheckInputs = [ 51 pytestCheckHook 52 versionCheckHook 53 ]; 54 55 versionCheckProgramArg = "--version"; 56 57 passthru.updateScript = nix-update-script { }; 58 59 meta = { 60 description = "Rewritten version of MCDaemon, a python tool to control your Minecraft server"; 61 homepage = "https://mcdreforged.com"; 62 changelog = "https://github.com/MCDReforged/MCDReforged/releases/tag/v${version}"; 63 license = lib.licenses.lgpl3Only; 64 maintainers = with lib.maintainers; [ moraxyc ]; 65 mainProgram = "mcdreforged"; 66 }; 67}