Dockerfile 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. FROM centos:7
  2. LABEL maintainer="Lovell Fuller <npm@lovell.info>"
  3. # Create CentOS 7 (glibc 2.17) container suitable for building Linux x64 binaries
  4. # Path settings
  5. ENV \
  6. RUSTUP_HOME="/usr/local/rustup" \
  7. CARGO_HOME="/usr/local/cargo" \
  8. PATH="/usr/local/cargo/bin:/opt/rh/devtoolset-9/root/usr/bin:$PATH"
  9. # Build dependencies
  10. RUN \
  11. yum update -y && \
  12. yum install -y epel-release centos-release-scl && \
  13. yum group install -y "Development Tools" && \
  14. yum install -y --setopt=tsflags=nodocs \
  15. advancecomp \
  16. brotli \
  17. cmake3 \
  18. devtoolset-9-gcc \
  19. devtoolset-9-gcc-c++ \
  20. glib2-devel \
  21. gobject-introspection-devel \
  22. gperf \
  23. gtk-doc \
  24. jq \
  25. nasm \
  26. ninja-build \
  27. prelink \
  28. python3 \
  29. && \
  30. curl https://sh.rustup.rs -sSf | sh -s -- -y \
  31. --no-modify-path \
  32. --profile minimal \
  33. && \
  34. ln -s /usr/bin/cmake3 /usr/bin/cmake && \
  35. pip3 install meson==0.55.3
  36. # Compiler settings
  37. ENV \
  38. PLATFORM="linux-x64" \
  39. FLAGS="-O3 -fPIC" \
  40. MESON="--cross-file=/root/meson.ini"
  41. COPY Toolchain.cmake /root/
  42. COPY meson.ini /root/