Commit d0dc6ebe authored by gsell's avatar gsell
Browse files

Merge branch 'master' of git.psi.ch:Pmodules/buildblocks

parents 42079117 0ea0d6ce
#!/usr/bin/env modbuild #!/usr/bin/env modbuild
# :TODO: detect compiler
TOOLSET=intel-linux
BOOST_BUILD_PATH="${MODULE_BUILDDIR}" BOOST_BUILD_PATH="${MODULE_BUILDDIR}"
pbuild::configure() { pbuild::configure() {
...@@ -11,7 +8,6 @@ pbuild::configure() { ...@@ -11,7 +8,6 @@ pbuild::configure() {
--prefix="${PREFIX}" \ --prefix="${PREFIX}" \
--with-libraries=all \ --with-libraries=all \
--with-python-root="${PYTHON_PREFIX}" \ --with-python-root="${PYTHON_PREFIX}" \
-with-toolset=${TOOLSET} \
|| exit 1 || exit 1
} }
...@@ -23,7 +19,7 @@ pbuild::build() { ...@@ -23,7 +19,7 @@ pbuild::build() {
--layout=system \ --layout=system \
--without-mpi \ --without-mpi \
variant=release \ variant=release \
link=static \ link=shared \
threading=multi \ threading=multi \
stage stage
} }
...@@ -36,7 +32,7 @@ pbuild::install() { ...@@ -36,7 +32,7 @@ pbuild::install() {
--layout=system \ --layout=system \
--without-mpi \ --without-mpi \
variant=release \ variant=release \
link=static \ link=shared \
threading=multi \ threading=multi \
install install
} }
......
#!/usr/bin/env modbuild
pbuild::pre_configure() {
./autogen.sh
}
pbuild::configure() {
"${MODULE_SRCDIR}"/configure \
--prefix="${PREFIX}"
}
declare JOBS=1
pbuild::compile_in_sourcetree
pbuild::add_to_group 'Compiler'
pbuild::set_runtime_dependencies "${COMPILER}" 'hdf5_serial' 'root'
pbuild::set_build_dependencies 'autoconf' 'automake' 'libtool' "${COMPILER}" 'hdf5_serial' 'H5hut_serial' 'gsl' 'root' 'boost'
pbuild::make_all
#%Module1.0
set whatis "visualization tool for H5hut files"
set url "http://amas.psi.ch/"
set license "PSI"
set maintainer "Achim Gsell <achim.gsell@psi.ch>"
set help "
"
source $env(PSI_LIBMODULES)
gcc/4.8.3
hdf5_serial/1.8.12
H5hut_serial/1.99.13
gsl/1.15
root/5.34.34
boost/1.60.0
...@@ -5,6 +5,22 @@ module use Libraries ...@@ -5,6 +5,22 @@ module use Libraries
INSTANTCLIENT_INCLUDE_DIR='/usr/include/oracle/12.1/client64' INSTANTCLIENT_INCLUDE_DIR='/usr/include/oracle/12.1/client64'
INSTANTCLIENT_LIBRARY_DIR='/usr/lib/oracle/12.1/client64/lib' INSTANTCLIENT_LIBRARY_DIR='/usr/lib/oracle/12.1/client64/lib'
declare -a EXTRA_LIBS=()
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libclntshcore.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libclntshcore.so.12.1" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libclntsh.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libclntsh.so.12.1" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libipc1.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libmql1.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libnnz12.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libocci.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libocci.so.12.1" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libociei.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libocijdbc12.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/libons.so" )
EXTRA_LIBS+=( "${INSTANTCLIENT_LIBRARY_DIR}/liboramysql12.so" )
case ${OS} in case ${OS} in
Darwin ) Darwin )
# cocoa doesn't work with GCC!? # cocoa doesn't work with GCC!?
...@@ -22,12 +38,12 @@ esac ...@@ -22,12 +38,12 @@ esac
# #
pbuild::configure() { pbuild::configure() {
"${MODULE_SRCDIR}"/configure \ "${MODULE_SRCDIR}"/configure \
--disable-asimage \ --enable-asimage \
--enable-mathmore \
--disable-ldap \ --disable-ldap \
--disable-mysql \ --disable-mysql \
--disable-opengl \ --disable-opengl \
--disable-python \ --disable-python \
--enable-mathmore \
--with-cc=${CC} \ --with-cc=${CC} \
--with-cxx=${CXX} \ --with-cxx=${CXX} \
--with-f77=${F77} \ --with-f77=${F77} \
...@@ -45,6 +61,17 @@ pbuild::build() { ...@@ -45,6 +61,17 @@ pbuild::build() {
pbuild::install() { pbuild::install() {
make clean make clean
mkdir -p "${PREFIX}"
cp -rv * "${PREFIX}"
mkdir -p "${DOCDIR}"
rsync --archive --verbose "${PREFIX}/LICENSE" "${DOCDIR}/LICENSE"
rsync --archive --verbose "${PREFIX}/man/" "${PREFIX}/share/man/"
rsync --archive --verbose "${PREFIX}/README/" "${DOCDIR}/README/"
rm -rf "${PREFIX}/LICENSE"
rm -rf "${PREFIX}/man/"
rm -rf "${PREFIX}/README"
rm -f Makefile rm -f Makefile
rm -rf config.* rm -rf config.*
rm -rf core rm -rf core
...@@ -66,20 +93,12 @@ pbuild::install() { ...@@ -66,20 +93,12 @@ pbuild::install() {
rm -rf tmva rm -rf tmva
rm -rf tutorials rm -rf tutorials
rm -rf rootx rm -rf rootx
mkdir -p share
mv man share
mkdir -p "${PREFIX}"
cp -rv * "${PREFIX}"
mkdir -p "${DOCDIR}"
mv -f "${PREFIX}/LICENSE" "${DOCDIR}"
rm -f "${DOCDIR}/README"
mv -f "${PREFIX}/README" "${DOCDIR}"
} }
pbuild::postinstall() { pbuild::post_install() {
cp -av "${INSTANTCLIENT_LIBRARY_DIR}/"libocci.so* "${PREFIX}"/lib for lib in "${EXTRA_LIBS[@]}"; do
cp -av "${lib}" "${PREFIX}"/lib
done
} }
module use unstable module use unstable
......
#%Module1.0 #%Module1.0
set whatis "CERN root" module-whatis "CERN root"
set url "http://root.cern.ch/" module-url "http://root.cern.ch/"
set license "GNU LGPL v2" module-license "GNU LGPL v2"
set maintainer "Achim Gsell <achim.gsell@psi.ch>" module-maintainer "Achim Gsell <achim.gsell@psi.ch>"
set help " module-help "
ROOT is an object-oriented framework aimed at solving the data analysis ROOT is an object-oriented framework aimed at solving the data analysis
challenges of high-energy physics. There are two key words in this challenges of high-energy physics.
definition, object oriented and framework. First, we explain what we
mean by a framework and then why it is an object-oriented framework.
" "
source $env(PSI_LIBMODULES)
setenv ROOTSYS $PREFIX setenv ROOTSYS $PREFIX
gsl/1.15
Python/3.4.3
...@@ -3,6 +3,9 @@ ...@@ -3,6 +3,9 @@
pbuild::configure() { pbuild::configure() {
"${MODULE_SRCDIR}"/configure \ "${MODULE_SRCDIR}"/configure \
--prefix="${PREFIX}" \ --prefix="${PREFIX}" \
--with-pic=yes \
--disable-shared \
--disable-jpeg \
|| exit 1 || exit 1
} }
......
#%Module1.0 #%Module1.0
set whatis "set of C functions that support the manipulation of TIFF image files." module-whatis "set of C functions that support the manipulation of TIFF image files."
set url "http://www.libtiff.org/" module-url "http://www.remotesensing.org/libtiff/"
set license "BSD-like, see: http://libtiff.org/misc.html" module-license "BSD-like, see: http://libtiff.org/misc.html"
set maintainer "Achim Gsell <achim.gsell@psi.ch>" module-maintainer "Achim Gsell <achim.gsell@psi.ch>"
set help " module-help "
This software provides support for the Tag Image File Format (TIFF), a This software provides support for the Tag Image File Format (TIFF), a
widely used format for storing image data. The latest version of the TIFF widely used format for storing image data. The latest version of the TIFF
specification is available on-line in several different formats, as are a specification is available on-line in several different formats, as are a
number of Technical Notes (TTN's). number of Technical Notes (TTN's).
" "
source $env(PSI_LIBMODULES)
#INFO#
#INFO# Configuration to build a 64-bit parallel CPMD executable for
#INFO# Fedora Linux (version 6 and up). Required packages:
#INFO# gcc-mpif90, atlas-devel, fftw2-devel, openmpi-devel
#INFO#
#INFO#
IRAT=2
FC='mpif90'
CC='mpicc'
LD='mpif90'
CPP=''
CPPFLAGS='-D__Linux -D__GNU -D__PARALLEL -D__HAS_FFT_DEFAULT -D__x86_64'
FFLAGS_GROMOS='-ffixed-form $(FFLAGS)'
FFLAGS_GROMOS_MODULES=' $(FFLAGS)'
if [ $debug ]; then
FFLAGS='-g -O0'
CFLAGS='-g -O0'
else
FFLAGS='-O2'
CFLAGS='-O2 -Wall'
fi
if [ $omp ]; then
FFLAGS=${FFLAGS}' -fopenmp'
OMP3_DISABLED=`{ ${FC} -v; } 2>&1 | ${GREP} version | ${AWK} '{ print ( $3 < "4.7.0" ) ? "true" : "false" }'`
LIBS='-L/usr/lib64/atlas/ -llapack -lblas'
else
LIBS='-L/usr/lib64/atlas/ -llapack -lblas'
fi
LFLAGS=' '${LIBS}
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
case $OS in case $OS in
Linux ) Linux )
target='LINUX-X86_64-FEDORA-MPI-FFTW' target='LINUX-X86_64-PMODULE'
;; ;;
Darwin ) Darwin )
target='MACOSX-GFORTRAN-INTEL-MPI' target='MACOSX-GFORTRAN-INTEL-MPI'
...@@ -12,6 +12,7 @@ case $OS in ...@@ -12,6 +12,7 @@ case $OS in
esac esac
pbuild::configure() { pbuild::configure() {
cp -v "${BUILD_BLOCK_DIR}/${target}" "${MODULE_BUILDDIR}/configure"
./configure.sh "${target}" || exit 1 ./configure.sh "${target}" || exit 1
} }
......
...@@ -15,6 +15,7 @@ pbuild::configure() { ...@@ -15,6 +15,7 @@ pbuild::configure() {
--enable-cxx \ --enable-cxx \
--enable-fortran \ --enable-fortran \
--enable-unsupported \ --enable-unsupported \
--enable-threadsafe \
--with-pic \ --with-pic \
|| exit 1 || exit 1
} }
......
#!/usr/bin/env modbuild
pbuild::configure() {
:
}
pbuild::build() {
:
}
pbuild::install() {
cd "${MODULE_SRCDIR}"
./install --prefix="${PREFIX%/*}"
}
pbuild::add_to_group 'MX'
pbuild::set_build_dependencies ''
pbuild::make_all
#%Module1.0
module-whatis "Python-based Hierarchical ENvironment for Integrated Xtallography"
module-url "http://www.phenix-online.org/"
module-license "NON-COMMERCIAL END USER SOURCE CODE LICENSE"
module-maintainer "Dmitry Ozerov <dmitry.ozerov@psi.ch>"
module-help "
PHENIX is a software suite for the automated determination of molecular structures using X-ray crystallography and other methods.
Citing PHENIX:
PHENIX: a comprehensive Python-based system for macromolecular structure solution. P. D. Adams, P. V. Afonine, G. Bunkóczi, V. B. Chen, I. W. Davis, N. Echols, J. J. Headd, L.-W. Hung, G. J. Kapral, R. W. Grosse-Kunstleve, A. J. McCoy, N. W. Moriarty, R. Oeffner, R. J. Read, D. C. Richardson, J. S. Richardson, T. C. Terwilliger and P. H. Zwart. Acta Cryst. D66, 213-221 (2010).
"
...@@ -2,12 +2,11 @@ ...@@ -2,12 +2,11 @@
module use 'Libraries' module use 'Libraries'
build_dependencies="${COMPILER} libungif tiff" build_dependencies="libungif tiff"
case ${OS} in case ${OS} in
Darwin ) Darwin )
configure_args='--with-ns' configure_args='--with-ns --with-jpeg=no'
build_dependencies="libungif tiff"
CC='' CC=''
CXX='' CXX=''
COMPILER='' COMPILER=''
......
libungif/4.1.4
tiff/4.0.6
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment