commit:     68c5c23d55b751e99870369a13212d390abe4f04
Author:     Oliver Freyermuth <o.freyermuth <AT> googlemail <DOT> com>
AuthorDate: Thu May 30 20:41:01 2024 +0000
Commit:     Guilherme Amadio <amadio <AT> gentoo <DOT> org>
CommitDate: Fri May 31 11:47:11 2024 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=68c5c23d

sci-physics/vgm: add patch for >=sci-physics/root-6.32.00

ROOT 6.32.00 carries an incompatible API change in TessellatedSolid,
this backports an upstream fix to adapt to the API change.

Closes: https://github.com/gentoo/gentoo/pull/36911
Signed-off-by: Oliver Freyermuth <o.freyermuth <AT> googlemail.com>
Signed-off-by: Guilherme Amadio <amadio <AT> gentoo.org>

 .../vgm-5.2-r1-root-6.32-TesselatedSolid.patch     | 31 ++++++++++++++++++++++
 sci-physics/vgm/vgm-5.2-r1.ebuild                  |  4 +++
 2 files changed, 35 insertions(+)

diff --git a/sci-physics/vgm/files/vgm-5.2-r1-root-6.32-TesselatedSolid.patch 
b/sci-physics/vgm/files/vgm-5.2-r1-root-6.32-TesselatedSolid.patch
new file mode 100644
index 000000000000..2c1bfc92a349
--- /dev/null
+++ b/sci-physics/vgm/files/vgm-5.2-r1-root-6.32-TesselatedSolid.patch
@@ -0,0 +1,31 @@
+adapt RootGM::TessellatedSolid for ROOT 6.32.00
+
+Bug: https://github.com/vmc-project/vgm/pull/16
+---
+ packages/RootGM/source/solids/TessellatedSolid.cxx | 13 ++++++++-----
+ 1 file changed, 8 insertions(+), 5 deletions(-)
+
+--- a/packages/RootGM/source/solids/TessellatedSolid.cxx
++++ b/packages/RootGM/source/solids/TessellatedSolid.cxx
+@@ -178,13 +178,16 @@ VGM::ThreeVector RootGM::TessellatedSolid::Vertex(int 
ifacet, int index) const
+ {
+   CheckVertexIndex(ifacet, index);
+ 
+-  const TGeoFacet& facet = fTessellated->GetFacet(ifacet);
++#if ROOT_VERSION_CODE > ROOT_VERSION(6, 30, 4)
++  const auto& rvertex =  
fTessellated->GetVertex((fTessellated->GetFacet(ifacet))[index]);
++#else
++  const auto& rvertex =  fTessellated->GetFacet(ifacet).GetVertex(index);
++#endif
+ 
+   VGM::ThreeVector vertex;
+-  vertex.push_back(facet.GetVertex(index).fVec[0] * RootGM::Units::Length());
+-  vertex.push_back(facet.GetVertex(index).fVec[1] * RootGM::Units::Length());
+-  vertex.push_back(facet.GetVertex(index).fVec[2] * RootGM::Units::Length());
++  vertex.push_back(rvertex.fVec[0] * RootGM::Units::Length());
++  vertex.push_back(rvertex.fVec[1] * RootGM::Units::Length());
++  vertex.push_back(rvertex.fVec[2] * RootGM::Units::Length());
+ 
+   return vertex;
+ }
+-

diff --git a/sci-physics/vgm/vgm-5.2-r1.ebuild 
b/sci-physics/vgm/vgm-5.2-r1.ebuild
index 6e5f9a755e9c..ff3c18921bb1 100644
--- a/sci-physics/vgm/vgm-5.2-r1.ebuild
+++ b/sci-physics/vgm/vgm-5.2-r1.ebuild
@@ -45,6 +45,10 @@ DOCS=(
        doc/VGMhistory.txt
 )
 
+PATCHES=(
+       "${FILESDIR}"/${PN}-5.2-r1-root-6.32-TesselatedSolid.patch
+)
+
 src_configure() {
        local mycmakeargs=(
                -DCLHEP_DIR="${EPREFIX}/usr"

Reply via email to