Skip to content

Commit

Permalink
media-gfx/meshlab: Add fedora patches
Browse files Browse the repository at this point in the history
Closes: https://bugs.gentoo.org/660542
Submitted-by: <[email protected]>
Signed-off-by: Amy Liffey <[email protected]>
Package-Manager: Portage-2.3.49, Repoman-2.3.11
  • Loading branch information
Amynka committed Jan 3, 2019
1 parent 7f157ae commit ff0d1ad
Show file tree
Hide file tree
Showing 3 changed files with 153 additions and 0 deletions.
20 changes: 20 additions & 0 deletions media-gfx/meshlab/files/2016.12/meshlab-2016.12-qprintable.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
--- a/meshlabserver/mainserver.cpp
+++ b/meshlabserver/mainserver.cpp
@@ -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));
}

}
22 changes: 22 additions & 0 deletions media-gfx/meshlab/files/2016.12/meshlab-2016.12-qt-includes.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
--- a/meshlabplugins/render_gdp/shaderDialog.h
+++ b/meshlabplugins/render_gdp/shaderDialog.h
@@ -32,6 +32,8 @@
#include "shaderStructs.h"
#include "ui_shaderDialog.h"
#include <QMap>
+#include <QLineEdit>
+#include <QSlider>

class QGLWidget;

--- a/meshlabplugins/edit_paint/paintbox.cpp
+++ b/meshlabplugins/edit_paint/paintbox.cpp
@@ -23,6 +23,7 @@

#include "paintbox.h"
#include <QFileDialog>
+#include <QAction>

Paintbox::Paintbox(QWidget * parent, Qt::WindowFlags flags) : QWidget(parent, flags)
{

111 changes: 111 additions & 0 deletions media-gfx/meshlab/meshlab-2016.12-r4.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
# Copyright 1999-2019 Gentoo Authors
# 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"
"${FILESDIR}/${PV}/${P}-qprintable.patch"
"${FILESDIR}/${PV}/${P}-qt-includes.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
}

0 comments on commit ff0d1ad

Please sign in to comment.