Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 8 Dec 2016 03:25:54 +0000 (UTC)
From:      Jan Beich <jbeich@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r428098 - in head/graphics: . colmap colmap/files
Message-ID:  <201612080325.uB83Ps8a024668@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jbeich
Date: Thu Dec  8 03:25:54 2016
New Revision: 428098
URL: https://svnweb.freebsd.org/changeset/ports/428098

Log:
  graphics/colmap: add new port
  
  COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View
  Stereo (MVS) pipeline with a graphical and command-line interface. It
  offers a wide range of features for reconstruction of ordered and
  unordered image collections.
  
  https://colmap.github.io/

Added:
  head/graphics/colmap/
  head/graphics/colmap/Makefile   (contents, props changed)
  head/graphics/colmap/distinfo   (contents, props changed)
  head/graphics/colmap/files/
  head/graphics/colmap/files/patch-src_CMakeLists.txt   (contents, props changed)
  head/graphics/colmap/files/patch-src_util_CMakeLists.txt   (contents, props changed)
  head/graphics/colmap/pkg-descr   (contents, props changed)
  head/graphics/colmap/pkg-plist   (contents, props changed)
Modified:
  head/graphics/Makefile   (contents, props changed)

Modified: head/graphics/Makefile
==============================================================================
--- head/graphics/Makefile	Thu Dec  8 03:13:19 2016	(r428097)
+++ head/graphics/Makefile	Thu Dec  8 03:25:54 2016	(r428098)
@@ -98,6 +98,7 @@
     SUBDIR += cluttermm
     SUBDIR += code-eli
     SUBDIR += cogl
+    SUBDIR += colmap
     SUBDIR += colord
     SUBDIR += colord-gtk
     SUBDIR += comical

