From: Johannes Thyssen Tishman Subject: Re: [NEW] devel/lib3mf 2.4.1 (cad/openscad dependency 3/4) To: ports@openbsd.org Cc: Andrew Hewus Fresh Date: Tue, 25 Nov 2025 12:51:20 +0000 2025-10-01T20:08:55-0700 Andrew Hewus Fresh : > 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? > > > lib3mf is a C++ implementation of the 3D Manufacturing Format file > standard. > > It provides 3MF reading and writing capabilities, as well as > conversion and validation tools for input and output data. lib3mf > runs on Windows, Linux and MacOS and offers a clean and easy-to-use > API in various programming languages to speed up the development > and keep integration costs at a minimum. > > As 3MF shall become an universal 3D Printing standard, its quick > adoption is very important. This library shall lower all barriers > of adoption to any possible user, let it be software providers, > hardware providers, service providers or middleware tools. > > The specification can be downloaded at http://3mf.io/specification/. This is also ok jtt@, but I would prefer if we installed the bindings under a 'lib3mf' directory (see diff below). Updated port attached. All tests are passing for me (amd64). diff -rup /tmp/lib3mf/Makefile lib3mf/Makefile --- /tmp/lib3mf/Makefile Thu Oct 2 10:10:39 2025 +++ lib3mf/Makefile Tue Nov 25 13:41:37 2025 @@ -22,6 +22,7 @@ LIB_DEPENDS = archivers/libzip CONFIGURE_ARGS = -DUSE_INCLUDED_ZLIB=OFF \ -DUSE_INCLUDED_LIBZIP=OFF \ - -DUSE_INCLUDED_SSL=OFF + -DUSE_INCLUDED_SSL=OFF \ + -DCMAKE_INSTALL_INCLUDEDIR=include/lib3mf .include diff -rup /tmp/lib3mf/pkg/PLIST lib3mf/pkg/PLIST --- /tmp/lib3mf/pkg/PLIST Thu Oct 2 10:10:48 2025 +++ lib3mf/pkg/PLIST Tue Nov 25 13:42:19 2025 @@ -1,42 +1,43 @@ -include/Bindings/ -include/Bindings/C/ -include/Bindings/C/lib3mf.h -include/Bindings/C/lib3mf_types.h -include/Bindings/CDynamic/ -include/Bindings/CDynamic/lib3mf_dynamic.cc -include/Bindings/CDynamic/lib3mf_dynamic.h -include/Bindings/CDynamic/lib3mf_types.h -include/Bindings/CSharp/ -include/Bindings/CSharp/Lib3MF.cs -include/Bindings/Cpp/ -include/Bindings/Cpp/lib3mf_abi.hpp -include/Bindings/Cpp/lib3mf_implicit.hpp -include/Bindings/Cpp/lib3mf_types.hpp -include/Bindings/CppDynamic/ -include/Bindings/CppDynamic/lib3mf_abi.hpp -include/Bindings/CppDynamic/lib3mf_dynamic.h -include/Bindings/CppDynamic/lib3mf_dynamic.hpp -include/Bindings/CppDynamic/lib3mf_types.hpp -include/Bindings/Go/ -include/Bindings/Go/cfunc.go -include/Bindings/Go/lib3mf.go -include/Bindings/Go/lib3mf_dynamic.c -include/Bindings/Go/lib3mf_dynamic.cc -include/Bindings/Go/lib3mf_dynamic.h -include/Bindings/Go/lib3mf_impl.go -include/Bindings/Go/lib3mf_types.h -include/Bindings/NodeJS/ -include/Bindings/NodeJS/binding.gyp -include/Bindings/NodeJS/lib3mf_dynamic.cc -include/Bindings/NodeJS/lib3mf_dynamic.h -include/Bindings/NodeJS/lib3mf_nodeaddon.cc -include/Bindings/NodeJS/lib3mf_nodewrapper.cc -include/Bindings/NodeJS/lib3mf_nodewrapper.h -include/Bindings/NodeJS/lib3mf_types.h -include/Bindings/Pascal/ -include/Bindings/Pascal/Unit_Lib3MF.pas -include/Bindings/Python/ -include/Bindings/Python/Lib3MF.py +include/lib3mf/ +include/lib3mf/Bindings/ +include/lib3mf/Bindings/C/ +include/lib3mf/Bindings/C/lib3mf.h +include/lib3mf/Bindings/C/lib3mf_types.h +include/lib3mf/Bindings/CDynamic/ +include/lib3mf/Bindings/CDynamic/lib3mf_dynamic.cc +include/lib3mf/Bindings/CDynamic/lib3mf_dynamic.h +include/lib3mf/Bindings/CDynamic/lib3mf_types.h +include/lib3mf/Bindings/CSharp/ +include/lib3mf/Bindings/CSharp/Lib3MF.cs +include/lib3mf/Bindings/Cpp/ +include/lib3mf/Bindings/Cpp/lib3mf_abi.hpp +include/lib3mf/Bindings/Cpp/lib3mf_implicit.hpp +include/lib3mf/Bindings/Cpp/lib3mf_types.hpp +include/lib3mf/Bindings/CppDynamic/ +include/lib3mf/Bindings/CppDynamic/lib3mf_abi.hpp +include/lib3mf/Bindings/CppDynamic/lib3mf_dynamic.h +include/lib3mf/Bindings/CppDynamic/lib3mf_dynamic.hpp +include/lib3mf/Bindings/CppDynamic/lib3mf_types.hpp +include/lib3mf/Bindings/Go/ +include/lib3mf/Bindings/Go/cfunc.go +include/lib3mf/Bindings/Go/lib3mf.go +include/lib3mf/Bindings/Go/lib3mf_dynamic.c +include/lib3mf/Bindings/Go/lib3mf_dynamic.cc +include/lib3mf/Bindings/Go/lib3mf_dynamic.h +include/lib3mf/Bindings/Go/lib3mf_impl.go +include/lib3mf/Bindings/Go/lib3mf_types.h +include/lib3mf/Bindings/NodeJS/ +include/lib3mf/Bindings/NodeJS/binding.gyp +include/lib3mf/Bindings/NodeJS/lib3mf_dynamic.cc +include/lib3mf/Bindings/NodeJS/lib3mf_dynamic.h +include/lib3mf/Bindings/NodeJS/lib3mf_nodeaddon.cc +include/lib3mf/Bindings/NodeJS/lib3mf_nodewrapper.cc +include/lib3mf/Bindings/NodeJS/lib3mf_nodewrapper.h +include/lib3mf/Bindings/NodeJS/lib3mf_types.h +include/lib3mf/Bindings/Pascal/ +include/lib3mf/Bindings/Pascal/Unit_Lib3MF.pas +include/lib3mf/Bindings/Python/ +include/lib3mf/Bindings/Python/Lib3MF.py lib/cmake/lib3mf/ lib/cmake/lib3mf/lib3mfConfig.cmake @lib lib/lib3mf.so.${LIB3mf_VERSION}