diff --git a/ir/ir-base/install_R_source.sh b/ir/ir-base/install_R_source.sh index 0efb7a3..72c0874 100755 --- a/ir/ir-base/install_R_source.sh +++ b/ir/ir-base/install_R_source.sh @@ -37,6 +37,7 @@ fi apt-get install -y --no-install-recommends \ bash-completion \ ca-certificates \ + curl \ file \ fonts-texgyre \ g++ \ @@ -61,7 +62,7 @@ apt-get install -y --no-install-recommends \ zip \ zlib1g -BUILDDEPS="curl \ +BUILDDEPS="\ default-jdk \ devscripts \ libbz2-dev \ @@ -143,7 +144,7 @@ make clean ## Add a library directory (for user-installed packages) mkdir -p "${R_HOME}/site-library" -chown root:staff "${R_HOME}/site-library" +#chown root:staff "${R_HOME}/site-library" chmod g+ws "${R_HOME}/site-library" ## Fix library path diff --git a/ir/ir-with-libs/Dockerfile.ir b/ir/ir-with-libs/Dockerfile.ir index 9e991bc..54ff8d4 100644 --- a/ir/ir-with-libs/Dockerfile.ir +++ b/ir/ir-with-libs/Dockerfile.ir @@ -3,19 +3,63 @@ ARG CIRCLE_PULL_REQUEST FROM deepnote/ir:${R_VERSION}${CIRCLE_PULL_REQUEST:+-ra-${CIRCLE_PULL_REQUEST##*/}} -# Install the R libraries -RUN R -e "install.packages('tidyverse', repos='https://cloud.r-project.org', dependencies=TRUE)" -RUN R -e "install.packages('data.table', repos='https://cloud.r-project.org', dependencies=TRUE)" -RUN R -e "install.packages('RSQLite', repos='https://cloud.r-project.org', dependencies=TRUE)" -RUN R -e "install.packages('remotes', repos='https://cloud.r-project.org', dependencies=TRUE)" -RUN R -e "install.packages('reticulate', repos='https://cloud.r-project.org', dependencies=TRUE)" -RUN R -e "install.packages('igraph', repos='https://cloud.r-project.org', dependencies=TRUE)" -RUN R -e "install.packages('plotly', repos='https://cloud.r-project.org', dependencies=TRUE)" - - # Workaround for Java to install correctly RUN mkdir -p /usr/share/man/man1/ -RUN R -e "install.packages('rgl', repos='https://cloud.r-project.org', dependencies=TRUE)" -RUN R -e "install.packages('hdf5r', repos='https://cloud.r-project.org', dependencies=TRUE)" -RUN R -e "install.packages('rJava', repos='https://cloud.r-project.org', dependencies=TRUE)" \ No newline at end of file +# Install R lib dependencies +ENV BUILDDEPS="\ +default-jdk \ +devscripts \ +libbz2-dev \ +libcairo2-dev \ +libcurl4-openssl-dev \ +libgit2-dev \ +libicu-dev \ +libjpeg-dev \ +liblzma-dev \ +libmagick++-dev \ +libpango1.0-dev \ +libpcre2-dev \ +libpng-dev \ +libreadline-dev \ +librsvg2-dev \ +libtiff5-dev \ +libudunits2-dev \ +libv8-dev \ +libx11-dev \ +libxml2-dev \ +libxt-dev \ +perl \ +rsync \ +subversion \ +tcl-dev \ +texinfo \ +texlive-extra-utils \ +texlive-fonts-extra \ +texlive-fonts-recommended \ +texlive-latex-extra \ +texlive-latex-recommended \ +tk-dev \ +wget \ +x11proto-core-dev \ +xauth \ +xfonts-base \ +xvfb \ +zlib1g-dev" + +RUN apt-get update && apt-get install -y ${BUILDDEPS} \ + && \ + # Install the R libraries + R -e "install.packages('tidyverse', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('data.table', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('RSQLite', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('remotes', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('reticulate', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('igraph', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('plotly', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('rgl', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('hdf5r', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + R -e "install.packages('rJava', repos='https://cloud.r-project.org', dependencies=TRUE)" && \ + apt-get clean && \ + apt-get remove --purge -y ${BUILDDEPS} && \ + rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*