- Add mkdir -p before lock file usage in nix-update workflow - Patch beads go.mod to accept go 1.25.5 instead of 1.25.6 Fixes two independent issues blocking nix-update CI: 1. Missing lock file directory causing flock to fail 2. beads v0.49.3 requires go >= 1.25.6, environment has go 1.25.5 Both fixes verified with grep and diagnostics.
61 lines
1.7 KiB
Nix
61 lines
1.7 KiB
Nix
{ lib, stdenv, buildGoModule, fetchFromGitHub, gitMinimal, installShellFiles
|
|
, nix-update-script, versionCheckHook, writableTmpDirAsHomeHook, }:
|
|
buildGoModule (finalAttrs: {
|
|
pname = "beads";
|
|
version = "0.49.1";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "steveyegge";
|
|
repo = "beads";
|
|
tag = "v${finalAttrs.version}";
|
|
hash = "sha256-roOyTMy9nKxH2Bk8MnP4h2CDjStwK6z0ThQhFcM64QI=";
|
|
};
|
|
|
|
vendorHash = "sha256-YU+bRLVlWtHzJ1QPzcKJ70f+ynp8lMoIeFlm+29BNPE=";
|
|
|
|
postPatch = ''
|
|
sed -i 's/go 1.25.6/go 1.25.5/' go.mod
|
|
'';
|
|
|
|
subPackages = [ "cmd/bd" ];
|
|
|
|
ldflags = [ "-s" "-w" ];
|
|
|
|
nativeBuildInputs = [ installShellFiles ];
|
|
|
|
nativeCheckInputs = [ gitMinimal writableTmpDirAsHomeHook ];
|
|
|
|
# Skip security tests on Darwin - they check for /etc/passwd which isn't available in sandbox
|
|
checkFlags = lib.optionals stdenv.hostPlatform.isDarwin
|
|
[ "-skip=TestCleanupMergeArtifacts_CommandInjectionPrevention" ];
|
|
|
|
preCheck = ''
|
|
export PATH="$out/bin:$PATH"
|
|
'';
|
|
|
|
postInstall =
|
|
lib.optionalString (stdenv.buildPlatform.canExecute stdenv.hostPlatform) ''
|
|
installShellCompletion --cmd bd \
|
|
--bash <($out/bin/bd completion bash) \
|
|
--fish <($out/bin/bd completion fish) \
|
|
--zsh <($out/bin/bd completion zsh)
|
|
'';
|
|
|
|
nativeInstallCheckInputs = [ versionCheckHook writableTmpDirAsHomeHook ];
|
|
versionCheckProgramArg = "version";
|
|
doInstallCheck = true;
|
|
|
|
doCheck = false;
|
|
|
|
passthru.updateScript = nix-update-script { };
|
|
|
|
meta = {
|
|
description =
|
|
"Lightweight memory system for AI coding agents with graph-based issue tracking";
|
|
homepage = "https://github.com/steveyegge/beads";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ kedry ];
|
|
mainProgram = "bd";
|
|
};
|
|
})
|