mirror of
https://github.com/Pmodules/Pmodules.git
synced 2026-06-28 18:29:39 +02:00
80 lines
2.1 KiB
Bash
Executable File
80 lines
2.1 KiB
Bash
Executable File
#!/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:
|