nix

¿Cuál es el significado de sha256 en nixpkgs.fetchgit? ¿De dónde viene el valor?



(1)

Me gustaría agregar un paquete desde github, como en el ejemplo a continuación, pero no sé dónde puedo obtener el hash sha256 necesario (como se muestra a continuación) para cualquier fuente de github dada.

¿Alguien puede explicar por favor de dónde viene el sha256 y cómo puedo obtener ese valor de sha256 para una base de código de github dada?

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, esto es lo que obtuve en IRC como respuesta:

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


Como me aconsejaron en el IRC:

>nix-prefetch-git https://github.com/ghcjs/ghcjs-dom Initialized empty Git repository in /tmp/user/1000/git-checkout-tmp-uxoKqy9s/git-export/.git/ remote: Counting objects: 1070, done. remote: Compressing objects: 100% (236/236), done. remote: Total 1070 (delta 858), reused 932 (delta 829), pack-reused 0 Receiving objects: 100% (1070/1070), 580.67 KiB | 911.00 KiB/s, done. Resolving deltas: 100% (858/858), done. From https://github.com/ghcjs/ghcjs-dom * branch HEAD -> FETCH_HEAD Switched to a new branch ''fetchgit'' git revision is 8b9c64e78e838de95ef1b61f15c0bd7068d45d84 git human-readable version is -- none -- Commit date is 2015-06-08 03:53:22 +1200 removing `.git''... hash is d05d04cad4aea829dddcf341ed4656d9828713d271f15c94414a74041188bac8 path is /nix/store/kcgbwampbp7qcyxqp4ag8rx2prxnsc19-git-export d05d04cad4aea829dddcf341ed4656d9828713d271f15c94414a74041188bac8