commit:     a1e4a213fb6bdf0c313e0a04e5e2327e28679625
Author:     Amy Liffey <amynka <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  5 05:46:18 2018 +0000
Commit:     Amy Liffey <amynka <AT> gentoo <DOT> org>
CommitDate: Wed Sep  5 05:46:18 2018 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=a1e4a213

media-gfx/meshlab: fix asString crash

- Added patch from fedora
Suggested-by: Miro Hrončok <miro <AT> hroncok.cz>
Closes: https://bugs.gentoo.org/660542
Package-Manager: Portage-2.3.40, Repoman-2.3.9

 .../files/2016.12/meshlab-2016.12-asString.patch   |  62 ++++++++++++
 media-gfx/meshlab/meshlab-2016.12-r3.ebuild        | 109 +++++++++++++++++++++
 2 files changed, 171 insertions(+)

diff --git a/media-gfx/meshlab/files/2016.12/meshlab-2016.12-asString.patch 
b/media-gfx/meshlab/files/2016.12/meshlab-2016.12-asString.patch
new file mode 100644
index 00000000000..7e58790590a
--- /dev/null
+++ b/media-gfx/meshlab/files/2016.12/meshlab-2016.12-asString.patch
@@ -0,0 +1,62 @@
+From e1410053455a497d32b1e896eb7e99a7224b6832 Mon Sep 17 00:00:00 2001
+From: Miro Hrončok <[email protected]>
+Date: Aug 29 2018 20:40:58 +0000
+Subject: Fix FTBFS (#1604819)
+
+
+---
+
+diff --git a/meshlab-2016.12-qprintable.patch 
b/meshlab-2016.12-qprintable.patch
+new file mode 100644
+index 0000000..9a916f6
+--- /dev/null
++++ b/meshlab-2016.12-qprintable.patch
+@@ -0,0 +1,20 @@
++--- a/src/meshlabserver/mainserver.cpp        2016-12-23 11:24:59.000000000 
+0100
+++++ b/src/meshlabserver/mainserver.cpp.a      2018-08-29 20:32:03.009295180 
+0200
++@@ -897,7 +897,7 @@
++     }
++ 
++      if (meshDocument.size() < outmeshlist.size())
++-             fprintf(logfp, "Error: trying to save %i meshes, but only %i 
available in the project\n", qPrintable(outmeshlist.size()), 
qPrintable(meshDocument.size()));
+++             fprintf(logfp, "Error: trying to save %i meshes, but only %i 
available in the project\n", outmeshlist.size(), meshDocument.size());
++      else
++      {
++              for (int ii = 0; ii < outmeshlist.size(); ++ii)
++@@ -911,7 +911,7 @@
++                                      fprintf(logfp, "Output mesh %s has NOT 
been saved\n", qPrintable(outmeshlist[ii].filename));
++                      }
++                      else
++-                             fprintf(logfp, "Invalid layer %i. Output mesh 
%s will not be saved\n", qPrintable(ii), qPrintable(outmeshlist[ii].filename));
+++                             fprintf(logfp, "Invalid layer %i. Output mesh 
%s will not be saved\n", ii, qPrintable(outmeshlist[ii].filename));
++              }
++ 
++      }
+diff --git a/meshlab-2016.12-qt-includes.patch 
b/meshlab-2016.12-qt-includes.patch
+new file mode 100644
+index 0000000..66e4f67
+--- /dev/null
++++ b/meshlab-2016.12-qt-includes.patch
+@@ -0,0 +1,21 @@
++--- a/src/meshlabplugins/render_gdp/shaderDialog.h    2016-12-23 
11:24:59.000000000 +0100
+++++ b/src/meshlabplugins/render_gdp/shaderDialog.h.a  2018-08-29 
20:55:01.414996789 +0200
++@@ -32,6 +32,8 @@
++ #include "shaderStructs.h"
++ #include "ui_shaderDialog.h"
++ #include <QMap>
+++#include <QLineEdit>
+++#include <QSlider>
++ 
++ class QGLWidget;
++ 
++--- ./meshlab-2016.12/src/meshlabplugins/edit_paint/paintbox.cpp      
2016-12-23 11:24:59.000000000 +0100
+++++ ./meshlab-2016.12/src/meshlabplugins/edit_paint/paintbox.cpp.a    
2018-08-29 21:19:42.411581082 +0200
++@@ -23,6 +23,7 @@
++ 
++ #include "paintbox.h"
++ #include <QFileDialog>
+++#include <QAction>
++ 
++ Paintbox::Paintbox(QWidget * parent, Qt::WindowFlags flags) : 
QWidget(parent, flags)
++ {
+

diff --git a/media-gfx/meshlab/meshlab-2016.12-r3.ebuild 
b/media-gfx/meshlab/meshlab-2016.12-r3.ebuild
new file mode 100644
index 00000000000..4fc8458b15a
--- /dev/null
+++ b/media-gfx/meshlab/meshlab-2016.12-r3.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit qmake-utils
+
+DESCRIPTION="the open source system for processing and editing 3D triangular 
meshes"
+HOMEPAGE="http://www.meshlab.net";
+VCG_VERSION="1.0.1"
+SRC_URI="https://github.com/cnr-isti-vclab/meshlab/archive/v${PV}.tar.gz -> 
${P}.tar.gz
+        
https://github.com/cnr-isti-vclab/vcglib/archive/v${VCG_VERSION}.tar.gz -> 
vcglib-${VCG_VERSION}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="-minimal"
+DEPEND="dev-cpp/eigen:3
+       dev-cpp/muParser
+       dev-qt/qtcore:5
+       dev-qt/qtopengl:5
+       dev-qt/qtscript:5
+       dev-qt/qtxmlpatterns:5
+       >=media-gfx/jhead-3.00-r2
+       media-libs/glew:0
+       media-libs/qhull
+       =media-libs/lib3ds-1*
+       media-libs/openctm
+       sci-libs/levmar
+       sci-libs/mpir"
+
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/meshlab-${PV}/src"
+
+PATCHES=(
+               "${FILESDIR}/${PV}/0001-set-shader-and-texture-paths.patch"
+               #remove ot working plugins
+               "${FILESDIR}/${PV}/remove-edit_mutualcorrs.patch"
+               "${FILESDIR}/${PV}/remove-io_TXT.patch"
+               #since structure synth doesn't seem to be compiling
+               "${FILESDIR}/${PV}/0001-disable-filter-ssynth.patch"
+               #this has been fixed in the tree
+               "${FILESDIR}/${PV}/0001-disable-edit-quality.patch"
+               #this causes segfaults
+               "${FILESDIR}/${PV}/0001-disable-filter-layer.patch"
+               #for when we use minimal
+               "${FILESDIR}/${PV}/0001-compile-server.patch"
+               "${FILESDIR}/${PV}/0001-use-external-lib3ds.patch"
+               "${FILESDIR}/${PV}/0001-use-external-openctm.patch"
+               "${FILESDIR}/${PV}/0001-use-external-muParser.patch"
+               "${FILESDIR}/${PV}/0001-use-external-bzip.patch"
+               "${FILESDIR}/${PV}/0001-use-external-jhead.patch"
+               "${FILESDIR}/${PV}/0001-use-external-glew.patch"
+               #cause gnu stack quickstart related qa
+               "${FILESDIR}/${PV}/0001-remove-not-sane-plugins.patch"
+               "${FILESDIR}/${PV}/${P}-fix-plugins-path.patch"
+               "${FILESDIR}/${PV}/${P}-align1.patch"
+               "${FILESDIR}/${PV}/${P}-align2.patch"
+               "${FILESDIR}/${PV}/${P}-asString.patch"
+       )
+
+src_prepare(){
+       mv "${WORKDIR}/vcglib-${VCG_VERSION}" "${WORKDIR}/vcglib" || die 
"vcglib mv failed"
+       default
+       #proof of patchset
+       #remove libs that are being used from the system
+       rm -r "external/lib3ds-1.3.0" || die "rm failed"
+       rm -r "external/OpenCTM-1.0.3" || die "rm failed"
+       rm -r "external/muparser_v132" || die "rm failed"
+       rm -r "external/muparser_v225" || die "rm failed"
+       rm -r "external/bzip2-1.0.5" || die "rm failed"
+       rm -r "external/jhead-2.95" || die "rm failed"
+       rm -r "external/glew-1.5.1" || die "rm failed"
+       rm -r "external/glew-1.7.0" || die "rm failed"
+       #we still depend on lm.h
+       #rm -r "external"
+       rm -r "distrib/plugins/U3D_W32" || die
+       rm -r "distrib/plugins/U3D_OSX" || die
+
+       # Fix bug 638796
+       cd "${WORKDIR}" || die
+       eapply "${FILESDIR}/${PV}/${P}-remove-header.patch"
+}
+
+src_configure() {
+       use minimal || eqmake5 -r meshlab_full.pro
+       use minimal && eqmake5 -r meshlab_mini.pro
+}
+
+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/*
+       insinto /usr/share/meshlab/plugins
+       doins -r distrib/plugins/*
+       insinto /usr/share/meshlab/textures
+       doins -r distrib/textures/*
+       insinto /usr/share/meshlab/sample
+       doins -r distrib/sample/*
+       newicon "${S}"/meshlab/images/eye512.png "${PN}".png
+       make_desktop_entry meshlab "Meshlab" "${PN}" Graphics
+}

Reply via email to