2022-07-19 01:45:00 +00:00
|
|
|
FROM ubuntu:16.04 as builder
|
|
|
|
|
|
|
|
RUN set -ex \
|
|
|
|
&& apt-get update \
|
|
|
|
&& apt-get --no-install-recommends --yes install \
|
|
|
|
apt-transport-https \
|
|
|
|
eatmydata \
|
|
|
|
ca-certificates
|
|
|
|
|
|
|
|
# Build tools
|
|
|
|
RUN set -ex \
|
|
|
|
&& apt-get update \
|
|
|
|
&& eatmydata apt-get --no-install-recommends --yes install \
|
|
|
|
build-essential \
|
|
|
|
g++-multilib \
|
|
|
|
git \
|
|
|
|
libgmp-dev \
|
|
|
|
libz-dev \
|
|
|
|
m4 \
|
2024-04-30 05:54:30 +00:00
|
|
|
file \
|
|
|
|
bison \
|
2022-07-19 01:45:00 +00:00
|
|
|
schedtool \
|
|
|
|
texinfo \
|
|
|
|
texlive \
|
|
|
|
wget
|
|
|
|
|
|
|
|
WORKDIR /usr/local/docker
|
|
|
|
|
|
|
|
ARG MOSTLY_PORTABLE_GCC_GIT_BRANCH=master
|
|
|
|
RUN set -ex \
|
|
|
|
&& git clone https://github.com/Frogging-Family/mostlyportable-gcc \
|
2022-07-19 05:40:33 +00:00
|
|
|
&& cd mostlyportable-gcc \
|
2022-07-19 01:45:00 +00:00
|
|
|
&& git checkout $MOSTLY_PORTABLE_GIT_BRANCH
|
|
|
|
|
2024-04-30 05:54:30 +00:00
|
|
|
ARG GCC_VERSION=13.2.0
|
|
|
|
ARG BIN_UTILS_VERSION=2.41
|
2022-07-19 01:45:00 +00:00
|
|
|
RUN set -ex \
|
|
|
|
&& cd mostlyportable-gcc \
|
|
|
|
&& sed --in-place "s/^_use_gcc_git=\".*\"$/_use_gcc_git=\"false\"/" mostlyportable-gcc.cfg \
|
|
|
|
&& sed --in-place "s/^_gcc_version=\".*\"$/_gcc_version=\"$GCC_VERSION\"/" mostlyportable-gcc.cfg \
|
|
|
|
&& sed --in-place "s/^_use_binutils_git=\".*\"$/_use_binutils_git=\"false\"/" mostlyportable-gcc.cfg \
|
|
|
|
&& sed --in-place "s/^_binutils=.*$/_binutils=$BIN_UTILS_VERSION/" mostlyportable-gcc.cfg \
|
|
|
|
&& sed --in-place "s/^_use_isl_git=\".*\"$/_use_isl_git=\"false\"/" mostlyportable-gcc.cfg \
|
|
|
|
&& sed --in-place -E "s/^(\s*)(.*)_ldconfmostlyportable;$/\1_ldconfmostlyportable=\"n\"/" mostlyportable-gcc.sh \
|
|
|
|
&& ./mostlyportable-gcc.sh gcc
|