commit:     11d054302cda739e51f673e33fa3541053fdbc59
Author:     Ivan Lloro <ivan.lloro.boada <AT> gmail <DOT> com>
AuthorDate: Fri Jun 27 15:05:39 2025 +0000
Commit:     Ivan Lloro <ivan.lloro.boada <AT> gmail <DOT> com>
CommitDate: Fri Jun 27 15:06:44 2025 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=11d05430

media-gfx/mayo: add 0.9.0, drop 0.8.0-r3

Signed-off-by: Ivan Lloro <ivan.lloro.boada <AT> gmail.com>

 media-gfx/mayo/Manifest                            |   2 +-
 media-gfx/mayo/files/mayo-0.8.0-gcc14.patch        |  43 -----
 media-gfx/mayo/files/mayo-0.8.0-nogit.patch        |  18 --
 .../mayo/files/mayo-0.8.0-opencascade7_8.patch     | 184 ---------------------
 .../{mayo-0.8.0-r3.ebuild => mayo-0.9.0.ebuild}    |  14 +-
 5 files changed, 4 insertions(+), 257 deletions(-)

diff --git a/media-gfx/mayo/Manifest b/media-gfx/mayo/Manifest
index fe86bbcb75..f5e83eab46 100644
--- a/media-gfx/mayo/Manifest
+++ b/media-gfx/mayo/Manifest
@@ -1 +1 @@
-DIST mayo-0.8.0.tar.gz 9792039 BLAKE2B 
9f6c6173996f9731445363ad756ffc51d478ef4a9c0710056941e3f3634ee320987eec99e7d56237ba1f11f6adaca7be2a47816af2b8f7f7c78ba74a1fa8d296
 SHA512 
4363a41c0ed1dd555302c7b5f61eee136d9ae6999f6a66c92c117cf2a9a74eb5ece991a22ffa29f095b7ec8a2c5426375628c8213ed94b6295c64019141539d7
+DIST mayo-0.9.0.tar.gz 10079952 BLAKE2B 
fd197475d48dcd7dfa032d1bd9832719831af7c1270eaddc6178d5d554dabffe056d9f1ee3cda15d3c69c07619a2586ffa288e71bd6e9427d4204fc1e74428b8
 SHA512 
cb3a07ae2118c9af36ce5fa053bd65f920137069f74f8b690c5b0bf89c368042b6771e09f0dfc506881a993aa91062b2027b35746cc461087a16414ed56aba56

