nixpkgs/pkgs/build-support
Bjørn Forsman 53614cf1a7 nix-prefetch-git: fix determinism with leaveDotGit
Add more files to the delete list:

 * .git/FETCH_HEAD
 * .git/ORIG_HEAD
 * .git/refs/remotes/origin/HEAD
 * .git/config

Further, remove all remote branches, remove tags not reachable from the
given 'rev', do a full repack and then garbage collect unreferenced
objects.

According to my testing, the result is fully deterministic. As in "any
change done to the upstream repo, ahead of 'rev', will not affect the
hash of the resulting 'clone'". Even changing the clone URL will not
change the output hash, because .git/config is removed.

A new version of git can of course change store format, but that's
unavoidable.

For big repositories, the repack operation may be a bit heavy. But as
far as I can see there is no cheaper way to determinism.
2014-11-02 13:15:33 +01:00
..
agda Add a builder for Agda packages. 2014-09-01 01:05:48 +01:00
build-fhs-chrootenv Fix build-fhs-chrootenv mount script 2014-10-22 10:39:17 +02:00
buildenv buildEnv to support passthru 2014-07-10 16:41:02 +02:00
builder-defs Use find instead of cp for installFonts. 2014-05-07 03:52:21 -04:00
cabal Patch 7a20d76 failed when the Haskell expression lacked a meta attribute. This commit fixes that issue. 2014-10-22 00:23:12 +02:00
clang-wrapper Partially merge gcc-wrapper and clang-wrapper 2014-07-02 20:10:40 +02:00
dotnetenv * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless 2012-01-18 20:16:00 +00:00
fetchadc Add Apple command-line tools 2014-10-02 06:50:09 +01:00
fetchbower Add fetchbower function to go along with bower2nix 2014-01-06 08:20:22 -05:00
fetchbzr build-support: Fix nix-prefetch-* on OS X. 2014-08-27 11:22:34 +02:00
fetchcvs build-support: Fix nix-prefetch-* on OS X. 2014-08-27 11:22:34 +02:00
fetchdarcs fetchbzr, fetchdarcs, fetchhg: use rev attr 2014-06-28 21:06:10 +02:00
fetchegg Infrastructure to build chicken eggs. 2014-10-13 23:29:27 +02:00
fetchfile
fetchgit nix-prefetch-git: fix determinism with leaveDotGit 2014-11-02 13:15:33 +01:00
fetchgitrevision
fetchhg build-support: Fix nix-prefetch-* on OS X. 2014-08-27 11:22:34 +02:00
fetchmtn Fix a few typos 2013-08-11 10:55:53 +00:00
fetchpatch Merge #2630: add and use fetchpatch 2014-05-17 07:31:03 +02:00
fetchsvn build-support: Fix nix-prefetch-* on OS X. 2014-08-27 11:22:34 +02:00
fetchsvnrevision
fetchsvnssh
fetchurl Added an up-to-date http debian mirror for those without ftp access. 2014-10-25 17:10:22 +02:00
fetchzip require gnused for all prefetch scripts 2014-06-23 01:25:40 -04:00
gcc-cross-wrapper Merge pull request #1928 from 'cross-win-osx'. 2014-04-21 10:00:35 +02:00
gcc-wrapper ld-wrapper: Put back the --sysroot filter 2014-09-02 13:18:03 +02:00
grsecurity Updated grsec. 2014-10-22 02:18:41 +02:00
kdewrapper Another attempt to eradicate ensureDir 2014-06-30 14:56:10 +02:00
kernel Document paths-from-graph.pl somewhat. 2014-06-28 20:44:22 -05:00
libredirect hipchat: Fix access to /usr/share/X11/xkb 2014-05-27 01:06:54 +02:00
make-desktopitem * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless 2012-01-18 20:16:00 +00:00
make-startupitem Another attempt to eradicate ensureDir 2014-06-30 14:56:10 +02:00
make-symlinks
mono-dll-fixer
native-darwin-cctools-wrapper Darwin: Add mig', lipo', etc. to `stdenvNative'. 2012-04-23 15:47:31 +00:00
nuke-references * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless 2012-01-18 20:16:00 +00:00
release Make ant-build canonicalize the jars it produces so that we produce byte-for-byte identical jars (they normally contain timestamps and nondeterministic ordering of metadata lines) 2014-08-14 01:20:44 -04:00
setup-hooks Revert "python-wrapper: fix wrapped argv[0] w/o sed, maybe" 2014-09-02 20:45:41 +04:00
src-only
substitute * Set preferLocalBuild on a few more trivial builders. 2012-04-26 15:17:43 +00:00
substitute-files substituteAllFiles: add derivation 2014-10-16 15:27:25 +01:00
upstream-updater More support for SF.net in auto-updater 2014-09-02 14:25:16 +04:00
vm Debain 7.6-amd64 tarball was updated in place 2014-10-20 15:26:51 -04:00
vsenv * "ensureDir" -> "mkdir -p". "ensureDir" is a rather pointless 2012-01-18 20:16:00 +00:00
build-pecl.nix Simplify php-packages.nix 2014-07-03 11:01:19 -04:00
replace-dependency.nix Exponentially reduce computation time needed for replace-dependency by using memoization. 2014-09-28 09:39:39 -04:00
source-from-head-fun.nix Remove getConfig helper function 2012-09-19 13:56:56 -04:00
trivial-builders.nix build-support: Add writeTextDir 2014-03-23 10:05:38 +00:00