Page MenuHomeHEPForge

No OneTemporary

diff --git a/rivet-bootstrap b/rivet-bootstrap
--- a/rivet-bootstrap
+++ b/rivet-bootstrap
@@ -1,197 +1,197 @@
#! /usr/bin/env bash
-# Rivet bootstrapping / installation script for version 3.0.0
+# Rivet bootstrapping / installation script for version 3.0.x
test -z "$BUILD_PREFIX" && BUILD_PREFIX="$PWD"
test -z "$INSTALL_PREFIX" && INSTALL_PREFIX="$PWD/local"
test -z "$MAKE" && MAKE="make -j3"
test -z "$INSTALL_HEPMC" && INSTALL_HEPMC="1"
test -z "$INSTALL_FASTJET" && INSTALL_FASTJET="1"
test -z "$INSTALL_FJCONTRIB" && INSTALL_FJCONTRIB="1"
test -z "$INSTALL_YODA" && INSTALL_YODA="1"
test -z "$INSTALL_RIVET" && INSTALL_RIVET="1"
test -z "$RIVET_VERSION" && RIVET_VERSION="3.0.1"
test -z "$YODA_VERSION" && YODA_VERSION="1.7.7"
-test -z "$HEPMC_VERSION" && HEPMC_VERSION="2.06.09" #< TODO: update to 2.07 or 3.1 when stable releases available
+test -z "$HEPMC_VERSION" && HEPMC_VERSION="2.06.09" #< TODO: update to v3 when stable
test -z "$FASTJET_VERSION" && FASTJET_VERSION="3.3.2"
test -z "$FJCONTRIB_VERSION" && FJCONTRIB_VERSION="1.041"
## Rivet needs C++11 now: first run a simple test for that
test -z "$CXX" && CXX="g++"
echo "int main() { return 0; }" > cxxtest.cc
CXX11=1
$CXX -std=c++11 cxxtest.cc -o cxxtest &> /dev/null || CXX11=0
rm -f cxxtest cxxtest.cc
if [[ "$CXX11" -ne 1 ]]; then
echo "$CXX does not accept the -std=c++11 flag. You need C++ to build Rivet: exiting installation :-("
exit 1
else
echo "$CXX accepts the -std=c++11 flag: hurrah! Continuing installation..."
echo
fi
## Paths for the case of existing installations
test -z "$HEPMCPATH" && HEPMCPATH="/usr"
test -z "$FASTJETPATH" && FASTJETPATH="/usr"
test -z "$YODAPATH" && YODAPATH="/usr"
test -z "$RIVET_CONFFLAGS" && RIVET_CONFFLAGS="" #--enable-unvalidated
test -z "$YODA_CONFFLAGS" && YODA_CONFFLAGS=""
if [[ "$INSTALL_RIVETDEV" -eq "1" ]]; then
## For rivetdev we skip the normal yoda/rivet installation
INSTALL_YODA="0"
INSTALL_RIVET="0"
## Might need to install some extra toolkit bits for dev mode
test -z "$INSTALL_AUTOTOOLS" && INSTALL_AUTOTOOLS="1"
test -z "$INSTALL_HG" && INSTALL_HG="1"
test -z "$INSTALL_CYTHON" && INSTALL_CYTHON="1"
fi
## Disable asserts for production running
export CPPFLAGS="$CPPFLAGS -DNDEBUG"
###############
echo "Running Rivet bootstrap script"
echo "Building Rivet $RIVET_VERSION, YODA $YODA_VERSION"
## Immediate exit on a command (group) failure and optional debug mode
set -e
test -n "$DEBUG" && set -x
export PATH=$INSTALL_PREFIX/bin:$PATH
function wget_untar { wget --no-check-certificate $1 -O- | tar xz; }
function conf { ./configure --prefix=$INSTALL_PREFIX "$@"; }
function mmi { $MAKE "$@" && $MAKE install; }
## Make installation directory, with an etc subdir so Rivet etc. will install bash completion scripts
mkdir -p $INSTALL_PREFIX/etc/bash_completion.d
## Install HepMC
if [[ "$INSTALL_HEPMC" -eq "1" ]]; then
cd $BUILD_PREFIX
test -d hepmc$HEPMC_VERSION || wget_untar http://hepmc.web.cern.ch/hepmc/releases/hepmc$HEPMC_VERSION.tgz
cd hepmc$HEPMC_VERSION
conf --with-momentum=GEV --with-length=MM
mmi
HEPMCPATH=$INSTALL_PREFIX
fi
## Install FastJet
if [[ "$INSTALL_FASTJET" -eq "1" ]]; then
cd $BUILD_PREFIX
test -d fastjet-$FASTJET_VERSION || wget_untar http://www.fastjet.fr/repo/fastjet-$FASTJET_VERSION.tar.gz
cd fastjet-$FASTJET_VERSION
conf --enable-shared --disable-auto-ptr --enable-allcxxplugins
mmi
FASTJETPATH=$INSTALL_PREFIX
fi
## Install fjcontrib
if [[ "$INSTALL_FJCONTRIB" -eq "1" ]]; then
cd $BUILD_PREFIX
test -d fastjet-$FJCONTRIB_VERSION || wget_untar http://fastjet.hepforge.org/contrib/downloads/fjcontrib-$FJCONTRIB_VERSION.tar.gz
cd fjcontrib-$FJCONTRIB_VERSION
./configure --fastjet-config=$FASTJETPATH/bin/fastjet-config CXXFLAGS=-fPIC # fastjet-config already contains INSTALL_PREFIX
mmi fragile-shared-install
# does not need FJCONTRIBPATH because the relevant includes/libraries are merged with regular FastJet structure
fi
## Install YODA
if [[ "$INSTALL_YODA" -eq "1" ]]; then
cd $BUILD_PREFIX
test -d YODA-$YODA_VERSION || wget_untar http://www.hepforge.org/archive/yoda/YODA-$YODA_VERSION.tar.gz
cd YODA-$YODA_VERSION
conf $YODA_CONFFLAGS
mmi
cp yodaenv.sh $INSTALL_PREFIX/yodaenv.sh
YODAPATH=$INSTALL_PREFIX
fi
## Install Rivet
if [[ "$INSTALL_RIVET" -eq "1" ]]; then
cd $BUILD_PREFIX
test -d Rivet-$RIVET_VERSION || wget_untar http://www.hepforge.org/archive/rivet/Rivet-$RIVET_VERSION.tar.gz
cd Rivet-$RIVET_VERSION
conf $RIVET_CONFFLAGS \
--with-yoda=$YODAPATH \
--with-hepmc=$HEPMCPATH \
--with-fastjet=$FASTJETPATH
mmi
cp rivetenv.sh rivetenv.csh $INSTALL_PREFIX/
fi
## Following block for dev mode only -- non-developers should ignore
if [[ "$INSTALL_RIVETDEV" -eq "1" ]]; then
## Install autotools
if [[ "$INSTALL_AUTOTOOLS" -eq "1" ]]; then
cd $BUILD_PREFIX
function _build_autotool() {
name=$1-$2
if [ ! -e $name ]; then wget_untar http://ftpmirror.gnu.org/$1/$name.tar.gz; fi
cd $name
./configure --prefix=$INSTALL_PREFIX
mmi
cd ..
}
test -e $INSTALL_PREFIX/bin/m4 || { echo; echo "Building m4"; _build_autotool m4 1.4.18; }
test -e $INSTALL_PREFIX/bin/autoconf || { echo; echo "Building autoconf"; _build_autotool autoconf 2.69; }
test -e $INSTALL_PREFIX/bin/automake || { echo; echo "Building automake"; _build_autotool automake 1.16; }
test -e $INSTALL_PREFIX/bin/libtool || { echo; echo "Building libtool"; _build_autotool libtool 2.4.6; }
fi
## Install hg
if [[ "$INSTALL_HG" -eq "1" ]]; then
cd $BUILD_PREFIX
HG_VERSION=4.6.2
test -d mercurial-$HG_VERSION || wget_untar http://mercurial-scm.org/release/mercurial-$HG_VERSION.tar.gz
cd mercurial-$HG_VERSION
$MAKE PREFIX=$INSTALL_PREFIX install-bin
fi
## Install Cython
if [[ "$INSTALL_CYTHON" -eq "1" ]]; then
cd $BUILD_PREFIX
CYTHON_VERSION=0.28.5
test -d cython-$CYTHON_VERSION || { wget https://github.com/cython/cython/archive/$CYTHON_VERSION.tar.gz -O - | tar xz; }
export PATH=$BUILD_PREFIX/cython-$CYTHON_VERSION/bin:$PATH
export PYTHONPATH=$BUILD_PREFIX/cython-$CYTHON_VERSION:$PYTHONPATH
fi
## Install dev YODA
cd $BUILD_PREFIX
hg clone https://phab.hepforge.org/source/yodahg/yoda -b release-1-7 --insecure
cd yoda
hg pull -u --insecure
autoreconf -i
conf $YODA_CONFFLAGS
mmi
cp yodaenv.sh $INSTALL_PREFIX/yodaenv.sh
YODAPATH=$INSTALL_PREFIX
## Install dev Rivet
cd $BUILD_PREFIX
- hg clone https://phab.hepforge.org/source/rivethg/rivet -b release-2-7-x --insecure
+ hg clone https://phab.hepforge.org/source/rivethg/rivet -u release-3-0-x --insecure
cd rivet
hg pull -u --insecure
autoreconf -i
conf $RIVET_CONFFLAGS \
--with-yoda=$YODAPATH \
--with-hepmc=$HEPMCPATH \
--with-fastjet=$FASTJETPATH
mmi
cp rivetenv.sh rivetenv.csh $INSTALL_PREFIX/
fi
## Announce the build success
echo; echo "All done. Now set some variables in your shell by sourcing $INSTALL_PREFIX/rivetenv.(c)sh"

File Metadata

Mime Type
text/x-diff
Expires
Tue, Nov 19, 7:07 PM (1 d, 12 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3805766
Default Alt Text
(7 KB)

Event Timeline