H5root: changes to support ROOT 6
This commit is contained in:
13
Compiler/H5root/1/H5root
Normal file
13
Compiler/H5root/1/H5root
Normal file
@@ -0,0 +1,13 @@
|
||||
#!/bin/bash
|
||||
|
||||
CPLUS_INCLUDE_PATH="@PREFIX@/include:@ROOT_PREFIX@/include"
|
||||
|
||||
declare -r progname=$(basename "$0")
|
||||
|
||||
declare -a args=()
|
||||
|
||||
if [[ "${progname}" == "roger" ]]; then
|
||||
args+=( "--roger" )
|
||||
fi
|
||||
|
||||
"@PREFIX@/bin/H5root.bin" "${args[@]}" "$@"
|
||||
@@ -1,3 +1,10 @@
|
||||
H5root/1.2.0 stable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/4.7.4 hdf5_serial/1.8.12 b:H5hut_serial/1.99.13 root/5.34.19
|
||||
H5root/1.2.0 stable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/4.8.3 hdf5_serial/1.8.12 b:H5hut_serial/1.99.13 root/5.34.19
|
||||
H5root/1.3.0 unstable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/4.8.3 hdf5_serial/1.8.12 b:H5hut_serial/1.99.13 root/5.34.19
|
||||
H5root/1.2.0 stable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/4.7.4 hdf5_serial/1.8.12 b:H5hut_serial/1.99.13 root/5.34.19
|
||||
H5root/1.2.0 stable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/4.8.3 hdf5_serial/1.8.12 b:H5hut_serial/1.99.13 root/5.34.19
|
||||
H5root/1.3.0 unstable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/4.8.3 hdf5_serial/1.8.12 b:H5hut_serial/1.99.13 root/5.34.19
|
||||
H5root/1.3.2rc2 unstable gcc/5.4.0 b:hdf5_serial/1.8.18 b:H5hut/2.0.0rc3 root/6.08.02 boost/1.62.0 gsl/2.2.1
|
||||
H5root/1.3.2rc4 unstable gcc/5.4.0 b:hdf5_serial/1.8.18 b:H5hut/2.0.0rc3 root/6.08.02 boost/1.62.0 gsl/2.2.1
|
||||
H5root/1.3.2rc4-1 unstable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/5.4.0 b:hdf5_serial/1.8.18 b:H5hut/2.0.0rc3 root/6.08.02 boost/1.62.0 gsl/2.2.1
|
||||
H5root/1.3.2rc5 unstable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/5.4.0 b:hdf5_serial/1.8.18 b:H5hut/2.0.0rc3 root/6.08.02 boost/1.62.0 gsl/2.2.1
|
||||
H5root/1.3.2rc5-1 unstable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/5.4.0 b:hdf5_serial/1.8.18 b:H5hut/2.0.0rc3 root/6.08.02 boost/1.62.0 gsl/2.2.1
|
||||
H5root/1.3.2 unstable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/5.4.0 b:hdf5_serial/1.8.18 b:H5hut/2.0.0rc3 root/6.08.02 boost/1.62.0 gsl/2.2.1
|
||||
H5root/1.3.4 unstable b:autoconf/2.69 b:automake/1.14 b:libtool/2.4.2 gcc/5.4.0 b:hdf5_serial/1.8.18 b:H5hut/2.0.0rc3 root/6.08.02 boost/1.62.0 gsl/2.2.1
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
pbuild::pre_configure() {
|
||||
SOURCE_URL="http://amas.web.psi.ch/Downloads/$P/$P-$V.tar.bz2"
|
||||
|
||||
pbuild::post_prep() {
|
||||
./autogen.sh
|
||||
}
|
||||
|
||||
@@ -9,8 +11,42 @@ pbuild::configure() {
|
||||
--prefix="${PREFIX}"
|
||||
}
|
||||
|
||||
declare JOBS=1
|
||||
pbuild::compile_in_sourcetree
|
||||
pbuild::post_install() {
|
||||
# Unfortunatelly we need some fancy post-installation.
|
||||
# Otherwise it wouldn't be possible to load the modules
|
||||
# for H5root and OPAL at the same time. The problem is
|
||||
# the JIT compiler of ROOT and the fact, that we need
|
||||
# a serial HDF5 for H5root but a parallel for OPAL.
|
||||
#
|
||||
# Since ROOT's JIT compiler uses the environment variable
|
||||
# CPLUS_INCLUDE_PATH to search for header files, the
|
||||
# content of it is cruciale. In other words: it must be
|
||||
# guaranteed that the header files of the serial compiled
|
||||
# HDF5 are used by ROOT's JIT compiler. Since we have no
|
||||
# influence on the order he modules are loaded, we cannot
|
||||
# guarantee this without checking and - if required -
|
||||
# changing the search path.
|
||||
#
|
||||
# The simplest solution for this problem is to install
|
||||
# all required header files of HDF5 and H5hut into the
|
||||
# include directory of the H5root module and to use a
|
||||
# wrapper script to set the right search path.
|
||||
|
||||
# rename H5root binary, this will be called by a wrapper
|
||||
# script.
|
||||
mv "${PREFIX}/bin/H5root" "${PREFIX}/bin/H5root.bin"
|
||||
|
||||
# install wrapper script and set the right paths
|
||||
local sed_cmd="s:@PREFIX@:${PREFIX}:g;"
|
||||
sed_cmd+="s:@HDF5_PREFIX@:${HDF5_SERIAL_PREFIX}:g;"
|
||||
sed_cmd+="s:@ROOT_PREFIX@:${ROOT_PREFIX}:g;"
|
||||
sed "${sed_cmd}" "${BUILD_BLOCK_DIR}/${V_MAJOR}/H5root" > "${PREFIX}/bin/H5root"
|
||||
chmod 0755 "${PREFIX}/bin/H5root"
|
||||
|
||||
# install serial HDF5 and H5hut header files
|
||||
cp -av "${HDF5_SERIAL_INCLUDE_DIR}/"* "${PREFIX}/include/"
|
||||
cp -av "${H5HUT_INCLUDE_DIR}/"* "${PREFIX}/include/"
|
||||
}
|
||||
|
||||
pbuild::add_to_group 'Compiler'
|
||||
pbuild::make_all
|
||||
|
||||
Reference in New Issue
Block a user