1
0
mirror of https://github.com/facebook/proxygen.git synced 2025-08-07 07:02:53 +03:00

update python to 3.8

Summary:
Update to a newer python that builds on macOS Big Sur, make eden_scm depend on it and use it from PATH

python 3.8 requires libffi which is reference via its pkg-config setup,  however python's pkg-config libffi detection is broken (https://bugs.python.org/issue34823) with the documented workaround requiring an environment variable to be passed into its ./configure step, which is why this change also adds a feature to AutoconfBuilder

With the updated python in place I was able to remove disable_env_override_pkgconfig = 1
disable_env_override_path = 1 from the eden_scm config so that it actually uses the pkg-configs, PATHs and other settings from its dependencies. This should make future python and other dependency upgrades much simpler.

Reviewed By: HarveyHunt

Differential Revision: D32231261

fbshipit-source-id: a2b6addbe22f38e3d71618c802d2c6f836fdd86c
This commit is contained in:
Alex Hornby
2021-11-26 00:01:14 -08:00
committed by Facebook GitHub Bot
parent 487d4abb0f
commit e357474839
7 changed files with 96 additions and 35 deletions

View File

@@ -8,10 +8,27 @@ python3-devel
[debs]
python3-all-dev
[download.os=linux]
url = https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz
sha256 = aeee681c235ad336af116f08ab6563361a0c81c537072c1b309d6e4050aa2114
[download]
url = https://www.python.org/ftp/python/3.8.12/Python-3.8.12.tgz
sha256 = 316aa33f3b7707d041e73f246efedb297a70898c4b91f127f66dc8d80c596f1a
[build.os=linux]
[build]
builder = autoconf
subdir = Python-3.7.6
subdir = Python-3.8.12
[autoconf.args]
--enable-shared
--with-ensurepip=install
# python's pkg-config libffi detection is broken
# See https://bugs.python.org/issue34823 for clearest description
# and pending PR https://github.com/python/cpython/pull/20451
# The documented workaround requires an environment variable derived from
# pkg-config to be passed into its configure step
[autoconf.envcmd.LDFLAGS]
pkg-config
--libs-only-L
libffi
[dependencies]
libffi