diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-12-18 11:06:49 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-12-18 11:06:49 +0000 |
commit | ab3da91fb6c91a9df52fff8f991570f456fd3c7a (patch) | |
tree | e8f3bfa2c6c3d20ec3b9c352c839e23949068b6b /media-gfx/prusaslicer | |
parent | 6abbf81ef2f298e3221ff5e67a1f3c5f23958212 (diff) |
gentoo resync : 18.12.2020
Diffstat (limited to 'media-gfx/prusaslicer')
-rw-r--r-- | media-gfx/prusaslicer/Manifest | 7 | ||||
-rw-r--r-- | media-gfx/prusaslicer/files/PrusaGcodeviewer.desktop | 9 | ||||
-rw-r--r-- | media-gfx/prusaslicer/files/PrusaSlicer.desktop | 12 | ||||
-rw-r--r-- | media-gfx/prusaslicer/files/prusaslicer-2.2.0-atomic.patch | 10 | ||||
-rw-r--r-- | media-gfx/prusaslicer/files/prusaslicer-2.2.0-boost-1.73.patch | 60 | ||||
-rw-r--r-- | media-gfx/prusaslicer/metadata.xml | 19 | ||||
-rw-r--r-- | media-gfx/prusaslicer/prusaslicer-2.2.0.ebuild | 79 |
7 files changed, 196 insertions, 0 deletions
diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest new file mode 100644 index 000000000000..b3757fb66d09 --- /dev/null +++ b/media-gfx/prusaslicer/Manifest @@ -0,0 +1,7 @@ +AUX PrusaGcodeviewer.desktop 208 BLAKE2B e7d041508b4dfb155748319d3c166ed1ff891cc3cf05d748d5d4ef03e90100dbb4c48a5c8daa3c5e04ad98e578e34e433caa9a1b2a85000feb16d9804832a531 SHA512 6f69d47a0f6adf3912de2ce8766c74d7654d3f8442cd269b098769d186a2345cdc6da310f10f4568d2de5ea1633bab22ac05203488617fa2e906d6c25b539964 +AUX PrusaSlicer.desktop 401 BLAKE2B 1c9bded4dd9e5e0be33c1bfb66bf8b54adc7898595fb6064d81f30dab9de7b9d6fd406ee48d45cb0ba665b1a03d02035c164d82d5b7cf13ec088b02176989777 SHA512 0777e5eda98d9931f5b289187a144f217f1279af498d8563414fa1485a24eb466a1b801498ec9af652355206543ae4b41012ed8ad8a22577680b088c6c39cc5a +AUX prusaslicer-2.2.0-atomic.patch 200 BLAKE2B c8a4f2e3ce1974dbc3a1aba5805910796f533e85040e9886b8e6c395ba95578ddf1910f0ae35f5625a73b2c063a58cfb33409489169231983a1dea5f10edbde5 SHA512 8da19e19b7027e4f77d19c10a40796e2a9bd4776820cf1adb134dc53a487edbe8a297ba6ebc92c04a419ff5d69d14a2e6fb74b2c2a05e7066a0346015a14582c +AUX prusaslicer-2.2.0-boost-1.73.patch 2383 BLAKE2B f8d96296c7802747ccfcd80adf9e2c954a33add590bb6fff7ef3e2e7c5334970009c63cab7d84adb7e9e0cc3b07a04200f3ea4c2c5dd9a1e1ebb5fe33ceebdde SHA512 36c325ce60c682ce1f5aeef02fc0b457a1e3ce60a2bfcc09e9ce78fddc6ee3452d100ac2a13e1d7454bfd7484d1f1c8d24a95feaa845ca784081dfefd15b2cdc +DIST prusaslicer-2.2.0.tar.gz 30811929 BLAKE2B cde004add53ee025728d566cb7331cb7b1eac5412e9ad3bee037d13277c24dcdc6024c91f09bb9ef0653a12a3ee7c5cb5cec21e2a00825d185472ea7036e08f5 SHA512 5c8dc5b581e04208a1ae53771ef2607da189ee85aadf501ce1480008f5a6ddb10bb528ddc2608d3f04acd26c583ff895ad4148d6a1397f002292e20098971e1d +EBUILD prusaslicer-2.2.0.ebuild 1551 BLAKE2B 30358dfa7e6c94ec6f459e7aa3c13ad87345c202bf4981000e3a1be98b37aedf20447d2f3c689866db4dca9fbd9620fee54b93de1dc6a538e1050dda705f05f9 SHA512 afd638ff936b6133be74aa3d7b06f9c0e713bfd8f4ac48e836c9f372bf9367a8f9bab984bd35e262ed54a2ee468f4dc12d8b3b4a73b684719e494e0b304847b6 +MISC metadata.xml 830 BLAKE2B b0c07af4dcc135e6ce2a67137ff2373ca4f842ac1e2efdff44dad399c487b2d2c7e71bf9932a544d30bc5f0a1e5ccd64830645be647137dda0bb23d00c62575a SHA512 9441df6291bfc1f7c6c85479e8bbe14389e091a43f0bc2ac22eee68544f6868ebd0eb342c7b79316809d0bde1b15684c9ea59cd57252b59643bb735e0b87422c diff --git a/media-gfx/prusaslicer/files/PrusaGcodeviewer.desktop b/media-gfx/prusaslicer/files/PrusaGcodeviewer.desktop new file mode 100644 index 000000000000..4b73cc905c6c --- /dev/null +++ b/media-gfx/prusaslicer/files/PrusaGcodeviewer.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Prusa GCode viewer +Exec=prusa-slicer --gcodeviewer %F +Icon=PrusaSlicer +Terminal=false +Type=Application +MimeType=text/x.gcode; +Categories=Graphics;3DGraphics; +Keywords=3D;Printing;Slicer; diff --git a/media-gfx/prusaslicer/files/PrusaSlicer.desktop b/media-gfx/prusaslicer/files/PrusaSlicer.desktop new file mode 100644 index 000000000000..dae507b54abb --- /dev/null +++ b/media-gfx/prusaslicer/files/PrusaSlicer.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Name=PrusaSlicer +GenericName=3D Printing Software +Icon=PrusaSlicer +Exec=prusa-slicer %F +Terminal=false +Type=Application +MimeType=model/stl;application/vnd.ms-3mfdocument;application/prs.wavefront-obj;application/x-amf; +Categories=Graphics;3DGraphics;Engineering; +Keywords=3D;Printing;Slicer;slice;3D;printer;convert;gcode;stl;obj;amf;SLA +StartupNotify=false +StartupWMClass=prusa-slicer
\ No newline at end of file diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.2.0-atomic.patch b/media-gfx/prusaslicer/files/prusaslicer-2.2.0-atomic.patch new file mode 100644 index 000000000000..4319ad0f1463 --- /dev/null +++ b/media-gfx/prusaslicer/files/prusaslicer-2.2.0-atomic.patch @@ -0,0 +1,10 @@ +--- a/src/slic3r/GUI/Mouse3DController.hpp ++++ b/src/slic3r/GUI/Mouse3DController.hpp +@@ -8,6 +8,7 @@ + + #include "hidapi.h" + ++#include <atomic> + #include <queue> + #include <thread> + #include <vector> diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.2.0-boost-1.73.patch b/media-gfx/prusaslicer/files/prusaslicer-2.2.0-boost-1.73.patch new file mode 100644 index 000000000000..50abea11b328 --- /dev/null +++ b/media-gfx/prusaslicer/files/prusaslicer-2.2.0-boost-1.73.patch @@ -0,0 +1,60 @@ +--- a/src/admesh/stlinit.cpp ++++ b/src/admesh/stlinit.cpp +@@ -28,7 +28,6 @@ + + #include <boost/log/trivial.hpp> + #include <boost/nowide/cstdio.hpp> +-#include <boost/detail/endian.hpp> + + #include "stl.h" + +@@ -36,9 +35,9 @@ + #error "SEEK_SET not defined" + #endif + +-#ifndef BOOST_LITTLE_ENDIAN ++#if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ + extern void stl_internal_reverse_quads(char *buf, size_t cnt); +-#endif /* BOOST_LITTLE_ENDIAN */ ++#endif /* __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ */ + + static FILE* stl_open_count_facets(stl_file *stl, const char *file) + { +@@ -89,10 +88,10 @@ + // Read the int following the header. This should contain # of facets. + uint32_t header_num_facets; + bool header_num_faces_read = fread(&header_num_facets, sizeof(uint32_t), 1, fp) != 0; +-#ifndef BOOST_LITTLE_ENDIAN ++#if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ + // Convert from little endian to big endian. + stl_internal_reverse_quads((char*)&header_num_facets, 4); +-#endif /* BOOST_LITTLE_ENDIAN */ ++#endif /* __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ */ + if (! header_num_faces_read || num_facets != header_num_facets) + BOOST_LOG_TRIVIAL(info) << "stl_open_count_facets: Warning: File size doesn't match number of facets in the header: " << file; + } +@@ -158,10 +157,10 @@ + // Read a single facet from a binary .STL file. We assume little-endian architecture! + if (fread(&facet, 1, SIZEOF_STL_FACET, fp) != SIZEOF_STL_FACET) + return false; +-#ifndef BOOST_LITTLE_ENDIAN ++#if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ + // Convert the loaded little endian data to big endian. + stl_internal_reverse_quads((char*)&facet, 48); +-#endif /* BOOST_LITTLE_ENDIAN */ ++#endif /* __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__ */ + } else { + // Read a single facet from an ASCII .STL file + // skip solid/endsolid + +--- a/CMakeLists.txt (revision 3b2c51fd5ab04a72592bfdba1cd39cd6298b66c2) ++++ b/CMakeLists.txt (date 1607811414000) +@@ -260,7 +260,7 @@ + # set(Boost_COMPILER "-mgw81") + if(NOT WIN32) + # boost::process was introduced first in version 1.64.0 +- set(MINIMUM_BOOST_VERSION "1.64.0") ++ set(MINIMUM_BOOST_VERSION "1.72.0") + endif() + set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time") + find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components}) diff --git a/media-gfx/prusaslicer/metadata.xml b/media-gfx/prusaslicer/metadata.xml new file mode 100644 index 000000000000..0d7a4d353499 --- /dev/null +++ b/media-gfx/prusaslicer/metadata.xml @@ -0,0 +1,19 @@ +<?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> + <longdescription> + PrusaSlicer takes 3D models (STL, OBJ, AMF) and converts them into G-code instructions for FFF printers or PNG + layers for mSLA 3D printers. It's compatible with any modern printer based on the RepRap toolchain, including + all those based on the Marlin, Prusa, Sprinter and Repetier firmware. It also works with Mach3, LinuxCNC and + Machinekit controllers. + + PrusaSlicer is based on Slic3r by Alessandro Ranellucci and the RepRap community. + </longdescription> + <upstream> + <remote-id type="github">prusa3d/PrusaSlicer</remote-id> + </upstream> +</pkgmetadata> diff --git a/media-gfx/prusaslicer/prusaslicer-2.2.0.ebuild b/media-gfx/prusaslicer/prusaslicer-2.2.0.ebuild new file mode 100644 index 000000000000..24f2f870cb8d --- /dev/null +++ b/media-gfx/prusaslicer/prusaslicer-2.2.0.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +WX_GTK_VER="3.0-gtk3" + +inherit cmake desktop wxwidgets xdg-utils + +MY_PN="PrusaSlicer" + +DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)" +HOMEPAGE="https://www.prusa3d.com/prusaslicer/" +SRC_URI="https://github.com/prusa3d/${MY_PN}/archive/version_${PV}.tar.gz -> ${P}.tar.gz" + +LICENSE="AGPL-3 CC-BY-3.0" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +IUSE="gui test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-cpp/eigen:3 + dev-cpp/tbb + >=dev-libs/boost-1.73.0[threads] + dev-libs/cereal + dev-libs/expat + dev-libs/miniz + media-libs/glew:0= + media-libs/qhull + >=media-gfx/openvdb-5.0.0 + net-misc/curl + >=sci-mathematics/cgal-5.0 + sci-libs/libigl + sci-libs/nlopt + sys-libs/zlib + x11-libs/wxGTK:${WX_GTK_VER}[X] + " +DEPEND="${RDEPEND}" + +S="${WORKDIR}/PrusaSlicer-version_${PV}" +PATCHES=( + "${FILESDIR}/${P}-atomic.patch" + "${FILESDIR}/${P}-boost-1.73.patch" +) + +src_prepare() { + setup-wxwidgets + cmake_src_prepare +} + +src_configure() { + CMAKE_BUILD_TYPE=Release + + local mycmakeargs=( + -DSLIC3R_BUILD_TESTS=$(usex test) + -DSLIC3R_FHS=1 + -DSLIC3R_GUI=$(usex gui) + -DSLIC3R_PCH=0 + -SLIC3R_STATIC=0 + -DSLIC3R_WX_STABLE=1 + ) + + cmake_src_configure +} + +src_install() { + cmake_src_install + + doicon resources/icons/PrusaSlicer.png || die + domenu "${FILESDIR}/PrusaGcodeviewer.desktop" || die + domenu "${FILESDIR}/PrusaSlicer.desktop" || die +} + +pkg_postinst() { + xdg_mimeinfo_database_update + xdg_desktop_database_update +} |