Added: head/graphics/colmap/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/colmap/Makefile	Thu Dec  8 03:25:54 2016	(r428098)
@@ -0,0 +1,107 @@
+# $FreeBSD$
+
+PORTNAME=	colmap
+DISTVERSION=	2.1-0 # synthetic tag
+DISTVERSIONSUFFIX=	-g55fbe10
+CATEGORIES=	graphics
+
+MAINTAINER=	jbeich@FreeBSD.org
+COMMENT=	Structure from motion and multi-view stereo
+
+LICENSE=	BSD2CLAUSE BSD3CLAUSE CC-BY-3.0 GPLv3+ MIT SIFTGPU
+LICENSE_COMB=	multi
+LICENSE_NAME_SIFTGPU=	SiftGPU non-commercial license
+LICENSE_FILE_BSD2CLAUSE=${WRKSRC}/src/ext/VLFeat/LICENSE
+LICENSE_FILE_BSD3CLAUSE=${WRKSRC}/src/ext/FLANN/LICENSE
+LICENSE_FILE_CC-BY-3.0=	${WRKSRC}/src/ui/media/LICENSE
+LICENSE_FILE_GPLv3+ =	${WRKSRC}/COPYING.txt
+LICENSE_FILE_MIT=	${WRKSRC}/src/ext/PoissonRecon/LICENSE
+LICENSE_FILE_SIFTGPU=	${WRKSRC}/src/ext/SiftGPU/LICENSE
+LICENSE_PERMS_SIFTGPU=	dist-mirror pkg-mirror auto-accept
+
+BUILD_DEPENDS=	eigen>=3:math/eigen3
+LIB_DEPENDS=	libboost_filesystem.so:devel/boost-libs \
+		libglog.so:devel/glog \
+		libfreeimage.so:graphics/freeimage \
+		libceres.so:math/ceres-solver
+
+USES=		cmake compiler:c++11-lib fortran localbase sqlite
+USE_GITHUB=	yes
+USE_GL=		gl glew glut
+USE_QT5=	qmake_build buildtools_build core gui opengl_build widgets
+EXCLUDE=	SQLite
+EXTRACT_AFTER_ARGS=	${EXCLUDE:S,^,--exclude src/ext/,}
+CMAKE_ARGS=	-DBOOST_STATIC=off -DCUDA_ENABLED=off
+CFLAGS+=	-DVL_OS_LINUX=1
+CXXFLAGS+=	-D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1 \
+		-D_DECLARE_C99_LDBL_MATH # XXX ports/193528
+LDFLAGS+=	-Wl,--as-needed # gflags, glu, xi, xmu
+TEST_TARGET=	test ARGS="-V"
+
+OPTIONS_DEFINE=		DOCS OPENMP
+OPTIONS_DEFAULT=	OPENMP ${MACHINE_CPU:tu}
+.if !exists(/usr/bin/gcc)
+# XXX ports/199603 + ports/210337
+# USES=compiler:gcc-c++11-lib fails to build
+OPTIONS_EXCLUDE=	OPENMP
+.endif
+
+OPTIONS_GROUP=		SIMD
+OPTIONS_GROUP_SIMD=	${OPTIONS_GROUP_SIMD_${MACHINE_ARCH}}
+# Keep in sync with src/ext/VLFeat/CMakeLists.txt
+OPTIONS_GROUP_SIMD_amd64=	${OPTIONS_GROUP_SIMD_i386}
+OPTIONS_GROUP_SIMD_i386=	SSE2 AVX
+
+DOCS_BUILD_DEPENDS=	sphinx-build:textproc/py-sphinx
+DOCS_USES=		gmake
+DOCS_PORTDOCS=		*
+
+OPENMP_USES=		compiler:openmp
+OPENMP_CMAKE_BOOL=	OPENMP_ENABLED
+
+.for _simd in ${OPTIONS_GROUP_SIMD}
+${_simd}_DESC=		${MMX_DESC:S/MMX/${_simd}/}
+${_simd}_CMAKE_BOOL=	HAS_${_simd}_EXTENSION
+${_simd}_CFLAGS=	-m${_simd:tl}
+.endfor
+
+post-patch:
+	@${REINPLACE_CMD} -e 's/Qt5OpenGL/Qt5Widgets/' \
+		-e '/CheckSSEExtensions/d' \
+		${WRKSRC}/CMakeLists.txt
+	@${REINPLACE_CMD} -e '/install.*test/d' \
+		${WRKSRC}/cmake/CMakeHelper.cmake
+# XXX Unbundle FLANN as it has more consumers
+	@${REINPLACE_CMD} -e '/SQLite/d' \
+		${WRKSRC}/src/ext/CMakeLists.txt
+	@${REINPLACE_CMD} -e 's,ext/SQLite/,,' \
+		${WRKSRC}/src/base/database.h \
+		${WRKSRC}/src/util/sqlite3_utils.h
+.if !defined(DISPLAY) # QApplication
+	@${REINPLACE_CMD} -e '/feature_matching_test/d' \
+		-e '/feature_extraction_test/d' \
+		${WRKSRC}/src/base/CMakeLists.txt
+	@${REINPLACE_CMD} -e '/opengl_utils_test/d' \
+		${WRKSRC}/src/util/CMakeLists.txt
+.endif
+
+post-build-DOCS-on:
+	@${DO_MAKE_BUILD} html -C${WRKSRC}/doc
+
+pre-install:	do-test
+
+post-install-DOCS-on:
+	(cd ${WRKSRC}/doc/_build/html && ${COPYTREE_SHARE} \
+		"${PORTDOCS}" ${STAGEDIR}${DOCSDIR})
+
+.include <bsd.port.mk>
+
+# FreeBSD 11.0 i386 has:
+#          7 - base/database_test (Failed)
+#         26 - estimators/epnp_test (Failed)
+#         34 - mvs/depth_map_test (Failed)
+#         39 - optim/loransac_test (Failed)
+#         42 - optim/ransac_test (Failed)
+.if ${ARCH} != amd64
+do-test:	.IGNORE
+.endif

