git: e9f9b8e2e694 - main - cad/lib3mf: Patch for lib3mf

From: Michael Reifenberger <mr_at_FreeBSD.org>
Date: Sat, 22 Nov 2025 19:50:44 UTC
The branch main has been updated by mr:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e9f9b8e2e694bb2deaa0f5ceac346d1ca394fce8

commit e9f9b8e2e694bb2deaa0f5ceac346d1ca394fce8
Author:     Michael Reifenberger <mr@FreeBSD.org>
AuthorDate: 2025-11-22 19:48:53 +0000
Commit:     Michael Reifenberger <mr@FreeBSD.org>
CommitDate: 2025-11-22 19:50:25 +0000

    cad/lib3mf: Patch for lib3mf
    
    * Use upstream release archive [1]
    * Remove commented lines (leftovers)
    * Unbundle fast_float as a build dependency [2]
    * Remove incorrect library depenency of googletest
    * Define compiler:c++17-lang instead of compiler:c++20-lang
    * Define localbase:ldflags [3]
    * Don't extract (un)bundled libraries (requires bsdtar)
    * Use CMake helpers [4]
    * Enable "make test"
    
    PR:             291154
    Reported by:    Daniel Engberg
---
 cad/lib3mf/Makefile | 48 +++++++++++++++++++++++++++++++-----------------
 cad/lib3mf/distinfo |  6 +++---
 2 files changed, 34 insertions(+), 20 deletions(-)

diff --git a/cad/lib3mf/Makefile b/cad/lib3mf/Makefile
index d0db4bc83819..566bd94f4c6c 100644
--- a/cad/lib3mf/Makefile
+++ b/cad/lib3mf/Makefile
@@ -1,9 +1,9 @@
 PORTNAME=	lib3mf
-DISTVERSIONPREFIX=v
 DISTVERSION=	2.4.1
-#PORTREVISION=	1
+PORTREVISION=	1
 CATEGORIES=	cad
-#PKGNAMESUFFIX=  -devel
+MASTER_SITES=	https://github.com/3MFConsortium/${PORTNAME}/releases/download/v${DISTVERSION}/
+DISTNAME=	${PORTNAME}-${DISTVERSION}-source-with-submodules
 
 MAINTAINER=	mr@FreeBSD.org
 COMMENT=	Implementation of the 3D Manufacturing Format file standard
@@ -12,24 +12,38 @@ WWW=		http://3mf.io/
 LICENSE=	BSD2CLAUSE
 LICENSE_FILE=	${WRKSRC}/LICENSE
 
-#CONFLICTS_INSTALL=      lib3mf-devel #
+BUILD_DEPENDS=	fast_float>0:math/fast_float
+LIB_DEPENDS=	libzip.so:archivers/libzip
+TEST_DEPENDS=	googletest>0:devel/googletest
 
-LIB_DEPENDS=	libgtest.so:devel/googletest \
-		libzip.so:archivers/libzip
+USES=		compiler:c++17-lang cmake:testing localbase:ldflags pathfix \
+		pkgconfig python
+USE_LDCONFIG=	yes
 
-USES=		compiler:c++20-lang cmake pkgconfig python
-USE_GITHUB=	yes
-GH_ACCOUNT=	3MFConsortium
-GH_PROJECT=	lib3mf
+EXTRACT_SUFX=	.zip
+EXTRACT_AFTER_ARGS=	--exclude Libraries/fast_float \
+			--exclude Libraries/googletest \
+			--exclude Libraries/libressl \
+			--exclude Libraries/libzip \
+			--exclude Libraries/zlib \
+			--exclude submodules/fast_float \
+			--exclude submodules/googletest \
+			--exclude submodules/libzip \
+			--exclude submodules/zlib
 
-CMAKE_ARGS+=	-DUSE_INCLUDED_ZLIB=OFF \
-		-DUSE_INCLUDED_LIBZIP=OFF \
-		-DUSE_INCLUDED_SSL=OFF \
-		-DLIB3MF_TESTS=OFF
+NO_WRKSUBDIR=	yes
 
-CXXFLAGS+=	-I${WRKSRC}/Include -I${LOCALBASE}/include
-LDFLAGS+=	-L${LOCALBASE}/lib
+CXXFLAGS+=	-I${LOCALBASE}/include/fast_float
 
-.include <bsd.port.options.mk>
+.if make(test)
+LDFLAGS+=	-lgmock -lgtest
+.endif
+
+CMAKE_TESTING_ON=	LIB3MF_TESTS
+
+CMAKE_OFF=	USE_INCLUDED_LIBZIP \
+		USE_INCLUDED_ZLIB \
+		USE_INCLUDED_SSL \
+		LIB3MF_TESTS
 
 .include <bsd.port.mk>
diff --git a/cad/lib3mf/distinfo b/cad/lib3mf/distinfo
index 0b202ffceb29..6b2f9038b95c 100644
--- a/cad/lib3mf/distinfo
+++ b/cad/lib3mf/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1763826836
-SHA256 (3MFConsortium-lib3mf-v2.4.1_GH0.tar.gz) = 081dea66ddd1b958644bfac0fe9a580e63726061459efce5190a10161082f8f7
-SIZE (3MFConsortium-lib3mf-v2.4.1_GH0.tar.gz) = 36313494
+TIMESTAMP = 1763840749
+SHA256 (lib3mf-2.4.1-source-with-submodules.zip) = 4e9e1776f4dd1b3dfce684ce9bb4ad1157dadf29908a1f3aabb6cd4358bf3248
+SIZE (lib3mf-2.4.1-source-with-submodules.zip) = 55681831