Index | Thread | Search

From:
Johannes Thyssen Tishman <jtt@openbsd.org>
Subject:
Re: [NEW] cad/manifold 3.2.1 (cad/openscad dependency 2/4)
To:
Andrew Hewus Fresh <andrew@afresh1.com>
Cc:
ports@openbsd.org
Date:
Tue, 25 Nov 2025 12:30:38 +0000

Download raw body.

Thread
2025-11-25T12:27:06+0000 Johannes Thyssen Tishman <jtt@openbsd.org>:
> 2025-10-01T20:08:28-0700 Andrew Hewus Fresh <andrew@afresh1.com>:
> > This is a requirement of OpenSCAD now, needed to update to a working nightly.
> > 
> > You an also see it on my cvsweb or anoncvs checkout:
> > 
> > https://cvs.afresh1.com/cgi-bin/cvsweb/mystuff-openscad/
> > 
> > $ cvs -d anoncvs@cvs.afresh1.com:/cvs co mystuff-openscad
> > 
> > Comments, OK to import?
> > 
> > Manifold is a geometry library dedicated to creating and operating
> > on manifold triangle meshes. A manifold mesh is a mesh that represents
> > a solid object, and so is very important in manufacturing, CAD,
> > structural analysis, etc. Manifold also supports arbitrary vertex
> > properties and enables mapping of materials for rendering use-cases.
> > Our primary goal is reliability: guaranteed manifold output without
> > caveats or edge cases. Our secondary goal is performance: efficient
> > algorithms that make extensive use of parallelization, or pipelining
> > when only a single thread is available.
> 
> This looks mostly ok to me. However, here a few changes that I propose
> (see diff below):
> 
> 1. port-lib-depends-check complains about a missing WANTLIB on
>    Clipper2.0. I suppose this is because the last iteration of the port
>    builds it as a shared library and now it's picked up by manifold?
>    I've moved clipper to LIB_DEPENDS and added the WANTLIB, but please
>    correct me if this is wrong.
> 
> 2. Manually disable option to download missing dependencies at build
>    time. Just in case.
> 
> 3. Remove empty line at the beginning of the Makefile.
> 
> With 1. and the blender revision clarified, ok jtt@. Updated port
> attached. All tests are passing for me (amd64).

Ah! Forgot to ask: Any specific reason why we are packaging v3.2.1 and
not the newest release (v3.3.2)? Is this specific version required by
OpenSCAD?

> diff -rup /tmp/manifold/Makefile manifold/Makefile
> --- /tmp/manifold/Makefile	Tue Oct 21 04:20:07 2025
> +++ manifold/Makefile	Tue Nov 25 12:58:42 2025
> @@ -1,4 +1,3 @@
> -
>  COMMENT =	geometry library for topological robustness
>  GH_ACCOUNT =	elalish
>  GH_PROJECT =	manifold
> @@ -14,17 +13,16 @@ PERMIT_PACKAGE =	Yes
>  
>  MODULES =	devel/cmake
>  
> -WANTLIB += ${COMPILER_LIBCXX} m
> +WANTLIB += ${COMPILER_LIBCXX} Clipper2 m
>  
>  COMPILER =	base-clang ports-gcc
>  
> -RUN_DEPENDS =	cad/clipper2
> +LIB_DEPENDS =	cad/clipper2
>  
>  BUILD_DEPENDS =	devel/gtest
>  
> -BUILD_DEPENDS += ${RUN_DEPENDS}
> -
>  # Trouble with gtest, can probably be fixed.
>  #CONFIGURE_ARGS =	-DMANIFOLD_TEST=OFF
> +CONFIGURE_ARGS = -DMANIFOLD_DOWNLOADS=OFF
>  
>  .include <bsd.port.mk>
> diff -rup /tmp/manifold/pkg/PLIST manifold/pkg/PLIST
> --- /tmp/manifold/pkg/PLIST	Thu Sep 18 19:32:52 2025
> +++ manifold/pkg/PLIST	Tue Nov 25 12:59:04 2025
> @@ -10,7 +10,6 @@ include/manifold/polygon.h
>  include/manifold/types.h
>  include/manifold/vec_view.h
>  include/manifold/version.h
> -lib/cmake/
>  lib/cmake/manifold/
>  lib/cmake/manifold/manifoldConfig.cmake
>  lib/cmake/manifold/manifoldConfigVersion.cmake