crane/pkgs/copyCargoTargetToOutputHook.sh

26 lines
702 B
Bash
Raw Normal View History

2021-12-27 05:06:19 +03:00
copyCargoTargetToOutput() {
echo "Executing copyCargoTargetToOutput"
if [ "1" != "${doCopyTargetToOutput-}" ]; then
2021-12-27 05:06:19 +03:00
return
fi
export SOURCE_DATE_EPOCH=1
mkdir -p "${target}"
if [ "1" != "${doCompressTarget-}" ]; then
# Copy the cargo `target` directory to the `target` output
mv "${CARGO_TARGET_DIR:-target}" "${target}/target"
return
fi
# See: https://reproducible-builds.org/docs/archives/
tar --sort=name \
--mtime="@${SOURCE_DATE_EPOCH}" \
--owner=0 --group=0 --numeric-owner \
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
-c target | @zstd@ -o "${target}/target.tar.zst"
2021-12-27 05:06:19 +03:00
}
postInstallHooks+=(copyCargoTargetToOutput)