docker/Dockerfile_almalinux_8_arm64.erb (64 lines of code) (raw):

FROM almalinux:8 as builder # Install required packages RUN yum update -y -q RUN yum install -y 'dnf-command(config-manager)' RUN yum install -y epel-release \ && yum config-manager --set-enabled powertools RUN yum install -y -q \ autoconf \ automake \ clang-devel \ gettext-devel \ glibc-locale-source \ gcc \ gcc-c++ \ curl-devel \ expat-devel \ gettext-devel \ krb5-devel \ openssl-devel \ perl-devel \ zlib-devel \ make \ libyaml-devel \ libffi-devel \ libgcrypt-devel \ readline-devel \ zlib-devel \ gdbm-devel \ ncurses-devel \ ninja-build \ bzip2 \ which \ byacc \ libgpg-error-devel \ libassuan-devel \ ccache \ unzip \ libatomic \ libstdc++-static \ openssh-clients \ rpm-build \ rpm-sign \ python3 \ file \ selinux-policy-devel \ perl-IPC-Cmd ENV LANG en_US.UTF-8 ENV LC_ALL en_US.UTF-8 RUN localedef -c -f UTF-8 -i en_US en_US.UTF-8 # We are building pinentry-tty because CentOS 8's pinenetry package expose # only the ncurses frontend, not tty. This, for some reason, does not work # with rpmsign. ENV PINENTRY_VERSION 1.1.0 RUN curl -fsSL "https://www.gnupg.org/ftp/gcrypt/pinentry/pinentry-${PINENTRY_VERSION}.tar.bz2" \ | tar -jxC /tmp \ && cd /tmp/pinentry-${PINENTRY_VERSION} \ && ./configure --disable-pinentry-gtk2 --disable-pinentry-gnome --disable-pinentry-qt --disable-pinentry-curses --enable-pinentry-tty --prefix=/usr \ && make \ && make install <%= Snippets.new(platform: 'arm64').populate %> <%= Snippets.new(include: %w[meson-legacy]).populate %> FROM almalinux:8 MAINTAINER GitLab Inc. <support@gitlab.com> COPY --from=builder / /