Add opt_ffinv pass.
[yosys.git] / Dockerfile
index 65f7d9dbc0aaa54fbb3cb3f7265f9fd54d11fb3e..549c73c97123252bd4ac5c69563865334fc59792 100644 (file)
@@ -1,40 +1,57 @@
-FROM ubuntu:18.04 as builder
-LABEL author="Abdelrahman Hosny <abdelrahman.hosny@hotmail.com>"
+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 \
-    bison \
-    build-essential \
-    flex \
-    gawk \
-    git \
+    curl \
     libffi-dev \
     libreadline-dev \
-    pkg-config \
-    python3 \
     tcl-dev \
+    graphviz \
+    xdot \
  && apt-get autoclean && apt-get clean && apt-get -y autoremove \
  && update-ca-certificates \
  && rm -rf /var/lib/apt/lists
 
-COPY . /
-RUN make && \
-    make install
+#---
+
+FROM base AS build
 
-FROM ubuntu:18.04
 RUN apt-get update -qq \
  && DEBIAN_FRONTEND=noninteractive apt-get -y install --no-install-recommends \
-    libreadline-dev \
-    tcl-dev
+    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
 
-COPY --from=builder /yosys /build/yosys
-COPY --from=builder /yosys-abc /build/yosys-abc
-COPY --from=builder /yosys-config /build/yosys-config
-COPY --from=builder /yosys-filterlib /build/yosys-filterlib
-COPY --from=builder /yosys-smtbmc /build/yosys-smtbmc
+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
 
-ENV PATH /build:$PATH
 RUN useradd -m yosys
 USER yosys
-ENTRYPOINT ["yosys"]
+
+CMD ["yosys"]