Created
April 25, 2019 03:28
-
-
Save Victornovikov/489f132278c997c7f3e4b0a79c2d6cbc to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# https://hub.docker.com/_/python/ | |
FROM buildpack-deps:stretch | |
# ensure local python is preferred over distribution python | |
ENV PATH /usr/local/bin:$PATH | |
# http://bugs.python.org/issue19846 | |
# > At the moment, setting "LANG=C" on a Linux system *fundamentally breaks Python 3*, and that's not OK. | |
ENV LANG C.UTF-8 | |
# extra dependencies (over what buildpack-deps already includes) | |
RUN apt-get update && apt-get install -y --no-install-recommends \ | |
tk-dev \ | |
uuid-dev \ | |
&& rm -rf /var/lib/apt/lists/* | |
ENV GPG_KEY 0D96DF4D4110E5C43FBFB17F2D347EA6AA65421D | |
ENV PYTHON_VERSION 3.7.3 | |
RUN set -ex \ | |
\ | |
&& wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz" \ | |
&& wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc" \ | |
&& export GNUPGHOME="$(mktemp -d)" \ | |
&& gpg --batch --keyserver ha.pool.sks-keyservers.net --recv-keys "$GPG_KEY" \ | |
&& gpg --batch --verify python.tar.xz.asc python.tar.xz \ | |
&& { command -v gpgconf > /dev/null && gpgconf --kill all || :; } \ | |
&& rm -rf "$GNUPGHOME" python.tar.xz.asc \ | |
&& mkdir -p /usr/src/python \ | |
&& tar -xJC /usr/src/python --strip-components=1 -f python.tar.xz \ | |
&& rm python.tar.xz \ | |
\ | |
&& cd /usr/src/python \ | |
&& gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)" \ | |
&& ./configure \ | |
--build="$gnuArch" \ | |
--enable-loadable-sqlite-extensions \ | |
--enable-shared \ | |
--with-system-expat \ | |
--with-system-ffi \ | |
--without-ensurepip \ | |
&& make -j "$(nproc)" \ | |
&& make install \ | |
&& ldconfig \ | |
\ | |
&& find /usr/local -depth \ | |
\( \ | |
\( -type d -a \( -name test -o -name tests \) \) \ | |
-o \ | |
\( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ | |
\) -exec rm -rf '{}' + \ | |
&& rm -rf /usr/src/python \ | |
\ | |
&& python3 --version | |
# make some useful symlinks that are expected to exist | |
RUN cd /usr/local/bin \ | |
&& ln -s idle3 idle \ | |
&& ln -s pydoc3 pydoc \ | |
&& ln -s python3 python \ | |
&& ln -s python3-config python-config | |
# if this is called "PIP_VERSION", pip explodes with "ValueError: invalid truth value '<VERSION>'" | |
ENV PYTHON_PIP_VERSION 19.0.3 | |
RUN set -ex; \ | |
\ | |
wget -O get-pip.py 'https://bootstrap.pypa.io/get-pip.py'; \ | |
\ | |
python get-pip.py \ | |
--disable-pip-version-check \ | |
--no-cache-dir \ | |
"pip==$PYTHON_PIP_VERSION" \ | |
; \ | |
pip --version; \ | |
\ | |
find /usr/local -depth \ | |
\( \ | |
\( -type d -a \( -name test -o -name tests \) \) \ | |
-o \ | |
\( -type f -a \( -name '*.pyc' -o -name '*.pyo' \) \) \ | |
\) -exec rm -rf '{}' +; \ | |
rm -f get-pip.py | |
COPY tgcloudsql.json . | |
RUN mv tgcloudsql.json ~/tg | |
# installing libraries | |
RUN apt-get update \ | |
&& apt-get install -y build-essential gperf ccache cmake | |
RUN git clone https://github.com/tdlib/td.git | |
RUN cd td \ | |
&& mkdir build \ | |
&& cd build \ | |
&& cmake -DCMAKE_BUILD_TYPE=Release .. \ | |
&& cmake --build . |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment