Dockerfile
author Edouard Tisserant <edouard.tisserant@gmail.com>
Mon, 13 Feb 2023 22:10:58 +0100
changeset 116 dc462ee1c0f5
parent 67 d06ee9c3f780
child 120 02e37d9e96a9
permissions -rw-r--r--
Windows installer: add winpaths.py to extend %PATH% so that build find msys2 binaries including Make.
37
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
     1
# Dockerfile to setup beremiz_public_dist build container
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     2
37
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
     3
FROM ubuntu:focal
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     4
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     5
ENV TERM xterm-256color
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     6
37
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
     7
COPY provision_focal64.sh .
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
     8
37
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
     9
RUN ./provision_focal64.sh
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
    10
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
    11
ENV LANG en_US.UTF-8
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
    12
ENV LANGUAGE en_US:en
fd09116d3537 New windows installer cross build, using patched pacman to get MSYS2's packages and PIP over Wine to get PyPI packages. Work in progress.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 32
diff changeset
    13
ENV LC_ALL en_US.UTF-8
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    14
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    15
ARG UNAME=devel
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    16
ENV UNAME ${UNAME}
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    17
ARG UID=1000
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    18
ARG GID=1000
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    19
RUN groupadd -g $GID $UNAME
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    20
RUN useradd -m -u $UID -g $GID -s /bin/bash $UNAME
41
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    21
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    22
# easy to remember 'build' alias to invoke main makefile
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    23
ARG OWNDIRBASENAME=beremiz_public_dist
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    24
ENV OWNDIRBASENAME ${OWNDIRBASENAME}
67
d06ee9c3f780 That was a long sequence of '...' commit message. That last fix should make it build.
Edouard Tisserant <edouard.tisserant@gmail.com>
parents: 66
diff changeset
    25
RUN /bin/echo -e '#!/bin/bash\nmake -f /home/'$UNAME'/src/'$OWNDIRBASENAME'/Makefile $*' > /usr/local/bin/build
41
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    26
RUN chmod +x /usr/local/bin/build
77b38c4d0d7f Dockerfile: use script rather than alias so that bash doesn't need to be interactive shell with a TTY
etisserant <edouard.tisserant@gmail.com>
parents: 37
diff changeset
    27
22
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    28
USER $UNAME
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    29
07ad3ba42d39 Experimental docker based installer build, + update of mingw binaries - builds, untested
Edouard Tisserant <edouard.tisserant@gmail.com>
parents:
diff changeset
    30
RUN mkdir /home/$UNAME/build /home/$UNAME/src