From 05b34c3d0382640438f96258b997dc4895f2e97b Mon Sep 17 00:00:00 2001 From: sthen Date: Fri, 22 Jul 2022 03:14:44 +0000 Subject: [PATCH] pypy: adjust bootstrap build target to include libraries needed for dlopen modules, rebuild amd64 bootstrap, temporary workaround old libc on arm64 --- lang/pypy/Makefile | 21 +++++++++++++++------ lang/pypy/distinfo | 4 ++-- 2 files changed, 17 insertions(+), 8 deletions(-) diff --git a/lang/pypy/Makefile b/lang/pypy/Makefile index a63a99384fb..f0a5da1548c 100644 --- a/lang/pypy/Makefile +++ b/lang/pypy/Makefile @@ -22,12 +22,13 @@ V = 7.3.1 BOOTSTRAP_V = ${V} DISTNAME = pypy2.7-v${V}-src PKGNAME = pypy-${V} -BOOTSTRAP-amd64 = pypy-bootstrap-amd64-${BOOTSTRAP_V}.tar.xz +#BOOTSTRAP-amd64 = pypy-bootstrap-amd64-${BOOTSTRAP_V}.tar.xz +BOOTSTRAP-amd64 = pypy-bootstrap-amd64-${BOOTSTRAP_V}-0.tar.xz BOOTSTRAP-aarch64 = pypy-bootstrap-aarch64-${BOOTSTRAP_V}.tar.xz # list bootstraps for all arches in SUPDISTFILES SUPDISTFILES += ${BOOTSTRAP-amd64}:0 SUPDISTFILES += ${BOOTSTRAP-aarch64}:0 -REVISION = 3 +REVISION = 4 CATEGORIES = lang @@ -45,7 +46,8 @@ WANTLIB += ${MODTK_LIB} util z LIB_DEPENDS += databases/sqlite3 MASTER_SITES = https://downloads.python.org/pypy/ -MASTER_SITES0 = https://theunixzoo.co.uk/distfiles/ +MASTER_SITES0 = https://theunixzoo.co.uk/distfiles/ \ + https://spacehopper.org/mirrors/ EXTRACT_SUFX = .tar.bz2 PSEUDO_FLAVORS = no_bootstrap @@ -84,6 +86,8 @@ post-extract: echo '#!/bin/sh' > ${WRKDIR}/bin/pypy echo 'LD_LIBRARY_PATH=${WRKDIR}/bootstrap/system-libs:${WRKDIR}/bootstrap/pypy/lib exec ${WRKDIR}/bootstrap/bin/pypy "$$@"' >> ${WRKDIR}/bin/pypy chmod +x ${WRKDIR}/bin/pypy + chmod 644 ${WRKDIR}/bootstrap/system-libs/libc.so.96.1 # XXX + cp /usr/lib/libc.so.96.1 ${WRKDIR}/bootstrap/system-libs # XXX .endif SUBST_VARS += MODTK_INCDIR MODTCL_INCDIR MODTK_LIB MODTCL_LIB @@ -153,8 +157,13 @@ bootstrap: ${PYPY_PKG} ${_PBUILD} mkdir -p ${WRKDIR}/prepare/bootstrap/system-libs cd ${WRKDIR}/prepare/bootstrap && ${_PBUILD} tar zxf ${PYPY_PKG} ${_PBUILD} rm -rf ${WRKDIR}/prepare/bootstrap/{+*,info,man} - for i in `LD_LIBRARY_PATH=${WRKDIR}/prepare/bootstrap/pypy/lib ldd ${WRKDIR}/prepare/bootstrap/bin/pypy | grep 'lib/' | grep -v 'libpypy-c' | \ - awk '{ print $$7 }'` ; do \ - ${_PBUILD} cp $$i ${WRKDIR}/prepare/bootstrap/system-libs; done + for i in $$( \ + for obj in bin/pypy pypy/lib_pypy/*.so*; do \ + LD_LIBRARY_PATH=${WRKDIR}/prepare/bootstrap/pypy/lib \ + ldd ${WRKDIR}/prepare/bootstrap/$$obj | grep 'lib/' | grep -v 'libpypy-c' | \ + awk '{ print $$7 }'; done | sort -u); do \ + ${_PBUILD} cp $$i \ + ${WRKDIR}/prepare/bootstrap/system-libs; \ + done cd ${WRKDIR}/prepare && tar cf - bootstrap | \ xz | ${_PFETCH} tee ${FULLDISTDIR}/${BOOTSTRAP-${MACHINE_ARCH}} > /dev/null diff --git a/lang/pypy/distinfo b/lang/pypy/distinfo index 9412cbe16b2..db10e6df9c7 100644 --- a/lang/pypy/distinfo +++ b/lang/pypy/distinfo @@ -1,6 +1,6 @@ SHA256 (pypy/pypy-bootstrap-aarch64-7.3.1.tar.xz) = arWqfxJCsGxDvM2A+707MmPRAjDfVGXQ9jK5FHtj9SI= -SHA256 (pypy/pypy-bootstrap-amd64-7.3.1.tar.xz) = zQ8tKjg93oMXviHJ8QiMeFzwWQ2Av0pt4c/ZXHPIiPE= +SHA256 (pypy/pypy-bootstrap-amd64-7.3.1-0.tar.xz) = uj5BNRBV3f7hQU9kWm542RDLCOiXLm6ffgVVOzvX/VY= SHA256 (pypy/pypy2.7-v7.3.1-src.tar.bz2) = +jdxUUyKNUlpvpvTsm1lpInDDij5HTUOStL0CBqckyE= SIZE (pypy/pypy-bootstrap-aarch64-7.3.1.tar.xz) = 20435536 -SIZE (pypy/pypy-bootstrap-amd64-7.3.1.tar.xz) = 23199288 +SIZE (pypy/pypy-bootstrap-amd64-7.3.1-0.tar.xz) = 26091316 SIZE (pypy/pypy2.7-v7.3.1-src.tar.bz2) = 21053306