Tôi muốn thêm một gói từ github, giống như trong ví dụ dưới đây, nhưng tôi không biết nơi tôi có thể nhận được băm sha256 cần thiết (như được hiển thị bên dưới) cho bất kỳ nguồn github nào.Ý nghĩa của sha256 trong nixpkgs.fetchgit là gì? Giá trị đến từ đâu?
Ai đó có thể giải thích xin vui lòng sha256 đến từ đâu và làm thế nào tôi có thể nhận được giá trị sha256 cho một codebase github nhất định?
ghcjs-jquery = self.callPackage ({ mkDerivation, data-default, ghcjs-base, ghcjs-dom, text }:
mkDerivation {
pname = "ghcjs-jquery";
version = "0.1.0.0";
src = nixpkgs.fetchgit {
url = git://github.com/ghcjs/ghcjs-jquery;
rev = "c5eeeafcf81c0d3237b8b9fcb98c4b3633a1297f";
sha256 = "3b2de54224963ee17857a9737b65d49edc423e06ad7e9c9b85d9f69ca923676a";
};
buildDepends = [
data-default ghcjs-base ghcjs-dom text
];
jailbreak = true;
license = null;
}
) {};
https://github.com/ryantrinkle/try-reflex/blob/ghcjs-improved-base/default.nix#L49
ps, đây là những gì tôi có trên IRC là câu trả lời:
joco42> what does this sha256 attribute mean in this nix expression ? https://github.com/ryantrinkle/try-reflex/blob/ghcjs-improved-base/default.nix#L49
8:24 PM <joco42> where does it come from ?
8:24 PM <pikajude> that's the sha256 hash of that git checkout
8:25 PM → obadz and ldng joined ⇐ obadz- quit
8:29 PM <joco42> pikajude: ok, cool how can i get that ?
8:30 PM <pikajude> nix-prefetch-git in the nix-prefetch-scripts package
8:30 PM <joco42> many thanks pikajude
Lời khuyên chung là để thiết lập băm cho giá trị băm không chính xác và để nix cho bạn biết rằng nó sai và nó nên là gì. :-) Nó cần phải được định dạng đúng mặc dù, vì vậy tôi thường đặt một chuỗi 52 số không. – clacke