Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2024-05-18 07:43:06

0001 #!/bin/bash
0002 
0003 # drich-dev path
0004 if [ -z "${BASH_SOURCE[0]}" ]; then
0005   export DRICH_DEV=$(dirname $(realpath $0))
0006 else
0007   export DRICH_DEV=$(dirname $(realpath ${BASH_SOURCE[0]}))
0008 fi
0009 
0010 # obtain number of CPUs
0011 # - set it manually, if you prefer, or if auto detection fails
0012 export BUILD_NPROC=$([ $(uname) = 'Darwin' ] && sysctl -n hw.ncpu || nproc)
0013 if [ "$BUILD_NPROC" = "" ]; then export BUILD_NPROC=1; fi
0014 echo "detected $BUILD_NPROC cpus"
0015 
0016 # local installation prefix
0017 export EIC_SHELL_PREFIX=$DRICH_DEV/prefix
0018 
0019 # variable needed for `dawn`
0020 export LOCAL_DATA_PATH=$DRICH_DEV
0021 
0022 # source common upstream environment (nightly jug_xl build)
0023 source /opt/detector/setup.sh
0024 
0025 # source local environment (a build target from `epic`)
0026 # - overrides upstream `$DETECTOR*` vars
0027 # - prioritizes `$EIC_SHELL_PREFIX/lib` in `$LD_LIBRARY_PATH`
0028 [ -f $EIC_SHELL_PREFIX/setup.sh ] && source $EIC_SHELL_PREFIX/setup.sh
0029 
0030 # source EICrecon installation + environment patches
0031 if [ -f $EIC_SHELL_PREFIX/bin/eicrecon-this.sh ]; then
0032   if [ -z "$CI" ]; then
0033     echo "PATCH: exclude container's EICrecon plugins from JANA_PLUGIN_PATH"
0034     exc="/usr/local/lib/EICrecon/plugins"
0035     export JANA_PLUGIN_PATH=$(echo $JANA_PLUGIN_PATH | sed "s;${exc}:;;g" | sed "s;:${exc};;g" | sed "s;${exc};;g" )
0036     echo "ENVIRONMENT: source EICrecon"
0037     source $EIC_SHELL_PREFIX/bin/eicrecon-this.sh
0038     echo "PATCH: source thisroot.sh removes /usr/local/bin from PATH; add it back"
0039     export PATH="$PATH:/usr/local/bin"
0040   else
0041     echo "On CI runner; only setting JANA_PLUGIN_PATH"
0042     export JANA_PLUGIN_PATH=$EIC_SHELL_PREFIX/lib/EICrecon/plugins${JANA_PLUGIN_PATH:+:${JANA_PLUGIN_PATH}}
0043   fi
0044 fi
0045 
0046 # check if we have ROOT I/O enabled for IRT
0047 export IRT_ROOT_DICT_FOUND=0
0048 if [ -f $EIC_SHELL_PREFIX/lib/libIRT_rdict.pcm -a -f $EIC_SHELL_PREFIX/lib/libIRT.rootmap ]; then
0049   export IRT_ROOT_DICT_FOUND=1
0050 elif [ -f /usr/local/lib/libIRT_rdict.pcm -a -f /usr/local/lib/libIRT.rootmap ]; then
0051   export IRT_ROOT_DICT_FOUND=1
0052 fi
0053 
0054 # environment overrides:
0055 # - prefer local juggler build
0056 export JUGGLER_INSTALL_PREFIX=$EIC_SHELL_PREFIX
0057 export JUGGLER_N_THREADS=$BUILD_NPROC
0058 # - update prompt
0059 export PS1="${PS1:-}"
0060 export PS1="drich${PS1_SIGIL}>${PS1#*>}"
0061 unset branch
0062 
0063 # prioritize local build targets
0064 export LD_LIBRARY_PATH=$DRICH_DEV/lib:$EIC_SHELL_PREFIX/lib:$LD_LIBRARY_PATH
0065 export PYTHONPATH=$EIC_SHELL_PREFIX/python:$PYTHONPATH
0066 export PATH=$EIC_SHELL_PREFIX/bin:$PATH
0067 
0068 # use local rbenv ruby shims, if installed
0069 export RBENV_ROOT=$DRICH_DEV/.rbenv
0070 if [ -d "$RBENV_ROOT" ]; then
0071   export PATH=$RBENV_ROOT/bin:$PATH
0072   eval "$(.rbenv/bin/rbenv init - bash)"
0073   export PYTHON=$(which python) # for pycall gem
0074 fi
0075 
0076 # additional comfort settings; add your own here
0077 # - PATH additions
0078 export PATH=.:$PATH                                   # ./
0079 export PATH=$DRICH_DEV/bin:$PATH                      # drich-dev/bin
0080 [ -d "${HOME}/bin" ] && export PATH=$PATH:${HOME}/bin # ~/bin
0081 # - shell settings and aliases
0082 shopt -s autocd # enable autocd (`alias <dirname>='cd <dirname>'`)
0083 alias ll='ls -lhp --color=auto'
0084 # - open a ROOT file in a TBrowser
0085 broot() {
0086   if [ $# -ne 1 ]; then
0087     echo "USAGE: $0 [ROOT file]"
0088   else
0089     root -l --web=off $1 -e 'new TBrowser'
0090   fi
0091 }
0092 
0093 # print environment
0094 echo """
0095 
0096 
0097      ###########################################
0098      ###    dRICH Development Environment    ###
0099      ###########################################
0100 
0101 Detector:
0102   DETECTOR         = $DETECTOR
0103   DETECTOR_PATH    = $DETECTOR_PATH
0104   DETECTOR_CONFIG  = $DETECTOR_CONFIG
0105   DETECTOR_VERSION = $DETECTOR_VERSION
0106 
0107 LD_LIBRARY_PATH:
0108   $(echo $LD_LIBRARY_PATH | sed 's/:/\n  /g')
0109 
0110 Common:
0111   DRICH_DEV           = $DRICH_DEV
0112   BUILD_NPROC         = $BUILD_NPROC
0113   EIC_SHELL_PREFIX    = $EIC_SHELL_PREFIX
0114   JANA_PLUGIN_PATH    = $JANA_PLUGIN_PATH
0115   IRT_ROOT_DICT_FOUND = $IRT_ROOT_DICT_FOUND
0116 
0117 """