package: ROOT version: "%(tag_basename)s" tag: "v6-30-01-alice4" source: https://github.com/alisw/root.git requires: - arrow - AliEn-Runtime:(?!.*ppc64) - GSL - opengl:(?!osx) - Xdevel:(?!osx) - FreeType:(?!osx) - Python-modules - "GCC-Toolchain:(?!osx)" - libpng - lzma - libxml2 - "OpenSSL:(?!osx)" - "osx-system-openssl:(osx.*)" - XRootD - TBB - protobuf - FFTW3 build_requires: - CMake - "Xcode:(osx.*)" - alibuild-recipe-tools - ninja env: ROOTSYS: "$ROOT_ROOT" prepend_path: PYTHONPATH: "$ROOTSYS/lib" ROOT_DYN_PATH: "$ROOT_ROOT/lib" incremental_recipe: | # Limit parallel builds to prevent OOM cmake --build . --target install ${JOBS+-j $JOBS} rm -vf "$INSTALLROOT/etc/plugins/TGrid/P010_TAlien.C" \ "$INSTALLROOT/etc/plugins/TSystem/P030_TAlienSystem.C" \ "$INSTALLROOT/etc/plugins/TFile/P070_TAlienFile.C" # Add support for ROOT_PLUGIN_PATH envvar for specifying additional plugin search paths grep -v '^Unix.*.Root.PluginPath' "$INSTALLROOT/etc/system.rootrc" > system.rootrc.0 cat >> system.rootrc.0 <<\EOF # Specify additional plugin search paths via the environment variable ROOT_PLUGIN_PATH. # Plugins in \$ROOT_PLUGIN_PATH have priority. Unix.*.Root.PluginPath: $(ROOT_PLUGIN_PATH):$(ROOTSYS)/etc/plugins: Unix.*.Root.DynamicPath: .:$(ROOT_DYN_PATH): EOF mv system.rootrc.0 "$INSTALLROOT/etc/system.rootrc" mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles --- #!/bin/bash -e # Fix the syntax highlighing when your editor is not smart enough to # understand yaml. cat >/dev/null < system.rootrc.0 cat >> system.rootrc.0 <<\EOF # Specify additional plugin search paths via the environment variable ROOT_PLUGIN_PATH. # Plugins in $ROOT_PLUGIN_PATH have priority. Unix.*.Root.PluginPath: $(ROOT_PLUGIN_PATH):$(ROOTSYS)/etc/plugins: Unix.*.Root.DynamicPath: .:$(ROOT_DYN_PATH): EOF mv system.rootrc.0 $INSTALLROOT/etc/system.rootrc if [[ $ALIEN_RUNTIME_VERSION ]]; then # Get them from AliEn-Runtime in the Modulefile unset OPENSSL_VERSION LIBXML2_VERSION OPENSSL_REVISION LIBXML2_REVISION fi # Make some CMake files used by other projects relocatable sed -i.deleteme -e "s!$BUILDDIR!$INSTALLROOT!g" $(find "$INSTALLROOT" -name '*.cmake') || true rm -vf "$INSTALLROOT/etc/plugins/TGrid/P010_TAlien.C" \ "$INSTALLROOT/etc/plugins/TSystem/P030_TAlienSystem.C" \ "$INSTALLROOT/etc/plugins/TFile/P070_TAlienFile.C" \ "$INSTALLROOT/LICENSE" # Make sure all the tools use the correct python for binfile in "$INSTALLROOT"/bin/*; do [ -f "$binfile" ] || continue if grep -q "^'''exec' .*python.*" "$binfile"; then # This file uses a hack to get around shebang size limits. As we're # replacing the shebang with the system python, the limit doesn't apply and # we can just use a normal shebang. sed -i.bak '1d; 2d; 3d; 4s,^,#!/usr/bin/env python3\n,' "$binfile" else sed -i.bak '1s,^#!.*python.*,#!/usr/bin/env python3,' "$binfile" fi done rm -fv "$INSTALLROOT"/bin/*.bak # Modulefile mkdir -p etc/modulefiles alibuild-generate-module --bin --lib > etc/modulefiles/$PKGNAME cat >> etc/modulefiles/$PKGNAME < $INSTALLROOT/.rpm-extra-deps <