-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile
More file actions
49 lines (39 loc) · 2.28 KB
/
Dockerfile
File metadata and controls
49 lines (39 loc) · 2.28 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# check=skip=UndefinedVar
FROM ubuntu:24.04
ARG DEBIAN_FRONTEND=noninteractive
ARG ANDROID_NDK_VERSION=r27b
ENV CUDA_HOME=/usr/local/cuda
ENV LD_LIBRARY_PATH=${CUDA_HOME}/lib64:${LD_LIBRARY_PATH}
ENV PATH=${CUDA_HOME}/bin:/opt/android-ndk/toolchains/llvm/prebuilt/linux-x86_64/bin:$PATH
ENV ANDROID_NDK_HOME=/opt/android-ndk \
NDK=/opt/android-ndk \
MINGW_SUPPRESS_WARNINGS="-Wno-declaration-after-statement -Wno-array-parameter -Wno-deprecated-declarations -Wno-format -Wno-unused-but-set-variable -Wno-unknown-pragmas -Wno-uninitialized -Wno-undef -Wno-dangling-pointer -Wno-stringop-overflow -Wno-array-bounds -Wno-alloc-size-larger-than -Wno-unused-function -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast"
RUN apt-get update && apt-get install -y \
build-essential git curl wget ca-certificates pkg-config yasm nasm unzip \
autoconf automake libtool libtool-bin cmake ninja-build meson \
python3 python3-pip zstd gperf \
libva-dev libdrm-dev libkrb5-dev gnupg clang llvm \
mingw-w64 g++-mingw-w64 gcc-mingw-w64 \
libfontconfig1-dev libfreetype6-dev libfribidi-dev libharfbuzz-dev libass-dev \
libdav1d-dev libmp3lame-dev libopenjp2-7-dev libsnappy-dev libsoxr-dev libssh-dev \
libsvtav1-dev libvpl-dev libvpx-dev libwebp-dev libx265-dev libxml2-dev libopus-dev \
libvulkan-dev zlib1g-dev libzimg-dev libssl-dev ocl-icd-opencl-dev \
&& rm -rf /var/lib/apt/lists/*
# Instala el toolkit de CUDA para habilitar nvcc (soporte NVENC/CUDA en builds).
RUN wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb -O /tmp/cuda-keyring.deb \
&& dpkg -i /tmp/cuda-keyring.deb \
&& rm /tmp/cuda-keyring.deb \
&& apt-get update \
&& apt-get install -y cuda-toolkit-12-6 \
&& rm -rf /var/lib/apt/lists/*
RUN mkdir -p /build/sources /build/dist /output
RUN curl -L "https://dl.google.com/android/repository/android-ndk-${ANDROID_NDK_VERSION}-linux.zip" -o /tmp/android-ndk.zip \
&& unzip -q /tmp/android-ndk.zip -d /opt \
&& mv /opt/android-ndk-* /opt/android-ndk \
&& rm /tmp/android-ndk.zip
WORKDIR /build
COPY config.sh /build/config.sh
COPY scripts /build/scripts
RUN chmod +x /build/scripts/*.sh /build/scripts/platforms/*.sh /build/scripts/deps/windows/*.sh
VOLUME ["/output", "/build/sources"]
ENTRYPOINT ["/build/scripts/main.sh"]