Skip to content

Commit 49f1830

Browse files
committed
Merge develop
2 parents 5b3b908 + 67123eb commit 49f1830

File tree

169 files changed

+1775
-944
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

169 files changed

+1775
-944
lines changed

.mm/docker/hirsute/dev/Dockerfile

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
## -*- docker-image-name: "isce3:hirsute-dev" -*-
2+
3+
# based on ubuntu
4+
FROM ubuntu:hirsute
5+
6+
# set up some build variables
7+
ARG img=hirsute/dev
8+
ARG imghome=.mm/docker/${img}
9+
# locations
10+
ARG prefix=/usr/local
11+
ARG srcdir=${prefix}/src
12+
13+
# environment
14+
# colorize (for fun)
15+
ENV TERM=xterm-256color
16+
# set up the dynamic linker path
17+
ENV LD_LIBRARY_PATH=${prefix}/lib
18+
19+
# update the package repository
20+
RUN apt update -y
21+
# get the latest
22+
RUN apt dist-upgrade -y
23+
24+
# install the base software stack
25+
RUN DEBIAN_FRONTEND=noninteractive \
26+
apt install -y \
27+
git vim unzip zip \
28+
openssh-server \
29+
g++ gfortran make cmake googletest \
30+
libeigen3-dev \
31+
libfftw3-dev libfftw3-double3 libfftw3-single3 \
32+
libhdf5-openmpi-dev \
33+
libgdal-dev \
34+
libgsl-dev \
35+
libgtest-dev \
36+
libpq-dev \
37+
npm \
38+
nvidia-cuda-toolkit \
39+
python3 python3-dev \
40+
python3-distutils python3-gdal python3-h5py python3-numpy python3-pybind11 python3-pip \
41+
python3-pytest python3-ruamel.yaml python3-scipy python3-shapely python3-yaml
42+
43+
# no package for yamale
44+
RUN pip3 install yamale
45+
46+
# set up the interactive environment
47+
# go home
48+
WORKDIR /root
49+
# copy the keybindings setup
50+
COPY ${imghome}/inputrc .inputrc
51+
# copy and prep the shell startup file
52+
COPY ${imghome}/bashrc bashrc.in
53+
RUN sed \
54+
-e "s:@SRCDIR@:${srcdir}:g" \
55+
bashrc.in > .bashrc
56+
# copy and prep the prompt
57+
COPY ${imghome}/prompt.py prompt.py.in
58+
RUN sed \
59+
-e "s:@INSTANCE@:${img}:g" \
60+
prompt.py.in > prompt.py
61+
# the pyre configuration directory
62+
WORKDIR /root/.pyre
63+
# copy and prep the {mm} coniguration file
64+
COPY ${imghome}/mm.yaml mm.yaml.in
65+
RUN sed \
66+
-e "s:@PREFIX@:${prefix}:g" \
67+
mm.yaml.in > mm.yaml
68+
# configure mm
69+
WORKDIR /root/.mm
70+
# copy and prep the configuration file
71+
COPY ${imghome}/config.mm config.mm
72+
73+
# go to the source directory
74+
WORKDIR ${srcdir}
75+
76+
# end of file

.mm/docker/hirsute/dev/bashrc

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
#!/bin/bash
2+
#
3+
# michael a.g. aïvázis <[email protected]>
4+
# (c) 1998-2021 all rights reserved
5+
6+
# the system profile
7+
if [ -r /etc/profile ]; then
8+
source /etc/profile
9+
fi
10+
11+
# umask
12+
umask u+rwx,g+rwx,o+rx
13+
# the language/encoding
14+
export LANG=en_US.UTF-8
15+
16+
# prompt
17+
export PROMPT_COMMAND=prompter
18+
19+
prompter() {
20+
history -a
21+
export PS1="$(python3 ${HOME}/prompt.py)"
22+
}
23+
24+
# aliases
25+
alias d='ls -ahGF'
26+
alias dl='ls -ahGFl'
27+
# git
28+
alias git.hash='git log --format=format:"%h" -n 1'
29+
alias git.branch='git rev-parse --abbrev-ref HEAD'
30+
alias git.status='git status --porcelain --branch --ignored'
31+
alias git.tag='git describe --tags --long --always'
32+
33+
# the location of the sources
34+
export SRCDIR=@SRCDIR@
35+
# mm 4.x
36+
alias mm='python3 ${SRCDIR}/mm/mm.py'
37+
38+
# end of file

