diff options
author | gahr <gahr@FreeBSD.org> | 2013-11-01 01:19:27 +0800 |
---|---|---|
committer | gahr <gahr@FreeBSD.org> | 2013-11-01 01:19:27 +0800 |
commit | 093f7f4d3e0c20c6123d9886258314c7c49d7a2d (patch) | |
tree | 290b9b48a760bece2912d3756d66504868901b8d /cad | |
parent | 60336e191a0d498d2af4ab704f751bc5be74313e (diff) | |
download | freebsd-ports-gnome-093f7f4d3e0c20c6123d9886258314c7c49d7a2d.tar.gz freebsd-ports-gnome-093f7f4d3e0c20c6123d9886258314c7c49d7a2d.tar.zst freebsd-ports-gnome-093f7f4d3e0c20c6123d9886258314c7c49d7a2d.zip |
- Fix run-time segmentation fault [1]
- Convert to new LIB_DEPENDS format
- Fix build with clang (no longer depends on GCC)
- Statically link against own library libcommon.a, to avoid
installing a library with such a generic name as libcommon.so
PR: 183474 [1]
Submitted by: Pierre Smars <smars@yuntech.edu.tw> [1]
Diffstat (limited to 'cad')
-rw-r--r-- | cad/meshlab/Makefile | 36 | ||||
-rw-r--r-- | cad/meshlab/files/patch-common_common.pro | 21 | ||||
-rw-r--r-- | cad/meshlab/files/patch-meshlab_mainwindow_RunTime.cpp | 13 | ||||
-rw-r--r-- | cad/meshlab/files/patch-meshlab_meshlab.pro | 2 | ||||
-rw-r--r-- | cad/meshlab/files/patch-meshlabplugins-edit_arc3D-fillImage.cpp | 10 | ||||
-rw-r--r-- | cad/meshlab/files/patch-meshlabplugins-filter_poisson-src_Geometry.inl | 11 | ||||
-rw-r--r-- | cad/meshlab/files/patch-meshlabserver_meshlabserver.pro | 2 | ||||
-rw-r--r-- | cad/meshlab/files/patch-shared.pri | 8 | ||||
-rw-r--r-- | cad/meshlab/files/patch-vcglib-vcg-complex-algorithms_subset.h | 17 | ||||
-rw-r--r-- | cad/meshlab/files/patch-vcglib-vcg-math_base.h | 12 | ||||
-rw-r--r-- | cad/meshlab/files/patch-vcglib-vcg-space_deprecated_point.h | 19 | ||||
-rw-r--r-- | cad/meshlab/files/patch-vcglib-wrap-ply_plystuff.h | 10 | ||||
-rw-r--r-- | cad/meshlab/pkg-plist | 8 |
13 files changed, 128 insertions, 41 deletions
diff --git a/cad/meshlab/Makefile b/cad/meshlab/Makefile index a4b99ce5d70e..04028994caa1 100644 --- a/cad/meshlab/Makefile +++ b/cad/meshlab/Makefile @@ -3,7 +3,7 @@ PORTNAME= meshlab DISTVERSION= 1.3.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= cad MASTER_SITES= ${MASTER_SITE_LOCAL}/gahr/ \ http://people.freebsd.org/~gahr/distfiles/ @@ -12,23 +12,29 @@ MAINTAINER= gahr@FreeBSD.org COMMENT= 3D triangular meshes processing and editing tool EXTRACT_DEPENDS=7z:${PORTSDIR}/archivers/p7zip -LIB_DEPENDS= QtSolutions_SOAP-head:${PORTSDIR}/devel/qt4-qtsolutions-soap +LIB_DEPENDS= libQtSolutions_SOAP-head.so:${PORTSDIR}/devel/qt4-qtsolutions-soap -USE_GCC= yes USE_GL= glew glu USE_QT4= qmake_build moc_build rcc_build uic_build corelib gui xml \ xmlpatterns opengl network script -USE_DOS2UNIX= external/structuresynth/ssynth/SyntopiaCore/GLEngine/Object3D.h - -USE_LDCONFIG= yes +USE_DOS2UNIX= external/structuresynth/ssynth/SyntopiaCore/GLEngine/Object3D.h \ + meshlabplugins/edit_arc3D/fillImage.cpp WRKSRC= ${WRKDIR}/${DISTNAME}/${PORTNAME}/src -NO_STAGE= yes post-patch: + ${MV} "${WRKSRC}/distrib/shaders/electronic microscope.gdp" \ + ${WRKSRC}/distrib/shaders/electronic_microscope.gdp + ${MV} "${WRKSRC}/distrib/shaders/shadersrm/old/Depth of Field.rfx" \ + ${WRKSRC}/distrib/shaders/shadersrm/old/Depth_of_Field.rfx ${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' \ ${WRKSRC}/common/pluginmanager.cpp +.if defined(MAINTAINER_MODE) + ${FIND} ${WRKSRC}/../../ -name "*.pro" | ${XARGS} \ + ${REINPLACE_CMD} -e '/^CONFIG +=/s|$$| debug|' +.endif + do-configure: cd ${WRKSRC}/external && ${QMAKE} -spec ${QMAKESPEC} -recursive external.pro cd ${WRKSRC} && ${QMAKE} -spec ${QMAKESPEC} -recursive meshlab_full.pro @@ -38,15 +44,11 @@ do-build: cd ${WRKSRC} && ${MAKE} do-install: - ${INSTALL_DATA} ${WRKSRC}/common/libcommon.so.1.0.0 ${PREFIX}/lib - ${LN} -sf ${PREFIX}/lib/libcommon.so.1.0.0 ${PREFIX}/lib/libcommon.so.1.0 - ${LN} -sf ${PREFIX}/lib/libcommon.so.1.0 ${PREFIX}/lib/libcommon.so.1 - ${LN} -sf ${PREFIX}/lib/libcommon.so.1 ${PREFIX}/lib/libcommon.so - ${MKDIR} ${PREFIX}/lib/meshlab/plugins - cd ${WRKSRC}/distrib/plugins && ${COPYTREE_SHARE} \*.so ${PREFIX}/lib/meshlab/plugins - ${MKDIR} ${PREFIX}/lib/meshlab/shaders - cd ${WRKSRC}/distrib/shaders && ${COPYTREE_SHARE} \* ${PREFIX}/lib/meshlab/shaders - ${INSTALL_PROGRAM} ${WRKSRC}/distrib/meshlab ${PREFIX}/lib/meshlab - ${LN} -sf ${PREFIX}/lib/meshlab/meshlab ${PREFIX}/bin + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/meshlab/plugins + cd ${WRKSRC}/distrib/plugins && ${COPYTREE_SHARE} \*.so ${STAGEDIR}${PREFIX}/lib/meshlab/plugins + ${MKDIR} ${STAGEDIR}${PREFIX}/lib/meshlab/shaders + cd ${WRKSRC}/distrib/shaders && ${COPYTREE_SHARE} \* ${STAGEDIR}${PREFIX}/lib/meshlab/shaders + ${INSTALL_PROGRAM} ${WRKSRC}/distrib/meshlab ${STAGEDIR}${PREFIX}/lib/meshlab + ${LN} -sf ${PREFIX}/lib/meshlab/meshlab ${STAGEDIR}${PREFIX}/bin .include <bsd.port.mk> diff --git a/cad/meshlab/files/patch-common_common.pro b/cad/meshlab/files/patch-common_common.pro index 308d1626d363..c3be6a6c3efe 100644 --- a/cad/meshlab/files/patch-common_common.pro +++ b/cad/meshlab/files/patch-common_common.pro @@ -1,19 +1,8 @@ ---- common/common.pro.orig 2013-05-07 10:06:45.000000000 +0200 -+++ common/common.pro 2013-05-07 10:09:47.000000000 +0200 -@@ -62,6 +62,9 @@ - linux-g++-64:CONFIG += dll - linux-g++-64:DESTDIR = ../distrib - -+freebsd:CONFIG += dll -+freebsd:DESTDIR = ../distrib -+ - win32-msvc2005:CONFIG += staticlib - win32-msvc2008:CONFIG += staticlib - win32-msvc2010:CONFIG += staticlib -@@ -124,5 +127,6 @@ - linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead - linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -ljhead +--- common/common.pro.orig 2013-10-31 13:57:32.000000000 +0100 ++++ common/common.pro 2013-10-31 14:00:10.000000000 +0100 +@@ -126,3 +126,5 @@ linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -ljhead -+freebsd:LIBS += -L../external/lib/freebsd -ljhead #RESOURCES = common.qrc ++ ++CONFIG += static diff --git a/cad/meshlab/files/patch-meshlab_mainwindow_RunTime.cpp b/cad/meshlab/files/patch-meshlab_mainwindow_RunTime.cpp new file mode 100644 index 000000000000..7f8d43a65537 --- /dev/null +++ b/cad/meshlab/files/patch-meshlab_mainwindow_RunTime.cpp @@ -0,0 +1,13 @@ +--- meshlab/mainwindow_RunTime.cpp.orig 2013-10-31 16:02:53.000000000 +0100 ++++ meshlab/mainwindow_RunTime.cpp 2013-10-31 16:04:13.000000000 +0100 +@@ -1575,7 +1575,9 @@ + + /*********WARNING!!!!!! CHANGE IT!!! ALSO IN THE OPENPROJECT FUNCTION********/ + meshDoc()->setDocLabel(fileName); +- mdiarea->activeSubWindow()->setWindowTitle(meshDoc()->docLabel()); ++ if (mdiarea->activeSubWindow()) { ++ mdiarea->activeSubWindow()->setWindowTitle(meshDoc()->docLabel()); ++ } + layerDialog->setWindowTitle(meshDoc()->docLabel()); + /****************************************************************************/ + diff --git a/cad/meshlab/files/patch-meshlab_meshlab.pro b/cad/meshlab/files/patch-meshlab_meshlab.pro index c87db3046e83..af7f2bf5850e 100644 --- a/cad/meshlab/files/patch-meshlab_meshlab.pro +++ b/cad/meshlab/files/patch-meshlab_meshlab.pro @@ -4,7 +4,7 @@ linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -L../distrib -lcommon -lGLU linux-g++-64:QMAKE_RPATHDIR += ../distrib -+LIBS += -L../external/jhead-2.95 -L../common -lcommon -lGLU -ljhead ++LIBS += -L../external/jhead-2.95 ../common/libcommon.a -lGLU -ljhead +QMAKE_RPATHDIR += ../distrib + # uncomment in your local copy only in emergency cases. diff --git a/cad/meshlab/files/patch-meshlabplugins-edit_arc3D-fillImage.cpp b/cad/meshlab/files/patch-meshlabplugins-edit_arc3D-fillImage.cpp new file mode 100644 index 000000000000..81f93b1e8f63 --- /dev/null +++ b/cad/meshlab/files/patch-meshlabplugins-edit_arc3D-fillImage.cpp @@ -0,0 +1,10 @@ +--- meshlabplugins/edit_arc3D/fillImage.cpp.orig 2013-10-31 10:47:05.000000000 +0100 ++++ meshlabplugins/edit_arc3D/fillImage.cpp 2013-10-31 10:52:27.000000000 +0100 +@@ -22,6 +22,7 @@ + ****************************************************************************/ + + #include "fillImage.h" ++#include <cstdlib> + #include <cmath> + #include <limits> + diff --git a/cad/meshlab/files/patch-meshlabplugins-filter_poisson-src_Geometry.inl b/cad/meshlab/files/patch-meshlabplugins-filter_poisson-src_Geometry.inl new file mode 100644 index 000000000000..c4a0b7a53d41 --- /dev/null +++ b/cad/meshlab/files/patch-meshlabplugins-filter_poisson-src_Geometry.inl @@ -0,0 +1,11 @@ +--- meshlabplugins/filter_poisson/src/Geometry.inl.orig 2013-10-31 09:51:50.000000000 +0100 ++++ meshlabplugins/filter_poisson/src/Geometry.inl 2013-10-31 09:52:01.000000000 +0100 +@@ -26,6 +26,8 @@ + DAMAGE. + */ + ++#include <stdlib.h> ++ + template<class Real> + Real Random(void){return Real(rand())/RAND_MAX;} + diff --git a/cad/meshlab/files/patch-meshlabserver_meshlabserver.pro b/cad/meshlab/files/patch-meshlabserver_meshlabserver.pro index 789d856bc24f..3d3f4b3a784c 100644 --- a/cad/meshlab/files/patch-meshlabserver_meshlabserver.pro +++ b/cad/meshlab/files/patch-meshlabserver_meshlabserver.pro @@ -4,7 +4,7 @@ linux-g++-32:QMAKE_RPATHDIR += ../distrib linux-g++-64: LIBS += -L../distrib -lcommon linux-g++-64:QMAKE_RPATHDIR += ../distrib -+LIBS += -L../common -lcommon -L../external/jhead-2.95 -ljhead ++LIBS += ../common/libcommon.a -L../external/jhead-2.95 -ljhead +QMAKE_RPATHDIR += ../distrib #CONFIG (release,debug | release) { # win32-msvc2005:release: LIBS += -L../common/release -lcommon diff --git a/cad/meshlab/files/patch-shared.pri b/cad/meshlab/files/patch-shared.pri new file mode 100644 index 000000000000..b6455076bb9f --- /dev/null +++ b/cad/meshlab/files/patch-shared.pri @@ -0,0 +1,8 @@ +--- shared.pri.orig 2012-07-31 07:43:04.000000000 +0200 ++++ shared.pri 2013-10-31 12:18:49.000000000 +0100 +@@ -72,3 +72,5 @@ + win32-msvc2005: RCC_DIR = $(ConfigurationName) + win32-msvc2008: RCC_DIR = $(ConfigurationName) + win32-msvc2010: RCC_DIR = $(ConfigurationName) ++ ++LIBS+=../../common/libcommon.a diff --git a/cad/meshlab/files/patch-vcglib-vcg-complex-algorithms_subset.h b/cad/meshlab/files/patch-vcglib-vcg-complex-algorithms_subset.h new file mode 100644 index 000000000000..a7b1290e93d3 --- /dev/null +++ b/cad/meshlab/files/patch-vcglib-vcg-complex-algorithms_subset.h @@ -0,0 +1,17 @@ +--- ../../vcglib/vcg/complex/algorithms/subset.h.orig 2013-10-31 09:34:59.000000000 +0100 ++++ ../../vcglib/vcg/complex/algorithms/subset.h 2013-10-31 09:35:06.000000000 +0100 +@@ -86,12 +86,12 @@ + return (v<o.v); + } + +- bool operator ==(const InsertedV & o) ++ bool operator ==(const InsertedV & o) const + { + return (v==o.v); + } + +- bool operator !=(const InsertedV & o) ++ bool operator !=(const InsertedV & o) const + { + return (v!=o.v); + } diff --git a/cad/meshlab/files/patch-vcglib-vcg-math_base.h b/cad/meshlab/files/patch-vcglib-vcg-math_base.h new file mode 100644 index 000000000000..dbd0e34d563b --- /dev/null +++ b/cad/meshlab/files/patch-vcglib-vcg-math_base.h @@ -0,0 +1,12 @@ +--- ../../vcglib/vcg/math/base.h.orig 2012-04-05 11:04:15.000000000 +0200 ++++ ../../vcglib/vcg/math/base.h 2013-10-31 11:09:34.000000000 +0100 +@@ -94,7 +94,9 @@ + /// 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 + #define static_assert assert ++#endif + + #ifdef __BORLANDC__ + float sqrtf (float v) {return sqrt(v);} 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..9c97c60fd15a --- /dev/null +++ b/cad/meshlab/files/patch-vcglib-vcg-space_deprecated_point.h @@ -0,0 +1,19 @@ +--- ../../vcglib/vcg/space/deprecated_point.h.orig 2013-10-30 18:12:59.000000000 +0100 ++++ ../../vcglib/vcg/space/deprecated_point.h 2013-10-30 18:12:33.000000000 +0100 +@@ -164,14 +164,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, ""); 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, ""); return _v[2]; } + inline S &W() { return _v[N-1]; } + inline const S * V() const + { diff --git a/cad/meshlab/files/patch-vcglib-wrap-ply_plystuff.h b/cad/meshlab/files/patch-vcglib-wrap-ply_plystuff.h new file mode 100644 index 000000000000..5a2b6278ab84 --- /dev/null +++ b/cad/meshlab/files/patch-vcglib-wrap-ply_plystuff.h @@ -0,0 +1,10 @@ +--- ../../vcglib/wrap/ply/plystuff.h.orig 2013-10-31 09:44:03.000000000 +0100 ++++ ../../vcglib/wrap/ply/plystuff.h 2013-10-31 09:50:52.000000000 +0100 +@@ -75,6 +75,7 @@ + #define pb_close _close + #define DIR_SEP "\\" + #else ++#include <unistd.h> + #define pb_mkdir(n) mkdir(n,0755) + #define pb_access access + #define pb_stat stat diff --git a/cad/meshlab/pkg-plist b/cad/meshlab/pkg-plist index 8f7eff29d696..d27f017df72a 100644 --- a/cad/meshlab/pkg-plist +++ b/cad/meshlab/pkg-plist @@ -1,8 +1,4 @@ bin/meshlab -lib/libcommon.so.1.0.0 -lib/libcommon.so.1.0 -lib/libcommon.so.1 -lib/libcommon.so lib/meshlab/meshlab lib/meshlab/plugins/libdecorate_background.so lib/meshlab/plugins/libdecorate_base.so @@ -116,7 +112,7 @@ lib/meshlab/shaders/depthmap.vert lib/meshlab/shaders/dimple.frag lib/meshlab/shaders/dimple.gdp lib/meshlab/shaders/dimple.vert -lib/meshlab/shaders/electronic microscope.gdp +lib/meshlab/shaders/electronic_microscope.gdp lib/meshlab/shaders/envmap.frag lib/meshlab/shaders/envmap.gdp lib/meshlab/shaders/envmap.vert @@ -149,7 +145,7 @@ lib/meshlab/shaders/shadersrm/PhongUntextured.rfx lib/meshlab/shaders/shadersrm/QualityContour.rfx lib/meshlab/shaders/shadersrm/ZBrush.rfx lib/meshlab/shaders/shadersrm/cartoon.rfx -lib/meshlab/shaders/shadersrm/old/Depth of Field.rfx +lib/meshlab/shaders/shadersrm/old/Depth_of_Field.rfx lib/meshlab/shaders/shadersrm/old/GlyphBomb.rfx lib/meshlab/shaders/shadersrm/old/ImageBasedLighting.rfx lib/meshlab/shaders/shadersrm/old/Plastic.rfx |