[arch-commits] Commit in root/repos (12 files)

Konstantin Gizdov kgizdov at gemini.archlinux.org
Wed Aug 24 22:42:39 UTC 2022


    Date: Wednesday, August 24, 2022 @ 22:42:39
  Author: kgizdov
Revision: 1277659

archrelease: copy trunk to community-staging-x86_64

Added:
  root/repos/community-staging-x86_64/
  root/repos/community-staging-x86_64/PKGBUILD
    (from rev 1277658, root/trunk/PKGBUILD)
  root/repos/community-staging-x86_64/ROOFIT_LICENSE
    (from rev 1277658, root/trunk/ROOFIT_LICENSE)
  root/repos/community-staging-x86_64/fix_rootcling.patch
    (from rev 1277658, root/trunk/fix_rootcling.patch)
  root/repos/community-staging-x86_64/jupyter_notebook_config.py
    (from rev 1277658, root/trunk/jupyter_notebook_config.py)
  root/repos/community-staging-x86_64/nbman-for-arch.patch
    (from rev 1277658, root/trunk/nbman-for-arch.patch)
  root/repos/community-staging-x86_64/nlohmann_json.patch
    (from rev 1277658, root/trunk/nlohmann_json.patch)
  root/repos/community-staging-x86_64/root.pc.tpl
    (from rev 1277658, root/trunk/root.pc.tpl)
  root/repos/community-staging-x86_64/root.xml
    (from rev 1277658, root/trunk/root.xml)
  root/repos/community-staging-x86_64/settings-cuda.cmake
    (from rev 1277658, root/trunk/settings-cuda.cmake)
  root/repos/community-staging-x86_64/settings.cmake
    (from rev 1277658, root/trunk/settings.cmake)
  root/repos/community-staging-x86_64/thisroot.fail
    (from rev 1277658, root/trunk/thisroot.fail)

----------------------------+
 PKGBUILD                   |  303 +++++++++++++++++++++++++++++++++++++++++++
 ROOFIT_LICENSE             |   22 +++
 fix_rootcling.patch        |   60 ++++++++
 jupyter_notebook_config.py |    1 
 nbman-for-arch.patch       |  180 +++++++++++++++++++++++++
 nlohmann_json.patch        |   32 ++++
 root.pc.tpl                |   12 +
 root.xml                   |   14 +
 settings-cuda.cmake        |  115 ++++++++++++++++
 settings.cmake             |  115 ++++++++++++++++
 thisroot.fail              |   49 ++++++
 11 files changed, 903 insertions(+)

