summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Solano Gómez <gentoo@sattvik.com>2020-12-16 18:08:23 -0600
committerDaniel Solano Gómez <gentoo@sattvik.com>2020-12-16 18:08:44 -0600
commit97034cd6bd5e38a668960af3c0102af80e723b10 (patch)
treef597cce27cf3348d3534b98569aed0f06b515cda /media-gfx
parentRemove gqrx (diff)
downloadsattvik-97034cd6bd5e38a668960af3c0102af80e723b10.tar.gz
sattvik-97034cd6bd5e38a668960af3c0102af80e723b10.tar.bz2
sattvik-97034cd6bd5e38a668960af3c0102af80e723b10.zip
Add media-gfx/prusa-slicer
Signed-off-by: Daniel Solano <gentoo@sattvik.com>
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/prusa-slicer/Manifest5
-rw-r--r--media-gfx/prusa-slicer/files/prusa-slicer-2.2.0-boost-1.73.patch60
-rw-r--r--media-gfx/prusa-slicer/files/prusa-slicer-2.2.0-include-atomic.patch23
-rw-r--r--media-gfx/prusa-slicer/metadata.xml7
-rw-r--r--media-gfx/prusa-slicer/prusa-slicer-2.2.0.ebuild75
5 files changed, 170 insertions, 0 deletions
diff --git a/media-gfx/prusa-slicer/Manifest b/media-gfx/prusa-slicer/Manifest
new file mode 100644
index 0000000..05d72cf
--- /dev/null
+++ b/media-gfx/prusa-slicer/Manifest
@@ -0,0 +1,5 @@
+AUX prusa-slicer-2.2.0-boost-1.73.patch 2339 BLAKE2B b6b35d48a9d4de1efa896f8d007244a34cd42cdcd68137bee265e1c7eced2bad410a8f33d006ea635253418ed21109d1b91bf5b86490e01289613fbaccbedf8b SHA512 fb3c09b2339260df0c1d1ab5b3102038c3ef82e19ea883ac0f10811ec9911a70d3a2b6eab63a06b0d06e7d62daf51feda40d7e09e5d981fca671b512b69acf97
+AUX prusa-slicer-2.2.0-include-atomic.patch 718 BLAKE2B b820c0f61081fd99b5f83b979a643728d1abeae5496013405e04cc94b720969f1b33ea05afd6424841225f83843d737bccb33535cfd56ae45512eb6bfc1d3a6d SHA512 5bdbfaaa358a43824bf0e9d64b2ae00030ebc712bd4f753473687f260f8e84480edd850badc4d7994962aba4e30c94a1a3ead2c3da4b70675b8ec13fed5b3185
+DIST prusa-slicer-2.2.0.tar.gz 30811929 BLAKE2B cde004add53ee025728d566cb7331cb7b1eac5412e9ad3bee037d13277c24dcdc6024c91f09bb9ef0653a12a3ee7c5cb5cec21e2a00825d185472ea7036e08f5 SHA512 5c8dc5b581e04208a1ae53771ef2607da189ee85aadf501ce1480008f5a6ddb10bb528ddc2608d3f04acd26c583ff895ad4148d6a1397f002292e20098971e1d
+EBUILD prusa-slicer-2.2.0.ebuild 1724 BLAKE2B 21bf7360f05954f399ee6ed48761d9b0a89ae6c73bc703b111a89b4d930f5463652de592ead5f0857ecc6e6d75da3fbcd8de90802e2461b74d6f82e8d7b02d72 SHA512 8987ce3969c8d861277821142d4a08b4c76a625901951597051a97a99867fbf198facb74a7ecb4f0d7dc70fc8de16db6488b7f09fbe6af0d1ace6140ffce55b4
+MISC metadata.xml 203 BLAKE2B c6e21b67977c25397c014c8a709a0568bef0d455dbad7aa9787c63895c9dac8e1405522bc1dc82745b18d37f48d01a822ca29880ea374c895446dfba5c33d9cc SHA512 05b7902daead1819658dd3c1b9539056a410ed454703125399504ef2816dced3dfb606894ada0ca325da3e149f845078fefa21af4fb24e9d224d93813d66e68e
diff --git a/media-gfx/prusa-slicer/files/prusa-slicer-2.2.0-boost-1.73.patch b/media-gfx/prusa-slicer/files/prusa-slicer-2.2.0-boost-1.73.patch
new file mode 100644
index 0000000..8cdf78a
--- /dev/null
+++ b/media-gfx/prusa-slicer/files/prusa-slicer-2.2.0-boost-1.73.patch
@@ -0,0 +1,60 @@
+From 3a194f91871684b5fc8c6c78300b87e0ee1cb610 Mon Sep 17 00:00:00 2001
+From: Megidd <megiddgit@gmail.com>
+Date: Mon, 21 Sep 2020 18:00:52 +0330
+Subject: [PATCH] Replace deprecated Boost header in "admesh"
+
+---
+ src/admesh/stlinit.cpp | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/admesh/stlinit.cpp b/src/admesh/stlinit.cpp
+index 390fe56a40..6aa2c44177 100644
+--- a/src/admesh/stlinit.cpp
++++ b/src/admesh/stlinit.cpp
+@@ -28,7 +28,7 @@
+
+ #include <boost/log/trivial.hpp>
+ #include <boost/nowide/cstdio.hpp>
+-#include <boost/detail/endian.hpp>
++#include <boost/predef/other/endian.h>
+
+ #include "stl.h"
+
+@@ -36,9 +36,9 @@
+ #error "SEEK_SET not defined"
+ #endif
+
+-#ifndef BOOST_LITTLE_ENDIAN
++#if BOOST_ENDIAN_BIG_BYTE
+ extern void stl_internal_reverse_quads(char *buf, size_t cnt);
+-#endif /* BOOST_LITTLE_ENDIAN */
++#endif /* BOOST_ENDIAN_BIG_BYTE */
+
+ static FILE* stl_open_count_facets(stl_file *stl, const char *file)
+ {
+@@ -89,10 +89,10 @@ static FILE* stl_open_count_facets(stl_file *stl, const char *file)
+ // 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 BOOST_ENDIAN_BIG_BYTE
+ // Convert from little endian to big endian.
+ stl_internal_reverse_quads((char*)&header_num_facets, 4);
+-#endif /* BOOST_LITTLE_ENDIAN */
++#endif /* BOOST_ENDIAN_BIG_BYTE */
+ 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 +158,10 @@ static bool stl_read(stl_file *stl, FILE *fp, int first_facet, bool first)
+ // 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 BOOST_ENDIAN_BIG_BYTE
+ // Convert the loaded little endian data to big endian.
+ stl_internal_reverse_quads((char*)&facet, 48);
+-#endif /* BOOST_LITTLE_ENDIAN */
++#endif /* BOOST_ENDIAN_BIG_BYTE */
+ } else {
+ // Read a single facet from an ASCII .STL file
+ // skip solid/endsolid
diff --git a/media-gfx/prusa-slicer/files/prusa-slicer-2.2.0-include-atomic.patch b/media-gfx/prusa-slicer/files/prusa-slicer-2.2.0-include-atomic.patch
new file mode 100644
index 0000000..14dd291
--- /dev/null
+++ b/media-gfx/prusa-slicer/files/prusa-slicer-2.2.0-include-atomic.patch
@@ -0,0 +1,23 @@
+From 44f71f0ed13e3b1f0aae8185decd4ab94abcd2e0 Mon Sep 17 00:00:00 2001
+From: Yuri D'Elia <wavexx@thregr.org>
+Date: Sun, 13 Dec 2020 19:41:47 +0100
+Subject: [PATCH] Include <atomic> for std::atomic where needed
+
+Fixes build on linux using clang 11
+---
+ src/libslic3r/Thread.cpp | 1 +
+ src/slic3r/GUI/Mouse3DController.hpp | 1 +
+ 2 files changed, 2 insertions(+)
+
+diff --git a/src/slic3r/GUI/Mouse3DController.hpp b/src/slic3r/GUI/Mouse3DController.hpp
+index d99cbad1e5..af131992ce 100644
+--- a/src/slic3r/GUI/Mouse3DController.hpp
++++ b/src/slic3r/GUI/Mouse3DController.hpp
+@@ -9,6 +9,7 @@
+ #include "hidapi.h"
+
+ #include <queue>
++#include <atomic>
+ #include <thread>
+ #include <vector>
+ #include <chrono>
diff --git a/media-gfx/prusa-slicer/metadata.xml b/media-gfx/prusa-slicer/metadata.xml
new file mode 100644
index 0000000..b119258
--- /dev/null
+++ b/media-gfx/prusa-slicer/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <use>
+ <flag name="gui">Enable GUI</flag>
+ </use>
+</pkgmetadata>
diff --git a/media-gfx/prusa-slicer/prusa-slicer-2.2.0.ebuild b/media-gfx/prusa-slicer/prusa-slicer-2.2.0.ebuild
new file mode 100644
index 0000000..1c83820
--- /dev/null
+++ b/media-gfx/prusa-slicer/prusa-slicer-2.2.0.ebuild
@@ -0,0 +1,75 @@
+# 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 desktop perl-module cmake wxwidgets
+
+DESCRIPTION="G-code generator for 3D printers"
+HOMEPAGE="https://www.prusa3d.com/prusaslicer/"
+SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/version_${PV/_/-}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="AGPL-3 CC-BY-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+gui test"
+
+RDEPEND="!media-gfx/slic3r
+ >=dev-libs/boost-1.55[threads]
+ dev-cpp/eigen
+ dev-cpp/gtest
+ >=dev-cpp/tbb-2020.2
+ dev-libs/cereal
+ dev-libs/expat
+ dev-libs/openssl
+ >=media-gfx/openvdb-5.2.0-r2
+ media-libs/glew:0
+ net-misc/curl
+ sci-libs/nlopt
+ >=sci-mathematics/cgal-4.14
+ x11-libs/wxGTK:${WX_GTK_VER}"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/PrusaSlicer-version_${PV/_/-}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-boost-1.73.patch"
+ "${FILESDIR}/${P}-include-atomic.patch"
+)
+
+src_configure() {
+ setup-wxwidgets
+ local mycmakeargs=(
+ -DSLIC3R_WX_STABLE=1
+ -DSLIC3R_GUI=$(usex gui 1 0)
+ -DSLIC3R_FHS=1
+ -DSLIC3R_STATIC=0
+ -DSLIC3R_GTK=3
+ -DSLIC3R_PERL_XS=0
+ -DSLIC3R_BUILD_SANDBOXES=0
+ -DSLIC3R_BUILD_TESTS=$(usex test 1 0)
+ -DSLIC3R_PCH=0
+ )
+ cmake_src_configure
+}
+
+src_test() {
+ perl-module_src_test
+ pushd .. || die
+ prove -Ixs/blib/arch -Ixs/blib/lib/ t/ || die "Tests failed"
+ popd || die
+}
+
+src_install() {
+ cmake_src_install
+
+ (
+ dodir "/usr/share/pixmaps";
+ dosym "../PrusaSlicer/icons/PrusaSlicer_192px.png" "/usr/share/pixmaps/prusa-slicer.png"
+ )
+
+ make_desktop_entry "prusa-slicer %F" "PrusaSlicer" "prusa-slicer" \
+ "Graphics;3DGraphics;Engineering;Development" \
+ "MimeType=model/stl;application/xml;application/prs.wavefront-obj;application/vnd.ms-3mfdocument;"
+}