aboutsummaryrefslogtreecommitdiff
path: root/cad
diff options
context:
space:
mode:
authorPietro Cerutti <gahr@FreeBSD.org>2014-06-11 07:06:01 +0000
committerPietro Cerutti <gahr@FreeBSD.org>2014-06-11 07:06:01 +0000
commit5007818f491a91de1c7a761a133924be676ad9c3 (patch)
tree1f668c334d55bb71c76cb3e434c4ef6cc4859284 /cad
parent2eff26ad1485d07a46494f586f3712df7b93b996 (diff)
downloadports-5007818f491a91de1c7a761a133924be676ad9c3.tar.gz
ports-5007818f491a91de1c7a761a133924be676ad9c3.zip
Notes
Diffstat (limited to 'cad')
-rw-r--r--cad/meshlab/Makefile14
-rw-r--r--cad/meshlab/files/patch-external-structuresynth-ssynth-SyntopiaCore-GLEngine-Raytracer_VoxelStepper.cpp11
-rw-r--r--cad/meshlab/files/patch-vcglib-vcg-math_base.h2
-rw-r--r--cad/meshlab/files/patch-vcglib-vcg-space_deprecated_point.h30
4 files changed, 50 insertions, 7 deletions
diff --git a/cad/meshlab/Makefile b/cad/meshlab/Makefile
index c86585b9a7b7..60a08b99fc18 100644
--- a/cad/meshlab/Makefile
+++ b/cad/meshlab/Makefile
@@ -11,16 +11,16 @@ MASTER_SITES= ${MASTER_SITE_LOCAL}/gahr/ \
MAINTAINER= gahr@FreeBSD.org
COMMENT= 3D triangular meshes processing and editing tool
-BROKEN= Fails to configure
-
-EXTRACT_DEPENDS=7z:${PORTSDIR}/archivers/p7zip
+LIB_DEPENDS= libQtSolutions_SOAP-head.so:${PORTSDIR}/devel/qt4-qtsolutions-soap
LIB_DEPENDS= libQtSolutions_SOAP-head.so:${PORTSDIR}/devel/qt4-qtsolutions-soap
-USES= dos2unix qmake
+USES= dos2unix qmake compiler:c++11-lib
+USE_CXXSTD= c++11
USE_GL= glew glu
USE_QT4= moc_build rcc_build uic_build corelib gui xml \
xmlpatterns opengl network script
DOS2UNIX_FILES= external/structuresynth/ssynth/SyntopiaCore/GLEngine/Object3D.h \
+ external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp \
meshlabplugins/edit_arc3D/fillImage.cpp
WRKSRC= ${WRKDIR}/${DISTNAME}/${PORTNAME}/src
@@ -38,11 +38,13 @@ post-patch:
${REINPLACE_CMD} -e '/^CONFIG +=/s|$$| debug|'
.endif
-pre-configure:
+do-configure:
cd ${WRKSRC}/external && ${QMAKE} ${QMAKE_ARGS} -recursive external.pro
+ cd ${WRKSRC} && ${QMAKE} -spec ${QMAKESPEC} -recursive meshlab_full.pro
-pre-build:
+do-build:
cd ${WRKSRC}/external && ${MAKE}
+ cd ${WRKSRC} && ${MAKE}
do-install:
${MKDIR} ${STAGEDIR}${PREFIX}/lib/meshlab/plugins
diff --git a/cad/meshlab/files/patch-external-structuresynth-ssynth-SyntopiaCore-GLEngine-Raytracer_VoxelStepper.cpp b/cad/meshlab/files/patch-external-structuresynth-ssynth-SyntopiaCore-GLEngine-Raytracer_VoxelStepper.cpp
new file mode 100644
index 000000000000..2b7d3abcf433
--- /dev/null
+++ b/cad/meshlab/files/patch-external-structuresynth-ssynth-SyntopiaCore-GLEngine-Raytracer_VoxelStepper.cpp
@@ -0,0 +1,11 @@
+--- external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp.orig 2014-05-19 17:17:49.000000000 +0200
++++ external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp 2014-05-19 17:19:07.000000000 +0200
+@@ -122,7 +122,7 @@
+ currentT = p;
+
+ // We do not intersect grid.
+- if (!found) return false;
++ if (!found) return nullptr;
+ }
+
+ stepX = (dir.x() > 0) ? 1 : -1;
diff --git a/cad/meshlab/files/patch-vcglib-vcg-math_base.h b/cad/meshlab/files/patch-vcglib-vcg-math_base.h
index dbd0e34d563b..1a7a65d64d6f 100644
--- a/cad/meshlab/files/patch-vcglib-vcg-math_base.h
+++ b/cad/meshlab/files/patch-vcglib-vcg-math_base.h
@@ -4,7 +4,7 @@
/// static_assert: implemented as a macro for "assert", but it is separated for clarity.
/// Should be used for checking integrity constraints that can be tested at complile time,
/// as the ones involving templated constants in templated classes.
-+#ifndef static_assert
++#if 0
#define static_assert assert
+#endif
diff --git a/cad/meshlab/files/patch-vcglib-vcg-space_deprecated_point.h b/cad/meshlab/files/patch-vcglib-vcg-space_deprecated_point.h
new file mode 100644
index 000000000000..a5ac6a15107e
--- /dev/null
+++ b/cad/meshlab/files/patch-vcglib-vcg-space_deprecated_point.h
@@ -0,0 +1,30 @@
+--- ../../vcglib/vcg/space/deprecated_point.h.orig 2012-07-31 08:25:21.000000000 +0200
++++ ../../vcglib/vcg/space/deprecated_point.h 2014-06-10 17:19:15.000000000 +0200
+@@ -59,6 +59,10 @@
+ #include <vcg/math/base.h>
+ #include <vcg/space/space.h>
+
++#if defined(__FreeBSD__) && __FreeBSD_version < 1000000
++#define static_assert(cond,msg) typedef char static_assertion_##__FILE__##__LINE__[(cond)?1:-1]
++#endif
++
+ namespace vcg {
+
+ namespace ndim{
+@@ -164,14 +168,14 @@
+ }
+ inline const S &X() const { return _v[0]; }
+ inline const S &Y() const { return _v[1]; }
+- inline const S &Z() const { static_assert(N>2); return _v[2]; }
++ inline const S &Z() const { static_assert(N>2, "No Z coordinate in R² space"); return _v[2]; }
+ /// W is in any case the last coordinate.
+ /// (in a 2D point, W() == Y(). In a 3D point, W()==Z()
+ /// in a 4D point, W() is a separate component)
+ inline const S &W() const { return _v[N-1]; }
+ inline S &X() { return _v[0]; }
+ inline S &Y() { return _v[1]; }
+- inline S &Z() { static_assert(N>2); return _v[2]; }
++ inline S &Z() { static_assert(N>2, "No Z coordinate in R² space"); return _v[2]; }
+ inline S &W() { return _v[N-1]; }
+ inline const S * V() const
+ {