Copied: root/repos/community-staging-x86_64/PKGBUILD (from rev 1277658, root/trunk/PKGBUILD)
===================================================================
--- community-staging-x86_64/PKGBUILD	                        (rev 0)
+++ community-staging-x86_64/PKGBUILD	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,303 @@
+# Maintainer: Konstantin Gizdov < arch at kge dot pw >
+# Contributor: Frank Siegert < frank.siegert at googlemail dot com >
+# Contributor: Scott Lawrence < bytbox at gmail dot com >
+# Contributor: Thomas Dziedzic < gostrc at gmail dot com >
+# Contributor: Sebastian Voecking < voeck at web dot de >
+
+pkgbase=root
+pkgname=('root' 'root-cuda')
+pkgver=6.26.06
+pkgrel=3
+pkgdesc='C++ data analysis framework and interpreter from CERN'
+arch=('x86_64')
+url='https://root.cern'
+license=('LGPL2.1' 'GPL' 'custom:University of California and Stanford University License')
+options=(!lto)
+makedepends=(
+    'ccache'
+    'cern-vdt'
+    'chromium'
+    'cfitsio'
+    'cmake'
+    'cuda'
+    'cudnn'
+    'gcc-fortran'
+    'gcc11-fortran'
+    'git'
+    'go'
+    'libxml2'
+    'libmariadbclient'
+    'ocaml'
+    'ocaml-ctypes'
+    'openmp'
+    'openmpi'
+    'openssl'
+    'openui5'
+    'postgresql-libs'
+    'pythia8>=8.2.40-1'
+    'python-pygments'
+    'qt5-webengine'
+    'sqlite'
+    'unuran'
+    'vc'
+    'xrootd>5'
+    'z3'
+)
+depends=(
+    'blas'
+    'desktop-file-utils'
+    'fcgi'
+    'fftw'
+    'ftgl'
+    'giflib'
+    'gl2ps'
+    'glew'
+    'graphviz'
+    'gsl'
+    'hicolor-icon-theme'
+    'libafterimage'
+    'librsvg'
+    'liburing'
+    'libxpm'
+    'nlohmann-json'
+    'python'
+    'python-numpy'
+    'tbb'
+    'tex-gyre-fonts'
+    'unixodbc'
+    'xxhash>=0.6.5-1'
+    'zstd'
+)
+optdepends=(
+    'cern-vdt: Add a set of fast and vectorisable mathematical functions'
+    'chromium: Support for WebGUI'
+    'cfitsio: Read images and data from FITS files'
+    'libmariadbclient: MySQL support'
+    'libxml2: XML parser interface'
+    'openmp: Support OpenMP extensions in Minuit2'
+    'openmpi: Support OpenMPI extensions in Minuit2'
+    'openssl: OpenSSL support'
+    'openui5: JSROOT support'
+    'postgresql-libs: PostgreSQL support'
+    'pythia8>=8.2.40-1: Pythia8 EG support'
+    'python-pygments: syntax highlighting in interactive console'
+    'qt5-webengine: Support for WebGUI'
+    'sqlite: SQLite support'
+    'tcsh: Legacy CSH support'
+    'unuran: Support non-uniform random numbers'
+    'vc: Add types for portable and intuitive SIMD programming'
+    'xrootd>5: Support remote file server and client'
+    'z3: Suuport the Z3 theorem prover'
+)
+source=(
+    "https://root.cern.ch/download/root_v${pkgver}.source.tar.gz"
+    'ROOFIT_LICENSE'
+    'root.xml'
+    'root.pc.tpl'
+    'settings.cmake'
+    'settings-cuda.cmake'
+    'jupyter_notebook_config.py'
+    'nbman-for-arch.patch'
+    'thisroot.fail'
+    'fix_rootcling.patch'
+    'nlohmann_json.patch'
+)
+b2sums=('cb9f4b17f7eae36fbd728aa9c03a5705f5d05da0a9c0913fef6145d3fae4843f1a77b3f6251cd6cc322fa7ada4837c0be69aa53b2e1572c72e6e91d1b68aef47'
+        '5da6218a171ee0fbd7b03518dde22787bb0e478a18dcf227eea4e65598c0a0bb299747c6503ad3026804e1a4dbcf4d2b674b83e6ed6e482dd3d14ceb4646dee8'
+        'b5defce795dbfeee75dab0cc4c20ac84fe55cb11e9acdd5e75831b6db98e6190621867a65427ab44d93b6fe30398db6fd191defb029a6dcd0af087c1e5115451'
+        '5e4c589fd9e226fcf7ff9ab880687c10ff0f7b7c03fdf12fc477622d6ec291e2dc62e7f5ce7b68856bccf37b64b2f4331f46788548d39fdca57fd832d1f3b437'
+        'fb7879d5961a4714ef2cbd33a4872d88dc0938ee87935c39b89b5973b75847413d941cfcb1af1669cb62b262ba5ab54f233dc0afd3e35c85b958622edfacd114'
+        '36c3543d008eda4b0200b730d3ca795de5dca0fee0ba6f98f1e1edfc820a92dfd1352a558c1593f2f8590b3febabfb74857ca59211a71090106ce292e399dd09'
+        '47a7b4491f1455ddb02c3793c7fbaf05184dba9a5fc9d7378608727e69c778dd5832c49f11f4d2c8204dcffc86fc4786b5616fb381c4e3e629d78db9c86913c5'
+        'ec89007c4441d0010c0bfa90ca81e78ceeeb97bacaae2cc4814bd9a781062add80eaa6e4b8cf59c1a61e89ca8a14f3af6f1163766550f6db4154f671e5176d39'
+        '3501c944e8cab13fe9f5c8ab75a7cdb4b59bc5b00df4bf45ad246ab8cd6cb1ebde19369bc688458c97ff5f5acd4e86fc19b4c8f57ab4cb422d0a5eacac081138'
+        '5a6b92f685d830853b862c7471f8e802a45923543beb591313abd8aacf383d176d8e283380ab6418caa751449b5abc95391df1ed3ed83ed0b1d3bb9d25056272'
+        'f7f73d45e9d6f64b2b3ca8f0275fc84f1dc75b88a5a148fc389247f5708331f0b9ebc8920a6d411a8ab8dd305c9d7e69300df5797ba1e5c0146a5f01a5d39e9f')
+
+get_pyver () {
+    python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))'
+}
+
+prepare() {
+    local src
+    for src in "${source[@]}"; do
+        src="${src%%::*}"
+        src="${src##*/}"
+        [[ $src = *.patch ]] || continue
+        echo "  -> Applying patch $src..."
+        patch -Np1 -i "../$src" -d "${srcdir}/${pkgbase}-${pkgver}"
+    done
+
+    # specify some custom flags
+    # needed by vc to link properly
+    CUSTOM_CMAKE_FLAGS="-DTARGET_ARCHITECTURE:STRING=generic"
+    # make sure it finds python
+    CUSTOM_CMAKE_FLAGS+=" -DPYTHON_EXECUTABLE:PATH=/usr/bin/python"
+    # need to set install prefix like so
+    CUSTOM_CMAKE_FLAGS+=" -DINSTALL_PREFIX=/usr"
+    export CUSTOM_CMAKE_FLAGS
+
+    # update system flags
+    # don't let ROOT play around with lib paths
+    export CPPFLAGS="${CPPFLAGS} -DIS_RPATH_BUILD=1"
+    # make sure pthread gets detected
+    CUSTOM_COMPILER_FLAGS="${CPPFLAGS} -pthread"
+    export CFLAGS="${CFLAGS} ${CUSTOM_COMPILER_FLAGS}"
+    export CXXFLAGS="${CXXFLAGS} ${CUSTOM_COMPILER_FLAGS}"
+    export LDFLAGS="${LDFLAGS} ${CUSTOM_COMPILER_FLAGS}"
+
+    # go flags for built-in clang
+    export CGO_LDFLAGS="${LDFLAGS}"
+    export GOFLAGS="-buildmode=pie -trimpath -modcacherw"
+
+    # pass CUDA architectures to nvcc calls
+    # Not yet supported in root: TBD
+    local _cuda_arches=('52' '53' '60' '61' '62' '70' '72' '75' '80' '86' '87')
+    local _cuda_arch_vals=''
+    for _cuda_arch in "${_cuda_arches[@]}"; do
+        _cuda_arch_vals+="${_cuda_arch}-real;${_cuda_arch}-virtual;"
+    done
+    _cuda_arch_vals="${_cuda_arch_vals:0:-1}"
+    export CUSTOM_CUDA_ARCH='-DCMAKE_CUDA_ARCHITECTURES='"${_cuda_arch_vals}"
+
+    cp -r "${pkgbase}-${pkgver}" "${pkgbase}-${pkgver}-cuda"
+}
+
+build() {
+    ## ROOT
+    mkdir -p "${srcdir}/build"
+    cd "${srcdir}/build"
+
+    cmake -C "${srcdir}/settings.cmake" \
+        ${CUSTOM_CMAKE_FLAGS} \
+        "${srcdir}/${pkgbase}-${pkgver}"
+    make
+
+    ## ROOT with CUDA
+    mkdir -p "${srcdir}/build-cuda"
+    cd "${srcdir}/build-cuda"
+
+    CC=/usr/bin/gcc-11 \
+    CXX=/usr/bin/g++-11 \
+    FC=/usr/bin/f95-11 \
+    cmake -C "${srcdir}/settings-cuda.cmake" \
+        ${CUSTOM_CMAKE_FLAGS} \
+        ${CUSTOM_CUDA_ARCH} \
+        "${srcdir}/${pkgbase}-${pkgver}-cuda"
+    make
+}
+
+_package() {
+    local bld_dir="${srcdir}/${1}"
+    cd "${bld_dir}"
+
+    make DESTDIR="${pkgdir}" install
+
+    # fix missing hardlinks for genreflex and rootcint
+    cd "${pkgdir}"/usr/bin
+    ln -f rootcling rootcint
+    ln -f rootcling genreflex
+    cd "${bld_dir}" # go back
+
+    # rename the modulemap
+    mv "${pkgdir}"/usr/include/module.modulemap "${pkgdir}"/usr/include/root.modulemap
+
+    # fix python env call
+    sed -e 's/@python@/python/' -i "${pkgdir}/usr/lib/root/cmdLineUtils.py"
+
+    # try to deal with weird PyROOT, PyMVA and JupyROOT stuff
+    rm -rf "${pkgdir}/usr/lib/root/__pycache__"
+    local _pyver=$(get_pyver)
+    local _pydir="${pkgdir}/usr/lib/python${_pyver}/site-packages"
+    install -d "${_pydir}"
+    find "${pkgdir}/usr/lib/root" -maxdepth 1 -mindepth 1 \( -iname '*py*' -or -name '*Js*' -or -name 'ROOT' -or -name 'DistRDF' \) \
+            ! \( -name '*EGPythia8*' -or -iname '*.rootmap' -or -iname '*.pcm' \) -print0 | while read -rd $'\0' _lib; do
+        _base=$(basename "${_lib}")
+        ln -sf "/usr/lib/root/${_base}" "${pkgdir}/usr/lib/python${_pyver}/site-packages/${_base}"
+    done
+
+    # recompile pycache to strip $pkgdir from embedded paths
+    python -m compileall -d "/usr/lib/python${_pyver}" \
+        "${pkgdir}/usr/lib/python${_pyver}"
+    python -O -m compileall -d "/usr/lib/python${_pyver}" \
+        "${pkgdir}/usr/lib/python${_pyver}"
+
+    # icon, shortcut and mime
+    install -Dm644 "${srcdir}/${pkgbase}-${pkgver}/icons/Root6Icon.png" \
+        "${pkgdir}/usr/share/icons/hicolor/48x48/apps/root.png"
+    install -Dm644 "${srcdir}/${pkgbase}-${pkgver}/etc/root.desktop" \
+        "${pkgdir}/usr/share/applications/root.desktop"
+    echo 'Icon=root.png' >> "${pkgdir}/usr/share/applications/root.desktop"
+    install -Dm644 "${srcdir}/root.xml" \
+        "${pkgdir}/usr/share/mime/packages/root.xml"
+
+    # use a file that pacman can track instead of adding directly to ld.so.conf
+    install -d "${pkgdir}/etc/ld.so.conf.d"
+    echo '/usr/lib/root' > "${pkgdir}/etc/ld.so.conf.d/root.conf"
+
+    # create pkg-config file
+    local _prefix _exec_prefix _bindir _libdir _incdir _pkg_ver _libs _cflags _requires
+    _prefix="$("${pkgdir}"/usr/bin/root-config --prefix)"
+    _exec_prefix="$("${pkgdir}"/usr/bin/root-config --exec-prefix)"
+    _bindir="$("${pkgdir}"/usr/bin/root-config --bindir)"
+    _libdir="$("${pkgdir}"/usr/bin/root-config --libdir)"
+    _incdir="$("${pkgdir}"/usr/bin/root-config --incdir)"
+    _pkg_ver="$(sed -n 's,.*ROOT_RELEASE *\"\(.*\)\".*,\1,p' < "${pkgdir}"/usr/include/RVersion.h)"
+    _libs="$("${pkgdir}"/usr/bin/root-config --libs)"
+    _cflags="$("${pkgdir}"/usr/bin/root-config --cflags)"
+    printf -v _requires '%s,' "${depends[@]}"
+    cp "${srcdir}/root.pc.tpl" "${bld_dir}"/
+    sed -e "s at _PREFIX@${_prefix}@" -e "s at _EXECPREFIX@${_exec_prefix}@" \
+        -e "s at _LIBDIR@${_libdir}@" -e "s at _INCDIR@${_incdir}@" \
+        -e "s at _PKGVERSION@${_pkg_ver}@" -e "s at _LIBRARIES@${_libs}@" \
+        -e "s at _CFLAGS@${_cflags}@" -e "s at _UPSTREAM_URL@${url}@" \
+        -e "s at _REQUIRES@${_requires}@" \
+        -i "${bld_dir}/root.pc.tpl"
+    install -Dm644 "${bld_dir}/root.pc.tpl" "${pkgdir}/usr/lib/pkgconfig/root.pc"
+
+    # install all licenses & docs
+    install -d "${pkgdir}/usr/share/licenses/roofit"
+    install "${srcdir}/ROOFIT_LICENSE" "${pkgdir}/usr/share/licenses/roofit/LICENSE"
+    install -d "${pkgdir}/usr/share/licenses/${pkgname}"
+    ln -s '/usr/share/doc/root/LICENSE' "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
+    for _fold in fonts js; do
+      install -d "${pkgdir}/usr/share/licenses/${pkgname}/${_fold}"
+      ln -s "/usr/share/root/${_fold}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/${_fold}"/
+    done
+    ln -s '/usr/share/licenses/roofit' "${pkgdir}/usr/share/licenses/${pkgname}/roofit"
+    if [ "${pkgname}" != "root" ]; then
+        ln -s "/usr/share/licenses/${pkgname}" "${pkgdir}/usr/share/licenses/root"
+        ln -s "/usr/share/doc/root" "${pkgdir}/usr/share/doc/${pkgname}"
+    fi
+
+    # install jupyter kernels and `root --notebook` config
+    install -d "${pkgdir}/usr/share/jupyter/kernels"
+    ln -s '/etc/root/notebook/kernels/root' "${pkgdir}/usr/share/jupyter/kernels/root"
+    install "${srcdir}/jupyter_notebook_config.py" "${pkgdir}/etc/root/notebook"/
+
+    # drop thisroot.* shell files
+    rm -rf "${pkgdir}"/usr/bin/thisroot.*
+    install -Dm755 "${srcdir}/thisroot.fail" "${pkgdir}/usr/bin/thisroot.sh"
+    for suffix in csh fish; do
+        ln -s '/usr/bin/thisroot.sh' "${pkgdir}/usr/bin/thisroot.${suffix}"
+    done
+
+    # set correct LD_LIBRARY_PATH at runtime
+    sed -i.orig \
+        -e "s@#Unix.*.Root.DynamicPath:.*@Unix.*.Root.DynamicPath:    .:${_libdir}:/usr/lib@" \
+        "${pkgdir}/etc/root/system.rootrc"
+}
+
+package_root() {
+    optdepends+=('gcc-fortran: Enable the Fortran components of ROOT')
+    _package build
+}
+
+package_root-cuda() {
+    pkgdesc='C++ data analysis framework and interpreter from CERN with GPU (CUDA) features enabled'
+    provides=('root')
+    conflicts=('root')
+    depends+=('cuda' 'cudnn')
+    optdepends+=('gcc11-fortran: Enable the Fortran components of ROOT')
+    _package build-cuda
+}

