summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmy Liffey <amynka@gentoo.org>2014-08-14 18:38:38 +0000
committerAmy Liffey <amynka@gentoo.org>2014-08-14 18:38:38 +0000
commit3095db55fe250ecf49604e8f7dbe760b4bdc0dfd (patch)
treea6a8f57f890dda427395e238d6979a62c00b79d0 /media-gfx
parentadding as a dependency for new package meshlab, lib3ds should be slotted in f... (diff)
downloadgentoo-2-3095db55fe250ecf49604e8f7dbe760b4bdc0dfd.tar.gz
gentoo-2-3095db55fe250ecf49604e8f7dbe760b4bdc0dfd.tar.bz2
gentoo-2-3095db55fe250ecf49604e8f7dbe760b4bdc0dfd.zip
New package for 3d printing added
(Portage version: 2.2.8-r1/cvs/Linux x86_64, signed Manifest commit with key 34E69781)
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/meshlab/ChangeLog19
-rw-r--r--media-gfx/meshlab/Manifest24
-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/meshlab-1.3.2.ebuild84
-rw-r--r--media-gfx/meshlab/metadata.xml14
25 files changed, 1068 insertions, 0 deletions
diff --git a/media-gfx/meshlab/ChangeLog b/media-gfx/meshlab/ChangeLog
new file mode 100644
index 000000000000..7689d1bc87ff
--- /dev/null
+++ b/media-gfx/meshlab/ChangeLog
@@ -0,0 +1,19 @@
+# ChangeLog for media-gfx/meshlab
+# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/meshlab/ChangeLog,v 1.1 2014/08/14 18:38:38 amynka Exp $
+
+*meshlab-1.3.2 (14 Aug 2014)
+
+ 14 Aug 2014; Amy Winston <amynka@gentoo.org>
+ +files/1.3.2/01_crash-on-save.patch, +files/1.3.2/02_cstddef.patch,
+ +files/1.3.2/03_disable-updates.patch, +files/1.3.2/05_externals.patch,
+ +files/1.3.2/06_format-security.patch, +files/1.3.2/07_gcc47.patch,
+ +files/1.3.2/08_lib3ds.patch, +files/1.3.2/09_libbz2.patch,
+ +files/1.3.2/10_muparser.patch, +files/1.3.2/11_openctm.patch,
+ +files/1.3.2/12_overflow.patch, +files/1.3.2/13_pluginsdir.patch,
+ +files/1.3.2/14_ply_numeric.patch, +files/1.3.2/15_qhull.patch,
+ +files/1.3.2/16_shadersdir.patch, +files/1.3.2/17_structuresynth.patch,
+ +files/1.3.2/18_glew.c18p1.patch, +files/1.3.2/19_CONFLICTS_IN_rpath.patch,
+ +files/1.3.2/20_rpath.c18p2.patch, +files/1.3.2/21_RESOLUTION.patch,
+ +files/1.3.2/22_aliasing.patch, +meshlab-1.3.2.ebuild, +metadata.xml:
+ New package for 3d printing added
diff --git a/media-gfx/meshlab/Manifest b/media-gfx/meshlab/Manifest
new file mode 100644
index 000000000000..199dbdeb777f
--- /dev/null
+++ b/media-gfx/meshlab/Manifest
@@ -0,0 +1,24 @@
+AUX 1.3.2/01_crash-on-save.patch 1150 SHA256 c7ed4f43b01ee8d6bdfb46760f776de112fc61e19e51c1057f771fd3dfb1717d SHA512 b6c6f06584ab5c43bcfef3b697fc1b3dcc6ee6e2ac7f15cdd3ac1a71af356e56299a78353f6a1c6bc8e19cde60b78a82980ae25abd87eb0a467a3fe4f1d769e6 WHIRLPOOL 89e0c7aa254a23074318210e9b08a53ddc8df6f28565d82dc1522e839b4065be7c5319e118f128a9be14c4945f40711216a72839d5165d75c39e8a304b8c63f1
+AUX 1.3.2/02_cstddef.patch 1549 SHA256 067ec2879cc5dc2ffb0870e3bc91ad285851ce370a586a1767b6665b086e40dd SHA512 4b4eb9ddb444f6c69a8dd817a2312329d9ee5d5b272ea8e7f310fd7c1f7e8cc22978e632016a27784c3456c3fe4a7ad753784c04b9c0e6f544eddc26e497da85 WHIRLPOOL 15225c6f3b33b9543493de32bfdef77baf503755eedcf21074885345d70c04fcacee548cde9a5a77658ccaa6d086f12250214ca3023474f0c5c8c7020b607a33
+AUX 1.3.2/03_disable-updates.patch 876 SHA256 cf6cc9bc8af61c160eca07a413292447e87877d3428f11e95f0739fbaf79fdfa SHA512 cb198c08ccfc1602f3922131fad385b7b6568733885e2df64cf404aa199d12b9a3a75f21d7e8972a330eb0ed8697a5bdb6af1aa78311563e8afe23f53bb223b2 WHIRLPOOL 7bc10dd2cff94d201652afbad341c6cf792c3919b584d264359f1ee8af4bbaa22ff34287ee45e28d5baa05fb28e26619a7c74bd1d71db1ccd91007cfbc634e7c
+AUX 1.3.2/05_externals.patch 966 SHA256 9d96b76a93bb94caf57292fbbccdf7c67fc0ae2542bf47e7c4aca59ea615414f SHA512 9053bc7b7c37fd826ee00e4b3f6f49c429e2afd2e4017a56aa361845463033acdfacdea5a4510f48353390d44bab6eb49cc23214cf5c3323458c01772b3e1817 WHIRLPOOL d42fee28cde1894798523b32e16f67ccfcc50f58fec8dff9182b04b501b8039d69506188cf433c98550a6fd8a4cca72b852911ed4c77628f728e2b1c69b24b0b
+AUX 1.3.2/06_format-security.patch 2399 SHA256 4567170ca15eef7b0ebf3660bb13757315e8d47b18c035a732dd61813beb7268 SHA512 637027b9f0080c0ea5c290816bc9b81cb07f12f8f052863ce6bd599ef8422f5403dd33086439cdddf3ae265f15fcdae1b7e7e157074f9396f369b019f69fe4d7 WHIRLPOOL 70e74dbb85864786a09eba994d06e37602aed8f8bf8396f63732c38a72f55573ed357f4ddb98abd5016845c85265c92780795fcfe0c88accf06b9fba99dd0277
+AUX 1.3.2/07_gcc47.patch 3697 SHA256 4cfd458ded80322acdbf5e763234700eec70a0e43a4e025568d64fcb7cd0dad3 SHA512 1dd5fbaf612ecbd01414ce1ca9ae52a6138a9a2f4ba8ec9a1f91e7613bb621628976931e0911467c9f06bb419cc780dec319f5cde7ce6a3945769985fba2a37a WHIRLPOOL 692967f20c666732192e0ec00c98092642b267733dd494524b5d85b19d012e92a0a3792e665d11a6f1e554b4d73393a6f9aa9477b21c9393c9e58efbd9db20dc
+AUX 1.3.2/08_lib3ds.patch 1350 SHA256 ad8c118ae0da7cea33c75e9ac0b4406e19d6789532b085ea32b2deeea0344758 SHA512 0c1f87e5ba9c5ad5861c4a1b9fbd9d662c306f1704a56f277e37f0ca1322a5faa8e7c36a4f91860ffaf3e0fce8526c06ffcb6adbd17aed264ca673fb642faa5e WHIRLPOOL eb41816d0a77b5060d35916113182e9937403a36ec08b240bfcff028859bd02386eea1c6bd5d663d40af30813976cb20401846c81b1efd50bbbf586e91c556cd
+AUX 1.3.2/09_libbz2.patch 1425 SHA256 e206583d558bc064e8632c58f757f08911d04692af1bf1e8135316476aabbafa SHA512 75d23a84619e52c527629855d5a158f7feed7b2fec0b9d2659eb3c8d741a8029502c6a62c9b8b7f4903fbb77c6270261d63100251be72e0c500b237673f42852 WHIRLPOOL 8a22b24c9b78c2f958224f6e559eec2ddb31768ae5811f330060ca374f42c85d4ac7c89ac5a7b1c42e3998ceb153c5fb72849b92687de0009659700d1d240ff3
+AUX 1.3.2/10_muparser.patch 1432 SHA256 34c6df0cd94ae21eccfe62861703d7b6e3ffc7483aa5b5780253780559d0e9a3 SHA512 5e7a498f4d4dd661084ed06abf11adc32c00c04af1ec21775dbd899888cf647c7875831ca6284580e2bc58586e2e38b8c74befcb982b7e1b64a86661470529ef WHIRLPOOL ca0b21ba8b41de39d0b5f451f4159101617ac9a6f3f8ab4587d357893ca2be6982f353877aa23addd38a2f6f253404bd0f4c4ac24e99b83935931b3aa071919e
+AUX 1.3.2/11_openctm.patch 1414 SHA256 ca4a57a6a281c020d3b029edbde88289f7fd17c832f709c10b83e4d9cb7630d1 SHA512 9f2adba65f5308734ee0c510db4aa0dc63c0c6084709d787a8aba6394019de7aa96a3bd102c580e9bd827b6eb60f48f50f573f653521b5ee515e72180509c071 WHIRLPOOL 1b7104ad59d2472c299f59a306cf57699012f5aee7172439df1897e9af839cf3b24e4f2fd6109d138ee537e96ebc6789b818f624cb15de454b6203e30b26cd51
+AUX 1.3.2/12_overflow.patch 860 SHA256 909e015b1b4b56502d23971a68bc828631589eff54c1cc7ca023167aad0894f6 SHA512 841141c015161988df188ca25f99d695fe0c22850cd69dbb4956f4ee9c9950172554addf249f79e111dbee212a7ec09d5d8f7bf68cd9289c6781ddbf7659e4af WHIRLPOOL 1078424dd60794169001ce74e85bc27856b96a987b4b73698e8c0042ee27e4b501d34543ab7d56cc69450bcb3188a7e5b1d6d0f4d0a4a249050717e730230f83
+AUX 1.3.2/13_pluginsdir.patch 927 SHA256 e5667d3f901a7f67e1897c9d8803292c0f1f92563748106e52b1c7e589caa7c9 SHA512 85bbc68b6d95168c0936ddc9bf602b8c3c8a9c7d8f5aaa449cc540c891ab90dc57d5ea3d8e10697242442f6dc587c4d9ad45c5c5e59f07fd800c8f291fde7598 WHIRLPOOL b12f350f1d02f2d3b251e104cf8a0b60f4aad3f8bf3beb40b2980ca32e5e87bd58a1f9bb78c48d74f043728c6852f5eeafa033fa59af265822fb8a1186814675
+AUX 1.3.2/14_ply_numeric.patch 881 SHA256 a1ec3e4cfe7b7a355793ca854da9a123870fa92e8f1b3cc72805dba7ff6f95c7 SHA512 88266fa82a343d70b7469fa4399abd0859c34c43de4d222d01118d9482fca4e5ffdfb2d8b10add238d36a5a3084273515284ab9e8a9bd855c2eadd069a7fbf90 WHIRLPOOL afc4fa1ecfc2c3e7951239f5d1eef54e4d1ca874ae41c0af7f6045f48ef6fc122db45c8bccaaa1e472cdbd09731d1334d44dc7c0b5a4308482dd6a9f9eaa9936
+AUX 1.3.2/15_qhull.patch 2749 SHA256 66302dd3daeae64aaf01035998439fa79f56a09878679100ef208f9e471a64df SHA512 25966ab73a8719e28e201ad998749ca891f4256163aeef0d9d23a9699b4299a757959c00fe5930e8f5bf713713c215c58944af65a9d48a7428d25c480096c3df WHIRLPOOL 91beddb020d6c539eef565589911433c6dba7a20d8339b032fc8d17d4ce6cbeb4d801f3a767ec685f48ffc3a47b7176f4ac7969b98a9dd7db63ac67e98ba018d
+AUX 1.3.2/16_shadersdir.patch 2311 SHA256 86bbc4f68de902ebbcbee808228ca9363262fbfbfa2a7dd9dde8015290268f19 SHA512 20c67f2eb4770427e648d7d69ac06cfd90b06eeb050d1fe1fac1068d7a84a0c9f378ffd5ca5d743dfb7385edee67ee5b98f569ea4d8e0109d8054dd36d6283e9 WHIRLPOOL 273ee08e4a5d0a86c2852e5872c0e0443dd857e4a96861444522a04ffe39b18edb197ead699478a303228d1d03f0e43abad1c42e69ca53aa4032d358282b5368
+AUX 1.3.2/17_structuresynth.patch 2229 SHA256 e9e7094c0a2684a7f06a5790f1ea7bfcd8caa95cfff03efa15826d3a55586c5a SHA512 03b2bebf3c70a064f380d3ccabdbd19b2c5a30d08a539d5025894560c1b31849feb295f14b8fb2bf75eb95cc21727eb9375acf96b74e40ea57d692648460dfd1 WHIRLPOOL defc27201696639d1133303c0d4aa83334a9de989e2bf71458f78ba02840aec03facec5866635be84161b22ab6ea3d683d7070e5b87e4539deb2507e8ab54c4e
+AUX 1.3.2/18_glew.c18p1.patch 5725 SHA256 5508284f5d30fb6ec9996fb2f4bd86a7839b048c2c3870f9db493afcfb57be9f SHA512 0986165ce47459c324d47a2c9081da9f09e3700bcb1d942fe0e82766fc5da61f716a1553c50d0c1f612417da95c7cc794416d75fb82f077b9cde35aa28344926 WHIRLPOOL 283dcc42401d49b5fa53c2eb0d3ba6707a3acf7319b5774ad35172beb5a70e8f398caf4540d21c6464b377a2f18982a5723f90f12a2b83343e786bc2fce13217
+AUX 1.3.2/19_CONFLICTS_IN_rpath.patch 1375 SHA256 630ddac55bfc24a8814584068e0023d3cf9884f476440eace189927a7e07586c SHA512 d1a33986ecf7d55fe762094dd57dd91bd1515b19964215cf041741269f7fb32fa903fe3b2fff42262fa731a98b5014d73818cb934ff9035f3b09726476dded9c WHIRLPOOL 37ebf686faf7297948bf086c5a13ed52cfa44ddb27e5ded6437da4d60d88e365f7f1ecb12223ec92890720cbb1929bc1f739bc960544e9efc98e1659832e08b5
+AUX 1.3.2/20_rpath.c18p2.patch 2016 SHA256 9aae726a619614a9f8a2e42a8c6c4d8e249e6d4169ca8b588556b3ab122f6d9a SHA512 99059d13898293fe499669e200f594cf824c2eaad728806a12e906cb97079cd8de80c494da1ff5f73aaeb4756366d8b6c0f404f8e98bfee68c012a4a2fccfb4e WHIRLPOOL 19d35f80d228489a79e7839eb8927fea963013449a7ae3722a012661acd1513576559ec342c8636a2fd7de3ac45eb5bdfd55f02559f444cf973f24eaad1769ef
+AUX 1.3.2/21_RESOLUTION.patch 1444 SHA256 36820b39371ee6938219f28e3005f5d7d39d0bc6230a01bebacc4e67f15e6efc SHA512 3742e3999e5c3842d831dc4742b40ea4659a0c6b036af81047d52c8234b4854ab147c76b795adde6ec52397d46f22a00017bf85079633aacd14ae1f711f6669f WHIRLPOOL 0820a94a01d0933cddc993c3a8a63bdd5029ae2e670cd69ff7b885f046f47ad386f262f539dde522dac307605572b896504d04e39cfd3f754be0ef84e7681efd
+AUX 1.3.2/22_aliasing.patch 1960 SHA256 576544a1c3646cbd9974ee30f71d18ae3775d3b1c5a3725818c000fa40963200 SHA512 5007163025f34e5f399e22843711d730b1e46612d9553e29bea46d575a4bdcb0663e978ebaa936e9213b210e9b99dd8ed30d3b40c212e7505f46da3ed45af8ed WHIRLPOOL df8bdad9c4641180765344862e4a4938f6812b7e788307c1db7e48eba10caa50e5e8b4e9574f686731b47dff5e5d03fabdfd66802d8eec6575118ef630fe309c
+DIST MeshLabSrc_AllInc_v132.tgz 12874196 SHA256 d57f0a99a55421aac54a66e2475d48f00f7b1752f9587cd69cf9b5b9c1a519b1 SHA512 40ef1f887d18e2146d6001d9c290bb76f6fc27caf13a1256a4061d5e2c43fd8dfdc843ace2cb83c6370648c2c5be3a22e2d5b31698df46e0695890d6a20651ac WHIRLPOOL aa6da94a8d5b9d28c9b787fe307774b7223e57278ed45c3bf1a823da9f5a9b59fd058a466f3f4dea3c4c57e3934b0aed88b1446f20e746349881c1bc965fec36
+EBUILD meshlab-1.3.2.ebuild 2510 SHA256 cbe608e5d56afbbca2c2991fd0379135b07c6190e54e7d0334746b89c99b7b45 SHA512 03a0d83585c9700b4869c315601d050c5ad034eafd2047831f1c3d7b3416eb166da6e892ee5a22800e42852b092f6b4339fc0d572ad32d974c9c7df908d12c57 WHIRLPOOL 043afd6d67619c970d8a21f0079d48e89b1289f8ba78f3a176681dbc15fa9d70c5ce92cf2dd3d84b11d5dfa5d8a7fefa1452d3db9820498034399801e86805ae
+MISC metadata.xml 539 SHA256 42f8b1022ced56f567d785b2dcf504d26844467e9c7cd3ca7de0fa2c8d4a72aa SHA512 9027fb642725a1e384785d52654ca8abda65f2638fba92c14b6d06ba1b72e92bca80632a2ba22dcafaa96ded3d0dcf26b9e582ac43b1f6775edcfaa82e8bf8c6 WHIRLPOOL add2d8638a00c63d0c2205fca1c2bdadec95903f2ac03a17e2f654f427a4db7f570452760c743c36c5d9112af7ab555bc170bee1ec9f92dcde7ff17a4e67017b
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/meshlab-1.3.2.ebuild b/media-gfx/meshlab/meshlab-1.3.2.ebuild
new file mode 100644
index 000000000000..c664aef82f96
--- /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
+# $Header: /var/cvsroot/gentoo-x86/media-gfx/meshlab/meshlab-1.3.2.ebuild,v 1.1 2014/08/14 18:38:38 amynka Exp $
+
+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
+ dev-qt/qtopengl
+ 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/metadata.xml b/media-gfx/meshlab/metadata.xml
new file mode 100644
index 000000000000..28b182afe8ca
--- /dev/null
+++ b/media-gfx/meshlab/metadata.xml
@@ -0,0 +1,14 @@
+<?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>
+</pkgmetadata>