ffead-cpp-d-hunt.dockerfile 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  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. ENV LDC_VERSION 1.24.0
  11. ENV LDC_PATH /usr/local/ldc
  12. RUN apt-get update && \
  13. apt-get install -y --no-install-recommends curl wget gcc ca-certificates xz-utils libxml2 make git zlib1g-dev && \
  14. rm -rf /var/lib/apt/lists/* /var/cache/apt/*
  15. RUN set -ex && \
  16. wget -q https://github.com/ldc-developers/ldc/releases/download/v${LDC_VERSION}/ldc2-${LDC_VERSION}-linux-x86_64.tar.xz && \
  17. tar xf ldc2-${LDC_VERSION}-linux-x86_64.tar.xz && \
  18. mv ldc2-${LDC_VERSION}-linux-x86_64 ${LDC_PATH} && \
  19. rm -rf ldc2*
  20. ENV PATH="${LDC_PATH}/bin:${PATH}"
  21. ENV LIBRARY_PATH="${LDC_PATH}/lib:${LIBRARY_PATH}"
  22. ENV LD_LIBRARY_PATH="${LDC_PATH}/lib:/usr/local/lib:${LD_LIBRARY_PATH}"
  23. RUN chmod 755 -R $LDC_PATH
  24. WORKDIR ${IROOT}/lang-server-backends/d/hunt
  25. RUN dub upgrade --verbose && dub build --build=release --arch=x86_64 --compiler=ldc2 -c=minihttp -f && cp hunt-minihttp ${IROOT}/ \
  26. && chmod +x ${IROOT}/hunt-minihttp && rm -rf ${IROOT}/lang-server-backends
  27. WORKDIR /
  28. CMD ./run_ffead.sh ffead-cpp-6.0 d-hunt