#!/bin/bash # # https://core.tcl-lang.org # set -x P=modules V=${MODULES_VERSION:-3.2.10.1} FNAME="$P-$V.tar.gz" DOWNLOAD_URL="https://amas.web.psi.ch/Downloads/$P/$P-$V.tar.bz2" PREFIX="${PMODULES_HOME}" SRC_FILE="${PMODULES_DISTFILESDIR}/${FNAME}" SRC_DIR="${PMODULES_TMPDIR}/$P-$V/src" BUILD_DIR="${PMODULES_TMPDIR}/$P-$V/build" PATH="${PREFIX}/bin:${PATH}" trap "pb_exit" EXIT # download test -r "${SRC_FILE}" || curl -L --output "$_" "${DOWNLOAD_URL}" || exit ${PB_ERR_DOWNLOAD} # unpack mkdir -p "${SRC_DIR}" && cd "$_" || exit ${PB_ERR_SYSTEM} tar --directory "${SRC_DIR}" --strip-components 1 -xv -f "${SRC_FILE}" || exit ${PB_ERR_UNTAR} # configure mkdir -p "${BUILD_DIR}" && cd "$_" || exit ${PB_ERR_SYSTEM} case $(uname -s) in Linux ) declare -x LIBS="-lz -lpthread" ;; Darwin ) declare -x LIBS="-lz -framework CoreFoundation" ;; * ) echo "Oops: unsupported OS!" 1>&2 exit ${PB_ERR_SYSTEM} ;; esac CPPFLAGS="-DUSE_INTERP_ERRORLINE" \ "${SRC_DIR}"/configure \ --prefix="${PREFIX}" \ --exec-prefix="${PREFIX}" \ --with-module-path="${PREFIX%%/Tools*}/Tools/${PMODULES_MODULEFILES_DIR}" \ --with-tcl="${PREFIX}/lib" \ --without-x \ --disable-versioning \ || exit ${PB_ERR_CONFIGURE} # compile & install make -j ${NJOBS} || exit ${PB_ERR_MAKE} make install || exit ${PB_ERR_INSTALL} # post-install mkdir -p "${PREFIX}/share/man/man1" mkdir -p "${PREFIX}/share/man/man4" rm -v "${PREFIX}/Modules/bin/add.modules" rm -v "${PREFIX}/Modules/bin/mkroot" rm -rfv "${PREFIX}/Modules/modulefiles" mv -v "${PREFIX}/Modules/share/man/man1/module.1" "${PREFIX}/share/man/man1" mv -v "${PREFIX}/Modules/share/man/man4/modulefile.4" "${PREFIX}/share/man/man4" rmdir "${PREFIX}/Modules/bin" rmdir "${PREFIX}/Modules/share/man/man1" rmdir "${PREFIX}/Modules/share/man/man4" rmdir "${PREFIX}/Modules/share/man" rmdir "${PREFIX}/Modules/share" rmdir "${PREFIX}/Modules" rm -f "${PREIX}/init/{ksh,perl.pm,python.py,ruby.rb,cmake,.modulespath}" cp -v "${BUILD_DIR}/modulecmd" "${PREFIX}/libexec/modulecmd.bin" || exit 1 # Local Variables: # mode: sh # sh-basic-offset: 8 # tab-width: 8 # End: