From 1caabe30b4216c5ec935e90a73b00bf613b3fe9f Mon Sep 17 00:00:00 2001 From: Ethan Carter Edwards Date: Fri, 10 Jul 2026 23:21:22 -0700 Subject: [PATCH] kalamine: modernize Signed-off-by: Ethan Carter Edwards --- pkgs/by-name/ka/kalamine/package.nix | 29 ++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/pkgs/by-name/ka/kalamine/package.nix b/pkgs/by-name/ka/kalamine/package.nix index faca12ca4c63..5963e2cd1375 100644 --- a/pkgs/by-name/ka/kalamine/package.nix +++ b/pkgs/by-name/ka/kalamine/package.nix @@ -1,26 +1,30 @@ { lib, - python3, + python3Packages, fetchFromGitHub, + versionCheckHook, + writableTmpDirAsHomeHook, }: -python3.pkgs.buildPythonApplication (finalAttrs: { +python3Packages.buildPythonApplication (finalAttrs: { pname = "kalamine"; version = "0.40"; pyproject = true; + __structuredAttrs = true; + src = fetchFromGitHub { owner = "OneDeadKey"; repo = "kalamine"; - rev = "v${finalAttrs.version}"; + tag = "v${finalAttrs.version}"; hash = "sha256-9R8N5p+VNuiqTl3a0SSmJEVg3Ol76nROf43GsdOdJL8="; }; - nativeBuildInputs = [ - python3.pkgs.hatchling + build-system = [ + python3Packages.hatchling ]; - propagatedBuildInputs = with python3.pkgs; [ + dependencies = with python3Packages; [ click livereload lxml @@ -31,6 +35,19 @@ python3.pkgs.buildPythonApplication (finalAttrs: { pythonImportsCheck = [ "kalamine" ]; + # https://github.com/OneDeadKey/kalamine/blob/a9724bf6e93a34c740f9349b8811b2e51cc62c41/Makefile#L39 + preCheck = '' + python -m kalamine.cli build layouts/*.toml + ''; + + nativeCheckInputs = [ + python3Packages.pytestCheckHook + versionCheckHook + writableTmpDirAsHomeHook + ]; + versionCheckProgramArg = "version"; + versionCheckKeepEnvironment = [ "HOME" ]; + meta = { description = "Keyboard Layout Maker"; homepage = "https://github.com/OneDeadKey/kalamine/";