diff --git a/media-gfx/mayo/files/mayo-0.8.0-gcc14.patch 
b/media-gfx/mayo/files/mayo-0.8.0-gcc14.patch
deleted file mode 100644
index c8763811f7..0000000000
--- a/media-gfx/mayo/files/mayo-0.8.0-gcc14.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From c4fdeb206235e9c37f34b18f5463d1e0702b2c14 Mon Sep 17 00:00:00 2001
-From: Hugues Delorme <[email protected]>
-Date: Thu, 25 Apr 2024 12:37:09 +0200
-Subject: [PATCH] Base: fix missing <algorithm> header
-
----
- src/base/property.cpp             | 2 ++
- src/base/property_enumeration.cpp | 4 +++-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/src/base/property.cpp b/src/base/property.cpp
-index d98acb31..61b9c623 100644
---- a/src/base/property.cpp
-+++ b/src/base/property.cpp
-@@ -7,6 +7,8 @@
- #include "property.h"
- 
- #include "property_enumeration.h"
-+
-+#include <algorithm>
- #include <cassert>
- 
- namespace Mayo {
-diff --git a/src/base/property_enumeration.cpp 
b/src/base/property_enumeration.cpp
-index 556c3e8e..1ef57091 100644
---- a/src/base/property_enumeration.cpp
-+++ b/src/base/property_enumeration.cpp
-@@ -6,12 +6,14 @@
- 
- #include "property_enumeration.h"
- 
-+#include <algorithm>
- #include <stdexcept>
- 
- namespace Mayo {
- 
- PropertyEnumeration::PropertyEnumeration(
--        PropertyGroup* grp, const TextId& name, const Enumeration* 
enumeration)
-+        PropertyGroup* grp, const TextId& name, const Enumeration* enumeration
-+    )
-     : Property(grp, name),
-       m_enumeration(enumeration),
-       m_value(enumeration && enumeration->empty() ? 
enumeration->itemAt(0).value : -1)

diff --git a/media-gfx/mayo/files/mayo-0.8.0-nogit.patch 
b/media-gfx/mayo/files/mayo-0.8.0-nogit.patch
deleted file mode 100644
index 4e2195cc7a..0000000000
--- a/media-gfx/mayo/files/mayo-0.8.0-nogit.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Disable git in build system.
---- a/version.pri
-+++ b/version.pri
-@@ -1,12 +1,5 @@
--system(git --version):HAVE_GIT=1
--defined(HAVE_GIT, var) {
--    MAYO_VERSION_COMMIT = $$system(git rev-parse --short HEAD)
--    MAYO_VERSION_REVNUM = $$system(git rev-list --count HEAD)
--} else {
--    MAYO_VERSION_COMMIT = ??
--    MAYO_VERSION_REVNUM = 0
--    warning("Git is not in PATH, cannot find commit ID nor revision number")
--}
-+MAYO_VERSION_COMMIT = ??
-+MAYO_VERSION_REVNUM = 0
- 
- MAYO_VERSION_MAJ = 0
- MAYO_VERSION_MIN = 8

diff --git a/media-gfx/mayo/files/mayo-0.8.0-opencascade7_8.patch 
b/media-gfx/mayo/files/mayo-0.8.0-opencascade7_8.patch
deleted file mode 100644
index 04fdc30901..0000000000
--- a/media-gfx/mayo/files/mayo-0.8.0-opencascade7_8.patch
+++ /dev/null
@@ -1,184 +0,0 @@
-From d1b3545e9257b3bba26b3c2805b510af5d163048 Mon Sep 17 00:00:00 2001
-From: Hugues Delorme <[email protected]>
-Date: Wed, 10 Jan 2024 16:57:08 +0100
-Subject: [PATCH] Port to OpenCascade 7.8.0
-
----
- mayo.pro                         | 36 +++++++++++++++++++++++---------
- src/app/widget_main_control.cpp  |  1 -
- src/base/brep_utils.cpp          |  8 +++++--
- src/base/brep_utils.h            |  2 +-
- src/base/caf_utils.h             |  4 +++-
- src/base/tkernel_utils.h         |  2 ++
- tests/test_base.cpp              |  5 +++--
-
-diff --git a/mayo.pro b/mayo.pro
-index a21b22d..f2bd14e 100644
---- a/mayo.pro
-+++ b/mayo.pro
-@@ -173,19 +173,36 @@ LIBS += \
-     -lTKXmlXCAF \
-     -lTKXSBase \
- 
--versionAtLeast(OCC_VERSION_STR, 7.7.0) {
--    LIBS += -lTKXDE
-+versionAtLeast(OCC_VERSION_STR, 7.8.0) {
-+    # -- IGES support
-+    LIBS += -lTKDEIGES
-+    # -- STEP support
-+    LIBS += -lTKDESTEP
-+    # -- STL support
-+    LIBS += -lTKDESTL
-+    # -- VRML support
-+    LIBS += -lTKDEVRML
-+} else {
-+    # -- IGES support
-+    LIBS += -lTKIGES -lTKXDEIGES
-+    # -- STEP support
-+    LIBS += -lTKSTEP -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKXDESTEP
-+    # -- STL support
-+    LIBS += -lTKSTL
-+    # -- VRML support
-+    LIBS += -lTKVRML
-+
-+    versionAtLeast(OCC_VERSION_STR, 7.7.0) {
-+        LIBS += -lTKXDE
-+    }
- }
- 
--# -- IGES support
--LIBS += -lTKIGES -lTKXDEIGES
--# -- STEP support
--LIBS += -lTKSTEP -lTKSTEP209 -lTKSTEPAttr -lTKSTEPBase -lTKXDESTEP
--# -- STL support
--LIBS += -lTKSTL
- # -- OBJ/glTF support
- versionAtLeast(OCC_VERSION_STR, 7.4.0) {
-     LIBS += -lTKRWMesh
-+    versionAtLeast(OCC_VERSION_STR, 7.8.0) {
-+        LIBS += -lTKDEOBJ -lTKDEGLTF
-+    }
- } else {
-     SOURCES -= \
-         src/io_occ/io_occ_base_mesh.cpp \
-@@ -205,8 +222,7 @@ versionAtLeast(OCC_VERSION_STR, 7.4.0) {
-     SOURCES -= src/io_occ/io_occ_obj_writer.cpp
-     message(OBJ writer disabled because OpenCascade < v7.6)
- }
--# -- VRML support
--LIBS += -lTKVRML
-+
- !versionAtLeast(OCC_VERSION_STR, 7.7.0) {
-     SOURCES -= src/io_occ/io_occ_vrml_reader.cpp
-     message(VRML reader disabled because OpenCascade < v7.7)
-diff --git a/src/app/widget_main_control.cpp b/src/app/widget_main_control.cpp
-index 51eca63..3240e3a 100644
---- a/src/app/widget_main_control.cpp
-+++ b/src/app/widget_main_control.cpp
-@@ -312,7 +312,6 @@ QWidget* WidgetMainControl::recreateLeftHeaderPlaceHolder()
- 
- WidgetGuiDocument* WidgetMainControl::widgetGuiDocument(int idx) const
- {
--    assert(idx == -1 || (0 <= idx && idx < 
m_ui->stack_GuiDocuments->count()));
-     return 
qobject_cast<WidgetGuiDocument*>(m_ui->stack_GuiDocuments->widget(idx));
- }
- 
-diff --git a/src/base/brep_utils.cpp b/src/base/brep_utils.cpp
-index 1b2f119..b694f5b 100644
---- a/src/base/brep_utils.cpp
-+++ b/src/base/brep_utils.cpp
-@@ -59,9 +59,13 @@ bool BRepUtils::moreComplex(TopAbs_ShapeEnum lhs, 
TopAbs_ShapeEnum rhs)
-     return lhs < rhs;
- }
- 
--int BRepUtils::hashCode(const TopoDS_Shape& shape)
-+size_t BRepUtils::hashCode(const TopoDS_Shape& shape)
- {
--    return !shape.IsNull() ? shape.HashCode(INT_MAX) : -1;
-+#if OCC_VERSION_HEX >= OCC_VERSION_CHECK(7, 8, 0)
-+    return std::hash<TopoDS_Shape>{}(shape);
-+#else
-+    return shape.HashCode(INT_MAX);
-+#endif
- }
- 
- std::string BRepUtils::shapeToString(const TopoDS_Shape& shape)
-diff --git a/src/base/brep_utils.h b/src/base/brep_utils.h
-index 76830e8..a98dd2e 100644
---- a/src/base/brep_utils.h
-+++ b/src/base/brep_utils.h
-@@ -53,7 +53,7 @@ struct BRepUtils {
-     // Returns hash code computed from 'shape'
-     // Computation uses the internal TShape and Location, but Orientation is 
not considered
-     // Returned hash code is in the range [1, max(int)]
--    static int hashCode(const TopoDS_Shape& shape);
-+    static size_t hashCode(const TopoDS_Shape& shape);
- 
-     // Serializes 'shape' into a string representation
-     static std::string shapeToString(const TopoDS_Shape& shape);
-diff --git a/src/base/caf_utils.h b/src/base/caf_utils.h
-index d849de5..8863aa5 100644
---- a/src/base/caf_utils.h
-+++ b/src/base/caf_utils.h
-@@ -6,6 +6,7 @@
- 
- #pragma once
- 
-+#include <Standard_Version.hxx>
- #include <TCollection_AsciiString.hxx>
- #include <TCollection_ExtendedString.hxx>
- #include <TDF_Label.hxx>
-@@ -43,7 +44,7 @@ struct CafUtils {
- 
- } // namespace Mayo
- 
--
-+#if OCC_VERSION_HEX < 0x070800
- #include <TDF_LabelMapHasher.hxx>
- namespace std {
- 
-@@ -55,6 +56,7 @@ template<> struct hash<TDF_Label> {
- };
- 
- } // namespace std
-+#endif
- 
- // --
- // -- Implementation
-diff --git a/src/base/tkernel_utils.h b/src/base/tkernel_utils.h
-index 3dd4500..4f1d97a 100644
---- a/src/base/tkernel_utils.h
-+++ b/src/base/tkernel_utils.h
-@@ -55,6 +55,7 @@ public:
- 
- } // namespace Mayo
- 
-+#if OCC_VERSION_HEX < OCC_VERSION_CHECK(7, 8, 0)
- namespace std {
- 
- // Specialization of C++11 std::hash<> functor for opencascade::handle<> 
objects
-@@ -65,3 +66,4 @@ template<typename T> struct hash<opencascade::handle<T>> {
- };
- 
- } // namespace std
-+#endif
-diff --git a/tests/test_base.cpp b/tests/test_base.cpp
-index e98f482..b28040e 100644
---- a/tests/test_base.cpp
-+++ b/tests/test_base.cpp
-@@ -653,9 +653,10 @@ void TestBase::BRepUtils_test()
-         const TopoDS_Shape shapeNull;
-         const TopoDS_Shape shapeBase = BRepPrimAPI_MakeBox(25, 25, 25);
-         const TopoDS_Shape shapeCopy = shapeBase;
--        QCOMPARE(BRepUtils::hashCode(shapeNull), -1);
--        QVERIFY(BRepUtils::hashCode(shapeBase) >= 0);
-+        const TopoDS_Shape shapeOther = BRepPrimAPI_MakeBox(40, 40, 40);
-+        QCOMPARE(BRepUtils::hashCode(shapeNull), 
BRepUtils::hashCode(TopoDS_Shape{}));
-         QCOMPARE(BRepUtils::hashCode(shapeBase), 
BRepUtils::hashCode(shapeCopy));
-+        QVERIFY(BRepUtils::hashCode(shapeBase) != 
BRepUtils::hashCode(shapeOther));
-     }
- }
- 
--- 
-2.45.2
-

diff --git a/media-gfx/mayo/mayo-0.8.0-r3.ebuild 
b/media-gfx/mayo/mayo-0.9.0.ebuild
similarity index 71%
rename from media-gfx/mayo/mayo-0.8.0-r3.ebuild
rename to media-gfx/mayo/mayo-0.9.0.ebuild
index efa6ba2f60..9009bd30f7 100644
--- a/media-gfx/mayo/mayo-0.8.0-r3.ebuild
+++ b/media-gfx/mayo/mayo-0.9.0.ebuild
@@ -3,7 +3,8 @@
 
 EAPI=8
 
-inherit qmake-utils desktop xdg
+inherit cmake desktop xdg
+CMAKE_IN_SOURCE_BUILD="YES"
 
 DESCRIPTION="Opensource 3D CAD viewer and converter"
 HOMEPAGE="https://github.com/fougue/mayo";
@@ -22,19 +23,10 @@ RDEPEND="
 
 DEPEND="${RDEPEND}"
 
-PATCHES=(
-       "${FILESDIR}"/${P}-nogit.patch
-       "${FILESDIR}"/${P}-gcc14.patch
-       "${FILESDIR}"/${P}-opencascade7_8.patch
-)
-
-src_configure() {
-       eqmake6 "CASCADE_INC_DIR=/usr/include/opencascade" 
"CASCADE_LIB_DIR=/usr/$(get_libdir)/opencascade" 
"ASSIMP_INC_DIR=/usr/include/assimp" "ASSIMP_LIB_DIR=/usr/$(get_libdir)" 
mayo.pro
-}
 
 src_install() {
-       emake install INSTALL_ROOT="${ED}"
        dobin mayo
+       dobin mayo-conv
        newicon -s scalable images/appicon.svg mayo.svg
        make_desktop_entry "mayo %F" Mayo mayo "Graphics;" 
"MimeType=model/step;model/iges;model/brep;image/vnd.dxf;model/obj;model/gltf+json;model/gltf+binary;model/vrml;model/stl;model/x.stl-ascii;model/x.stl-binary;application/x-amf;application/x-coff;application/x-coffexec;model/3mf;image/x-3ds;model/vnd.collada+xml;model/x3d+binary;model/x3d+fastinfoset;model/x3d+vrml;model/x3d+xml;model/x3d-vrml;application/directx;"
        einstalldocs

Reply via email to