The Crystal compiler version info (crystal --version) includes a date representing the chronological aspect of the comiler version.
It's supposed to represent the date of the source code. But this information is not available in a bare snapshot of the source tree. The Makefile tries to read the date of the last commit from git, which requires git and the repository.
This patch adds a file src/SOURCE_DATE_EPOCH which sits alongside src/VERSION to have both data available next to each other.
It gets automatically populated in the release process and is removed afterwards. So it should only be available in the source tree of tagged release commits.
The Crystal compiler version info (
crystal --version
) includes a date representing the chronological aspect of the comiler version. It's supposed to represent the date of the source code. But this information is not available in a bare snapshot of the source tree. TheMakefile
tries to read the date of the last commit fromgit
, which requiresgit
and the repository.This patch adds a file
src/SOURCE_DATE_EPOCH
which sits alongsidesrc/VERSION
to have both data available next to each other. It gets automatically populated in the release process and is removed afterwards. So it should only be available in the source tree of tagged release commits.A practical use case for this is https://github.com/NixOS/nixpkgs/issues/306765 as well as any other package build that doesn't use the git repository.