-
Notifications
You must be signed in to change notification settings - Fork 2
/
build.conf
75 lines (66 loc) · 3.01 KB
/
build.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Configuration file for building Pythia.
# Sub-directories for building from sources and for the final distributable.
# BUILD_DIR is also defined in "src/chevah-bash-tests/shellcheck_tests.sh".
BUILD_DIR="build"
# This is also defined independently in "publish_dist.sh".
DIST_DIR="dist"
# Setting this as 0 disables tests during building (skips chevahbs_test phase).
PYTHIA_BUILD_TESTS="${PYTHIA_BUILD_TESTS:-1}"
# Set versions for Python and its libraries.
# For major Python updates, e.g. 3.11->3.12, also update pythia.conf and
# src/Python-Windows/chevahbs (e.g. "python311._pth"->"python312._pth").
PYTHON_BUILD_VERSION="3.12.7"
LIBFFI_VERSION="3.4.6"
ZLIB_VERSION="1.3.1"
BZIP2_VERSION="1.0.8"
# To check the signature of the XZ download:
# "gpg --keyserver-options auto-key-retrieve --verify xz-*.sig xz-*.gz".
XZ_VERSION="5.6.2"
# Statically build the BSD libedit on selected platforms to get the
# readline module available without linking to the GPL-only readline libraries.
# If there's a need to reenable this, our libedit patch for Python 3.9 was
# https://github.com/chevah/pythia/pull/5/commits/09c128154d23feb6b1a7cb5a8d79.
# A newer patch is available at https://github.com/python/cpython/issues/57710.
LIBEDIT_VERSION="20170329-3.1"
# Our OpenSSL libraries are only used for Python's "ssl" module lately.
OPENSSL_VERSION="3.0.15"
# Use the version of the "sqlite-autoconf-VERSION.tar.gz" upstream download.
# To get its SHA3-256 signature: "openssl dgst -sha3-256 sqlite-autoconf-*".
# When updating this, also update the year in src/sqlite/chevahbs, if needed.
SQLITE_VERSION="3460000"
# Where ensurepip is not avaiable, this is used to bootstrap pip.
# If latest get-pip.py stops working on older platforms, use something like:
# https://web.archive.org/web/20220122185015/https://bootstrap.pypa.io/
BOOTSTRAP_GET_PIP="https://bootstrap.pypa.io/get-pip.py"
# Python modules installed after bootstraping pip.
PIP_VERSION="24.2"
SETUPTOOLS_VERSION="70.3.0"
# pycparser is explicitly installed to work around setuptools auto dependencies.
PYCPARSER_VERSION="2.22"
# Python modules that have to be built and/or installed in Pythia.
PYWIN32_VERSION="306"
# To be removed when upstream builds a musl wheel for psutil.
# More at https://github.com/giampaolo/psutil/pull/2126.
PSUTIL_VERSION="6.0.0"
# Global flags for building required libraries.
BUILD_LIBFFI="no"
BUILD_ZLIB="no"
BUILD_BZIP2="yes"
BUILD_XZ="no"
BUILD_LIBEDIT="no"
BUILD_OPENSSL="yes"
BUILD_SQLITE="yes"
# Our custom PyPI server overwrites the default pypi.org option from "build.sh".
PIP_INDEX_URL="https://bin.chevah.com:20443/pypi/simple"
# Array of *default* Python modules installed using pip.
# This can be extended for some OS'es (check "os_quirks.sh" for details).
# Binary-only wheels should be installed when needed, not through Pythia.
# Still building psutil on musl Linux, that's why it's present here.
PIP_LIBRARIES=(\
psutil=="$PSUTIL_VERSION" \
)
# Array of default pip options.
PIP_ARGS=(\
--index-url="$PIP_INDEX_URL" \
--no-warn-script-location \
)