summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-gfx/meshlab
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-gfx/meshlab')
-rw-r--r--media-gfx/meshlab/Manifest2
-rw-r--r--media-gfx/meshlab/files/1.3.2/01_crash-on-save.patch29
-rw-r--r--media-gfx/meshlab/files/1.3.2/02_cstddef.patch46
-rw-r--r--media-gfx/meshlab/files/1.3.2/03_disable-updates.patch21
-rw-r--r--media-gfx/meshlab/files/1.3.2/05_externals.patch25
-rw-r--r--media-gfx/meshlab/files/1.3.2/06_format-security.patch44
-rw-r--r--media-gfx/meshlab/files/1.3.2/07_gcc47.patch105
-rw-r--r--media-gfx/meshlab/files/1.3.2/08_lib3ds.patch32
-rw-r--r--media-gfx/meshlab/files/1.3.2/09_libbz2.patch31
-rw-r--r--media-gfx/meshlab/files/1.3.2/10_muparser.patch30
-rw-r--r--media-gfx/meshlab/files/1.3.2/11_openctm.patch31
-rw-r--r--media-gfx/meshlab/files/1.3.2/12_overflow.patch23
-rw-r--r--media-gfx/meshlab/files/1.3.2/13_pluginsdir.patch21
-rw-r--r--media-gfx/meshlab/files/1.3.2/14_ply_numeric.patch32
-rw-r--r--media-gfx/meshlab/files/1.3.2/15_qhull.patch67
-rw-r--r--media-gfx/meshlab/files/1.3.2/16_shadersdir.patch49
-rw-r--r--media-gfx/meshlab/files/1.3.2/17_structuresynth.patch48
-rw-r--r--media-gfx/meshlab/files/1.3.2/18_glew.c18p1.patch146
-rw-r--r--media-gfx/meshlab/files/1.3.2/19_CONFLICTS_IN_rpath.patch32
-rw-r--r--media-gfx/meshlab/files/1.3.2/20_rpath.c18p2.patch43
-rw-r--r--media-gfx/meshlab/files/1.3.2/21_RESOLUTION.patch29
-rw-r--r--media-gfx/meshlab/files/1.3.2/22_aliasing.patch43
-rw-r--r--media-gfx/meshlab/files/1.3.3/gcc-4.7.patch12
-rw-r--r--media-gfx/meshlab/files/1.3.3/lapack.patch11
-rw-r--r--media-gfx/meshlab/files/1.3.3/mpir.patch10
-rw-r--r--media-gfx/meshlab/files/1.3.3/qt-4.8.patch11
-rw-r--r--media-gfx/meshlab/files/1.3.3/rpath.patch39
-rw-r--r--media-gfx/meshlab/meshlab-1.3.2.ebuild84
-rw-r--r--media-gfx/meshlab/meshlab-1.3.3.ebuild65
-rw-r--r--media-gfx/meshlab/metadata.xml17
30 files changed, 1178 insertions, 0 deletions
diff --git a/media-gfx/meshlab/Manifest b/media-gfx/meshlab/Manifest
new file mode 100644
index 000000000000..8bed7d390991
--- /dev/null
+++ b/media-gfx/meshlab/Manifest
@@ -0,0 +1,2 @@
+DIST MeshLabSrc_AllInc_v132.tgz 12874196 SHA256 d57f0a99a55421aac54a66e2475d48f00f7b1752f9587cd69cf9b5b9c1a519b1 SHA512 40ef1f887d18e2146d6001d9c290bb76f6fc27caf13a1256a4061d5e2c43fd8dfdc843ace2cb83c6370648c2c5be3a22e2d5b31698df46e0695890d6a20651ac WHIRLPOOL aa6da94a8d5b9d28c9b787fe307774b7223e57278ed45c3bf1a823da9f5a9b59fd058a466f3f4dea3c4c57e3934b0aed88b1446f20e746349881c1bc965fec36
+DIST MeshLabSrc_AllInc_v133.tgz 13390531 SHA256 c9829cd1f58713f1f82d546af1ee69291b52a0f94585f803174fb9e55654980f SHA512 ec155292be10ebe17a7d41b26d51cce88e1f00b692b8adb29462a2c3cb15444c6f27067a3396e4427cd694c82424910ba80f32f536b5f5d46d6765b2461cef43 WHIRLPOOL f1f938e7eb8d648f2a8ac4399420d947efe403f19cc163b4a4e28f8cf620ae5aa22d17503e3b5ca7920996e78dfbb41dbd89447d61bd95e4a2f69420f2196d5d
diff --git a/media-gfx/meshlab/files/1.3.2/01_crash-on-save.patch b/media-gfx/meshlab/files/1.3.2/01_crash-on-save.patch
new file mode 100644
index 000000000000..84c5ced8dc6a
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/01_crash-on-save.patch
@@ -0,0 +1,29 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Fix crash on project save (closes: #718583)
+Git-Branch: p/crash-on-save
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..cfc9473d1fa0e565d0aad4994fbb31
+
+Patch from upstream SVN commit [r6114].
+
+ meshlab/src/meshlab/mainwindow_RunTime.cpp | 8 ++++++--
+ 1 file changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/meshlab/src/meshlab/mainwindow_RunTime.cpp b/meshlab/src/meshlab/mainwindow_RunTime.cpp
+index 8f5057c..3273cec 100644
+--- a/meshlab/src/meshlab/mainwindow_RunTime.cpp
++++ b/meshlab/src/meshlab/mainwindow_RunTime.cpp
+@@ -1575,8 +1575,12 @@ void MainWindow::saveProject()
+
+ /*********WARNING!!!!!! CHANGE IT!!! ALSO IN THE OPENPROJECT FUNCTION********/
+ meshDoc()->setDocLabel(fileName);
+- mdiarea->activeSubWindow()->setWindowTitle(meshDoc()->docLabel());
+- layerDialog->setWindowTitle(meshDoc()->docLabel());
++ QMdiSubWindow* sub = mdiarea->currentSubWindow();
++ if (sub != NULL)
++ {
++ sub->setWindowTitle(meshDoc()->docLabel());
++ layerDialog->setWindowTitle(meshDoc()->docLabel());
++ }
+ /****************************************************************************/
+
+
diff --git a/media-gfx/meshlab/files/1.3.2/02_cstddef.patch b/media-gfx/meshlab/files/1.3.2/02_cstddef.patch
new file mode 100644
index 000000000000..903b0c77b547
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/02_cstddef.patch
@@ -0,0 +1,46 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Include <cstddef> on files using offsetoff (closes: #625053)
+Git-Branch: p/cstddef
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..8fb2fc380c1a53d0e603d1aaeff156
+
+ vcglib/wrap/io_tetramesh/import_ply.h | 1 +
+ vcglib/wrap/io_trimesh/import_ply.h | 1 +
+ vcglib/wrap/ply/plystuff.h | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/vcglib/wrap/io_tetramesh/import_ply.h b/vcglib/wrap/io_tetramesh/import_ply.h
+index 0da4c1f..8370e48 100644
+--- a/vcglib/wrap/io_tetramesh/import_ply.h
++++ b/vcglib/wrap/io_tetramesh/import_ply.h
+@@ -36,6 +36,7 @@ created
+ #include<wrap/ply/io_mask.h>
+ #include<wrap/io_tetramesh/io_ply.h>
+ #include<vcg/complex/tetramesh/allocate.h>
++#include <cstddef>
+
+
+
+diff --git a/vcglib/wrap/io_trimesh/import_ply.h b/vcglib/wrap/io_trimesh/import_ply.h
+index 13eaa30..ce2de3a 100644
+--- a/vcglib/wrap/io_trimesh/import_ply.h
++++ b/vcglib/wrap/io_trimesh/import_ply.h
+@@ -29,6 +29,7 @@
+ #include<wrap/io_trimesh/io_mask.h>
+ #include<wrap/io_trimesh/io_ply.h>
+ #include<vcg/complex/algorithms/create/platonic.h>
++#include <cstddef>
+
+ namespace vcg {
+ namespace tri {
+diff --git a/vcglib/wrap/ply/plystuff.h b/vcglib/wrap/ply/plystuff.h
+index 3e41e63..4761e9f 100644
+--- a/vcglib/wrap/ply/plystuff.h
++++ b/vcglib/wrap/ply/plystuff.h
+@@ -57,6 +57,7 @@ Cleaning of the automatic bbox caching support for ply files. First working vers
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <cstddef>
+ #ifdef WIN32
+ #include <io.h>
+ #endif
diff --git a/media-gfx/meshlab/files/1.3.2/03_disable-updates.patch b/media-gfx/meshlab/files/1.3.2/03_disable-updates.patch
new file mode 100644
index 000000000000..9702758dca85
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/03_disable-updates.patch
@@ -0,0 +1,21 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Disable checking for updates on startup.
+Git-Branch: p/disable-updates
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..8f6cf9176644dce65ef4518b08526c
+
+ meshlab/src/meshlab/mainwindow_Init.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meshlab/src/meshlab/mainwindow_Init.cpp b/meshlab/src/meshlab/mainwindow_Init.cpp
+index de3ff1d..ce7bf81 100644
+--- a/meshlab/src/meshlab/mainwindow_Init.cpp
++++ b/meshlab/src/meshlab/mainwindow_Init.cpp
+@@ -926,7 +926,7 @@ void MainWindow::saveRecentFileList(const QString &fileName)
+
+ if(loadedMeshCounter-lastComunicatedValue>connectionInterval && !myLocalBuf.isOpen())
+ {
+-#if not defined(__DISABLE_AUTO_STATS__)
++#if defined(__ENABLE_AUTO_STATS__)
+ checkForUpdates(false);
+ #endif
+ int congratsMeshCounter = settings.value("congratsMeshCounter",50).toInt();
diff --git a/media-gfx/meshlab/files/1.3.2/05_externals.patch b/media-gfx/meshlab/files/1.3.2/05_externals.patch
new file mode 100644
index 000000000000..0592b5709646
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/05_externals.patch
@@ -0,0 +1,25 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Only build necessary external sources.
+Git-Branch: p/externals
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..ca572df8704909a1bbe18b1ce25d76
+
+ meshlab/src/external/external.pro | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/meshlab/src/external/external.pro b/meshlab/src/external/external.pro
+index c103d88..324eb91 100644
+--- a/meshlab/src/external/external.pro
++++ b/meshlab/src/external/external.pro
+@@ -2,11 +2,6 @@ config += debug_and_release
+
+ TEMPLATE = subdirs
+
+-SUBDIRS = lib3ds-1.3.0/lib3ds \
+- bzip2-1.0.5/bzip2-1.0.5.pro \
+- muparser_v132/src \
+- levmar-2.3/levmar-2.3.pro \
++SUBDIRS = levmar-2.3/levmar-2.3.pro \
+ structuresynth/structuresynth.pro \
+- OpenCTM-1.0.3/openctm.pro \
+ jhead-2.95/jhead-2.95.pro
+-# openkinect/openkinect.pro
diff --git a/media-gfx/meshlab/files/1.3.2/06_format-security.patch b/media-gfx/meshlab/files/1.3.2/06_format-security.patch
new file mode 100644
index 000000000000..36a767ca07e9
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/06_format-security.patch
@@ -0,0 +1,44 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Fix compilation errors with -Werror=format-security.
+Git-Branch: p/format-security
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..be247b855ebb49a4d826d60b7d21a0
+
+ .../meshlabplugins/decorate_raster_proj/decorate_raster_proj.cpp | 4 ++--
+ meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.cpp | 2 +-
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/meshlab/src/meshlabplugins/decorate_raster_proj/decorate_raster_proj.cpp b/meshlab/src/meshlabplugins/decorate_raster_proj/decorate_raster_proj.cpp
+index 4864214..233b657 100644
+--- a/meshlab/src/meshlabplugins/decorate_raster_proj/decorate_raster_proj.cpp
++++ b/meshlab/src/meshlabplugins/decorate_raster_proj/decorate_raster_proj.cpp
+@@ -526,7 +526,7 @@ bool DecorateRasterProjPlugin::startDecorate( QAction *act,
+ GLenum err = glewInit();
+ if( err != GLEW_OK )
+ {
+- qWarning( (std::string("Impossible to load GLEW library.")+(char*)glewGetErrorString(err)).c_str() );
++ qWarning("Impossible to load GLEW library: %s", glewGetErrorString(err));
+ return false;
+ }
+ Log( "GLEW library correctly initialized." );
+@@ -536,7 +536,7 @@ bool DecorateRasterProjPlugin::startDecorate( QAction *act,
+ std::string logs;
+ if( !initShaders(logs) )
+ {
+- qWarning( ("Error while initializing shaders.\n"+logs).c_str() );
++ qWarning("Error while initializing shaders.\n%s", logs.c_str());
+ return false;
+ }
+ Log( "Shaders correctly loaded." );
+diff --git a/meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.cpp b/meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.cpp
+index 88b6f9f..c23987c 100644
+--- a/meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.cpp
++++ b/meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.cpp
+@@ -269,7 +269,7 @@ void EditArc3DPlugin::ExportPly()
+ QString suffix = "." + qfInfo.completeSuffix();
+ QString path = qfInfo.absoluteFilePath().remove(suffix);
+ path.append("Undist" + suffix);
+- qDebug(path.toLatin1());
++ qDebug("%s", path.toStdString().c_str());
+
+ QImage undistImg(originalImg.width(),originalImg.height(),originalImg.format());
+ undistImg.fill(qRgba(0,0,0,255));
diff --git a/media-gfx/meshlab/files/1.3.2/07_gcc47.patch b/media-gfx/meshlab/files/1.3.2/07_gcc47.patch
new file mode 100644
index 000000000000..df608d8369ed
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/07_gcc47.patch
@@ -0,0 +1,105 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Fix FTBFS with GCC-4.7
+Git-Branch: p/gcc47
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..07a6c6cf991f44779236b31381a7ca
+
+Closes: #667276
+
+Thanks to Matej Vela for the patch.
+
+ meshlab/src/meshlabplugins/decorate_base/colorhistogram.h | 2 +-
+ .../vcg/complex/algorithms/local_optimization/tri_edge_flip.h | 8 ++++----
+ vcglib/vcg/space/index/grid_static_obj.h | 2 +-
+ vcglib/wrap/gl/trimesh.h | 2 +-
+ vcglib/wrap/ply/plystuff.h | 1 +
+ 5 files changed, 8 insertions(+), 7 deletions(-)
+
+diff --git a/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h b/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h
+index 2351b2a..90c6d76 100644
+--- a/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h
++++ b/meshlab/src/meshlabplugins/decorate_base/colorhistogram.h
+@@ -40,7 +40,7 @@ public:
+
+ //! Reset histogram data.
+ void Clear() {
+- this->::Clear();
++ Histogram<ScalarType>::Clear();
+ CV.clear();
+ }
+ /*
+diff --git a/vcglib/vcg/complex/algorithms/local_optimization/tri_edge_flip.h b/vcglib/vcg/complex/algorithms/local_optimization/tri_edge_flip.h
+index 9054166..f40f0dc 100644
+--- a/vcglib/vcg/complex/algorithms/local_optimization/tri_edge_flip.h
++++ b/vcglib/vcg/complex/algorithms/local_optimization/tri_edge_flip.h
+@@ -558,13 +558,13 @@ public:
+ // edges of the first face, except the flipped edge
+ for(int i = 0; i < 3; i++) if(i != flipped) {
+ PosType newpos(f1, i);
+- Insert(heap, newpos, this->GlobalMark());
++ this->Insert(heap, newpos, this->GlobalMark());
+ }
+
+ // edges of the second face, except the flipped edge
+ for(int i = 0; i < 3; i++) if(i != f1->FFi(flipped)) {
+ PosType newpos(f2, i);
+- Insert(heap, newpos, this->GlobalMark());
++ this->Insert(heap, newpos, this->GlobalMark());
+ }
+
+ // every edge with v0, v1 v3 of f1
+@@ -583,7 +583,7 @@ public:
+ do {
+ VertexPointer v = pos.VFlip();
+ if(v != v0 && v != v1 && v != v2 && v != v3)
+- Insert(heap, pos, this->GlobalMark());
++ this->Insert(heap, pos, this->GlobalMark());
+
+ pos.NextE();
+ } while(pos != startpos && !pos.IsBorder());
+@@ -603,7 +603,7 @@ public:
+ do {
+ VertexPointer v = pos.VFlip();
+ if(v != v0 && v != v1 && v != v2 && v != v3)
+- Insert(heap, pos, this->GlobalMark());
++ this->Insert(heap, pos, this->GlobalMark());
+
+ pos.NextE();
+ } while(pos != startpos && !pos.IsBorder());
+diff --git a/vcglib/vcg/space/index/grid_static_obj.h b/vcglib/vcg/space/index/grid_static_obj.h
+index 0554393..26608d5 100644
+--- a/vcglib/vcg/space/index/grid_static_obj.h
++++ b/vcglib/vcg/space/index/grid_static_obj.h
+@@ -72,7 +72,7 @@ class GridStaticObj : public BasicGrid<FLT>
+ inline ~GridStaticObj() { if(grid) delete[] grid; }
+ inline void Init(const ObjType &val)
+ {
+- fill(grid,grid+size(),val);
++ std::fill(grid,grid+size(),val);
+ }
+
+
+diff --git a/vcglib/wrap/gl/trimesh.h b/vcglib/wrap/gl/trimesh.h
+index 5d40404..ba72456 100644
+--- a/vcglib/wrap/gl/trimesh.h
++++ b/vcglib/wrap/gl/trimesh.h
+@@ -1003,7 +1003,7 @@ void Crease(MESH_TYPE &m, typename MESH_TYPE::scalar_type angleRad)
+ }
+ }
+
+- m.vert.math::Swap(newvert);
++ m.vert.swap(newvert);
+ m.vn=m.vert.size();
+ }
+
+diff --git a/vcglib/wrap/ply/plystuff.h b/vcglib/wrap/ply/plystuff.h
+index 3e41e63..4af9508 100644
+--- a/vcglib/wrap/ply/plystuff.h
++++ b/vcglib/wrap/ply/plystuff.h
+@@ -75,6 +75,7 @@ using namespace vcg;
+ #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/media-gfx/meshlab/files/1.3.2/08_lib3ds.patch b/media-gfx/meshlab/files/1.3.2/08_lib3ds.patch
new file mode 100644
index 000000000000..243ed1d9668a
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/08_lib3ds.patch
@@ -0,0 +1,32 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Use Debian lib3ds.
+Git-Branch: p/lib3ds
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..944ece3e566dbf4cc885163178d303
+
+ meshlab/src/meshlabplugins/io_3ds/io_3ds.pro | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/meshlab/src/meshlabplugins/io_3ds/io_3ds.pro b/meshlab/src/meshlabplugins/io_3ds/io_3ds.pro
+index cf8052a..fed064d 100644
+--- a/meshlab/src/meshlabplugins/io_3ds/io_3ds.pro
++++ b/meshlab/src/meshlabplugins/io_3ds/io_3ds.pro
+@@ -14,7 +14,7 @@ SOURCES += meshio.cpp \
+
+ TARGET = io_3ds
+
+-INCLUDEPATH += ../../external/lib3ds-1.3.0/
++INCLUDEPATH += /usr/include/lib3ds
+
+ # Notes on the paths of lib3ds files.
+ # Once you have compiled the library put the lib files in a dir named lib/XXX/
+@@ -25,9 +25,7 @@ win32-msvc.net:LIBS += ../../external/lib/win32-msvc.net/3ds.lib
+ win32-msvc2005:LIBS += ../../external/lib/win32-msvc2005/3ds.lib
+ win32-msvc2008:LIBS += ../../external/lib/win32-msvc2008/3ds.lib
+ win32-g++:LIBS += ../../external/lib/win32-gcc/lib3ds.a
+-linux-g++:LIBS += ../../external/lib/linux-g++/lib3ds.a
+-linux-g++-32:LIBS += ../../external/lib/linux-g++-32/lib3ds.a
+-linux-g++-64:LIBS += ../../external/lib/linux-g++-64/lib3ds.a
++linux-g++:LIBS += -l3ds
+
+ # unix:LIBS += -L../../../../code/lib/lib3ds-1.3.0/lib3ds/lib/unix -l3ds
+
diff --git a/media-gfx/meshlab/files/1.3.2/09_libbz2.patch b/media-gfx/meshlab/files/1.3.2/09_libbz2.patch
new file mode 100644
index 000000000000..1b064f7f6ae9
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/09_libbz2.patch
@@ -0,0 +1,31 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Use Debian libbz2.
+Git-Branch: p/libbz2
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..a6e1a0b242a02075c0d686ec4fa8b8
+
+ meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.pro | 8 ++------
+ 1 file changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.pro b/meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.pro
+index e317b99..94dc124 100644
+--- a/meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.pro
++++ b/meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.pro
+@@ -32,16 +32,12 @@ RESOURCES = edit_arc3D.qrc
+ win32-msvc2005:LIBS += ../../external/lib/win32-msvc2005/bz2.lib
+ win32-msvc2008:LIBS += ../../external/lib/win32-msvc2008/bz2.lib
+ win32-g++:LIBS += ../../external/lib/win32-gcc/libbz2.a
+-linux-g++:LIBS += ../../external/lib/linux-g++/libbz2.a
+-linux-g++-32:LIBS += ../../external/lib/linux-g++-32/libbz2.a
+-linux-g++-64:LIBS += ../../external/lib/linux-g++-64/libbz2.a
++linux-g++:LIBS += -lbz2
+
+ win32-msvc2005:INCLUDEPATH += ../../external/bzip2-1.0.5
+ win32-msvc2008:INCLUDEPATH += ../../external/bzip2-1.0.5
+ win32-g++:INCLUDEPATH += ../../external/bzip2-1.0.5
+-linux-g++:INCLUDEPATH += ../../external/bzip2-1.0.5
+-linux-g++-32:INCLUDEPATH += ../../external/bzip2-1.0.5
+-linux-g++-64:INCLUDEPATH += ../../external/bzip2-1.0.5
++linux-g++:INCLUDEPATH += /usr/include
+
+ mac:LIBS += -lbz2
+
diff --git a/media-gfx/meshlab/files/1.3.2/10_muparser.patch b/media-gfx/meshlab/files/1.3.2/10_muparser.patch
new file mode 100644
index 000000000000..f640377c59f4
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/10_muparser.patch
@@ -0,0 +1,30 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Use Debian muparser.
+Git-Branch: p/muparser
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..5e9cfcdae805ddac6f550b2a9f7011
+
+ meshlab/src/meshlabplugins/filter_func/filter_func.pro | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/meshlab/src/meshlabplugins/filter_func/filter_func.pro b/meshlab/src/meshlabplugins/filter_func/filter_func.pro
+index 3bcce2a..9a147b2 100644
+--- a/meshlab/src/meshlabplugins/filter_func/filter_func.pro
++++ b/meshlab/src/meshlabplugins/filter_func/filter_func.pro
+@@ -6,7 +6,7 @@ SOURCES += filter_func.cpp
+
+ TARGET = filter_func
+
+-INCLUDEPATH += ../../external/muparser_v132/include
++INCLUDEPATH += /usr/include/muParser
+
+ # Note: we need static libs so when building muparser lib use
+ # ./configure --enable-shared=no
+@@ -14,7 +14,5 @@ INCLUDEPATH += ../../external/muparser_v132/include
+ win32-msvc2005:LIBS += ../../external/lib/win32-msvc2005/muparser.lib
+ win32-msvc2008:LIBS += ../../external/lib/win32-msvc2008/muparser.lib
+ macx:LIBS += $$MACLIBDIR/libmuparser.a
+-linux-g++:LIBS += ../../external/lib/linux-g++/libmuparser.a
+-linux-g++-32:LIBS += ../../external/lib/linux-g++-32/libmuparser.a
+-linux-g++-64:LIBS += ../../external/lib/linux-g++-64/libmuparser.a
++linux-g++:LIBS += -lmuparser
+ win32-g++:LIBS += ../../external/lib/win32-gcc/libmuparser.a
diff --git a/media-gfx/meshlab/files/1.3.2/11_openctm.patch b/media-gfx/meshlab/files/1.3.2/11_openctm.patch
new file mode 100644
index 000000000000..7fcbced741a3
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/11_openctm.patch
@@ -0,0 +1,31 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Use Debian OpenCTM
+Git-Branch: p/openctm
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..e067d2c66c2408593f62f9c7776eed
+
+ meshlab/src/meshlabplugins/io_ctm/io_ctm.pro | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/meshlab/src/meshlabplugins/io_ctm/io_ctm.pro b/meshlab/src/meshlabplugins/io_ctm/io_ctm.pro
+index 1084902..31f0237 100644
+--- a/meshlab/src/meshlabplugins/io_ctm/io_ctm.pro
++++ b/meshlab/src/meshlabplugins/io_ctm/io_ctm.pro
+@@ -3,7 +3,7 @@ HEADERS += io_ctm.h \
+ $$VCGDIR/wrap/io_trimesh/import_ctm.h \
+ $$VCGDIR/wrap/io_trimesh/export_ctm.h
+ SOURCES += io_ctm.cpp
+-INCLUDEPATH += ../../external/OpenCTM-1.0.3/lib
++INCLUDEPATH += /usr/include
+ TARGET = io_ctm
+
+ win32-msvc.net:QMAKE_CXXFLAGS += /DOPENCTM_STATIC
+@@ -15,8 +15,6 @@ win32-msvc.net:LIBS += ../../external/lib/win32-msvc.net/openctm.lib
+ win32-msvc2005:LIBS += ../../external/lib/win32-msvc2005/openctm.lib
+ win32-msvc2008:LIBS += ../../external/lib/win32-msvc2008/openctm.lib
+ win32-g++:LIBS += ../../external/lib/win32-gcc/libopenctm.a
+-linux-g++:LIBS += ../../external/lib/linux-g++/libopenctm.a
+-linux-g++-32:LIBS += ../../external/lib/linux-g++-32/libopenctm.a
+-linux-g++-64:LIBS += ../../external/lib/linux-g++-64/libopenctm.a
++linux-g++:LIBS += -lopenctm
+ #macx:LIBS += ../../external/lib/macx/libopenctm.a
+ macx:LIBS += $$MACLIBDIR/libopenctm.a
diff --git a/media-gfx/meshlab/files/1.3.2/12_overflow.patch b/media-gfx/meshlab/files/1.3.2/12_overflow.patch
new file mode 100644
index 000000000000..7bf594302c82
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/12_overflow.patch
@@ -0,0 +1,23 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Fix overflowing array index in VCGlib
+Git-Branch: p/overflow
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..ec0961589f0d134ab51265b8431c5f
+
+Fixes also E-array-bounds error in Debian build log scanner.
+
+ vcglib/wrap/gl/addons.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/vcglib/wrap/gl/addons.h b/vcglib/wrap/gl/addons.h
+index 002ff1b..bc863bf 100644
+--- a/vcglib/wrap/gl/addons.h
++++ b/vcglib/wrap/gl/addons.h
+@@ -292,7 +292,7 @@ public:
+ P[1] = Point3f( 0, sinf(angle), cosf(angle));
+ assert(!glGetError());
+ glBegin(GL_TRIANGLES);
+- Point3f n = ( (P[0]-p0) ^ (P[2]-p0) ).Normalize();
++ Point3f n = ( (P[0]-p0) ^ (P[1]-p0) ).Normalize();
+ glNormal3f(n[0],n[1],n[2]);
+ glVertex3f(p0[0],p0[1],p0[2]);
+ glNormal3f(N[0][0],N[0][1],N[0][2]);
diff --git a/media-gfx/meshlab/files/1.3.2/13_pluginsdir.patch b/media-gfx/meshlab/files/1.3.2/13_pluginsdir.patch
new file mode 100644
index 000000000000..f92ad6376ff1
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/13_pluginsdir.patch
@@ -0,0 +1,21 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Hardcode pluginsDir to the correct path in Debian
+Git-Branch: p/pluginsdir
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..e1db74a038fd5fc27cc5e9f0bee8d3
+
+ meshlab/src/common/pluginmanager.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meshlab/src/common/pluginmanager.cpp b/meshlab/src/common/pluginmanager.cpp
+index d84c8fa..a039736 100644
+--- a/meshlab/src/common/pluginmanager.cpp
++++ b/meshlab/src/common/pluginmanager.cpp
+@@ -230,7 +230,7 @@ QString PluginManager::getBaseDirPath()
+
+ QString PluginManager::getPluginDirPath()
+ {
+- QDir pluginsDir(getBaseDirPath());
++ QDir pluginsDir("/usr/lib/meshlab");
+ if(!pluginsDir.exists("plugins"))
+ //QMessageBox::warning(0,"Meshlab Initialization","Serious error. Unable to find the plugins directory.");
+ qDebug("Meshlab Initialization: Serious error. Unable to find the plugins directory.");
diff --git a/media-gfx/meshlab/files/1.3.2/14_ply_numeric.patch b/media-gfx/meshlab/files/1.3.2/14_ply_numeric.patch
new file mode 100644
index 000000000000..2f7c6e0a72d2
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/14_ply_numeric.patch
@@ -0,0 +1,32 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Set LC_NUMERIC to "C"
+Git-Branch: p/ply_numeric
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..2aeac7daa4785a9cf0b2480f663780
+
+Fixes reading of ascii float values in locales which use the comma as a
+float separator.
+
+ meshlab/src/meshlab/main.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/meshlab/src/meshlab/main.cpp b/meshlab/src/meshlab/main.cpp
+index 7058e31..e452e87 100644
+--- a/meshlab/src/meshlab/main.cpp
++++ b/meshlab/src/meshlab/main.cpp
+@@ -25,12 +25,16 @@
+ #include <QMessageBox>
+ #include "mainwindow.h"
+
++using namespace std;
++
+ int main(int argc, char *argv[])
+ {
+ MeshLabApplication app(argc, argv);
+ QLocale::setDefault(QLocale::C);
+ QCoreApplication::setOrganizationName("VCG");
+ QCoreApplication::setApplicationName("MeshLab");
++
++ std::setlocale(LC_NUMERIC, "C");
+
+ if(argc>1)
+ {
diff --git a/media-gfx/meshlab/files/1.3.2/15_qhull.patch b/media-gfx/meshlab/files/1.3.2/15_qhull.patch
new file mode 100644
index 000000000000..6c1f70a3f0bc
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/15_qhull.patch
@@ -0,0 +1,67 @@
+diff -Naur a/meshlab/src/meshlabplugins/filter_qhull/filter_qhull.pro b/meshlab/src/meshlabplugins/filter_qhull/filter_qhull.pro
+--- a/meshlab/src/meshlabplugins/filter_qhull/filter_qhull.pro 2013-10-30 21:12:42.000000000 +0000
++++ b/meshlab/src/meshlabplugins/filter_qhull/filter_qhull.pro 2013-10-30 21:31:35.692580129 +0000
+@@ -8,28 +8,6 @@
+ SOURCES += filter_qhull.cpp \
+ qhull_tools.cpp
+
+-HEADERS += ../../external/qhull-2003.1/src/geom.h \
+- ../../external/qhull-2003.1/src/io.h \
+- ../../external/qhull-2003.1/src/mem.h \
+- ../../external/qhull-2003.1/src/merge.h \
+- ../../external/qhull-2003.1/src/poly.h \
+- ../../external/qhull-2003.1/src/qhull.h \
+- ../../external/qhull-2003.1/src/qset.h \
+- ../../external/qhull-2003.1/src/stat.h \
+- ../../external/qhull-2003.1/src/user.h
+-
+-SOURCES += ../../external/qhull-2003.1/src/geom.c \
+- ../../external/qhull-2003.1/src/geom2.c \
+- ../../external/qhull-2003.1/src/global.c \
+- ../../external/qhull-2003.1/src/io.c \
+- ../../external/qhull-2003.1/src/mem.c \
+- ../../external/qhull-2003.1/src/merge.c \
+- ../../external/qhull-2003.1/src/poly.c \
+- ../../external/qhull-2003.1/src/poly2.c \
+- ../../external/qhull-2003.1/src/qconvex.c \
+- ../../external/qhull-2003.1/src/qhull.c \
+- ../../external/qhull-2003.1/src/qset.c \
+- ../../external/qhull-2003.1/src/stat.c \
+- ../../external/qhull-2003.1/src/user.c
++LIBS += -lqhull
+
+ TARGET = filter_qhull
+\ В конце файла нет новой строки
+diff -Naur a/meshlab/src/meshlabplugins/filter_qhull/qhull_tools.h b/meshlab/src/meshlabplugins/filter_qhull/qhull_tools.h
+--- a/meshlab/src/meshlabplugins/filter_qhull/qhull_tools.h 1970-01-01 00:00:00.000000000 +0000
++++ b/meshlab/src/meshlabplugins/filter_qhull/qhull_tools.h 2013-10-30 21:32:57.242574626 +0000
+@@ -0,0 +1,29 @@
++
++#include <common/meshmodel.h>
++#include <math.h>
++
++
++#if defined(__cplusplus)
++extern "C"
++{
++#endif
++#include <stdio.h>
++#include <stdlib.h>
++#include <libqhull/libqhull.h>
++#include <libqhull/mem.h>
++#include <libqhull/qset.h>
++#include <libqhull/geom.h>
++#include <libqhull/merge.h>
++#include <libqhull/poly.h>
++#include <libqhull/io.h>
++#include <libqhull/stat.h>
++#if defined(__cplusplus)
++}
++#endif
++
++facetT *compute_convex_hull(int dim, int numpoints, MeshModel &m);
++facetT *compute_delaunay(int dim, int numpoints, MeshModel &m);
++bool compute_voronoi(int dim, int numpoints, MeshModel &m, MeshModel &pm,float threshold);
++bool compute_alpha_shapes(int dim, int numpoints, MeshModel &m, MeshModel &pm,double alpha, bool alphashape);
++int visible_points(int dim, int numpoints, MeshModel &m, MeshModel &pm,MeshModel &pm2, vcg::Point3f viewpointP,float threshold,bool convex_hullFP,bool triangVP);
++
diff --git a/media-gfx/meshlab/files/1.3.2/16_shadersdir.patch b/media-gfx/meshlab/files/1.3.2/16_shadersdir.patch
new file mode 100644
index 000000000000..d8ebc206f045
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/16_shadersdir.patch
@@ -0,0 +1,49 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Hardcode shadersDir to the correct path in Debian in various plugins
+Git-Branch: p/shadersdir
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..06b8aa9ce525fc0c5c221f5d675c29
+
+ meshlab/src/meshlabplugins/render_gdp/meshrender.cpp | 2 +-
+ meshlab/src/meshlabplugins/render_gdp/shaderDialog.cpp | 2 +-
+ meshlab/src/meshlabplugins/render_rfx/render_rfx.cpp | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/meshlab/src/meshlabplugins/render_gdp/meshrender.cpp b/meshlab/src/meshlabplugins/render_gdp/meshrender.cpp
+index 64dbcc3..c07998c 100644
+--- a/meshlab/src/meshlabplugins/render_gdp/meshrender.cpp
++++ b/meshlab/src/meshlabplugins/render_gdp/meshrender.cpp
+@@ -39,7 +39,7 @@ void MeshShaderRenderPlugin::initActionList() {
+ qaNone->setCheckable(false);
+ actionList << qaNone;*/
+
+- QDir shadersDir = QDir(qApp->applicationDirPath());
++ QDir shadersDir = QDir("/usr/share/meshlab");
+ #if defined(Q_OS_WIN)
+ if (shadersDir.dirName() == "debug" || shadersDir.dirName() == "release" || shadersDir.dirName() == "plugins" )
+ shadersDir.cdUp();
+diff --git a/meshlab/src/meshlabplugins/render_gdp/shaderDialog.cpp b/meshlab/src/meshlabplugins/render_gdp/shaderDialog.cpp
+index 9c45981..0256805 100644
+--- a/meshlab/src/meshlabplugins/render_gdp/shaderDialog.cpp
++++ b/meshlab/src/meshlabplugins/render_gdp/shaderDialog.cpp
+@@ -323,7 +323,7 @@ void ShaderDialog::changeTexturePath(int i) {
+ void ShaderDialog::browseTexturePath(int i) {
+ QFileDialog fd(0,"Choose new texture");
+
+- QDir shadersDir = QDir(qApp->applicationDirPath());
++ QDir shadersDir = QDir("/usr/share/meshlab");
+ #if defined(Q_OS_WIN)
+ if (shadersDir.dirName() == "debug" || shadersDir.dirName() == "release")
+ shadersDir.cdUp();
+diff --git a/meshlab/src/meshlabplugins/render_rfx/render_rfx.cpp b/meshlab/src/meshlabplugins/render_rfx/render_rfx.cpp
+index e327cea..eb67fd2 100755
+--- a/meshlab/src/meshlabplugins/render_rfx/render_rfx.cpp
++++ b/meshlab/src/meshlabplugins/render_rfx/render_rfx.cpp
+@@ -55,7 +55,7 @@ QList<QAction*> RenderRFX::actions()
+
+ void RenderRFX::initActionList()
+ {
+- QDir shadersDir = PluginManager::getBaseDirPath();
++ QDir shadersDir = QDir("/usr/share/meshlab");
+
+ #if defined(Q_OS_WIN)
+ if (shadersDir.dirName() == "debug" ||
diff --git a/media-gfx/meshlab/files/1.3.2/17_structuresynth.patch b/media-gfx/meshlab/files/1.3.2/17_structuresynth.patch
new file mode 100644
index 000000000000..6a6b84c8d682
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/17_structuresynth.patch
@@ -0,0 +1,48 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Include glu.h where needed in included structure-synth code.
+Git-Branch: p/structuresynth
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..45495fd45078a06d7c5f7405ba636c
+
+Also link structuresynth code with libGLU.
+
+This FTBS was exposed by GCC-4.7. See Debian bug #672000 for the same
+issue in the real structure-synth Debian package.
+
+ .../structuresynth/ssynth/SyntopiaCore/GLEngine/EngineWidget.h | 1 +
+ .../src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h | 1 +
+ meshlab/src/external/structuresynth/structuresynth.pro | 1 +
+ 3 files changed, 3 insertions(+)
+
+diff --git a/meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/EngineWidget.h b/meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/EngineWidget.h
+index 8905cbe..e13b011 100644
+--- a/meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/EngineWidget.h
++++ b/meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/EngineWidget.h
+@@ -5,6 +5,7 @@
+ #include <QMainWindow>
+ #include <QPoint>
+ #include <QList>
++#include <GL/glu.h>
+
+ #include "SyntopiaCore/Math/Vector3.h"
+ #include "SyntopiaCore/Math/Matrix4.h"
+diff --git a/meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h b/meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h
+index 0b0dc40..ed95346 100644
+--- a/meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h
++++ b/meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h
+@@ -2,6 +2,7 @@
+
+ #include "SyntopiaCore/Math/Vector3.h"
+ #include "Object3D.h"
++#include <GL/glu.h>
+
+ namespace SyntopiaCore {
+ namespace GLEngine {
+diff --git a/meshlab/src/external/structuresynth/structuresynth.pro b/meshlab/src/external/structuresynth/structuresynth.pro
+index 8579b03..362ce5d 100644
+--- a/meshlab/src/external/structuresynth/structuresynth.pro
++++ b/meshlab/src/external/structuresynth/structuresynth.pro
+@@ -120,3 +120,4 @@ win32-msvc2008:DESTDIR = ../lib/win32-msvc2008
+ linux-g++-32:DESTDIR = ../lib/linux-g++-32
+ linux-g++-64:DESTDIR = ../lib/linux-g++-64
+ linux-g++:DESTDIR = ../lib/linux-g++
++unix:LIBS+=-lGLU
diff --git a/media-gfx/meshlab/files/1.3.2/18_glew.c18p1.patch b/media-gfx/meshlab/files/1.3.2/18_glew.c18p1.patch
new file mode 100644
index 000000000000..894f05cf2423
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/18_glew.c18p1.patch
@@ -0,0 +1,146 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Use Debian GLEW.
+Git-Branch: p/glew
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..7023f74389baab6b9032c08ae2e2b2
+
+ meshlab/src/common/common.pro | 5 ++---
+ meshlab/src/meshlab/meshlab.pro | 4 +---
+ meshlab/src/meshlabplugins/filter_plymc/plymc.pro | 2 +-
+ meshlab/src/meshlabserver/meshlabserver.pro | 6 ++----
+ meshlab/src/shared.pri | 7 ++++---
+ vcglib/apps/sample/trimesh_QT/trimesh_qt.pro | 5 +++--
+ vcglib/apps/sample/trimesh_pos_demo/trimesh_pos_demo.pro | 4 ++--
+ 7 files changed, 15 insertions(+), 18 deletions(-)
+
+diff --git a/meshlab/src/common/common.pro b/meshlab/src/common/common.pro
+index eec1863..58bda06 100644
+--- a/meshlab/src/common/common.pro
++++ b/meshlab/src/common/common.pro
+@@ -1,9 +1,9 @@
+ include (../general.pri)
+ EXIF_DIR = ../external/jhead-2.95
++GLEWDIR = /usr
++LIBS += -lGLEW
+
+
+-GLEWCODE = $$GLEWDIR/src/glew.c
+-
+ win32-msvc2005:DESTDIR = ../distrib
+ win32-msvc2008:DESTDIR = ../distrib
+ win32-msvc2010:DESTDIR = ../distrib
+@@ -106,7 +106,6 @@ SOURCES += filterparameter.cpp \
+ mlapplication.cpp \
+ scriptsyntax.cpp \
+ searcher.cpp \
+- $$GLEWCODE \
+ meshlabdocumentxml.cpp \
+ meshlabdocumentbundler.cpp
+
+diff --git a/meshlab/src/meshlab/meshlab.pro b/meshlab/src/meshlab/meshlab.pro
+index 4a7d0fd..ecd9ed6 100644
+--- a/meshlab/src/meshlab/meshlab.pro
++++ b/meshlab/src/meshlab/meshlab.pro
+@@ -129,11 +129,9 @@ win32-g++:LIBS += -L../external/lib/win32-gcc -L../distrib -lcommon
+ # win32-g++:release:LIBS += -L../common/release -lcommon
+ #}
+
+-linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU
++linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLEW -lGLU
+ linux-g++:QMAKE_RPATHDIR += ../distrib
+-linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -L../distrib -lcommon -lGLU
+ linux-g++-32:QMAKE_RPATHDIR += ../distrib
+-linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -L../distrib -lcommon -lGLU
+ linux-g++-64:QMAKE_RPATHDIR += ../distrib
+
+ # uncomment in your local copy only in emergency cases.
+diff --git a/meshlab/src/meshlabplugins/filter_plymc/plymc.pro b/meshlab/src/meshlabplugins/filter_plymc/plymc.pro
+index b609419..a89e8c6 100755
+--- a/meshlab/src/meshlabplugins/filter_plymc/plymc.pro
++++ b/meshlab/src/meshlabplugins/filter_plymc/plymc.pro
+@@ -1,7 +1,7 @@
+ TARGET = plymc
+ DEPENDPATH += .
+ INCLUDEPATH += ../../../../vcglib \
+- ../../code/lib/glew/include
++ /usr/include
+ CONFIG += console \
+ stl \
+ debug_and_release
+diff --git a/meshlab/src/meshlabserver/meshlabserver.pro b/meshlab/src/meshlabserver/meshlabserver.pro
+index cca5560..9b070c7 100644
+--- a/meshlab/src/meshlabserver/meshlabserver.pro
++++ b/meshlab/src/meshlabserver/meshlabserver.pro
+@@ -1,4 +1,4 @@
+-GLEWDIR = ../external/glew-1.5.1
++GLEWDIR = /usr
+
+ HEADERS =
+
+@@ -25,11 +25,9 @@ win32-msvc2005: LIBS += -L../distrib -lcommon
+ win32-msvc2008: LIBS += -L../distrib -lcommon
+ win32-msvc2010: LIBS += -L../distrib -lcommon
+ win32-g++: LIBS += -L../distrib -lcommon
+-linux-g++: LIBS += -L../distrib -lcommon
++linux-g++: LIBS += -L../distrib -lcommon -lGLEW
+ linux-g++:QMAKE_RPATHDIR += ../distrib
+-linux-g++-32: LIBS += -L../distrib -lcommon
+ linux-g++-32:QMAKE_RPATHDIR += ../distrib
+-linux-g++-64: LIBS += -L../distrib -lcommon
+ linux-g++-64:QMAKE_RPATHDIR += ../distrib
+ #CONFIG (release,debug | release) {
+ # win32-msvc2005:release: LIBS += -L../common/release -lcommon
+diff --git a/meshlab/src/shared.pri b/meshlab/src/shared.pri
+index 93ed32f..0ba3e67 100644
+--- a/meshlab/src/shared.pri
++++ b/meshlab/src/shared.pri
+@@ -17,9 +17,10 @@ win32-msvc2005: LIBS += ../../distrib/common.lib
+ win32-msvc2008: LIBS += ../../distrib/common.lib
+ win32-msvc2010: LIBS += ../../distrib/common.lib
+ win32-g++:LIBS += -L../../distrib -lcommon
+-linux-g++:LIBS += -L../../distrib -lcommon
+-linux-g++-32:LIBS += -L../../distrib -lcommon
+-linux-g++-64:LIBS += -L../../distrib -lcommon
++linux-g++:LIBS += -L../../distrib -lcommon -lGLEW
++#linux-g++-32:LIBS += -L../../distrib -lcommon
++#linux-g++-64:LIBS += -L../../distrib -lcommon
++
+
+ #CONFIG(debug, debug|release) {
+ # win32-msvc2005: LIBS += ../../common/debug/common.lib
+diff --git a/vcglib/apps/sample/trimesh_QT/trimesh_qt.pro b/vcglib/apps/sample/trimesh_QT/trimesh_qt.pro
+index 8a3c7fc..986116e 100644
+--- a/vcglib/apps/sample/trimesh_QT/trimesh_qt.pro
++++ b/vcglib/apps/sample/trimesh_QT/trimesh_qt.pro
+@@ -26,8 +26,9 @@ SOURCES += ../../../wrap/gui/trackmode.cpp
+
+ # Compile glew
+ DEFINES += GLEW_STATIC
+-INCLUDEPATH += ../../../../code/lib/glew/include
+-SOURCES += ../../../../code/lib/glew/src/glew.c
++INCLUDEPATH += /usr/include
++#SOURCES += ../../../../code/lib/glew/src/glew.c
++LIBS += -lGLEW
+
+ # Awful problem with windows..
+ win32{
+diff --git a/vcglib/apps/sample/trimesh_pos_demo/trimesh_pos_demo.pro b/vcglib/apps/sample/trimesh_pos_demo/trimesh_pos_demo.pro
+index e8ae178..4a69fef 100644
+--- a/vcglib/apps/sample/trimesh_pos_demo/trimesh_pos_demo.pro
++++ b/vcglib/apps/sample/trimesh_pos_demo/trimesh_pos_demo.pro
+@@ -1,14 +1,14 @@
+-INCLUDEPATH += . ../../.. ../../../../code/lib ../../../../code/lib/glew/include
++INCLUDEPATH += . ../../.. ../../../../code/lib /usr/include
+ HEADERS = glwidget.h \
+ window.h \
+ mesh_type.h
+ SOURCES = glwidget.cpp \
+ main.cpp \
+ window.cpp\
+- ../../../../code/lib/glew/src/glew.c \
+ ../../../wrap/ply/plylib.cpp\
+ ../../../wrap/gui/trackmode.cpp\
+ ../../../wrap/gui/trackball.cpp
++LIBS += -lGLEW
+ QT += opengl
+
+ # install
diff --git a/media-gfx/meshlab/files/1.3.2/19_CONFLICTS_IN_rpath.patch b/media-gfx/meshlab/files/1.3.2/19_CONFLICTS_IN_rpath.patch
new file mode 100644
index 000000000000..c3dfc4de35be
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/19_CONFLICTS_IN_rpath.patch
@@ -0,0 +1,32 @@
+reverted:
+--- b/meshlab/src/meshlab/meshlab.pro
++++ a/meshlab/src/meshlab/meshlab.pro
+@@ -129,9 +129,11 @@
+ # win32-g++:release:LIBS += -L../common/release -lcommon
+ #}
+
++linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU
+-linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLEW -lGLU
+ linux-g++:QMAKE_RPATHDIR += ../distrib
++linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -L../distrib -lcommon -lGLU
+ linux-g++-32:QMAKE_RPATHDIR += ../distrib
++linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -L../distrib -lcommon -lGLU
+ linux-g++-64:QMAKE_RPATHDIR += ../distrib
+
+ # uncomment in your local copy only in emergency cases.
+reverted:
+--- b/meshlab/src/meshlabserver/meshlabserver.pro
++++ a/meshlab/src/meshlabserver/meshlabserver.pro
+@@ -25,9 +25,11 @@
+ win32-msvc2008: LIBS += -L../distrib -lcommon
+ win32-msvc2010: LIBS += -L../distrib -lcommon
+ win32-g++: LIBS += -L../distrib -lcommon
++linux-g++: LIBS += -L../distrib -lcommon
+-linux-g++: LIBS += -L../distrib -lcommon -lGLEW
+ linux-g++:QMAKE_RPATHDIR += ../distrib
++linux-g++-32: LIBS += -L../distrib -lcommon
+ linux-g++-32:QMAKE_RPATHDIR += ../distrib
++linux-g++-64: LIBS += -L../distrib -lcommon
+ linux-g++-64:QMAKE_RPATHDIR += ../distrib
+ #CONFIG (release,debug | release) {
+ # win32-msvc2005:release: LIBS += -L../common/release -lcommon
diff --git a/media-gfx/meshlab/files/1.3.2/20_rpath.c18p2.patch b/media-gfx/meshlab/files/1.3.2/20_rpath.c18p2.patch
new file mode 100644
index 000000000000..e53d8bf1e798
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/20_rpath.c18p2.patch
@@ -0,0 +1,43 @@
+From: Teemu Ikonen <tpikonen@gmail.com>
+Subject: Use /usr/lib/meshlab as RPATH in binaries.
+Git-Branch: p/rpath
+Git-Diff: 532bdd9a6bde03cf47da8fb63fee60..0ecffa4d55bfff6f3b98a478d0cd82
+
+ meshlab/src/meshlab/meshlab.pro | 4 +---
+ meshlab/src/meshlabserver/meshlabserver.pro | 4 +---
+ 2 files changed, 2 insertions(+), 6 deletions(-)
+
+diff --git a/meshlab/src/meshlab/meshlab.pro b/meshlab/src/meshlab/meshlab.pro
+index 4a7d0fd..f67ba07 100644
+--- a/meshlab/src/meshlab/meshlab.pro
++++ b/meshlab/src/meshlab/meshlab.pro
+@@ -130,11 +130,9 @@ win32-g++:LIBS += -L../external/lib/win32-gcc -L../distrib -lcommon
+ #}
+
+ linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU
+-linux-g++:QMAKE_RPATHDIR += ../distrib
++linux-g++:QMAKE_RPATHDIR += /usr/lib/meshlab
+ linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -L../distrib -lcommon -lGLU
+-linux-g++-32:QMAKE_RPATHDIR += ../distrib
+ linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -L../distrib -lcommon -lGLU
+-linux-g++-64:QMAKE_RPATHDIR += ../distrib
+
+ # uncomment in your local copy only in emergency cases.
+ # We should never be too permissive
+diff --git a/meshlab/src/meshlabserver/meshlabserver.pro b/meshlab/src/meshlabserver/meshlabserver.pro
+index cca5560..6a19b81 100644
+--- a/meshlab/src/meshlabserver/meshlabserver.pro
++++ b/meshlab/src/meshlabserver/meshlabserver.pro
+@@ -26,11 +26,9 @@ win32-msvc2008: LIBS += -L../distrib -lcommon
+ win32-msvc2010: LIBS += -L../distrib -lcommon
+ win32-g++: LIBS += -L../distrib -lcommon
+ linux-g++: LIBS += -L../distrib -lcommon
+-linux-g++:QMAKE_RPATHDIR += ../distrib
++linux-g++:QMAKE_RPATHDIR += /usr/lib/meshlab
+ linux-g++-32: LIBS += -L../distrib -lcommon
+-linux-g++-32:QMAKE_RPATHDIR += ../distrib
+ linux-g++-64: LIBS += -L../distrib -lcommon
+-linux-g++-64:QMAKE_RPATHDIR += ../distrib
+ #CONFIG (release,debug | release) {
+ # win32-msvc2005:release: LIBS += -L../common/release -lcommon
+ # win32-msvc2008:release: LIBS += -L../common/release -lcommon
diff --git a/media-gfx/meshlab/files/1.3.2/21_RESOLUTION.patch b/media-gfx/meshlab/files/1.3.2/21_RESOLUTION.patch
new file mode 100644
index 000000000000..35c1cac41412
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/21_RESOLUTION.patch
@@ -0,0 +1,29 @@
+Resolve patch overlaps.
+--- a/meshlab/src/meshlab/meshlab.pro
++++ b/meshlab/src/meshlab/meshlab.pro
+@@ -129,10 +129,8 @@ win32-g++:LIBS += -L../external/lib/win32-gcc -L../distrib -lcommon
+ # win32-g++:release:LIBS += -L../common/release -lcommon
+ #}
+
+-linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU
++linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLEW -lGLU
+ linux-g++:QMAKE_RPATHDIR += /usr/lib/meshlab
+-linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -L../distrib -lcommon -lGLU
+-linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -L../distrib -lcommon -lGLU
+
+ # uncomment in your local copy only in emergency cases.
+ # We should never be too permissive
+--- a/meshlab/src/meshlabserver/meshlabserver.pro
++++ b/meshlab/src/meshlabserver/meshlabserver.pro
+@@ -25,10 +25,8 @@ win32-msvc2005: LIBS += -L../distrib -lcommon
+ win32-msvc2008: LIBS += -L../distrib -lcommon
+ win32-msvc2010: LIBS += -L../distrib -lcommon
+ win32-g++: LIBS += -L../distrib -lcommon
+-linux-g++: LIBS += -L../distrib -lcommon
++linux-g++: LIBS += -L../distrib -lcommon -lGLEW
+ linux-g++:QMAKE_RPATHDIR += /usr/lib/meshlab
+-linux-g++-32: LIBS += -L../distrib -lcommon
+-linux-g++-64: LIBS += -L../distrib -lcommon
+ #CONFIG (release,debug | release) {
+ # win32-msvc2005:release: LIBS += -L../common/release -lcommon
+ # win32-msvc2008:release: LIBS += -L../common/release -lcommon
diff --git a/media-gfx/meshlab/files/1.3.2/22_aliasing.patch b/media-gfx/meshlab/files/1.3.2/22_aliasing.patch
new file mode 100644
index 000000000000..7f3b8447c2d0
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.2/22_aliasing.patch
@@ -0,0 +1,43 @@
+diff -urN meshlab-1.3.2-r1.old/meshlab/src/meshlabplugins/io_tri/io_tri.cpp meshlab-1.3.2-r1/meshlab/src/meshlabplugins/io_tri/io_tri.cpp
+--- meshlab-1.3.2-r1.old/meshlab/src/meshlabplugins/io_tri/io_tri.cpp 2014-08-11 18:01:55.329182160 +0200
++++ meshlab-1.3.2-r1/meshlab/src/meshlabplugins/io_tri/io_tri.cpp 2014-08-11 15:11:20.000000000 +0200
+@@ -149,9 +149,11 @@
+ fread(&numFaces,sizeof(int),1,fp);
+ }
+ // advance pointer ??
+- char s[4];
++
++ char s[5];
+ fread(s,sizeof(char),4,fp);
+- printf("extara is %s (%d)\n", s, *(int*)(&s[0]));
++ s[4]=0;
++ printf("extara is %s (%d)\n", s, ((unsigned)s[0])|(((unsigned)s[1])<<8)|(((unsigned)s[2])<<16)|(((unsigned)s[3])<<24));
+ return 0;
+ }
+
+@@ -284,7 +286,7 @@
+ bool floatFlag=false;
+
+ int ret=fread(texCode,sizeof(char),4,fp);
+- qDebug("TexString code is '%s' (int:%d) (float:%f)\n", texCode, *(int*)(&texCode[0]), *(float*)(&texCode[0]));
++ //qDebug("TexString code is '%s' (int:%d) (float:%f)\n", texCode, *(int*)((void*)(&texCode[0])), *(float*)((void*)(&texCode[0])));
+
+ if(feof(fp)){
+ qDebug("Premature end of file");
+diff -urN meshlab-1.3.2-r1.old/vcglib/vcg/complex/algorithms/clustering.h meshlab-1.3.2-r1/vcglib/vcg/complex/algorithms/clustering.h
+--- meshlab-1.3.2-r1.old/vcglib/vcg/complex/algorithms/clustering.h 2014-08-11 18:01:55.366182161 +0200
++++ meshlab-1.3.2-r1/vcglib/vcg/complex/algorithms/clustering.h 2014-08-11 14:36:38.000000000 +0200
+@@ -233,12 +233,12 @@
+ // DuplicateFace=false a model with looks ok if you enable doublesided lighting and disable backfaceculling
+
+ bool DuplicateFaceParam;
+-
+ // This class keeps the references to the three cells where a face has its vertexes.
+ class SimpleTri
+ {
+ public:
+ CellType *v[3];
++#pragma GCC diagnostic ignored "-Wstrict-aliasing"
+ int ii(int i) const {return *((int *)(&(v[i])));}
+ bool operator < ( const SimpleTri &p) const {
+ return (v[2]!=p.v[2])?(v[2]<p.v[2]):
diff --git a/media-gfx/meshlab/files/1.3.3/gcc-4.7.patch b/media-gfx/meshlab/files/1.3.3/gcc-4.7.patch
new file mode 100644
index 000000000000..b918ca52ec45
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.3/gcc-4.7.patch
@@ -0,0 +1,12 @@
+diff --git vcglib/wrap/ply/plystuff.h vcglib/wrap/ply/plystuff.h
+index 3e41e63..4af9508 100644
+--- vcglib/wrap/ply/plystuff.h
++++ vcglib/wrap/ply/plystuff.h
+@@ -75,6 +75,7 @@ using namespace vcg;
+ #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/media-gfx/meshlab/files/1.3.3/lapack.patch b/media-gfx/meshlab/files/1.3.3/lapack.patch
new file mode 100644
index 000000000000..81c094634050
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.3/lapack.patch
@@ -0,0 +1,11 @@
+diff -Nur meshlab.orig/src/external/levmar-2.3/lm.h meshlab/src/external/levmar-2.3/lm.h
+--- meshlab.orig/src/external/levmar-2.3/lm.h 2010-04-28 17:30:47.000000000 +1000
++++ meshlab/src/external/levmar-2.3/lm.h 2010-05-13 20:17:35.488505907 +1000
+@@ -27,7 +27,6 @@
+
+ /* specify whether to use LAPACK or not. The first option is strongly recommended */
+ #define HAVE_LAPACK /* use LAPACK */
+- #undef HAVE_LAPACK /* uncomment this to force not using LAPACK */
+
+ /* to avoid the overhead of repeated mallocs(), routines in Axb.c can be instructed to
+ * retain working memory between calls. Such a choice, however, renders these routines
diff --git a/media-gfx/meshlab/files/1.3.3/mpir.patch b/media-gfx/meshlab/files/1.3.3/mpir.patch
new file mode 100644
index 000000000000..a3f8d051d891
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.3/mpir.patch
@@ -0,0 +1,10 @@
+diff -Nur meshlab.orig/src/meshlabplugins/filter_csg/filter_csg.pro meshlab/src/meshlabplugins/filter_csg/filter_csg.pro
+--- meshlab.orig/src/meshlabplugins/filter_csg/filter_csg.pro 2014-04-02 02:59:31.000000000 +1100
++++ meshlab/src/meshlabplugins/filter_csg/filter_csg.pro 2014-06-01 21:10:24.521095356 +1000
+@@ -18,6 +18,4 @@
+ win32-msvc2008:LIBS += ../../external/lib/win32-msvc2008/mpirxx.lib ../../external/lib/win32-msvc2008/mpir.lib
+ win32-msvc2010:LIBS += ../../external/lib/win32-msvc2008/mpirxx.lib ../../external/lib/win32-msvc2008/mpir.lib
+ win32-msvc2012:LIBS += ../../external/lib/win32-msvc2008/mpirxx.lib ../../external/lib/win32-msvc2008/mpir.lib
+-linux-g++:INCLUDEPATH += ../../external/inc/linux-g++/mpir-2.4.0
+-linux-g++:LIBS += ../../external/lib/linux-g++/libmpirxx.a ../../external/lib/linux-g++/libmpir.a
+
diff --git a/media-gfx/meshlab/files/1.3.3/qt-4.8.patch b/media-gfx/meshlab/files/1.3.3/qt-4.8.patch
new file mode 100644
index 000000000000..e820aceb5bbe
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.3/qt-4.8.patch
@@ -0,0 +1,11 @@
+diff -Nur meshlab.orig/src/meshlab/meshlab.pro meshlab/src/meshlab/meshlab.pro
+--- meshlab.orig/src/meshlab/meshlab.pro 2011-02-15 20:39:47.000000000 +1100
++++ meshlab/src/meshlab/meshlab.pro 2012-01-07 11:57:18.055586086 +1100
+@@ -85,6 +85,7 @@
+ QT += xmlpatterns
+ QT += network
+ QT += script
++unix:LIBS += -lGLU
+
+
+ # the following line is needed to avoid mismatch between
diff --git a/media-gfx/meshlab/files/1.3.3/rpath.patch b/media-gfx/meshlab/files/1.3.3/rpath.patch
new file mode 100644
index 000000000000..31ed26b0344e
--- /dev/null
+++ b/media-gfx/meshlab/files/1.3.3/rpath.patch
@@ -0,0 +1,39 @@
+diff -Nur meshlab.orig/src/meshlab/meshlab.pro meshlab/src/meshlab/meshlab.pro
+--- meshlab.orig/src/meshlab/meshlab.pro 2012-05-31 00:32:44.000000000 +1000
++++ meshlab/src/meshlab/meshlab.pro 2012-08-06 21:26:01.405784190 +1000
+@@ -130,11 +130,11 @@
+ #}
+
+-linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU
++linux-g++:LIBS += -L../external/lib/linux-g++ -ljhead -L../distrib -lcommon -lGLU -lGLEW
+-linux-g++:QMAKE_RPATHDIR += ../distrib
++linux-g++:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
+-linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -ljhead -L../distrib -lcommon -lGLU
++linux-g++-32:LIBS += -L../external/lib/linux-g++-32 -ljhead -L../distrib -lcommon -lGLU -lGLEW
+-linux-g++-32:QMAKE_RPATHDIR += ../distrib
++linux-g++-32:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
+-linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -ljhead -L../distrib -lcommon -lGLU
++linux-g++-64:LIBS += -L../external/lib/linux-g++-64 -ljhead -L../distrib -lcommon -lGLU -lGLEW
+-linux-g++-64:QMAKE_RPATHDIR += ../distrib
++linux-g++-64:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
+
+ # uncomment in your local copy only in emergency cases.
+ # We should never be too permissive
+diff -Nur meshlab.orig/src/meshlabserver/meshlabserver.pro meshlab/src/meshlabserver/meshlabserver.pro
+--- meshlab.orig/src/meshlabserver/meshlabserver.pro 2011-10-15 03:34:48.000000000 +1100
++++ meshlab/src/meshlabserver/meshlabserver.pro 2012-08-06 21:26:34.609557938 +1000
+@@ -26,11 +26,11 @@
+ win32-msvc2010: LIBS += -L../distrib -lcommon
+ win32-g++: LIBS += -L../distrib -lcommon
+ linux-g++: LIBS += -L../distrib -lcommon
+-linux-g++:QMAKE_RPATHDIR += ../distrib
++linux-g++:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
+ linux-g++-32: LIBS += -L../distrib -lcommon
+-linux-g++-32:QMAKE_RPATHDIR += ../distrib
++linux-g++-32:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
+ linux-g++-64: LIBS += -L../distrib -lcommon
+-linux-g++-64:QMAKE_RPATHDIR += ../distrib
++linux-g++-64:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
+ #CONFIG (release,debug | release) {
+ # win32-msvc2005:release: LIBS += -L../common/release -lcommon
+ # win32-msvc2008:release: LIBS += -L../common/release -lcommon
diff --git a/media-gfx/meshlab/meshlab-1.3.2.ebuild b/media-gfx/meshlab/meshlab-1.3.2.ebuild
new file mode 100644
index 000000000000..c5514d682ca5
--- /dev/null
+++ b/media-gfx/meshlab/meshlab-1.3.2.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator multilib qt4-r2
+
+DESCRIPTION="A mesh processing system"
+HOMEPAGE="http://meshlab.sourceforge.net/"
+MY_PV="$(delete_all_version_separators ${PV})"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/MeshLab%20v${PV}/MeshLabSrc_AllInc_v${MY_PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+DEPEND="dev-cpp/eigen:3
+ dev-cpp/muParser
+ dev-qt/qtcore:4
+ dev-qt/qtopengl:4
+ media-libs/glew
+ media-libs/qhull
+ =media-libs/lib3ds-1*
+ media-libs/openctm
+ sci-libs/levmar
+ sys-libs/libunwind"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/meshlab/src"
+
+src_prepare() {
+ rm "${WORKDIR}"/meshlab/src/distrib/plugins/*.xml
+ rm "${WORKDIR}"/meshlab/src/meshlabplugins/filter_qhull/qhull_tools.h
+ cd ${PORTAGE_BUILDDIR}
+ #patches from debian repo
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}/${PV}"/01_crash-on-save.patch \
+ "${FILESDIR}/${PV}"/02_cstddef.patch \
+ "${FILESDIR}/${PV}"/03_disable-updates.patch \
+ "${FILESDIR}/${PV}"/05_externals.patch \
+ "${FILESDIR}/${PV}"/06_format-security.patch \
+ "${FILESDIR}/${PV}"/07_gcc47.patch \
+ "${FILESDIR}/${PV}"/08_lib3ds.patch \
+ "${FILESDIR}/${PV}"/09_libbz2.patch \
+ "${FILESDIR}/${PV}"/10_muparser.patch \
+ "${FILESDIR}/${PV}"/11_openctm.patch \
+ "${FILESDIR}/${PV}"/12_overflow.patch \
+ "${FILESDIR}/${PV}"/13_pluginsdir.patch \
+ "${FILESDIR}/${PV}"/14_ply_numeric.patch \
+ "${FILESDIR}/${PV}"/15_qhull.patch \
+ "${FILESDIR}/${PV}"/16_shadersdir.patch \
+ "${FILESDIR}/${PV}"/17_structuresynth.patch \
+ "${FILESDIR}/${PV}"/18_glew.c18p1.patch \
+ "${FILESDIR}/${PV}"/19_CONFLICTS_IN_rpath.patch \
+ "${FILESDIR}/${PV}"/20_rpath.c18p2.patch \
+ "${FILESDIR}/${PV}"/21_RESOLUTION.patch \
+ "${FILESDIR}/${PV}"/22_aliasing.patch
+}
+
+src_configure() {
+ eqmake4 external/external.pro
+ eqmake4 meshlab_full.pro
+}
+
+src_compile() {
+ cd external && emake
+ cd .. && emake
+}
+
+src_install() {
+ dobin distrib/{meshlab,meshlabserver}
+ dolib distrib/libcommon.so.1.0.0
+ dosym libcommon.so.1.0.0 /usr/$(get_libdir)/libcommon.so.1
+ dosym libcommon.so.1 /usr/$(get_libdir)/libcommon.so
+
+ exeinto /usr/$(get_libdir)/meshlab/plugins
+ doexe distrib/plugins/*.so
+
+ insinto /usr/share/meshlab/shaders
+ doins -r distrib/shaders/*
+ newicon "${S}"/meshlab/images/eye64.png "${PN}".png
+ make_desktop_entry meshlab "Meshlab"
+}
diff --git a/media-gfx/meshlab/meshlab-1.3.3.ebuild b/media-gfx/meshlab/meshlab-1.3.3.ebuild
new file mode 100644
index 000000000000..10241aa0e5ba
--- /dev/null
+++ b/media-gfx/meshlab/meshlab-1.3.3.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit eutils versionator multilib
+
+DESCRIPTION="A mesh processing system"
+HOMEPAGE="http://meshlab.sourceforge.net/"
+MY_PV="$(delete_all_version_separators ${PV})"
+SRC_URI="mirror://sourceforge/project/${PN}/${PN}/MeshLab%20v${PV}/MeshLabSrc_AllInc_v${MY_PV}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+DEPEND="dev-cpp/eigen:3
+ dev-cpp/muParser
+ dev-qt/qtcore:4
+ dev-qt/qtopengl:4
+ media-libs/glew
+ media-libs/qhull
+ =media-libs/lib3ds-1*
+ media-libs/openctm
+ sci-libs/levmar
+ sys-libs/libunwind
+ sci-libs/mpir"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/meshlab/src"
+
+src_prepare() {
+ cd "${WORKDIR}"
+ epatch "${FILESDIR}/${PV}"/gcc-4.7.patch \
+ "${FILESDIR}/${PV}"/lapack.patch \
+ "${FILESDIR}/${PV}"/mpir.patch \
+ "${FILESDIR}/${PV}"/qt-4.8.patch \
+ "${FILESDIR}/${PV}"/rpath.patch
+}
+
+src_configure() {
+ qmake -recursive external/external.pro
+ qmake -recursive meshlab_full.pro
+}
+
+src_compile() {
+ cd external && emake
+ cd .. && emake
+}
+
+src_install() {
+ dobin distrib/{meshlab,meshlabserver}
+ dolib distrib/libcommon.so.1.0.0
+ dosym libcommon.so.1.0.0 /usr/$(get_libdir)/libcommon.so.1
+ dosym libcommon.so.1 /usr/$(get_libdir)/libcommon.so
+
+ exeinto /usr/$(get_libdir)/meshlab/plugins
+ doexe distrib/plugins/*.so
+
+ insinto /usr/share/meshlab/shaders
+ doins -r distrib/shaders/*
+ newicon "${S}"/meshlab/images/eye64.png "${PN}".png
+ make_desktop_entry meshlab "Meshlab"
+}
diff --git a/media-gfx/meshlab/metadata.xml b/media-gfx/meshlab/metadata.xml
new file mode 100644
index 000000000000..5ef1f3b61674
--- /dev/null
+++ b/media-gfx/meshlab/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>3dprint</herd>
+ <maintainer>
+ <email>amynka@gentoo.org</email>
+ </maintainer>
+ <longdescription lang="en">
+ Printrun is a set of G-code sending applications for RepRap.
+ It consists of printcore (dumb G-code sender), pronsole (featured command line
+ G-code sender), pronterface (featured G-code sender with graphical user
+ interface), and a small collection of helpful scripts.
+</longdescription>
+ <upstream>
+ <remote-id type="sourceforge">meshlab</remote-id>
+ </upstream>
+</pkgmetadata>