-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
#345 better splitting of installation scripts and independant contain…
…er (i.e. --containall option)
- Loading branch information
Showing
5 changed files
with
225 additions
and
163 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
Bootstrap: docker | ||
From: ubuntu:22.04 | ||
|
||
%environment | ||
export HOME=/casa/home | ||
|
||
%post | ||
mkdir /casa | ||
apt update | ||
|
||
%runscript | ||
echo "Start casa container" | ||
export PATH=/casa/conda/bin:$PATH | ||
export LD_LIBRARY_PATH=/casa/conda/lib:$LD_LIBRARY_PATH | ||
|
||
exec "$@" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
#! /bin/bash | ||
|
||
# | ||
# Setup dev dependencies with conda | ||
# | ||
|
||
set -x | ||
set -e | ||
|
||
conda=/casa/conda/bin/conda | ||
|
||
if [ -e /casa/conda/bin/nano ]; then | ||
# if nano is installed, we assume that this script has already been | ||
# executed. | ||
echo "setup_dev_conda already executed => execution canceled" | ||
exit 0 | ||
fi | ||
|
||
# Source version control | ||
version_control_packages=( | ||
git | ||
git-lfs | ||
#! git-man | ||
#! subversion still necessary ? | ||
) | ||
|
||
# Configure/build toolchain | ||
toolchain_packages=( | ||
automake | ||
clang | ||
cmake | ||
#! cmake-curses-gui | ||
gxx | ||
gcc | ||
gfortran | ||
#! libc-dev | ||
make | ||
pkg-config | ||
#! pyqt5-dev | ||
#! pyqt5-dev-tools | ||
#! python3-sip-dev | ||
#! qtchooser | ||
) | ||
|
||
# Development tools and convenience utilities | ||
development_tools=( | ||
ack-grep | ||
bash-completion | ||
emacs-nox | ||
flake8 | ||
gdb | ||
gdbserver | ||
valgrind | ||
gedit | ||
git-man | ||
gitg | ||
gitk | ||
kate | ||
kdiff3 | ||
kompare | ||
kwrite | ||
locate | ||
meld | ||
nano | ||
python2 # only for flake8 tests of casa-distro | ||
python3-autopep8 | ||
python3-objgraph | ||
python3-venv | ||
spyder | ||
strace | ||
tox | ||
vim | ||
xterm | ||
xdot | ||
) | ||
|
||
# Documentation building | ||
documentation_building_packages=( | ||
doxygen | ||
ghostscript | ||
graphviz | ||
nbconvert #? was jupyter-nbconvert | ||
pandoc | ||
sphinx | ||
sphinx-gallery | ||
#! texlive-latex-base | ||
#! texlive-latex-extra # needed by doxygen to render LaTeX formulas | ||
#! texlive-fonts-recommended | ||
wkhtmltopdf | ||
) | ||
|
||
brainvisa_standard_dev_dependencies=( | ||
#! libasound2-dev | ||
libblitz #? was libblitz0-dev | ||
boost-cpp #? was libboost-dev | ||
#! libboost-filesystem-dev | ||
#! libboost-system-dev | ||
dcmtk #? was libdcmtk-dev | ||
libexpat #? was libexpat1-dev | ||
#! libgl1-mesa-dev | ||
libglib #? was libglib2.0-dev | ||
libglu #? was libglu1-mesa-dev | ||
libjpeg-turbo #? was libjpeg-dev | ||
#! libminc-dev | ||
netcdf4 #? was libnetcdf-dev | ||
#! libomp-dev # OpenMP with the clang compiler | ||
#! libopenjp2-7-dev | ||
libpng #? was libpng-dev | ||
#! libqt5x11extras5-dev | ||
#! libqwt-qt5-dev | ||
libsigcpp #? was libsigc++-2.0-dev | ||
#! libspnav-dev | ||
libsvm #? was libsvm-dev | ||
libtiff #? was libtiff-dev | ||
#! libvtk9-dev | ||
#! libvtk9-qt-dev | ||
libxml2 #? was libxml2-dev | ||
#! qttools5-dev | ||
#! qtmultimedia5-dev | ||
#! qttools5-dev-tools | ||
#! zlib1g-dev | ||
) | ||
|
||
$conda install -y ${version_control_packages[@]} ${toolchain_packages[@]} ${documentation_building_packages[@]} ${brainvisa_standard_dev_dependencies[@]} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,51 @@ | ||
#! /bin/bash | ||
|
||
# | ||
# Setup run dependencies requiring software compilation | ||
# | ||
|
||
set -x | ||
set -e | ||
|
||
if [ -e /casa/conda/lib/pkgconfig/libopenjp2.pc ]; then | ||
# if libopenjp2.pc is installed, we assume that this script has already been | ||
# executed. | ||
echo "setup_run_compiled already executed => execution canceled" | ||
exit 0 | ||
fi | ||
|
||
# MIRCen's fork of openslide with support for CZI format | ||
# | ||
tmp=$(mktemp -d) | ||
|
||
cd "$tmp" | ||
wget https://github.com/uclouvain/openjpeg/archive/refs/tags/v2.5.0.tar.gz | ||
tar xf v2.5.0.tar.gz | ||
cd openjpeg-2.5.0 | ||
mkdir build | ||
cd build | ||
cmake .. -DCMAKE_BUILD_TYPE=Release "-DCMAKE_INSTALL_PREFIX=/casa/conda" | ||
make | ||
make install | ||
cp libopenjp2.pc /casa/conda/lib/pkgconfig/ | ||
|
||
cd "$tmp" | ||
git clone --depth=1 https://github.com/MIRCen/openslide.git | ||
cd openslide | ||
autoreconf --install | ||
./configure --prefix="/casa/conda" | ||
make -j$(nproc) | ||
make install | ||
|
||
# reinstall libminc 4.0.0 because newer versions can't properly read freesurfer | ||
# .mgz files | ||
cd "$tmp" | ||
git clone https://github.com/BIC-MNI/libminc.git --single-branch --branch libminc-2-3-00 | ||
cd libminc | ||
cmake . -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DLIBMINC_BUILD_SHARED_LIBS=ON -DLIBMINC_MINC1_SUPPORT=ON "-DCMAKE_INSTALL_PREFIX=/casa/conda" | ||
make -j$(nproc) | ||
make install | ||
cd .. | ||
rm -rf libminc | ||
|
||
rm -Rf "$tmp" |
Oops, something went wrong.