Date: Sat, 14 Apr 2018 14:52:04 +0000 (UTC) From: Yuri Victorovich <yuri@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r467320 - in head/graphics: . cloudcompare cloudcompare/files Message-ID: <201804141452.w3EEq4kR008727@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: yuri Date: Sat Apr 14 14:52:04 2018 New Revision: 467320 URL: https://svnweb.freebsd.org/changeset/ports/467320 Log: New port: graphics/cloudcompare: 3D point cloud processing software Doesn't build on 12 with PLUGINS=on due to the math/vtk6 failure: https://gitlab.kitware.com/vtk/vtk/issues/17285 It builds with PLUGINS=off. Compared to the original submission, sevaral changes have been made: * Added the PLUGINS option * Fixed the GAMEPAD option * etc. PR: 226239 Submitted by: Neel Chauhan <neel@neelc.org> Added: head/graphics/cloudcompare/ head/graphics/cloudcompare/Makefile (contents, props changed) head/graphics/cloudcompare/distinfo (contents, props changed) head/graphics/cloudcompare/files/ head/graphics/cloudcompare/files/patch-CMakeExternalLibs.cmake (contents, props changed) head/graphics/cloudcompare/files/patch-contrib_ShapeLibSupport.cmake (contents, props changed) head/graphics/cloudcompare/files/patch-plugins_qFacets_CMakeLists.txt (contents, props changed) head/graphics/cloudcompare/files/patch-plugins_qPCL_PclUtils_filters_MLSSmoothingUpsampling.cpp (contents, props changed) head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_GfxTL_FlatCopyVector.h (contents, props changed) head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_GfxTL_KdTree.h (contents, props changed) head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_MiscLib_AlignedAllocator.h (contents, props changed) head/graphics/cloudcompare/files/patch-snap_gui_ccViewer.desktop (contents, props changed) head/graphics/cloudcompare/files/patch-snap_gui_cloudcompare.desktop (contents, props changed) head/graphics/cloudcompare/pkg-descr (contents, props changed) head/graphics/cloudcompare/pkg-plist (contents, props changed) Modified: head/graphics/Makefile Modified: head/graphics/Makefile ============================================================================== --- head/graphics/Makefile Sat Apr 14 14:02:49 2018 (r467319) +++ head/graphics/Makefile Sat Apr 14 14:52:04 2018 (r467320) @@ -98,6 +98,7 @@ SUBDIR += chbg SUBDIR += cimg SUBDIR += cinepaint + SUBDIR += cloudcompare SUBDIR += clutter SUBDIR += clutter-gtk SUBDIR += clutter-gtk3 Added: head/graphics/cloudcompare/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/Makefile Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,82 @@ +# $FreeBSD$ + +PORTNAME= cloudcompare +DISTVERSIONPREFIX= v +DISTVERSION= 2.9.1-288 +DISTVERSIONSUFFIX= -gb4d51361 +CATEGORIES= graphics + +MAINTAINER= neel@neelc.org +COMMENT= 3D point cloud processing software + +LICENSE= GPLv2+ LGPL20+ +LICENSE_COMB= multi + +BROKEN_FreeBSD_10= error: "SSE instruction set not enabled" + +USES= cmake:outsource localbase:ldflags +USE_GITHUB= yes +GH_ACCOUNT= CloudCompare +GH_PROJECT= ${GH_ACCOUNT} +GH_TAGNAME= 5d41227deb30c445ccbaa2d789a4363b57948a5d +USE_QT5= concurrent core gui opengl printsupport widgets buildtools_build qmake_build +USE_LDCONFIG= yes + +OPTIONS_DEFINE= DXFLIB GAMEPAD GDAL PDAL SHAPELIB PLUGINS +OPTIONS_DEFAULT= DXFLIB GAMEPAD GDAL PDAL SHAPELIB PLUGINS +OPTIONS_SUB= yes + +DXFLIB_DESC= Enable AutoCAD DXF file support +GAMEPAD_DESC= Enable Qt gamepad support +GDAL_DESC= Enable raster file support +PDAL_DESC= Enable point cloud data support +SHAPELIB_DESC= Enable shape file support + +DXFLIB_CMAKE_BOOL= OPTION_USE_DXF_LIB + +GAMEPAD_USE= QT5=gamepad +GAMEPAD_CMAKE_BOOL= OPTION_SUPPORT_GAMEPADS + +GDAL_CMAKE_BOOL= OPTION_USE_GDAL +GDAL_CMAKE_ON= -DGDAL_INCLUDE_DIR=${PREFIX}/include \ + -DGDAL_LIBRARY=${PREFIX}/lib/libgdal.so +GDAL_LIB_DEPENDS= libgdal.so:graphics/gdal + +PDAL_CMAKE_BOOL= OPTION_PDAL_LAS +PDAL_CMAKE_ON= -DJSON_ROOT_DIR=${PREFIX}/include/jsoncpp +PDAL_LIB_DEPENDS= libpdal_base.so:math/pdal + +SHAPELIB_CMAKE_BOOL= OPTION_USE_SHAPE_LIB +SHAPELIB_LIB_DEPENDS= libshp.so:devel/shapelib + +PLUGINS_USES= eigen:3 jpeg python:2.7 +PLUGINS_CMAKE_BOOL= INSTALL_QANIMATION_PLUGIN INSTALL_QBLUR_PLUGIN INSTALL_QBROOM_PLUGIN INSTALL_QCOMPASS_PLUGIN \ + INSTALL_QCSF_PLUGIN INSTALL_QCSV_MATRIX_IO_PLUGIN INSTALL_QDUMMY_PLUGIN INSTALL_QEDL_PLUGIN INSTALL_QFACETS_PLUGIN \ + INSTALL_QHPR_PLUGIN INSTALL_QM3C2_PLUGIN \ + INSTALL_QPCL_PLUGIN INSTALL_QPCV_PLUGIN INSTALL_QPHOTOSCAN_IO_PLUGIN INSTALL_QRANSAC_SD_PLUGIN \ + INSTALL_QSRA_PLUGIN INSTALL_QSSAO_PLUGIN # plugins requiring rare external libs are left out, TODO maybe add some of them? +PLUGINS_CMAKE_ON= -DEIGEN_ROOT_DIR:BOOL=${LOCALBASE}/include/eigen3 +PLUGINS_CXXFLAGS= -Wno-narrowing +PLUGINS_CXXFLAGS+= -DEIGEN_DONT_PARALLELIZE # OpenMP is broken in cmake, see bug#223678 +PLUGINS_USE= XORG=ice,sm,x11,xext,xt GL=gl,glu +PLUGINS_LIB_DEPENDS= libboost_system.so:devel/boost-libs \ + libexpat.so:textproc/expat2 \ + libflann_cpp_s.so:math/flann \ + libfreetype.so:print/freetype2 \ + libpcl_people.so:graphics/pcl-pointclouds \ + libpng16.so:graphics/png \ + libtiff.so:graphics/tiff \ + libvtkDomainsChemistry-6.2.so:math/vtk6 +PLUGINS_IMPLIES= SHAPELIB + +post-patch: + @${REINPLACE_CMD} -e 's,%%PREFIX%%,${PREFIX},1' ${WRKSRC}/snap/gui/ccViewer.desktop ${WRKSRC}/snap/gui/cloudcompare.desktop + +post-install: + @${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps + ${INSTALL_DATA} ${WRKSRC}/snap/gui/ccViewer.desktop ${STAGEDIR}${PREFIX}/share/applications + ${INSTALL_DATA} ${WRKSRC}/snap/gui/ccViewer.png ${STAGEDIR}${PREFIX}/share/pixmaps + ${INSTALL_DATA} ${WRKSRC}/snap/gui/cloudcompare.desktop ${STAGEDIR}${PREFIX}/share/applications + ${INSTALL_DATA} ${WRKSRC}/snap/gui/cloudcompare.png ${STAGEDIR}${PREFIX}/share/pixmaps + +.include <bsd.port.mk> Added: head/graphics/cloudcompare/distinfo ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/distinfo Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,3 @@ +TIMESTAMP = 1523597948 +SHA256 (CloudCompare-CloudCompare-v2.9.1-288-gb4d51361-5d41227deb30c445ccbaa2d789a4363b57948a5d_GH0.tar.gz) = 17a473be2706a0146b0652c59ed170c0496eea67e62d5555b5fec67828ef8f13 +SIZE (CloudCompare-CloudCompare-v2.9.1-288-gb4d51361-5d41227deb30c445ccbaa2d789a4363b57948a5d_GH0.tar.gz) = 35032942 Added: head/graphics/cloudcompare/files/patch-CMakeExternalLibs.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-CMakeExternalLibs.cmake Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,11 @@ +--- CMakeExternalLibs.cmake.orig 2018-03-16 21:26:02 UTC ++++ CMakeExternalLibs.cmake +@@ -66,7 +66,7 @@ endif() + # ------------------------------------------------------------------------------ + # OpenMP + # ------------------------------------------------------------------------------ +-find_package(OpenMP QUIET) ++#find_package(OpenMP QUIET) # Broken on FreeBSD: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223678 + if (OPENMP_FOUND) + message("OpenMP found") + set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") Added: head/graphics/cloudcompare/files/patch-contrib_ShapeLibSupport.cmake ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-contrib_ShapeLibSupport.cmake Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,20 @@ +--- contrib/ShapeLibSupport.cmake.orig 2018-03-16 21:26:02 UTC ++++ contrib/ShapeLibSupport.cmake +@@ -4,14 +4,14 @@ + + OPTION( OPTION_USE_SHAPE_LIB "Build with ShapeLib (SHP files support)" OFF ) + if( ${OPTION_USE_SHAPE_LIB} ) +- add_subdirectory(contrib/shapelib-1.3.0) +- include_directories( ${SHAPELIB_SOURCE_DIR} ) ++ #add_subdirectory(contrib/shapelib-1.3.0) ++ #include_directories( ${SHAPELIB_SOURCE_DIR} ) + endif() + + # Link project with shapelib library + function( target_link_SHAPE_LIB ) # 2 arguments: ARGV0 = project name + if( ${OPTION_USE_SHAPE_LIB} ) +- target_link_libraries( ${PROJECT_NAME} SHAPELIB ) ++ target_link_libraries( ${PROJECT_NAME} shp ) + set_property( TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS CC_SHP_SUPPORT ) + endif() + endfunction() Added: head/graphics/cloudcompare/files/patch-plugins_qFacets_CMakeLists.txt ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-plugins_qFacets_CMakeLists.txt Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,21 @@ +--- plugins/qFacets/CMakeLists.txt.orig 2018-03-16 21:26:02 UTC ++++ plugins/qFacets/CMakeLists.txt +@@ -4,7 +4,7 @@ option( INSTALL_QFACETS_PLUGIN "Check to + + # CloudCompare 'FACETS' plugin + if (INSTALL_QFACETS_PLUGIN) +- if (NOT SHAPELIB_SOURCE_DIR) ++ if (NOT OPTION_USE_SHAPE_LIB) + message( SEND_ERROR "ShapeLib is required to compile this plugin (enable OPTION_USE_SHAPE_LIB)" ) + endif() + +@@ -27,7 +27,7 @@ if (INSTALL_QFACETS_PLUGIN) + target_link_libraries( ${PROJECT_NAME} QCC_IO_LIB ) + + #add shapelib support +- target_link_libraries( ${PROJECT_NAME} SHAPELIB ) +- include_directories( ${SHAPELIB_SOURCE_DIR} ) ++ target_link_libraries( ${PROJECT_NAME} shp ) ++ #include_directories( ${SHAPELIB_SOURCE_DIR} ) + set_property( TARGET ${PROJECT_NAME} APPEND PROPERTY COMPILE_DEFINITIONS CC_SHP_SUPPORT ) + endif() Added: head/graphics/cloudcompare/files/patch-plugins_qPCL_PclUtils_filters_MLSSmoothingUpsampling.cpp ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-plugins_qPCL_PclUtils_filters_MLSSmoothingUpsampling.cpp Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,11 @@ +--- plugins/qPCL/PclUtils/filters/MLSSmoothingUpsampling.cpp.orig 2018-04-14 06:09:41 UTC ++++ plugins/qPCL/PclUtils/filters/MLSSmoothingUpsampling.cpp +@@ -51,7 +51,7 @@ int smooth_mls(const typename pcl::Point + { + typename pcl::search::KdTree<PointInT>::Ptr tree (new pcl::search::KdTree<PointInT>); + +-#ifdef _OPENMP ++#if 0 && defined(_OPENMP) // disabled: the only place where omp_xx is used directly + //create the smoothing object + pcl::MovingLeastSquaresOMP< PointInT, PointOutT > smoother; + int n_threads = omp_get_max_threads(); Added: head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_GfxTL_FlatCopyVector.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_GfxTL_FlatCopyVector.h Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,10 @@ +--- plugins/qRANSAC_SD/RANSAC_SD_orig/GfxTL/FlatCopyVector.h.orig 2018-04-14 01:45:59 UTC ++++ plugins/qRANSAC_SD/RANSAC_SD_orig/GfxTL/FlatCopyVector.h +@@ -1,6 +1,6 @@ + #ifndef GfxTL__FLATCOPYVECTOR_HEADER__ + #define GfxTL__FLATCOPYVECTOR_HEADER__ +-#ifndef __APPLE__ ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include <malloc.h> + #else + #include <stdlib.h> Added: head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_GfxTL_KdTree.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_GfxTL_KdTree.h Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,11 @@ +--- plugins/qRANSAC_SD/RANSAC_SD_orig/GfxTL/KdTree.h.orig 2018-04-14 01:47:30 UTC ++++ plugins/qRANSAC_SD/RANSAC_SD_orig/GfxTL/KdTree.h +@@ -14,7 +14,7 @@ + #include <algorithm> + #include <memory> + #include <deque> +-#ifndef __APPLE__ ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include <malloc.h> + #else + #include <stdlib.h> Added: head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_MiscLib_AlignedAllocator.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-plugins_qRANSAC__SD_RANSAC__SD__orig_MiscLib_AlignedAllocator.h Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,11 @@ +--- plugins/qRANSAC_SD/RANSAC_SD_orig/MiscLib/AlignedAllocator.h.orig 2018-04-14 01:44:24 UTC ++++ plugins/qRANSAC_SD/RANSAC_SD_orig/MiscLib/AlignedAllocator.h +@@ -1,7 +1,7 @@ + #ifndef MiscLib__ALIGNEDALLOCATOR_HEADER__ + #define MiscLib__ALIGNEDALLOCATOR_HEADER__ + #include <memory> +-#ifndef __APPLE__ ++#if !defined(__APPLE__) && !defined(__FreeBSD__) + #include <malloc.h> + #else + #include <stdlib.h> Added: head/graphics/cloudcompare/files/patch-snap_gui_ccViewer.desktop ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-snap_gui_ccViewer.desktop Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,13 @@ +--- snap/gui/ccViewer.desktop.orig 2018-03-16 21:26:02 UTC ++++ snap/gui/ccViewer.desktop +@@ -2,8 +2,8 @@ + Type=Application + Name=CloudCompare Viewer + Comment=3D point cloud and mesh processing software +-Exec=cloudcompare.ccViewer ++Exec=ccViewer + Terminal=false + Categories=Graphics; +-Icon=${SNAP}/meta/gui/ccViewer.png ++Icon=/usr/local/share/pixmaps/ccViewer.png + Added: head/graphics/cloudcompare/files/patch-snap_gui_cloudcompare.desktop ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/files/patch-snap_gui_cloudcompare.desktop Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,13 @@ +--- snap/gui/cloudcompare.desktop.orig 2018-03-16 21:26:02 UTC ++++ snap/gui/cloudcompare.desktop +@@ -2,8 +2,8 @@ + Type=Application + Name=CloudCompare + Comment=3D point cloud and mesh processing software +-Exec=cloudcompare.CloudCompare ++Exec=CloudCompare + Terminal=false + Categories=Graphics; +-Icon=${SNAP}/meta/gui/cloudcompare.png ++Icon=/usr/local/share/pixmaps/cloudcompare.png + Added: head/graphics/cloudcompare/pkg-descr ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/pkg-descr Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,9 @@ +CloudCompare is a 3D point cloud (and triangular mesh) processing software. It +was originally designed to perform comparison between two 3D points clouds +(such as the ones obtained with a laser scanner) or between a point cloud and a +triangular mesh. It relies on an octree structure that is highly optimized for +this particular use-case. It was also meant to deal with huge point clouds +(typically more than 10 millions points, and up to 120 millions with 2 Gb of +memory). + +WWW: http://www.cloudcompare.org/ Added: head/graphics/cloudcompare/pkg-plist ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/graphics/cloudcompare/pkg-plist Sat Apr 14 14:52:04 2018 (r467320) @@ -0,0 +1,39 @@ +bin/CloudCompare +bin/ccViewer +lib/cloudcompare/libCC_CORE_LIB.so +lib/cloudcompare/libQCC_DB_LIB.so +lib/cloudcompare/libQCC_IO_LIB.so +%%PLUGINS%%lib/cloudcompare/plugins/libQANIMATION_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQBLUR_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQBROOM_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQCOMPASS_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQCSF_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQCSV_MATRIX_IO_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQDUMMY_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQEDL_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQFACETS_PLUGIN_DLL.so +%%PLUGINS%%lib/cloudcompare/plugins/libQHPR_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQM3C2_PLUGIN_DLL.so +%%PLUGINS%%lib/cloudcompare/plugins/libQPCL_IO_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQPCL_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQPCV_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQPHOTOSCAN_IO_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQRANSAC_SD_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQSRA_PLUGIN.so +%%PLUGINS%%lib/cloudcompare/plugins/libQSSAO_PLUGIN.so +share/applications/ccViewer.desktop +share/applications/cloudcompare.desktop +%%DATADIR%%/CHANGELOG.md +%%DATADIR%%/global_shift_list_template.txt +%%DATADIR%%/license.txt +%%PLUGINS%%%%DATADIR%%/shaders/Bilateral/bilateral.frag +%%PLUGINS%%%%DATADIR%%/shaders/Bilateral/bilateral.vert +%%PLUGINS%%%%DATADIR%%/shaders/ColorRamp/color_ramp.frag +%%PLUGINS%%%%DATADIR%%/shaders/EDL/edl_mix.frag +%%PLUGINS%%%%DATADIR%%/shaders/EDL/edl_mix.vert +%%PLUGINS%%%%DATADIR%%/shaders/EDL/edl_shade.frag +%%PLUGINS%%%%DATADIR%%/shaders/EDL/edl_shade.vert +%%PLUGINS%%%%DATADIR%%/shaders/SSAO/ssao.frag +%%PLUGINS%%%%DATADIR%%/shaders/SSAO/ssao.vert +share/pixmaps/ccViewer.png +share/pixmaps/cloudcompare.png
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201804141452.w3EEq4kR008727>