Dockerfile 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. FROM debian:bullseye-slim
  2. RUN apt-get -qq update \
  3. && apt-get install -y --no-install-recommends \
  4. bash \
  5. ca-certificates \
  6. build-essential \
  7. curl \
  8. git \
  9. libglib2.0-dev \
  10. libxml2-dev \
  11. libjpeg-dev \
  12. libpng-dev \
  13. libwebp-dev \
  14. librsvg2-dev \
  15. libexif-dev \
  16. liblcms2-dev \
  17. libavcodec-dev \
  18. libavformat-dev \
  19. libavutil-dev \
  20. libswscale-dev \
  21. libopencv-core-dev \
  22. libopencv-imgproc-dev \
  23. libopencv-dnn-dev
  24. RUN \
  25. mkdir /root/vips \
  26. && cd /root/vips \
  27. && curl -s -S -L -o vips_releases.json "https://api.github.com/repos/libvips/libvips/releases" \
  28. && for VIPS_VERSION in "8.10" "8.11" "8.12"; do \
  29. mkdir $VIPS_VERSION \
  30. && export VIPS_RELEASE=$(grep -m 1 "\"tag_name\": \"v$VIPS_VERSION." vips_releases.json | sed -E 's/.*"v([^"]+)".*/\1/') \
  31. && echo "Building Vips $VIPS_RELEASE as $VIPS_VERSION" \
  32. && curl -s -S -L -o $VIPS_RELEASE.tar.gz https://github.com/libvips/libvips/releases/download/v$VIPS_RELEASE/vips-$VIPS_RELEASE.tar.gz \
  33. && tar -xzf $VIPS_RELEASE.tar.gz \
  34. && cd vips-$VIPS_RELEASE \
  35. && ./configure \
  36. --prefix=/root/vips/$VIPS_VERSION \
  37. --without-python \
  38. --without-gsf \
  39. --without-orc \
  40. --disable-debug \
  41. --disable-dependency-tracking \
  42. --disable-static \
  43. --enable-silent-rules \
  44. --enable-gtk-doc-html=no \
  45. --enable-gtk-doc=no \
  46. --enable-pyvips8=no \
  47. && make install \
  48. && cd .. \
  49. && rm -rf $VIPS_RELEASE.tar.gz vips-$VIPS_RELEASE; \
  50. done
  51. RUN echo "Name: OpenCV\n" \
  52. "Description: Open Source Computer Vision Library\n" \
  53. "Version: 4.5.1\n" \
  54. "Libs: -L/usr/lib/x86_64-linux-gnu -lopencv_dnn -lopencv_imgproc -lopencv_core\n" \
  55. "Libs.private: -ldl -lm -lpthread -lrt\n" \
  56. "Cflags: -I/usr/include/opencv4\n" \
  57. > /usr/lib/x86_64-linux-gnu/pkgconfig/opencv4.pc
  58. WORKDIR /go/src
  59. ENTRYPOINT [ "/bin/bash" ]