Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -2046,7 +2046,12 @@ CHECKSUM_ALGORITHMS?= sha256 DISTINFO_FILE?= ${MASTERDIR}/distinfo +_TIMESTAMP= 0 +.if exists(${DISTINFO_FILE}) +_TIMESTAMP!= ${AWK} -F= -v ts=0 '/^TIMESTAMP/ { gsub(" ", "", $$2); ts=$$2 } END { print ts}' ${DISTINFO_FILE} +.endif + MAKE_FLAGS?= -f MAKEFILE?= Makefile MAKE_CMD?= ${BSDMAKE} @@ -2058,6 +2063,10 @@ CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" \ MANPREFIX="${MANPREFIX}" +.if ${_TIMESTAMP} != 0 +MAKE_ENV+= SOURCE_DATE_EPOCH="${_TIMESTAMP}" +.endif + # Add -fno-strict-aliasing to CFLAGS with optimization level -O2 or higher. # gcc 4.x enable strict aliasing optimization with -O2 which is known to break # a lot of ports. @@ -3427,6 +3436,9 @@ .if !target(do-package) PKG_CREATE_ARGS= -r ${STAGEDIR} +.if ${_TIMESTAMP} != 0 +PKG_CREATE_ARGS+= -t ${_TIMESTAMP} +.endif . if defined(PKG_CREATE_VERBOSE) PKG_CREATE_ARGS+= -v . endif