diff --git a/recipe/use-dumb-setup.py.patch b/recipe/0001-Simplify-setup.py.patch similarity index 99% rename from recipe/use-dumb-setup.py.patch rename to recipe/0001-Simplify-setup.py.patch index 4e70c39..1528c8b 100644 --- a/recipe/use-dumb-setup.py.patch +++ b/recipe/0001-Simplify-setup.py.patch @@ -1,7 +1,7 @@ -From a7ae7b979812e0fe4d09744a2a8be6e05955f7f1 Mon Sep 17 00:00:00 2001 +From 22f2d58e134ac2ee86f60ebe9cfb11c954b3248e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Fri, 8 Dec 2023 01:48:46 +0200 -Subject: [PATCH] Simplify setup.py +Subject: [PATCH 01/11] Simplify setup.py --- setup.py | 334 ------------------------------------------------------- @@ -366,5 +366,5 @@ index e91e779..442dc12 100755 "console_scripts": [ "cling-config = cppyy_backend._cling_config:main", -- -2.43.0 +2.46.0 diff --git a/recipe/cross.patch b/recipe/0002-Do-not-use-llvm-config-when-cross-compiling.patch similarity index 95% rename from recipe/cross.patch rename to recipe/0002-Do-not-use-llvm-config-when-cross-compiling.patch index fd045af..332bf31 100644 --- a/recipe/cross.patch +++ b/recipe/0002-Do-not-use-llvm-config-when-cross-compiling.patch @@ -1,7 +1,7 @@ -From ad4eeb0ca1743848144dfe9f7eb2b08eabc8060d Mon Sep 17 00:00:00 2001 +From 71d61e2f6d73ad796194380b5f7443928bb6fc12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Fri, 8 Dec 2023 02:03:00 +0200 -Subject: [PATCH] Do not use llvm-config when cross-compiling +Subject: [PATCH 02/11] Do not use llvm-config when cross-compiling we cannot invoke a host binary. --- @@ -82,5 +82,5 @@ index b74cee9..c109f52 100644 set(LLVM_DIR "${LLVM_BINARY_DIR}") -- -2.43.0 +2.46.0 diff --git a/recipe/rootcling.patch b/recipe/0003-use-pre-built-dictionary-and-rootmap.patch similarity index 94% rename from recipe/rootcling.patch rename to recipe/0003-use-pre-built-dictionary-and-rootmap.patch index 2c3ad2e..56e2934 100644 --- a/recipe/rootcling.patch +++ b/recipe/0003-use-pre-built-dictionary-and-rootmap.patch @@ -1,18 +1,18 @@ -From 7374cfc8fbfb60282e1bf2e44508980f2459f63b Mon Sep 17 00:00:00 2001 +From 0572586ca3fab6abf248acfb808b6701923c4ec3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Mon, 21 Jun 2021 15:25:53 +0200 -Subject: [PATCH 1/2] use pre-built dictionary and rootmap +Subject: [PATCH 03/11] use pre-built dictionary and rootmap --- - src/CMakeLists.txt | 15 +++--------- + src/CMakeLists.txt | 14 +++-------- src/cmake/modules/RootMacros.cmake | 37 ++++++++++-------------------- - 2 files changed, 15 insertions(+), 37 deletions(-) + 2 files changed, 15 insertions(+), 36 deletions(-) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt -index afca457..b7e2cb6 100644 +index 948d387..3c1dac3 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt -@@ -367,26 +367,18 @@ else() +@@ -379,25 +379,17 @@ else() get_property(__pch_dependencies GLOBAL PROPERTY ROOT_PCH_DEPENDENCIES) get_property(__pch_dictionaries GLOBAL PROPERTY ROOT_PCH_DICTIONARIES) @@ -41,7 +41,6 @@ index afca457..b7e2cb6 100644 install(DIRECTORY ${CMAKE_BINARY_DIR}/etc/dictpch DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}) endif() - # FIXME: move installation of PCMS in ROOT_GENERATE_DICTIONARY(). diff --git a/src/cmake/modules/RootMacros.cmake b/src/cmake/modules/RootMacros.cmake index 3f7d9ee..85dc4b2 100644 --- a/src/cmake/modules/RootMacros.cmake @@ -118,5 +117,5 @@ index 3f7d9ee..85dc4b2 100644 if(ARG_BUILTINS) -- -2.32.0 +2.46.0 diff --git a/recipe/clang-cpp.patch b/recipe/0004-link-against-libclangASTMatchers.patch similarity index 82% rename from recipe/clang-cpp.patch rename to recipe/0004-link-against-libclangASTMatchers.patch index 3bfbc83..0f11b71 100644 --- a/recipe/clang-cpp.patch +++ b/recipe/0004-link-against-libclangASTMatchers.patch @@ -1,7 +1,7 @@ -From d150efe4875657aba78a8369b31426749b5cd7da Mon Sep 17 00:00:00 2001 +From 2ab64b0412adc87086792233933d7330ee313e7a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Sun, 20 Jun 2021 18:05:30 +0200 -Subject: [PATCH] link against libclangASTMatchers +Subject: [PATCH 04/11] link against libclangASTMatchers --- src/interpreter/cling/lib/Utils/CMakeLists.txt | 1 + @@ -20,5 +20,5 @@ index 327c9ff..bdf8ee8 100644 clangLex ) -- -2.32.0 +2.46.0 diff --git a/recipe/pri.patch b/recipe/0005-make-sure-C-formatting-symbols-are-available-in-C.patch similarity index 85% rename from recipe/pri.patch rename to recipe/0005-make-sure-C-formatting-symbols-are-available-in-C.patch index 3a76d36..0ae327e 100644 --- a/recipe/pri.patch +++ b/recipe/0005-make-sure-C-formatting-symbols-are-available-in-C.patch @@ -1,7 +1,7 @@ -From 6133cd25d6c9e0e70340817cbeb35fddfabb598f Mon Sep 17 00:00:00 2001 +From d1ded278ca71ad26bc637abb77147ddb97c9528e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Mon, 21 Jun 2021 00:37:13 +0200 -Subject: [PATCH 1/2] make sure C formatting symbols are available in C++ +Subject: [PATCH 05/11] make sure C formatting symbols are available in C++ --- src/core/metacling/src/TCling.cxx | 3 +++ @@ -9,7 +9,7 @@ Subject: [PATCH 1/2] make sure C formatting symbols are available in C++ 2 files changed, 6 insertions(+) diff --git a/src/core/metacling/src/TCling.cxx b/src/core/metacling/src/TCling.cxx -index 38b9e4a..89f8c5e 100644 +index 5a827d5..c717efc 100644 --- a/src/core/metacling/src/TCling.cxx +++ b/src/core/metacling/src/TCling.cxx @@ -17,6 +17,9 @@ Cling is a full ANSI compliant C++-11 interpreter based on @@ -23,7 +23,7 @@ index 38b9e4a..89f8c5e 100644 #include "ROOT/FoundationUtils.hxx" diff --git a/src/core/metacling/src/TClingRdictModuleFileExtension.cxx b/src/core/metacling/src/TClingRdictModuleFileExtension.cxx -index 65f20f0..e06116d 100644 +index 74c5bdb..196943f 100644 --- a/src/core/metacling/src/TClingRdictModuleFileExtension.cxx +++ b/src/core/metacling/src/TClingRdictModuleFileExtension.cxx @@ -15,6 +15,9 @@ @@ -37,5 +37,5 @@ index 65f20f0..e06116d 100644 #include "TClingUtils.h" -- -2.32.0 +2.46.0 diff --git a/recipe/thread.patch b/recipe/0006-add-ThreadLocalStorage.h-directory.patch similarity index 73% rename from recipe/thread.patch rename to recipe/0006-add-ThreadLocalStorage.h-directory.patch index 2aedb78..dac3cba 100644 --- a/recipe/thread.patch +++ b/recipe/0006-add-ThreadLocalStorage.h-directory.patch @@ -1,14 +1,14 @@ -From b7557cb75d3f3213ffb024aa3793ec134b901209 Mon Sep 17 00:00:00 2001 +From 4021a38eef5886fe4aafd67645df0a2bf898bdb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Mon, 21 Jun 2021 23:03:50 +0200 -Subject: [PATCH] add ThreadLocalStorage.h directory +Subject: [PATCH 06/11] add ThreadLocalStorage.h directory --- src/core/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt -index 42eefab..dcc81e4 100644 +index 8e3245b..b8a78bb 100644 --- a/src/core/CMakeLists.txt +++ b/src/core/CMakeLists.txt @@ -55,6 +55,7 @@ include_directories( @@ -20,5 +20,5 @@ index 42eefab..dcc81e4 100644 set(objectlibs $ -- -2.32.0 +2.46.0 diff --git a/recipe/system_dirs.patch b/recipe/0007-.patch similarity index 97% rename from recipe/system_dirs.patch rename to recipe/0007-.patch index d81f93e..c2e1362 100644 --- a/recipe/system_dirs.patch +++ b/recipe/0007-.patch @@ -1,13 +1,14 @@ -From 42fd6a5a849778c1b52cda97f80339daa6fa6067 Mon Sep 17 00:00:00 2001 +From 104ef9581d9a8aa1bc1f55be8f57cf2904938173 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Fri, 15 Sep 2023 13:50:02 +0200 +Subject: [PATCH 07/11] --- .../cling/lib/Interpreter/CIFactory.cpp | 61 +++++++------------ 1 file changed, 21 insertions(+), 40 deletions(-) diff --git a/src/interpreter/cling/lib/Interpreter/CIFactory.cpp b/src/interpreter/cling/lib/Interpreter/CIFactory.cpp -index e176259..074e778 100644 +index 2145c11..2304311 100644 --- a/src/interpreter/cling/lib/Interpreter/CIFactory.cpp +++ b/src/interpreter/cling/lib/Interpreter/CIFactory.cpp @@ -93,13 +93,11 @@ namespace { @@ -116,7 +117,7 @@ index e176259..074e778 100644 #endif if (sArguments.empty()) { -@@ -403,8 +372,20 @@ namespace { +@@ -439,8 +408,20 @@ namespace { #endif // _MSC_VER @@ -140,5 +141,5 @@ index e176259..074e778 100644 for (auto& arg : sArguments) { -- -2.42.0 +2.46.0 diff --git a/recipe/aarch64.patch b/recipe/0008-clang-for-aarch64-does-not-support-march-native.patch similarity index 82% rename from recipe/aarch64.patch rename to recipe/0008-clang-for-aarch64-does-not-support-march-native.patch index c612522..9925641 100644 --- a/recipe/aarch64.patch +++ b/recipe/0008-clang-for-aarch64-does-not-support-march-native.patch @@ -1,14 +1,14 @@ -From ea356fa8bc8ee1d4776017f6dd3c615918d142ac Mon Sep 17 00:00:00 2001 +From 08bae13d27683d01529df21123b64a28cc59b90f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Fri, 1 Jul 2022 23:07:59 +0300 -Subject: [PATCH] clang for aarch64 does not support march=native +Subject: [PATCH 08/11] clang for aarch64 does not support march=native --- python/cppyy_backend/loader.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/cppyy_backend/loader.py b/python/cppyy_backend/loader.py -index f8fa1b1..e6b1585 100644 +index b6da3fe..a3845b8 100644 --- a/python/cppyy_backend/loader.py +++ b/python/cppyy_backend/loader.py @@ -117,7 +117,7 @@ def set_cling_compile_options(add_defaults = False): @@ -21,5 +21,5 @@ index f8fa1b1..e6b1585 100644 else: CURRENT_ARGS += ' -O2' -- -2.36.1 +2.46.0 diff --git a/recipe/clangdriver.patch b/recipe/0009-Fix-order-of-clang-libraries.patch similarity index 81% rename from recipe/clangdriver.patch rename to recipe/0009-Fix-order-of-clang-libraries.patch index 4c3a0ae..f45031a 100644 --- a/recipe/clangdriver.patch +++ b/recipe/0009-Fix-order-of-clang-libraries.patch @@ -1,7 +1,7 @@ -From 465cc1fd17ba61bd81ad85159668a5fe3ef4547e Mon Sep 17 00:00:00 2001 +From 7ed0e7da29046f2c1a6dd96fe7b1b34fafa06494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Tue, 20 Jun 2023 16:04:03 +0300 -Subject: [PATCH] Fix order of clang libraries +Subject: [PATCH 09/11] Fix order of clang libraries clangFrontend needs symbols from clangDriver so it needs to come first --- @@ -9,7 +9,7 @@ clangFrontend needs symbols from clangDriver so it needs to come first 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/interpreter/cling/lib/Interpreter/CMakeLists.txt b/src/interpreter/cling/lib/Interpreter/CMakeLists.txt -index 1f15fa1..f7b93a4 100644 +index 87e8353..841f68b 100644 --- a/src/interpreter/cling/lib/Interpreter/CMakeLists.txt +++ b/src/interpreter/cling/lib/Interpreter/CMakeLists.txt @@ -9,8 +9,8 @@ @@ -23,5 +23,5 @@ index 1f15fa1..f7b93a4 100644 clangSema clangAnalysis -- -2.41.0 +2.46.0 diff --git a/recipe/remove-libLLVM.patch b/recipe/0010-Remove-libLLVM.so-when-linking.patch similarity index 98% rename from recipe/remove-libLLVM.patch rename to recipe/0010-Remove-libLLVM.so-when-linking.patch index f462f6e..8b051ef 100644 --- a/recipe/remove-libLLVM.patch +++ b/recipe/0010-Remove-libLLVM.so-when-linking.patch @@ -1,7 +1,7 @@ -From 4f64f7235479744b77d35a022b44db04acc46ec8 Mon Sep 17 00:00:00 2001 +From e5a02dd81059ee1d56e73237ffd6f105df0ce151 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= Date: Fri, 15 Sep 2023 15:40:50 +0200 -Subject: [PATCH] Remove libLLVM.so when linking +Subject: [PATCH 10/11] Remove libLLVM.so when linking --- src/core/metacling/src/CMakeLists.txt | 4 +++- @@ -92,5 +92,5 @@ index eb83eea..8530052 100644 target_include_directories(rootcling PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../core/metacling/res -- -2.43.0 +2.46.0 diff --git a/recipe/include.patch b/recipe/0011-Hardcode-C-include-path-from-host.patch similarity index 68% rename from recipe/include.patch rename to recipe/0011-Hardcode-C-include-path-from-host.patch index 5387b40..c32e4f7 100644 --- a/recipe/include.patch +++ b/recipe/0011-Hardcode-C-include-path-from-host.patch @@ -1,35 +1,29 @@ -From 15b0b07f23b5754eb97fc569c3f0ca5f14cf0a9f Mon Sep 17 00:00:00 2001 +From 480894c470185f68ac7a63e5594331ab85f5e93c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julian=20R=C3=BCth?= -Date: Mon, 26 Aug 2024 18:13:29 +0300 -Subject: [PATCH] Hardcode include path +Date: Mon, 26 Aug 2024 19:55:45 +0300 +Subject: [PATCH 11/11] Hardcode C++ include path from host --- - .../cling/lib/Interpreter/CIFactory.cpp | 55 +------------------ - 1 file changed, 1 insertion(+), 54 deletions(-) + .../cling/lib/Interpreter/CIFactory.cpp | 42 +------------------ + 1 file changed, 1 insertion(+), 41 deletions(-) diff --git a/src/interpreter/cling/lib/Interpreter/CIFactory.cpp b/src/interpreter/cling/lib/Interpreter/CIFactory.cpp -index 2145c11..b659d61 100644 +index 2304311..ed4ebc2 100644 --- a/src/interpreter/cling/lib/Interpreter/CIFactory.cpp +++ b/src/interpreter/cling/lib/Interpreter/CIFactory.cpp -@@ -115,60 +115,7 @@ namespace { +@@ -112,47 +112,7 @@ namespace { + llvm::SmallVectorImpl& Buf, AdditionalArgList& Args, - const std::string& resourcePath, bool Verbose) { - std::string CppInclQuery("LC_ALL=C "); - CppInclQuery.append(Compiler); - - CppInclQuery.append(" -xc++ -E -v /dev/null 2>&1 |" -- " sed -n -e '/^.*include/,${' -e '/^ \\/.*include/p' -e '}'"); +- " sed -n -e '/^.*include/,${' -e '/^ \\/.*++/p' -e '}'"); - - if (Verbose) - cling::log() << "Looking for C++ headers with:\n " << CppInclQuery << "\n"; - -- std::string resourceIncDir; -- llvm::SmallString<512> recInc(resourcePath); -- llvm::sys::path::append(recInc, "include"); -- if (llvm::sys::fs::exists(recInc.str())) -- resourceIncDir = recInc.str().str(); -- - if (FILE *PF = ::popen(CppInclQuery.c_str(), "r")) { - Buf.resize(Buf.capacity_in_bytes()); - while (fgets(&Buf[0], Buf.capacity_in_bytes(), PF) && Buf[0]) { @@ -41,15 +35,8 @@ index 2145c11..b659d61 100644 - if (Verbose) - cling::utils::LogNonExistantDirectory(Path); - } -- else { -- if (!resourceIncDir.empty()) { -- llvm::SmallString<512> tmp(Path); -- llvm::sys::path::append(tmp, "xmmintrin.h"); -- if (llvm::sys::fs::exists(tmp.str())) -- Args.addArgument("-cxx-isystem", resourceIncDir); -- } +- else - Args.addArgument("-cxx-isystem", Path.str()); -- } - } - } - ::pclose(PF); diff --git a/recipe/meta.yaml b/recipe/meta.yaml index 3d00533..0378071 100644 --- a/recipe/meta.yaml +++ b/recipe/meta.yaml @@ -9,25 +9,23 @@ source: url: https://pypi.io/packages/source/c/cppyy-cling/cppyy-cling-{{ version }}.tar.gz sha256: 5d9e0551a4cb618eb3392001b3dc2c6294f02257f02fcd4d868999ba04f92af1 patches: - - use-dumb-setup.py.patch + - 0001-Simplify-setup.py.patch # Disable use of llvm-config, a binary which we cannot install since it pulls in libllvm which breaks the build (also, we cannot use it when cross-compiling) - - cross.patch + - 0002-Do-not-use-llvm-config-when-cross-compiling.patch # Use pre-built generated files when we cannot invoke rootcling - - rootcling.patch # [build_platform != target_platform] - - clang-cpp.patch - - pri.patch - - thread.patch + - 0003-use-pre-built-dictionary-and-rootmap.patch # [build_platform != target_platform] + - 0004-link-against-libclangASTMatchers.patch + - 0005-make-sure-C-formatting-symbols-are-available-in-C.patch + - 0006-add-ThreadLocalStorage.h-directory.patch # Revert patch for non-macOS https://github.com/conda-forge/cppyy-cling-feedstock/pull/40#issuecomment-975781900 - - system_dirs.patch # [osx] + - 0007-.patch # [osx] # Do not use -march=native on platforms that do not support it yet. - - aarch64.patch # [aarch64] + - 0008-clang-for-aarch64-does-not-support-march-native.patch # Fix dependency resolution when building rootcling - - clangdriver.patch + - 0009-Fix-order-of-clang-libraries.patch # Fix https://github.com/conda-forge/cppyy-cling-feedstock/pull/56#issuecomment-1800307065 - - remove-libLLVM.patch - # Be verbose during build - - verbose.patch - - include.patch # [osx] + - 0010-Remove-libLLVM.so-when-linking.patch + - 0011-Hardcode-C-include-path-from-host.patch # [osx] build: number: 3 diff --git a/recipe/verbose.patch b/recipe/verbose.patch deleted file mode 100644 index 4830a47..0000000 --- a/recipe/verbose.patch +++ /dev/null @@ -1,25 +0,0 @@ -From d42dd747a01832b7560cc2d48652aa5104a3c000 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Julian=20R=C3=BCth?= -Date: Mon, 26 Aug 2024 16:27:38 +0300 -Subject: [PATCH] Increase verbosity - ---- - src/cmake/modules/RootMacros.cmake | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/cmake/modules/RootMacros.cmake b/src/cmake/modules/RootMacros.cmake -index 3f7d9ee..0eb8560 100644 ---- a/src/cmake/modules/RootMacros.cmake -+++ b/src/cmake/modules/RootMacros.cmake -@@ -480,7 +480,7 @@ function(ROOT_GENERATE_DICTIONARY dictionary) - - #---call rootcint------------------------------------------ - add_custom_command(OUTPUT ${dictionary}.cxx ${pcm_name} ${rootmap_name} ${cpp_module_file} -- COMMAND ${command} -v2 -f ${dictionary}.cxx ${newargs} ${excludepathsargs} ${rootmapargs} -+ COMMAND ${command} -v4 -f ${dictionary}.cxx ${newargs} ${excludepathsargs} ${rootmapargs} - ${definitions} "$<$:-D$>" - ${includedirs} "$<$:-I$>" - ${ARG_OPTIONS} ${headerfiles} ${_linkdef} --- -2.46.0 -