diff --git a/repos/libports/lib/mk/libcrypto.inc b/repos/libports/lib/mk/libcrypto.inc index 843a1e7893..98f0a5b700 100644 --- a/repos/libports/lib/mk/libcrypto.inc +++ b/repos/libports/lib/mk/libcrypto.inc @@ -651,13 +651,23 @@ CC_OPT_ec/curve448/scalar += $(CURVE448_INCLUDES) # $(SRC_C:.c=.o): buildinf.h +# Taken from https://reproducible-builds.org/docs/source-date-epoch +DATE_FMT = +%Y-%m-%d +ifdef SOURCE_DATE_EPOCH + BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || \ + date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || \ + date -u "$(DATE_FMT)") +else + BUILD_DATE ?= $(shell date "$(DATE_FMT)") +endif + # Rules taken from FreeBSDs libcrypto/Makefile buildinf.h: $(VERBOSE)( \ echo "#ifndef MK1MF_BUILD" ;\ - echo "/* auto-generated by libcrypto.mk for crypto/cversion.c */" ;\ + echo "/* auto-generated by libcrypto.mk for crypto/cversion.c */" ;\ echo "#define PLATFORM \"Genode-$(TARGET_CPUARCH)\"" ;\ - echo "#define DATE \"built on: $(shell date --rfc-email)\"" ;\ + echo "#define DATE \"built on: $(BUILD_DATE)\"" ;\ echo "static const char compiler_flags[] = \"\";" ;\ echo "#endif" ;\ ) > $@