-
Notifications
You must be signed in to change notification settings - Fork 51
/
Singularity
60 lines (50 loc) · 1.36 KB
/
Singularity
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
Bootstrap: docker
From: debian:unstable
#From: debian:testing
#From: ubuntu:cosmic
%help
Welcome to the openPMD-api container.
This container contains a pre-installed openPMD-api library.
This container provides serial I/O.
Supported backends are HDF5 and ADIOS2.
Supported frontends are C++11 and Python3.
%setup
mkdir -p ${SINGULARITY_ROOTFS}/opt/openpmd-api
%files
./* /opt/openpmd-api
%post
apt-get update && \
apt-get install -y --no-install-recommends \
cmake \
make \
g++ \
ipython3 \
python3-dev \
pybind11-dev \
libglib2.0-dev libbz2-dev libibverbs-dev libnetcdf-dev \
libhdf5-dev && \
rm -rf /var/lib/apt/lists/*
# python3-numpy
# missing: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=900804
# libopenmpi-dev libhdf5-openmpi-dev
cd $(mktemp -d)
cmake /opt/openpmd-api \
-DopenPMD_USE_MPI=OFF \
-DopenPMD_USE_HDF5=ON \
-DopenPMD_USE_ADIOS2=OFF \
-DopenPMD_USE_PYTHON=ON \
-DopenPMD_BUILD_TESTING=OFF \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DCMAKE_INSTALL_PYTHONDIR=lib/python3.6/dist-packages
make
# make test
make install
#%test
# make test
%runscript
ipython3
%labels
openPMD_HAVE_MPI OFF
openPMD_HAVE_HDF5 ON
openPMD_HAVE_ADIOS2 OFF
openPMD_HAVE_PYTHON ON