based on internal repository c9a2ac8 2019-01-03 16:04:57 +0100 tagged rev-master-2.0.0
118 lines
2.6 KiB
Plaintext
118 lines
2.6 KiB
Plaintext
BootStrap: debootstrap
|
|
OSVersion: bionic
|
|
MirrorURL: http://ch.archive.ubuntu.com/ubuntu/
|
|
|
|
%help
|
|
a singularity container for PMSCO.
|
|
|
|
git clone requires an ssh key for git.psi.ch.
|
|
try agent forwarding (-A option to ssh).
|
|
|
|
#%setup
|
|
# executed on the host system outside of the container before %post
|
|
#
|
|
# this will be inside the container
|
|
# touch ${SINGULARITY_ROOTFS}/tacos.txt
|
|
# this will be on the host
|
|
# touch avocados.txt
|
|
|
|
#%files
|
|
# files are copied before %post
|
|
#
|
|
# this copies to root
|
|
# avocados.txt
|
|
# this copies to /opt
|
|
# avocados.txt /opt
|
|
#
|
|
# this does not work
|
|
# ~/.ssh/known_hosts /etc/ssh/ssh_known_hosts
|
|
# ~/.ssh/id_rsa /etc/ssh/id_rsa
|
|
|
|
%labels
|
|
Maintainer Matthias Muntwiler
|
|
Maintainer_Email matthias.muntwiler@psi.ch
|
|
Python_Version 3
|
|
|
|
%environment
|
|
export PATH="/usr/local/miniconda3/bin:$PATH"
|
|
export PYTHON_VERSION=3
|
|
export SINGULAR_BRANCH="singular"
|
|
export LC_ALL=C
|
|
|
|
%post
|
|
export PYTHON_VERSION=3
|
|
export LC_ALL=C
|
|
|
|
sed -i 's/$/ universe/' /etc/apt/sources.list
|
|
apt-get update
|
|
apt-get -y install \
|
|
binutils \
|
|
build-essential \
|
|
doxygen \
|
|
doxypy \
|
|
f2c \
|
|
g++ \
|
|
gcc \
|
|
gfortran \
|
|
git \
|
|
graphviz \
|
|
libblas-dev \
|
|
liblapack-dev \
|
|
libopenmpi-dev \
|
|
make \
|
|
openmpi-bin \
|
|
openmpi-common \
|
|
sqlite3 \
|
|
swig \
|
|
wget
|
|
apt-get clean
|
|
|
|
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda.sh
|
|
bash ~/miniconda.sh -b -p /usr/local/miniconda3
|
|
export PATH="/usr/local/miniconda3/bin:$PATH"
|
|
|
|
conda create -q --yes -n pmsco python=${PYTHON_VERSION}
|
|
. /usr/local/miniconda3/bin/activate pmsco
|
|
conda install -q --yes -n pmsco \
|
|
pip \
|
|
numpy \
|
|
scipy \
|
|
ipython \
|
|
mpi4py \
|
|
matplotlib \
|
|
nose \
|
|
mock \
|
|
future \
|
|
statsmodels
|
|
conda clean --all -y
|
|
/usr/local/miniconda3/envs/pmsco/bin/pip install periodictable attrdict fasteners
|
|
|
|
|
|
#%test
|
|
# test the image after build
|
|
|
|
%runscript
|
|
# executes command from command line
|
|
source /usr/local/miniconda3/bin/activate pmsco
|
|
exec echo "$@"
|
|
|
|
%apprun install
|
|
source /usr/local/miniconda3/bin/activate pmsco
|
|
cd ~
|
|
git clone https://git.psi.ch/pearl/pmsco.git pmsco
|
|
cd pmsco
|
|
git checkout develop
|
|
git checkout -b ${SINGULAR_BRANCH}
|
|
|
|
make all
|
|
nosetests
|
|
|
|
%apprun python
|
|
source /usr/local/miniconda3/bin/activate pmsco
|
|
exec python "${@}"
|
|
|
|
%apprun conda
|
|
source /usr/local/miniconda3/bin/activate pmsco
|
|
exec conda "${@}"
|
|
|