.mm/docker/hirsute/dev/config.mm

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# -*- Makefile -*-
2+
#
3+
# michael a.g. aïvázis <[email protected]>
4+
# (c) 1998-2021 all rights reserved
5+
6+
7+
# external dependencies
8+
# system tools
9+
sys.prefix := /usr
10+
sys.lib := ${sys.prefix}/lib
11+
sys.libx86 := ${sys.lib}/x86_64-linux-gnu
12+
13+
# cuda
14+
cuda.version := 11.2
15+
cuda.dir := $(sys.prefix)
16+
cuda.libpath := $(sys.libx86)
17+
18+
# eigen
19+
eigen.version := 3.3.9
20+
eigen.dir := $(sys.prefix)
21+
22+
# fftw
23+
fftw.version := 3.3.8
24+
fftw.dir := $(sys.prefix)
25+
26+
# gdal
27+
gdal.version := 3.2.2
28+
gdal.dir := $(sys.prefix)
29+
gdal.incpath := $(gdal.dir)/include/gdal
30+
31+
# gsl
32+
gsl.version := 2.5
33+
gsl.dir := $(sys.prefix)
34+
35+
# gtest
36+
gtest.version := 1.10
37+
gtest.dir := $(sys.prefix)
38+
39+
# hdf5
40+
hdf5.version := 1.10.6
41+
hdf5.dir := $(sys.prefix)
42+
hdf5.incpath := $(hdf5.dir)/include/hdf5/openmpi
43+
hdf5.libpath := $(sys.libx86)/hdf5/openmpi
44+
45+
# libpq
46+
libpq.version := 12.3
47+
libpq.dir := $(sys.prefix)
48+
libpq.libpath := $(sys.libx86)
49+
libpq.incpath := $(sys.prefix)/include/postgresql
50+
51+
# mpi
52+
mpi.version := 4.1.0
53+
mpi.flavor := openmpi
54+
mpi.dir := $(sys.prefix)/lib/x86_64-linux-gnu/openmpi
55+
mpi.executive := mpirun
56+
57+
# python
58+
python.version := 3.9
59+
python.dir := $(sys.prefix)
60+
61+
# numpy
62+
numpy.version := 1.17.4
63+
numpy.dir := $(sys.prefix)/lib/python3/dist-packages/numpy/core
64+
65+
# pybind11
66+
pybind11.version := 2.4.3
67+
pybind11.dir = $(sys.prefix)
68+
69+
70+
# local installs
71+
usr.prefix := /usr/local
72+
# pyre
73+
pyre.version := 1.9.10
74+
pyre.dir := $(usr.prefix)
75+
76+
77+
# install locations
78+
# this is necessary in order to override {mm} appending the build type to the install prefix
79+
builder.dest.prefix := $(project.prefix)/
80+
# install the pyton packages straight where they need to go
81+
builder.dest.pyc := $(sys.prefix)/lib/python3/dist-packages/
82+
83+
84+
# end of file

.mm/docker/hirsute/dev/inputrc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
#!/bin/bash
2+
#
3+
# michael a.g. aïvázis <[email protected]>
4+
# (c) 1998-2021 all rights reserved
5+
6+
set editing-mode vi
7+
8+
# end of file

.mm/docker/hirsute/dev/mm.yaml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# michael a.g. aïvázis <[email protected]>
2+
# (c) 1998-2021 all rights reserved
3+
4+
mm:
5+
# targets
6+
target: debug,shared
7+
8+
# compilers
9+
compilers:
10+
- gcc
11+
- nvcc
12+
- python/python3
13+
14+
# final products
15+
prefix: "@PREFIX@"
16+
# intermediate build products
17+
bldroot: /tmp/builds
18+
19+
# other settings
20+
# the make utility
21+
make: make
22+
23+
# end of file

0 commit comments

Comments
 (0)