mirror of
https://github.com/kennethreitz/heroku-buildpack-python.git
synced 2026-06-05 23:10:16 +00:00
Add support for latest CPython and PyPy versions (#977)
Adds support for: * CPython 2.7.18, 3.5.9, 3.7.7 and 3.8.3 * PyPy 2.7 and 3.6, version 7.3.1 The binaries will need generating and uploading before CI will pass. Note: Whilst the build script for CPython 3.8.3 did already exist in the repository, it appears to have been accidentally created in #920, which predated the existence of that version of Python - so the binaries do not exist on S3. The Heroku-18 Docker image tag has also been unpinned, since the new libssl version is now available at runtime in all environments, so we don't need to force building against the older version of the headers. Fixes W-7582174.
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
|
||||
# Master
|
||||
|
||||
- Python 2.7.18, 3.5.9, 3.7.7 and 3.8.3 are now available (CPython).
|
||||
- PyPy 2.7 and 3.6, version 7.3.1 are now available (Note: PyPy support is in beta)
|
||||
- Docs: Fix explanation of runtime.txt generation when using pipenv
|
||||
- Bugfix: Correctly detect Python version when using a `python_version` of `3.8` in `Pipfile.lock`
|
||||
|
||||
|
||||
@@ -62,10 +62,10 @@ Specify a Python Runtime
|
||||
|
||||
Supported runtime options include:
|
||||
|
||||
- `python-3.8.2`
|
||||
- `python-3.7.6`
|
||||
- `python-3.8.3`
|
||||
- `python-3.7.7`
|
||||
- `python-3.6.10`
|
||||
- `python-2.7.17`
|
||||
- `python-2.7.18`
|
||||
|
||||
## Tests
|
||||
|
||||
|
||||
+6
-6
@@ -1,14 +1,14 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
DEFAULT_PYTHON_VERSION="python-3.6.10"
|
||||
LATEST_38="python-3.8.2"
|
||||
LATEST_37="python-3.7.6"
|
||||
LATEST_38="python-3.8.3"
|
||||
LATEST_37="python-3.7.7"
|
||||
LATEST_36="python-3.6.10"
|
||||
LATEST_35="python-3.5.7"
|
||||
LATEST_35="python-3.5.9"
|
||||
LATEST_34="python-3.4.10"
|
||||
LATEST_27="python-2.7.17"
|
||||
PYPY_36="pypy3.6-7.2.0"
|
||||
PYPY_27="pypy2.7-7.2.0"
|
||||
LATEST_27="python-2.7.18"
|
||||
PYPY_36="pypy3.6-7.3.1"
|
||||
PYPY_27="pypy2.7-7.3.1"
|
||||
|
||||
export DEFAULT_PYTHON_VERSION \
|
||||
LATEST_38 \
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
FROM heroku/heroku:18-build.v16
|
||||
FROM heroku/heroku:18-build
|
||||
|
||||
WORKDIR /app
|
||||
ENV WORKSPACE_DIR="/app/builds" \
|
||||
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
# Build Path: /app/.heroku/python/
|
||||
|
||||
source $(dirname $0)/pypy2.7
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
# Build Path: /app/.heroku/python/
|
||||
|
||||
source $(dirname $0)/pypy3.6
|
||||
Executable
+27
@@ -0,0 +1,27 @@
|
||||
#!/usr/bin/env bash
|
||||
# Build Path: /app/.heroku/python/
|
||||
|
||||
OUT_PREFIX=$1
|
||||
BIN_DIR="$(cd "$(dirname "$0")"/../.. || exit; pwd)/bin"
|
||||
export BIN_DIR
|
||||
|
||||
# shellcheck source=bin/utils
|
||||
source "$BIN_DIR/steps/sqlite3"
|
||||
|
||||
sqlite3_version
|
||||
echo "Setting up SQLite3 Headers for $SQLITE3_VERSION"
|
||||
sqlite3_install "$OUT_PREFIX" "$SQLITE3_VERSION" 1
|
||||
|
||||
echo "Building Python…"
|
||||
SOURCE_TARBALL='https://python.org/ftp/python/2.7.18/Python-2.7.18.tgz'
|
||||
curl -L $SOURCE_TARBALL | tar xz
|
||||
mv Python-2.7.18 src
|
||||
cd src
|
||||
|
||||
./configure --prefix=$OUT_PREFIX --enable-unicode=ucs4 --with-ensurepip=no
|
||||
make
|
||||
make install
|
||||
|
||||
# Remove unneeded test directories, similar to the official Docker Python images:
|
||||
# https://github.com/docker-library/python
|
||||
find "${OUT_PREFIX}" \( -type d -a \( -name test -o -name tests \) \) -exec rm -rf '{}' +
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
# Build Path: /app/.heroku/python/
|
||||
|
||||
source $(dirname $0)/python3
|
||||
Executable
+4
@@ -0,0 +1,4 @@
|
||||
#!/usr/bin/env bash
|
||||
# Build Path: /app/.heroku/python/
|
||||
|
||||
source $(dirname $0)/python3
|
||||
Regular → Executable
Vendored
+1
-1
@@ -1 +1 @@
|
||||
python-2.7.17
|
||||
python-2.7.18
|
||||
|
||||
Vendored
+1
-1
@@ -1 +1 @@
|
||||
python-3.5.7
|
||||
python-3.5.9
|
||||
|
||||
Reference in New Issue
Block a user