forked from mirrors/gecko-dev
This patch introduces:
1. fetch jobs to fetch python source / installer
2. a) build jobs to build python from source on Linux and OSX
b) build job to manually extract python tree from Windows installer
Some details, per category:
(1) fetches Python 3.8.10 (source) and 3.8.10 (installer).
(2.a) the builds generate optimized version of Python (LTO + PGO)
(2.a) the builds are patched to honor MOZPYTHONHOME instead of
PYTHONHOME. This is used to make OSX builds relocatable, and not
needed on Windows.
(2) zstandard and psutil are added to the default build
Differential Revision: https://phabricator.services.mozilla.com/D164663
36 lines
888 B
Bash
Executable file
36 lines
888 B
Bash
Executable file
#!/bin/bash
|
|
set -x -e -v
|
|
|
|
# This script is for extracting python bianry for windows from setup file.
|
|
|
|
ARTIFACT_NAME=win64-cpython.tar.zst
|
|
PYTHON_INSTALLER=`echo $MOZ_FETCHES_DIR/python-3.*-amd64.exe`
|
|
WINE=$MOZ_FETCHES_DIR/wine/bin/wine
|
|
|
|
cabextract $PYTHON_INSTALLER
|
|
|
|
tardir=python
|
|
mkdir $tardir
|
|
pushd $tardir
|
|
msiextract ../*
|
|
rm api-ms-win-*
|
|
|
|
# bundle pip
|
|
$WINE python.exe -m ensurepip
|
|
$WINE python.exe -m pip install --upgrade pip==23.0
|
|
$WINE python.exe -m pip install --only-binary ':all:' -r ${GECKO_PATH}/build/psutil_requirements.txt -r ${GECKO_PATH}/build/zstandard_requirements.txt
|
|
|
|
# extra symlinks to have a consistent install with Linux and OSX
|
|
ln -s python.exe python3.exe
|
|
chmod u+x python3.exe
|
|
|
|
ln -s ./Scripts/pip3.exe pip3.exe
|
|
chmod u+x pip3.exe
|
|
|
|
|
|
popd
|
|
|
|
tar caf `basename ${TOOLCHAIN_ARTIFACT}` ${tardir}
|
|
|
|
mkdir -p $UPLOAD_DIR
|
|
mv `basename ${TOOLCHAIN_ARTIFACT}` $UPLOAD_DIR
|