1- FROM ubuntu:24.04
1+ FROM docker.io/library/ ubuntu:24.04
22
33# Install base build tools and dependencies
44RUN apt-get update && apt-get install -y \
@@ -23,15 +23,13 @@ RUN apt-get update && apt-get install -y \
2323 vim \
2424 && rm -rf /var/lib/apt/lists/*
2525
26- COPY support /root/support
27-
2826ENV TOOLCHAIN_DIR=/opt/aarch64-nextui-linux-gnu
2927
3028# Download the appropriate cross toolchain based on host arch
3129RUN mkdir -p ${TOOLCHAIN_DIR} && \
3230 ARCH=$(uname -m) && \
3331 TOOLCHAIN_REPO=https://github.com/LoveRetro/gcc-arm-8.3-aarch64-tg5040 && \
34- TOOLCHAIN_BUILD=v8.3.0-20250814-133302-c13dfc38 && \
32+ TOOLCHAIN_BUILD=v8.3.0-20260204-190602-d37268f5 && \
3533 if [ "$ARCH" = "x86_64" ]; then \
3634 TOOLCHAIN_ARCHIVE=gcc-8.3.0-aarch64-nextui-linux-gnu-x86_64-host.tar.xz; \
3735 elif [ "$ARCH" = "aarch64" ]; then \
@@ -40,22 +38,15 @@ RUN mkdir -p ${TOOLCHAIN_DIR} && \
4038 echo "Unsupported architecture: $ARCH" && exit 1; \
4139 fi && \
4240 TOOLCHAIN_URL=${TOOLCHAIN_REPO}/releases/download/${TOOLCHAIN_BUILD}/${TOOLCHAIN_ARCHIVE}; \
43- wget -q $TOOLCHAIN_URL -O /tmp/toolchain.tar.xz && \
44- tar -xf /tmp/toolchain.tar.xz -C ${TOOLCHAIN_DIR} --strip-components=2 && \
45- rm /tmp/toolchain.tar.xz
41+ wget -qO - $TOOLCHAIN_URL | tar -xJ -C ${TOOLCHAIN_DIR} --strip-components=2
4642
4743ENV CROSS_TRIPLE=aarch64-nextui-linux-gnu
4844ENV CROSS_ROOT=${TOOLCHAIN_DIR}
4945ENV SYSROOT=${CROSS_ROOT}/${CROSS_TRIPLE}/libc
5046
5147# Download and extract the SDK sysroot
52- ENV SDK_TAR=SDK_usr_tg5040_a133p.tgz
53- ENV SDK_URL=https://github.com/trimui/toolchain_sdk_smartpro/releases/download/20231018/${SDK_TAR}
54-
55- RUN mkdir -p ${SYSROOT} && \
56- wget -q ${SDK_URL} -O /tmp/${SDK_TAR} && \
57- tar -xzf /tmp/${SDK_TAR} -C ${SYSROOT} && \
58- rm /tmp/${SDK_TAR}
48+ ENV SDK_URL=https://github.com/trimui/toolchain_sdk_smartpro/releases/download/20231018/SDK_usr_tg5040_a133p.tgz
49+ RUN mkdir -p ${SYSROOT} && wget -qO - ${SDK_URL} | tar -xzC ${SYSROOT}
5950
6051ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
6152 AR=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-ar \
@@ -68,41 +59,28 @@ ENV AS=${CROSS_ROOT}/bin/${CROSS_TRIPLE}-as \
6859ENV PATH=${CROSS_ROOT}/bin:${PATH}
6960ENV CROSS_COMPILE=${CROSS_TRIPLE}-
7061ENV PREFIX=${SYSROOT}/usr
71- ENV ARCH=arm64
72-
73- # qemu, anyone?
74- # ENV QEMU_LD_PREFIX="${CROSS_ROOT}/${CROSS_TRIPLE}/sysroot"
75- # ENV QEMU_SET_ENV="LD_LIBRARY_PATH=${CROSS_ROOT}/lib:${QEMU_LD_PREFIX}"
62+ ENV ARCH=aarch64
7663
7764# CMake toolchain
78- COPY toolchain-aarch64.cmake ${CROSS_ROOT}/Toolchain.cmake
7965ENV CMAKE_TOOLCHAIN_FILE=${CROSS_ROOT}/Toolchain.cmake
66+ COPY toolchain-aarch64.cmake ${CROSS_ROOT}/Toolchain.cmake
8067
8168# ENV PKG_CONFIG_PATH=/usr/lib/aarch64-linux-gnu/pkgconfig
8269ENV PKG_CONFIG_SYSROOT_DIR=${SYSROOT}
8370ENV PKG_CONFIG_PATH=${SYSROOT}/usr/lib/pkgconfig:${SYSROOT}/usr/share/pkgconfig
8471
85- # for c
86- # ENV CFLAGS="--sysroot=${SYSROOT} -I\"$SYSROOT/libc/usr/include\""
87- # ENV CXXFLAGS="--sysroot=$SYSROOT -I\"$SYSROOT/include/c++/8.3.0\" -I\"$SYSROOT/include/c++/8.3.0/aarch64-nextui-linux-gnu\" -I\"$SYSROOT/libc/usr/include\""
88- # ENV LDFLAGS="--sysroot=${SYSROOT} -L\"$SYSROOT/lib\" -L\"$SYSROOT/libc/usr/lib\""
89-
9072# stuff and extra libs
91- COPY support .
92- RUN . /build-libzip.sh
93- RUN . /build-bluez.sh
94- RUN . /build-libsamplerate.sh
95- RUN . /build-lz4.sh
73+ COPY support /root/support
74+ RUN /root/support /build-libzip.sh
75+ RUN /root/support /build-bluez.sh
76+ RUN /root/support /build-libsamplerate.sh
77+ RUN /root/support /build-lz4.sh
9678
9779ENV UNION_PLATFORM=tg5040
98- # do we still need this?
9980ENV PREFIX_LOCAL=/opt/nextui
10081
10182# just to make sure
102- RUN mkdir -p ${PREFIX_LOCAL}/include
103- RUN mkdir -p ${PREFIX_LOCAL}/lib
83+ RUN mkdir -p ${PREFIX_LOCAL}/include ${PREFIX_LOCAL}/lib
10484
10585VOLUME /root/workspace
106- WORKDIR /workspace
107-
108- CMD ["/bin/bash" ]
86+ WORKDIR /root/workspace
0 commit comments