| ARG IMAGE="python:3-slim-buster" |
| |
| #--- |
| |
| FROM $IMAGE AS base |
| |
| RUN apt-get update -qq \ |
| && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \ |
| ca-certificates \ |
| clang \ |
| curl \ |
| libffi-dev \ |
| libreadline-dev \ |
| tcl-dev \ |
| graphviz \ |
| xdot \ |
| && 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 \ |
| bison \ |
| flex \ |
| gawk \ |
| gcc \ |
| git \ |
| iverilog \ |
| pkg-config \ |
| && apt-get autoclean && apt-get clean && apt-get -y autoremove \ |
| && rm -rf /var/lib/apt/lists |
| |
| COPY . /yosys |
| |
| ENV PREFIX /opt/yosys |
| |
| RUN cd /yosys \ |
| && make \ |
| && make install \ |
| && make test |
| |
| #--- |
| |
| FROM base |
| |
| COPY --from=build /opt/yosys /opt/yosys |
| |
| ENV PATH /opt/yosys/bin:$PATH |
| |
| RUN useradd -m yosys |
| USER yosys |
| |
| CMD ["yosys"] |