Dockerfile 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. ##############################################################################
  2. #
  3. # HPCC SYSTEMS software Copyright (C) 2020 HPCC Systems®.
  4. #
  5. # Licensed under the Apache License, Version 2.0 (the "License");
  6. # you may not use this file except in compliance with the License.
  7. # You may obtain a copy of the License at
  8. #
  9. # http://www.apache.org/licenses/LICENSE-2.0
  10. #
  11. # Unless required by applicable law or agreed to in writing, software
  12. # distributed under the License is distributed on an "AS IS" BASIS,
  13. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  14. # See the License for the specific language governing permissions and
  15. # limitations under the License.
  16. ##############################################################################
  17. # Build container image containing all 3rd-party tools required to build HPCC platform
  18. FROM ubuntu:20.04 as build
  19. ENV DEBIAN_FRONTEND=noninteractive
  20. RUN apt clean -y && \
  21. apt autoclean -y && \
  22. apt install -y -f && \
  23. apt autoremove -y && \
  24. apt-get update -y
  25. RUN apt-get install -y \
  26. automake \
  27. autotools-dev \
  28. binutils-dev \
  29. bison \
  30. build-essential \
  31. curl \
  32. default-jdk \
  33. default-libmysqlclient-dev \
  34. flex \
  35. libapr1-dev \
  36. libaprutil1-dev \
  37. libarchive-dev \
  38. libatlas-base-dev \
  39. libblas-dev \
  40. libboost-regex-dev \
  41. libcppunit-dev \
  42. libcurl4-openssl-dev \
  43. libevent-dev \
  44. libhiredis-dev \
  45. libiberty-dev \
  46. libicu-dev \
  47. libldap2-dev \
  48. libmemcached-dev \
  49. libnuma-dev \
  50. libsqlite3-dev \
  51. libssl-dev \
  52. libtbb-dev \
  53. libtool \
  54. libv8-dev \
  55. libxalan-c-dev \
  56. libxslt1-dev \
  57. pkg-config \
  58. python-dev \
  59. python3-dev \
  60. r-base-dev \
  61. r-cran-inline \
  62. r-cran-rcpp \
  63. r-cran-rinside \
  64. rsync \
  65. psmisc \
  66. libpopt0 \
  67. zlib1g-dev
  68. RUN apt-get install -y \
  69. bash-completion \
  70. expect \
  71. git \
  72. nano \
  73. valgrind \
  74. sudo \
  75. vim \
  76. gdb \
  77. software-properties-common \
  78. lsb-release \
  79. jq
  80. RUN curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
  81. RUN apt-add-repository "deb https://deb.nodesource.com/node_12.x $(lsb_release -sc) main"
  82. RUN apt-get update -y
  83. RUN apt-get install -y nodejs
  84. RUN mkdir /home/temp
  85. WORKDIR /home/temp
  86. RUN curl https://cmake.org/files/v3.16/cmake-3.16.3.tar.gz | tar xvz
  87. WORKDIR /home/temp/cmake-3.16.3/
  88. RUN ./bootstrap
  89. RUN make -j4
  90. RUN make install
  91. WORKDIR /
  92. RUN rm -rf /home/temp
  93. RUN apt-get clean -y
  94. FROM ubuntu:20.04
  95. COPY --from=build / /