summaryrefslogtreecommitdiff
path: root/media-gfx/slic3r
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /media-gfx/slic3r
reinit the tree, so we can have metadata
Diffstat (limited to 'media-gfx/slic3r')
-rw-r--r--media-gfx/slic3r/Manifest11
-rw-r--r--media-gfx/slic3r/files/slic3r-1.1.7-adjust_var_path.patch11
-rw-r--r--media-gfx/slic3r/files/slic3r-1.2.9-adjust_var_path.patch11
-rw-r--r--media-gfx/slic3r/files/slic3r-1.2.9-c++11.patch38
-rw-r--r--media-gfx/slic3r/files/slic3r-9999-no-locallib.patch609
-rw-r--r--media-gfx/slic3r/metadata.xml29
-rw-r--r--media-gfx/slic3r/slic3r-1.1.7.ebuild114
-rw-r--r--media-gfx/slic3r/slic3r-1.2.9-r2.ebuild103
-rw-r--r--media-gfx/slic3r/slic3r-9999.ebuild112
9 files changed, 1038 insertions, 0 deletions
diff --git a/media-gfx/slic3r/Manifest b/media-gfx/slic3r/Manifest
new file mode 100644
index 000000000000..7b1b6fde00de
--- /dev/null
+++ b/media-gfx/slic3r/Manifest
@@ -0,0 +1,11 @@
+AUX slic3r-1.1.7-adjust_var_path.patch 274 SHA256 9a709ec1e6f39ad6ddeb6b51dbf7311f69a07a4c420f4bf8e99eaec17e4618d5 SHA512 c13cf1a6f37aa13a9b85093e75de0d2368b4ca4623b28be17e7cfef5740b2b4f4cee69492c099bf936e4ee553e37389b8ffa9ea0df804a80a1cb6295cd198653 WHIRLPOOL 969787e008263944c4f7e537a436abd4966e05db8074e6b89c7d205754d98e15bbe46842fe49cdee263dd56cef2a1d6e43f38f47896ecf4d54dbada22606a0e0
+AUX slic3r-1.2.9-adjust_var_path.patch 293 SHA256 9196226a4c5792a0312e8d28567684975d3ed3419cb0ac9cd4bce4d820a76fe9 SHA512 5a1ddca0380964c2bce9ba83dd9654671636433d0719cb54851e2ff521bd08c886f317073a1db5c145f8b3689248781cc1dc734c2071e6f6319be21845ed8a9d WHIRLPOOL 40ac44c9887244a5d924bd76c6a9b15df461d596d2244ac4854868de5bf18d1931edcdca8471ac404fcb1c944d3b04802ad10e6564bf517b2920ba9132d1f6ab
+AUX slic3r-1.2.9-c++11.patch 1102 SHA256 4b32b987d1e46cbda9f791dc46c76fa73b65178fe2bb8dc18e19615bf931cf9b SHA512 e5fa8ba0ce1ccbf5da34559c1e4d6d2db3c71acff69129125aef68e785285649a2e9b6c66779caffd2fe400859e878178afbd3f1884a28d9bdbee3b66d86311c WHIRLPOOL b5dec08f2d9f5fc82f225532b947584e787df13750ad82a94626631052da0b7a18b28b02d44771e0f6e9fbb34ade7ab143c3f3612d0244753c6bda4a6392c5bf
+AUX slic3r-9999-no-locallib.patch 15462 SHA256 c2114dd607da51416facadceaae1ba459ac3b63c2ccb01195a447c93da31218f SHA512 cdf791f721ab3a2356631ee9c74c796c48626c8313dd31dab59e880ab181734e892fa341bbb1a648d35303f4fb4a8e3c4615d360c317438876f67de1ef9f9187 WHIRLPOOL 4d571798c249d4e36cd06a72ed1a9d5267c02358fe2c5cc5237cfbf706ef98e7666c4516e957e3f1a109f459f1ec4f059aeb43c0eecd8bca409a77e476a9dc45
+DIST slic3r-1.1.7.tar.gz 2079200 SHA256 8e1f68a71d78686cf6957ee7665757a4e7d14646bdee262cef76cba47b3f0d50 SHA512 0c3a12890f57f422084b20152ede3467a8624db4ba8be774258df0af963c1f6f41fda7d96967f6355bd95727539e6aad51c30cf45284a7ee3fff294839acc650 WHIRLPOOL 18c95a59acff51891251852d59d4bf33b9c1ad8721f581e3c9f55b56bb62e087d030ecb701d16b07cca4567f142ea3b0693c0ab436f1c25b28d02b4a1ce351cd
+DIST slic3r-1.2.9.tar.gz 2165322 SHA256 f1c231ae56039ccd4ecf624e288c1362cab49b0f751a4663857b916b7fa51f2f SHA512 c0284f40de43c54e775baccdb2a67813a6ca4b69db78a788f2023b3f34127e780e6d0160144b9df1e17a2992b3255ef9a372b61a594f503b21efad7334387a51 WHIRLPOOL fc3bee0188ab7bd54ac19f3d874acb20dd8614594b79a8539001fd9a682f10c3436ef477d60458c49c7028c8b4bb7bf8585b4b53e73ac3a411d1a18720820eb0
+EBUILD slic3r-1.1.7.ebuild 2911 SHA256 2c743cd075b7593ac26b6e955dfd0a9f15cad1ab9105c0facfd131462d866436 SHA512 2fee10cde9c132cd7b6d142ea6b5550a294a2d366ca5eb88599567d0d13d1d5a837d63018836e7cd677a3e558180e4297bf6e4fceae51f2f9b48c9809cc44014 WHIRLPOOL a339035714f59b52f320945b1f174fb693a6deca39f835bfcde4d8aafe0f25844775b052dcdb629364151ca05dd12f159777d0bdda3cb5338ba19d4d22ed080a
+EBUILD slic3r-1.2.9-r2.ebuild 2472 SHA256 ac4365ff678d841529fcb852175ade6e046866360fa71c028ed07d77ce0781a3 SHA512 9937794276d490f75476fa39208f7726d0ad83534acb84ab5818cd1849c580cf3ce2c9f01b9eeaaee9ed9d4f49cc24bb9c4b95c4b45bbd70fd304678e0246795 WHIRLPOOL 7def4a7a52cfc9ecac2cf8266c4b216d763a7d33a59e0e50ac379811eb8b92bef9d7721e04a616aa05c420bd5c792ca03e456e5f7db2c1eb97fc74719634cc02
+EBUILD slic3r-9999.ebuild 2621 SHA256 c343bc2bdac0ec1e67253fb21aa9487fbcd6a80eec433b5990ac92e8d28e06a4 SHA512 bfff6a690433fdd85398d841c738578e44569eb58df43b602502c062419a77b3786288944414b3114538cbc278ccb029fa074ce44e4f2fc919209052888dacdc WHIRLPOOL 32d0d5369d4b4996258f2f448a520d4d97e5d11110fcb07b91367a93377e5a8ab5fa0442407841cd7421cc15c0d9467a844f561d353542e5f1e9c51e2f4b6663
+MISC ChangeLog 2206 SHA256 ef4b15eee040ebed9c2b0bea2d05a3512704677666eec33ba9d92221b8fbcb57 SHA512 acc6da2b31a88912904a884e29a364d77c9be66f3c904effc49575d554daa4882582acbbae779fc72793f66dd86a2bf526c8e02c761cc2ca946b86faa581ce7d WHIRLPOOL 25f2f8ce2376f1619443dfcd058fffd061490ce8c9d620987b6331c6c03de6f691dfaec474c6516989e953a6886d27c8ff3419e1da4810fde19b68e6edb8971b
+MISC metadata.xml 1166 SHA256 f9ead7e79da319295791a454378ef319bc215d647af78ce0c1ee50d0b9272cfc SHA512 8fa8adf81c468d72253218f1e5c4c42e8546a89166c3a3158db17b7504c13920abe7bc4ce3efadb4e6fa035d23d3a509c844699ac80b417dd16b570a6f6f213e WHIRLPOOL ff18b28867a43a0094fa59739f2ea72fb5297cda6ba4f40e43fd006e13c3c4f4e7a6baadd6dcb816103d39a59b16f90bf75b5ededd23f220cd3c6260e393448f
diff --git a/media-gfx/slic3r/files/slic3r-1.1.7-adjust_var_path.patch b/media-gfx/slic3r/files/slic3r-1.1.7-adjust_var_path.patch
new file mode 100644
index 000000000000..ee4d75d0122a
--- /dev/null
+++ b/media-gfx/slic3r/files/slic3r-1.1.7-adjust_var_path.patch
@@ -0,0 +1,11 @@
+--- a/lib/Slic3r.pm 2016-03-31 13:27:59.431548980 +0200
++++ b/lib/Slic3r.pm 2016-03-31 13:28:21.658675137 +0200
+@@ -29,7 +29,7 @@
+ if $^V >= v5.16;
+
+ use FindBin;
+-our $var = "$FindBin::Bin/var";
++our $var = "$FindBin::RealBin/var";
+
+ use Encode;
+ use Encode::Locale;
diff --git a/media-gfx/slic3r/files/slic3r-1.2.9-adjust_var_path.patch b/media-gfx/slic3r/files/slic3r-1.2.9-adjust_var_path.patch
new file mode 100644
index 000000000000..9dc93a52dde3
--- /dev/null
+++ b/media-gfx/slic3r/files/slic3r-1.2.9-adjust_var_path.patch
@@ -0,0 +1,11 @@
+--- a/lib/Slic3r.pm 2015-06-17 04:38:28.000000000 -0400
++++ b/lib/Slic3r.pm 2015-06-19 11:56:07.005873299 -0400
+@@ -30,7 +30,7 @@
+ if $^V == v5.16;
+
+ use FindBin;
+-our $var = decode_path($FindBin::Bin) . "/var";
++our $var = decode_path($FindBin::RealBin) . "/var";
+
+ use Moo 1.003001;
+
diff --git a/media-gfx/slic3r/files/slic3r-1.2.9-c++11.patch b/media-gfx/slic3r/files/slic3r-1.2.9-c++11.patch
new file mode 100644
index 000000000000..f6b15d70a1ab
--- /dev/null
+++ b/media-gfx/slic3r/files/slic3r-1.2.9-c++11.patch
@@ -0,0 +1,38 @@
+--- a/xs/src/libslic3r/Config.hpp 2015-06-17 04:38:28.000000000 -0400
++++ b/xs/src/libslic3r/Config.hpp 2017-09-27 10:59:26.527103728 -0400
+@@ -65,7 +65,7 @@
+
+ bool deserialize(std::string str) {
+ std::istringstream iss(str);
+- return iss >> this->value;
++ return static_cast<bool>(iss >> this->value);
+ };
+ };
+
+@@ -124,7 +124,7 @@
+
+ bool deserialize(std::string str) {
+ std::istringstream iss(str);
+- return iss >> this->value;
++ return static_cast<bool>(iss >> this->value);
+ };
+ };
+
+@@ -249,7 +249,7 @@
+ bool deserialize(std::string str) {
+ // don't try to parse the trailing % since it's optional
+ std::istringstream iss(str);
+- return iss >> this->value;
++ return static_cast<bool>(iss >> this->value);
+ };
+ };
+
+@@ -279,7 +279,7 @@
+ bool deserialize(std::string str) {
+ this->percent = str.find_first_of("%") != std::string::npos;
+ std::istringstream iss(str);
+- return iss >> this->value;
++ return static_cast<bool>(iss >> this->value);
+ };
+ };
+
diff --git a/media-gfx/slic3r/files/slic3r-9999-no-locallib.patch b/media-gfx/slic3r/files/slic3r-9999-no-locallib.patch
new file mode 100644
index 000000000000..8cb7fd6d16dc
--- /dev/null
+++ b/media-gfx/slic3r/files/slic3r-9999-no-locallib.patch
@@ -0,0 +1,609 @@
+commit 6f7e42a4707788d079d865800d9fdb65ed7d5f1f
+Author: Ian Stakenvicius <axs@gentoo.org>
+Date: Wed Sep 27 12:22:14 2017 -0400
+
+ Revert "Use --local-lib when calling cpanm"
+
+ This reverts commit e5412b5d69dc4d5415c92a7daaa47fb4860ca4ea and others
+ that add local::lib dependency
+
+diff --git a/Build.PL b/Build.PL
+index 2dd18435..18befbf8 100644
+--- a/Build.PL
++++ b/Build.PL
+@@ -109,16 +109,7 @@ EOF
+ if !$cpanm;
+ my @cpanm_args = ();
+ push @cpanm_args, "--sudo" if $sudo;
+-
+- # install local::lib without --local-lib otherwise it's not usable afterwards
+- if (!eval "use local::lib qw(local-lib); 1") {
+- my $res = system $cpanm, @cpanm_args, 'local::lib';
+- warn "Warning: local::lib is required. You might need to run the `cpanm --sudo local::lib` command in order to install it.\n"
+- if $res != 0;
+- }
+-
+- push @cpanm_args, ('--local-lib', 'local-lib');
+-
++
+ # make sure our cpanm is updated (old ones don't support the ~ syntax)
+ system $cpanm, @cpanm_args, 'App::cpanminus';
+
+diff --git a/slic3r.pl b/slic3r.pl
+index 11dc2fad..76885c90 100755
+--- a/slic3r.pl
++++ b/slic3r.pl
+@@ -6,7 +6,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/lib";
+- use local::lib '--no-create', "$FindBin::Bin/local-lib";
+ }
+
+ use File::Basename qw(basename);
+diff --git a/t/adaptive_slicing.t b/t/adaptive_slicing.t
+index 64c3769f..5ab631fe 100644
+--- a/t/adaptive_slicing.t
++++ b/t/adaptive_slicing.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first sum);
+diff --git a/t/adaptive_width.t b/t/adaptive_width.t
+index 7a0baa75..c200f844 100644
+--- a/t/adaptive_width.t
++++ b/t/adaptive_width.t
+@@ -7,7 +7,6 @@ plan tests => 32;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/angles.t b/t/angles.t
+index 2ae00b4e..1e1a6c9c 100644
+--- a/t/angles.t
++++ b/t/angles.t
+@@ -7,9 +7,6 @@ plan tests => 34;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use lib "$FindBin::Bin/../lib";
+- use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/arcs.t b/t/arcs.t
+index ec85dfbc..65b83de4 100644
+--- a/t/arcs.t
++++ b/t/arcs.t
+@@ -7,7 +7,6 @@ plan tests => 24;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/avoid_crossing_perimeters.t b/t/avoid_crossing_perimeters.t
+index 7cd04e50..dd6c3e7b 100644
+--- a/t/avoid_crossing_perimeters.t
++++ b/t/avoid_crossing_perimeters.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first sum);
+diff --git a/t/bridges.t b/t/bridges.t
+index 677115b8..3dc6b84a 100644
+--- a/t/bridges.t
++++ b/t/bridges.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first sum);
+diff --git a/t/clean_polylines.t b/t/clean_polylines.t
+index 50c6f5bb..4526bd60 100644
+--- a/t/clean_polylines.t
++++ b/t/clean_polylines.t
+@@ -7,7 +7,6 @@ plan tests => 6;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/clipper.t b/t/clipper.t
+index 3c983814..a898a53f 100644
+--- a/t/clipper.t
++++ b/t/clipper.t
+@@ -7,7 +7,6 @@ plan tests => 6;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(sum);
+diff --git a/t/collinear.t b/t/collinear.t
+index b28a3602..9dee7770 100644
+--- a/t/collinear.t
++++ b/t/collinear.t
+@@ -7,7 +7,6 @@ plan tests => 11;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/combineinfill.t b/t/combineinfill.t
+index 66e461d4..6661cdd6 100644
+--- a/t/combineinfill.t
++++ b/t/combineinfill.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/config.t b/t/config.t
+index 829ef5f3..7f85dae8 100644
+--- a/t/config.t
++++ b/t/config.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/cooling.t b/t/cooling.t
+index 80819bdc..5b2d4b4c 100644
+--- a/t/cooling.t
++++ b/t/cooling.t
+@@ -7,7 +7,6 @@ plan tests => 13;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(none all);
+diff --git a/t/custom_gcode.t b/t/custom_gcode.t
+index 9b58344e..3ff7c35d 100644
+--- a/t/custom_gcode.t
++++ b/t/custom_gcode.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/fill.t b/t/fill.t
+index 765cfd47..d422d27a 100644
+--- a/t/fill.t
++++ b/t/fill.t
+@@ -7,7 +7,6 @@ plan tests => 95;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first sum max);
+diff --git a/t/flow.t b/t/flow.t
+index 37e9deaf..071d290c 100644
+--- a/t/flow.t
++++ b/t/flow.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first sum);
+diff --git a/t/gaps.t b/t/gaps.t
+index 01ec1b4e..16baa036 100644
+--- a/t/gaps.t
++++ b/t/gaps.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/gcode.t b/t/gcode.t
+index ec9b7bb2..525356df 100644
+--- a/t/gcode.t
++++ b/t/gcode.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/geometry.t b/t/geometry.t
+index 9c6eef55..4e6e7097 100644
+--- a/t/geometry.t
++++ b/t/geometry.t
+@@ -7,7 +7,6 @@ plan tests => 44;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/layers.t b/t/layers.t
+index a8599807..57fd2576 100644
+--- a/t/layers.t
++++ b/t/layers.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/loops.t b/t/loops.t
+index d2bf7717..725154c9 100644
+--- a/t/loops.t
++++ b/t/loops.t
+@@ -7,7 +7,6 @@ plan tests => 4;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/multi.t b/t/multi.t
+index fb8cad81..4d6f8193 100644
+--- a/t/multi.t
++++ b/t/multi.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/perimeters.t b/t/perimeters.t
+index 513c76ef..3ddde0b8 100644
+--- a/t/perimeters.t
++++ b/t/perimeters.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r::ExtrusionLoop ':roles';
+diff --git a/t/polyclip.t b/t/polyclip.t
+index 0808c7be..1292d321 100644
+--- a/t/polyclip.t
++++ b/t/polyclip.t
+@@ -7,7 +7,6 @@ plan tests => 18;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/pressure.t b/t/pressure.t
+index dde23695..6bbb81d8 100644
+--- a/t/pressure.t
++++ b/t/pressure.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw();
+diff --git a/t/print.t b/t/print.t
+index b78739e4..28cf1ee4 100644
+--- a/t/print.t
++++ b/t/print.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/retraction.t b/t/retraction.t
+index 237af3ab..37dcb64b 100644
+--- a/t/retraction.t
++++ b/t/retraction.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(any);
+diff --git a/t/shells.t b/t/shells.t
+index 2347ff36..d64eb28c 100644
+--- a/t/shells.t
++++ b/t/shells.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first sum);
+diff --git a/t/skirt_brim.t b/t/skirt_brim.t
+index d6181ba2..cfa0698e 100644
+--- a/t/skirt_brim.t
++++ b/t/skirt_brim.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/slice.t b/t/slice.t
+index 51b52163..301ae164 100644
+--- a/t/slice.t
++++ b/t/slice.t
+@@ -8,7 +8,6 @@ plan tests => 16;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ # temporarily disable compilation errors due to constant not being exported anymore
+diff --git a/t/speed.t b/t/speed.t
+index 5d9fb54c..3deab75b 100644
+--- a/t/speed.t
++++ b/t/speed.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(none);
+diff --git a/t/support.t b/t/support.t
+index 8d4655b3..b4f9ce04 100644
+--- a/t/support.t
++++ b/t/support.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/svg.t b/t/svg.t
+index 6092efe2..9299eeef 100644
+--- a/t/svg.t
++++ b/t/svg.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/thin.t b/t/thin.t
+index 2d256d28..51461480 100644
+--- a/t/thin.t
++++ b/t/thin.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/t/threads.t b/t/threads.t
+index 7fcd86f0..106a68af 100644
+--- a/t/threads.t
++++ b/t/threads.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use List::Util qw(first);
+diff --git a/t/vibrationlimit.t b/t/vibrationlimit.t
+index 1a5488a6..7bfa27ac 100644
+--- a/t/vibrationlimit.t
++++ b/t/vibrationlimit.t
+@@ -5,7 +5,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/utils/amf-to-stl.pl b/utils/amf-to-stl.pl
+index 56df2e23..7edc1460 100755
+--- a/utils/amf-to-stl.pl
++++ b/utils/amf-to-stl.pl
+@@ -7,7 +7,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use File::Basename qw(basename);
+diff --git a/utils/config-bundle-to-config.pl b/utils/config-bundle-to-config.pl
+index e1d7f614..beecd666 100755
+--- a/utils/config-bundle-to-config.pl
++++ b/utils/config-bundle-to-config.pl
+@@ -9,7 +9,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Getopt::Long qw(:config no_auto_abbrev);
+diff --git a/utils/dump-stl.pl b/utils/dump-stl.pl
+index 6da275ab..4df94268 100644
+--- a/utils/dump-stl.pl
++++ b/utils/dump-stl.pl
+@@ -8,7 +8,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/utils/estimate-gcode-time.pl b/utils/estimate-gcode-time.pl
+index 43c558b6..eab4f6da 100755
+--- a/utils/estimate-gcode-time.pl
++++ b/utils/estimate-gcode-time.pl
+@@ -6,7 +6,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/utils/gcode_sectioncut.pl b/utils/gcode_sectioncut.pl
+index b94a2fc4..4d9619e4 100644
+--- a/utils/gcode_sectioncut.pl
++++ b/utils/gcode_sectioncut.pl
+@@ -7,7 +7,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Getopt::Long qw(:config no_auto_abbrev);
+diff --git a/utils/pdf-slices.pl b/utils/pdf-slices.pl
+index 30c41ae4..fa7612bb 100755
+--- a/utils/pdf-slices.pl
++++ b/utils/pdf-slices.pl
+@@ -7,7 +7,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Getopt::Long qw(:config no_auto_abbrev);
+diff --git a/utils/send-gcode.pl b/utils/send-gcode.pl
+index d87e6826..6f529b90 100644
+--- a/utils/send-gcode.pl
++++ b/utils/send-gcode.pl
+@@ -6,7 +6,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Slic3r;
+diff --git a/utils/split_stl.pl b/utils/split_stl.pl
+index eb659b9c..16cf5a9d 100755
+--- a/utils/split_stl.pl
++++ b/utils/split_stl.pl
+@@ -7,7 +7,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use File::Basename qw(basename);
+diff --git a/utils/stl-to-amf.pl b/utils/stl-to-amf.pl
+index cb041893..81648b8e 100755
+--- a/utils/stl-to-amf.pl
++++ b/utils/stl-to-amf.pl
+@@ -7,7 +7,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use File::Basename qw(basename);
+diff --git a/utils/view-mesh.pl b/utils/view-mesh.pl
+index 91cd20a2..b122faed 100644
+--- a/utils/view-mesh.pl
++++ b/utils/view-mesh.pl
+@@ -7,7 +7,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Getopt::Long qw(:config no_auto_abbrev);
+diff --git a/utils/view-toolpaths.pl b/utils/view-toolpaths.pl
+index d4c47f07..4bbbaab4 100755
+--- a/utils/view-toolpaths.pl
++++ b/utils/view-toolpaths.pl
+@@ -7,7 +7,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Getopt::Long qw(:config no_auto_abbrev);
+diff --git a/utils/wireframe.pl b/utils/wireframe.pl
+index f49b66e5..053581de 100644
+--- a/utils/wireframe.pl
++++ b/utils/wireframe.pl
+@@ -8,7 +8,6 @@ use warnings;
+ BEGIN {
+ use FindBin;
+ use lib "$FindBin::Bin/../lib";
+- use local::lib "$FindBin::Bin/../local-lib";
+ }
+
+ use Getopt::Long qw(:config no_auto_abbrev);
diff --git a/media-gfx/slic3r/metadata.xml b/media-gfx/slic3r/metadata.xml
new file mode 100644
index 000000000000..c0f39d3c0420
--- /dev/null
+++ b/media-gfx/slic3r/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tomboy64@sina.cn</email>
+ <name>Proxy-Maintainer; please assign him to bugs.</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Gentoo Proxy Maintainers Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>perl@gentoo.org</email>
+ <name>Gentoo Perl Project</name>
+ </maintainer>
+ <use>
+ <flag name="gui">Enable GUI</flag>
+ </use>
+ <longdescription lang="en">
+ Slic3r is the tool you need to convert a 3D model into printing instructions for your 3D printer. It cuts the model into horizontal slices (layers), generates toolpaths to fill them and calculates the amount of material to be extruded.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">alexrj/Slic3r</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/media-gfx/slic3r/slic3r-1.1.7.ebuild b/media-gfx/slic3r/slic3r-1.1.7.ebuild
new file mode 100644
index 000000000000..cc961a803fea
--- /dev/null
+++ b/media-gfx/slic3r/slic3r-1.1.7.ebuild
@@ -0,0 +1,114 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils perl-module
+
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
+HOMEPAGE="http://slic3r.org"
+SRC_URI="https://github.com/alexrj/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="AGPL-3 CC-BY-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+gui test"
+
+# check Build.PL for dependencies
+RDEPEND="!=dev-lang/perl-5.16*
+ >=dev-libs/boost-1.55[threads]
+ dev-perl/Class-XSAccessor
+ dev-perl/Encode-Locale
+ dev-perl/IO-stringy
+ >=dev-perl/Math-PlanePath-53.0.0
+ >=dev-perl/Moo-1.3.1
+ dev-perl/XML-SAX-ExpatXS
+ virtual/perl-Carp
+ virtual/perl-File-Spec
+ virtual/perl-Getopt-Long
+ virtual/perl-parent
+ virtual/perl-Scalar-List-Utils
+ virtual/perl-Test-Simple
+ virtual/perl-Thread-Semaphore
+ >=virtual/perl-threads-1.960.0
+ virtual/perl-Time-HiRes
+ virtual/perl-XSLoader
+ gui? ( dev-perl/Class-Accessor
+ dev-perl/Growl-GNTP
+ dev-perl/libwww-perl
+ dev-perl/Module-Pluggable
+ dev-perl/Net-Bonjour
+ dev-perl/Net-DBus
+ dev-perl/OpenGL
+ >=dev-perl/Wx-0.991.800
+ dev-perl/Wx-GLCanvas
+ >=media-libs/freeglut-3
+ virtual/perl-Math-Complex
+ >=virtual/perl-Socket-2.16.0
+ x11-libs/libXmu
+ )"
+DEPEND="${RDEPEND}
+ >=dev-perl/ExtUtils-CppGuess-0.70.0
+ >=dev-perl/ExtUtils-Typemaps-Default-1.50.0
+ >=dev-perl/ExtUtils-XSpp-0.170.0
+ >=dev-perl/Module-Build-0.380.0
+ >=dev-perl/Module-Build-WithXSpp-0.140.0
+ >=virtual/perl-ExtUtils-MakeMaker-6.800.0
+ >=virtual/perl-ExtUtils-ParseXS-3.220.0
+ test? ( virtual/perl-Test-Harness
+ virtual/perl-Test-Simple )"
+
+DIST_TEST="do"
+S="${WORKDIR}/Slic3r-${PV}/xs"
+
+src_prepare() {
+ pushd "${WORKDIR}/Slic3r-${PV}" || die
+ eapply "${FILESDIR}/${P}-adjust_var_path.patch"
+ eapply_user
+ popd || die
+}
+
+src_configure() {
+ SLIC3R_NO_AUTO=1 perl-module_src_configure
+}
+
+src_test() {
+ perl-module_src_test
+ # 1.1.7 Is kinda broken after Perl 5.16
+ pushd .. || die
+ ewarn "Some Tests Skipped due to consuming 100% of RAM"
+ local bad_files=(
+ t/combineinfill.t t/cooling.t t/custom_gcode.t t/fill.t
+ t/flow.t t/gaps.t t/gcode.t t/layers.t t/multi.t
+ t/perimeters.t t/print.t t/retraction.t t/shells.t
+ t/skirt_brim.t t/support.t t/threads.t t/vibrationlimit.t
+ );
+ for filename in "${bad_files[@]}"; do
+ einfo "Removing bad test ${filename}";
+ rm -f "./${filename}" || die "Cannot remove ./${filename}";
+ done
+ prove -Ixs/blib/arch -Ixs/blib/lib/ t/ || die "Tests failed"
+ popd || die
+}
+
+src_install() {
+ perl-module_src_install
+
+ pushd .. || die
+ insinto "${VENDOR_LIB}"
+ doins -r lib/Slic3r.pm lib/Slic3r
+
+ insinto "${VENDOR_LIB}"/Slic3r
+ doins -r var
+
+ exeinto "${VENDOR_LIB}"/Slic3r
+ doexe slic3r.pl
+
+ dosym "${VENDOR_LIB}"/Slic3r/slic3r.pl /usr/bin/slic3r.pl
+
+ make_desktop_entry slic3r.pl \
+ Slic3r \
+ "${VENDOR_LIB}/Slic3r/var/Slic3r_128px.png" \
+ "Graphics;3DGraphics;Engineering;Development"
+ popd || die
+}
diff --git a/media-gfx/slic3r/slic3r-1.2.9-r2.ebuild b/media-gfx/slic3r/slic3r-1.2.9-r2.ebuild
new file mode 100644
index 000000000000..21f227284727
--- /dev/null
+++ b/media-gfx/slic3r/slic3r-1.2.9-r2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils perl-module
+
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
+HOMEPAGE="http://slic3r.org"
+SRC_URI="https://github.com/alexrj/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="AGPL-3 CC-BY-3.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+gui test"
+
+RDEPEND="!=dev-lang/perl-5.16*
+ >=dev-libs/boost-1.55[threads]
+ dev-perl/Class-XSAccessor
+ >=dev-perl/Encode-Locale-1.50.0
+ dev-perl/IO-stringy
+ >=dev-perl/Math-PlanePath-53.0.0
+ >=dev-perl/Moo-1.3.1
+ dev-perl/XML-SAX-ExpatXS
+ virtual/perl-Carp
+ virtual/perl-Encode
+ virtual/perl-File-Spec
+ virtual/perl-Getopt-Long
+ virtual/perl-parent
+ virtual/perl-Scalar-List-Utils
+ virtual/perl-Test-Simple
+ virtual/perl-Thread-Semaphore
+ >=virtual/perl-threads-1.960.0
+ virtual/perl-Time-HiRes
+ virtual/perl-Unicode-Normalize
+ virtual/perl-XSLoader
+ gui? ( dev-perl/Class-Accessor
+ dev-perl/Growl-GNTP
+ dev-perl/libwww-perl
+ dev-perl/Module-Pluggable
+ dev-perl/Net-Bonjour
+ dev-perl/Net-DBus
+ dev-perl/OpenGL
+ >=dev-perl/Wx-0.991.800
+ dev-perl/Wx-GLCanvas
+ >=media-libs/freeglut-3
+ virtual/perl-Math-Complex
+ >=virtual/perl-Socket-2.16.0
+ x11-libs/libXmu
+ )"
+DEPEND="${RDEPEND}
+ >=dev-perl/ExtUtils-CppGuess-0.70.0
+ >=dev-perl/ExtUtils-Typemaps-Default-1.50.0
+ >=dev-perl/ExtUtils-XSpp-0.170.0
+ >=dev-perl/Module-Build-0.380.0
+ >=dev-perl/Module-Build-WithXSpp-0.140.0
+ >=virtual/perl-ExtUtils-MakeMaker-6.800.0
+ >=virtual/perl-ExtUtils-ParseXS-3.220.0
+ test? ( virtual/perl-Test-Harness
+ virtual/perl-Test-Simple )"
+
+S="${WORKDIR}/Slic3r-${PV}/xs"
+
+src_prepare() {
+ pushd "${WORKDIR}/Slic3r-${PV}" || die
+ eapply "${FILESDIR}/${P}-adjust_var_path.patch"
+ eapply "${FILESDIR}/${P}-c++11.patch"
+ eapply_user
+ popd || die
+}
+
+src_configure() {
+ SLIC3R_NO_AUTO=1 perl-module_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() {
+ perl-module_src_install
+
+ pushd .. || die
+ insinto "${VENDOR_LIB}"
+ doins -r lib/Slic3r.pm lib/Slic3r
+
+ insinto "${VENDOR_LIB}"/Slic3r
+ doins -r var
+
+ exeinto "${VENDOR_LIB}"/Slic3r
+ doexe slic3r.pl
+
+ dosym "${VENDOR_LIB}"/Slic3r/slic3r.pl /usr/bin/slic3r.pl
+
+ make_desktop_entry slic3r.pl \
+ Slic3r \
+ "${VENDOR_LIB}/Slic3r/var/Slic3r_128px.png" \
+ "Graphics;3DGraphics;Engineering;Development"
+ popd || die
+}
diff --git a/media-gfx/slic3r/slic3r-9999.ebuild b/media-gfx/slic3r/slic3r-9999.ebuild
new file mode 100644
index 000000000000..db80a647e0ed
--- /dev/null
+++ b/media-gfx/slic3r/slic3r-9999.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit eutils git-r3 perl-module
+
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
+HOMEPAGE="http://slic3r.org"
+SRC_URI=""
+EGIT_REPO_URI="https://github.com/alexrj/Slic3r.git"
+
+LICENSE="AGPL-3 CC-BY-3.0"
+SLOT="0"
+KEYWORDS=""
+IUSE="+gui test"
+
+# check Build.PL for dependencies
+RDEPEND="!=dev-lang/perl-5.16*
+ >=dev-libs/boost-1.55[threads]
+ dev-perl/Class-XSAccessor
+ dev-perl/Devel-CheckLib
+ dev-perl/Devel-Size
+ >=dev-perl/Encode-Locale-1.50.0
+ dev-perl/IO-stringy
+ >=dev-perl/Math-PlanePath-53.0.0
+ >=dev-perl/Moo-1.3.1
+ dev-perl/XML-SAX-ExpatXS
+ virtual/perl-Carp
+ virtual/perl-Encode
+ virtual/perl-File-Spec
+ virtual/perl-Getopt-Long
+ virtual/perl-parent
+ virtual/perl-Scalar-List-Utils
+ virtual/perl-Test-Simple
+ virtual/perl-Thread-Semaphore
+ >=virtual/perl-threads-1.960.0
+ virtual/perl-Time-HiRes
+ virtual/perl-Unicode-Normalize
+ virtual/perl-XSLoader
+ gui? ( dev-perl/Class-Accessor
+ dev-perl/Growl-GNTP
+ dev-perl/libwww-perl
+ dev-perl/Module-Pluggable
+ dev-perl/Net-Bonjour
+ dev-perl/Net-DBus
+ dev-perl/OpenGL
+ >=dev-perl/Wx-0.991.800
+ dev-perl/Wx-GLCanvas
+ >=media-libs/freeglut-3
+ virtual/perl-Math-Complex
+ >=virtual/perl-Socket-2.16.0
+ x11-libs/libXmu
+ )"
+DEPEND="${RDEPEND}
+ dev-perl/Devel-CheckLib
+ >=dev-perl/ExtUtils-CppGuess-0.70.0
+ >=dev-perl/ExtUtils-Typemaps-Default-1.50.0
+ >=dev-perl/ExtUtils-XSpp-0.170.0
+ >=dev-perl/Module-Build-0.380.0
+ >=dev-perl/Module-Build-WithXSpp-0.140.0
+ >=virtual/perl-ExtUtils-MakeMaker-6.800.0
+ >=virtual/perl-ExtUtils-ParseXS-3.220.0
+ test? ( virtual/perl-Test-Harness
+ virtual/perl-Test-Simple )"
+
+S="${WORKDIR}/slic3r-${PV}/xs"
+
+src_unpack() {
+ git-r3_src_unpack
+}
+
+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_user
+ popd || die
+}
+
+src_configure() {
+ SLIC3R_NO_AUTO=1 perl-module_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() {
+ perl-module_src_install
+
+ pushd .. || die
+ insinto "${VENDOR_LIB}"
+ doins -r lib/Slic3r.pm lib/Slic3r
+
+ insinto "${VENDOR_LIB}"/Slic3r
+ doins -r var
+
+ exeinto "${VENDOR_LIB}"/Slic3r
+ doexe slic3r.pl
+
+ dosym "${VENDOR_LIB}"/Slic3r/slic3r.pl /usr/bin/slic3r.pl
+
+ make_desktop_entry slic3r.pl \
+ Slic3r \
+ "${VENDOR_LIB}/Slic3r/var/Slic3r_128px.png" \
+ "Graphics;3DGraphics;Engineering;Development"
+ popd || die
+}