aboutsummaryrefslogtreecommitdiff
path: root/graphics
diff options
context:
space:
mode:
authorDavid Spencer <baildon.research@googlemail.com>2013-05-15 21:34:13 -0300
committerRobby Workman <rworkman@slackbuilds.org>2013-06-04 00:11:07 -0500
commitb8bc87f27cfeac65eb5560c2bf194651c4063917 (patch)
tree6f9fbfc733433f39d794869077090c1fa90e7c32 /graphics
parent7c07c2efa6674b2260eb6ee7000fa3e5cb9fb9be (diff)
graphics/meshlab: Added (process and edit 3D triangular meshes)
Signed-off-by: Niels Horn <niels.horn@slackbuilds.org>
Diffstat (limited to 'graphics')
-rw-r--r--graphics/meshlab/README5
-rw-r--r--graphics/meshlab/doinst.sh3
-rw-r--r--graphics/meshlab/lapack.patch11
-rw-r--r--graphics/meshlab/meshlab.SlackBuild138
-rw-r--r--graphics/meshlab/meshlab.desktop13
-rw-r--r--graphics/meshlab/meshlab.info10
-rw-r--r--graphics/meshlab/meshlab_32x32.xpm118
-rw-r--r--graphics/meshlab/meshlab_48x48.xpm170
-rw-r--r--graphics/meshlab/plystuff.diff13
-rw-r--r--graphics/meshlab/qt-4.8.patch54
-rw-r--r--graphics/meshlab/slack-desc19
11 files changed, 554 insertions, 0 deletions
diff --git a/graphics/meshlab/README b/graphics/meshlab/README
new file mode 100644
index 0000000000000..22fe7cf1d4ef5
--- /dev/null
+++ b/graphics/meshlab/README
@@ -0,0 +1,5 @@
+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 mesh.
diff --git a/graphics/meshlab/doinst.sh b/graphics/meshlab/doinst.sh
new file mode 100644
index 0000000000000..5fb28930db0b9
--- /dev/null
+++ b/graphics/meshlab/doinst.sh
@@ -0,0 +1,3 @@
+if [ -x /usr/bin/update-desktop-database ]; then
+ /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1
+fi
diff --git a/graphics/meshlab/lapack.patch b/graphics/meshlab/lapack.patch
new file mode 100644
index 0000000000000..81c0946340507
--- /dev/null
+++ b/graphics/meshlab/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/graphics/meshlab/meshlab.SlackBuild b/graphics/meshlab/meshlab.SlackBuild
new file mode 100644
index 0000000000000..55e7b4fbc7997
--- /dev/null
+++ b/graphics/meshlab/meshlab.SlackBuild
@@ -0,0 +1,138 @@
+#!/bin/sh
+
+# Slackware build script for meshlab
+
+# Copyright 2013 David Spencer, Baildon, West Yorkshire, U.K.
+# All rights reserved.
+#
+# Redistribution and use of this script, with or without modification, is
+# permitted provided that the following conditions are met:
+#
+# 1. Redistributions of this script must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
+# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
+# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+PRGNAM=meshlab
+VERSION=${VERSION:-1.3.2}
+BUILD=${BUILD:-1}
+TAG=${TAG:-_SBo}
+
+SRCNAM=MeshLabSrc_AllInc
+SRCVER=$(echo $VERSION | sed 's/\.//g')
+
+if [ -z "$ARCH" ]; then
+ case "$( uname -m )" in
+ i?86) ARCH=i486 ;;
+ arm*) ARCH=arm ;;
+ *) ARCH=$( uname -m ) ;;
+ esac
+fi
+
+CWD=$(pwd)
+TMP=${TMP:-/tmp/SBo}
+PKG=$TMP/package-$PRGNAM
+OUTPUT=${OUTPUT:-/tmp}
+
+if [ "$ARCH" = "i486" ]; then
+ SLKCFLAGS="-O2 -march=i486 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "i686" ]; then
+ SLKCFLAGS="-O2 -march=i686 -mtune=i686"
+ LIBDIRSUFFIX=""
+elif [ "$ARCH" = "x86_64" ]; then
+ SLKCFLAGS="-O2 -fPIC"
+ LIBDIRSUFFIX="64"
+else
+ SLKCFLAGS="-O2"
+ LIBDIRSUFFIX=""
+fi
+
+set -e
+
+rm -rf $PKG
+mkdir -p $TMP $PKG $OUTPUT
+cd $TMP
+rm -rf $PRGNAM-$VERSION
+mkdir $PRGNAM-$VERSION
+cd $PRGNAM-$VERSION
+tar xvf $CWD/${SRCNAM}_v${SRCVER}.tgz
+chown -R root:root .
+find . \
+ \( -perm 777 -o -perm 775 -o -perm 711 -o -perm 555 -o -perm 511 \) \
+ -exec chmod 755 {} \; -o \
+ \( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
+ -exec chmod 644 {} \;
+
+# gcc-4.7 fixes:
+# see http://sourceforge.net/p/meshlab/bugs/308/
+sed -i -e 's/m\.vert\.math::Swap/m.vert.math/' vcglib/wrap/gl/trimesh.h
+# see http://sourceforge.net/p/meshlab/bugs/342/
+patch -p1 < $CWD/plystuff.diff
+# see https://bugzilla.redhat.com/show_bug.cgi?id=904282
+sed -i -e 's/this->::Clear();/Histogram<ScalarType>::Clear();/' \
+ meshlab/src/meshlabplugins/decorate_base/colorhistogram.h
+
+# Other fixes (thanks to net147 over at Arch)
+# fix silly lapack error in ancient levmar
+patch -p1 -d meshlab < $CWD/lapack.patch
+# qt-4.8 fixes
+patch -p1 -d meshlab < $CWD/qt-4.8.patch
+
+# Build all the dependencies. These will be statically linked into meshlab.
+# (Horrible duplication and many out of date, but avoids version clashes)
+cd meshlab/src/external
+qmake -recursive external.pro
+make \
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS"
+
+# Build meshlab
+cd ..
+qmake -recursive meshlab_full.pro
+make \
+ CFLAGS="$SLKCFLAGS" \
+ CXXFLAGS="$SLKCFLAGS -fpermissive"
+
+mkdir -p $PKG/opt
+cp -a distrib/ $PKG/opt/meshlab
+
+mkdir -p $PKG/usr/bin
+ln -s \
+ /opt/meshlab/{meshlab,meshlabserver} \
+ $PKG/usr/bin
+
+find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
+ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
+
+mkdir -p $PKG/usr/share/pixmaps
+cp \
+ $CWD/meshlab_{32x32,48x48}.xpm \
+ $PKG/usr/share/pixmaps
+
+mkdir -p $PKG/usr/share/applications
+cp \
+ $CWD/meshlab.desktop \
+ $PKG/usr/share/applications
+
+mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
+cp -a \
+ README.txt ../../how_to_compile.txt \
+ $PKG/usr/doc/$PRGNAM-$VERSION
+cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
+
+mkdir -p $PKG/install
+cat $CWD/slack-desc > $PKG/install/slack-desc
+cat $CWD/doinst.sh > $PKG/install/doinst.sh
+
+cd $PKG
+/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz}
diff --git a/graphics/meshlab/meshlab.desktop b/graphics/meshlab/meshlab.desktop
new file mode 100644
index 0000000000000..f92badb0f15ac
--- /dev/null
+++ b/graphics/meshlab/meshlab.desktop
@@ -0,0 +1,13 @@
+[Desktop Entry]
+Version=1.0
+Name=MeshLab
+Name[en_GB]=MeshLab
+GenericName=Mesh processing
+GenericName[en_GB]=Mesh processing
+Comment=View and process meshes
+Type=Application
+Exec=meshlab
+Icon=/usr/share/pixmaps/meshlab_32x32.xpm
+Terminal=false
+MimeType=model/mesh;application/x-3ds;image/x-3ds;application/sla;
+Categories=Graphics;3DGraphics;Viewer;Qt;
diff --git a/graphics/meshlab/meshlab.info b/graphics/meshlab/meshlab.info
new file mode 100644
index 0000000000000..d430c9efb0a2a
--- /dev/null
+++ b/graphics/meshlab/meshlab.info
@@ -0,0 +1,10 @@
+PRGNAM="meshlab"
+VERSION="1.3.2"
+HOMEPAGE="http://meshlab.sourceforge.net/"
+DOWNLOAD="http://downloads.sourceforge.net/meshlab/MeshLabSrc_AllInc_v132.tgz"
+MD5SUM="3cba61f6d34559f98129d9d0a3126f81"
+DOWNLOAD_x86_64=""
+MD5SUM_x86_64=""
+REQUIRES="lapack"
+MAINTAINER="David Spencer"
+EMAIL="baildon.research@googlemail.com"
diff --git a/graphics/meshlab/meshlab_32x32.xpm b/graphics/meshlab/meshlab_32x32.xpm
new file mode 100644
index 0000000000000..d5a042fec8ba1
--- /dev/null
+++ b/graphics/meshlab/meshlab_32x32.xpm
@@ -0,0 +1,118 @@
+/* XPM */
+static char *meshlab__[] = {
+/* columns rows colors chars-per-pixel */
+"32 32 80 1",
+" c #060606",
+". c #0B0B0B",
+"X c #10100F",
+"o c #131312",
+"O c #151B14",
+"+ c #1D1D1D",
+"@ c #142012",
+"# c #21331D",
+"$ c #242424",
+"% c #2A2A2A",
+"& c #313131",
+"* c #3A3636",
+"= c #3B3B3B",
+"- c #334A2C",
+"; c #354C31",
+": c #335130",
+"> c #46583E",
+", c #424242",
+"< c #474E47",
+"1 c #4B4B4B",
+"2 c #534D4D",
+"3 c #535353",
+"4 c #525A50",
+"5 c #5B5B5B",
+"6 c #615C5C",
+"7 c #4E6A48",
+"8 c #487044",
+"9 c #4C7448",
+"0 c #507E4C",
+"q c #547A52",
+"w c #5C7E5A",
+"e c #636363",
+"r c #6B6B6B",
+"t c #627C60",
+"y c #727272",
+"u c #7D7575",
+"i c #767A76",
+"p c #7B7B7B",
+"a c #52814E",
+"s c #5A8C54",
+"d c #61945B",
+"f c #649A5E",
+"g c #6D8C63",
+"h c #718E65",
+"j c #789A6A",
+"k c #7F937E",
+"l c #7CB473",
+"z c #81B878",
+"x c #88BE7E",
+"c c #818181",
+"v c #8B8B8B",
+"b c #939393",
+"n c #949A92",
+"m c #9B9B9B",
+"M c #8CBF82",
+"N c #A4A4A4",
+"B c #ACACAC",
+"V c #AAB5A9",
+"C c #B4B4B4",
+"Z c #B7B9B7",
+"A c #BDBDBD",
+"S c #C2B9B9",
+"D c #91C586",
+"F c #93C489",
+"G c #9AC28A",
+"H c #9BCB8F",
+"J c #A0CB90",
+"K c #B5C0B5",
+"L c #BDC6BD",
+"P c #C3C3C3",
+"I c #C7CDC7",
+"U c #CBCBCB",
+"Y c #D4D3D3",
+"T c #DCDCDC",
+"R c #E0DCDC",
+"E c #E3E3E3",
+"W c #EAEAEA",
+"Q c #F5F5F4",
+"! c #F8F8F8",
+"~ c None",
+/* pixels */
+"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~",
+"~~~~~~~~~~~~TEEEEEEE~~~~~~~~~~~~",
+"~~~~~~~~~TTEEEEETTTTTYY~~~~~~~~~",
+"~~~~~~~TTEEEEETTTYYYYUUPP~~~~~~~",
+"~~~~~~EEEEEETTTYYUUUPPPABb~~~~~~",
+"~~~~~EEWWEETTYYUPPPPAANp53,~~~~~",
+"~~~~EWWWWETYYUPAAAABbr1*1ryb~~~~",
+"~~~EEWWWETYYUPAACCv5,1rrbNCZZ~~~",
+"~~~EWWWETYYUPAZBer1eicbbmmNNB~~~",
+"~~TEWWEETYUPACvrppvvccppppcvbm~~",
+"~~TEEEETYIPAAmmbvr131,1335erpc~~",
+"~YTEEETYIAAACmr3=$%$+O++%&=3e1&~",
+"~YTEEETUAAABc1&$ooX.o.. .o+%&$%~",
+"~YTEETYPAZmr&O+oO>7:iby*. .+$%~",
+"~YEEETUPZb5$o4no@jFdVQTu .o$%~",
+"~TEWEYUAm5+O;gh#-GDsL!Eu..+%&&&~",
+"~TWWTYPBy$&<8MJGJHzqW!T2oO+&&&&~",
+"~EWETUAm5.3ZtfxDFlaK!QS+$%*&&&&~",
+"~EETYPCb5$&BEk9a0wL!!R6+%,e,&&&~",
+"~ETYUPCmr=$o%pZITQ!!Y6+==ev3&&&~",
+"~~TYPACmc5,*$oo$,351$%=3rbB5&&&~",
+"~~YIAAZNbcr531&%%&***5rpNCA5&&~~",
+"~~UPAAACNmvciye3eeer5cbCAAA3&&~~",
+"~~~AAAAAZBNmbbbvbbmNNCAAAAZ1&~~~",
+"~~~AAAAAAAZZCCCCCZAAAAAAAAC=&~~~",
+"~~~~AAAAAAAAAAAAAAAAAAAAAAN&~~~~",
+"~~~~~AAAAAAAAAAAAAAAAAAAAAc~~~~~",
+"~~~~~~AAAAAAAAAAAAAAAAAAAA~~~~~~",
+"~~~~~~~AAAAAAAAAAAAAAAAAA~~~~~~~",
+"~~~~~~~~~AAAAAAAAAAAAAA~~~~~~~~~",
+"~~~~~~~~~~~AAAAAAAAAA~~~~~~~~~~~",
+"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
+};
diff --git a/graphics/meshlab/meshlab_48x48.xpm b/graphics/meshlab/meshlab_48x48.xpm
new file mode 100644
index 0000000000000..08dcc6dcc70de
--- /dev/null
+++ b/graphics/meshlab/meshlab_48x48.xpm
@@ -0,0 +1,170 @@
+/* XPM */
+static char *meshlab__[] = {
+/* columns rows colors chars-per-pixel */
+"48 48 116 2",
+" c #060606",
+". c #0B0B0B",
+"X c #0E120D",
+"o c #101A0F",
+"O c #141414",
+"+ c #141C13",
+"@ c #1B1C1B",
+"# c #221F1F",
+"$ c #182416",
+"% c #1E201D",
+"& c #212A1E",
+"* c #23361F",
+"= c #242424",
+"- c #2C2B2B",
+"; c #312E2E",
+": c #253223",
+"> c #303E2A",
+", c #313131",
+"< c #383535",
+"1 c #323C31",
+"2 c #3B3C3B",
+"3 c #32492D",
+"4 c #374434",
+"5 c #374C30",
+"6 c #3B4C36",
+"7 c #345331",
+"8 c #3E613A",
+"9 c #45623F",
+"0 c #444444",
+"q c #4B4B4B",
+"w c #4F544E",
+"e c #535353",
+"r c #5B5A5A",
+"t c #645E5E",
+"y c #53694B",
+"u c #4A7347",
+"i c #4E724C",
+"p c #4D7C49",
+"a c #53744D",
+"s c #507E4C",
+"d c #5A6059",
+"f c #587652",
+"g c #547950",
+"h c #5B795A",
+"j c #636363",
+"k c #6C6C6C",
+"l c #6B736B",
+"z c #747474",
+"x c #7B7B7B",
+"c c #54824F",
+"v c #558450",
+"b c #578952",
+"n c #5D8F58",
+"m c #5D9258",
+"M c #63975D",
+"N c #62985C",
+"B c #6F8268",
+"V c #708B6F",
+"C c #679C60",
+"Z c #739566",
+"A c #728B70",
+"S c #799177",
+"D c #7A9C70",
+"F c #7A9279",
+"G c #71A16A",
+"H c #73A96B",
+"J c #7EB476",
+"K c #83937C",
+"L c #84A775",
+"P c #87A978",
+"I c #83BA7B",
+"U c #838383",
+"Y c #8B8787",
+"T c #8C8C8C",
+"R c #948B8B",
+"E c #849583",
+"W c #8C9E8B",
+"Q c #949494",
+"! c #9B9B9B",
+"~ c #8FA18E",
+"^ c #90A08E",
+"/ c #89BF80",
+"( c #94BD86",
+") c #92A291",
+"_ c #9FA09F",
+"` c #A3A3A3",
+"' c #ABA4A4",
+"] c #A5ACA4",
+"[ c #ABABAB",
+"{ c #A8B3A8",
+"} c #B3B3B3",
+"| c #BCB4B4",
+" . c #BDBDBD",
+".. c #8CC282",
+"X. c #91C386",
+"o. c #93C689",
+"O. c #9CC58B",
+"+. c #97C88B",
+"@. c #9CCA8E",
+"#. c #9BCB90",
+"$. c #A1CC93",
+"%. c #B7C1B7",
+"&. c #BCC1BC",
+"*. c #C3C3C3",
+"=. c #CCC3C3",
+"-. c #CCCCCC",
+";. c #D4D4D4",
+":. c #DAD6D6",
+">. c #DCDCDC",
+",. c #E1DFDF",
+"<. c #E3E3E3",
+"1. c #EAEAEA",
+"2. c #F0EEEE",
+"3. c #F4F4F4",
+"4. c #F8F8F8",
+"5. c None",
+/* pixels */
+"5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.<.<.<.<.<.<.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.>.>.<.<.<.<.<.<.<.<.<.<.<.>.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5.5.5.>.>.>.<.<.<.<.<.<.<.>.>.>.>.>.>.>.:.;.;.5.5.5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5.>.>.>.<.<.<.<.<.<.>.>.>.>.>.:.:.:.;.;.;.;.-.-.*.5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.>.>.<.<.<.<.<.<.<.>.>.>.>.:.;.;.;.;.;.-.-.-.-.*.*. .5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.<.<.<.<.<.<.<.<.<.>.>.>.>.:.;.;.-.-.-.-.-.-.*.*.*. . .} [ ! 5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.<.<.<.<.<.<.<.<.<.>.>.>.:.;.;.-.-.-.-.*.*.*.*.*. . . .[ U z k z 5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.<.<.<.1.1.1.<.<.<.>.>.:.;.;.;.-.-.*.*.*.*.*. . . . .! T r r 0 e < , 5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.<.<.1.1.1.1.1.<.<.>.>.:.;.;.-.*.*.*. . . . . .} [ Q z q 0 < 0 q r j k T 5.5.5.5.5.5.",
+"5.5.5.5.5.5.<.<.1.1.1.1.1.<.>.>.:.;.-.-.*.*. . . . . .} ! Y z 0 2 e 0 q k U Q ! [ } 5.5.5.5.5.5.",
+"5.5.5.5.5.<.<.1.1.1.1.1.<.<.>.:.;.;.-.*.*. . . .} } ` U r e 0 2 e k z z Q ` [ } | . .5.5.5.5.5.",
+"5.5.5.5.<.<.<.1.1.1.1.<.<.>.:.;.-.-.*.*. . . .} k k j q e r z z U T Q ! ` ` ` ` ' [ [ } 5.5.5.5.",
+"5.5.5.5.<.<.<.1.1.1.<.<.>.:.;.-.-.*.*. . .} ! x e k k j x Y U U T T T T T T T T Q Q ! ` 5.5.5.5.",
+"5.5.5.>.<.<.<.1.1.<.<.<.:.;.-.-.*.*. . .[ T z j U x U Y T Y U x x x z z z z x x U U T Q ! 5.5.5.",
+"5.5.5.>.<.<.<.1.<.<.<.>.;.-.*.*.*. . .[ Q Q Q ! Q U x r r j q e q q r r r j j j k z x U Y 5.5.5.",
+"5.5.5.>.<.<.<.<.<.<.>.:.-.*.*. . . . .} [ ! U x j q 2 , < , , - = , < , 2 0 0 q e j k z j < 5.5.",
+"5.5.:.>.<.<.<.<.<.<.>.;.-.*. . . . .} ` T j e q , = = = = @ @ O O @ @ @ = - - < 0 e r r 2 , 5.5.",
+"5.5.:.>.<.<.<.<.<.>.;.-.*. . . . .[ Q k q < , = O O O . . . . . . . O @ = = - 2 , = = 5.5.",
+"5.5.;.>.<.<.<.<.>.:.;.*. . . .} ` T j 2 - @ O . O @ & : : $ 2 q 0 < = O . . . . O @ @ = = - 5.5.",
+"5.;.:.>.<.<.<.<.>.;.-.*. . .} ! x r , @ O = % X + > y f a 7 l ` ! Y k , . . O @ @ = - - 5.",
+"5.;.:.>.<.<.<.<.>.;.-.*. .[ T k 0 = . % d ] w X o 5 L ( J v E 3.1.,.| r . . O @ @ - , 5.",
+"5.;.:.<.<.1.<.>.:.-.*. .} Q k 0 @ O & 6 B K 4 o $ 9 ( #.I b W 4.4.1.=.t . . O O @ = - , < 5.",
+"5.;.>.<.1.1.<.>.;.-.*. .! z q @ O + 3 a D P 9 * 3 Z $.o.J p { 4.4.1.=.e . . O - - , , , , < 5.",
+"5.:.>.<.1.1.>.:.;.*. .[ x e = @ q 1 8 G X.$.O.( O.$.#./ C i <.4.4.<.| ; . O O O - , , , , , < 5.",
+"5.>.<.1.1.<.>.;.-.*.} ! k < O < z x 9 M I o.@.@.$.+...H v W 3.4.3.:.R @ @ @ @ = - , , , , , < 5.",
+"5.>.<.1.<.<.:.;.-. .} Q j = . 2 ! -.E u N I ....X.I H s A >.4.4.2.=.t O = - , 2 2 , , , , , , 5.",
+"5.<.<.<.<.>.;.-.*. .[ T j 2 O - T ;.1.] h s b m n c g ^ <.4.4.3.>.R # = - , 2 e r < , , , , < 5.",
+"5.5.<.<.>.:.;.-.*.} [ Q k q , @ = q Q *.&.) F V S ~ %.1.4.4.3.,.' < @ - , , r x z 2 , , , , 5.5.",
+"5.5.<.>.>.;.-.*. .} ' Q z e 2 - = O O , r _ *.>.1.3.4.4.4.3.:.Y , @ , 0 0 q z T U 0 , , , , 5.5.",
+"5.5.>.>.;.-.*.*. .} [ ! U k e 2 < , = O . . @ < r k x T Y j - @ - 2 2 e j U Q ` ! q , , , , 5.5.",
+"5.5.5.:.;.-.*. . . .[ ` Q x k e q 0 0 2 - @ @ @ O O O O @ @ = 2 2 q 0 z U Q [ } ` q , , , , 5.5.",
+"5.5.5.;.-.*. . . . .} ' ! T U z k j r r e - , - , < < 2 0 < < e j j x T [ } . .` q , , , 5.5.5.",
+"5.5.5.-.*.*. . . . . .} ` ! Q T U x z z k r r 0 r q j e k j q r T x [ } . . . .! 0 , , , 5.5.5.",
+"5.5.5.5.*. . . . . . . .} [ ` ! Q T Y U U x x k U k x x Y U U U ` [ . . . . . .Q 0 , , 5.5.5.5.",
+"5.5.5.5. . . . . . . . . .} } [ ` ! ! Q Q Q Q Q ! Q ! ` ' [ } } . . . . . . . .T 2 , , 5.5.5.5.",
+"5.5.5.5.5. . . . . . . . . . . .} } } [ [ [ [ [ } } } . . . . . . . . . . . . .U 2 , 5.5.5.5.5.",
+"5.5.5.5.5.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .} z < 5.5.5.5.5.5.",
+"5.5.5.5.5.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .[ r , 5.5.5.5.5.5.",
+"5.5.5.5.5.5.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .! 0 5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .Y 5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5. . . . . . . . . . . . . . . . . . . . . . . . . . .5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5. . . . . . . . . . . . . . . . . . . . . . . . .5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5.5.5. . . . . . . . . . . . . . . . . . . . .5.5.5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5. . . . . . . . . . . . . . .5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5. . . . . . . . .5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.",
+"5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5.5."
+};
diff --git a/graphics/meshlab/plystuff.diff b/graphics/meshlab/plystuff.diff
new file mode 100644
index 0000000000000..74f28a4d21195
--- /dev/null
+++ b/graphics/meshlab/plystuff.diff
@@ -0,0 +1,13 @@
+*** old/vcglib/wrap/ply/plystuff.h 2013-02-09 00:00:04.110705851 -0500
+--- new/vcglib/wrap/ply/plystuff.h 2013-02-09 15:20:53.482205183 -0500
+***************
+*** 75,80 ****
+--- 75,81 ----
+ #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/graphics/meshlab/qt-4.8.patch b/graphics/meshlab/qt-4.8.patch
new file mode 100644
index 0000000000000..abfd77d6f25d9
--- /dev/null
+++ b/graphics/meshlab/qt-4.8.patch
@@ -0,0 +1,54 @@
+diff -Nur meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp
+--- meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp 2011-01-25 18:51:28.000000000 +1100
++++ meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Raytracer/RayTracer.cpp 2012-01-07 11:47:12.836800072 +1100
+@@ -7,6 +7,12 @@
+ #include "SyntopiaCore/Logging/Logging.h"
+ #include "SyntopiaCore/Misc/MiniParser.h"
+
++#ifdef Q_WS_MAC
++#include <OpenGL/glu.h>
++#else
++#include <GL/glu.h>
++#endif
++
+ using namespace SyntopiaCore::Math;
+ using namespace SyntopiaCore::Misc;
+
+diff -Nur meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h
+--- meshlab.orig/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h 2011-01-25 18:51:28.000000000 +1100
++++ meshlab/src/external/structuresynth/ssynth/SyntopiaCore/GLEngine/Sphere.h 2012-01-07 11:45:26.795586149 +1100
+@@ -3,6 +3,12 @@
+ #include "SyntopiaCore/Math/Vector3.h"
+ #include "Object3D.h"
+
++#ifdef Q_WS_MAC
++#include <OpenGL/glu.h>
++#else
++#include <GL/glu.h>
++#endif
++
+ namespace SyntopiaCore {
+ namespace GLEngine {
+
+diff -Nur meshlab.orig/src/external/structuresynth/structuresynth.pro meshlab/src/external/structuresynth/structuresynth.pro
+--- meshlab.orig/src/external/structuresynth/structuresynth.pro 2011-01-25 18:49:34.000000000 +1100
++++ meshlab/src/external/structuresynth/structuresynth.pro 2012-01-07 11:51:46.695981995 +1100
+@@ -113,6 +113,7 @@
+ ssynth/StructureSynth/Model/Rendering/TemplateRenderer.cpp
+ CONFIG+=opengl
+ QT+=xml opengl script
++unix:LIBS += -lGLU
+ macx:DESTDIR = ../lib/macx
+ win32-g++:DESTDIR = ../lib/win32-gcc
+ win32-msvc2005:DESTDIR = ../lib/win32-msvc2005
+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/graphics/meshlab/slack-desc b/graphics/meshlab/slack-desc
new file mode 100644
index 0000000000000..1a4bda9f5464c
--- /dev/null
+++ b/graphics/meshlab/slack-desc
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description.
+# Line up the first '|' above the ':' following the base package name, and
+# the '|' on the right side marks the last column you can put a character in.
+# You must make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':' except on otherwise blank lines.
+
+ |-----handy-ruler------------------------------------------------------|
+meshlab: meshlab (process and edit unstructured 3D triangular meshes)
+meshlab:
+meshlab: MeshLab is an open source, portable, and extensible system for the
+meshlab: processing and editing of unstructured 3D triangular meshes. The
+meshlab: system is aimed to help the processing of the typical not-so-small
+meshlab: unstructured models arising in 3D scanning, providing a set of tools
+meshlab: for editing, cleaning, healing, inspecting, rendering and converting
+meshlab: this kind of mesh.
+meshlab:
+meshlab: Homepage: http://meshlab.sourceforge.net/
+meshlab: