-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Dockerfile
40 lines (34 loc) · 1.58 KB
/
Dockerfile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
ARG VERSION=rawhide
FROM registry.fedoraproject.org/fedora:$VERSION AS r-fedora
LABEL org.opencontainers.image.licenses="GPL-2.0" \
org.opencontainers.image.source="https://github.com/cran4linux/cran2copr" \
org.opencontainers.image.authors="Iñaki Ucar <iucar@fedoraproject.org>"
# install R
RUN echo "install_weak_deps=False" >> /etc/dnf/dnf.conf \
&& dnf -y install R-core-devel \
&& dnf -y clean all
# enable copr
RUN VER=$([ $(dnf --version | head -n1 | cut -d" " -f1) = "dnf5" ] && echo 5 || true) \
&& dnf -y install "dnf$VER-command(copr)" \
&& dnf -y copr enable iucar/cran \
&& dnf -y clean all \
&& echo "options(repos='https://cloud.r-project.org')" > \
/usr/lib64/R/etc/Rprofile.site
# install littler scripts
RUN dnf -y install R-CRAN-{littler,remotes} \
&& dnf -y clean all \
&& ln -s /usr/local/lib/R/library /usr/local/lib/R/site-library \
&& ln -s /usr/local/lib/R/library/littler/examples/install.r \
/usr/local/bin/install.r \
&& ln -s /usr/local/lib/R/library/littler/examples/install2.r \
/usr/local/bin/install2.r \
&& ln -s /usr/local/lib/R/library/littler/examples/installGithub.r \
/usr/local/bin/installGithub.r \
&& ln -s /usr/local/lib/R/library/littler/examples/testInstalled.r \
/usr/local/bin/testInstalled.r
FROM r-fedora AS r-copr
# enable manager
RUN mv /usr/lib64/R/etc/Rprofile.site /usr/lib64/R/etc/Rprofile.site.bkp \
&& dnf -y install R-CoprManager \
&& dnf -y clean all \
&& mv /usr/lib64/R/etc/Rprofile.site.bkp /usr/lib64/R/etc/Rprofile.site.d/00-repos.site