nixpkgs/pkgs/by-name/de/devin-cli/package.nix
2026-07-04 13:07:56 +00:00

88 lines
2 KiB
Nix

{
lib,
stdenvNoCC,
fetchurl,
installShellFiles,
versionCheckHook,
}:
let
version = "3000.1.23";
throwSystem = throw "Unsupported system: ${stdenvNoCC.hostPlatform.system}";
srcs = {
x86_64-linux = fetchurl {
url = "https://static.devin.ai/cli/${version}/devin-${version}-x86_64-unknown-linux.tar.gz";
hash = "sha256-m7DOI/PY0ldm4kRmAxeEQXTiH/R2oT3R8igmtXYA40g=";
};
aarch64-linux = fetchurl {
url = "https://static.devin.ai/cli/${version}/devin-${version}-aarch64-unknown-linux.tar.gz";
hash = "sha256-oOZjPyr3sgaH54KBWQhODFwxrEnuhkTW/rVPwXUAeUY=";
};
aarch64-darwin = fetchurl {
url = "https://static.devin.ai/cli/${version}/devin-${version}-aarch64-apple-darwin.tar.gz";
hash = "sha256-x+g7kILZuWG2JX4tc+GdIE7XqpHIzWt6+xPQU/gzyeA=";
};
x86_64-darwin = fetchurl {
url = "https://static.devin.ai/cli/${version}/devin-${version}-x86_64-apple-darwin.tar.gz";
hash = "sha256-LF1Mk53ds28Avvq+TtyvIu/BPYSHm9tBVjAlUXAyJVU=";
};
};
in
stdenvNoCC.mkDerivation (finalAttrs: {
pname = "devin-cli";
inherit version;
outputs = [
"out"
"man"
"doc"
];
strictDeps = true;
__structuredAttrs = true;
src = srcs.${stdenvNoCC.hostPlatform.system} or throwSystem;
sourceRoot = ".";
nativeBuildInputs = [ installShellFiles ];
dontConfigure = true;
dontBuild = true;
installPhase = ''
runHook preInstall
installBin ./bin/devin
installManPage ./share/man/man1/*.1
mkdir -p $out/share/doc
mv ./share/devin/docs/* $out/share/doc
runHook postInstall
'';
nativeInstallCheckInputs = [ versionCheckHook ];
doInstallCheck = true;
passthru.updateScript = ./update.sh;
meta = {
description = "Cognition's Devin Agent CLI";
homepage = "https://devin.ai/cli";
license = lib.licenses.unfree;
sourceProvenance = [ lib.sourceTypes.binaryNativeCode ];
maintainers = with lib.maintainers; [
ethancedwards8
nhshah15
];
mainProgram = "devin";
};
})