diff --git a/CHANGELOG.md b/CHANGELOG.md index 8c70d46fa..40e3245e0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ Until May 2022 (inclusive) no changelog was kept. We might try to reconstruct it ### Added +* PCRE2, vdt: Add recipes to replace ROOT builtins * uv: Add recipe for fast Python package installation * Replace monolithic Python-modules with individual package recipes * alibuild, bitsorg: Add recipes @@ -30,6 +31,7 @@ Until May 2022 (inclusive) no changelog was kept. We might try to reconstruct it ### Changed +* ROOT: Build against external PCRE2 and VDT instead of builtins * EvtGen: Upgrade to R02-02-03 with HepMC3 support * PHOTOSPP, Tauolapp: Build with HepMC3 support * APFEL: Upgrade to 3.1.1 and switch to CMake build diff --git a/geant3.sh b/geant3.sh index fb003d3d6..be6b33712 100644 --- a/geant3.sh +++ b/geant3.sh @@ -33,6 +33,7 @@ cmake $SOURCEDIR -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -DCMAKE_SKIP_RPATH=TRUE \ -DCMAKE_POLICY_DEFAULT_CMP0074=NEW \ -DCMAKE_C_FLAGS="$CFLAGS -std=gnu17" \ + -DCMAKE_POLICY_DEFAULT_CMP0144=NEW \ ${SPECIALFFLAGS:+-DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -fallow-invalid-boz -fno-tree-loop-distribute-patterns"} make ${JOBS:+-j $JOBS} install diff --git a/genfit.sh b/genfit.sh index 8cf3061f6..c4a31c8e1 100644 --- a/genfit.sh +++ b/genfit.sh @@ -39,6 +39,7 @@ cmake $SOURCEDIR -DCMAKE_INSTALL_LIBDIR=lib \ -DCMAKE_INSTALL_PREFIX=$INSTALLROOT \ -DCMAKE_POLICY_DEFAULT_CMP0074=NEW \ + -DCMAKE_POLICY_DEFAULT_CMP0144=NEW \ -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ -DROOT_DIR="${ROOT_ROOT}" \ -DBUILD_TESTING=${BUILD_TESTING} diff --git a/pcre.sh b/pcre.sh deleted file mode 100644 index ffa649ee4..000000000 --- a/pcre.sh +++ /dev/null @@ -1,18 +0,0 @@ -package: PCRE -version: master -tag: master -source: https://github.com/ktf/pcre -prefer_system: (?!slc5) -prefer_system_check: | - printf "#include \"pcre.h\"\n" | gcc -xc++ - -c -o /dev/null ---- -#!/bin/sh -echo "Building our own pcre. If you want to avoid this, please install pcre development package." - -$SOURCEDIR/configure --enable-unicode-properties \ - --enable-pcregrep-libz \ - --enable-pcregrep-libbz2 \ - --prefix=$INSTALLROOT - -make ${JOBS+-j $JOBS} -make install diff --git a/pcre2.sh b/pcre2.sh new file mode 100644 index 000000000..61d6a432e --- /dev/null +++ b/pcre2.sh @@ -0,0 +1,25 @@ +package: PCRE2 +version: "%(tag_basename)s" +tag: pcre2-10.44 +source: https://github.com/PCRE2Project/pcre2 +build_requires: + - "GCC-Toolchain:(?!osx)" + - CMake + - alibuild-recipe-tools +prefer_system: (?!slc5) +prefer_system_check: | + printf "#include \"pcre2.h\"\n" | c++ -xc++ -DPCRE2_CODE_UNIT_WIDTH=8 - -c -M 2>&1 +--- +#!/bin/bash -e +cmake "$SOURCEDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ + -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" \ + -DPCRE2_SUPPORT_UNICODE=ON \ + -DPCRE2_BUILD_PCRE2_8=ON \ + -DPCRE2_BUILD_PCRE2_16=OFF \ + -DPCRE2_BUILD_PCRE2_32=OFF + +cmake --build . ${JOBS:+-j$JOBS} --target install + +# Modulefile +mkdir -p "$INSTALLROOT/etc/modulefiles" +alibuild-generate-module --lib > "$INSTALLROOT/etc/modulefiles/$PKGNAME" diff --git a/root.sh b/root.sh index 1a6836d12..66327551e 100644 --- a/root.sh +++ b/root.sh @@ -14,6 +14,8 @@ requires: - XRootD - pythia - TBB + - PCRE2 + - vdt build_requires: - CMake - libxml2 @@ -46,7 +48,7 @@ prefer_system_check: | echo "ROOT version $VERSION insufficient ($REQUESTED_VERSION requested)" exit 1 fi - FEATURES="builtin_pcre mathmore xml ssl opengl http gdml pythia8 roofit soversion vdt xrootd" + FEATURES="mathmore xml ssl opengl http gdml pythia8 roofit soversion vdt xrootd" for FEATURE in $FEATURES; do root-config --has-$FEATURE | grep -q yes || { echo "$FEATURE missing"; exit 1; } done @@ -70,7 +72,7 @@ cmake $SOURCEDIR \ ${XROOTD_ROOT:+-DXROOTD_ROOT_DIR=$XROOTD_ROOT} \ -DCMAKE_CXX_STANDARD=$CMAKE_CXX_STANDARD \ -Dbuiltin_freetype=OFF \ --Dbuiltin_pcre=ON \ +-Dbuiltin_pcre=OFF \ -DCMAKE_CXX_COMPILER=$COMPILER_CXX \ -DCMAKE_C_COMPILER=$COMPILER_CC \ -DCMAKE_LINKER=$COMPILER_LD \ @@ -81,15 +83,15 @@ ${PYTHIA_ROOT:+-Dpythia8=ON} \ -Dmathmore=ON \ -Dsoversion=ON \ -Dshadowpw=OFF \ --Dbuiltin_vdt=ON \ +-Dbuiltin_vdt=OFF \ -Dbuiltin_davix=OFF \ -Ddavix=OFF \ ${PYTHON_ROOT:+-DPYTHON_EXECUTABLE=$PYTHONHOME/bin/python3} \ ${PYTHON_ROOT:+-DPython3_ROOT_DIR=$PYTHON_ROOT} \ --DCMAKE_PREFIX_PATH="$FREETYPE_ROOT;$GSL_ROOT;$PYTHON_ROOT" -FEATURES="builtin_pcre xml ssl opengl http gdml mathmore ${PYTHIA_ROOT:+pythia8} +-DCMAKE_PREFIX_PATH="$FREETYPE_ROOT;$GSL_ROOT;$PYTHON_ROOT;$PCRE2_ROOT;$VDT_ROOT" +FEATURES="xml ssl opengl http gdml mathmore ${PYTHIA_ROOT:+pythia8} roofit soversion vdt ${XROOTD_ROOT:+xrootd}" -NO_FEATURES="${FREETYPE_ROOT:+builtin_freetype}" +NO_FEATURES="builtin_pcre builtin_vdt ${FREETYPE_ROOT:+builtin_freetype}" # Check if all required features are enabled bin/root-config --features diff --git a/rootegpythia6.sh b/rootegpythia6.sh index 83ba9e4e7..84587daa6 100644 --- a/rootegpythia6.sh +++ b/rootegpythia6.sh @@ -35,6 +35,7 @@ cmake "$SOURCEDIR" \ -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} \ -DROOTEGPythia6_Pythia6_BUILTIN=ON \ + -DCMAKE_POLICY_DEFAULT_CMP0144=NEW \ -DCMAKE_INSTALL_LIBDIR=lib cmake --build . ${JOBS:+-j$JOBS} diff --git a/vdt.sh b/vdt.sh new file mode 100644 index 000000000..657cf7e03 --- /dev/null +++ b/vdt.sh @@ -0,0 +1,21 @@ +package: vdt +version: "%(tag_basename)s" +tag: v0.4.6 +source: https://github.com/dpiparo/vdt +build_requires: + - CMake + - "GCC-Toolchain:(?!osx)" + - alibuild-recipe-tools +prefer_system_check: | + printf "#include \"vdt/vdtMath.h\"\n" | c++ -xc++ - -c -M 2>&1 +--- +#!/bin/bash -e +cmake "$SOURCEDIR" -DCMAKE_INSTALL_PREFIX="$INSTALLROOT" \ + -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \ + -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" + +cmake --build . ${JOBS:+-j$JOBS} --target install + +# Modulefile +mkdir -p "$INSTALLROOT/etc/modulefiles" +alibuild-generate-module --lib > "$INSTALLROOT/etc/modulefiles/$PKGNAME" diff --git a/vgm.sh b/vgm.sh index 9323440c6..229541ed5 100644 --- a/vgm.sh +++ b/vgm.sh @@ -35,6 +35,7 @@ cmake "$SOURCEDIR" \ -DWITH_TEST=OFF \ ${XERCESC_ROOT:+-DXercesC_ROOT=$XERCESC_ROOT} \ -DCMAKE_POLICY_DEFAULT_CMP0074=NEW \ + -DCMAKE_POLICY_DEFAULT_CMP0144=NEW \ -DBUILD_SHARED_LIBS=OFF # ${XERCESC_ROOT:+-DXercesC_INCLUDE_DIR=$XERCESC_ROOT/include -DXercesC_LIBRARY=$XERCESC_ROOT/lib} \