core#20629: depends: Improve id string robustness
build: Proper quoting for var printing targets
Previously, if the value contained syntax that was meaningful to make,
the printing would fail. Quoting properly avoids this.
depends: Improve id string robustness
Environment variables and search paths can drastically effect the
operation of build tools.
Include these in our id string to mitigate against false cache hits.
depends: Include GUIX_ENVIRONMENT in id string
guix: Supply --link-profile
depends: Fix id_string invocations
We now use a script named gen_id to generate the base build_id/host_id.
This solves 2 problems:
- GNU Make special-casing exit code 127 (command not found) meant that warnings about missing tools would propagate to the user's terminal and broke our opportunistic build_id construction.
- This change ensures that we don't have arbitrary characters in our make variables that would be misinterpreted by Make.
See comments in depends/Makefile and depends/gen_id for more
This is a backport of core#20629 and core#21427
and one commit from core#21375