summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-gfx/meshlab/files/2016.12/meshlab-2016.12-remove-header.patch38
-rw-r--r--media-gfx/meshlab/meshlab-2016.12-r2.ebuild108
2 files changed, 146 insertions, 0 deletions
diff --git a/media-gfx/meshlab/files/2016.12/meshlab-2016.12-remove-header.patch b/media-gfx/meshlab/files/2016.12/meshlab-2016.12-remove-header.patch
new file mode 100644
index 000000000000..8aeace8546a1
--- /dev/null
+++ b/media-gfx/meshlab/files/2016.12/meshlab-2016.12-remove-header.patch
@@ -0,0 +1,38 @@
+diff -ru vcglib/wrap/io_trimesh/import_nvm.h vcglib/wrap/io_trimesh/import_nvm.h
+--- a/vcglib/wrap/io_trimesh/import_nvm.h 2016-12-29 12:54:58.000000000 +0300
++++ b/vcglib/wrap/io_trimesh/import_nvm.h 2017-12-28 12:20:14.591670159 +0300
+@@ -85,15 +85,6 @@
+ return true;
+ }
+
+-static bool ReadHeader(const char * filename,unsigned int &/*num_cams*/, unsigned int &/*num_points*/){
+- FILE *fp = fopen(filename, "r");
+- if(!fp) return false;
+- ReadHeader(fp);
+- fclose(fp);
+- return true;
+-}
+-
+-
+ static int Open( OpenMeshType &m, std::vector<Shot<ScalarType> > & shots,
+ std::vector<std::string > & image_filenames,
+ const char * filename, CallBackPos *cb=0)
+diff -ru vcglib/wrap/io_trimesh/import_out.h vcglib/wrap/io_trimesh/import_out.h
+--- a/vcglib/wrap/io_trimesh/import_out.h 2016-12-29 12:54:58.000000000 +0300
++++ b/vcglib/wrap/io_trimesh/import_out.h 2017-12-28 12:20:48.434017234 +0300
+@@ -85,15 +85,6 @@
+ return true;
+ }
+
+-static bool ReadHeader(const char * filename,unsigned int &/*num_cams*/, unsigned int &/*num_points*/){
+- FILE *fp = fopen(filename, "r");
+- if(!fp) return false;
+- ReadHeader(fp);
+- fclose(fp);
+- return true;
+-}
+-
+-
+ static int Open( OpenMeshType &m, std::vector<Shot<ScalarType> > & shots,
+ std::vector<std::string > & image_filenames,
+ const char * filename,const char * filename_images, CallBackPos *cb=0)
diff --git a/media-gfx/meshlab/meshlab-2016.12-r2.ebuild b/media-gfx/meshlab/meshlab-2016.12-r2.ebuild
new file mode 100644
index 000000000000..adc2830aa0fc
--- /dev/null
+++ b/media-gfx/meshlab/meshlab-2016.12-r2.ebuild
@@ -0,0 +1,108 @@
+# 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"
+ )
+
+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
+}