Skip to content

Commit 6c42dbe

Browse files
committed
Add 3.8.0a1
1 parent ae9270e commit 6c42dbe

File tree

10 files changed

+618
-1
lines changed

10 files changed

+618
-1
lines changed

.appveyor.yml

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ image: Visual Studio 2017
33

44
environment:
55
matrix:
6+
- version: 3.8-rc
7+
variant: windowsservercore-ltsc2016
68
- version: 3.7
79
variant: windowsservercore-ltsc2016
810
- version: 3.6

.travis.yml

+9
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,15 @@ services: docker
33

44
matrix:
55
include:
6+
- os: windows
7+
dist: 1803-containers
8+
env: VERSION=3.8-rc VARIANT=windows/windowsservercore-1803
9+
- os: linux
10+
env: VERSION=3.8-rc VARIANT=stretch
11+
- os: linux
12+
env: VERSION=3.8-rc VARIANT=stretch/slim
13+
- os: linux
14+
env: VERSION=3.8-rc VARIANT=alpine3.9
615
- os: windows
716
dist: 1803-containers
817
env: VERSION=3.7 VARIANT=windows/windowsservercore-1803

3.8-rc/alpine3.9/Dockerfile

+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
#
2+
# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
3+
#
4+
# PLEASE DO NOT EDIT IT DIRECTLY.
5+
#
6+
7+
FROM alpine:3.9
8+
9+
# ensure local python is preferred over distribution python
10+
ENV PATH /usr/local/bin:$PATH
11+
12+
# http://bugs.python.org/issue19846
13+
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
14+
ENV LANG C.UTF-8
15+
16+
# install ca-certificates so that HTTPS works consistently
17+
# other runtime dependencies for Python are installed later
18+
RUN apk add --no-cache ca-certificates
19+
20+
ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568
21+
ENV PYTHON_VERSION 3.8.0a1
22+
23+
RUN set -ex \
24+
&& apk add --no-cache --virtual .fetch-deps \
25+
gnupg \
26+
tar \
27+
xz \
28+
\
29+
&& wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \
30+
&& wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \
31+
&& export GNUPGHOME="$(mktemp -d)" \
32+
&& gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
33+
&& gpg --batch --verify python.tar.xz.asc python.tar.xz \
34+
&& { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \
35+
&& rm -rf "$GNUPGHOME" python.tar.xz.asc \
36+
&& mkdir -p /usr/src/python \
37+
&& tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \
38+
&& rm python.tar.xz \
39+
\
40+
&& apk add --no-cache --virtual .build-deps \
41+
bzip2-dev \
42+
coreutils \
43+
dpkg-dev dpkg \
44+
expat-dev \
45+
findutils \
46+
gcc \
47+
gdbm-dev \
48+
libc-dev \
49+
libffi-dev \
50+
libnsl-dev \
51+
libtirpc-dev \
52+
linux-headers \
53+
make \
54+
ncurses-dev \
55+
openssl-dev \
56+
pax-utils \
57+
readline-dev \
58+
sqlite-dev \
59+
tcl-dev \
60+
tk \
61+
tk-dev \
62+
util-linux-dev \
63+
xz-dev \
64+
zlib-dev \
65+
# add build deps before removing fetch deps in case there's overlap
66+
&& apk del .fetch-deps \
67+
\
68+
&& cd /usr/src/python \
69+
&& gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
70+
&& ./configure \
71+
--build="$gnuArch" \
72+
--enable-loadable-sqlite-extensions \
73+
--enable-shared \
74+
--with-system-expat \
75+
--with-system-ffi \
76+
--without-ensurepip \
77+
&& make -j "$(nproc)" \
78+
# set thread stack size to 1MB so we don't segfault before we hit sys.getrecursionlimit()
79+
# https://github.com/alpinelinux/aports/commit/2026e1259422d4e0cf92391ca2d3844356c649d0
80+
EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000" \
81+
&& make install \
82+
\
83+
&& find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' \
84+
| tr ',' '\n' \
85+
| sort -u \
86+
| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
87+
| xargs -rt apk add --no-cache --virtual .python-rundeps \
88+
&& apk del .build-deps \
89+
\
90+
&& find /usr/local -depth \
91+
\( \
92+
\( -type d -a \( -name test -o -name tests \) \) \
93+
-o \
94+
\( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
95+
\) -exec rm -rf '{}' + \
96+
&& rm -rf /usr/src/python \
97+
\
98+
&& python3 --version
99+
100+
# make some useful symlinks that are expected to exist
101+
RUN cd /usr/local/bin \
102+
&& ln -s idle3 idle \
103+
&& ln -s pydoc3 pydoc \
104+
&& ln -s python3 python \
105+
&& ln -s python3-config python-config
106+
107+
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
108+
ENV PYTHON_PIP_VERSION 19.0.3
109+
110+
RUN set -ex; \
111+
\
112+
wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \
113+
\
114+
python get-pip.py \
115+
--disable-pip-version-check \
116+
--no-cache-dir \
117+
"pip==$PYTHON_PIP_VERSION" \
118+
; \
119+
pip --version; \
120+
\
121+
find /usr/local -depth \
122+
\( \
123+
\( -type d -a \( -name test -o -name tests \) \) \
124+
-o \
125+
\( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
126+
\) -exec rm -rf '{}' +; \
127+
rm -f get-pip.py
128+
129+
CMD ["python3"]

3.8-rc/stretch/Dockerfile

+90
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
#
2+
# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
3+
#
4+
# PLEASE DO NOT EDIT IT DIRECTLY.
5+
#
6+
7+
FROM buildpack-deps:stretch
8+
9+
# ensure local python is preferred over distribution python
10+
ENV PATH /usr/local/bin:$PATH
11+
12+
# http://bugs.python.org/issue19846
13+
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
14+
ENV LANG C.UTF-8
15+
16+
# extra dependencies (over what buildpack-deps already includes)
17+
RUN apt-get update && apt-get install -y --no-install-recommends \
18+
tk-dev \
19+
uuid-dev \
20+
&& rm -rf /var/lib/apt/lists/*
21+
22+
ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568
23+
ENV PYTHON_VERSION 3.8.0a1
24+
25+
RUN set -ex \
26+
\
27+
&& wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \
28+
&& wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \
29+
&& export GNUPGHOME="$(mktemp -d)" \
30+
&& gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
31+
&& gpg --batch --verify python.tar.xz.asc python.tar.xz \
32+
&& { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \
33+
&& rm -rf "$GNUPGHOME" python.tar.xz.asc \
34+
&& mkdir -p /usr/src/python \
35+
&& tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \
36+
&& rm python.tar.xz \
37+
\
38+
&& cd /usr/src/python \
39+
&& gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
40+
&& ./configure \
41+
--build="$gnuArch" \
42+
--enable-loadable-sqlite-extensions \
43+
--enable-shared \
44+
--with-system-expat \
45+
--with-system-ffi \
46+
--without-ensurepip \
47+
&& make -j "$(nproc)" \
48+
&& make install \
49+
&& ldconfig \
50+
\
51+
&& find /usr/local -depth \
52+
\( \
53+
\( -type d -a \( -name test -o -name tests \) \) \
54+
-o \
55+
\( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
56+
\) -exec rm -rf '{}' + \
57+
&& rm -rf /usr/src/python \
58+
\
59+
&& python3 --version
60+
61+
# make some useful symlinks that are expected to exist
62+
RUN cd /usr/local/bin \
63+
&& ln -s idle3 idle \
64+
&& ln -s pydoc3 pydoc \
65+
&& ln -s python3 python \
66+
&& ln -s python3-config python-config
67+
68+
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
69+
ENV PYTHON_PIP_VERSION 19.0.3
70+
71+
RUN set -ex; \
72+
\
73+
wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \
74+
\
75+
python get-pip.py \
76+
--disable-pip-version-check \
77+
--no-cache-dir \
78+
"pip==$PYTHON_PIP_VERSION" \
79+
; \
80+
pip --version; \
81+
\
82+
find /usr/local -depth \
83+
\( \
84+
\( -type d -a \( -name test -o -name tests \) \) \
85+
-o \
86+
\( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
87+
\) -exec rm -rf '{}' +; \
88+
rm -f get-pip.py
89+
90+
CMD ["python3"]

3.8-rc/stretch/slim/Dockerfile

+134
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,134 @@
1+
#
2+
# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh"
3+
#
4+
# PLEASE DO NOT EDIT IT DIRECTLY.
5+
#
6+
7+
FROM debian:stretch-slim
8+
9+
# ensure local python is preferred over distribution python
10+
ENV PATH /usr/local/bin:$PATH
11+
12+
# http://bugs.python.org/issue19846
13+
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK.
14+
ENV LANG C.UTF-8
15+
16+
# runtime dependencies
17+
RUN apt-get update && apt-get install -y --no-install-recommends \
18+
ca-certificates \
19+
netbase \
20+
&& rm -rf /var/lib/apt/lists/*
21+
22+
ENV GPG_KEY E3FF2839C048B25C084DEBE9B26995E310250568
23+
ENV PYTHON_VERSION 3.8.0a1
24+
25+
RUN set -ex \
26+
\
27+
&& savedAptMark="$(apt-mark showmanual)" \
28+
&& apt-get update && apt-get install -y --no-install-recommends \
29+
dpkg-dev \
30+
gcc \
31+
libbz2-dev \
32+
libc6-dev \
33+
libexpat1-dev \
34+
libffi-dev \
35+
libgdbm-dev \
36+
liblzma-dev \
37+
libncursesw5-dev \
38+
libreadline-dev \
39+
libsqlite3-dev \
40+
libssl-dev \
41+
make \
42+
tk-dev \
43+
uuid-dev \
44+
wget \
45+
xz-utils \
46+
zlib1g-dev \
47+
# as of Stretch, "gpg" is no longer included by default
48+
$(command -v gpg > /dev/null || echo 'gnupg dirmngr') \
49+
\
50+
&& wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \
51+
&& wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \
52+
&& export GNUPGHOME="$(mktemp -d)" \
53+
&& gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \
54+
&& gpg --batch --verify python.tar.xz.asc python.tar.xz \
55+
&& { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \
56+
&& rm -rf "$GNUPGHOME" python.tar.xz.asc \
57+
&& mkdir -p /usr/src/python \
58+
&& tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \
59+
&& rm python.tar.xz \
60+
\
61+
&& cd /usr/src/python \
62+
&& gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \
63+
&& ./configure \
64+
--build="$gnuArch" \
65+
--enable-loadable-sqlite-extensions \
66+
--enable-shared \
67+
--with-system-expat \
68+
--with-system-ffi \
69+
--without-ensurepip \
70+
&& make -j "$(nproc)" \
71+
&& make install \
72+
&& ldconfig \
73+
\
74+
&& apt-mark auto '.*' > /dev/null \
75+
&& apt-mark manual $savedAptMark \
76+
&& find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec ldd '{}' ';' \
77+
| awk '/=>/ { print $(NF-1) }' \
78+
| sort -u \
79+
| xargs -r dpkg-query --search \
80+
| cut -d: -f1 \
81+
| sort -u \
82+
| xargs -r apt-mark manual \
83+
&& apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false \
84+
&& rm -rf /var/lib/apt/lists/* \
85+
\
86+
&& find /usr/local -depth \
87+
\( \
88+
\( -type d -a \( -name test -o -name tests \) \) \
89+
-o \
90+
\( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
91+
\) -exec rm -rf '{}' + \
92+
&& rm -rf /usr/src/python \
93+
\
94+
&& python3 --version
95+
96+
# make some useful symlinks that are expected to exist
97+
RUN cd /usr/local/bin \
98+
&& ln -s idle3 idle \
99+
&& ln -s pydoc3 pydoc \
100+
&& ln -s python3 python \
101+
&& ln -s python3-config python-config
102+
103+
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'"
104+
ENV PYTHON_PIP_VERSION 19.0.3
105+
106+
RUN set -ex; \
107+
\
108+
savedAptMark="$(apt-mark showmanual)"; \
109+
apt-get update; \
110+
apt-get install -y --no-install-recommends wget; \
111+
\
112+
wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \
113+
\
114+
apt-mark auto '.*' > /dev/null; \
115+
[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
116+
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
117+
rm -rf /var/lib/apt/lists/*; \
118+
\
119+
python get-pip.py \
120+
--disable-pip-version-check \
121+
--no-cache-dir \
122+
"pip==$PYTHON_PIP_VERSION" \
123+
; \
124+
pip --version; \
125+
\
126+
find /usr/local -depth \
127+
\( \
128+
\( -type d -a \( -name test -o -name tests \) \) \
129+
-o \
130+
\( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \
131+
\) -exec rm -rf '{}' +; \
132+
rm -f get-pip.py
133+
134+
CMD ["python3"]

0 commit comments

Comments
 (0)