From 79b497cdb303436f2d9d0d354b7df893761e14e6 Mon Sep 17 00:00:00 2001 From: BatteredBunny Date: Tue, 2 Jun 2026 20:43:56 +0300 Subject: [PATCH] jsmn: init at 1.1.0 --- pkgs/by-name/js/jsmn/package.nix | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 pkgs/by-name/js/jsmn/package.nix diff --git a/pkgs/by-name/js/jsmn/package.nix b/pkgs/by-name/js/jsmn/package.nix new file mode 100644 index 000000000000..6b16a6c57e96 --- /dev/null +++ b/pkgs/by-name/js/jsmn/package.nix @@ -0,0 +1,66 @@ +{ + lib, + stdenv, # for tests + stdenvNoCC, + fetchFromGitHub, +}: + +stdenvNoCC.mkDerivation (finalAttrs: { + pname = "jsmn"; + version = "1.1.0"; + + __structuredAttrs = true; + strictDeps = true; + + src = fetchFromGitHub { + owner = "zserge"; + repo = "jsmn"; + tag = "v${finalAttrs.version}"; + hash = "sha256-Vv8Cqb+WZZVnmtVZ12JYd5/qUrqLqi4lvNsUyj9NnRQ="; + }; + + dontConfigure = true; + dontBuild = true; + + installPhase = '' + runHook preInstall + + install -Dm644 jsmn.h $out/include/jsmn.h + + runHook postInstall + ''; + + passthru.tests.suite = stdenv.mkDerivation { + pname = "jsmn-tests"; + + inherit (finalAttrs) version src; + + dontConfigure = true; + dontBuild = true; + + doCheck = true; + checkPhase = '' + runHook preCheck + + make test + + runHook postCheck + ''; + + installPhase = '' + runHook preInstall + + touch $out + + runHook postInstall + ''; + }; + + meta = { + description = "Minimalistic JSON parser in C"; + maintainers = with lib.maintainers; [ BatteredBunny ]; + homepage = "https://github.com/zserge/jsmn"; + license = lib.licenses.mit; + platforms = lib.platforms.all; + }; +})