3
0
Fork 0
mirror of https://github.com/YosysHQ/yosys synced 2025-06-13 09:26:16 +00:00

dockerfile: add ARG IMAGE, use three stages

This commit is contained in:
1138-4EB 2019-07-01 14:50:15 +02:00
parent 3463511601
commit 5e2919de02

View file

@ -1,8 +1,24 @@
FROM ubuntu:18.04 as builder ARG IMAGE="ubuntu:18.04"
LABEL author="Abdelrahman Hosny <abdelrahman.hosny@hotmail.com>"
#---
FROM $IMAGE AS base
RUN apt-get update -qq \ RUN apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
ca-certificates \ ca-certificates \
libreadline-dev \
tcl-dev \
&& apt-get autoclean && apt-get clean && apt-get -y autoremove \
&& update-ca-certificates \
&& rm -rf /var/lib/apt/lists
#---
FROM base AS build
RUN apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
clang \ clang \
bison \ bison \
build-essential \ build-essential \
@ -10,28 +26,26 @@ RUN apt-get update -qq \
gawk \ gawk \
git \ git \
libffi-dev \ libffi-dev \
libreadline-dev \
pkg-config \ pkg-config \
python3 \ python3 \
tcl-dev \
&& apt-get autoclean && apt-get clean && apt-get -y autoremove \ && apt-get autoclean && apt-get clean && apt-get -y autoremove \
&& update-ca-certificates \
&& rm -rf /var/lib/apt/lists && rm -rf /var/lib/apt/lists
COPY . / COPY . /
RUN make \ RUN make \
&& make install \ && make install \
&& mkdir dist && cp yosys yosys-abc yosys-config yosys-filterlib yosys-smtbmc dist/ && mkdir dist && cp yosys yosys-abc yosys-config yosys-filterlib yosys-smtbmc dist/
FROM ubuntu:18.04 #---
RUN apt-get update -qq \
&& DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
libreadline-dev \
tcl-dev
COPY --from=builder /dist /build FROM base
COPY --from=build /dist /opt/yosys
ENV PATH /opt/yosys:$PATH
ENV PATH /build:$PATH
RUN useradd -m yosys RUN useradd -m yosys
USER yosys USER yosys
ENTRYPOINT ["yosys"]
CMD ["yosys"]