root5: Fix build with Python 3.11

Was broken since the Python update from https://github.com/NixOS/nixpkgs/pull/251878

This should fix the apfelgrid and applgrid builds, not tested yet
This commit is contained in:
Silvan Mosberger 2023-11-09 19:00:28 +01:00
parent d335849f83
commit fb2e311d1e
2 changed files with 20 additions and 0 deletions

View File

@ -64,6 +64,9 @@ stdenv.mkDerivation rec {
url = "https://github.com/root-project/root/commit/c75458024082de0cc35b45505c652b8460a9e71b.patch";
sha256 = "sha256-A5zEjQE9OGPFp/L1HUs4NIdxQMRiwbwCRNWOLN2ENrM=";
})
# Backport Python 3.11 fix to v5 from v6.26
# https://github.com/root-project/root/commit/484deb056dacf768aba4954073b41105c431bffc
./root5-python311-fix.patch
];
# https://github.com/root-project/root/issues/13216

View File

@ -0,0 +1,17 @@
diff --git a/bindings/pyroot/src/MethodProxy.cxx b/bindings/pyroot/src/MethodProxy.cxx
--- a/bindings/pyroot/src/MethodProxy.cxx
+++ b/bindings/pyroot/src/MethodProxy.cxx
@@ -4,10 +4,10 @@
// Bindings
#include "PyROOT.h"
#include "structmember.h" // from Python
-#if PY_VERSION_HEX >= 0x02050000
-#include "code.h" // from Python
-#else
+#if PY_VERSION_HEX < 0x02050000
#include "compile.h" // from Python
+#elif PY_VERSION_HEX < 0x030b0000
+#include "code.h" // from Python
#endif
#ifndef CO_NOFREE
// python2.2 does not have CO_NOFREE defined