nixpkgs/pkgs/build-support/setup-hooks/canonicalize-jars.sh
bb010g 29fedf210f canonicalize-jars-hook: add
A build hook to run functions previously only implemented privately in
`pkgs/build-support/release/functions.sh`.
2021-10-27 13:21:27 +03:00

18 lines
571 B
Bash

# This setup hook causes the fixup phase to repack all JAR files in a
# canonical & deterministic fashion, e.g. resetting mtimes (like with normal
# store files) and avoiding impure metadata.
fixupOutputHooks+=('if [ -z "$dontCanonicalizeJars" -a -e "$prefix" ]; then canonicalizeJarsIn "$prefix"; fi')
canonicalizeJarsIn() {
local dir="$1"
header "canonicalizing jars in $dir"
dir="$(realpath -sm -- "$dir")"
while IFS= read -rd '' f; do
canonicalizeJar "$f"
done < <(find -- "$dir" -type f -name '*.jar' -print0)
stopNest
}
source @canonicalize_jar@