ffead-cpp-swift-nio.dockerfile 1.5 KB

12345678910111213141516171819202122232425262728293031
  1. FROM sumeetchhetri/ffead-cpp-base:6.0
  2. ENV IROOT=/installs
  3. ENV DEBIAN_FRONTEND noninteractive
  4. RUN rm -f /usr/local/lib/libffead-* /usr/local/lib/libte_benc* /usr/local/lib/libinter.so /usr/local/lib/libdinter.so && \
  5. ln -s ${IROOT}/ffead-cpp-6.0/lib/libte-benchmark-um.so /usr/local/lib/libte-benchmark-um.so && \
  6. ln -s ${IROOT}/ffead-cpp-6.0/lib/libffead-modules.so /usr/local/lib/libffead-modules.so && \
  7. ln -s ${IROOT}/ffead-cpp-6.0/lib/libffead-framework.so /usr/local/lib/libffead-framework.so && \
  8. ln -s ${IROOT}/ffead-cpp-6.0/lib/libinter.so /usr/local/lib/libinter.so && \
  9. ln -s ${IROOT}/ffead-cpp-6.0/lib/libdinter.so /usr/local/lib/libdinter.so && \
  10. ldconfig
  11. WORKDIR ${IROOT}
  12. RUN apt-get update -y && apt-get install -y --no-install-recommends clang libicu-dev libpython2.7-dev libtinfo5 libncurses5 libz3-dev \
  13. && rm -rf /var/lib/apt/lists/*
  14. RUN wget -q https://swift.org/builds/swift-6.0-release/ubuntu2004/swift-6.0-RELEASE/swift-6.0-RELEASE-ubuntu20.04.tar.gz
  15. RUN tar -xzf swift-6.0-RELEASE-ubuntu20.04.tar.gz
  16. RUN mv swift-6.0-RELEASE-ubuntu20.04 /opt/ && rm -f swift-6.0-RELEASE-ubuntu20.04.tar.gz
  17. RUN ln -s /opt/swift-6.0-RELEASE-ubuntu20.04 /opt/swift
  18. ENV PATH=/opt/swift/usr/bin:${PATH}
  19. WORKDIR ${IROOT}/lang-server-backends/swift/swift-nio/app
  20. RUN swift build --enable-test-discovery -c release -Xlinker "-L/usr/local/lib" -Xlinker "-lffead-framework" \
  21. && mv .build/release/app ${IROOT}/ && chmod +x ${IROOT}/app && rm -rf ${IROOT}/lang-server-backends
  22. WORKDIR /
  23. CMD ./run_ffead.sh ffead-cpp-6.0 swift-nio