diff --git a/Mk/Uses/python.mk b/Mk/Uses/python.mk --- a/Mk/Uses/python.mk +++ b/Mk/Uses/python.mk @@ -441,6 +441,7 @@ . if ${_PYTHON_ARGS} == 2.7 DEV_WARNING+= "lang/python27 reached End of Life and will be removed somewhere in the future, please convert to a modern version of python" +NOT_REPRODUCIBLE= . elif ${_PYTHON_ARGS} == 2 DEV_ERROR+= "USES=python:2 is no longer supported, use USES=python:2.7" . elif ${_PYTHON_ARGS} == 3 diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -2021,6 +2021,18 @@ CHECKSUM_ALGORITHMS?= sha256 DISTINFO_FILE?= ${MASTERDIR}/distinfo +_TIMESTAMP= 0 +.if !defined(NOT_REPRODUCIBLE) && exists(${DISTINFO_FILE}) +.if !defined(_TIMESTAMP_CACHE) || empty(_TIMESTAMP_CACHE) +_TIMESTAMP_CACHE!= ${GREP} -m1 '^TIMESTAMP' ${DISTINFO_FILE} | ${CUT} -wf3 +.endif +_TIMESTAMP= ${_TIMESTAMP_CACHE} +.endif +.if ${_TIMESTAMP} != 0 +WRK_ENV+= SOURCE_DATE_EPOCH='${_TIMESTAMP}' +.endif + + MAKE_FLAGS?= -f MAKEFILE?= Makefile @@ -3478,6 +3490,9 @@ PKG_CREATE_ARGS+= -l ${PKG_COMPRESSION_LEVEL} . endif PKG_CREATE_ARGS+= -r ${STAGEDIR} +.if ${_TIMESTAMP} != 0 +PKG_CREATE_ARGS+= -t ${_TIMESTAMP} +.endif . if defined(PKG_CREATE_VERBOSE) PKG_CREATE_ARGS+= -v . endif