From e5412b5d69dc4d5415c92a7daaa47fb4860ca4ea Mon Sep 17 00:00:00 2001 From: Alessandro Ranellucci Date: Thu, 15 Dec 2016 18:23:01 +0100 Subject: [PATCH] Use --local-lib when calling cpanm --- .gitignore | 1 + .travis.yml | 1 + Build.PL | 11 ++++++++++- slic3r.pl | 1 + t/angles.t | 3 +++ t/arcs.t | 1 + t/avoid_crossing_perimeters.t | 1 + t/bridges.t | 1 + t/clean_polylines.t | 1 + t/clipper.t | 1 + t/collinear.t | 1 + t/combineinfill.t | 1 + t/config.t | 1 + t/cooling.t | 1 + t/custom_gcode.t | 1 + t/dynamic.t | 1 + t/fill.t | 1 + t/flow.t | 1 + t/gaps.t | 1 + t/gcode.t | 1 + t/geometry.t | 1 + t/layers.t | 1 + t/loops.t | 1 + t/multi.t | 1 + t/perimeters.t | 1 + t/polyclip.t | 1 + t/pressure.t | 1 + t/print.t | 1 + t/retraction.t | 1 + t/shells.t | 1 + t/skirt_brim.t | 1 + t/slice.t | 1 + t/support.t | 1 + t/svg.t | 1 + t/thin.t | 1 + t/threads.t | 1 + t/vibrationlimit.t | 1 + utils/amf-to-stl.pl | 1 + utils/config-bundle-to-config.pl | 1 + utils/dump-stl.pl | 1 + utils/gcode_sectioncut.pl | 1 + utils/pdf-slices.pl | 1 + utils/send-gcode.pl | 1 + utils/split_stl.pl | 1 + utils/stl-to-amf.pl | 1 + utils/view-mesh.pl | 1 + utils/view-toolpaths.pl | 1 + utils/wireframe.pl | 1 + 48 files changed, 59 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 95428a002c..089e0a2c0e 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ MANIFEST.bak xs/MANIFEST.bak xs/assertlib* .init_bundle.ini +local-lib diff --git a/.travis.yml b/.travis.yml index f25d6bcbdb..8e9616ab54 100644 --- a/.travis.yml +++ b/.travis.yml @@ -20,3 +20,4 @@ addons: - libboost-thread1.55-dev - libboost-system1.55-dev - libboost-filesystem1.55-dev + - liblocal-lib-perl diff --git a/Build.PL b/Build.PL index 68a9af16eb..bace8ae4ba 100644 --- a/Build.PL +++ b/Build.PL @@ -107,7 +107,16 @@ 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; 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 9625625306..bf9618c6c1 100755 --- a/slic3r.pl +++ b/slic3r.pl @@ -6,6 +6,7 @@ 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/t/angles.t b/t/angles.t index 1e1a6c9c5a..2ae00b4e8e 100644 --- a/t/angles.t +++ b/t/angles.t @@ -7,6 +7,9 @@ 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 65b83de430..ec85dfbc23 100644 --- a/t/arcs.t +++ b/t/arcs.t @@ -7,6 +7,7 @@ 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 dd6c3e7b69..7cd04e50ee 100644 --- a/t/avoid_crossing_perimeters.t +++ b/t/avoid_crossing_perimeters.t @@ -5,6 +5,7 @@ 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 432d5e7a9e..51dda5c645 100644 --- a/t/bridges.t +++ b/t/bridges.t @@ -5,6 +5,7 @@ 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 4526bd60cc..50c6f5bbdb 100644 --- a/t/clean_polylines.t +++ b/t/clean_polylines.t @@ -7,6 +7,7 @@ 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 a898a53f6e..3c9838143a 100644 --- a/t/clipper.t +++ b/t/clipper.t @@ -7,6 +7,7 @@ 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 9dee777001..b28a3602c5 100644 --- a/t/collinear.t +++ b/t/collinear.t @@ -7,6 +7,7 @@ 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 6661cdd6c9..66e461d454 100644 --- a/t/combineinfill.t +++ b/t/combineinfill.t @@ -5,6 +5,7 @@ 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 7f85dae84c..829ef5f393 100644 --- a/t/config.t +++ b/t/config.t @@ -5,6 +5,7 @@ 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 b12b46b95d..d06204ba18 100644 --- a/t/cooling.t +++ b/t/cooling.t @@ -7,6 +7,7 @@ plan tests => 12; BEGIN { use FindBin; use lib "$FindBin::Bin/../lib"; + use local::lib "$FindBin::Bin/../local-lib"; } use List::Util qw(first); diff --git a/t/custom_gcode.t b/t/custom_gcode.t index 9d68d1eed7..d99b6785f3 100644 --- a/t/custom_gcode.t +++ b/t/custom_gcode.t @@ -5,6 +5,7 @@ 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/dynamic.t b/t/dynamic.t index beae06ad0f..5d4d3ceb4e 100644 --- a/t/dynamic.t +++ b/t/dynamic.t @@ -8,6 +8,7 @@ plan tests => 20; 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 aec533f233..7cea2726e5 100644 --- a/t/fill.t +++ b/t/fill.t @@ -7,6 +7,7 @@ plan tests => 92; 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/flow.t b/t/flow.t index 071d290c87..37e9deafac 100644 --- a/t/flow.t +++ b/t/flow.t @@ -5,6 +5,7 @@ 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 16baa03637..01ec1b4e3a 100644 --- a/t/gaps.t +++ b/t/gaps.t @@ -5,6 +5,7 @@ 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 9e7bd354a6..956c579d4e 100644 --- a/t/gcode.t +++ b/t/gcode.t @@ -5,6 +5,7 @@ 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 4529e6b1cb..0f37c0aa3b 100644 --- a/t/geometry.t +++ b/t/geometry.t @@ -7,6 +7,7 @@ plan tests => 42; 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 57fd257604..a859980771 100644 --- a/t/layers.t +++ b/t/layers.t @@ -5,6 +5,7 @@ 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 6293a4be79..e662469cad 100644 --- a/t/loops.t +++ b/t/loops.t @@ -8,6 +8,7 @@ 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 362f1f7b45..6ce8628188 100644 --- a/t/multi.t +++ b/t/multi.t @@ -5,6 +5,7 @@ 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 47b8448877..8285043110 100644 --- a/t/perimeters.t +++ b/t/perimeters.t @@ -5,6 +5,7 @@ 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 1292d3216f..0808c7be99 100644 --- a/t/polyclip.t +++ b/t/polyclip.t @@ -7,6 +7,7 @@ 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 6bbb81d849..dde236954e 100644 --- a/t/pressure.t +++ b/t/pressure.t @@ -5,6 +5,7 @@ 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 28cf1ee423..b78739e49d 100644 --- a/t/print.t +++ b/t/print.t @@ -5,6 +5,7 @@ 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 a35562c58f..571e9755db 100644 --- a/t/retraction.t +++ b/t/retraction.t @@ -5,6 +5,7 @@ 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 e7eb5da13b..e6eb65a9df 100644 --- a/t/shells.t +++ b/t/shells.t @@ -5,6 +5,7 @@ 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 3353149cc9..9b2a0a1261 100644 --- a/t/skirt_brim.t +++ b/t/skirt_brim.t @@ -5,6 +5,7 @@ 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 301ae164ec..51b52163d6 100644 --- a/t/slice.t +++ b/t/slice.t @@ -8,6 +8,7 @@ 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/support.t b/t/support.t index 3eba6e64b7..33e5d9cb39 100644 --- a/t/support.t +++ b/t/support.t @@ -5,6 +5,7 @@ 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 9299eeefa8..6092efe248 100644 --- a/t/svg.t +++ b/t/svg.t @@ -5,6 +5,7 @@ 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 5146148025..2d256d2864 100644 --- a/t/thin.t +++ b/t/thin.t @@ -5,6 +5,7 @@ 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 106a68af55..7fcd86f0ec 100644 --- a/t/threads.t +++ b/t/threads.t @@ -5,6 +5,7 @@ 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 7bfa27acb0..1a5488a6ec 100644 --- a/t/vibrationlimit.t +++ b/t/vibrationlimit.t @@ -5,6 +5,7 @@ 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 b421dd33a0..f9599704fb 100755 --- a/utils/amf-to-stl.pl +++ b/utils/amf-to-stl.pl @@ -7,6 +7,7 @@ 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 beecd666fc..e1d7f61435 100755 --- a/utils/config-bundle-to-config.pl +++ b/utils/config-bundle-to-config.pl @@ -9,6 +9,7 @@ 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 08b4d750ae..0c7f609dec 100644 --- a/utils/dump-stl.pl +++ b/utils/dump-stl.pl @@ -8,6 +8,7 @@ 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 4d9619e4cb..b94a2fc4b5 100644 --- a/utils/gcode_sectioncut.pl +++ b/utils/gcode_sectioncut.pl @@ -7,6 +7,7 @@ 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 fa7612bb1d..30c41ae452 100755 --- a/utils/pdf-slices.pl +++ b/utils/pdf-slices.pl @@ -7,6 +7,7 @@ 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 989b17872c..0b803baa6d 100644 --- a/utils/send-gcode.pl +++ b/utils/send-gcode.pl @@ -6,6 +6,7 @@ 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 8e7d957a4d..e9990b8fc6 100755 --- a/utils/split_stl.pl +++ b/utils/split_stl.pl @@ -7,6 +7,7 @@ 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 e1adec7ce7..f4e133ce15 100755 --- a/utils/stl-to-amf.pl +++ b/utils/stl-to-amf.pl @@ -7,6 +7,7 @@ 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 687a56224e..36461534e1 100644 --- a/utils/view-mesh.pl +++ b/utils/view-mesh.pl @@ -7,6 +7,7 @@ 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 4bbbaab4c6..d4c47f0720 100755 --- a/utils/view-toolpaths.pl +++ b/utils/view-toolpaths.pl @@ -7,6 +7,7 @@ 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 053581dec3..f49b66e56b 100644 --- a/utils/wireframe.pl +++ b/utils/wireframe.pl @@ -8,6 +8,7 @@ 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);