diff --git a/3.1/centos6/Dockerfile b/3.1/centos6/Dockerfile index da8af09..7280d80 100644 --- a/3.1/centos6/Dockerfile +++ b/3.1/centos6/Dockerfile @@ -19,4 +19,10 @@ RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-$ ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ rm R-${R_VERSION}.tar.gz +# Add support for installing packages with C++11 +RUN echo $'CXX11 = g++\n\ +CXX11FLAGS = -g -O2 $(LTO)\n\ +CXX11PICFLAGS = -fpic\n\ +CXX11STD = -std=gnu++11\n' >> $(R RHOME)/etc/Makevars.site + CMD ["R"] diff --git a/3.2/centos6/Dockerfile b/3.2/centos6/Dockerfile index f67b66e..403631f 100644 --- a/3.2/centos6/Dockerfile +++ b/3.2/centos6/Dockerfile @@ -19,4 +19,10 @@ RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-$ ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ rm R-${R_VERSION}.tar.gz +# Add support for installing packages with C++11 +RUN echo $'CXX11 = g++\n\ +CXX11FLAGS = -g -O2 $(LTO)\n\ +CXX11PICFLAGS = -fpic\n\ +CXX11STD = -std=gnu++11\n' >> $(R RHOME)/etc/Makevars.site + CMD ["R"] diff --git a/3.3/centos6/Dockerfile b/3.3/centos6/Dockerfile index 168bb1a..38debf7 100644 --- a/3.3/centos6/Dockerfile +++ b/3.3/centos6/Dockerfile @@ -19,4 +19,10 @@ RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-$ ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ rm R-${R_VERSION}.tar.gz +# Add support for installing packages with C++11 +RUN echo $'CXX11 = g++\n\ +CXX11FLAGS = -g -O2 $(LTO)\n\ +CXX11PICFLAGS = -fpic\n\ +CXX11STD = -std=gnu++11\n' >> $(R RHOME)/etc/Makevars.site + CMD ["R"] diff --git a/3.4/centos6/Dockerfile b/3.4/centos6/Dockerfile index 5c1e997..5480020 100644 --- a/3.4/centos6/Dockerfile +++ b/3.4/centos6/Dockerfile @@ -19,4 +19,10 @@ RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-$ ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ rm R-${R_VERSION}.tar.gz +# Add support for installing packages with C++11 +RUN echo $'CXX11 = g++\n\ +CXX11FLAGS = -g -O2 $(LTO)\n\ +CXX11PICFLAGS = -fpic\n\ +CXX11STD = -std=gnu++11\n' >> $(R RHOME)/etc/Makevars.site + CMD ["R"] diff --git a/3.5/centos6/Dockerfile b/3.5/centos6/Dockerfile index 4cf2961..e1e9810 100644 --- a/3.5/centos6/Dockerfile +++ b/3.5/centos6/Dockerfile @@ -19,4 +19,10 @@ RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-$ ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ rm R-${R_VERSION}.tar.gz +# Add support for installing packages with C++11 +RUN echo $'CXX11 = g++\n\ +CXX11FLAGS = -g -O2 $(LTO)\n\ +CXX11PICFLAGS = -fpic\n\ +CXX11STD = -std=gnu++11\n' >> $(R RHOME)/etc/Makevars.site + CMD ["R"] diff --git a/3.6/bionic/Dockerfile b/3.6/bionic/Dockerfile new file mode 100644 index 0000000..a633119 --- /dev/null +++ b/3.6/bionic/Dockerfile @@ -0,0 +1,22 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +ARG BASE_IMAGE=rstudio/r-base +FROM ${BASE_IMAGE}:bionic + +ARG R_VERSION=3.6.0 +ARG OS_IDENTIFIER=ubuntu-1804 + +# Install R +RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-${R_VERSION}-${OS_IDENTIFIER}.tar.gz && \ + mkdir -p /opt/R && \ + tar zx -C /opt/R -f ./R-${R_VERSION}.tar.gz && \ + ln -s /opt/R/${R_VERSION}/bin/R /usr/bin/R && \ + ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/bin/Rscript && \ + ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ + rm R-${R_VERSION}.tar.gz + +CMD ["R"] diff --git a/3.6/centos6/Dockerfile b/3.6/centos6/Dockerfile new file mode 100644 index 0000000..a771187 --- /dev/null +++ b/3.6/centos6/Dockerfile @@ -0,0 +1,28 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +ARG BASE_IMAGE=rstudio/r-base +FROM ${BASE_IMAGE}:centos6 + +ARG R_VERSION=3.6.0 +ARG OS_IDENTIFIER=centos-6 + +# Install R +RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-${R_VERSION}-${OS_IDENTIFIER}.tar.gz && \ + mkdir -p /opt/R && \ + tar zx -C /opt/R -f ./R-${R_VERSION}.tar.gz && \ + ln -s /opt/R/${R_VERSION}/bin/R /usr/bin/R && \ + ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/bin/Rscript && \ + ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ + rm R-${R_VERSION}.tar.gz + +# Add support for installing packages with C++11 +RUN echo $'CXX11 = g++\n\ +CXX11FLAGS = -g -O2 $(LTO)\n\ +CXX11PICFLAGS = -fpic\n\ +CXX11STD = -std=gnu++11\n' >> $(R RHOME)/etc/Makevars.site + +CMD ["R"] diff --git a/3.6/centos7/Dockerfile b/3.6/centos7/Dockerfile new file mode 100644 index 0000000..2190446 --- /dev/null +++ b/3.6/centos7/Dockerfile @@ -0,0 +1,22 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +ARG BASE_IMAGE=rstudio/r-base +FROM ${BASE_IMAGE}:centos7 + +ARG R_VERSION=3.6.0 +ARG OS_IDENTIFIER=centos-7 + +# Install R +RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-${R_VERSION}-${OS_IDENTIFIER}.tar.gz && \ + mkdir -p /opt/R && \ + tar zx -C /opt/R -f ./R-${R_VERSION}.tar.gz && \ + ln -s /opt/R/${R_VERSION}/bin/R /usr/bin/R && \ + ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/bin/Rscript && \ + ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ + rm R-${R_VERSION}.tar.gz + +CMD ["R"] diff --git a/3.6/opensuse15/Dockerfile b/3.6/opensuse15/Dockerfile new file mode 100644 index 0000000..a44a905 --- /dev/null +++ b/3.6/opensuse15/Dockerfile @@ -0,0 +1,22 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +ARG BASE_IMAGE=rstudio/r-base +FROM ${BASE_IMAGE}:opensuse15 + +ARG R_VERSION=3.6.0 +ARG OS_IDENTIFIER=opensuse-15 + +# Install R +RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-${R_VERSION}-${OS_IDENTIFIER}.tar.gz && \ + mkdir -p /opt/R && \ + tar zx -C /opt/R -f ./R-${R_VERSION}.tar.gz && \ + ln -s /opt/R/${R_VERSION}/bin/R /usr/bin/R && \ + ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/bin/Rscript && \ + ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ + rm R-${R_VERSION}.tar.gz + +CMD ["R"] diff --git a/3.6/opensuse42/Dockerfile b/3.6/opensuse42/Dockerfile new file mode 100644 index 0000000..9757bc3 --- /dev/null +++ b/3.6/opensuse42/Dockerfile @@ -0,0 +1,22 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +ARG BASE_IMAGE=rstudio/r-base +FROM ${BASE_IMAGE}:opensuse42 + +ARG R_VERSION=3.6.0 +ARG OS_IDENTIFIER=opensuse-42 + +# Install R +RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-${R_VERSION}-${OS_IDENTIFIER}.tar.gz && \ + mkdir -p /opt/R && \ + tar zx -C /opt/R -f ./R-${R_VERSION}.tar.gz && \ + ln -s /opt/R/${R_VERSION}/bin/R /usr/bin/R && \ + ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/bin/Rscript && \ + ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ + rm R-${R_VERSION}.tar.gz + +CMD ["R"] diff --git a/3.6/xenial/Dockerfile b/3.6/xenial/Dockerfile new file mode 100644 index 0000000..8af49af --- /dev/null +++ b/3.6/xenial/Dockerfile @@ -0,0 +1,22 @@ +# +# NOTE: THIS DOCKERFILE IS GENERATED VIA "update.sh" +# +# PLEASE DO NOT EDIT IT DIRECTLY. +# + +ARG BASE_IMAGE=rstudio/r-base +FROM ${BASE_IMAGE}:xenial + +ARG R_VERSION=3.6.0 +ARG OS_IDENTIFIER=ubuntu-1604 + +# Install R +RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-${R_VERSION}-${OS_IDENTIFIER}.tar.gz && \ + mkdir -p /opt/R && \ + tar zx -C /opt/R -f ./R-${R_VERSION}.tar.gz && \ + ln -s /opt/R/${R_VERSION}/bin/R /usr/bin/R && \ + ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/bin/Rscript && \ + ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ + rm R-${R_VERSION}.tar.gz + +CMD ["R"] diff --git a/Dockerfile-centos6.template b/Dockerfile-centos6.template new file mode 100644 index 0000000..a4de88a --- /dev/null +++ b/Dockerfile-centos6.template @@ -0,0 +1,22 @@ +ARG BASE_IMAGE=rstudio/r-base +FROM ${BASE_IMAGE}:%%VARIANT%% + +ARG R_VERSION=%%R_VERSION%% +ARG OS_IDENTIFIER=%%OS_IDENTIFIER%% + +# Install R +RUN wget -O R-${R_VERSION}.tar.gz https://cdn.rstudio.com/r/${OS_IDENTIFIER}/R-${R_VERSION}-${OS_IDENTIFIER}.tar.gz && \ + mkdir -p /opt/R && \ + tar zx -C /opt/R -f ./R-${R_VERSION}.tar.gz && \ + ln -s /opt/R/${R_VERSION}/bin/R /usr/bin/R && \ + ln -s /opt/R/${R_VERSION}/bin/Rscript /usr/bin/Rscript && \ + ln -s /opt/R/${R_VERSION}/lib/R /usr/lib/R && \ + rm R-${R_VERSION}.tar.gz + +# Add support for installing packages with C++11 +RUN echo $'CXX11 = g++\n\ +CXX11FLAGS = -g -O2 $(LTO)\n\ +CXX11PICFLAGS = -fpic\n\ +CXX11STD = -std=gnu++11\n' >> $(R RHOME)/etc/Makevars.site + +CMD ["R"] diff --git a/Makefile b/Makefile index 12b853d..4a94f64 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,5 @@ BASE_IMAGE ?= rstudio/r-base -VERSIONS = 3.1 3.2 3.3 3.4 3.5 +VERSIONS = 3.1 3.2 3.3 3.4 3.5 3.6 VARIANTS = xenial bionic centos6 centos7 opensuse42 opensuse15 all: build-all test-all diff --git a/update.sh b/update.sh index b22de8a..0203cd4 100755 --- a/update.sh +++ b/update.sh @@ -7,6 +7,7 @@ declare -A r_versions=( [3.3]='3.3.3' [3.4]='3.4.4' [3.5]='3.5.3' + [3.6]='3.6.0' ) declare -A os_identifiers=( @@ -38,7 +39,9 @@ for version in "${!r_versions[@]}"; do case "$variant" in xenial|bionic) template='ubuntu' ;; - centos6|centos7) template='centos' + centos6) template='centos6' + ;; + centos7) template='centos' ;; opensuse42|opensuse15) template='opensuse' ;;