forked from lix-project/lix
d367b8e787
For example,
$ nix-build --hash -A nix-repl.src
will build the fixed-output derivation nix-repl.src (a fetchFromGitHub
call), but instead of *verifying* the hash given in the Nix
expression, it prints out the resulting hash, and then moves the
result to its content-addressed location in the Nix store. E.g
build produced path ‘/nix/store/504a4k6zi69dq0yjc0bm12pa65bccxam-nix-repl-8a2f5f0607540ffe56b56d52db544373e1efb980-src’ with sha256 hash ‘0cjablz01i0g9smnavhf86imwx1f9mnh5flax75i615ml71gsr88’
The goal of this is to make all nix-prefetch-* scripts unnecessary: we
can just let Nix run the real thing (i.e., the corresponding fetch*
derivation).
Another example:
$ nix-build --hash -E 'with import <nixpkgs> {}; fetchgit { url = "https://github.com/NixOS/nix.git"; sha256 = "ffffffffffffffffffffffffffffffffffffffffffffffffffff"; }'
...
git revision is
|
||
---|---|---|
.. | ||
build.cc | ||
builtins.cc | ||
builtins.hh | ||
derivations.cc | ||
derivations.hh | ||
download.cc | ||
download.hh | ||
gc.cc | ||
globals.cc | ||
globals.hh | ||
local-store.cc | ||
local-store.hh | ||
local.mk | ||
misc.cc | ||
misc.hh | ||
nix-store.pc.in | ||
optimise-store.cc | ||
pathlocks.cc | ||
pathlocks.hh | ||
profiles.cc | ||
profiles.hh | ||
references.cc | ||
references.hh | ||
remote-store.cc | ||
remote-store.hh | ||
sandbox-defaults.sb.in | ||
schema.sql | ||
store-api.cc | ||
store-api.hh | ||
worker-protocol.hh |