From: "Dennis Lamm" <expeditioneer@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: media-gfx/slic3r/, media-gfx/slic3r/files/
Date: Sun, 6 Dec 2020 12:32:42 +0000 (UTC) [thread overview]
Message-ID: <1607257956.2af1afdd76734d65c950a5ead00e81674fb95cca.expeditioneer@gentoo> (raw)
commit: 2af1afdd76734d65c950a5ead00e81674fb95cca
Author: Dennis Lamm <expeditioneer <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 4 21:41:40 2020 +0000
Commit: Dennis Lamm <expeditioneer <AT> gentoo <DOT> org>
CommitDate: Sun Dec 6 12:32:36 2020 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2af1afdd
media-gfx/slic3r-1.3.0: fixed boost 1.73 build
also use system clipper
Bug: https://bugs.gentoo.org/722308
Signed-off-by: Dennis Lamm <expeditioneer <AT> gentoo.org>
.../slic3r/files/slic3r-1.3.0-boost-1.73.patch | 146 +++++++++++++++++++++
.../files/slic3r-1.3.0-use-system-clipper.patch | 44 +++++++
media-gfx/slic3r/files/slic3r-1.3.0-wayland.patch | 10 ++
...ic3r-1.3.0-r2.ebuild => slic3r-1.3.0-r3.ebuild} | 38 +++---
4 files changed, 217 insertions(+), 21 deletions(-)
diff --git a/media-gfx/slic3r/files/slic3r-1.3.0-boost-1.73.patch b/media-gfx/slic3r/files/slic3r-1.3.0-boost-1.73.patch
new file mode 100644
index 00000000000..6b710a18f3a
--- /dev/null
+++ b/media-gfx/slic3r/files/slic3r-1.3.0-boost-1.73.patch
@@ -0,0 +1,146 @@
+--- a/xs/src/boost/nowide/cstdlib.hpp
++++ b/xs/src/boost/nowide/cstdlib.hpp
+@@ -8,7 +8,7 @@
+ #ifndef BOOST_NOWIDE_CSTDLIB_HPP_INCLUDED
+ #define BOOST_NOWIDE_CSTDLIB_HPP_INCLUDED
+
+-#include <boost/nowide/cenv.hpp>
++#include <boost/nowide/cstdlib.hpp>
+ #include <boost/nowide/system.hpp>
+
+ #endif
+--- a/xs/src/admesh/stl.h
++++ b/xs/src/admesh/stl.h
+@@ -26,11 +26,6 @@
+ #include <stdio.h>
+ #include <stdint.h>
+ #include <stddef.h>
+-#include <boost/detail/endian.hpp>
+-
+-#ifndef BOOST_LITTLE_ENDIAN
+-#error "admesh works correctly on little endian machines only!"
+-#endif
+
+ #if defined(_WIN32) || defined(__WIN32__) || defined(WIN32)
+ #include "windows.h"
+
+--- a/xs/src/libslic3r/PrintObject.cpp
++++ b/xs/src/libslic3r/PrintObject.cpp
+@@ -2,11 +2,14 @@
+ #include "BoundingBox.hpp"
+ #include "ClipperUtils.hpp"
+ #include "Geometry.hpp"
++#include <boost/bind/bind.hpp>
+ #include <algorithm>
+ #include <vector>
+
+ namespace Slic3r {
+
++using boost::placeholders::_1;
++
+ PrintObject::PrintObject(Print* print, ModelObject* model_object, const BoundingBoxf3 &modobj_bbox)
+ : layer_height_spline(model_object->layer_height_spline),
+ typed_slices(false),
+--- a/xs/src/libslic3r/GCodeSender.hpp
++++ b/xs/src/libslic3r/GCodeSender.hpp
+@@ -7,13 +7,17 @@
+ #include <string>
+ #include <vector>
+ #include <boost/asio.hpp>
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
++#include <boost/core/noncopyable.hpp>
+ #include <boost/thread.hpp>
+
+ namespace Slic3r {
+
+ namespace asio = boost::asio;
+
++using boost::placeholders::_1;
++using boost::placeholders::_2;
++
+ class GCodeSender : private boost::noncopyable {
+ public:
+ GCodeSender();
+--- a/xs/src/libslic3r/TriangleMesh.cpp
++++ b/xs/src/libslic3r/TriangleMesh.cpp
+@@ -14,6 +14,7 @@
+ #include <stdexcept>
+ #include <boost/config.hpp>
+ #include <boost/nowide/convert.hpp>
++#include <boost/bind/bind.hpp>
+
+ #ifdef SLIC3R_DEBUG
+ #include "SVG.hpp"
+@@ -21,6 +22,8 @@
+
+ namespace Slic3r {
+
++using boost::placeholders::_1;
++
+ TriangleMesh::TriangleMesh()
+ : repaired(false)
+ {
+--- a/xs/src/libslic3r/Config.cpp
++++ b/xs/src/libslic3r/Config.cpp
+@@ -14,6 +14,7 @@
+ #include <boost/foreach.hpp>
+ #include <boost/lexical_cast.hpp>
+ #include <boost/nowide/cenv.hpp>
++#include <boost/nowide/cstdlib.hpp>
+ #include <boost/nowide/fstream.hpp>
+ #include <boost/property_tree/ini_parser.hpp>
+ #include <boost/property_tree/ptree.hpp>
+--- a/xs/src/libslic3r/SLAPrint.cpp
++++ b/xs/src/libslic3r/SLAPrint.cpp
+@@ -7,9 +7,12 @@
+ #include <iostream>
+ #include <complex>
+ #include <cstdio>
++#include <boost/bind/bind.hpp>
+
+ namespace Slic3r {
+
++using boost::placeholders::_1;
++
+ void
+ SLAPrint::slice()
+ {
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -22,7 +22,7 @@
+ set(Boost_USE_STATIC_LIBS ON)
+ set(Boost_USE_STATIC_RUNTIME ON)
+ set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+-find_package(Boost COMPONENTS system thread filesystem)
++find_package(Boost MODULE REQUIRED)
+
+ set(LIBDIR ${CMAKE_CURRENT_SOURCE_DIR}/../xs/src/)
+
+--- a/xs/src/libslic3r/GCodeTimeEstimator.cpp
++++ b/xs/src/libslic3r/GCodeTimeEstimator.cpp
+@@ -1,9 +1,12 @@
+ #include "GCodeTimeEstimator.hpp"
+-#include <boost/bind.hpp>
++#include <boost/bind/bind.hpp>
+ #include <cmath>
+
+ namespace Slic3r {
+
++using boost::placeholders::_1;
++using boost::placeholders::_2;
++
+ void
+ GCodeTimeEstimator::parse(const std::string &gcode)
+ {
+--- a/xs/Build.PL
++++ b/xs/Build.PL
+@@ -142,7 +142,7 @@
+ }
+ # In order to generate the -l switches we need to know how Boost libraries are named
+ my $have_boost = 0;
+-my @boost_libraries = qw(system thread filesystem); # we need these
++my @boost_libraries = qw(system thread filesystem nowide); # we need these
+ # check without explicit lib path (works on Linux)
+ if (! $mswin) {
+ $have_boost = 1
diff --git a/media-gfx/slic3r/files/slic3r-1.3.0-use-system-clipper.patch b/media-gfx/slic3r/files/slic3r-1.3.0-use-system-clipper.patch
new file mode 100644
index 00000000000..9f9a5ef2fbd
--- /dev/null
+++ b/media-gfx/slic3r/files/slic3r-1.3.0-use-system-clipper.patch
@@ -0,0 +1,44 @@
+--- a/xs/src/libslic3r/ClipperUtils.hpp
++++ b/xs/src/libslic3r/ClipperUtils.hpp
+@@ -2,7 +2,7 @@
+ #define slic3r_ClipperUtils_hpp_
+
+ #include <libslic3r.h>
+-#include "clipper.hpp"
++#include <polyclipping/clipper.hpp>
+ #include "ExPolygon.hpp"
+ #include "Polygon.hpp"
+ #include "Surface.hpp"
+--- a/xs/src/libslic3r/Geometry.cpp
++++ b/xs/src/libslic3r/Geometry.cpp
+@@ -3,7 +3,7 @@
+ #include "ExPolygon.hpp"
+ #include "Line.hpp"
+ #include "PolylineCollection.hpp"
+-#include "clipper.hpp"
++#include <polyclipping/clipper.hpp>
+ #include <algorithm>
+ #include <cassert>
+ #include <cmath>
+--- a/xs/src/libslic3r/SVG.hpp
++++ b/xs/src/libslic3r/SVG.hpp
+@@ -2,7 +2,7 @@
+ #define slic3r_SVG_hpp_
+
+ #include "libslic3r.h"
+-#include "clipper.hpp"
++#include <polyclipping/clipper.hpp>
+ #include "ExPolygon.hpp"
+ #include "Line.hpp"
+ #include "TriangleMesh.hpp"
+--- a/xs/xsp/Clipper.xsp
++++ b/xs/xsp/Clipper.xsp
+@@ -2,7 +2,7 @@
+
+ %{
+ #include <xsinit.h>
+-#include "clipper.hpp"
++#include <polyclipping/clipper.hpp>
+ #include "libslic3r/ClipperUtils.hpp"
+ %}
+
diff --git a/media-gfx/slic3r/files/slic3r-1.3.0-wayland.patch b/media-gfx/slic3r/files/slic3r-1.3.0-wayland.patch
new file mode 100644
index 00000000000..d2dea0208d8
--- /dev/null
+++ b/media-gfx/slic3r/files/slic3r-1.3.0-wayland.patch
@@ -0,0 +1,10 @@
+--- a/slic3r.pl
++++ b/slic3r.pl
+@@ -20,6 +20,7 @@ use Time::HiRes qw(gettimeofday tv_interval);
+ $|++;
+ binmode STDOUT, ':utf8';
+ binmode STDERR, ':utf8';
++$ENV{GDK_BACKEND} = 'x11';
+
+ our %opt = ();
+ my %cli_options = ();
diff --git a/media-gfx/slic3r/slic3r-1.3.0-r2.ebuild b/media-gfx/slic3r/slic3r-1.3.0-r3.ebuild
similarity index 78%
rename from media-gfx/slic3r/slic3r-1.3.0-r2.ebuild
rename to media-gfx/slic3r/slic3r-1.3.0-r3.ebuild
index 60c8950aab4..5917a9210b8 100644
--- a/media-gfx/slic3r/slic3r-1.3.0-r2.ebuild
+++ b/media-gfx/slic3r/slic3r-1.3.0-r3.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=7
-inherit eutils flag-o-matic perl-module
+inherit desktop eutils perl-module
DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
HOMEPAGE="https://slic3r.org"
@@ -17,7 +17,7 @@ RESTRICT="!test? ( test )"
# check Build.PL for dependencies
RDEPEND="!=dev-lang/perl-5.16*
- >=dev-libs/boost-1.55[threads]
+ >=dev-libs/boost-1.73[threads]
dev-perl/Class-XSAccessor
dev-perl/Devel-CheckLib
dev-perl/Devel-Size
@@ -53,6 +53,7 @@ RDEPEND="!=dev-lang/perl-5.16*
x11-libs/libXmu
)"
DEPEND="${RDEPEND}
+ dev-libs/clipper
dev-perl/Devel-CheckLib
>=dev-perl/ExtUtils-CppGuess-0.70.0
>=dev-perl/ExtUtils-Typemaps-Default-1.50.0
@@ -64,38 +65,33 @@ DEPEND="${RDEPEND}
test? ( virtual/perl-Test-Harness
virtual/perl-Test-Simple )"
-S="${WORKDIR}/Slic3r-${PV}/xs"
+S="${WORKDIR}/Slic3r-${PV}"
+PERL_S="${S}/xs"
-pkg_pretend() {
- einfo "Checking for -std=c++11 support in compiler"
- test-flags-CXX -std=c++11 > /dev/null || die
-}
+PATCHES=(
+ "${FILESDIR}/${P}-boost-1.73.patch"
+ "${FILESDIR}/${P}-no-locallib.patch"
+ "${FILESDIR}/${P}-use-system-clipper.patch"
+ "${FILESDIR}/${P}-wayland.patch"
+)
src_prepare() {
- pushd "${WORKDIR}/Slic3r-${PV}" || die
sed -i lib/Slic3r.pm -e "s@FindBin::Bin@FindBin::RealBin@g" || die
- eapply "${FILESDIR}"/${P}-no-locallib.patch
- eapply "${FILESDIR}"/${P}-boost.patch
- eapply_user
- popd || die
- # drop std=c++11 to compiler defaults...
- sed \
- -e '/c++11/d' \
- -i Build.PL || die
+ perl-module_src_prepare
}
src_configure() {
+ cd "${PERL_S}" || die
SLIC3R_NO_AUTO=1 perl-module_src_configure
}
src_test() {
+ cd "${PERL_S}" || die
perl-module_src_test
- pushd .. || die
- prove -Ixs/blib/arch -Ixs/blib/lib/ t/ || die "Tests failed"
- popd || die
}
src_install() {
+ cd "${PERL_S}" || die
perl-module_src_install
pushd .. || die
@@ -108,7 +104,7 @@ src_install() {
exeinto "${VENDOR_LIB}"/Slic3r
doexe slic3r.pl
- dosym "${VENDOR_LIB}"/Slic3r/slic3r.pl /usr/bin/slic3r.pl
+ dosym "${VENDOR_LIB}/Slic3r/slic3r.pl" "${EPREFIX}/usr/bin/slic3r.pl"
make_desktop_entry "slic3r.pl --gui %F" \
Slic3r \
next reply other threads:[~2020-12-06 12:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-06 12:32 Dennis Lamm [this message]
-- strict thread matches above, loose matches on Subject: below --
2019-11-07 22:12 [gentoo-commits] repo/gentoo:master commit in: media-gfx/slic3r/, media-gfx/slic3r/files/ Andreas K. Hüttel
2018-06-06 13:22 Alexey Shvetsov
2017-09-27 17:17 Ian Stakenvicius
2017-05-06 15:11 Amy Liffey
2016-04-03 21:24 Andreas Hüttel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1607257956.2af1afdd76734d65c950a5ead00e81674fb95cca.expeditioneer@gentoo \
--to=expeditioneer@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox