Install libraries from Rocky Linux 9, CRB and EPEL instead of building from source; packages missing from those repositories are skipped. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
98 lines
2.6 KiB
Docker
98 lines
2.6 KiB
Docker
FROM docker.io/library/rockylinux:9
|
|
|
|
# Toolchain and build tools, same as the rocky9 image.
|
|
RUN dnf install --assumeyes --enablerepo=crb \
|
|
autoconf \
|
|
automake \
|
|
bzip2 \
|
|
ca-certificates \
|
|
cmake \
|
|
curl-minimal \
|
|
gcc \
|
|
gcc-c++ \
|
|
libasan \
|
|
gcc-toolset-15-gcc-c++ \
|
|
gcc-toolset-15-libasan-devel \
|
|
git \
|
|
libtool \
|
|
make \
|
|
ninja-build \
|
|
patch \
|
|
perl-core \
|
|
pkgconf-pkg-config \
|
|
rpm-build \
|
|
tar \
|
|
xz \
|
|
which \
|
|
epel-release \
|
|
&& sed \
|
|
-e 's!^metalink=!#metalink=!g' \
|
|
-e 's!^#baseurl=!baseurl=!g' \
|
|
-e 's!https\?://download\.example/pub/epel!https://mirrors.ustc.edu.cn/epel!g' \
|
|
-i /etc/yum.repos.d/epel.repo /etc/yum.repos.d/epel-testing.repo \
|
|
&& dnf install --assumeyes \
|
|
makeself \
|
|
&& dnf upgrade --assumeyes \
|
|
&& dnf clean all \
|
|
&& rm -rf /var/cache/dnf
|
|
|
|
RUN git config --global url."https://wangguofang.net/github.com/".insteadOf "https://github.com/"
|
|
|
|
RUN test "$(cmake --version | sed -n '1s/[^0-9]*//p' | cut -d. -f2)" -ge 29
|
|
|
|
# Libraries come from the distribution (Rocky Linux 9, CRB and EPEL) instead of being built from
|
|
# source. A package that is not available in these repositories is skipped, not an error.
|
|
RUN dnf install --assumeyes --enablerepo=crb,epel \
|
|
--setopt=skip_missing_names_on_install=True \
|
|
--skip-broken \
|
|
boost-devel \
|
|
cyrus-sasl-devel \
|
|
fast_float-devel \
|
|
fmt-devel \
|
|
folly-devel \
|
|
gflags-devel \
|
|
glog-devel \
|
|
gmock-devel \
|
|
gmp-devel \
|
|
gnutls-devel \
|
|
gtest-devel \
|
|
hiredis-devel \
|
|
jsoncpp-devel \
|
|
json-c-devel \
|
|
libaio-devel \
|
|
libcurl-devel \
|
|
libdwarf-devel \
|
|
libevent-devel \
|
|
libmaxminddb-devel \
|
|
libsodium-devel \
|
|
liburing-devel \
|
|
libuuid-devel \
|
|
libxml2-devel \
|
|
libyaml-devel \
|
|
libzstd-devel \
|
|
log4cplus-devel \
|
|
lz4-devel \
|
|
magic_enum-devel \
|
|
nettle-devel \
|
|
numactl-devel \
|
|
openssl-devel \
|
|
protobuf-compiler \
|
|
protobuf-devel \
|
|
rapidjson-devel \
|
|
librdkafka-devel \
|
|
snappy-devel \
|
|
spdlog-devel \
|
|
thrift-devel \
|
|
tsl-sparse-map-devel \
|
|
xsimd-devel \
|
|
xxhash-devel \
|
|
zeromq-devel \
|
|
czmq-devel \
|
|
zlib-devel \
|
|
libarrow-devel \
|
|
parquet-libs-devel \
|
|
&& dnf clean all \
|
|
&& rm -rf /var/cache/dnf
|
|
|
|
CMD ["/bin/bash"]
|