Added: head/graphics/colmap/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/colmap/distinfo	Thu Dec  8 03:25:54 2016	(r428098)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1481118474
+SHA256 (colmap-colmap-2.1-0-g55fbe10_GH0.tar.gz) = 76660ea44320660c73045d6e54d199c242b3ae87346476db283afe8df6d673b0
+SIZE (colmap-colmap-2.1-0-g55fbe10_GH0.tar.gz) = 5389216

Added: head/graphics/colmap/files/patch-src_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/colmap/files/patch-src_CMakeLists.txt	Thu Dec  8 03:25:54 2016	(r428098)
@@ -0,0 +1,27 @@
+build: properly limit -lpthread and -ldl
+
+--- src/CMakeLists.txt.orig	2016-12-07 13:47:54 UTC
++++ src/CMakeLists.txt
+@@ -34,6 +34,7 @@ set(COLMAP_LIBRARIES
+     sqlite3
+     sift_gpu
+     vlfeat
++    ${CMAKE_DL_LIBS}
+     ${Boost_LIBRARIES}
+     ${GLOG_LIBRARIES}
+     ${FREEIMAGE_LIBRARIES}
+@@ -41,11 +42,11 @@ set(COLMAP_LIBRARIES
+     ${OPENGL_LIBRARIES})
+ 
+ if(CUDA_ENABLED)
+-    set(COLMAP_LIBRARIES mvs mvs_cuda ${COLMAP_LIBRARIES})
++    list(APPEND COLMAP_LIBRARIES mvs mvs_cuda)
+ endif()
+ 
+-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+-    set(COLMAP_LIBRARIES ${COLMAP_LIBRARIES} pthread dl)
++if(UNIX)
++    list(APPEND COLMAP_LIBRARIES pthread)
+ endif()
+ 
+ set(COLMAP_UI_LIBRARIES ui)

Added: head/graphics/colmap/files/patch-src_util_CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/colmap/files/patch-src_util_CMakeLists.txt	Thu Dec  8 03:25:54 2016	(r428098)
@@ -0,0 +1,12 @@
+--- src/util/CMakeLists.txt.orig	2016-08-09 10:34:35 UTC
++++ src/util/CMakeLists.txt
+@@ -23,3 +23,9 @@ COLMAP_ADD_TEST(random_test random_test.
+ COLMAP_ADD_TEST(string_test string_test.cc)
+ COLMAP_ADD_TEST(threading_test threading_test.cc)
+ COLMAP_ADD_TEST(timer_test timer_test.cc)
++
++if(IS_CLANG AND CMAKE_SIZEOF_VOID_P EQUAL 4)
++  # -O2 exceeds max memory on i386
++  set_source_files_properties(camera_specs.cc
++    PROPERTIES COMPILE_FLAGS "-O1")
++endif()

Added: head/graphics/colmap/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/colmap/pkg-descr	Thu Dec  8 03:25:54 2016	(r428098)
@@ -0,0 +1,6 @@
+COLMAP is a general-purpose Structure-from-Motion (SfM) and Multi-View
+Stereo (MVS) pipeline with a graphical and command-line interface. It
+offers a wide range of features for reconstruction of ordered and
+unordered image collections.
+
+WWW: https://colmap.github.io/

Added: head/graphics/colmap/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/graphics/colmap/pkg-plist	Thu Dec  8 03:25:54 2016	(r428098)
@@ -0,0 +1,23 @@
+bin/bundle_adjuster
+bin/colmap
+bin/color_extractor
+bin/database_creator
+bin/dense_fuser
+bin/dense_mesher
+bin/exhaustive_matcher
+bin/feature_extractor
+bin/feature_importer
+bin/image_rectifier
+bin/image_registrator
+bin/image_undistorter
+bin/mapper
+bin/matches_importer
+bin/model_aligner
+bin/model_converter
+bin/model_merger
+bin/rig_bundle_adjuster
+bin/sequential_matcher
+bin/spatial_matcher
+bin/vocab_tree_builder
+bin/vocab_tree_matcher
+bin/vocab_tree_retriever



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201612080325.uB83Ps8a024668>