Copied: root/repos/community-staging-x86_64/ROOFIT_LICENSE (from rev 1277658, root/trunk/ROOFIT_LICENSE)
===================================================================
--- community-staging-x86_64/ROOFIT_LICENSE	                        (rev 0)
+++ community-staging-x86_64/ROOFIT_LICENSE	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,22 @@
+RooFit --- Copyright (c) 2000-2005, Regents of the University of California and Stanford University
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without modification,
+are permitted provided that the following conditions are met:
+
+  - Redistributions of source code must retain the above copyright notice,
+    this list of conditions and the following disclaimer.
+
+  - Redistributions in binary form must reproduce the above copyright notice,
+    this list of conditions and the following disclaimer in the documentation
+    and/or other materials provided with the distribution.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
+OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
+IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Copied: root/repos/community-staging-x86_64/fix_rootcling.patch (from rev 1277658, root/trunk/fix_rootcling.patch)
===================================================================
--- community-staging-x86_64/fix_rootcling.patch	                        (rev 0)
+++ community-staging-x86_64/fix_rootcling.patch	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,60 @@
+From af599f6239e87c85c36e5634d04210f74a6ef78b Mon Sep 17 00:00:00 2001
+From: Jonas Rembser <jonas.rembser at cern.ch>
+Date: Tue, 21 Sep 2021 15:15:17 +0200
+Subject: [PATCH] [cmake] Protect against empty `COMPILE_DEFINITIONS` in
+ rootcint command
+
+In the `rootcint` command defined in `RootMacros.cmake`, the
+`COMPILE_DEFINITIONS` from the target are forwarded as compiler flags.
+
+The `COMPILE_DEFINITIONS` are stored in the `module_defs` variable with
+a generator expression:
+
+```
+set(module_defs $<TARGET_PROPERTY:${ARG_MODULE},COMPILE_DEFINITIONS>)
+```
+
+Then, the definitions are added to the rootcint command with this
+expression:
+
+```
+"$<$<BOOL:${module_defs}>:-D$<JOIN:${module_defs},;-D>>"
+```
+
+This code was almost copied exactly from the CMake documentation
+example:
+
+https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html
+
+In particular, the `BOOL` check makes sure that the if the target
+property is empty, we will not get a bare `-D` with nothing after it,
+corrupting the rootcint command.
+
+However, there is no protextion against the case where the
+`COMPILE_DEFINITIONS` target property is not empty, but its elements are
+empty strings! This happened to me in my recent build.
+
+Instead of trying to figure out where the empty strings are added to the
+`COMPILE_DEFINITIONS`, it is better to also protect against empty target
+property elements in the CMake generator expressions, which is
+implemented in this commit.
+---
+ cmake/modules/RootMacros.cmake | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/cmake/modules/RootMacros.cmake b/cmake/modules/RootMacros.cmake
+index c52c23d29af4..c62ffc2152a5 100644
+--- a/cmake/modules/RootMacros.cmake
++++ b/cmake/modules/RootMacros.cmake
+@@ -628,7 +628,10 @@ function(ROOT_GENERATE_DICTIONARY dictionary)
+       # and list exclusion for generator expressions is too complex.
+       set(module_incs $<REMOVE_DUPLICATES:$<TARGET_PROPERTY:${ARG_MODULE},INCLUDE_DIRECTORIES>>)
+       set(module_sysincs $<REMOVE_DUPLICATES:$<TARGET_PROPERTY:${ARG_MODULE},INTERFACE_SYSTEM_INCLUDE_DIRECTORIES>>)
+-      set(module_defs $<TARGET_PROPERTY:${ARG_MODULE},COMPILE_DEFINITIONS>)
++      # The COMPILE_DEFINITIONS list might contain empty elements. These are
++      # removed with the FILTER generator expression, excluding elements that
++      # match the ^$ regexp (only matches empty strings).
++      set(module_defs "$<FILTER:$<TARGET_PROPERTY:${ARG_MODULE},COMPILE_DEFINITIONS>,EXCLUDE,^$>")
+     endif()
+   endif()
+ 

