nixpkgs/pkgs/build-support/setup-hooks
Andreas Rammhold cb007e69a1 stdenv: make symlinks that refer to the same output relative
While looking at the graph of all the outputs in my personal binary
cache it became obvious that we have a lot of self references within the
package set. That isn't an isuse by itself. However it increases the
size of the binary cache for every (reproducible) build of a package
that carries references to itself. You can no longer deduplicate the
outputs since they are all unique. One of the ways to get rid of (a few)
references is to rewrite all the symlinks that are currently used to be
relative symlinks. Two build of something that didn't really change but
carries a self-reference can the be store as the same NAR file again.

I quickly hacked together this change to see if that would yield and
success. My bash scripting skills are probably not great but so far it
seem to somewhat work.
2020-01-15 09:26:40 +01:00
..
audit-tmpdir.sh common setup hooks: set -u robustness 2019-11-01 14:44:43 -04:00
auto-patchelf.sh treewide: Make still dont* Variables are optional in most cases 2019-11-01 14:44:44 -04:00
autoreconf.sh autoreconfHook: Simplify by avoiding findInputs 2017-09-14 13:16:12 -04:00
breakpoint-hook.sh breakpointHook: add for debugging failing builds 2018-10-25 10:19:41 +01:00
compress-man-pages.sh common setup hooks: set -u robustness 2019-11-01 14:44:43 -04:00
die.sh dieHook: Add die utility function 2017-08-08 00:17:56 -05:00
enable-coverage-instrumentation.sh
find-xml-catalogs.sh find-xml-catalogues: Ensure XML_CATALOG_FILES is defined 2019-11-01 14:44:44 -04:00
fix-darwin-dylib-names.sh gcj: fix build on Darwin 2019-01-30 18:19:17 +00:00
gog-unpack.sh build-support gogUnpackHook: support for unpacking games from gog.com 2018-02-12 22:28:06 +08:00
install-shell-files.sh installShellFiles: init (#65211) 2019-09-04 23:19:17 +02:00
keep-build-tree.sh
ld-is-cc-hook.sh ld-is-cc-hook: init 2017-12-19 01:45:42 +00:00
make-coverage-analysis-report.sh releaseTools.coverageAnalysis: Emit hydra-metrics 2015-07-30 18:06:33 +02:00
make-symlinks-relative.sh stdenv: make symlinks that refer to the same output relative 2020-01-15 09:26:40 +01:00
make-wrapper.sh makeWrapper: Remove unused extraFlagsArray feature 2019-09-25 09:23:09 -07:00
move-docs.sh move-docs.sh: Handle share/gtk-doc 2015-07-26 13:35:49 +02:00
move-lib64.sh common setup hooks: set -u robustness 2019-11-01 14:44:43 -04:00
move-sbin.sh common setup hooks: set -u robustness 2019-11-01 14:44:43 -04:00
multiple-outputs.sh multiple-outputs setup hook: Remove accidentally added tab 2019-11-04 19:51:04 -05:00
patch-shebangs.sh treewide: Make still dont* Variables are optional in most cases 2019-11-01 14:44:44 -04:00
prune-libtool-files.sh common setup hooks: set -u robustness 2019-11-01 14:44:43 -04:00
role.bash treewide: Use pkgs/build-support/roles.bash to remove copy pasta 2018-05-07 15:10:37 -04:00
separate-debug-info.sh misc setup-hooks: Use env vars to refer to binutils programs 2017-12-13 16:08:18 -05:00
set-java-classpath.sh java classpath hook: allow unbound $CLASSPATH 2019-11-24 23:30:05 -05:00
set-source-date-epoch-to-latest.sh set-source-date-epoch-to-latest: fix warning 2018-11-29 09:49:08 +01:00
setup-debug-info-dirs.sh treewide: Don't use envHook anymore 2017-12-30 22:04:22 -05:00
shorten-perl-shebang.sh add shortenPerlShebang function 2019-08-18 16:22:23 -07:00
strip.sh common setup hooks: set -u robustness 2019-11-01 14:44:43 -04:00
update-autotools-gnu-config-scripts.sh treewide: Make still dont* Variables are optional in most cases 2019-11-01 14:44:44 -04:00
use-old-cxx-abi.sh useOldCXXAbi: Change into a setup hook 2016-04-01 13:36:59 +02:00
win-dll-link.sh misc setup-hooks: Use env vars to refer to binutils programs 2017-12-13 16:08:18 -05:00
wrap-gapps-hook.sh wrapGAppsHook: don't add empty variables 2019-12-10 17:19:10 +00:00