forked from extern/httpie-cli
33 lines
1.0 KiB
Docker
33 lines
1.0 KiB
Docker
|
# Use the oldest (but still supported) Ubuntu as the base for PyInstaller
|
||
|
# packages. This will prevent stuff like glibc from conflicting.
|
||
|
FROM ubuntu:18.04
|
||
|
|
||
|
RUN apt-get update
|
||
|
RUN apt-get install -y software-properties-common binutils
|
||
|
RUN apt-get install -y ruby-dev
|
||
|
RUN gem install fpm
|
||
|
|
||
|
# Use deadsnakes for the latest Pythons (e.g 3.9)
|
||
|
RUN add-apt-repository ppa:deadsnakes/ppa
|
||
|
RUN apt-get update && apt-get install -y python3.9 python3.9-dev python3.9-venv
|
||
|
|
||
|
# Install rpm as well, since we are going to build fedora dists too
|
||
|
RUN apt-get install -y rpm
|
||
|
|
||
|
ADD . /app
|
||
|
WORKDIR /app/extras/packaging/linux
|
||
|
|
||
|
ENV VIRTUAL_ENV=/opt/venv
|
||
|
RUN python3.9 -m venv $VIRTUAL_ENV
|
||
|
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
|
||
|
|
||
|
# Ensure that pip is renewed, otherwise we would be using distro-provided pip
|
||
|
# which strips vendored packages and doesn't work with PyInstaller.
|
||
|
RUN python -m pip install /app
|
||
|
RUN python -m pip install pyinstaller wheel
|
||
|
RUN python -m pip install --force-reinstall --upgrade pip
|
||
|
|
||
|
RUN python build.py
|
||
|
|
||
|
ENTRYPOINT ["mv", "/app/extras/packaging/linux/dist/", "/artifacts"]
|