-
Notifications
You must be signed in to change notification settings - Fork 33
/
Copy pathsingularity-r.def
70 lines (57 loc) · 1.7 KB
/
singularity-r.def
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
BootStrap: docker
From: ubuntu:20.04
%labels
Maintainer Jeremy Nicklas
R_Version 4.2.1
%apprun R
exec R "${@}"
%apprun Rscript
exec Rscript "${@}"
%runscript
exec R "${@}"
%post
# Software versions
export R_VERSION=4.2.1
echo "export R_VERSION=${R_VERSION}" >> $SINGULARITY_ENVIRONMENT
# Get dependencies
apt-get update
apt-get install -y --no-install-recommends \
locales
# Configure default locale
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
locale-gen en_US.utf8
/usr/sbin/update-locale LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
# Install R
apt-get update
apt-get install -y --no-install-recommends \
software-properties-common \
dirmngr \
wget
wget -qO- https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc | \
tee -a /etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
add-apt-repository \
"deb https://cloud.r-project.org/bin/linux/ubuntu $(lsb_release -cs)-cran40/"
apt-get install -y --no-install-recommends \
r-base=${R_VERSION}* \
r-base-core=${R_VERSION}* \
r-base-dev=${R_VERSION}* \
r-recommended=${R_VERSION}* \
r-base-html=${R_VERSION}* \
r-doc-html=${R_VERSION}* \
libcurl4-openssl-dev \
libssl-dev \
libxml2-dev \
libcairo2-dev \
libxt-dev \
libopenblas-dev
# Add a default CRAN mirror
echo "options(repos = c(CRAN = 'https://cran.rstudio.com/'), download.file.method = 'libcurl')" >> /usr/lib/R/etc/Rprofile.site
# Add a directory for host R libraries
mkdir -p /library
echo "R_LIBS_SITE=/library:\${R_LIBS_SITE}" >> /usr/lib/R/etc/Renviron.site
# Clean up
rm -rf /var/lib/apt/lists/*
%test
R --quiet -e "stopifnot(getRversion() == '${R_VERSION}')"