diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 7d12a8d498fa..731e0b0c7967 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -16248,6 +16248,12 @@ githubId = 115060; name = "Marek Maksimczyk"; }; + manfredmacx = { + email = "mfmacx@proton.me"; + github = "manfredmacx"; + githubId = 222261305; + name = "Manfred Macx"; + }; Mange = { name = "Magnus Bergmark"; email = "me@mange.dev"; diff --git a/pkgs/by-name/pi/picoclaw/package.nix b/pkgs/by-name/pi/picoclaw/package.nix new file mode 100644 index 000000000000..e67e36479e08 --- /dev/null +++ b/pkgs/by-name/pi/picoclaw/package.nix @@ -0,0 +1,57 @@ +{ + lib, + buildGoModule, + fetchFromGitHub, + versionCheckHook, +}: + +buildGoModule (finalAttrs: { + pname = "picoclaw"; + version = "0.2.0"; + + src = fetchFromGitHub { + owner = "sipeed"; + repo = "picoclaw"; + tag = "v${finalAttrs.version}"; + hash = "sha256-zCeURNN152yL3Qi1UFDvSB85xflbLAMzQUTwGThALss="; + }; + + proxyVendor = true; + vendorHash = "sha256-CsTGC5Ajo9RV6rJPQgnFqA+bQ2TEafI4tt3iXpVwaeY="; + + preBuild = '' + go generate ./... + ''; + + ldflags = [ + "-s" + "-w" + "-X github.com/sipeed/picoclaw/cmd/picoclaw/internal.version=${finalAttrs.version}" + ]; + + doInstallCheck = true; + nativeInstallCheckInputs = [ versionCheckHook ]; + versionCheckProgramArg = "version"; + + checkFlags = + let + skippedTests = [ + "TestGetVersion" + "TestCodexCliProvider_MockCLI_Success" + "TestCodexCliProvider_MockCLI_Error" + "TestCodexCliProvider_MockCLI_WithModel" + ]; + in + [ "-skip=^${builtins.concatStringsSep "$|^" skippedTests}$" ]; + + meta = { + description = "Tiny, Fast, and Deployable anywhere - automate the mundane, unleash your creativity"; + homepage = "https://github.com/sipeed/picoclaw"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + manfredmacx + drupol + ]; + mainProgram = "picoclaw"; + }; +})