Copied: root/repos/community-staging-x86_64/jupyter_notebook_config.py (from rev 1277658, root/trunk/jupyter_notebook_config.py)
===================================================================
--- community-staging-x86_64/jupyter_notebook_config.py	                        (rev 0)
+++ community-staging-x86_64/jupyter_notebook_config.py	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1 @@
+c.NotebookApp.ip = '*'

Copied: root/repos/community-staging-x86_64/nbman-for-arch.patch (from rev 1277658, root/trunk/nbman-for-arch.patch)
===================================================================
--- community-staging-x86_64/nbman-for-arch.patch	                        (rev 0)
+++ community-staging-x86_64/nbman-for-arch.patch	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,180 @@
+diff --color -aur --color root-6.26.00-old/main/src/nbmain.cxx root-6.26.00-new/main/src/nbmain.cxx
+--- root-6.26.00-old/main/src/nbmain.cxx	2022-03-03 08:39:52.000000000 +0200
++++ root-6.26.00-new/main/src/nbmain.cxx	2022-03-08 17:36:29.881271963 +0200
+@@ -34,10 +34,6 @@
+ #define NB_OPT             "notebook"
+ #define JUPYTER_CONF_DIR_V "JUPYTER_CONFIG_DIR"
+ #define JUPYTER_PATH_V     "JUPYTER_PATH"
+-#define NB_CONF_DIR        "notebook"
+-#define ROOTNB_DIR         ".rootnb"
+-#define COMMIT_FILE        ".rootcommit"
+-#define JUPYTER_CONFIG     "jupyter_notebook_config.py"
+ 
+ using namespace std;
+ 
+@@ -50,164 +46,12 @@
+ #endif
+ 
+ ////////////////////////////////////////////////////////////////////////////////
+-/// Checks whether ROOT notebook files are installed and they are
+-/// the current version.
+-
+-static int CheckNbInstallation(string dir)
+-{
+-   string commit(gROOT->GetGitCommit());
+-   string inputfname(dir + pathsep + ROOTNB_DIR + pathsep + COMMIT_FILE);
+-   ifstream in(inputfname);
+-   if (in.is_open()) {
+-      string line;
+-      in >> line;
+-      in.close();
+-      if (line.compare(commit) == 0) return  0; // already installed
+-      else                           return -1; // install, it's outdated
+-   }
+-   else if (gSystem->AccessPathName(inputfname.c_str())) {
+-      // There is no installation
+-      return -1;
+-   }
+-   else {
+-      fprintf(stderr,
+-              "Error checking notebook installation -- cannot open %s\n",
+-              inputfname.c_str());
+-      return -2;
+-   }
+-}
+-
+-////////////////////////////////////////////////////////////////////////////////
+-/// Installs ROOT notebook files in the user's home directory.
+-
+-static bool InstallNbFiles(string source, string dest)
+-{
+-   // Create installation directory
+-   if (gSystem->AccessPathName(dest.c_str())) {
+-      if (gSystem->mkdir(dest.c_str())) {
+-         fprintf(stderr,
+-                 "Error installing notebook configuration files -- cannot create directory %s\n",
+-                 dest.c_str());
+-         return false;
+-      }
+-   }
+-
+-   // Copy files in source to dest
+-   TSystemDirectory dir(source.c_str(), source.c_str());
+-   std::unique_ptr<TList> files;
+-   files.reset(dir.GetListOfFiles());
+-   if (files) {
+-      TSystemFile *file;
+-      TListIter it(files.get());
+-      while ((file = (TSystemFile*)it())) {
+-         TString s = file->GetName();
+-         string fname(s.Data());
+-         string sourcefile = source + pathsep + fname;
+-         string destfile   = dest   + pathsep + fname;
+-         if (!file->IsDirectory()) {
+-            if (gSystem->CopyFile(sourcefile.c_str(), destfile.c_str(), true)) {
+-               fprintf(stderr,
+-                       "Error installing notebook configuration files -- cannot copy file %s to %s\n",
+-                       sourcefile.c_str(), destfile.c_str());
+-               return false;
+-            }
+-         }
+-         else if (fname.compare(".") && fname.compare("..") && fname.compare("html")) {
+-            if (!InstallNbFiles(sourcefile, destfile))
+-               return false;
+-         }
+-      }
+-   }
+-
+-   return true;
+-}
+-
+-////////////////////////////////////////////////////////////////////////////////
+-/// Creates the Jupyter notebook configuration file that sets the
+-/// necessary environment.
+-
+-static bool CreateJupyterConfig(string dest, string rootbin, string rootlib, string rootdata)
+-{
+-   string jupyconfig = dest + pathsep + JUPYTER_CONFIG;
+-   ofstream out(jupyconfig, ios::trunc);
+-   if (out.is_open()) {
+-      out << "import os" << endl;
+-#ifdef WIN32
+-      std::replace( rootbin.begin(), rootbin.end(), '\\', '/');
+-      std::replace( rootdata.begin(), rootdata.end(), '\\', '/');
+-      out << "rootbin = '" << rootbin << "'" << endl;
+-      string jsrootsys = rootdata + "/js/";
+-      out << "os.environ['PYTHONPATH']      = '%s' % rootbin + ';' + os.getenv('PYTHONPATH', '')" << endl;
+-      out << "os.environ['PATH']            = '%s;%s/bin' % (rootbin,rootbin) + ';' + os.getenv('PATH', '')" << endl;
+-#else
+-      out << "rootbin = '" << rootbin << "'" << endl;
+-      out << "rootlib = '" << rootlib << "'" << endl;
+-      string jsrootsys = rootdata + "/js/";
+-      out << "os.environ['PYTHONPATH']      = '%s' % rootlib + ':' + os.getenv('PYTHONPATH', '')" << endl;
+-      out << "os.environ['PATH']            = '%s:%s/bin' % (rootbin,rootbin) + ':' + os.getenv('PATH', '')" << endl;
+-      out << "os.environ['LD_LIBRARY_PATH'] = '%s' % rootlib + ':' + os.getenv('LD_LIBRARY_PATH', '')" << endl;
+-#endif
+-      out << "c.NotebookApp.extra_static_paths = ['" << jsrootsys << "']" << endl;
+-      out.close();
+-      return true;
+-   }
+-   else {
+-      fprintf(stderr,
+-              "Error installing notebook configuration files -- cannot create IPython config file at %s\n",
+-              jupyconfig.c_str());
+-      return false;
+-   }
+-}
+-
+-////////////////////////////////////////////////////////////////////////////////
+-/// Creates a file that stores the current commit id in it.
+-
+-static bool CreateStamp(string dest)
+-{
+-   ofstream out(dest + pathsep + COMMIT_FILE, ios::trunc);
+-   if (out.is_open()) {
+-      out << gROOT->GetGitCommit();
+-      out.close();
+-      return true;
+-   }
+-   else {
+-      fprintf(stderr,
+-              "Error installing notebook configuration files -- cannot create %s\n",
+-              COMMIT_FILE);
+-      return false;
+-   }
+-}
+-
+-////////////////////////////////////////////////////////////////////////////////
+ /// Spawn a Jupyter notebook customised by ROOT.
+ 
+ int main(int argc, char **argv)
+ {
+-   string rootbin(TROOT::GetBinDir().Data());
+-   string rootlib(TROOT::GetLibDir().Data());
+-   string rootetc(TROOT::GetEtcDir().Data());
+-   string rootdata(TROOT::GetDataDir().Data());
+-
+-   // If needed, install ROOT notebook files in the user's home directory
+-#ifdef WIN32
+-   string homedir(getenv("USERPROFILE"));
+-#else
+-   string homedir(getenv("HOME"));
+-#endif
+-   int inst = CheckNbInstallation(homedir);
+-   if (inst == -1) {
+-      // The etc directory contains the ROOT notebook files to install
+-      string source(rootetc + pathsep + NB_CONF_DIR);
+-      string dest(homedir + pathsep + ROOTNB_DIR);
+-      bool res = InstallNbFiles(source, dest) &&
+-                 CreateJupyterConfig(dest, rootbin, rootlib, rootdata) &&
+-                 CreateStamp(dest);
+-      if (!res) return 1;
+-   }
+-   else if (inst == -2) return 1;
+-
+    // Set IPython directory for the ROOT notebook flavour
+-   string rootnbpath = homedir + pathsep + ROOTNB_DIR;
++   string rootnbpath = pathsep + string("etc") + pathsep + string("root") + pathsep + string("notebook");
+    string jupyconfdir(JUPYTER_CONF_DIR_V + ("=" + rootnbpath));
+    string jupypathdir(JUPYTER_PATH_V + ("=" + rootnbpath));
+    putenv((char *)jupyconfdir.c_str());

Copied: root/repos/community-staging-x86_64/nlohmann_json.patch (from rev 1277658, root/trunk/nlohmann_json.patch)
===================================================================
--- community-staging-x86_64/nlohmann_json.patch	                        (rev 0)
+++ community-staging-x86_64/nlohmann_json.patch	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,32 @@
+diff --git a/graf3d/eve7/inc/ROOT/REveElement.hxx b/graf3d/eve7/inc/ROOT/REveElement.hxx
+index 2a127888a2..9deb3af147 100644
+--- a/graf3d/eve7/inc/ROOT/REveElement.hxx
++++ b/graf3d/eve7/inc/ROOT/REveElement.hxx
+@@ -16,26 +16,13 @@
+ #include <ROOT/REveVector.hxx>
+ #include <ROOT/REveProjectionBases.hxx>
+ 
++#include <nlohmann/json_fwd.hpp>
++
+ #include <map>
+ #include <memory>
+ 
+ class TGeoMatrix;
+ 
+-namespace nlohmann {
+-template<typename T, typename SFINAE>
+-struct adl_serializer;
+-
+-template <template <typename U, typename V, typename... Args> class ObjectType,
+-          template <typename U, typename... Args> class ArrayType, class StringType, class BooleanType,
+-          class NumberIntegerType, class NumberUnsignedType, class NumberFloatType,
+-          template <typename U> class AllocatorType, template <typename T, typename SFINAE = void> class JSONSerializer,
+-          class BinaryType>
+-class basic_json;
+-
+-using json = basic_json<std::map, std::vector, std::string, bool, std::int64_t, std::uint64_t, double, std::allocator,
+-                        adl_serializer, std::vector<std::uint8_t>>;
+-} // namespace nlohmann
+-
+ namespace ROOT {
+ namespace Experimental {

Copied: root/repos/community-staging-x86_64/root.pc.tpl (from rev 1277658, root/trunk/root.pc.tpl)
===================================================================
--- community-staging-x86_64/root.pc.tpl	                        (rev 0)
+++ community-staging-x86_64/root.pc.tpl	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,12 @@
+prefix=_PREFIX
+exec_prefix=_EXECPREFIX
+libdir=_LIBDIR
+includedir=_INCDIR
+
+Name: ROOT
+Description: C++ data analysis framework and interpreter from CERN
+Version: _PKGVERSION
+URL: _UPSTREAM_URL
+Requires: _REQUIRES
+Libs: _LIBRARIES
+Cflags: _CFLAGS

Copied: root/repos/community-staging-x86_64/root.xml (from rev 1277658, root/trunk/root.xml)
===================================================================
--- community-staging-x86_64/root.xml	                        (rev 0)
+++ community-staging-x86_64/root.xml	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
+  <mime-type type="application/x-root">
+    <comment>ROOT file</comment>
+    <comment xml:lang="de">ROOT-Datei</comment>
+    <comment xml:lang="en">ROOT-File</comment>
+    <comment xml:lang="fr">ROOT-Fichier</comment>
+    <comment xml:lang="it">ROOT-File</comment>
+    <glob pattern="*.root"/>
+    <magic priority="80">
+      <match value="root" type="string" offset="0:64"/>
+    </magic>
+  </mime-type>
+</mime-info>

Copied: root/repos/community-staging-x86_64/settings-cuda.cmake (from rev 1277658, root/trunk/settings-cuda.cmake)
===================================================================
--- community-staging-x86_64/settings-cuda.cmake	                        (rev 0)
+++ community-staging-x86_64/settings-cuda.cmake	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,115 @@
+set (CMAKE_BUILD_TYPE Release CACHE STRING "" FORCE)
+set (BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
+set (CMAKE_INSTALL_PREFIX /usr CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_CMAKEDIR /usr/lib/cmake/ROOT CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_BINDIR /usr/bin CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_LIBDIR /usr/lib/root CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_INCLUDEDIR /usr/include CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_SYSCONFDIR /etc/root CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_DATAROOTDIR /usr/share CACHE PATH "" FORCE)
+set (CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE)
+set (CMAKE_CUDA_STANDARD 17 CACHE STRING "" FORCE)
+set (LLVM_CXX_STD c++17 CACHE STRING "" FORCE)
+set (LLVM_BUILD_TYPE Release CACHE STRING "" FORCE)
+set (PYTHIA8_DATA /usr/share/pythia8/xmldoc CACHE PATH "" FORCE)  # sync with pythia8 package
+set (GLEW_DIR /usr/include/GL CACHE PATH "" FORCE)  # need to set manually
+set (alien OFF CACHE BOOL "" FORCE)
+set (all OFF CACHE BOOL "" FORCE)
+set (asimage ON CACHE BOOL "" FORCE)
+set (builtin_afterimage OFF CACHE BOOL "" FORCE)
+set (builtin_clang ON CACHE BOOL "" FORCE)
+set (CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "" FORCE)
+set (CLANG_ANALYZER_BUILD_Z3 ON CACHE BOOL "" FORCE)
+set (builtin_cfitsio OFF CACHE BOOL "" FORCE)
+set (builtin_davix OFF CACHE BOOL "" FORCE)
+set (builtin_fftw3 OFF CACHE BOOL "" FORCE)
+set (builtin_ftgl OFF CACHE BOOL "" FORCE)
+set (builtin_freetype OFF CACHE BOOL "" FORCE)
+set (builtin_gl2ps OFF CACHE BOOL "" FORCE)
+set (builtin_glew OFF CACHE BOOL "" FORCE)
+set (builtin_gsl OFF CACHE BOOL "" FORCE)
+set (builtin_lzma OFF CACHE BOOL "" FORCE)
+set (builtin_nlohmannjson OFF CACHE BOOL "" FORCE)
+set (builtin_openui5 OFF CACHE BOOL "" FORCE)
+set (builtin_llvm ON CACHE BOOL "" FORCE)
+set (builtin_openssl OFF CACHE BOOL "" FORCE)
+set (builtin_pcre OFF CACHE BOOL "" FORCE)
+set (builtin_tbb OFF CACHE BOOL "" FORCE)
+set (builtin_unuran OFF CACHE BOOL "" FORCE)
+set (builtin_vc OFF CACHE BOOL "" FORCE)
+set (builtin_xxhash OFF CACHE BOOL "" FORCE)
+set (builtin_xrootd OFF CACHE BOOL "" FORCE)
+set (builtin_zlib OFF CACHE BOOL "" FORCE)
+set (ccache ON CACHE BOOL "" FORCE)
+set (clad ON CACHE BOOL "" FORCE)
+set (cocoa OFF CACHE BOOL "" FORCE)  # MacOS only
+set (cuda ON CACHE BOOL "" FORCE)
+set (cudnn ON CACHE BOOL "" FORCE)
+set (dataframe ON CACHE BOOL "" FORCE)
+set (davix OFF CACHE BOOL "" FORCE)
+set (dcache OFF CACHE BOOL "" FORCE)
+set (exceptions ON CACHE BOOL "" FORCE)
+set (fail-on-missing ON CACHE BOOL "" FORCE)
+set (fcgi ON CACHE BOOL "" FORCE)
+set (fftw3 ON CACHE BOOL "" FORCE)
+set (fitsio ON CACHE BOOL "" FORCE)
+set (fortran ON CACHE BOOL "" FORCE)
+set (gdml ON CACHE BOOL "" FORCE)
+set (genvector ON CACHE BOOL "" FORCE)
+set (gfal OFF CACHE BOOL "" FORCE)
+set (gl2ps ON CACHE BOOL "" FORCE)
+set (gminimal OFF CACHE BOOL "" FORCE)
+set (gnuinstall ON CACHE BOOL "" FORCE)
+set (gsl_shared ON CACHE BOOL "" FORCE)
+set (gviz ON CACHE BOOL "" FORCE)
+set (http ON CACHE BOOL "" FORCE)
+set (imt ON CACHE BOOL "" FORCE)
+set (jemalloc OFF CACHE BOOL "" FORCE)
+set (mathmore ON CACHE BOOL "" FORCE)
+set (minimal OFF CACHE BOOL "" FORCE)
+set (minuit2 ON CACHE BOOL "" FORCE)
+set (minuit2_mpi ON CACHE BOOL "" FORCE)
+set (minuit2_omp ON CACHE BOOL "" FORCE)
+set (mlp ON CACHE BOOL "" FORCE)
+set (monalisa OFF CACHE BOOL "" FORCE)
+set (mpi ON CACHE BOOL "" FORCE)
+set (mt ON CACHE BOOL "" FORCE)
+set (mysql ON CACHE BOOL "" FORCE)
+set (odbc ON CACHE BOOL "" FORCE)
+set (opengl ON CACHE BOOL "" FORCE)
+set (OpenGL_GL_PREFERENCE GLVND CACHE STRING "" FORCE)  # use new policy since 3.11
+set (oracle OFF CACHE BOOL "" FORCE)
+set (pgsql ON CACHE BOOL "" FORCE)
+set (pythia6 OFF CACHE BOOL "" FORCE)
+set (pythia6_nolink OFF CACHE BOOL "" FORCE)
+set (pythia8 ON CACHE BOOL "" FORCE)
+set (pyroot ON CACHE BOOL "" FORCE)
+set (qt5web ON CACHE BOOL "" FORCE)
+set (roofit ON CACHE BOOL "" FORCE)
+set (root7 ON CACHE BOOL "" FORCE)
+set (roottest OFF CACHE BOOL "" FORCE)
+set (rpath OFF CACHE BOOL "" FORCE)
+set (runtime_cxxmodules OFF CACHE BOOL "" FORCE)  # breaks python
+set (r OFF CACHE BOOL "" FORCE)  # requires r-rcpp
+set (shadowpw ON CACHE BOOL "" FORCE)
+set (shared ON CACHE BOOL "" FORCE)
+set (soversion OFF CACHE BOOL "" FORCE)
+set (spectrum ON CACHE BOOL "" FORCE)
+set (sqlite ON CACHE BOOL "" FORCE)
+set (ssl ON CACHE BOOL "" FORCE)
+set (tbb ON CACHE BOOL "" FORCE)
+set (tcmalloc OFF CACHE BOOL "" FORCE)
+set (testing OFF CACHE BOOL "" FORCE)
+set (tmva ON CACHE BOOL "" FORCE)
+set (tmva-cpu OFF CACHE BOOL "" FORCE)
+set (tmva-gpu ON CACHE BOOL "" FORCE)
+set (tmva-pymva ON CACHE BOOL "" FORCE)
+set (unuran ON CACHE BOOL "" FORCE)
+set (uring ON CACHE BOOL "" FORCE)
+set (vc ON CACHE BOOL "" FORCE)
+set (vdt ON CACHE BOOL "" FORCE)
+set (winrtdebug OFF CACHE BOOL "" FORCE)  # windows only
+set (webgui ON CACHE BOOL "" FORCE)
+set (x11 ON CACHE BOOL "" FORCE)
+set (xml ON CACHE BOOL "" FORCE)
+set (xrootd ON CACHE BOOL "" FORCE)

Copied: root/repos/community-staging-x86_64/settings.cmake (from rev 1277658, root/trunk/settings.cmake)
===================================================================
--- community-staging-x86_64/settings.cmake	                        (rev 0)
+++ community-staging-x86_64/settings.cmake	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,115 @@
+set (CMAKE_BUILD_TYPE Release CACHE STRING "" FORCE)
+set (BUILD_SHARED_LIBS ON CACHE BOOL "" FORCE)
+set (CMAKE_INSTALL_PREFIX /usr CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_CMAKEDIR /usr/lib/cmake/ROOT CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_BINDIR /usr/bin CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_LIBDIR /usr/lib/root CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_INCLUDEDIR /usr/include CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_SYSCONFDIR /etc/root CACHE PATH "" FORCE)
+set (CMAKE_INSTALL_DATAROOTDIR /usr/share CACHE PATH "" FORCE)
+set (CMAKE_CXX_STANDARD 17 CACHE STRING "" FORCE)
+set (CMAKE_CUDA_STANDARD 17 CACHE STRING "" FORCE)
+set (LLVM_CXX_STD c++17 CACHE STRING "" FORCE)
+set (LLVM_BUILD_TYPE Release CACHE STRING "" FORCE)
+set (PYTHIA8_DATA /usr/share/pythia8/xmldoc CACHE PATH "" FORCE)  # sync with pythia8 package
+set (GLEW_DIR /usr/include/GL CACHE PATH "" FORCE)  # need to set manually
+set (alien OFF CACHE BOOL "" FORCE)
+set (all OFF CACHE BOOL "" FORCE)
+set (asimage ON CACHE BOOL "" FORCE)
+set (builtin_afterimage OFF CACHE BOOL "" FORCE)
+set (builtin_clang ON CACHE BOOL "" FORCE)
+set (CLANG_ENABLE_STATIC_ANALYZER ON CACHE BOOL "" FORCE)
+set (CLANG_ANALYZER_BUILD_Z3 ON CACHE BOOL "" FORCE)
+set (builtin_cfitsio OFF CACHE BOOL "" FORCE)
+set (builtin_davix OFF CACHE BOOL "" FORCE)
+set (builtin_fftw3 OFF CACHE BOOL "" FORCE)
+set (builtin_ftgl OFF CACHE BOOL "" FORCE)
+set (builtin_freetype OFF CACHE BOOL "" FORCE)
+set (builtin_gl2ps OFF CACHE BOOL "" FORCE)
+set (builtin_glew OFF CACHE BOOL "" FORCE)
+set (builtin_gsl OFF CACHE BOOL "" FORCE)
+set (builtin_lzma OFF CACHE BOOL "" FORCE)
+set (builtin_nlohmannjson OFF CACHE BOOL "" FORCE)
+set (builtin_openui5 OFF CACHE BOOL "" FORCE)
+set (builtin_llvm ON CACHE BOOL "" FORCE)
+set (builtin_openssl OFF CACHE BOOL "" FORCE)
+set (builtin_pcre OFF CACHE BOOL "" FORCE)
+set (builtin_tbb OFF CACHE BOOL "" FORCE)
+set (builtin_unuran OFF CACHE BOOL "" FORCE)
+set (builtin_vc OFF CACHE BOOL "" FORCE)
+set (builtin_xxhash OFF CACHE BOOL "" FORCE)
+set (builtin_xrootd OFF CACHE BOOL "" FORCE)
+set (builtin_zlib OFF CACHE BOOL "" FORCE)
+set (ccache ON CACHE BOOL "" FORCE)
+set (clad ON CACHE BOOL "" FORCE)
+set (cocoa OFF CACHE BOOL "" FORCE)  # MacOS only
+set (cuda OFF CACHE BOOL "" FORCE)
+set (cudnn OFF CACHE BOOL "" FORCE)
+set (dataframe ON CACHE BOOL "" FORCE)
+set (davix OFF CACHE BOOL "" FORCE)
+set (dcache OFF CACHE BOOL "" FORCE)
+set (exceptions ON CACHE BOOL "" FORCE)
+set (fail-on-missing ON CACHE BOOL "" FORCE)
+set (fcgi ON CACHE BOOL "" FORCE)
+set (fftw3 ON CACHE BOOL "" FORCE)
+set (fitsio ON CACHE BOOL "" FORCE)
+set (fortran ON CACHE BOOL "" FORCE)
+set (gdml ON CACHE BOOL "" FORCE)
+set (genvector ON CACHE BOOL "" FORCE)
+set (gfal OFF CACHE BOOL "" FORCE)
+set (gl2ps ON CACHE BOOL "" FORCE)
+set (gminimal OFF CACHE BOOL "" FORCE)
+set (gnuinstall ON CACHE BOOL "" FORCE)
+set (gsl_shared ON CACHE BOOL "" FORCE)
+set (gviz ON CACHE BOOL "" FORCE)
+set (http ON CACHE BOOL "" FORCE)
+set (imt ON CACHE BOOL "" FORCE)
+set (jemalloc OFF CACHE BOOL "" FORCE)
+set (mathmore ON CACHE BOOL "" FORCE)
+set (minimal OFF CACHE BOOL "" FORCE)
+set (minuit2 ON CACHE BOOL "" FORCE)
+set (minuit2_mpi ON CACHE BOOL "" FORCE)
+set (minuit2_omp ON CACHE BOOL "" FORCE)
+set (mlp ON CACHE BOOL "" FORCE)
+set (monalisa OFF CACHE BOOL "" FORCE)
+set (mpi ON CACHE BOOL "" FORCE)
+set (mt ON CACHE BOOL "" FORCE)
+set (mysql ON CACHE BOOL "" FORCE)
+set (odbc ON CACHE BOOL "" FORCE)
+set (opengl ON CACHE BOOL "" FORCE)
+set (OpenGL_GL_PREFERENCE GLVND CACHE STRING "" FORCE)  # use new policy since 3.11
+set (oracle OFF CACHE BOOL "" FORCE)
+set (pgsql ON CACHE BOOL "" FORCE)
+set (pythia6 OFF CACHE BOOL "" FORCE)
+set (pythia6_nolink OFF CACHE BOOL "" FORCE)
+set (pythia8 ON CACHE BOOL "" FORCE)
+set (pyroot ON CACHE BOOL "" FORCE)
+set (qt5web ON CACHE BOOL "" FORCE)
+set (roofit ON CACHE BOOL "" FORCE)
+set (root7 ON CACHE BOOL "" FORCE)
+set (roottest OFF CACHE BOOL "" FORCE)
+set (rpath OFF CACHE BOOL "" FORCE)
+set (runtime_cxxmodules OFF CACHE BOOL "" FORCE)  # breaks python
+set (r OFF CACHE BOOL "" FORCE)  # requires r-rcpp
+set (shadowpw ON CACHE BOOL "" FORCE)
+set (shared ON CACHE BOOL "" FORCE)
+set (soversion OFF CACHE BOOL "" FORCE)
+set (spectrum ON CACHE BOOL "" FORCE)
+set (sqlite ON CACHE BOOL "" FORCE)
+set (ssl ON CACHE BOOL "" FORCE)
+set (tbb ON CACHE BOOL "" FORCE)
+set (tcmalloc OFF CACHE BOOL "" FORCE)
+set (testing OFF CACHE BOOL "" FORCE)
+set (tmva ON CACHE BOOL "" FORCE)
+set (tmva-cpu ON CACHE BOOL "" FORCE)
+set (tmva-gpu OFF CACHE BOOL "" FORCE)
+set (tmva-pymva ON CACHE BOOL "" FORCE)
+set (unuran ON CACHE BOOL "" FORCE)
+set (uring ON CACHE BOOL "" FORCE)
+set (vc ON CACHE BOOL "" FORCE)
+set (vdt ON CACHE BOOL "" FORCE)
+set (winrtdebug OFF CACHE BOOL "" FORCE)  # windows only
+set (webgui ON CACHE BOOL "" FORCE)
+set (x11 ON CACHE BOOL "" FORCE)
+set (xml ON CACHE BOOL "" FORCE)
+set (xrootd ON CACHE BOOL "" FORCE)

Copied: root/repos/community-staging-x86_64/thisroot.fail (from rev 1277658, root/trunk/thisroot.fail)
===================================================================
--- community-staging-x86_64/thisroot.fail	                        (rev 0)
+++ community-staging-x86_64/thisroot.fail	2022-08-24 22:42:39 UTC (rev 1277659)
@@ -0,0 +1,49 @@
+#!/bin/bash
+
+# thisroot.* scripts should not be used to
+# configure ROOT on Arch. Notify user and
+# return an error
+
+# default behaviour
+__THIS_ROOT_ERROR_AS_WARNING__=0
+__THIS_ROOT_RETURNCODE__=1
+__THIS_ROOT_MESSAGE__='ERROR'
+__THIS_ROOT_REGEX_TEST__='^(no|n|0|off)$'
+
+
+function fail {
+    printf '%s\n' "$1" >&2
+    return "${2:-$1}"
+}
+
+# [FS#71639](https://bugs.archlinux.org/task/71639)
+if [[ ! -z "${THIS_ROOT_ERROR_AS_WARNING}" ]]; then
+  THIS_ROOT_ERROR_AS_WARNING=$(echo "${THIS_ROOT_ERROR_AS_WARNING}" | tr '[:upper:]' '[:lower:]')
+  if [[ ! ${THIS_ROOT_ERROR_AS_WARNING} =~ ${__THIS_ROOT_REGEX_TEST__} ]]; then
+    __THIS_ROOT_ERROR_AS_WARNING__=1
+  fi
+fi
+
+if [[ ${__THIS_ROOT_ERROR_AS_WARNING__} -eq 1 ]]; then
+  __THIS_ROOT_RETURNCODE__=0
+  __THIS_ROOT_MESSAGE__='WARNING'
+fi
+
+__THIS_ROOT_CORE_MESSAGE__="""${__THIS_ROOT_MESSAGE__}: thisroot.sh type scripts are no longer supported.
+They should never be used! This includes their other forms: thisroot.csh, thisroot.fish, etc."""
+
+__THIS_ROOT_ERROR_EXTRA_MESSAGE__="""If you would prefer to see this error as a warning, please use the
+environment variable 'THIS_ROOT_ERROR_AS_WARNING'.
+For example, you may run your original command like so:
+  THIS_ROOT_ERROR_AS_WARNING=1 mycommand
+or even:
+  THIS_ROOT_ERROR_AS_WARNING=ON mycommand"""
+
+if [[ ${__THIS_ROOT_ERROR_AS_WARNING__} -eq 1 ]]; then
+  __THIS_ROOT_FINAL_MESSAGE__="${__THIS_ROOT_CORE_MESSAGE__}"
+else
+  __THIS_ROOT_FINAL_MESSAGE__="""${__THIS_ROOT_CORE_MESSAGE__}
+${__THIS_ROOT_ERROR_EXTRA_MESSAGE__=}"""
+fi
+
+fail "${__THIS_ROOT_FINAL_MESSAGE__}" ${__THIS_ROOT_RETURNCODE__}



More information about the arch-commits mailing list