dropshell-build-base (latest-aarch64)

Published 2025-06-15 14:39:13 +12:00 by j

Installation

docker pull gitea.jde.nz/public/dropshell-build-base:latest-aarch64
sha256:762f75525ce686df20d7e4a459cda73b9c3c8731f07dc86d6ee847e6bbec1f92

Image Layers

ADD alpine-minirootfs-3.22.0-aarch64.tar.gz / # buildkit
CMD ["/bin/sh"]
RUN /bin/sh -c apk add --no-cache bash binutils binutils-dev build-base bzip2 bzip2-dev ccache cmake curl elfutils elfutils-dev elfutils-libelf file g++ git libevent-dev libevent-static libdwarf libdwarf-dev libtirpc-dev libtirpc-static libunwind libunwind-dev libunwind-static linux-headers mold musl musl-dev ncurses-dev ninja perl pipx pkgconf pkgconfig rpcgen util-linux-dev util-linux-static wget xz xz-dev xz-libs xz-static zlib-dev zlib-static # buildkit
SHELL [/bin/bash -c]
ARG CARES_VERSION=1.34.5
WORKDIR /tmp
RUN |1 CARES_VERSION=1.34.5 /bin/bash -c curl -LO https://github.com/c-ares/c-ares/releases/download/v${CARES_VERSION}/c-ares-${CARES_VERSION}.tar.gz && tar zxvf c-ares-${CARES_VERSION}.tar.gz && cd c-ares-${CARES_VERSION} && ./configure --enable-static --disable-shared --prefix=/usr/local && make -j$(nproc) && make install && cd / && rm -rf /tmp/c-ares-${CARES_VERSION} /tmp/c-ares-${CARES_VERSION}.tar.gz # buildkit
ARG OPENSSL_VERSION=3.3.0
ARG TARGETPLATFORM=linux/arm64
WORKDIR /tmp
RUN |3 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 /bin/bash -c curl -LO https://www.openssl.org/source/openssl-${OPENSSL_VERSION}.tar.gz && tar xzf openssl-${OPENSSL_VERSION}.tar.gz && cd openssl-${OPENSSL_VERSION} && if [ "$TARGETPLATFORM" = "linux/arm64" ]; then OPENSSL_TARGET="linux-aarch64"; else OPENSSL_TARGET="linux-x86_64"; fi && ./Configure no-shared no-dso no-tests no-async $OPENSSL_TARGET --prefix=/usr/local --openssldir=/usr/local/ssl -static -fPIC && make -j$(nproc) && make install_sw && cd / && rm -rf /tmp/openssl-${OPENSSL_VERSION} /tmp/openssl-${OPENSSL_VERSION}.tar.gz # buildkit
ENV OPENSSL_ROOT_DIR=/usr/local OPENSSL_INCLUDE_DIR=/usr/local/include OPENSSL_CRYPTO_LIBRARY=/usr/local/lib/libcrypto.a OPENSSL_SSL_LIBRARY=/usr/local/lib/libssl.a
ARG JSONCPP_VERSION=1.9.5
WORKDIR /tmp
RUN |4 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 /bin/bash -c curl -LO https://github.com/open-source-parsers/jsoncpp/archive/refs/tags/${JSONCPP_VERSION}.tar.gz && tar xzf ${JSONCPP_VERSION}.tar.gz && cd jsoncpp-${JSONCPP_VERSION} && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DJSONCPP_WITH_TESTS=OFF -DJSONCPP_WITH_POST_BUILD_UNITTEST=OFF -DJSONCPP_WITH_PKGCONFIG_SUPPORT=ON -DJSONCPP_WITH_CMAKE_PACKAGE=ON && make -j$(nproc) && make install && cd / && rm -rf /tmp/jsoncpp-${JSONCPP_VERSION} /tmp/${JSONCPP_VERSION}.tar.gz # buildkit
RUN |4 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 /bin/bash -c ls /usr/local/include/json/version.h # buildkit
ARG POSTGRES_VERSION=16.2
WORKDIR /tmp
RUN |5 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 /bin/bash -c curl -LO https://ftp.postgresql.org/pub/source/v${POSTGRES_VERSION}/postgresql-${POSTGRES_VERSION}.tar.gz && tar xzf postgresql-${POSTGRES_VERSION}.tar.gz && cd postgresql-${POSTGRES_VERSION} && ./configure --prefix=/usr/local --without-readline --without-zlib --without-icu --enable-static --disable-shared && make -j$(nproc) -C src/port && make -j$(nproc) -C src/common && make -j$(nproc) -C src/interfaces/libpq && make -C src/port install && make -C src/common install && make -C src/interfaces/libpq install && make -C src/include install && cd / && rm -rf /tmp/postgresql-${POSTGRES_VERSION} /tmp/postgresql-${POSTGRES_VERSION}.tar.gz # buildkit
RUN |5 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 /bin/bash -c ls /usr/local/include/pg_config.h # buildkit
ARG CURL_VERSION=8.7.1
WORKDIR /tmp
RUN |6 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 CURL_VERSION=8.7.1 /bin/bash -c curl -LO https://curl.se/download/curl-${CURL_VERSION}.tar.gz && tar xzf curl-${CURL_VERSION}.tar.gz && cd curl-${CURL_VERSION} && ./configure --disable-shared --enable-static --with-ssl=/usr/local --prefix=/usr/local && make -j$(nproc) && make install && cd / && rm -rf /tmp/curl-${CURL_VERSION} /tmp/curl-${CURL_VERSION}.tar.gz # buildkit
ARG MARIADB_CONNECTOR_VERSION=3.4.5
WORKDIR /tmp
RUN |7 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 CURL_VERSION=8.7.1 MARIADB_CONNECTOR_VERSION=3.4.5 /bin/bash -c curl -LO https://downloads.mariadb.com/Connectors/c/connector-c-${MARIADB_CONNECTOR_VERSION}/mariadb-connector-c-${MARIADB_CONNECTOR_VERSION}-src.tar.gz && tar xzf mariadb-connector-c-${MARIADB_CONNECTOR_VERSION}-src.tar.gz && cd mariadb-connector-c-${MARIADB_CONNECTOR_VERSION}-src && cmake . -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DWITH_SSL=OPENSSL -DWITH_STATIC=ON -DOPENSSL_ROOT_DIR=/usr/local -DOPENSSL_USE_STATIC_LIBS=TRUE -DCURL_INCLUDE_DIR=/usr/local/include -DCURL_LIBRARY=/usr/local/lib/libcurl.a -DWITH_SHARED=OFF -DWITH_MYSQL=ON && make -j$(nproc) && make install && cd / && rm -rf /tmp/mariadb-connector-c-${MARIADB_CONNECTOR_VERSION}-src /tmp/mariadb-connector-c-${MARIADB_CONNECTOR_VERSION}-src.tar.gz # buildkit
WORKDIR /tmp
RUN |7 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 CURL_VERSION=8.7.1 MARIADB_CONNECTOR_VERSION=3.4.5 /bin/bash -c wget https://www.sqlite.org/2024/sqlite-autoconf-3450000.tar.gz && tar xzf sqlite-autoconf-3450000.tar.gz && cd sqlite-autoconf-3450000 && ./configure --enable-static --disable-shared --prefix=/usr/local && make && make install && cd .. && rm -rf sqlite-autoconf-3450000* && rm -f /usr/lib/libsqlite3.so* /usr/lib/libsqlite3.a # buildkit
ARG FMT_VERSION=10.2.1
WORKDIR /tmp
RUN |8 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 CURL_VERSION=8.7.1 MARIADB_CONNECTOR_VERSION=3.4.5 FMT_VERSION=10.2.1 /bin/bash -c curl -LO https://github.com/fmtlib/fmt/archive/refs/tags/${FMT_VERSION}.tar.gz && tar xzf ${FMT_VERSION}.tar.gz && cd fmt-${FMT_VERSION} && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local && make -j$(nproc) && make install && cd / && rm -rf /tmp/fmt-${FMT_VERSION} /tmp/${FMT_VERSION}.tar.gz # buildkit
ARG SPDLOG_VERSION=1.13.0
WORKDIR /tmp
RUN |9 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 CURL_VERSION=8.7.1 MARIADB_CONNECTOR_VERSION=3.4.5 FMT_VERSION=10.2.1 SPDLOG_VERSION=1.13.0 /bin/bash -c curl -LO https://github.com/gabime/spdlog/archive/refs/tags/v${SPDLOG_VERSION}.tar.gz && tar xzf v${SPDLOG_VERSION}.tar.gz && cd spdlog-${SPDLOG_VERSION} && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_INSTALL_PREFIX=/usr/local -DSPDLOG_FMT_EXTERNAL=ON && make -j$(nproc) && make install && cd / && rm -rf /tmp/spdlog-${SPDLOG_VERSION} /tmp/v${SPDLOG_VERSION}.tar.gz # buildkit
WORKDIR /tmp
RUN |9 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 CURL_VERSION=8.7.1 MARIADB_CONNECTOR_VERSION=3.4.5 FMT_VERSION=10.2.1 SPDLOG_VERSION=1.13.0 /bin/bash -c git clone --recurse-submodules https://github.com/drogonframework/drogon.git /tmp/drogon && mkdir -p /tmp/drogon/build && cd /tmp/drogon/build && cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DCMAKE_CXX_FLAGS="-fPIC" -DCMAKE_EXE_LINKER_FLAGS="-static -static-libgcc -static-libstdc++ -Wl,-Bstatic" -DCMAKE_SHARED_LINKER_FLAGS="-static" -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_FIND_LIBRARY_SUFFIXES=".a" -DZLIB_USE_STATIC_LIBS=ON -DUSE_MONGODB=OFF -DUSE_POSTGRESQL=ON -DUSE_MYSQL=OFF -DUSE_SQLITE3=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DUUID_LIBRARY=/usr/lib/libuuid.a -DOPENSSL_ROOT_DIR=/usr/local -DOPENSSL_USE_STATIC_LIBS=TRUE -DCARES_INCLUDE_DIR=/usr/local/include -DCARES_LIBRARY=/usr/local/lib/libcares.a -DPostgreSQL_INCLUDE_DIR=/usr/local/include -DPostgreSQL_LIBRARY="/usr/local/lib/libpq.a;/usr/local/lib/libpgcommon.a;/usr/local/lib/libpgport.a" -DSQLite3_LIBRARY=/usr/local/lib/libsqlite3.a -DSQLite3_INCLUDE_DIR=/usr/local/include -DZLIB_LIBRARY=/usr/lib/libz.a -DZLIB_INCLUDE_DIR=/usr/include -DCMAKE_PREFIX_PATH="/usr/local" && make -j$(nproc) && make install && cd / && rm -rf /tmp/drogon # buildkit
ARG NLOHMANN_JSON_VERSION=3.11.3
WORKDIR /tmp
RUN |10 CARES_VERSION=1.34.5 OPENSSL_VERSION=3.3.0 TARGETPLATFORM=linux/arm64 JSONCPP_VERSION=1.9.5 POSTGRES_VERSION=16.2 CURL_VERSION=8.7.1 MARIADB_CONNECTOR_VERSION=3.4.5 FMT_VERSION=10.2.1 SPDLOG_VERSION=1.13.0 NLOHMANN_JSON_VERSION=3.11.3 /bin/bash -c curl -LO https://github.com/nlohmann/json/archive/refs/tags/v${NLOHMANN_JSON_VERSION}.tar.gz && tar xzf v${NLOHMANN_JSON_VERSION}.tar.gz && cd json-${NLOHMANN_JSON_VERSION} && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr/local -DJSON_BuildTests=OFF -DJSON_Install=ON && make -j$(nproc) && make install && cd / && rm -rf /tmp/json-${NLOHMANN_JSON_VERSION} /tmp/v${NLOHMANN_JSON_VERSION}.tar.gz # buildkit
Details
Container
2025-06-15 14:39:13 +12:00
6
OCI / Docker
linux/arm64
213 MiB
Versions (4) View all
latest 2025-06-15
latest-aarch64 2025-06-15
latest-x86_64 2025-06-15
test 2025-06-15