bootstrap head
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
{ pkgs ? import <nixpkgs> {} }:
|
||||
|
||||
pkgs.stdenv.mkDerivation rec {
|
||||
pname = "claude-code";
|
||||
# 根据您之前的截图,我们锁定该版本以保证可复现性
|
||||
version = "2.1.87";
|
||||
|
||||
# 直接从 GCS Bucket 抓取二进制文件,绕过 bash 脚本
|
||||
src = pkgs.fetchurl {
|
||||
url = "https://storage.googleapis.com/claude-code-dist-86c565f3-f756-42ad-8dfa-d59b1c096819/claude-code-releases/${version}/linux-x64/claude";
|
||||
|
||||
# 提示:首次构建时,您可以将 hash 填为 lib.fakeHash
|
||||
# Nix 会报错并告诉您正确的 SHA-256 哈希值,然后将其填入此处即可
|
||||
hash = "sha256-saW4lGmGKt7g5NwoyrWoMUvE0BF+Gasmp7f/fOm1m9U=";
|
||||
};
|
||||
|
||||
# 引入 autoPatchelfHook 自动修复 ELF 文件的动态链接
|
||||
nativeBuildInputs = [ pkgs.autoPatchelfHook ];
|
||||
|
||||
# 添加运行该二进制所需的常见 C 标准库
|
||||
# 如果运行后提示缺失某些 .so 文件,可在此处追加对应的依赖包
|
||||
buildInputs = with pkgs; [
|
||||
stdenv.cc.cc.lib
|
||||
zlib
|
||||
];
|
||||
|
||||
# 因为下载的是单一二进制文件,不需要解压源码
|
||||
dontUnpack = true;
|
||||
|
||||
# 安装阶段:将其放入 Nix 标准的 bin 目录下
|
||||
installPhase = ''
|
||||
mkdir -p $out/bin
|
||||
cp $src $out/bin/claude
|
||||
chmod +x $out/bin/claude
|
||||
'';
|
||||
|
||||
meta = with pkgs.lib; {
|
||||
description = "Claude Code CLI";
|
||||
homepage = "https://claude.ai";
|
||||
platforms = platforms.linux;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user