vsgi.dockerfile 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. FROM ubuntu:16.04
  2. RUN apt update -yqq && \
  3. apt install -yqq flex libglib2.0-dev libsoup2.4-dev libjson-glib-dev python3-pip \
  4. build-essential unzip wget curl bison
  5. #--------------------------------------
  6. # vala
  7. #
  8. ENV VALA_API_VERSION 0.36
  9. ENV VALA_VERSION 0.36.3
  10. WORKDIR /vala
  11. RUN curl -sL -O https://download.gnome.org/sources/vala/${VALA_API_VERSION}/vala-${VALA_VERSION}.tar.xz
  12. RUN tar xf vala-${VALA_VERSION}.tar.xz
  13. WORKDIR vala-${VALA_VERSION}
  14. RUN ./configure --prefix=/vala
  15. RUN make
  16. RUN make install
  17. RUN ln -s /vala/share/vala-${VALA_API_VERSION}/vapi /vala/share/vala/vapi
  18. ENV LD_LIBRARY_PATH /vala/lib:${LD_LIBRARY_PATH}
  19. ENV PKG_CONFIG_PATH /vala/lib/pkgconfig:${PKG_CONFIG_PATH}
  20. ENV PATH /vala/bin:${PATH}
  21. #--------------------------------------
  22. # meson
  23. #
  24. ENV MESON_VERSION 0.40.1
  25. RUN pip3 install meson==${MESON_VERSION}
  26. #--------------------------------------
  27. # ninja
  28. #
  29. ENV NINJA_VERSION 1.7.2
  30. WORKDIR /ninja
  31. RUN curl -sL -O https://github.com/ninja-build/ninja/releases/download/v${NINJA_VERSION}/ninja-linux.zip
  32. RUN unzip ninja-linux.zip -d /ninja/bin
  33. ENV PATH /ninja/bin:${PATH}
  34. #--------------------------------------
  35. # valum framework
  36. #
  37. ENV VALUM_VERSION 0.3.12
  38. WORKDIR /valum_framework
  39. RUN curl -sL https://github.com/valum-framework/valum/archive/v${VALUM_VERSION}.tar.gz | tar xz
  40. WORKDIR valum-${VALUM_VERSION}
  41. RUN rm -rf build
  42. RUN meson --prefix=/vala --buildtype=release --libdir=lib build
  43. RUN ninja -C build
  44. RUN ninja -C build install
  45. ADD ./ /vsgi_app
  46. WORKDIR /vsgi_app
  47. RUN meson --buildtype=release build
  48. RUN ninja -C build
  49. CMD bash run.sh