mirror of
https://github.com/openbsd/ports.git
synced 2025-12-06 07:36:10 +00:00
Import cad/lib3mf
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/. Tweaks and OK from both sthen@ and jtt@
This commit is contained in:
31
cad/lib3mf/Makefile
Normal file
31
cad/lib3mf/Makefile
Normal file
@@ -0,0 +1,31 @@
|
||||
|
||||
V = 2.4.1
|
||||
|
||||
COMMENT = implementation of the 3D Manufacturing Format file standard
|
||||
GH_ACCOUNT = 3MFConsortium
|
||||
GH_PROJECT = lib3mf
|
||||
GH_TAGNAME = v${V}
|
||||
|
||||
CATEGORIES = cad
|
||||
|
||||
# BSD-2-Clause license
|
||||
PERMIT_PACKAGE = Yes
|
||||
|
||||
MODULES = devel/cmake lang/python
|
||||
COMPILER = base-clang ports-gcc base-gcc
|
||||
|
||||
SHARED_LIBS += 3mf 0.0 # 0.0
|
||||
|
||||
BUILD_DEPENDS = devel/gtest
|
||||
|
||||
LIB_DEPENDS = archivers/libzip
|
||||
|
||||
CONFIGURE_ARGS = -DUSE_INCLUDED_ZLIB=OFF \
|
||||
-DUSE_INCLUDED_LIBZIP=OFF \
|
||||
-DUSE_INCLUDED_SSL=OFF \
|
||||
-DCMAKE_INSTALL_INCLUDEDIR=include/lib3mf
|
||||
|
||||
post-install:
|
||||
${MODPY_COMPILEALL} ${PREFIX}/include/Bindings/Python/Lib3MF.py
|
||||
|
||||
.include <bsd.port.mk>
|
||||
2
cad/lib3mf/distinfo
Normal file
2
cad/lib3mf/distinfo
Normal file
@@ -0,0 +1,2 @@
|
||||
SHA256 (lib3mf-2.4.1.tar.gz) = CB3qZt3RuVhkS/rA/ppYDmNyYGFFnvzlGQoQFhCC+Pc=
|
||||
SIZE (lib3mf-2.4.1.tar.gz) = 36313494
|
||||
23
cad/lib3mf/patches/patch-CMakeLists_txt
Normal file
23
cad/lib3mf/patches/patch-CMakeLists_txt
Normal file
@@ -0,0 +1,23 @@
|
||||
Index: CMakeLists.txt
|
||||
--- CMakeLists.txt.orig
|
||||
+++ CMakeLists.txt
|
||||
@@ -201,7 +201,8 @@ if (USE_INCLUDED_LIBZIP)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(LIBZIP REQUIRED libzip)
|
||||
- target_link_libraries(${PROJECT_NAME} ${LIBZIP_LIBRARIES})
|
||||
+ target_link_libraries(${PROJECT_NAME} ${LIBZIP_LINK_LIBRARIES})
|
||||
+ target_include_directories(${PROJECT_NAME} PUBLIC ${LIBZIP_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
|
||||
@@ -210,7 +211,8 @@ if (USE_INCLUDED_ZLIB)
|
||||
else()
|
||||
find_package(PkgConfig REQUIRED)
|
||||
pkg_check_modules(ZLIB REQUIRED zlib)
|
||||
- target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES})
|
||||
+ target_link_libraries(${PROJECT_NAME} ${ZLIB_LINK_LIBRARIES})
|
||||
+ target_include_directories(${PROJECT_NAME} PUBLIC ${ZLIB_INCLUDE_DIRS})
|
||||
endif()
|
||||
|
||||
|
||||
28
cad/lib3mf/patches/patch-Tests_CPP_Bindings_CMakeLists_txt
Normal file
28
cad/lib3mf/patches/patch-Tests_CPP_Bindings_CMakeLists_txt
Normal file
@@ -0,0 +1,28 @@
|
||||
Index: Tests/CPP_Bindings/CMakeLists.txt
|
||||
--- Tests/CPP_Bindings/CMakeLists.txt.orig
|
||||
+++ Tests/CPP_Bindings/CMakeLists.txt
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
SET(TESTNAME "Test_CPP_Bindings")
|
||||
|
||||
-file(GLOB GTEST_SRC_FILES "${CMAKE_SOURCE_DIR}/Libraries/googletest/Source/*cc")
|
||||
+#file(GLOB GTEST_SRC_FILES "${CMAKE_SOURCE_DIR}/Libraries/googletest/Source/*cc")
|
||||
|
||||
set(SRCS_UNITTEST
|
||||
./Source/AllTests.cpp
|
||||
@@ -48,10 +48,13 @@ add_executable(${TESTNAME} ${SRCS_UNITTEST} ${GTEST_SR
|
||||
|
||||
set(STARTUPPROJECT ${TESTNAME})
|
||||
|
||||
+find_package(PkgConfig REQUIRED)
|
||||
+pkg_check_modules(GTEST REQUIRED gtest)
|
||||
+target_link_libraries(${TESTNAME} PUBLIC ${GTEST_LINK_LIBRARIES})
|
||||
+
|
||||
target_include_directories(${TESTNAME} PRIVATE
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/Include
|
||||
- ${CMAKE_SOURCE_DIR}/Libraries/googletest/Include
|
||||
- ${CMAKE_CURRENT_SOURCE_DIR}/../../Libraries/libressl/include
|
||||
+ ${GTEST_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_SOURCE_DIR_AUTOGENERATED}/Bindings/Cpp
|
||||
)
|
||||
|
||||
15
cad/lib3mf/pkg/DESCR
Normal file
15
cad/lib3mf/pkg/DESCR
Normal file
@@ -0,0 +1,15 @@
|
||||
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/.
|
||||
44
cad/lib3mf/pkg/PLIST
Normal file
44
cad/lib3mf/pkg/PLIST
Normal file
@@ -0,0 +1,44 @@
|
||||
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}
|
||||
lib/pkgconfig/lib3mf.pc
|
||||
Reference in New Issue
Block a user