FROM rockylinux:8 ENV OS_IDENTIFIER centos-8 RUN dnf -y upgrade \ && dnf -y install dnf-plugins-core \ && dnf config-manager --set-enabled powertools \ && dnf -y install \ autoconf \ automake \ bzip2-devel \ cairo-devel \ gcc-c++ \ gcc-gfortran \ java-1.8.0-openjdk-devel \ java-1.8.0-openjdk-headless \ libICE-devel \ libSM-devel \ libX11-devel \ libXmu-devel \ libXt-devel \ libcurl-devel \ libicu-devel \ libjpeg-devel \ libpng-devel \ libtiff-devel \ libtool \ make \ ncurses-devel \ pango-devel \ pcre-devel \ pcre2-devel \ python36 \ python3-pip \ readline-devel \ rpm-build \ tcl-devel \ tex \ texinfo-tex \ texlive-collection-latexrecommended \ tk-devel \ valgrind-devel \ which \ wget \ xz-devel \ zlib-devel \ && dnf clean all # Install s5cmd for S3 uploads (much faster than AWS CLI) RUN ARCH=$(uname -m); if [ "$ARCH" = "x86_64" ]; then S5CMD_ARCH="64bit"; else S5CMD_ARCH="arm64"; fi && \ curl -sL "https://github.com/peak/s5cmd/releases/download/v2.3.0/s5cmd_2.3.0_Linux-${S5CMD_ARCH}.tar.gz" | tar xz -C /usr/local/bin s5cmd RUN if [ "$(arch)" == "aarch64" ]; then echo arm64; else echo amd64; fi > /tmp/arch RUN curl -LO "https://github.com/goreleaser/nfpm/releases/download/v2.18.1/nfpm_$(cat /tmp/arch).rpm" && \ dnf install -y "nfpm_$(cat /tmp/arch).rpm" && \ rm "nfpm_$(cat /tmp/arch).rpm" RUN chmod 0777 /opt # Configure flags for CentOS 8 that don't use the defaults in build.sh ENV CONFIGURE_OPTIONS="\ --enable-R-shlib \ --with-tcltk \ --enable-memory-profiling \ --with-x \ --with-system-valgrind-headers \ --with-tcl-config=/usr/lib64/tclConfig.sh \ --with-tk-config=/usr/lib64/tkConfig.sh \ --enable-prebuilt-html" # RHEL 8 doesn't have the inconsolata font, so override the defaults. ENV R_RD4PDF="times,hyper" COPY package.centos-8 /package.sh COPY build.sh . COPY patches /patches ENTRYPOINT ./build.sh