From edf9c945c0fcc3fb25ba24c73191a08d19d903dd Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Sun, 7 Jul 2024 22:05:11 +0200 Subject: [PATCH 1/2] Remove unused patches --- recipe/0001-Add-missing-libs.patch | 39 ---- ...001-Fix-using-external-nlohmann_json.patch | 25 --- .../0001-Fix-the-compilation.patch | 25 --- .../0002-Make-datamember-protected.patch | 26 --- recipe/meta.yaml | 4 +- ...ad-build-for-use-with-external-clang.patch | 25 --- .../0001-Patch-for-apple-silicon.patch | 19 +- .../0001-Support-standalone-pyroot.patch | 0 ...0001-Use-find_package-for-llvm-clang.patch | 35 ---- ...-github.com-root-project-root-issues.patch | 53 ----- ...-urandom-for-increased-compatibility.patch | 74 ------- ...ad-to-clang-only-if-target-available.patch | 34 ---- ...braryManagerSymbol-for-external-LLVM.patch | 32 --- recipe/patches/6503.diff | 38 ---- recipe/patches/jupyroot.patch | 42 ---- recipe/patches/pr-11457.patch | 106 ---------- .../root-6.20.0-install-pyroot-headers.patch | 30 --- ...26.0-Do-not-link-libCoreEntitlements.patch | 30 --- recipe/patches/root-6819.patch | 57 ------ .../root-x.xx.xx_patch-nbmain-for-conda.patch | 188 ------------------ 20 files changed, 15 insertions(+), 867 deletions(-) delete mode 100644 recipe/0001-Add-missing-libs.patch delete mode 100644 recipe/0001-Fix-using-external-nlohmann_json.patch delete mode 100644 recipe/llvm-patches/0001-Fix-the-compilation.patch delete mode 100644 recipe/llvm-patches/0002-Make-datamember-protected.patch delete mode 100644 recipe/patches/0001-Patch-clad-build-for-use-with-external-clang.patch rename recipe/{ => patches}/0001-Support-standalone-pyroot.patch (100%) delete mode 100644 recipe/patches/0001-Use-find_package-for-llvm-clang.patch delete mode 100644 recipe/patches/0001-Workaround-https-github.com-root-project-root-issues.patch delete mode 100644 recipe/patches/0001-core-Fallback-to-urandom-for-increased-compatibility.patch delete mode 100644 recipe/patches/0001-core-Link-clad-to-clang-only-if-target-available.patch delete mode 100644 recipe/patches/0002-Fix-DynamicLibraryManagerSymbol-for-external-LLVM.patch delete mode 100644 recipe/patches/6503.diff delete mode 100644 recipe/patches/jupyroot.patch delete mode 100644 recipe/patches/pr-11457.patch delete mode 100644 recipe/patches/root-6.20.0-install-pyroot-headers.patch delete mode 100644 recipe/patches/root-6.26.0-Do-not-link-libCoreEntitlements.patch delete mode 100644 recipe/patches/root-6819.patch delete mode 100644 recipe/patches/root-x.xx.xx_patch-nbmain-for-conda.patch diff --git a/recipe/0001-Add-missing-libs.patch b/recipe/0001-Add-missing-libs.patch deleted file mode 100644 index 9599f1fb..00000000 --- a/recipe/0001-Add-missing-libs.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 9e685b362c045125a8a2c78f684653ede72fb286 Mon Sep 17 00:00:00 2001 -From: Chris Burr -Date: Sat, 13 Mar 2021 11:17:09 +0100 -Subject: [PATCH] Add missing libs - ---- - core/metacling/src/CMakeLists.txt | 2 +- - main/CMakeLists.txt | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/core/metacling/src/CMakeLists.txt b/core/metacling/src/CMakeLists.txt -index 245444a73a..dc0775661d 100644 ---- a/core/metacling/src/CMakeLists.txt -+++ b/core/metacling/src/CMakeLists.txt -@@ -105,7 +105,7 @@ ROOT_LINKER_LIBRARY(Cling - $ - $ - $ -- LIBRARIES ${CLING_LIBRARIES} ${LINK_LIBS} ${CLING_PLUGIN_LINK_LIBS}) -+ LIBRARIES ${CLING_LIBRARIES} ${LINK_LIBS} ${CLING_PLUGIN_LINK_LIBS} LLVMAnalysis) - - if(MSVC) - set_target_properties(Cling PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) -diff --git a/main/CMakeLists.txt b/main/CMakeLists.txt -index d3e7d52430..7f7d3188d8 100644 ---- a/main/CMakeLists.txt -+++ b/main/CMakeLists.txt -@@ -80,7 +80,7 @@ else() - set_source_files_properties(src/rootcling.cxx PROPERTIES COMPILE_FLAGS ${CLING_CXXFLAGS}) - endif() - --ROOT_EXECUTABLE(rootcling src/rootcling.cxx LIBRARIES RIO Cling Core) -+ROOT_EXECUTABLE(rootcling src/rootcling.cxx LIBRARIES RIO Cling Core LLVMSupport LLVMAnalysis) - - # rootcling includes the ROOT complex header which would build the complex - # dictionary with modules. To make sure that rootcling_stage1 builds this --- -2.29.2 - diff --git a/recipe/0001-Fix-using-external-nlohmann_json.patch b/recipe/0001-Fix-using-external-nlohmann_json.patch deleted file mode 100644 index 1c75c172..00000000 --- a/recipe/0001-Fix-using-external-nlohmann_json.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 3ae8447d25e5a3ed29e6433f6a4afb7897dd65f9 Mon Sep 17 00:00:00 2001 -From: Chris Burr -Date: Tue, 13 Apr 2021 06:56:48 +0200 -Subject: [PATCH] Fix using external nlohmann_json - ---- - graf3d/eve7/inc/ROOT/REveElement.hxx | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/graf3d/eve7/inc/ROOT/REveElement.hxx b/graf3d/eve7/inc/ROOT/REveElement.hxx -index d31ba22b65..68bcb1d164 100644 ---- a/graf3d/eve7/inc/ROOT/REveElement.hxx -+++ b/graf3d/eve7/inc/ROOT/REveElement.hxx -@@ -18,7 +18,7 @@ - - #include - --#include -+#include - - class TGeoMatrix; - --- -2.29.2 - diff --git a/recipe/llvm-patches/0001-Fix-the-compilation.patch b/recipe/llvm-patches/0001-Fix-the-compilation.patch deleted file mode 100644 index 1997f2b5..00000000 --- a/recipe/llvm-patches/0001-Fix-the-compilation.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 6c1eb8bc040b7a4cbb7af82ff868047d7f3ad32c Mon Sep 17 00:00:00 2001 -From: Vassil Vassilev -Date: Sun, 5 Apr 2020 10:42:13 +0300 -Subject: [PATCH 2/4] Fix the compilation - ---- - include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h b/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h -index 16202d89f86..3afdac3438b 100644 ---- a/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h -+++ b/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h -@@ -220,7 +220,7 @@ public: - Error removeModule(VModuleKey K) { - auto I = ModuleMap.find(K); - assert(I != ModuleMap.end() && "VModuleKey K not valid here"); -- auto EDM = std::move(I.second); -+ auto EDM = std::move(I->second); - ModuleMap.erase(I); - return EDM->removeModuleFromBaseLayer(BaseLayer); - } --- -2.29.2 - diff --git a/recipe/llvm-patches/0002-Make-datamember-protected.patch b/recipe/llvm-patches/0002-Make-datamember-protected.patch deleted file mode 100644 index 23d25cff..00000000 --- a/recipe/llvm-patches/0002-Make-datamember-protected.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 210f3f3e780a565278a2b0bb08dfb2d5c024682f Mon Sep 17 00:00:00 2001 -From: Vassil Vassilev -Date: Sun, 5 Apr 2020 10:45:01 +0300 -Subject: [PATCH 3/4] Make datamember protected. - ---- - include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h b/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h -index d9535ce5f21..4c688c3da84 100644 ---- a/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h -+++ b/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h -@@ -472,7 +472,9 @@ private: - - // NB! `LinkedObjects` needs to be destroyed before `NotifyFreed` because - // `~ConcreteLinkedObject` calls `NotifyFreed` -+protected: - std::map> LinkedObjects; -+private: - bool ProcessAllSections = false; - }; - --- -2.29.2 - diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 7fa3246f..249c715a 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -36,14 +36,12 @@ source: - patches/0001-Patch-for-apple-silicon.patch - patches/0001-Set-LLVM_REQUIRES_EH-for-Cling.patch - patches/disable-hsimple.root # [build_platform != target_platform] - - patches/0001-core-Fallback-to-urandom-for-increased-compatibility.patch - - patches/0001-core-Link-clad-to-clang-only-if-target-available.patch - patches/0001-Reset-CMAKE-module-path-for-interpreter.patch - patches/0001-force-one-modulemap-for-darwin.patch # [osx] - patches/0001-Remove-check-for-SDK-version-in-CIFactory.patch # [osx] - patches/0001-avoid-linking-TPython-against-libPython.patch # [osx] {% if not builtin_pyroot %} - - 0001-Support-standalone-pyroot.patch + - patches/0001-Support-standalone-pyroot.patch {% endif %} build: diff --git a/recipe/patches/0001-Patch-clad-build-for-use-with-external-clang.patch b/recipe/patches/0001-Patch-clad-build-for-use-with-external-clang.patch deleted file mode 100644 index 7035a967..00000000 --- a/recipe/patches/0001-Patch-clad-build-for-use-with-external-clang.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 9dce54201900525af3091ce5bd8c66610844aa06 Mon Sep 17 00:00:00 2001 -From: Chris Burr -Date: Tue, 2 Jun 2020 06:57:35 +0200 -Subject: [PATCH 1/2] Patch clad build for use with external clang - ---- - interpreter/cling/tools/plugins/clad/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/interpreter/cling/tools/plugins/clad/CMakeLists.txt b/interpreter/cling/tools/plugins/clad/CMakeLists.txt -index add70cd7f2..b2b350a414 100644 ---- a/interpreter/cling/tools/plugins/clad/CMakeLists.txt -+++ b/interpreter/cling/tools/plugins/clad/CMakeLists.txt -@@ -70,7 +70,7 @@ else() - -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER} - -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} - -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -- -DClang_DIR=${LLVM_BINARY_DIR}/tools/clang/ -+ -DClang_DIR=${LLVM_BINARY_DIR}/lib/cmake/clang/ - -DCLANG_INCLUDE_DIRS=${CLANG_INCLUDE_DIRS} - -DCLAD_BUILD_STATIC_ONLY=ON - ${_clad_extra_cmake_args} --- -2.27.0 - diff --git a/recipe/patches/0001-Patch-for-apple-silicon.patch b/recipe/patches/0001-Patch-for-apple-silicon.patch index b9ab0ad5..217fdcbe 100644 --- a/recipe/patches/0001-Patch-for-apple-silicon.patch +++ b/recipe/patches/0001-Patch-for-apple-silicon.patch @@ -1,14 +1,14 @@ -From d1e56d4a37eff018ddbb19df750f77ea1388ea13 Mon Sep 17 00:00:00 2001 +From b156b2c874bbcca3d160be87a0e1dced85034e62 Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano -Date: Thu, 13 Jun 2024 16:23:27 +0200 +Date: Thu, 4 Jul 2024 11:43:29 +0200 Subject: [PATCH] Patch for apple silicon --- - cmake/modules/SearchInstalledSoftware.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + cmake/modules/SearchInstalledSoftware.cmake | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/modules/SearchInstalledSoftware.cmake b/cmake/modules/SearchInstalledSoftware.cmake -index 109602f5e2..d4c4c7c66b 100644 +index 109602f5e2..9d75aa0f0a 100644 --- a/cmake/modules/SearchInstalledSoftware.cmake +++ b/cmake/modules/SearchInstalledSoftware.cmake @@ -37,7 +37,7 @@ endif() @@ -20,3 +20,12 @@ index 109602f5e2..d4c4c7c66b 100644 else() message(STATUS "Cocoa option can only be enabled on MacOSX platform") set(cocoa OFF CACHE BOOL "Disabled because only available on MacOSX (${cocoa_description})" FORCE) +@@ -114,7 +114,7 @@ if(NOT builtin_freetype) + set(FREETYPE_INCLUDE_DIR ${FREETYPE_INCLUDE_DIR_freetype2}) + else() + message(STATUS "FreeType not found. Switching on builtin_freetype option") +- set(builtin_freetype ON CACHE BOOL "Enabled because FreeType not found (${builtin_freetype_description})" FORCE) ++ set(builtin_freetype OFF CACHE BOOL "Enabled because FreeType not found (${builtin_freetype_description})" FORCE) + endif() + endif() + endif() diff --git a/recipe/0001-Support-standalone-pyroot.patch b/recipe/patches/0001-Support-standalone-pyroot.patch similarity index 100% rename from recipe/0001-Support-standalone-pyroot.patch rename to recipe/patches/0001-Support-standalone-pyroot.patch diff --git a/recipe/patches/0001-Use-find_package-for-llvm-clang.patch b/recipe/patches/0001-Use-find_package-for-llvm-clang.patch deleted file mode 100644 index 19d11533..00000000 --- a/recipe/patches/0001-Use-find_package-for-llvm-clang.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 0ff549745cc0c1f464b6fbc30e8c4ae29c28e5df Mon Sep 17 00:00:00 2001 -From: Chris Burr -Date: Mon, 8 Feb 2021 00:23:35 +0100 -Subject: [PATCH] Use find_package for llvm/clang - ---- - interpreter/CMakeLists.txt | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/interpreter/CMakeLists.txt b/interpreter/CMakeLists.txt -index 39dc895cce..4e0556af48 100644 ---- a/interpreter/CMakeLists.txt -+++ b/interpreter/CMakeLists.txt -@@ -286,6 +286,9 @@ else() - - set(LLVM_DIR "${LLVM_BINARY_DIR}") - -+ find_package(LLVM REQUIRED HINTS "${LLVM_CMAKE_PATH}") -+ find_package(Clang REQUIRED HINTS "${LLVM_CMAKE_PATH}") -+ - # Normalize LLVM_CMAKE_PATH. --cmakedir might contain backslashes. - # CMake assumes slashes as PATH. - file(TO_CMAKE_PATH ${LLVM_CONFIG_CMAKE_PATH} LLVM_CMAKE_PATH) -@@ -449,7 +452,7 @@ if (builtin_cling) - # LLVM doesn't really give us a API to get this with an in-source build - # so we just use the normal way of doing this and read the llvm directory - # compilation properties. -- get_directory_property(LLVM_DEFS DIRECTORY llvm/src COMPILE_DEFINITIONS) -+ set(LLVM_DEFS "_GNU_SOURCE;__STDC_CONSTANT_MACROS;__STDC_FORMAT_MACROS;__STDC_LIMIT_MACROS") - # Turns DEFINE1;DEFINE2 to -DDEFINE1 -DDEFINE2 - string (REPLACE ";" " -D" LLVM_DEFS ";${LLVM_DEFS}") - --- -2.30.0 - diff --git a/recipe/patches/0001-Workaround-https-github.com-root-project-root-issues.patch b/recipe/patches/0001-Workaround-https-github.com-root-project-root-issues.patch deleted file mode 100644 index dec36512..00000000 --- a/recipe/patches/0001-Workaround-https-github.com-root-project-root-issues.patch +++ /dev/null @@ -1,53 +0,0 @@ -From e4bac1a0c2a0912e8ede21b98a3bd0fae14fd58a Mon Sep 17 00:00:00 2001 -From: Chris Burr -Date: Mon, 30 Aug 2021 18:05:43 +0200 -Subject: [PATCH] Workaround https://github.com/root-project/root/issues/8933 - ---- - bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt | 2 +- - bindings/pyroot/cppyy/cppyy-backend/CMakeLists.txt | 2 +- - bindings/pyroot_legacy/CMakeLists.txt | 2 +- - 3 files changed, 3 insertions(+), 3 deletions(-) - -diff --git a/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt b/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt -index d8bf461350..a2965efec6 100644 ---- a/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt -+++ b/bindings/pyroot/cppyy/CPyCppyy/CMakeLists.txt -@@ -115,7 +115,7 @@ foreach(val RANGE ${how_many_pythons}) - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) - if (NOT MSVC AND NOT CMAKE_INSTALL_LIBDIR STREQUAL CMAKE_INSTALL_PYTHONDIR) - # add a symlink to ${libname} in CMAKE_INSTALL_PYTHONDIR -- set(LIB_FILE_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${CMAKE_SHARED_LIBRARY_SUFFIX}) -+ set(LIB_FILE_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}.so) - install(CODE "file(CREATE_LINK ${PYTHONDIR_TO_LIBDIR}/${LIB_FILE_NAME} - \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_PYTHONDIR}/${LIB_FILE_NAME} SYMBOLIC)") - endif() -diff --git a/bindings/pyroot/cppyy/cppyy-backend/CMakeLists.txt b/bindings/pyroot/cppyy/cppyy-backend/CMakeLists.txt -index dda8b48489..da04499953 100644 ---- a/bindings/pyroot/cppyy/cppyy-backend/CMakeLists.txt -+++ b/bindings/pyroot/cppyy/cppyy-backend/CMakeLists.txt -@@ -49,7 +49,7 @@ foreach(val RANGE ${how_many_pythons}) - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) - if (NOT MSVC AND NOT CMAKE_INSTALL_LIBDIR STREQUAL CMAKE_INSTALL_PYTHONDIR) - # add a symlink to ${libname} in CMAKE_INSTALL_PYTHONDIR -- set(LIB_FILE_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}${CMAKE_SHARED_LIBRARY_SUFFIX}) -+ set(LIB_FILE_NAME ${CMAKE_SHARED_LIBRARY_PREFIX}${libname}.so) - install(CODE "file(CREATE_LINK ${PYTHONDIR_TO_LIBDIR}/${LIB_FILE_NAME} - \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_PYTHONDIR}/${LIB_FILE_NAME} SYMBOLIC)") - endif() -diff --git a/bindings/pyroot_legacy/CMakeLists.txt b/bindings/pyroot_legacy/CMakeLists.txt -index e52fdbed30..0aeb394df0 100644 ---- a/bindings/pyroot_legacy/CMakeLists.txt -+++ b/bindings/pyroot_legacy/CMakeLists.txt -@@ -106,7 +106,7 @@ endforeach() - - if (NOT MSVC AND NOT CMAKE_INSTALL_LIBDIR STREQUAL CMAKE_INSTALL_PYTHONDIR) - # add a symlink to libPyROOT.so in CMAKE_INSTALL_PYTHONDIR -- set(PYROOT_LIBNAME ${CMAKE_SHARED_LIBRARY_PREFIX}PyROOT${CMAKE_SHARED_LIBRARY_SUFFIX}) -+ set(PYROOT_LIBNAME ${CMAKE_SHARED_LIBRARY_PREFIX}PyROOT.so) - file(RELATIVE_PATH PYTHONDIR_TO_LIBDIR "${CMAKE_INSTALL_FULL_PYTHONDIR}" "${CMAKE_INSTALL_FULL_LIBDIR}") - install(CODE "file(CREATE_LINK ${PYTHONDIR_TO_LIBDIR}/${PYROOT_LIBNAME} - \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_PYTHONDIR}/${PYROOT_LIBNAME} SYMBOLIC)") --- -2.27.0 - diff --git a/recipe/patches/0001-core-Fallback-to-urandom-for-increased-compatibility.patch b/recipe/patches/0001-core-Fallback-to-urandom-for-increased-compatibility.patch deleted file mode 100644 index 60b7a125..00000000 --- a/recipe/patches/0001-core-Fallback-to-urandom-for-increased-compatibility.patch +++ /dev/null @@ -1,74 +0,0 @@ -From 4e202e50c9ee44747e60780e7d1a589ee16a3b6a Mon Sep 17 00:00:00 2001 -From: Vincenzo Eduardo Padulano -Date: Mon, 6 May 2024 11:01:58 +0200 -Subject: [PATCH] [core] Fallback to urandom for increased compatibility - -Systems with older versions of glibc do not have modern functions to get -cryptographically secure random numbers. Introduce a fallback to using -`/dev/urandom` in such cases. A notable example is the conda-build environment -which is based on Centos7 where the glibc version is 2.17 ---- - core/unix/CMakeLists.txt | 29 ++++++++++++++++++++++++++++- - core/unix/src/TUnixSystem.cxx | 6 ++++++ - 2 files changed, 34 insertions(+), 1 deletion(-) - -diff --git a/core/unix/CMakeLists.txt b/core/unix/CMakeLists.txt -index 49502f1a6c..9e432095f3 100644 ---- a/core/unix/CMakeLists.txt -+++ b/core/unix/CMakeLists.txt -@@ -51,7 +51,34 @@ else() - message(STATUS "Found getrandom in sys/random.h") - target_compile_definitions(Core PRIVATE R__GETRANDOM_CLIB) - else() -- message(FATAL_ERROR "Fail to detect cryptographic random generator") -+ CHECK_CXX_SOURCE_RUNS(" -+ #include -+ -+ int main() { -+ std::ifstream urandom{\"/dev/urandom\"}; -+ if (!urandom) { -+ // This will make the CMake command fail -+ return 1; -+ } -+ -+ constexpr int len{32}; -+ char buf[len]; -+ for (int n = 0; n < len; n++) buf[n] = 0; -+ urandom.read(buf, len); -+ -+ int nmatch = 0; -+ for (int n = 0; n < len; n++) -+ if (buf[n] == 0) nmatch++; -+ -+ // Fail if no values have changed -+ return nmatch != len ? 0 : 1; -+ }" found_urandom) -+ if(found_urandom) -+ message(STATUS "Found random device in /dev/urandom") -+ target_compile_definitions(Core PRIVATE R__USE_URANDOM) -+ else() -+ message(FATAL_ERROR "Fail to detect cryptographic random generator") -+ endif() - endif() - endif() - endif() -diff --git a/core/unix/src/TUnixSystem.cxx b/core/unix/src/TUnixSystem.cxx -index 2ad9eb2b8a..8e8c799b2f 100644 ---- a/core/unix/src/TUnixSystem.cxx -+++ b/core/unix/src/TUnixSystem.cxx -@@ -744,6 +744,12 @@ Int_t TUnixSystem::GetCryptoRandom(void *buf, Int_t len) - return len; - #elif defined(R__GETRANDOM_CLIB) - return getrandom(buf, len, GRND_NONBLOCK); -+#elif defined(R__USE_URANDOM) -+ std::ifstream urandom{"/dev/urandom"}; -+ if (!urandom) -+ return -1; -+ urandom.read(reinterpret_cast(buf), len); -+ return len; - #else - #error "Reliable cryptographic random function not defined" - return -1; --- -2.44.0 - diff --git a/recipe/patches/0001-core-Link-clad-to-clang-only-if-target-available.patch b/recipe/patches/0001-core-Link-clad-to-clang-only-if-target-available.patch deleted file mode 100644 index 5b13e478..00000000 --- a/recipe/patches/0001-core-Link-clad-to-clang-only-if-target-available.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 69292a616808ac145ec9cd3a4e548ee7a6c87a81 Mon Sep 17 00:00:00 2001 -From: Vincenzo Eduardo Padulano -Date: Wed, 29 May 2024 16:12:22 +0200 -Subject: [PATCH] [core] Link clad to clang only if target available - -The target is not available if we are not building clang in the ROOT build, e.g. in the ROOT conda releases. ---- - core/metacling/src/CMakeLists.txt | 10 ++++++---- - 1 file changed, 6 insertions(+), 4 deletions(-) - -diff --git a/core/metacling/src/CMakeLists.txt b/core/metacling/src/CMakeLists.txt -index 194d334cb9..eea33c6471 100644 ---- a/core/metacling/src/CMakeLists.txt -+++ b/core/metacling/src/CMakeLists.txt -@@ -103,10 +103,12 @@ if (clad) - else() - set(CLING_PLUGIN_LINK_LIBS -Wl,--whole-archive cladPlugin cladDifferentiator -Wl,--no-whole-archive) - endif() -- # Link our clad libraries to clang. If users use the clang from ROOT they will -- # also be able to use clad out of the box. -- add_dependencies(clang clad) -- target_link_libraries(clang PUBLIC ${CLING_PLUGIN_LINK_LIBS}) -+ if(TARGET clang) -+ # Link our clad libraries to clang. If users use the clang from ROOT they will -+ # also be able to use clad out of the box. -+ add_dependencies(clang clad) -+ target_link_libraries(clang PUBLIC ${CLING_PLUGIN_LINK_LIBS}) -+ endif() - endif() - - ROOT_LINKER_LIBRARY(Cling --- -2.44.0 - diff --git a/recipe/patches/0002-Fix-DynamicLibraryManagerSymbol-for-external-LLVM.patch b/recipe/patches/0002-Fix-DynamicLibraryManagerSymbol-for-external-LLVM.patch deleted file mode 100644 index 90bcfa1e..00000000 --- a/recipe/patches/0002-Fix-DynamicLibraryManagerSymbol-for-external-LLVM.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 3733ba086d4ec51ed81e961c4712713924c87042 Mon Sep 17 00:00:00 2001 -From: Chris Burr -Date: Tue, 2 Jun 2020 06:58:40 +0200 -Subject: [PATCH 2/2] Fix DynamicLibraryManagerSymbol for external LLVM - ---- - .../cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp | 6 ------ - 1 file changed, 6 deletions(-) - -diff --git a/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp b/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp -index 3f028d35dc..982ea77f67 100644 ---- a/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp -+++ b/interpreter/cling/lib/Interpreter/DynamicLibraryManagerSymbol.cpp -@@ -25,15 +25,9 @@ - #include - #include - --#include "llvm/Config/config.h" // Get configuration settings -- --#if defined(HAVE_DLFCN_H) && defined(HAVE_DLOPEN) - #include --#endif - --#ifdef HAVE_UNISTD_H - #include --#endif // HAVE_UNISTD_H - - #ifdef __APPLE__ - #include --- -2.27.0 - diff --git a/recipe/patches/6503.diff b/recipe/patches/6503.diff deleted file mode 100644 index a8bba1c1..00000000 --- a/recipe/patches/6503.diff +++ /dev/null @@ -1,38 +0,0 @@ -diff --git a/interpreter/CMakeLists.txt b/interpreter/CMakeLists.txt -index 01d20e1bac3..aaffffe4cf3 100644 ---- a/interpreter/CMakeLists.txt -+++ b/interpreter/CMakeLists.txt -@@ -29,6 +29,7 @@ set(LLVM_TOOL_LLVM_AR_BUILD OFF CACHE BOOL "") - set(CLANG_TOOL_CLANG_OFFLOAD_BUNDLER_BUILD OFF CACHE BOOL "") - set(LLVM_FORCE_USE_OLD_TOOLCHAIN ON CACHE BOOL "") - -+# will be set again in case NOT builtin_llvm - set(LLVM_DIR "${CMAKE_BINARY_DIR}/interpreter/llvm/src") - if (clad) - set(CLING_BUILD_PLUGINS ON) -@@ -405,15 +406,17 @@ Please install Python or specify the PYTHON_EXECUTABLE CMake variable.") - set( CLANG_BUILT_STANDALONE 1 ) - set(BACKEND_PACKAGE_STRING "LLVM ${LLVM_PACKAGE_VERSION}") - -+ # must be set before add_subdirectory(cling): it can change the value of LLVM_BINARY_DIR -+ set(LLVM_DIR "${LLVM_BINARY_DIR}") -+ if (builtin_clang) -+ # For builtin LLVM this is set in interpreter/llvm/src/CMakeLists.txt -+ set(Clang_DIR ${LLVM_BINARY_DIR}/tools/clang/) -+ add_subdirectory(llvm/src/tools/clang EXCLUDE_FROM_ALL) -+ else() -+ set(Clang_DIR ${LLVM_BINARY_DIR}/lib/cmake/clang/) -+ add_subdirectory(cling) -+ endif() - --if (builtin_clang) -- # For builtin LLVM this is set in interpreter/llvm/src/CMakeLists.txt -- set(Clang_DIR ${LLVM_BINARY_DIR}/tools/clang/) -- add_subdirectory(llvm/src/tools/clang EXCLUDE_FROM_ALL) --else() -- set(Clang_DIR ${LLVM_BINARY_DIR}/lib/cmake/clang/) -- add_subdirectory(cling) --endif() - endif(builtin_llvm) - - #---Export the include directories------------------------------------------------------------------ diff --git a/recipe/patches/jupyroot.patch b/recipe/patches/jupyroot.patch deleted file mode 100644 index e0a12833..00000000 --- a/recipe/patches/jupyroot.patch +++ /dev/null @@ -1,42 +0,0 @@ -diff --git a/bindings/jupyroot/CMakeLists.txt b/bindings/jupyroot/CMakeLists.txt -index 69d48085dc..edc191bfe1 100644 ---- a/bindings/jupyroot/CMakeLists.txt -+++ b/bindings/jupyroot/CMakeLists.txt -@@ -34,12 +34,23 @@ foreach(val RANGE ${how_many_pythons}) - list(GET python_under_version_strings ${val} python_under_version_string) - list(GET python_include_dirs ${val} python_include_dir) - list(GET python_executables ${val} python_executable) -- list(GET python_libraries ${val} python_library) - - set(libname JupyROOT${python_under_version_string}) - - # libJupyROOT uses ROOT headers from source dirs and depends on Core -- ROOT_LINKER_LIBRARY(${libname} src/IOHandler.cxx LIBRARIES ${python_library} DEPENDENCIES Core CMAKENOEXPORT) -+ add_library(${libname} SHARED src/IOHandler.cxx) -+ # Set the suffix to '.so' and the prefix to 'lib' -+ set_target_properties(${libname} PROPERTIES ${ROOT_LIBRARY_PROPERTIES}) -+ if(MSVC) -+ set_target_properties(${libname} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS TRUE) -+ set_target_properties(${libname} PROPERTIES SUFFIX ".pyd") -+ target_link_libraries(${libname} PUBLIC Core) -+ elseif(APPLE) -+ target_link_libraries(${libname} PUBLIC -Wl,-bind_at_load -Wl,-undefined -Wl,dynamic_lookup Core) -+ else() -+ target_link_libraries(${libname} PUBLIC -Wl,--unresolved-symbols=ignore-all Core) -+ endif() -+ - target_include_directories(${libname} PRIVATE ${python_include_dir}) - - # Disables warnings originating from deprecated register keyword in Python -@@ -58,7 +69,10 @@ foreach(val RANGE ${how_many_pythons}) - endforeach() - - # Install library -- install(TARGETS ${libname} EXPORT ${CMAKE_PROJECT_NAME}Exports DESTINATION ${runtimedir}) -+ install(TARGETS ${libname} EXPORT ${CMAKE_PROJECT_NAME}Exports -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT libraries -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries) - - endforeach() - diff --git a/recipe/patches/pr-11457.patch b/recipe/patches/pr-11457.patch deleted file mode 100644 index 6114f616..00000000 --- a/recipe/patches/pr-11457.patch +++ /dev/null @@ -1,106 +0,0 @@ -From e77bcb0fdd0bc622213c33ad7094d28737fe51e7 Mon Sep 17 00:00:00 2001 -From: Enric Tejedor Saavedra -Date: Wed, 28 Sep 2022 14:20:46 +0200 -Subject: [PATCH] [PyROOT] Fixes for garbage collection in Python 3.11 - -According to the list of changes in Python 3.11: - -https://docs.python.org/3.11/whatsnew/3.11.html - -types defined with the Py_TPFLAGS_HAVE_GC flag set but with no -traverse function (PyTypeObject.tp_traverse) will cause an error. - -The above is true for a few types that are defined in cppyy. -This commit removes the aforementioned flag from those type -definitions with no traverse function. It also sets the right -flags for the nonified object type; this fixes the teardown GC -crashes observed when the internal memory management of ROOT -was involved (e.g. the garbage collection of a tree that belongs -to a file). ---- - .../pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx | 1 - - .../cppyy/CPyCppyy/src/CustomPyTypes.cxx | 3 +-- - .../cppyy/CPyCppyy/src/MemoryRegulator.cxx | 3 ++- - bindings/pyroot/cppyy/patches/gc_flags.patch | 26 +++++++++++++++++++ - 4 files changed, 29 insertions(+), 4 deletions(-) - create mode 100644 bindings/pyroot/cppyy/patches/gc_flags.patch - -diff --git a/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx b/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx -index 73fb8099b5dd..f2eea396af1b 100644 ---- a/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx -+++ b/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx -@@ -764,7 +764,6 @@ PyTypeObject CPPInstance_Type = { - 0, // tp_as_buffer - Py_TPFLAGS_DEFAULT | - Py_TPFLAGS_BASETYPE | -- Py_TPFLAGS_HAVE_GC | - Py_TPFLAGS_CHECKTYPES, // tp_flags - (char*)"cppyy object proxy (internal)", // tp_doc - 0, // tp_traverse -diff --git a/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx b/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx -index 97ce06daa717..ed41b1637c67 100644 ---- a/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx -+++ b/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx -@@ -78,8 +78,7 @@ PyTypeObject TypedefPointerToClass_Type = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - (ternaryfunc)tpc_call, // tp_call - 0, 0, 0, 0, -- Py_TPFLAGS_DEFAULT | -- Py_TPFLAGS_HAVE_GC, // tp_flags -+ Py_TPFLAGS_DEFAULT, // tp_flags - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - #if PY_VERSION_HEX >= 0x02030000 - , 0 // tp_del -diff --git a/bindings/pyroot/cppyy/CPyCppyy/src/MemoryRegulator.cxx b/bindings/pyroot/cppyy/CPyCppyy/src/MemoryRegulator.cxx -index f9e92f9c8c1b..510d65f88a8d 100644 ---- a/bindings/pyroot/cppyy/CPyCppyy/src/MemoryRegulator.cxx -+++ b/bindings/pyroot/cppyy/CPyCppyy/src/MemoryRegulator.cxx -@@ -45,7 +45,7 @@ struct InitCPyCppyy_NoneType_t { - ((PyVarObject&)CPyCppyy_NoneType).ob_size = 0; - - CPyCppyy_NoneType.tp_name = const_cast("CPyCppyy_NoneType"); -- CPyCppyy_NoneType.tp_flags = Py_TPFLAGS_HAVE_RICHCOMPARE | Py_TPFLAGS_HAVE_GC; -+ CPyCppyy_NoneType.tp_flags = Py_TPFLAGS_HAVE_RICHCOMPARE; - - CPyCppyy_NoneType.tp_traverse = (traverseproc)0; - CPyCppyy_NoneType.tp_clear = (inquiry)0; -@@ -135,6 +135,7 @@ bool CPyCppyy::MemoryRegulator::RecursiveRemove( - CPyCppyy_NoneType.tp_traverse = Py_TYPE(pyobj)->tp_traverse; - CPyCppyy_NoneType.tp_clear = Py_TYPE(pyobj)->tp_clear; - CPyCppyy_NoneType.tp_free = Py_TYPE(pyobj)->tp_free; -+ CPyCppyy_NoneType.tp_flags = Py_TYPE(pyobj)->tp_flags; - } else if (CPyCppyy_NoneType.tp_traverse != Py_TYPE(pyobj)->tp_traverse) { - // TODO: SystemError? - std::cerr << "in CPyCppyy::MemoryRegulater, unexpected object of type: " -diff --git a/bindings/pyroot/cppyy/patches/gc_flags.patch b/bindings/pyroot/cppyy/patches/gc_flags.patch -new file mode 100644 -index 000000000000..68f0718629fc ---- /dev/null -+++ b/bindings/pyroot/cppyy/patches/gc_flags.patch -@@ -0,0 +1,26 @@ -+diff --git a/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx b/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx -+index 97ce06daa7..ed41b1637c 100644 -+--- a/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx -++++ b/bindings/pyroot/cppyy/CPyCppyy/src/CustomPyTypes.cxx -+@@ -78,8 +78,7 @@ PyTypeObject TypedefPointerToClass_Type = { -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -+ (ternaryfunc)tpc_call, // tp_call -+ 0, 0, 0, 0, -+- Py_TPFLAGS_DEFAULT | -+- Py_TPFLAGS_HAVE_GC, // tp_flags -++ Py_TPFLAGS_DEFAULT, // tp_flags -+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -+ #if PY_VERSION_HEX >= 0x02030000 -+ , 0 // tp_del -+diff --git a/bindings/pyroot/cppyy/CPyCppyy/src/MemoryRegulator.cxx b/bindings/pyroot/cppyy/CPyCppyy/src/MemoryRegulator.cxx -+index f9e92f9c8c..510d65f88a 100644 -+--- a/bindings/pyroot/cppyy/CPyCppyy/src/MemoryRegulator.cxx -++++ b/bindings/pyroot/cppyy/CPyCppyy/src/MemoryRegulator.cxx -+@@ -135,6 +135,7 @@ bool CPyCppyy::MemoryRegulator::RecursiveRemove( -+ CPyCppyy_NoneType.tp_traverse = Py_TYPE(pyobj)->tp_traverse; -+ CPyCppyy_NoneType.tp_clear = Py_TYPE(pyobj)->tp_clear; -+ CPyCppyy_NoneType.tp_free = Py_TYPE(pyobj)->tp_free; -++ CPyCppyy_NoneType.tp_flags = Py_TYPE(pyobj)->tp_flags; -+ } else if (CPyCppyy_NoneType.tp_traverse != Py_TYPE(pyobj)->tp_traverse) { -+ // TODO: SystemError? -+ std::cerr << "in CPyCppyy::MemoryRegulater, unexpected object of type: " diff --git a/recipe/patches/root-6.20.0-install-pyroot-headers.patch b/recipe/patches/root-6.20.0-install-pyroot-headers.patch deleted file mode 100644 index aa1d0e2c..00000000 --- a/recipe/patches/root-6.20.0-install-pyroot-headers.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 284359eb5658ac9dda8a73af105ec07c87f27825 Mon Sep 17 00:00:00 2001 -From: Stefan Wunsch -Date: Wed, 8 Jul 2020 10:10:24 +0200 -Subject: [PATCH] [PyROOT] Install additional PyROOT headers - ---- - bindings/pyroot/pythonizations/CMakeLists.txt | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/bindings/pyroot/pythonizations/CMakeLists.txt b/bindings/pyroot/pythonizations/CMakeLists.txt -index ec9f86a974b..0b3b6983e19 100644 ---- a/bindings/pyroot/pythonizations/CMakeLists.txt -+++ b/bindings/pyroot/pythonizations/CMakeLists.txt -@@ -16,6 +16,8 @@ if(dataframe) - list(APPEND PYROOT_EXTRA_SOURCE - src/RDataFramePyz.cxx - src/RTensorPyz.cxx) -+ list(APPEND PYROOT_EXTRA_HEADERS -+ inc/RNumpyDS.hxx) - endif() - - set(py_sources -@@ -152,4 +154,7 @@ install(DIRECTORY ${localruntimedir}/ROOT - DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT libraries) - -+# Install headers required by pythonizations -+install(FILES ${PYROOT_EXTRA_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ROOT) -+ - ROOT_ADD_TEST_SUBDIRECTORY(test) diff --git a/recipe/patches/root-6.26.0-Do-not-link-libCoreEntitlements.patch b/recipe/patches/root-6.26.0-Do-not-link-libCoreEntitlements.patch deleted file mode 100644 index 013f8962..00000000 --- a/recipe/patches/root-6.26.0-Do-not-link-libCoreEntitlements.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 1fa4aaee46da13489762e8939be1ed6b965147eb Mon Sep 17 00:00:00 2001 -From: Axel Naumann -Date: Thu, 7 Oct 2021 14:20:56 +0200 -Subject: [PATCH] [tclingg] Do not link libCoreEntitlements (macOS 12 error in - ACLiC). - ---- - core/metacling/src/TCling.cxx | 9 +++++++++ - 1 file changed, 9 insertions(+) - -diff --git a/core/metacling/src/TCling.cxx b/core/metacling/src/TCling.cxx -index 1c7a78df19a7..05fb268641de 100644 ---- a/core/metacling/src/TCling.cxx -+++ b/core/metacling/src/TCling.cxx -@@ -3394,6 +3394,15 @@ void TCling::RegisterLoadedSharedLibrary(const char* filename) - || strstr(filename, "/usr/lib/libAudioToolboxUtility") - || strstr(filename, "/usr/lib/liboah") - || strstr(filename, "/usr/lib/libRosetta") -+ || strstr(filename, "/usr/lib/libCoreEntitlements") -+ // These are candidates for suppression, too: -+ // -lfakelink -lapple_nghttp2 -lnetwork -lsqlite3 -lenergytrace -lCoreEntitlements -+ // -lMobileGestalt -lcoretls -lcoretls_cfhelpers -lxar.1 -lcompression -larchive.2 -+ // -lxml2.2 -lpcap.A -ldns_services -llzma.5 -lbz2.1.0 -liconv.2 -lcharset.1 -+ // -lCheckFix -lmecabra -lmecab -lgermantok -lThaiTokenizer -lChineseTokenizer -+ // -lcmph -lutil -lapp_launch_measurement -lxslt.1 -lspindump -late -lexpat.1 -+ // -lAudioStatistics -lSMC -lperfcheck -lmis -lIOReport -lheimdal-asn1 -+ - // "cannot link directly with dylib/framework, your binary is not an allowed client of - // /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/ - // SDKs/MacOSX.sdk/usr/lib/libAudioToolboxUtility.tbd for architecture x86_64 diff --git a/recipe/patches/root-6819.patch b/recipe/patches/root-6819.patch deleted file mode 100644 index aff11cf0..00000000 --- a/recipe/patches/root-6819.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 42b4c187b99b8c58d2952e345c86e8e4c39ffbf9 Mon Sep 17 00:00:00 2001 -From: Henry Schreiner -Date: Mon, 16 Nov 2020 09:55:30 -0500 -Subject: [PATCH] cmake: clad config failures shown on CMake 3.14+ - ---- - .../cling/tools/plugins/clad/CMakeLists.txt | 23 ++++++++++++------- - 1 file changed, 15 insertions(+), 8 deletions(-) - -diff --git a/interpreter/cling/tools/plugins/clad/CMakeLists.txt b/interpreter/cling/tools/plugins/clad/CMakeLists.txt -index 164b8e8ddd0..77720811de3 100644 ---- a/interpreter/cling/tools/plugins/clad/CMakeLists.txt -+++ b/interpreter/cling/tools/plugins/clad/CMakeLists.txt -@@ -20,6 +20,19 @@ if("${CMAKE_GENERATOR}" STREQUAL "Ninja") - ) - endif() - -+# Wrap download, configure and build steps in a script to log output -+set(_clad_cmake_logging_settings -+ LOG_DOWNLOAD ON -+ LOG_CONFIGURE ON -+ LOG_BUILD ON -+ LOG_INSTALL ON -+) -+ -+# Newer CMake can report the issue with Clad directly to stdout -+if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.14) -+ list(APPEND _clad_cmake_logging_settings LOG_OUTPUT_ON_FAILURE ON) -+endif() -+ - if(MSVC) - if (winrtdebug) - set(_clad_build_type Debug) -@@ -49,10 +62,7 @@ if(MSVC) - BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${_clad_build_type} - INSTALL_COMMAND ${CMAKE_COMMAND} --build . --config ${_clad_build_type} --target install - # Wrap download, configure and build steps in a script to log output -- LOG_DOWNLOAD ON -- LOG_CONFIGURE ON -- LOG_BUILD ON -- LOG_INSTALL ON -+ ${_clad_cmake_logging_settings} - # We need the target clangBasic to be built before building clad. However, we - # support building prebuilt clang and adding clangBasic breaks this case. - # Delegate the dependency resolution to the clingInterpreter target (which -@@ -89,10 +99,7 @@ else() - COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/plugins/${CMAKE_INSTALL_PREFIX}/ ${clad_install_dir}/plugins - BUILD_BYPRODUCTS ${CLAD_BYPRODUCTS} - # Wrap download, configure and build steps in a script to log output -- LOG_DOWNLOAD ON -- LOG_CONFIGURE ON -- LOG_BUILD ON -- LOG_INSTALL ON -+ ${_clad_cmake_logging_settings} - # We need the target clangBasic to be built before building clad. However, we - # support building prebuilt clang and adding clangBasic breaks this case. - # Delegate the dependency resolution to the clingInterpreter target (which diff --git a/recipe/patches/root-x.xx.xx_patch-nbmain-for-conda.patch b/recipe/patches/root-x.xx.xx_patch-nbmain-for-conda.patch deleted file mode 100644 index 8752d799..00000000 --- a/recipe/patches/root-x.xx.xx_patch-nbmain-for-conda.patch +++ /dev/null @@ -1,188 +0,0 @@ -From 960a44bdbaf5ccb18e7c7756fbe67a6cb56d625b Mon Sep 17 00:00:00 2001 -From: Christopher Burr -Date: Wed, 13 Feb 2019 13:56:01 +0000 -Subject: [PATCH] Patch nbmain.cxx for conda - ---- - main/src/nbmain.cxx | 151 +------------------------------------------- - 1 file changed, 2 insertions(+), 149 deletions(-) - -diff --git a/main/src/nbmain.cxx b/main/src/nbmain.cxx -index fe0cf3715b..cd2d4a2b11 100644 ---- a/main/src/nbmain.cxx -+++ b/main/src/nbmain.cxx -@@ -33,10 +33,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; - -@@ -48,158 +44,15 @@ static string pathsep("\\"); - static string pathsep("/"); - #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()); -- TList *files = dir.GetListOfFiles(); -- if (files) { -- TSystemFile *file; -- TListIter it(files); -- 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 jupyconfig = dest + pathsep + JUPYTER_CONFIG; -- ofstream out(jupyconfig, ios::trunc); -- if (out.is_open()) { -- out << "import os" << endl; -- out << "rootbin = '" << rootbin << "'" << endl; -- out << "rootlib = '" << rootlib << "'" << endl; --#ifdef WIN32 -- out << "os.environ['PYTHONPATH'] = '%s' % rootlib + ':' + os.getenv('PYTHONPATH', '')" << endl; -- out << "os.environ['PATH'] = '%s:%s\\bin' % (rootbin,rootbin) + ':' + '%s' % rootlib + ':' + os.getenv('PATH', '')" << endl; --#else -- 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.ip = '*'" << 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() - { -- string rootbin(TROOT::GetBinDir().Data()); -- string rootlib(TROOT::GetLibDir().Data()); -- string rootetc(TROOT::GetEtcDir().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) && -- CreateStamp(dest); -- if (!res) return 1; -- } -- else if (inst == -2) return 1; -+ string rootsys(TROOT::GetRootSys().Data()); - - // Set IPython directory for the ROOT notebook flavour -- string rootnbpath = homedir + pathsep + ROOTNB_DIR; -+ string rootnbpath = rootsys + pathsep + 'etc' + pathsep + 'notebook'; - string jupyconfdir(JUPYTER_CONF_DIR_V + ("=" + rootnbpath)); - string jupypathdir(JUPYTER_PATH_V + ("=" + rootnbpath)); - putenv((char *)jupyconfdir.c_str()); --- -2.20.0 - From 01d38d5ce4efbfdbece22f4d5a43c246aaf444c4 Mon Sep 17 00:00:00 2001 From: Vincenzo Eduardo Padulano Date: Thu, 4 Jul 2024 13:47:30 +0200 Subject: [PATCH 2/2] 6.32.02 --- recipe/meta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 249c715a..fcd44431 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -1,9 +1,9 @@ {% set name = "root" %} -{% set tag_name = "6-32-00" %} +{% set tag_name = "6-32-02" %} {% set version = ".".join(tag_name.split("-")|map("int")|map("string")) %} -{% set build_number = 2 %} +{% set build_number = 0 %} {% set clang_version = "16.0.6" %} -{% set clang_patches_version = "root_63200" %} +{% set clang_patches_version = "root_63202" %} {% set builtin_pyroot = True %} {% set builtin_clang = False %} @@ -26,7 +26,7 @@ source: git_rev: {{ os.environ["ROOT_CONDA_GIT_REV"] }} {%- else %} url: https://github.com/root-project/root/archive/refs/tags/v{{ tag_name }}.tar.gz - sha256: 3e497c8217b3ef629f339077f92d7ad377e5295611a2bf9faf0067566125c634 + sha256: 332c763d2d5eb8a759893453637f24b3900476f73a1a4c7a205f8f7b3104f449 {%- endif %} folder: root-source patches: