summaryrefslogtreecommitdiff
path: root/dev-libs/libsavitar
diff options
context:
space:
mode:
Diffstat (limited to 'dev-libs/libsavitar')
-rw-r--r--dev-libs/libsavitar/Manifest4
-rw-r--r--dev-libs/libsavitar/files/libsavitar-3.3.0-remove-packaged-pugixml.patch119
-rw-r--r--dev-libs/libsavitar/libsavitar-3.3.0-r1.ebuild41
-rw-r--r--dev-libs/libsavitar/metadata.xml30
4 files changed, 194 insertions, 0 deletions
diff --git a/dev-libs/libsavitar/Manifest b/dev-libs/libsavitar/Manifest
new file mode 100644
index 000000000000..e0ec95fc8f86
--- /dev/null
+++ b/dev-libs/libsavitar/Manifest
@@ -0,0 +1,4 @@
+AUX libsavitar-3.3.0-remove-packaged-pugixml.patch 3294 BLAKE2B aa31da750cf1adcba252560a9160b96d7289a4d5fbc417396cb3c01e655e48f8014bc99b65554c8b03d28f0d00f99dfaad47a8fa0c2d3364221ae2971a42e4ec SHA512 5f944f2e32ca0b6b9bf161802816a32e9835198923a5ff5dc0f483df3ce41a69d08c1eb49c2e932c4cf5347aafeba0f29c88dfc091c06ca2057f7f92ed55d21c
+DIST libsavitar-3.3.0.tar.gz 92460 BLAKE2B 7b68e42b41092986452684f5778873a2636741fcd5659d2ff543b3a81fbe1e9fc7a216b77506873e08e9a1c76dfa8d365d7524a83b974db864ca60727a6a8d4e SHA512 9b64e18496dac00f521294ae2401002b0cca1249a80426ac0c1a1edb0d41984aba957a0c2e9acbd1ac1678307f2778617dab3c88db5d244bd746314d1a991eba
+EBUILD libsavitar-3.3.0-r1.ebuild 1016 BLAKE2B f81a89e2d509e44aaf12e483e5a855bae712c4b17ebd4b75e79296320c260f5a6f1bdcb89bba4b3729c6674c7cc6999e071e6750d430a6be2b5a4753f936ec9b SHA512 523b35d258d51151fb47a001e3531c21d5a604723bc963f9b9ec0d2284f210230e3957cf8ae457a9369dde60bc3a0e5c2a1dfeab62148a5ee5cfd2b55d65977b
+MISC metadata.xml 862 BLAKE2B 2bca0c0a62d0d51c6c83e7bfbf5ff5511545620f2280e60d52b91f9570a52f49f410701b053a4ce6a3fd5ca55bb5becdddc8197b8dd24c284bca410d952db58d SHA512 b31615e952a8ef30f5d72b2dbefe9f6b4330b483781eb57179f7d0d1d9e91159e26eff8f90e494b1747354c059d05ad57b16c08511f9e775e13d8b0165502304
diff --git a/dev-libs/libsavitar/files/libsavitar-3.3.0-remove-packaged-pugixml.patch b/dev-libs/libsavitar/files/libsavitar-3.3.0-remove-packaged-pugixml.patch
new file mode 100644
index 000000000000..629e8edb51a2
--- /dev/null
+++ b/dev-libs/libsavitar/files/libsavitar-3.3.0-remove-packaged-pugixml.patch
@@ -0,0 +1,119 @@
+From 91aa70c6320461ae65600dce954b5ffb905b7039 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Mon, 9 Apr 2018 12:36:35 -0400
+Subject: [PATCH] Do not vendor the pugixml library
+
+This prevents trying to co-install pugixml with existing system
+libraries, and also fixes the includes for pugixml.hpp to actually use
+the include path added by find_package/add_subdirectory instead of a
+hardcoded relative path.
+---
+ CMakeLists.txt | 3 +-
+ pugixml/CMakeLists.txt | 80 -
+ pugixml/src/pugiconfig.hpp | 74 -
+ pugixml/src/pugixml.cpp | 12622 -------------------------------------------
+ pugixml/src/pugixml.hpp | 1434 -----
+ src/MeshData.cpp | 7 +-
+ src/Scene.cpp | 2 +-
+ src/SceneNode.cpp | 3 +-
+ src/ThreeMFParser.h | 4 +-
+ 9 files changed, 7 insertions(+), 14222 deletions(-)
+ delete mode 100644 pugixml/CMakeLists.txt
+ delete mode 100644 pugixml/src/pugiconfig.hpp
+ delete mode 100644 pugixml/src/pugixml.cpp
+ delete mode 100644 pugixml/src/pugixml.hpp
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5e991a7..1077c7f 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -7,8 +7,7 @@ include(CMakePackageConfigHelpers)
+ option(BUILD_PYTHON "Build " ON)
+ option(BUILD_STATIC "Build as a static library" OFF)
+
+-
+-add_subdirectory(pugixml)
++find_package(pugixml REQUIRED)
+
+ if(BUILD_PYTHON)
+ set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake)
+diff --git a/src/MeshData.cpp b/src/MeshData.cpp
+index 03e5089..701122d 100644
+--- a/src/MeshData.cpp
++++ b/src/MeshData.cpp
+@@ -17,7 +17,7 @@
+ */
+
+ #include "MeshData.h"
+-#include "../pugixml/src/pugixml.hpp"
++#include <pugixml.hpp>
+ #include <iostream>
+
+ using namespace Savitar;
+@@ -85,7 +85,7 @@ bytearray MeshData::getFlatVerticesAsBytes()
+ int v1 = faces.at(i).getV1();
+ int v2 = faces.at(i).getV2();
+ int v3 = faces.at(i).getV3();
+-
++
+ // Add vertices for face 1
+ float x = vertices.at(v1).getX();
+ float y = vertices.at(v1).getY();
+@@ -188,6 +188,3 @@ std::vector< Vertex > MeshData::getVertices()
+ {
+ return vertices;
+ }
+-
+-
+-
+diff --git a/src/Scene.cpp b/src/Scene.cpp
+index 4612f78..f218b71 100644
+--- a/src/Scene.cpp
++++ b/src/Scene.cpp
+@@ -17,7 +17,7 @@
+ */
+
+ #include "Scene.h"
+-#include "../pugixml/src/pugixml.hpp"
++#include <pugixml.hpp>
+ #include <iostream>
+ #include <string>
+ using namespace Savitar;
+diff --git a/src/SceneNode.cpp b/src/SceneNode.cpp
+index 5c95b6f..c4782bc 100644
+--- a/src/SceneNode.cpp
++++ b/src/SceneNode.cpp
+@@ -17,7 +17,7 @@
+ */
+
+ #include "SceneNode.h"
+-#include "../pugixml/src/pugixml.hpp"
++#include <pugixml.hpp>
+ #include <iostream>
+ using namespace Savitar;
+
+@@ -121,4 +121,3 @@ std::vector< SceneNode*> SceneNode::getAllChildren()
+ }
+ return all_children;
+ }
+-
+diff --git a/src/ThreeMFParser.h b/src/ThreeMFParser.h
+index 3394683..89da659 100644
+--- a/src/ThreeMFParser.h
++++ b/src/ThreeMFParser.h
+@@ -21,7 +21,7 @@
+
+ #include "SavitarExport.h"
+ #include "SceneNode.h"
+-#include "../pugixml/src/pugixml.hpp"
++#include <pugixml.hpp>
+
+ #include <string>
+ namespace Savitar
+@@ -44,4 +44,4 @@ namespace Savitar
+ std::string sceneToString(Scene scene);
+ };
+ }
+-#endif
+\ No newline at end of file
++#endif
diff --git a/dev-libs/libsavitar/libsavitar-3.3.0-r1.ebuild b/dev-libs/libsavitar/libsavitar-3.3.0-r1.ebuild
new file mode 100644
index 000000000000..3aca6609e16c
--- /dev/null
+++ b/dev-libs/libsavitar/libsavitar-3.3.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+PYTHON_COMPAT=( python{3_5,3_6} )
+inherit cmake-utils python-single-r1
+
+MY_PN="libSavitar"
+
+DESCRIPTION="C++ implementation of 3mf loading with SIP python bindings"
+HOMEPAGE="https://github.com/Ultimaker/libSavitar"
+SRC_URI="https://github.com/Ultimaker/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0/3"
+KEYWORDS="~amd64 ~x86"
+IUSE="+python static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-python/sip[${PYTHON_USEDEP}]"
+
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+PATCHES=( "${FILESDIR}"/${P}-remove-packaged-pugixml.patch )
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_PYTHON=$(usex python ON OFF)
+ -DBUILD_STATIC=$(usex static-libs ON OFF)
+ )
+ use python && mycmakeargs+=( -DPYTHON_SITE_PACKAGES_DIR="$(python_get_sitedir)" )
+ cmake-utils_src_configure
+}
diff --git a/dev-libs/libsavitar/metadata.xml b/dev-libs/libsavitar/metadata.xml
new file mode 100644
index 000000000000..3ed5b1ace790
--- /dev/null
+++ b/dev-libs/libsavitar/metadata.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>alexxy@gentoo.org</email>
+ <name>Alexey Shvetsov</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>mathy@vanvoorden.be</email>
+ <name>Mathy Vanvoorden</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>perlovka@gmail.com</email>
+ <name>Michael Perlov</name>
+ </maintainer>
+ <slots>
+ <subslots>soname major version number</subslots>
+ </slots>
+ <upstream>
+ <remote-id type="github">Ultimaker/libSavitar</remote-id>
+ </upstream>
+</pkgmetadata>