From b8b69eaa6bbdb8806bda375c3d1ac12764054c65 Mon Sep 17 00:00:00 2001 From: Lawliet828 Date: Fri, 7 Mar 2025 11:40:24 +0800 Subject: [PATCH] feat(build): add aarch64 support (#114) * dockerfile * fuse cmake support aarch64 --- dockerfile/dev.dockerfile | 29 +++++++++++++++++++++-------- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/dockerfile/dev.dockerfile b/dockerfile/dev.dockerfile index 38f0dd5..edeb8c2 100644 --- a/dockerfile/dev.dockerfile +++ b/dockerfile/dev.dockerfile @@ -3,7 +3,7 @@ FROM ubuntu:22.04 SHELL ["/bin/bash", "-euo", "pipefail", "-c"] RUN apt-get update &&\ apt-get install -y --no-install-recommends \ - wget ca-certificates \ + git wget ca-certificates \ clang-format-14 clang-14 clang-tidy-14 lld-14 \ build-essential meson gcc-12 g++-12 cmake rustc cargo \ google-perftools \ @@ -23,16 +23,29 @@ RUN apt-get update &&\ libuv1-dev &&\ apt-get clean &&\ rm -rf /var/lib/apt/lists/* -ARG FDB_VERSION=7.1.61 -ARG FDB_DOWNLOAD_URL=https://github.com/apple/foundationdb/releases/download/7.1.61/foundationdb-clients_${FDB_VERSION}-1_amd64.deb -RUN wget ${FDB_DOWNLOAD_URL} -O /tmp/foundationdb-clients.deb &&\ - dpkg -i /tmp/foundationdb-clients.deb &&\ - rm /tmp/foundationdb-clients.deb + + ARG TARGETARCH + ARG FDB_VERSION=7.3.63 + ARG FDB_ARCH_SUFFIX + RUN case "${TARGETARCH}" in \ + amd64) FDB_ARCH_SUFFIX="amd64" ;; \ + arm64) FDB_ARCH_SUFFIX="aarch64" ;; \ + *) echo "Unsupported architecture: ${TARGETARCH}"; exit 1 ;; \ + esac && \ + FDB_CLIENT_URL="https://github.com/apple/foundationdb/releases/download/${FDB_VERSION}/foundationdb-clients_${FDB_VERSION}-1_${FDB_ARCH_SUFFIX}.deb" && \ + FDB_SERVER_URL="https://github.com/apple/foundationdb/releases/download/${FDB_VERSION}/foundationdb-server_${FDB_VERSION}-1_${FDB_ARCH_SUFFIX}.deb" && \ + wget -q "${FDB_CLIENT_URL}" && \ + wget -q "${FDB_SERVER_URL}" && \ + dpkg -i foundationdb-clients_${FDB_VERSION}-1_${FDB_ARCH_SUFFIX}.deb && \ + dpkg -i foundationdb-server_${FDB_VERSION}-1_${FDB_ARCH_SUFFIX}.deb && \ + rm foundationdb-clients_${FDB_VERSION}-1_${FDB_ARCH_SUFFIX}.deb foundationdb-server_${FDB_VERSION}-1_${FDB_ARCH_SUFFIX}.deb + ARG LIBFUSE_VERSION=3.16.2 ARG LIBFUSE_DOWNLOAD_URL=https://github.com/libfuse/libfuse/releases/download/fuse-${LIBFUSE_VERSION}/fuse-${LIBFUSE_VERSION}.tar.gz RUN wget -O- ${LIBFUSE_DOWNLOAD_URL} |\ tar -xzvf - -C /tmp &&\ cd /tmp/fuse-${LIBFUSE_VERSION} &&\ mkdir build && cd build &&\ - meson setup .. && ninja && ninja install &&\ - rm -f -r /tmp/fuse-${LIBFUSE_VERSION}* + meson setup .. && meson configure -D default_library=both &&\ + ninja && ninja install &&\ + rm -f -r /tmp/fuse-${LIBFUSE_VERSION}* \ No newline at end of file