The bootstrap target uses xz(1) so add it as BDEP. Also use find(1)'s -delete and -exec commands and move variables before targets while here.
OK? Index: Makefile =================================================================== RCS file: /cvs/ports/lang/pypy/Makefile,v retrieving revision 1.34 diff -u -p -r1.34 Makefile --- Makefile 22 Sep 2019 11:37:04 -0000 1.34 +++ Makefile 22 Sep 2019 12:22:23 -0000 @@ -69,6 +69,21 @@ BUILD_DEPENDS = textproc/py-sphinx \ RUN_DEPENDS = ${MODTK_RUN_DEPENDS} \ databases/gdbm +.if ${FLAVOR:Mno_bootstrap} +MAKE_ENV += PYPY_GC_MAX_DELTA=300MB +.else +BUILD_DEPENDS += archivers/xz +.endif + +PYPY_INST_LIB_DIR = ${PREFIX}/pypy/lib +PYPY_LD_LIBRARY_PATH = LD_LIBRARY_PATH=${PYPY_INST_LIB_DIR} +PYPY_PKG = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME}.tgz + +MAKE_ENV = PYPY_USESSION_DIR=${WRKDIR}/usession \ + PYPY_CTYPES_DIR=${WRKDIR}/ctypes + +SUBST_VARS += MODTK_INCDIR MODTCL_INCDIR MODTK_LIB MODTCL_LIB + post-extract: @if [ `ulimit -d` -lt $$((5*1024*1024)) ]; then \ echo datasize limit is too low - amd64 build takes approx 5GB; \ @@ -79,8 +94,6 @@ post-extract: chmod +x ${WRKDIR}/bin/pypy .endif -SUBST_VARS += MODTK_INCDIR MODTCL_INCDIR MODTK_LIB MODTCL_LIB - pre-configure: ${SUBST_CMD} ${WRKSRC}/lib_pypy/_tkinter/tklib_build.py # prevent crap in the plist @@ -89,22 +102,15 @@ pre-configure: do-build: .if ${FLAVOR:Mno_bootstrap} cd ${WRKSRC}/pypy/goal/ && ${SETENV} ${MAKE_ENV} \ - PYPY_USESSION_DIR=${WRKDIR}/usession \ - PYPY_CTYPES_DIR=${WRKDIR}/ctypes \ ${MODPY_BIN} ../../rpython/bin/rpython --source --opt=jit .else cd ${WRKSRC}/pypy/goal/ && ${SETENV} ${MAKE_ENV} \ - PYPY_GC_MAX_DELTA=300MB \ - PYPY_USESSION_DIR=${WRKDIR}/usession \ - PYPY_CTYPES_DIR=${WRKDIR}/ctypes \ pypy --jit loop_longevity=300 \ ../../rpython/bin/rpython --source --opt=jit .endif cd ${WRKDIR}/usession/testing_1 && ${SETENV} ${MAKE_ENV} \ ${MAKE_PROGRAM} LDFLAGS_LINK="-Wl,-z,wxneeded -pthread" -PYPY_INST_LIB_DIR = ${PREFIX}/pypy/lib -PYPY_LD_LIBRARY_PATH = LD_LIBRARY_PATH=${PYPY_INST_LIB_DIR} do-install: mkdir -p ${PREFIX}/pypy/bin mkdir -p ${PYPY_INST_LIB_DIR} @@ -122,23 +128,21 @@ do-install: ${PYPY_LD_LIBRARY_PATH} ${PREFIX}/pypy/bin/pypy \ -m compileall ${PREFIX}/pypy/lib_pypy ${PYPY_LD_LIBRARY_PATH} sh -c \ - 'find ${PREFIX}/pypy/lib-python/2.7 -name "*.py" | grep -v test \ - | xargs ${PREFIX}/pypy/bin/pypy -m compileall' + 'find ${PREFIX}/pypy/lib-python/2.7 -name "*.py" ! -path "*test*" \ + -exec ${PREFIX}/pypy/bin/pypy -m compileall +' # make cffi shared objects cd ${WRKSRC} && ${PYPY_LD_LIBRARY_PATH} \ LDFLAGS=-L${LOCALBASE}/lib \ CPPFLAGS=-I${LOCALBASE}/include \ PYTHONPATH=`pwd` \ ${PREFIX}/pypy/bin/pypy pypy/tool/build_cffi_imports.py - find ${PREFIX}/pypy/lib_pypy/ -name '*.c' -or -name '*.o' | xargs rm + find ${PREFIX}/pypy/lib_pypy/ -name '*.[co]' -delete chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/pypy/lib_pypy chown -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/pypy/lib-python/2.7 cd ${PREFIX}/bin && ln -s ../pypy/bin/pypy cd ${PREFIX}/lib && ln -s ../pypy/lib/libpypy-c.so # remove patch orig files so they dont appear in the plist - find ${PREFIX} -name '*.py.orig' | xargs rm - -PYPY_PKG = ${PACKAGE_REPOSITORY}/${MACHINE_ARCH}/all/${FULLPKGNAME}.tgz + find ${PREFIX} -name '*.py.orig' -delete .include <bsd.port.mk>