ffead-cpp-swift-nio.dockerfile 1.4 KB

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