Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
at r-updates 74 lines 1.5 kB view raw
1{ 2 lib, 3 4 buildPythonPackage, 5 fetchFromGitHub, 6 pythonOlder, 7 8 nix-update-script, 9 pcpp, 10 platformdirs, 11 poetry-core, 12 pydantic, 13 pydantic-settings, 14 pyparsing, 15 pyyaml, 16 tree-sitter, 17 tree-sitter-grammars, 18 versionCheckHook, 19}: 20let 21 version = "0.22.1"; 22in 23buildPythonPackage { 24 inherit version; 25 pname = "keymap-drawer"; 26 pyproject = true; 27 disabled = pythonOlder "3.12"; 28 29 src = fetchFromGitHub { 30 owner = "caksoylar"; 31 repo = "keymap-drawer"; 32 tag = "v${version}"; 33 hash = "sha256-X3O5yspEdey03YQ6JsYN/DE9NUiq148u1W6LQpUQ3ns="; 34 }; 35 36 build-system = [ poetry-core ]; 37 38 pythonRelaxDeps = [ 39 "tree-sitter-devicetree" 40 ]; 41 42 dependencies = [ 43 pcpp 44 platformdirs 45 pydantic 46 pydantic-settings 47 pyparsing 48 pyyaml 49 tree-sitter 50 tree-sitter-grammars.tree-sitter-devicetree 51 ]; 52 53 nativeCheckInputs = [ 54 versionCheckHook 55 ]; 56 57 pythonImportsCheck = [ "keymap_drawer" ]; 58 59 versionCheckProgram = "${placeholder "out"}/bin/keymap"; 60 versionCheckProgramArg = "--version"; 61 62 passthru.updateScript = nix-update-script { }; 63 64 meta = { 65 description = "Module and CLI tool to help parse and draw keyboard layouts"; 66 homepage = "https://github.com/caksoylar/keymap-drawer"; 67 changelog = "https://github.com/caksoylar/keymap-drawer/releases/tag/v${version}"; 68 license = lib.licenses.mit; 69 maintainers = with lib.maintainers; [ 70 MattSturgeon 71 ]; 72 mainProgram = "keymap"; 73 }; 74}