summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO55
-rw-r--r--3ds.patch27
-rw-r--r--PKGBUILD97
-rw-r--r--bzip2.patch26
-rw-r--r--cpp11_abs.patch21
-rw-r--r--external.patch18
-rw-r--r--fix_local_stl_import.patch20
-rw-r--r--gcc-4.7.patch12
-rw-r--r--lapack.patch11
-rw-r--r--levmar.patch112
-rw-r--r--meshlab.install11
-rw-r--r--meshlabserver_GLU.patch17
-rw-r--r--mpir.patch14
-rw-r--r--muparser.patch14
-rw-r--r--nullptr.patch24
-rw-r--r--qt-4.8.patch11
16 files changed, 163 insertions, 327 deletions
diff --git a/.SRCINFO b/.SRCINFO
index fc7cebd31a3b..af84440a52c3 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,50 +1,41 @@
# Generated by mksrcinfo v8
-# Mon Dec 26 05:14:35 UTC 2016
+# Mon Oct 31 00:09:43 UTC 2016
pkgbase = meshlab
- pkgdesc = System for processing and editing of unstructured 3D models arising in 3D scanning (qt5 version)
- pkgver = 2016.12
- pkgrel = 1
- url = http://www.meshlab.net/
+ pkgdesc = System for processing and editing triangular meshes
+ pkgver = 1.3.3
+ pkgrel = 6
+ url = http://meshlab.sourceforge.net/
+ install = meshlab.install
arch = i686
arch = x86_64
license = GPL2
- makedepends = git
depends = bzip2
- depends = muparser
- depends = levmar
- depends = lib3ds
depends = desktop-file-utils
depends = glu
+ depends = lapack
depends = mpir
depends = openssl
- depends = qt5-base
- depends = qt5-declarative
- depends = qt5-script
- source = git://github.com/cnr-isti-vclab/meshlab.git#tag=v2016.12
- source = git://github.com/cnr-isti-vclab/vcglib.git#commit=611341b754b08dd2b8d655b92d855de9dcce4a18
- source = cpp11_abs.patch
- source = rpath.patch
- source = meshlabserver_GLU.patch
- source = external.patch
- source = 3ds.patch
- source = bzip2.patch
- source = levmar.patch
+ depends = qt4
+ noextract = MeshLabSrc_AllInc_v133.tgz
+ source = http://downloads.sourceforge.net/project/meshlab/meshlab/MeshLab%20v1.3.3/MeshLabSrc_AllInc_v133.tgz
+ source = fix_local_stl_import.patch
+ source = gcc-4.7.patch
+ source = lapack.patch
source = mpir.patch
- source = muparser.patch
+ source = nullptr.patch
+ source = rpath.patch
+ source = qt-4.8.patch
source = meshlab.1
source = meshlabserver.1
source = meshlab.desktop
- md5sums = SKIP
- md5sums = SKIP
- md5sums = c1cfb910d20db49ec195d9918036e3c3
+ md5sums = cbdd83d4f3ed69e7a9837c34ebae307a
+ md5sums = 5582b6a1bcd7fd46b4854e1f4a8aea7f
+ md5sums = 65d7ff92ad2d6e74119af9c0e377bb37
+ md5sums = 4139d3217f1540c67306545213126391
+ md5sums = 308f1b90f7de56f9df1485808713ed53
+ md5sums = c8689554179380947a118a493a564715
md5sums = 2cc1246fc1b01029ae762c82a7dbf364
- md5sums = 5d87f00356539f84f37f873f304eb11e
- md5sums = 038494125d7bd422074fc5635c5579ca
- md5sums = e51b027eb9d78b82de73c4724b3928cf
- md5sums = 616b0dcf018f46a490867028d6ddc533
- md5sums = 1a53a92e12f74520b36e38d9a2311834
- md5sums = 5dbc0d45dd96a4439857d51c545dafb9
- md5sums = 64caafa96bef4208d641e889099eba26
+ md5sums = 1df4ee299f4ad996a05e80d9cf5e5389
md5sums = 32a52b0a8dab1b4816b028b463e7fd9c
md5sums = 0af205a93961dbfcb6b003765f79c4cf
md5sums = 18aed0a21276a22325bf8c32166fb110
diff --git a/3ds.patch b/3ds.patch
deleted file mode 100644
index 287f2bd5cb4b..000000000000
--- a/3ds.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- ../meshlab/src/meshlabplugins/io_3ds/io_3ds.pro 2016-10-31 00:00:28.662690502 +0100
-+++ meshlab/src/meshlabplugins/io_3ds/io_3ds.pro 2016-11-01 00:28:59.485188734 +0100
-@@ -14,7 +14,7 @@
-
- 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,11 +25,11 @@
- 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
-+linux-g++-32:LIBS += -l3ds
-+linux-g++-64:LIBS += -l3ds
-
--# unix:LIBS += -L../../../../code/lib/lib3ds-1.3.0/lib3ds/lib/unix -l3ds
-+unix:LIBS += -l3ds
-
- # mac:LIBS -= -l3ds
- # mac:LIBS += ../../../../code/lib/lib3ds-1.3.0/lib/mac/lib3ds.a
diff --git a/PKGBUILD b/PKGBUILD
index 36c949d8e8d7..5de33b353d40 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,86 +1,79 @@
# Maintainer: Jonathan Liu <net147@gmail.com>
pkgname=meshlab
-_realpkgname=MeshLab
-pkgver=2016.12
-pkgrel=1
-pkgdesc="System for processing and editing of unstructured 3D models arising in 3D scanning (qt5 version)"
+pkgver=1.3.3
+pkgrel=6
+pkgdesc="System for processing and editing triangular meshes"
arch=('i686' 'x86_64')
-url="http://www.meshlab.net/"
+url="http://meshlab.sourceforge.net/"
license=('GPL2')
-depends=('bzip2' 'muparser' 'levmar' 'lib3ds' 'desktop-file-utils' 'glu' 'mpir' 'openssl' 'qt5-base' 'qt5-declarative' 'qt5-script')
-makedepends=('git')
-source=("git://github.com/cnr-isti-vclab/${pkgname}.git#tag=v2016.12"
- "git://github.com/cnr-isti-vclab/vcglib.git#commit=611341b754b08dd2b8d655b92d855de9dcce4a18"
- "cpp11_abs.patch"
- "rpath.patch"
- "meshlabserver_GLU.patch"
- "external.patch"
- "3ds.patch"
- "bzip2.patch"
- "levmar.patch"
+depends=('bzip2' 'desktop-file-utils' 'glu' 'lapack' 'mpir' 'openssl' 'qt4')
+install="${pkgname}.install"
+source=("http://downloads.sourceforge.net/project/meshlab/meshlab/MeshLab%20v${pkgver//[a-z]/}/MeshLabSrc_AllInc_v${pkgver//./}.tgz"
+ "fix_local_stl_import.patch"
+ "gcc-4.7.patch"
+ "lapack.patch"
"mpir.patch"
- "muparser.patch"
+ "nullptr.patch"
+ "rpath.patch"
+ "qt-4.8.patch"
"meshlab.1"
"meshlabserver.1"
"meshlab.desktop")
-md5sums=('SKIP'
- 'SKIP'
- 'c1cfb910d20db49ec195d9918036e3c3'
+noextract=("MeshLabSrc_AllInc_v${pkgver//./}.tgz")
+md5sums=('cbdd83d4f3ed69e7a9837c34ebae307a'
+ '5582b6a1bcd7fd46b4854e1f4a8aea7f'
+ '65d7ff92ad2d6e74119af9c0e377bb37'
+ '4139d3217f1540c67306545213126391'
+ '308f1b90f7de56f9df1485808713ed53'
+ 'c8689554179380947a118a493a564715'
'2cc1246fc1b01029ae762c82a7dbf364'
- '5d87f00356539f84f37f873f304eb11e'
- '038494125d7bd422074fc5635c5579ca'
- 'e51b027eb9d78b82de73c4724b3928cf'
- '616b0dcf018f46a490867028d6ddc533'
- '1a53a92e12f74520b36e38d9a2311834'
- '5dbc0d45dd96a4439857d51c545dafb9'
- '64caafa96bef4208d641e889099eba26'
+ '1df4ee299f4ad996a05e80d9cf5e5389'
'32a52b0a8dab1b4816b028b463e7fd9c'
'0af205a93961dbfcb6b003765f79c4cf'
'18aed0a21276a22325bf8c32166fb110')
prepare() {
- cd "${srcdir}/${pkgname}"
+ cd "${srcdir}"
+
+ tar -zxf "MeshLabSrc_AllInc_v${pkgver//./}.tgz"
# remove bundled headers and libraries
- rm -fr src/external/{inc,lib}
- # fix wrong case for io_TXT plugin project file
- mv src/plugins_experimental/io_TXT/io_txt.pro src/plugins_experimental/io_TXT/io_TXT.pro
- # fix C++11 abs()
- patch -Np1 -i "${srcdir}/cpp11_abs.patch"
+ rm -fr meshlab/src/external/{inc,lib}
+
+ # fix text import breaking for different locales
+ patch -Np0 -i "${srcdir}/fix_local_stl_import.patch"
+ # fix compile errors with GCC 4.7
+ patch -Np0 -i "${srcdir}/qt-4.8.patch"
+ # fix Qt 4.8 compatibility
+ patch -Np1 -i "${srcdir}/gcc-4.7.patch"
+
+ cd "${srcdir}/meshlab/src"
+ # build levmar with lapack
+ patch -Np2 -i "${srcdir}/lapack.patch"
+ # use system mpir
+ patch -Np2 -i "${srcdir}/mpir.patch"
+ # fix use of bool to return null pointer
+ patch -Np2 -i "${srcdir}/nullptr.patch"
# fix rpath
- patch -Np1 -i "${srcdir}/rpath.patch"
- # add missing linking of GLU library for meshlabserver
- patch -Np1 -i "${srcdir}/meshlabserver_GLU.patch"
- # do not use bundled external libraries
- patch -Np1 -i "${srcdir}/external.patch"
- # use system 3ds library
- patch -Np1 -i "${srcdir}/3ds.patch"
- # use system bzip2 library
- patch -Np1 -i "${srcdir}/bzip2.patch"
- # use system levmar library
- patch -Np1 -i "${srcdir}/levmar.patch"
- # use system mpir library
- patch -Np1 -i "${srcdir}/mpir.patch"
- # use system muparser library
- patch -Np1 -i "${srcdir}/muparser.patch"
+ patch -Np2 -i "${srcdir}/rpath.patch"
}
build() {
- cd "${srcdir}/${pkgname}/src"
+ cd "${srcdir}/meshlab/src"
# build external libraries
cd external
- qmake -recursive external.pro
+ qmake-qt4 -recursive external.pro
make
# build meshlab
cd ..
- qmake -recursive meshlab_full.pro
+ qmake-qt4 -recursive meshlab_full.pro
make
}
package() {
- cd "${srcdir}/${pkgname}/src"
+ cd "${srcdir}/meshlab/src"
# install meshlab
install -d -m755 "${pkgdir}/opt"
diff --git a/bzip2.patch b/bzip2.patch
deleted file mode 100644
index 49a822aa746e..000000000000
--- a/bzip2.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff -Naur -r meshlab.orig/src/meshlabplugins/edit_arc3D/edit_arc3D.pro meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.pro
---- meshlab.orig/src/meshlabplugins/edit_arc3D/edit_arc3D.pro 2016-10-31 21:31:43.301625217 +0100
-+++ meshlab/src/meshlabplugins/edit_arc3D/edit_arc3D.pro 2016-10-31 21:36:46.694965117 +0100
-@@ -35,9 +35,9 @@
- win32-msvc2013:LIBS += ../../external/lib/win32-msvc2013/bz2.lib
- win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/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
-+linux-g++-32:LIBS += -lbz2
-+linux-g++-64:LIBS += -lbz2
- mac:LIBS += -lbz2
-
- win32-msvc2005:INCLUDEPATH += ../../external/bzip2-1.0.5
-@@ -48,9 +48,6 @@
- win32-msvc2015: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
-
-
- CONFIG(release, debug|release) {
diff --git a/cpp11_abs.patch b/cpp11_abs.patch
deleted file mode 100644
index 6078b92c4c9c..000000000000
--- a/cpp11_abs.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff -Naur meshlab.orig/src/meshlabplugins/edit_quality/eqhandle.cpp meshlab/src/meshlabplugins/edit_quality/eqhandle.cpp
---- meshlab.orig/src/meshlabplugins/edit_quality/eqhandle.cpp 2016-10-30 14:07:42.211338698 +0100
-+++ meshlab/src/meshlabplugins/edit_quality/eqhandle.cpp 2016-10-30 14:08:26.774164177 +0100
-
-@@ -30,6 +30,7 @@
- #include "eqhandle.h"
- #include <QMouseEvent>
- #include <QGraphicsSceneMouseEvent>
-+#include "math.h" /* fabs() */
-
- EqHandle::EqHandle(CHART_INFO *environment_info, QColor color, QPointF position,
- EQUALIZER_HANDLE_TYPE type, EqHandle** handles, qreal* midHandlePercentilePosition, QDoubleSpinBox* spinbox,
-@@ -83,7 +83,7 @@
- setCursor(Qt::OpenHandCursor);
-
- QPointF newPos = event->scenePos();
-- qreal handleOffset = abs(newPos.x()-pos().x());
-+ qreal handleOffset = fabs(newPos.x()-pos().x());
-
- if (handleOffset >= std::numeric_limits<float>::epsilon())
- {
diff --git a/external.patch b/external.patch
deleted file mode 100644
index f815e3e4640f..000000000000
--- a/external.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/src/external/external.pro b/src/external/external.pro
-index 7bd97f6..93ed196 100644
---- meshlab.orig/src/external/external.pro
-+++ meshlab/src/external/external.pro
-@@ -2,11 +2,6 @@ config += debug_and_release
-
- TEMPLATE = subdirs
-
--SUBDIRS = bzip2-1.0.5/bzip2-1.0.5.pro \
-- muparser_v225/src \
-- levmar-2.3/levmar-2.3.pro \
-- structuresynth-1.5/structuresynth.pro \
-+SUBDIRS = structuresynth-1.5/structuresynth.pro \
- OpenCTM-1.0.3/openctm.pro \
-- jhead-2.95/jhead-2.95.pro \
-- lib3ds-1.3.0/lib3ds/lib3ds.pro
--# openkinect/openkinect.pro
-+ jhead-2.95/jhead-2.95.pro
diff --git a/fix_local_stl_import.patch b/fix_local_stl_import.patch
new file mode 100644
index 000000000000..0b6282ba793b
--- /dev/null
+++ b/fix_local_stl_import.patch
@@ -0,0 +1,20 @@
+Index: meshlab/src/meshlab/main.cpp
+===================================================================
+--- meshlab/src/meshlab/main.cpp (révision 6608)
++++ meshlab/src/meshlab/main.cpp (copie de travail)
+@@ -20,6 +20,7 @@
+ * for more details. *
+ * *
+ ****************************************************************************/
++#include <locale.h>
+ #include <common/mlapplication.h>
+ #include <QMessageBox>
+ #include "mainwindow.h"
+@@ -29,6 +30,7 @@
+ {
+
+ MeshLabApplication app(argc, argv);
++ setlocale(LC_ALL, "C");
+ QLocale::setDefault(QLocale::C);
+ QCoreApplication::setOrganizationName(MeshLabApplication::organization());
+ #if QT_VERSION >= 0x050100
diff --git a/gcc-4.7.patch b/gcc-4.7.patch
new file mode 100644
index 000000000000..8bf9ca8c3fe5
--- /dev/null
+++ b/gcc-4.7.patch
@@ -0,0 +1,12 @@
+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/lapack.patch b/lapack.patch
new file mode 100644
index 000000000000..81c094634050
--- /dev/null
+++ b/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/levmar.patch b/levmar.patch
deleted file mode 100644
index a43a2aeb1e6f..000000000000
--- a/levmar.patch
+++ /dev/null
@@ -1,112 +0,0 @@
---- ../meshlab/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro 2016-10-31 00:00:30.266005497 +0100
-+++ meshlab/src/meshlabplugins/filter_isoparametrization/filter_isoparametrization.pro 2016-10-31 21:55:34.158322851 +0100
-@@ -51,9 +51,9 @@
- win32-msvc2012:LIBS += ../../external/lib/win32-msvc2012/levmar.lib
- win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/levmar.lib
- win32-g++:LIBS += -L../../external/lib/win32-gcc -llevmar
--linux-g++:LIBS += -L../../external/lib/linux-g++ -llevmar
--linux-g++-32:LIBS += -L../../external/lib/linux-g++-32 -llevmar
--linux-g++-64:LIBS += -L../../external/lib/linux-g++-64 -llevmar
-+linux-g++:LIBS += -llevmar
-+linux-g++-32:LIBS += -llevmar
-+linux-g++-64:LIBS += -llevmar
- macx:LIBS += $$MACLIBDIR/liblevmar.a
-
- # Please never ever uncomment this...
-diff -Naur -r ../meshlab/src/meshlabplugins/filter_mutualinfoxml/levmarmethods.h meshlab/src/meshlabplugins/filter_mutualinfoxml/levmarmethods.h
---- ../meshlab/src/meshlabplugins/filter_mutualinfoxml/levmarmethods.h 2016-10-31 00:00:30.692667284 +0100
-+++ meshlab/src/meshlabplugins/filter_mutualinfoxml/levmarmethods.h 2016-10-31 22:10:49.158342653 +0100
-@@ -12,7 +12,7 @@
-
- #include <list>
-
--#include "../../external/levmar-2.3/lm.h"
-+#include <levmar/levmar.h>
-
-
- struct LevmarCorrelation {
-diff -Naur -r ../meshlab/src/meshlabplugins/filter_mutualinfoxml/solver.h meshlab/src/meshlabplugins/filter_mutualinfoxml/solver.h
---- ../meshlab/src/meshlabplugins/filter_mutualinfoxml/solver.h 2016-10-31 00:00:30.692667284 +0100
-+++ meshlab/src/meshlabplugins/filter_mutualinfoxml/solver.h 2016-10-31 22:11:16.808343251 +0100
-@@ -5,7 +5,7 @@
- #include "alignset.h"
-
- #include "parameters.h"
--#include "../../external/levmar-2.3/lm.h"
-+#include <levmar/levmar.h>
-
- #include <iostream>
- #include <fstream>
-diff -Naur -r ../meshlab/src/plugins_experimental/edit_mutualcorrs/levmarmethods.h meshlab/src/plugins_experimental/edit_mutualcorrs/levmarmethods.h
---- ../meshlab/src/plugins_experimental/edit_mutualcorrs/levmarmethods.h 2016-10-31 00:00:08.816250885 +0100
-+++ meshlab/src/plugins_experimental/edit_mutualcorrs/levmarmethods.h 2016-10-31 22:23:35.671692575 +0100
-@@ -12,7 +12,7 @@
-
- #include <list>
-
--#include "../../external/levmar-2.3/lm.h"
-+#include <levmar/levmar.h>
-
-
- struct LevmarCorrelation {
-diff -Naur -r ../meshlab/src/plugins_experimental/edit_mutualcorrs/solver.h meshlab/src/plugins_experimental/edit_mutualcorrs/solver.h
---- ../meshlab/src/plugins_experimental/edit_mutualcorrs/solver.h 2016-10-31 00:00:08.816250885 +0100
-+++ meshlab/src/plugins_experimental/edit_mutualcorrs/solver.h 2016-10-31 22:24:05.935026562 +0100
-@@ -5,7 +5,7 @@
- #include "alignset.h"
-
- #include "parameters.h"
--#include "../../external/levmar-2.3/lm.h"
-+#include <levmar/levmar.h>
-
- #include <iostream>
- #include <fstream>
-diff -Naur -r ../meshlab/src/plugins_experimental/filter_mutualglobal/levmarmethods.h meshlab/src/plugins_experimental/filter_mutualglobal/levmarmethods.h
---- ../meshlab/src/plugins_experimental/filter_mutualglobal/levmarmethods.h 2016-10-31 00:00:09.476243333 +0100
-+++ meshlab/src/plugins_experimental/filter_mutualglobal/levmarmethods.h 2016-10-31 22:30:06.391701030 +0100
-@@ -12,7 +12,7 @@
-
- #include <list>
-
--#include "../../external/levmar-2.3/lm.h"
-+#include <levmar/levmar.h>
-
-
- struct LevmarCorrelation {
-diff -Naur -r ../meshlab/src/plugins_experimental/filter_mutualglobal/solver.h meshlab/src/plugins_experimental/filter_mutualglobal/solver.h
---- ../meshlab/src/plugins_experimental/filter_mutualglobal/solver.h 2016-10-31 00:00:09.476243333 +0100
-+++ meshlab/src/plugins_experimental/filter_mutualglobal/solver.h 2016-10-31 22:29:02.815032988 +0100
-@@ -5,7 +5,7 @@
- #include "alignset.h"
-
- #include "parameters.h"
--#include "../../external/levmar-2.3/lm.h"
-+#include <levmar/levmar.h>
-
- #include <iostream>
- #include <fstream>
-diff --git a/src/plugins_experimental/edit_mutualcorrs/edit_mutualcorrs.pro b/src/plugins_experimental/edit_mutualcorrs/edit_mutualcorrs.pro
-index 049bec6..84f6ca9 100644
---- a/src/plugins_experimental/edit_mutualcorrs/edit_mutualcorrs.pro
-+++ meshlab/src/plugins_experimental/edit_mutualcorrs/edit_mutualcorrs.pro
-@@ -1,7 +1,7 @@
- include (../../shared.pri)
-
-
--HEADERS = += ./alignset.h \
-+HEADERS += ./alignset.h \
- ./levmarmethods.h \
- ./mutual.h \
- ./parameters.h \
-@@ -29,8 +29,8 @@ FORMS = edit_mutualcorrsDialog.ui
- win32-msvc2013: LIBS += ../../external/lib/win32-msvc2013/levmar.lib
- win32-msvc2015: LIBS += ../../external/lib/win32-msvc2015/levmar.lib
- win32-g++:LIBS += -L../../external -llevmar
--linux-g++:LIBS += -L../../external/lib/linux-g++ -llevmar
--linux-g++-32:LIBS += -L../../external/lib/linux-g++-32 -llevmar
--linux-g++-64:LIBS += -L../../external/lib/linux-g++-64 -llevmar
-+linux-g++:LIBS += -llevmar
-+linux-g++-32:LIBS += -llevmar
-+linux-g++-64:LIBS += -llevmar
- macx:LIBS += $$MACLIBDIR/liblevmar.a
-
diff --git a/meshlab.install b/meshlab.install
new file mode 100644
index 000000000000..24f85f2328bd
--- /dev/null
+++ b/meshlab.install
@@ -0,0 +1,11 @@
+## arg 1: the new package version
+post_install() {
+ update-desktop-database -q
+}
+
+## arg 1: the old package version
+post_remove() {
+ update-desktop-database -q
+}
+
+# vim:set ts=2 sw=2 et:
diff --git a/meshlabserver_GLU.patch b/meshlabserver_GLU.patch
deleted file mode 100644
index f8dd4e63e8b7..000000000000
--- a/meshlabserver_GLU.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- meshlab.orig/src/meshlabserver/meshlabserver.pro 2016-10-30 12:35:34.339895028 +0100
-+++ meshlab/src/meshlabserver/meshlabserver.pro 2016-10-30 12:34:55.426965662 +0100
-@@ -29,11 +29,11 @@
- win32-msvc2012: LIBS += -L../distrib -lcommon -lopengl32 -lGLU32
- win32-msvc2015: LIBS += -L../distrib -lcommon -lopengl32 -lGLU32
- win32-g++: LIBS += -L../distrib -lcommon
--linux-g++: LIBS += -L../distrib -lcommon
-+linux-g++: LIBS += -L../distrib -lcommon -lGLU
- linux-g++:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
--linux-g++-32: LIBS += -L../distrib -lcommon
-+linux-g++-32: LIBS += -L../distrib -lcommon -lGLU
- linux-g++-32:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
--linux-g++-64: LIBS += -L../distrib -lcommon
-+linux-g++-64: LIBS += -L../distrib -lcommon -lGLU
- linux-g++-64:QMAKE_LFLAGS += -Wl,-rpath,\''$'$ORIGIN\'
- #CONFIG (release,debug | release) {
- # win32-msvc2005:release: LIBS += -L../common/release -lcommon
diff --git a/mpir.patch b/mpir.patch
index cd9e259c83e6..9a318daf0172 100644
--- a/mpir.patch
+++ b/mpir.patch
@@ -1,13 +1,11 @@
-diff -Nur meshlab-2016.12.orig/src/meshlabplugins/filter_csg/filter_csg.pro meshlab-2016.12/src/meshlabplugins/filter_csg/filter_csg.pro
---- meshlab-2016.12.orig/src/meshlabplugins/filter_csg/filter_csg.pro 2016-12-23 21:24:59.000000000 +1100
-+++ meshlab-2016.12/src/meshlabplugins/filter_csg/filter_csg.pro 2016-12-26 14:08:10.753341652 +1100
-@@ -20,7 +20,5 @@
+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 2015-08-26 11:48:18.782952141 +1000
+@@ -18,6 +18,5 @@
+ 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
- win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/mpirxx.lib ../../external/lib/win32-msvc2015/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
--linux-g++-64:INCLUDEPATH += ../../external/inc/linux-g++/mpir-2.4.0
--linux-g++-64:LIBS += ../../external/lib/linux-g++-64/libmpirxx.a ../../external/lib/linux-g++-64/libmpir.a
+linux-g++:LIBS += -lmpirxx -lmpir
-+linux-g++-64:LIBS += -lmpirxx -lmpir
+
diff --git a/muparser.patch b/muparser.patch
deleted file mode 100644
index d500a17d767f..000000000000
--- a/muparser.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur ../meshlab/src/meshlabplugins/filter_func/filter_func.pro meshlab/src/meshlabplugins/filter_func/filter_func.pro
---- ../meshlab/src/meshlabplugins/filter_func/filter_func.pro 2016-10-31 00:00:30.459336619 +0100
-+++ meshlab/src/meshlabplugins/filter_func/filter_func.pro 2016-10-31 21:42:47.134972919 +0100
-@@ -19,7 +19,7 @@
- win32-msvc2015:LIBS += ../../external/lib/win32-msvc2015/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
-+linux-g++-32:LIBS += -lmuparser
-+linux-g++-64:LIBS += -lmuparser
- win32-g++:LIBS += ../../external/lib/win32-gcc/libmuparser.a
diff --git a/nullptr.patch b/nullptr.patch
new file mode 100644
index 000000000000..f212f30fc00d
--- /dev/null
+++ b/nullptr.patch
@@ -0,0 +1,24 @@
+diff -Nur meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp
+--- meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp 2013-05-23 01:09:58.000000000 +1000
++++ meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp 2016-05-23 12:55:48.495725226 +1000
+@@ -122,7 +122,7 @@
+ currentT = p;
+
+ // We do not intersect grid.
+- if (!found) return false;
++ if (!found) return 0;
+ }
+
+ stepX = (dir.x() > 0) ? 1 : -1;
+diff -Nur meshlab.orig/src/external/structuresynth-1.5/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp meshlab/src/external/structuresynth-1.5/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp
+--- meshlab.orig/src/external/structuresynth-1.5/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp 2014-02-07 20:38:23.000000000 +1100
++++ meshlab/src/external/structuresynth-1.5/ssynth/SyntopiaCore/GLEngine/Raytracer/VoxelStepper.cpp 2016-05-23 12:55:58.752439956 +1000
+@@ -122,7 +122,7 @@
+ currentT = p;
+
+ // We do not intersect grid.
+- if (!found) return false;
++ if (!found) return 0;
+ }
+
+ stepX = (dir.x() > 0) ? 1 : -1;
diff --git a/qt-4.8.patch b/qt-4.8.patch
new file mode 100644
index 000000000000..e820aceb5bbe
--- /dev/null
+++ b/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