From 11d054302cda739e51f673e33fa3541053fdbc59 Mon Sep 17 00:00:00 2001 From: Ivan Lloro Date: Fri, 27 Jun 2025 16:05:39 +0100 Subject: [PATCH] media-gfx/mayo: add 0.9.0, drop 0.8.0-r3 Signed-off-by: Ivan Lloro --- 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 -- .../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(-) delete mode 100644 media-gfx/mayo/files/mayo-0.8.0-gcc14.patch delete mode 100644 media-gfx/mayo/files/mayo-0.8.0-nogit.patch delete mode 100644 media-gfx/mayo/files/mayo-0.8.0-opencascade7_8.patch rename media-gfx/mayo/{mayo-0.8.0-r3.ebuild => mayo-0.9.0.ebuild} (71%) 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 -Date: Thu, 25 Apr 2024 12:37:09 +0200 -Subject: [PATCH] Base: fix missing 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 - #include - - 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 - #include - - 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 -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(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{}(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 - #include - #include - #include -@@ -43,7 +44,7 @@ struct CafUtils { - - } // namespace Mayo - -- -+#if OCC_VERSION_HEX < 0x070800 - #include - namespace std { - -@@ -55,6 +56,7 @@ template<> struct hash { - }; - - } // 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 struct hash> { - }; - - } // 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