|
1 | 1 | FROM ubuntu:22.04 |
2 | 2 |
|
3 | | -ARG DEBIAN_FRONTEND=noninteractive |
| 3 | +ENV DEBIAN_FRONTEND=noninteractive |
4 | 4 | ENV TZ=Asia/Singapore |
5 | 5 |
|
6 | 6 | # Core build tools |
7 | 7 | RUN apt-get update && apt-get install -y --no-install-recommends \ |
8 | 8 | build-essential clang gcc g++ make git cmake pkg-config \ |
9 | 9 | curl wget ca-certificates gnupg sudo unzip jq \ |
10 | | - python3 python3-pip \ |
11 | | - && rm -rf /var/lib/apt/lists/* |
12 | | - |
13 | | -# xxd (separate package in Ubuntu 22.04+) |
14 | | -RUN apt-get update && apt-get install -y --no-install-recommends xxd \ |
| 10 | + python3 python3-pip xxd \ |
15 | 11 | && rm -rf /var/lib/apt/lists/* |
16 | 12 |
|
17 | 13 | # Node.js 18.x (for tree-sitter CLI via npx) |
18 | 14 | RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - \ |
19 | 15 | && apt-get install -y --no-install-recommends nodejs \ |
20 | 16 | && rm -rf /var/lib/apt/lists/* |
21 | 17 |
|
22 | | -# Lambda core libraries |
| 18 | +# Lambda core libraries + Radiant engine dependencies |
23 | 19 | RUN apt-get update && apt-get install -y --no-install-recommends \ |
24 | 20 | libcurl4-openssl-dev libmpdec-dev libutf8proc-dev libssl-dev \ |
25 | 21 | zlib1g-dev libnghttp2-dev libncurses5-dev libevent-dev \ |
26 | 22 | libbrotli-dev \ |
27 | | - && rm -rf /var/lib/apt/lists/* |
28 | | - |
29 | | -# Radiant engine dependencies |
30 | | -RUN apt-get update && apt-get install -y --no-install-recommends \ |
31 | 23 | libglfw3-dev libfreetype6-dev libpng-dev libbz2-dev \ |
32 | 24 | libturbojpeg0-dev libgif-dev gettext \ |
33 | 25 | libgl1-mesa-dev libglu1-mesa-dev libegl1-mesa-dev \ |
| 26 | + ninja-build \ |
34 | 27 | && rm -rf /var/lib/apt/lists/* |
35 | 28 |
|
36 | | -# Meson + ninja (for ThorVG) |
37 | | -RUN pip3 install meson \ |
38 | | - && apt-get update && apt-get install -y --no-install-recommends ninja-build \ |
39 | | - && rm -rf /var/lib/apt/lists/* |
40 | | - |
41 | | -# Google Test |
42 | | -RUN apt-get update && apt-get install -y --no-install-recommends \ |
43 | | - libgtest-dev \ |
44 | | - && rm -rf /var/lib/apt/lists/* |
| 29 | +# Meson (for ThorVG) |
| 30 | +RUN pip3 install meson |
| 31 | + |
| 32 | +# Google Test — libgtest-dev only installs headers, must compile the library |
| 33 | +RUN apt-get update && apt-get install -y --no-install-recommends libgtest-dev \ |
| 34 | + && rm -rf /var/lib/apt/lists/* \ |
| 35 | + && mkdir -p /tmp/gtest-build && cd /tmp/gtest-build \ |
| 36 | + && cmake /usr/src/gtest -DBUILD_GMOCK=ON -DCMAKE_INSTALL_PREFIX=/usr/local \ |
| 37 | + && make -j$(nproc) \ |
| 38 | + && make install \ |
| 39 | + && ldconfig \ |
| 40 | + && rm -rf /tmp/gtest-build |
45 | 41 |
|
46 | 42 | # Premake5 (build system generator) |
47 | 43 | RUN PREMAKE_VERSION="5.0.0-beta2" \ |
|
0 commit comments