summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO38
-rw-r--r--PKGBUILD94
-rw-r--r--gcc-4.7.patch12
-rw-r--r--lapack.patch11
-rw-r--r--meshlab.126
-rw-r--r--meshlab.desktop14
-rw-r--r--meshlab.install11
-rw-r--r--meshlabserver.138
-rw-r--r--mpir.patch10
-rw-r--r--qt-4.8.patch11
-rw-r--r--rpath.patch36
11 files changed, 301 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..edf0378cf41d
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,38 @@
+pkgbase = meshlab
+ pkgdesc = System for processing and editing triangular meshes
+ pkgver = 1.3.3
+ pkgrel = 3
+ url = http://meshlab.sourceforge.net/
+ install = meshlab.install
+ arch = i686
+ arch = x86_64
+ license = GPL2
+ depends = bzip2
+ depends = desktop-file-utils
+ depends = glu
+ depends = lapack
+ depends = mpir
+ depends = openssl
+ depends = qt4
+ noextract = MeshLabSrc_AllInc_v133.tgz
+ source = http://downloads.sourceforge.net/project/meshlab/meshlab/MeshLab%20v1.3.3/MeshLabSrc_AllInc_v133.tgz
+ source = gcc-4.7.patch
+ source = lapack.patch
+ source = mpir.patch
+ source = rpath.patch
+ source = qt-4.8.patch
+ source = meshlab.1
+ source = meshlabserver.1
+ source = meshlab.desktop
+ md5sums = cbdd83d4f3ed69e7a9837c34ebae307a
+ md5sums = 65d7ff92ad2d6e74119af9c0e377bb37
+ md5sums = 4139d3217f1540c67306545213126391
+ md5sums = 581064adf1319814a33b05d0af37a340
+ md5sums = 2cc1246fc1b01029ae762c82a7dbf364
+ md5sums = 1df4ee299f4ad996a05e80d9cf5e5389
+ md5sums = 32a52b0a8dab1b4816b028b463e7fd9c
+ md5sums = 0af205a93961dbfcb6b003765f79c4cf
+ md5sums = 18aed0a21276a22325bf8c32166fb110
+
+pkgname = meshlab
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..a2469921a289
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,94 @@
+# Maintainer: Jonathan Liu <net147@gmail.com>
+pkgname=meshlab
+pkgver=1.3.3
+pkgrel=3
+pkgdesc="System for processing and editing triangular meshes"
+arch=('i686' 'x86_64')
+url="http://meshlab.sourceforge.net/"
+license=('GPL2')
+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"
+ "gcc-4.7.patch"
+ "lapack.patch"
+ "mpir.patch"
+ "rpath.patch"
+ "qt-4.8.patch"
+ "meshlab.1"
+ "meshlabserver.1"
+ "meshlab.desktop")
+noextract=("MeshLabSrc_AllInc_v${pkgver//./}.tgz")
+md5sums=('cbdd83d4f3ed69e7a9837c34ebae307a'
+ '65d7ff92ad2d6e74119af9c0e377bb37'
+ '4139d3217f1540c67306545213126391'
+ '581064adf1319814a33b05d0af37a340'
+ '2cc1246fc1b01029ae762c82a7dbf364'
+ '1df4ee299f4ad996a05e80d9cf5e5389'
+ '32a52b0a8dab1b4816b028b463e7fd9c'
+ '0af205a93961dbfcb6b003765f79c4cf'
+ '18aed0a21276a22325bf8c32166fb110')
+
+prepare() {
+ cd "${srcdir}"
+
+ tar -zxf "MeshLabSrc_AllInc_v${pkgver//./}.tgz"
+
+ # remove bundled headers and libraries
+ rm -fr meshlab/src/external/{inc,lib}
+
+ # 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 rpath
+ patch -Np2 -i "${srcdir}/rpath.patch"
+}
+
+build() {
+ cd "${srcdir}/meshlab/src"
+
+ # build external libraries
+ cd external
+ qmake-qt4 -recursive external.pro
+ make
+
+ # build meshlab
+ cd ..
+ qmake-qt4 -recursive meshlab_full.pro
+ make
+}
+
+package() {
+ cd "${srcdir}/meshlab/src"
+
+ # install meshlab
+ install -d -m755 "${pkgdir}/opt"
+ cp -a distrib "${pkgdir}/opt/meshlab"
+
+ # add symbolic links for executables
+ install -d -m755 "${pkgdir}/usr/bin"
+ ln -s ../../opt/meshlab/meshlab "${pkgdir}/usr/bin/meshlab"
+ ln -s ../../opt/meshlab/meshlabserver "${pkgdir}/usr/bin/meshlabserver"
+
+ # install man pages
+ install -d -m755 "${pkgdir}/usr/share/man/man1"
+ install -m644 "${srcdir}/meshlab.1" "${pkgdir}"/usr/share/man/man1
+ install -m644 "${srcdir}/meshlabserver.1" "${pkgdir}"/usr/share/man/man1
+
+ # install icons
+ install -d -m755 "${pkgdir}/usr/share/pixmaps"
+ install -m644 "${srcdir}/meshlab/src/meshlab/images/eye_cropped.png" "${pkgdir}/usr/share/pixmaps/meshlab.png"
+
+ # install desktop entry
+ install -d -m755 "${pkgdir}/usr/share/applications"
+ install -m644 "${srcdir}/meshlab.desktop" "${pkgdir}/usr/share/applications"
+ sed -i "s#Version=.*#Version=$pkgver#" "${pkgdir}/usr/share/applications/meshlab.desktop"
+}
+
+# vim:set ts=2 sw=2 et:
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/meshlab.1 b/meshlab.1
new file mode 100644
index 000000000000..e1405f774705
--- /dev/null
+++ b/meshlab.1
@@ -0,0 +1,26 @@
+.TH MeshLab Version 1.3.0a
+.SH NAME
+MeshLab - a tool for mesh inspection, processing, and conversion
+.SH SYNOPSYS
+meshlab [filename]
+.SH DESCRIPTION
+MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes. The system is aimed to help the processing of the typical not-so-small unstructured models arising in 3D scanning, providing a set of tools for editing, cleaning, healing, inspecting, rendering and converting this kind of meshes. The system is based on the VCG library developed at the Visual Computing Lab of ISTI - CNR.
+.SH SEE ALSO
+meshlabserver (1)
+
+.SH COPYRIGHT
+MeshLab Copyright \(co 2005-2008 by Visual Computing Lab - ISTI CNR
+.PP
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+.PP
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+.PP
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
diff --git a/meshlab.desktop b/meshlab.desktop
new file mode 100644
index 000000000000..b232e3eb81f2
--- /dev/null
+++ b/meshlab.desktop
@@ -0,0 +1,14 @@
+[Desktop Entry]
+Version=$pkgver
+Name=MeshLab
+Name[en_GB]=MeshLab
+GenericName=Mesh processing
+GenericName[en_GB]=Mesh processing
+Comment=View and process meshes
+Type=Application
+Exec=meshlab %U
+TryExec=meshlab
+Icon=/usr/share/pixmaps/meshlab.png
+Terminal=false
+MimeType=model/mesh;application/x-3ds;image/x-3ds;application/sla;
+Categories=Graphics;3DGraphics;Viewer;Qt;
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.1 b/meshlabserver.1
new file mode 100644
index 000000000000..ea95f2798837
--- /dev/null
+++ b/meshlabserver.1
@@ -0,0 +1,38 @@
+.TH MeshLab Version 1.3.0a
+.SH NAME
+MeshLab - a tool for mesh inspection, processing, and conversion
+.SH SYNOPSYS
+meshlabserver [args]
+.SH DESCRIPTION
+MeshLab is an open source, portable, and extensible system for the processing and editing of unstructured 3D triangular meshes. The system is aimed to help the processing of the typical not-so-small unstructured models arising in 3D scanning, providing a set of tools for editing, cleaning, healing, inspecting, rendering and converting this kind of meshes. The system is based on the VCG library developed at the Visual Computing Lab of ISTI - CNR.
+
+.SH OPTIONS
+.l
+\fI meshlabserver\fP accepts the following options:
+.TP 8
+.B \-i meshfilename
+The mesh that has to be loaded
+.B \-o meshfilename
+The mesh where to write the result
+.B \-s scriptfilename
+an optional script to be applied to the mesh before saving it.
+
+.SH SEE ALSO
+meshlab (1)
+
+.SH COPYRIGHT
+MeshLab Copyright \(co 2005-2008 by Visual Computing Lab - ISTI CNR
+.PP
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or (at
+your option) any later version.
+.PP
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+General Public License for more details.
+.PP
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
diff --git a/mpir.patch b/mpir.patch
new file mode 100644
index 000000000000..a3f8d051d891
--- /dev/null
+++ b/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/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
diff --git a/rpath.patch b/rpath.patch
new file mode 100644
index 000000000000..30ce31dc1482
--- /dev/null
+++ b/rpath.patch
@@ -0,0 +1,36 @@
+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++: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: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: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