add vendor packages

This commit is contained in:
EricX-Zhao
2026-02-12 00:47:10 +03:00
parent fae9d9f8ba
commit 7fffde2fd6
45 changed files with 930 additions and 20 deletions
@@ -1,15 +1,8 @@
ARG BASE_IMAGE
ARG CC_PLATFORM_IMAGE
FROM ${BASE_IMAGE} as vendor_packages_src
FROM ${CC_PLATFORM_IMAGE} AS system_packages
# RUN mkdir -p workspace/src
# COPY vendor_packages workspace/src/
RUN mkdir -p workspace/src \
&& cd workspace/src \
&& git clone https://github.com/EricX-Zhao/vendor_packages.git
FROM vendor_packages_src as system_packages
COPY vendor_packages workspace/src/
RUN cd workspace \
&& colcon build \
@@ -24,7 +17,14 @@ RUN cd workspace \
-DCMAKE_TOOLCHAIN_FILE=${CC_TOOLCHAIN_FILE}
FROM vendor_packages_src as ceres_vendor
FROM ${CC_PLATFORM_IMAGE} AS ceres_vendor
COPY vendor_packages/eigen3_vendor workspace/src/eigen3_vendor
COPY vendor_packages/gflags_vendor workspace/src/gflags_vendor
COPY vendor_packages/glog_vendor workspace/src/glog_vendor
COPY vendor_packages/openblas_vendor workspace/src/openblas_vendor
COPY vendor_packages/suitesparse_vendor workspace/src/suitesparse_vendor
COPY vendor_packages/ceres_vendor workspace/src/ceres_vendor
RUN cd workspace \
&& colcon build \
@@ -38,7 +38,9 @@ RUN cd workspace \
-DCMAKE_TOOLCHAIN_FILE=${CC_TOOLCHAIN_FILE}
FROM vendor_packages_src as opencv_vendor
FROM ${CC_PLATFORM_IMAGE} AS opencv_vendor
COPY vendor_packages/opencv_vendor workspace/src/opencv_vendor
RUN cd workspace \
&& colcon build \
@@ -51,7 +53,7 @@ RUN cd workspace \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_TOOLCHAIN_FILE=${CC_TOOLCHAIN_FILE}
FROM ${BASE_IMAGE} AS boost
FROM ${CC_PLATFORM_IMAGE} AS boost
WORKDIR /tmp
@@ -63,7 +65,12 @@ RUN tar -zxf boost_1_83_0.tar.gz \
&& sed -i "/using gcc/c using gcc : arm64 : aarch64-none-linux-gnu-gcc ;" project-config.jam \
&& ./b2 cxxflags="-fPIC" cflags="-fPIC" link=static install
FROM vendor_packages_src as pcl_vendor
FROM ${CC_PLATFORM_IMAGE} AS pcl_vendor
COPY vendor_packages/eigen3_vendor workspace/src/eigen3_vendor
COPY vendor_packages/liblz4_vendor workspace/src/liblz4_vendor
COPY vendor_packages/flann_vendor workspace/src/flann_vendor
COPY vendor_packages/pcl_vendor workspace/src/pcl_vendor
COPY --from=boost ${TARGET_SYSROOT} ${TARGET_SYSROOT}
@@ -80,7 +87,7 @@ RUN cd workspace \
# OpenSSL
FROM ${BASE_IMAGE} AS ssl_builder
FROM ${CC_PLATFORM_IMAGE} AS ssl_builder
WORKDIR /tmp
RUN git clone --depth=1 https://github.com/janbar/openssl-cmake.git \
&& cd openssl-cmake \
@@ -95,16 +102,16 @@ RUN git clone --depth=1 https://github.com/janbar/openssl-cmake.git \
&& rm -rf /tmp
# Python 3.12
FROM ${BASE_IMAGE} AS python_builder
FROM ${CC_PLATFORM_IMAGE} AS python_builder
WORKDIR /tmp
COPY --from=ssl_builder ${TARGET_SYSROOT} ${TARGET_SYSROOT}
# COPY vendor_packages/Python-3.10.12.tar.xz .
RUN wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tar.xz && \
RUN tar -xf Python-3.10.12.tar.xz && \
rm Python-3.10.12.tar.xz
RUN wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tar.xz \
&& tar -xf Python-3.10.12.tar.xz \
&& rm Python-3.10.12.tar.xz
# 配置和编译 Python
WORKDIR /tmp/Python-3.10.12
@@ -136,7 +143,8 @@ RUN python3 -m pip install crossenv \
&& pip -v install numpy==1.21.5 lark==1.1.1 packaging --prefix=${TARGET_SYSROOT}
FROM ${BASE_IMAGE} as final
FROM ${CC_PLATFORM_IMAGE} AS final
COPY --from=system_packages ${TARGET_SYSROOT} ${TARGET_SYSROOT}
COPY --from=ceres_vendor ${TARGET_SYSROOT} ${TARGET_SYSROOT}