diff --git a/EM/IMOD/build b/EM/IMOD/build index a8940a8..f4fdc4d 100755 --- a/EM/IMOD/build +++ b/EM/IMOD/build @@ -1,4 +1,5 @@ #!/usr/bin/env modbuild +set -e pbuild::add_to_group 'EM' @@ -7,6 +8,11 @@ pbuild::prep() { : ${CUDA_VERSION:?No CUDA_VERSION set} local cuda="${CUDA_VERSION%.*}" local filename="imod_${V_PKG}_RHEL7-64_CUDA${cuda}.sh" + if [[ $V_RELEASE == *beta* ]]; then + local url="https://bio3d.colorado.edu/ftp/latestIMOD/RHEL7-64_CUDA${cuda}/$filename" + else + local url="https://bio3d.colorado.edu/imod/AMD64-RHEL5/$filename" + fi local dst="$PMODULES_DISTFILESDIR/${filename}" if [ -f "$dst" ]; then echo "Found cached $dst" >&2 @@ -15,7 +21,7 @@ pbuild::prep() { --location \ --fail \ --output "$dst" \ - "https://bio3d.colorado.edu/imod/AMD64-RHEL5/$filename" + "$url" fi } diff --git a/EM/IMOD/files/variants b/EM/IMOD/files/variants index 196b2cd..2c4368a 100644 --- a/EM/IMOD/files/variants +++ b/EM/IMOD/files/variants @@ -1,2 +1,4 @@ IMOD/4.9.5 stable -IMOD/4.11.20 unstable cuda/10.1.105 +IMOD/4.11.20 stable cuda/10.1.105 +IMOD/4.11.24 unstable cuda/10.1.105 +IMOD/4.12.50-beta unstable cuda/10.1.105 diff --git a/EM/PEET/files/variants b/EM/PEET/files/variants index 6426d83..05b2b61 100644 --- a/EM/PEET/files/variants +++ b/EM/PEET/files/variants @@ -1,2 +1,2 @@ PEET/1.15.1a stable gcc/9.5.0 matlab/2020b -PEET/1.16.0 unstable gcc/9.5.0 matlab/2021b +PEET/1.16.0 stable gcc/9.5.0 matlab/2021b diff --git a/EM/dynamo/1.1.538/config b/EM/dynamo/1.1.538/config new file mode 100644 index 0000000..ba8d2f5 --- /dev/null +++ b/EM/dynamo/1.1.538/config @@ -0,0 +1,3 @@ +# Google drive file hash, from https://wiki.dynamo.biozentrum.unibas.ch/w/index.php/Downloads +DYNAMO_ID=11_HqORqfwX21odS4zTuQKLbzHDSYgeog + diff --git a/EM/dynamo/README.md b/EM/dynamo/README.md index cef3056..a8fb8c3 100644 --- a/EM/dynamo/README.md +++ b/EM/dynamo/README.md @@ -10,9 +10,21 @@ Installation should be done on merlin with an -adm account 2. Add google drive download link to `$V/config`. 3. Run `build ` 4. module load dynamo/$V -5. Compile stand-alone: `dynamo_setup_linux.sh` -6. Compile MPI: `source dynamo_setup_cluster.sh mpic++ dynamo_activate_linux_shipped_MCR.sh` -7. Compile Cuda: +5. `cd $DYNAMO_HOME/bin`. Further steps are taken from `README_dynamo_installation.txt` +6. [Compile stand-alone](https://www.dynamo-em.org/w/index.php?title=Installation) + + dynamo_setup_linux.sh + +7. [Compile MPI](https://www.dynamo-em.org/w/index.php?title=MPI_Cluster): + - With the shipped MCRLinux directory: + + source dynamo_setup_cluster.sh mpic++ dynamo_activate_linux_shipped_MCR.sh + + - With MCR from pmodules: + + source dynamo_setup_cluster.sh mpic++ dynamo_activate_MCR.sh + +8. Compile Cuda: cd $DYNAMO_ROOT/cuda make clean diff --git a/EM/dynamo/build b/EM/dynamo/build index f4e547a..cf1303c 100755 --- a/EM/dynamo/build +++ b/EM/dynamo/build @@ -51,6 +51,8 @@ pbuild::prep() { download_dynamo "$DYNAMO_ID" "$TAR_FILE" mkdir -p "$PREFIX" unpack "$TAR_FILE" "$PREFIX/bin" + + cp -n "$BUILDBLOCK_DIR/dynamo_activate_MCR.sh" "$PREFIX/bin/" } pbuild::configure() { diff --git a/EM/dynamo/dynamo_activate_MCR.sh b/EM/dynamo/dynamo_activate_MCR.sh new file mode 100644 index 0000000..2a45d91 --- /dev/null +++ b/EM/dynamo/dynamo_activate_MCR.sh @@ -0,0 +1,18 @@ +# Activates MCR from pmodules + +DYNAMO_FOLDER=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd ) +MCR_ROOT=${MATLAB_DIR:?No matlab module loaded} + + +# Checks availability of the MCR folder +if ! [ -d $MCR_ROOT ]; then + echo "ATTENTION: the Matlab module is not loaded." + return +fi + +echo "MCR for linux has been found in location:" $MCR_ROOT +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MCR_ROOT/runtime/glnxa64:$MCR_ROOT/bin/glnxa64:$MCR_ROOT/sys/os/glnxa64:$MCR_ROOT/sys/opengl/lib/glnxa64 + +echo Activating Dynamo as standalone + +source $DYNAMO_FOLDER/dynamo_activate_linux.sh diff --git a/EM/dynamo/files/variants b/EM/dynamo/files/variants index d7b2939..21537f4 100644 --- a/EM/dynamo/files/variants +++ b/EM/dynamo/files/variants @@ -1 +1,2 @@ dynamo/1.1.514 unstable b:psi-python36/5.0.1 gcc/9.3.0 openmpi/4.0.4_slurm cuda/11.1.0 matlab/2019a +dynamo/1.1.538 unstable b:psi-python36/5.0.1 gcc/11.2.0 cuda/11.5.1 openmpi/4.1.4_slurm matlab/2023a diff --git a/Libraries/ucx/files/variants.merlin6 b/Libraries/ucx/files/variants.merlin6 index 467f758..c3574d0 100644 --- a/Libraries/ucx/files/variants.merlin6 +++ b/Libraries/ucx/files/variants.merlin6 @@ -12,11 +12,11 @@ ucx/1.11.2-3_slurm stable cuda/11.1.0 b:doxygen/1.9.2 b:knem/1.1.4 b ucx/1.12.1_slurm stable cuda/11.5.1 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.2.0 ucx/1.13.1_slurm stable b:cuda/11.5.1 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.2.0 -ucx/1.13.1-3_slurm unstable b:cuda/11.1.0 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.2.0 +ucx/1.13.1-3_slurm stable b:cuda/11.1.0 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.2.0 -ucx/1.14.0-5_slurm unstable b:cuda/11.5.1 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.2.0 -ucx/1.14.0_slurm removed b:cuda/12.1.1 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.3.0 -ucx/1.14.1_slurm unstable b:cuda/12.1.1 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.3.0 +ucx/1.14.0-5_slurm stable b:cuda/11.5.1 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.2.0 +ucx/1.14.1_slurm stable b:cuda/12.1.1 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.3.0 +ucx/1.15.0_slurm unstable b:cuda/12.1.1 b:doxygen/1.9.2 b:knem/1.1.4 b:GDRCopy/2.3.0 ucx/1.9.0_dgx deprecated cuda/11.1.0 b:doxygen/1.8.14 b:knem/1.1.4 ucx/1.10.0-1_dgx deprecated cuda/11.2.2 b:doxygen/1.8.14 b:knem/1.1.4 b:GDRCopy/2.2.0 diff --git a/Programming/Julia/build b/Programming/Julia/build new file mode 100755 index 0000000..7e6e71a --- /dev/null +++ b/Programming/Julia/build @@ -0,0 +1,17 @@ +#!/usr/bin/env modbuild + +pbuild::set_download_url "https://julialang-s3.julialang.org/bin/linux/x64/${V_MAJOR}.${V_MINOR}/julia-${V_PKG}-linux-x86_64.tar.gz" + +pbuild::add_to_group 'Programming' +pbuild::install_docfiles 'LICENSE.md' + +pbuild::compile_in_sourcetree + +pbuild::compile() { + : +} + +pbuild::install() { + rsync -av . "${PREFIX}" +} + diff --git a/Programming/Julia/files/variants.rhel7 b/Programming/Julia/files/variants.rhel7 new file mode 100644 index 0000000..e8cadb7 --- /dev/null +++ b/Programming/Julia/files/variants.rhel7 @@ -0,0 +1 @@ +Julia/1.9.2 stable diff --git a/Programming/Julia/modulefile b/Programming/Julia/modulefile new file mode 100644 index 0000000..7bf03e7 --- /dev/null +++ b/Programming/Julia/modulefile @@ -0,0 +1,12 @@ +#%Module1.0 + +module-whatis "Julia" +module-url "https://julialang.org/" +module-license "https://github.com/JuliaLang/julia/blob/master/LICENSE.md" +module-maintainer "Marc Caubet Serrabou " +module-help " +Julia is a high-level, high-performance dynamic language for technical +computing. +" + +module-addgroup Programming diff --git a/Programming/anaconda/2019.07/conda-env-defs/hpce-tools/hpce-tools.yml b/Programming/anaconda/2019.07/conda-env-defs/hpce-tools/hpce-tools.yml index ebab9ed..c7b4f79 100644 --- a/Programming/anaconda/2019.07/conda-env-defs/hpce-tools/hpce-tools.yml +++ b/Programming/anaconda/2019.07/conda-env-defs/hpce-tools/hpce-tools.yml @@ -18,3 +18,6 @@ dependencies: - tox-conda - pytest - bpython + - jinja2 # for relion templates + - pip: + - j2cli[yaml] diff --git a/Programming/clang/build b/Programming/clang/build index b04bd38..423583b 100755 --- a/Programming/clang/build +++ b/Programming/clang/build @@ -1,24 +1,29 @@ #!/usr/bin/env modbuild -pbuild::set_download_url \ - "https://github.com/llvm/llvm-project/releases/download/llvmorg-${V_PKG}/llvm-project-${V_PKG}.src.tar.xz" - pbuild::add_to_group 'Programming' + +pbuild::set_download_url \ + "https://github.com/llvm/llvm-project/releases/download/llvmorg-${V_PKG}/llvm-project-${V_PKG}.src.tar.xz" + #pbuild::install_docfiles 'AUTHORS' 'LICENSE' 'NEWS' 'README' - pbuild::configure() { - cmake \ - -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ - -DCMAKE_BUILD_TYPE=Release \ - -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libunwind;lldb;lld;openmp" \ - -DGCC_INSTALL_PREFIX="${GCC_DIR}" \ - -G "Unix Makefiles" \ - "${SRC_DIR}/llvm" \ - || exit 1 + # To expose the correct GCC libstd++ to build system, we need to both set + # the correct CC/CXX *and* force the build linker to use the pmodule GCC + # library. + GCC_CXXLIBDIR="${GCC_DIR}/lib64" + CC="${GCC_DIR}/bin/gcc" + CXX="${GCC_DIR}/bin/g++" + cmake \ + -DCMAKE_INSTALL_PREFIX="${PREFIX}" \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_CXX_LINK_FLAGS="-Wl,-R,${GCC_CXXLIBDIR} -L${GCC_CXXLIBDIR}" \ + -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;lldb;lld;openmp" \ + -DLLVM_ENABLE_RUNTIMES="libunwind" \ + "${CONFIGURE_ARGS[@]}" \ + -G "Unix Makefiles" \ + "${SRC_DIR}/llvm" \ + || exit 1 } -pbuild::post_install() { - # :FIXME: copy libstdc++ and libgcc from used gcc to $PREFIX/lib64 - : -} +# vim: ts=4 sw=4 et diff --git a/Programming/clang/files/variants.rhel7 b/Programming/clang/files/variants.rhel7 index 75c9098..70a87aa 100644 --- a/Programming/clang/files/variants.rhel7 +++ b/Programming/clang/files/variants.rhel7 @@ -1 +1,2 @@ clang/12.0.0_rhel7 stable b:cmake/3.15.5 b:gcc/9.3.0 b:Python/3.8.4 b:xz/5.2.4 b:binutils/2.29 +clang/15.0.6_rhel7 unstable b:cmake/3.23.2 b:gcc/12.1.0 b:Python/3.9.10 b:xz/5.2.4 b:binutils/2.37 diff --git a/Tools/ANSYS/files/variants.overlay_merlin b/Tools/ANSYS/files/variants.overlay_merlin index 7590380..c7ad54d 100644 --- a/Tools/ANSYS/files/variants.overlay_merlin +++ b/Tools/ANSYS/files/variants.overlay_merlin @@ -4,3 +4,4 @@ ANSYS/2021R1 stable ANSYS/2021R2 stable ANSYS/2022R1 stable ANSYS/2022R2 unstable +ANSYS/2023R2 unstable diff --git a/Tools/ANSYS/modulefile b/Tools/ANSYS/modulefile index 1f33b35..8705cca 100644 --- a/Tools/ANSYS/modulefile +++ b/Tools/ANSYS/modulefile @@ -32,6 +32,8 @@ prepend-path PATH $PREFIX/$version/polyflow/bin prepend-path PATH $PREFIX/$version/RSM/bin prepend-path PATH $PREFIX/$version/SystemCoupling/bin prepend-path PATH $PREFIX/$version/TurboGrid/bin +# 20.09.2023 add lumerical bin +prepend-path PATH $PREFIX/$version/lumerical/$version/bin # 07.04.2020 prepend-path PATH $PREFIX/$version/Electronics/Linux64 prepend-path PATH $PREFIX/$version/Framework/bin/Linux64 @@ -50,5 +52,8 @@ prepend-path LD_LIBRARY_PATH $PREFIX/$version/CFX/tools/qwt-6.1.2/linx64/lib prepend-path LD_LIBRARY_PATH $PREFIX/$version/CFX/tools/qwtpolar-1.1.1/linx64/lib prepend-path LD_LIBRARY_PATH $PREFIX/$version/CFX/tools/xerces-3.2.2/linx64/lib +# Lumerical +prepend-path LD_LIBRARY_PATH $PREFIX/$version/lumerical/$version/lib/ + # RSM prepend-path PATH $PREFIX/$version/RSM/Config/tools/linux diff --git a/Tools/redis/build b/Tools/redis/build new file mode 100755 index 0000000..b17075b --- /dev/null +++ b/Tools/redis/build @@ -0,0 +1,31 @@ +#!/usr/bin/env modbuild + +pbuild::add_to_group 'Tools' + +pbuild::set_download_url \ + "https://github.com/redis/redis/archive/${V_PKG}.tar.gz" + +pbuild::compile_in_sourcetree +pbuild::install_docfiles \ + 00-RELEASENOTES \ + BUGS \ + CODE_OF_CONDUCT.md \ + CONTRIBUTING.md \ + COPYING \ + INSTALL \ + MANIFESTO \ + README.md \ + SECURITY.md \ + TLS.md + +pbuild::configure() { :; } + +pbuild::install() { + make PREFIX="${PREFIX}" install +} + +# Local Variables: +# mode: sh +# sh-basic-offset: 8 +# tab-width: 8 +# End: diff --git a/Tools/redis/files/variants b/Tools/redis/files/variants new file mode 100644 index 0000000..531d702 --- /dev/null +++ b/Tools/redis/files/variants @@ -0,0 +1,2 @@ +redis/7.0.12 stable + diff --git a/Tools/redis/modulefile b/Tools/redis/modulefile new file mode 100644 index 0000000..1b54bd6 --- /dev/null +++ b/Tools/redis/modulefile @@ -0,0 +1,16 @@ +#%Pmodule + +module-whatis "open source, in-memory data store" +module-url "https://redis.io" +module-license "GNUPLOT_DIR/share/doc/redis/COPYING" +module-maintainer "Achim Gsell " + +module-help " +Redis is an open source (BSD licensed), in-memory data structure store used +as a database, cache, message broker, and streaming engine. Redis provides +data structures such as strings, hashes, lists, sets, sorted sets with range +queries, bitmaps, hyperloglogs, geospatial indexes, and streams. Redis has +built-in replication, Lua scripting, LRU eviction, transactions, and different +levels of on-disk persistence, and provides high availability via Redis +Sentinel and automatic partitioning with Redis Cluster. +"