root: update to 6.26.10

This commit is contained in:
Ben Jargowsky 2022-11-21 16:11:10 -08:00 committed by classabbyamp
parent b89abf57ef
commit a2e282672c
2 changed files with 3 additions and 84 deletions

View File

@ -1,81 +0,0 @@
Patch is from: https://github.com/root-project/root/pull/11457
diff --git a/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx b/bindings/pyroot/cppyy/CPyCppyy/src/CPPInstance.cxx
index 73fb8099b5..f2eea396af 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 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
@@ -45,7 +45,7 @@ struct InitCPyCppyy_NoneType_t {
((PyVarObject&)CPyCppyy_NoneType).ob_size = 0;
CPyCppyy_NoneType.tp_name = const_cast<char*>("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 0000000000..68f0718629
--- /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: "

View File

@ -1,7 +1,7 @@
# Template file for 'root'
pkgname=root
version=6.26.06
revision=2
version=6.26.10
revision=1
# Only i686 and x86_64 seem to be officially supported
archs="i686* x86_64*"
build_style=cmake
@ -24,7 +24,7 @@ maintainer="Ben Jargowsky <benjar63@gmail.com>"
license="LGPL-2.1-or-later"
homepage="https://root.cern"
distfiles="https://root.cern/download/root_v${version}.source.tar.gz"
checksum=b1f73c976a580a5c56c8c8a0152582a1dfc560b4dd80e1b7545237b65e6c89cb
checksum=8e56bec397104017aa54f9eb554de7a1a134474fe0b3bb0f43a70fc4fabd625f
build_options="fortran root7"
build_options_default="fortran"
python_version=3