Package: release.debian.org Severity: normal Tags: stretch User: [email protected] Usertags: pu
Next round for slic3r ... more searchpath fixes to find Slic3r.pm in the private library directory, #886125. Since all the additional fixes from unstable looked sane and worthwile to have in stable, I just rebuilt the sid package, like last time. Andreas
diff -Nru slic3r-1.2.9+dfsg/debian/changelog slic3r-1.2.9+dfsg/debian/changelog --- slic3r-1.2.9+dfsg/debian/changelog 2017-11-27 04:09:35.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/changelog 2018-01-15 13:39:54.000000000 +0100 @@ -1,3 +1,32 @@ +slic3r (1.2.9+dfsg-9~deb9u1) stretch; urgency=medium + + * Non-maintainer upload. + * Rebuild for stretch. + + -- Andreas Beckmann <[email protected]> Mon, 15 Jan 2018 13:39:54 +0100 + +slic3r (1.2.9+dfsg-9) unstable; urgency=medium + + * [1ae29f4] Patch "use lib" line in all installed binaries (Closes: #886125) + + -- Chow Loong Jin <[email protected]> Fri, 05 Jan 2018 17:30:58 +0800 + +slic3r (1.2.9+dfsg-8) unstable; urgency=medium + + * [c1b29a0] Acknowledge NMU (Closes: #869360) + + -- Chow Loong Jin <[email protected]> Mon, 09 Oct 2017 23:00:52 +0800 + +slic3r (1.2.9+dfsg-7) unstable; urgency=medium + + * [e77c05d] Fill up slic3r.desktop so that it can be used to open stl files + * [9438384] Import patches to fix bugs. + - Workaround missing GL_MULTISAMPLE macro (Closes: #872273) + - Fix importing binary STLs on big-endian architectures + * [99cbb39] Bump Standards-Version + + -- Chow Loong Jin <[email protected]> Tue, 03 Oct 2017 01:52:16 +0800 + slic3r (1.2.9+dfsg-6.1~deb9u1) stretch; urgency=medium * Non-maintainer upload. diff -Nru slic3r-1.2.9+dfsg/debian/control slic3r-1.2.9+dfsg/debian/control --- slic3r-1.2.9+dfsg/debian/control 2016-11-03 03:23:40.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/control 2018-01-05 10:30:58.000000000 +0100 @@ -27,7 +27,7 @@ xfonts-base, xvfb, xauth -Standards-Version: 3.9.8 +Standards-Version: 4.1.0 Homepage: http://slic3r.org/ Vcs-Git: https://anonscm.debian.org/git/3dprinter/packages/slic3r.git Vcs-Browser: https://anonscm.debian.org/git/3dprinter/packages/slic3r.git diff -Nru slic3r-1.2.9+dfsg/debian/patches/Add-usr-lib-slic3r-to-lib-search-path.patch slic3r-1.2.9+dfsg/debian/patches/Add-usr-lib-slic3r-to-lib-search-path.patch --- slic3r-1.2.9+dfsg/debian/patches/Add-usr-lib-slic3r-to-lib-search-path.patch 2016-11-03 03:23:40.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/patches/Add-usr-lib-slic3r-to-lib-search-path.patch 2018-01-05 10:30:58.000000000 +0100 @@ -3,8 +3,18 @@ Subject: Add /usr/lib/slic3r to lib search path --- - slic3r.pl | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) + slic3r.pl | 2 +- + utils/amf-to-stl.pl | 2 +- + utils/config-bundle-to-config.pl | 2 +- + utils/dump-stl.pl | 2 +- + utils/gcode_sectioncut.pl | 2 +- + utils/pdf-slices.pl | 2 +- + utils/split_stl.pl | 2 +- + utils/stl-to-amf.pl | 2 +- + utils/view-mesh.pl | 2 +- + utils/view-toolpaths.pl | 2 +- + utils/wireframe.pl | 2 +- + 11 files changed, 11 insertions(+), 11 deletions(-) diff --git a/slic3r.pl b/slic3r.pl index 0fbd3bb..6d63f30 100755 @@ -19,3 +29,133 @@ } use File::Basename qw(basename); +diff --git a/utils/amf-to-stl.pl b/utils/amf-to-stl.pl +index b421dd3..6e1127d 100755 +--- a/utils/amf-to-stl.pl ++++ b/utils/amf-to-stl.pl +@@ -6,7 +6,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use File::Basename qw(basename); +diff --git a/utils/config-bundle-to-config.pl b/utils/config-bundle-to-config.pl +index beecd66..1c5d6a6 100755 +--- a/utils/config-bundle-to-config.pl ++++ b/utils/config-bundle-to-config.pl +@@ -8,7 +8,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use Getopt::Long qw(:config no_auto_abbrev); +diff --git a/utils/dump-stl.pl b/utils/dump-stl.pl +index 08b4d75..aa08c4f 100644 +--- a/utils/dump-stl.pl ++++ b/utils/dump-stl.pl +@@ -7,7 +7,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use Slic3r; +diff --git a/utils/gcode_sectioncut.pl b/utils/gcode_sectioncut.pl +index 4d9619e..dffeed1 100644 +--- a/utils/gcode_sectioncut.pl ++++ b/utils/gcode_sectioncut.pl +@@ -6,7 +6,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use Getopt::Long qw(:config no_auto_abbrev); +diff --git a/utils/pdf-slices.pl b/utils/pdf-slices.pl +index fa7612b..123073d 100755 +--- a/utils/pdf-slices.pl ++++ b/utils/pdf-slices.pl +@@ -6,7 +6,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use Getopt::Long qw(:config no_auto_abbrev); +diff --git a/utils/split_stl.pl b/utils/split_stl.pl +index 8e7d957..e379da4 100755 +--- a/utils/split_stl.pl ++++ b/utils/split_stl.pl +@@ -6,7 +6,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use File::Basename qw(basename); +diff --git a/utils/stl-to-amf.pl b/utils/stl-to-amf.pl +index e1adec7..2175973 100755 +--- a/utils/stl-to-amf.pl ++++ b/utils/stl-to-amf.pl +@@ -6,7 +6,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use File::Basename qw(basename); +diff --git a/utils/view-mesh.pl b/utils/view-mesh.pl +index 687a562..d69ec6f 100644 +--- a/utils/view-mesh.pl ++++ b/utils/view-mesh.pl +@@ -6,7 +6,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use Getopt::Long qw(:config no_auto_abbrev); +diff --git a/utils/view-toolpaths.pl b/utils/view-toolpaths.pl +index 4bbbaab..bacc2ab 100755 +--- a/utils/view-toolpaths.pl ++++ b/utils/view-toolpaths.pl +@@ -6,7 +6,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use Getopt::Long qw(:config no_auto_abbrev); +diff --git a/utils/wireframe.pl b/utils/wireframe.pl +index 053581d..ada846e 100644 +--- a/utils/wireframe.pl ++++ b/utils/wireframe.pl +@@ -7,7 +7,7 @@ use warnings; + + BEGIN { + use FindBin; +- use lib "$FindBin::Bin/../lib"; ++ use lib "$FindBin::Bin/../lib", "/usr/lib/slic3r/"; + } + + use Getopt::Long qw(:config no_auto_abbrev); diff -Nru slic3r-1.2.9+dfsg/debian/patches/Fix-importing-of-binary-STLs-in-big-endian-architectures-.patch slic3r-1.2.9+dfsg/debian/patches/Fix-importing-of-binary-STLs-in-big-endian-architectures-.patch --- slic3r-1.2.9+dfsg/debian/patches/Fix-importing-of-binary-STLs-in-big-endian-architectures-.patch 1970-01-01 01:00:00.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/patches/Fix-importing-of-binary-STLs-in-big-endian-architectures-.patch 2018-01-05 10:30:58.000000000 +0100 @@ -0,0 +1,229 @@ +From: Chow Loong Jin <[email protected]> +Date: Tue, 3 Oct 2017 01:28:08 +0800 +Subject: Fix importing of binary STLs in big-endian architectures (#4143) + +Fix from https://github.com/admesh/admesh/pull/26 +Ported to Slic3r at https://github.com/alexrj/Slic3r/pull/4143 + +Forwarded: commit:b9592961fa7ad89bdb9a2b044934df2082a75400 +--- + xs/src/admesh/portable_endian.h | 123 ++++++++++++++++++++++++++++++++++++++++ + xs/src/admesh/stlinit.c | 38 ++++++++++--- + 2 files changed, 154 insertions(+), 7 deletions(-) + create mode 100644 xs/src/admesh/portable_endian.h + +diff --git a/xs/src/admesh/portable_endian.h b/xs/src/admesh/portable_endian.h +new file mode 100644 +index 0000000..f980de8 +--- /dev/null ++++ b/xs/src/admesh/portable_endian.h +@@ -0,0 +1,123 @@ ++/* portable_endian.h ++ * from https://gist.github.com/panzi/6856583 ++ * "License": Public Domain ++ * I, Mathias Panzenböck, place this file hereby into the public domain. Use it ++ * at your own risk for whatever you like. In case there are jurisdictions ++ * that don't support putting things in the public domain you can also consider ++ * it to be "dual licensed" under the BSD, MIT and Apache licenses, if you want ++ * to. This code is trivial anyway. Consider it an example on how to get the ++ * endian conversion functions on different platforms. ++ */ ++ ++#ifndef PORTABLE_ENDIAN_H__ ++#define PORTABLE_ENDIAN_H__ ++ ++#if (defined(_WIN16) || defined(_WIN32) || defined(_WIN64)) && !defined(__WINDOWS__) ++ ++# define __WINDOWS__ ++ ++#endif ++ ++#if defined(__linux__) || defined(__CYGWIN__) ++ ++# include <endian.h> ++ ++#elif defined(__APPLE__) ++ ++# include <libkern/OSByteOrder.h> ++ ++# define htobe16(x) OSSwapHostToBigInt16(x) ++# define htole16(x) OSSwapHostToLittleInt16(x) ++# define be16toh(x) OSSwapBigToHostInt16(x) ++# define le16toh(x) OSSwapLittleToHostInt16(x) ++ ++# define htobe32(x) OSSwapHostToBigInt32(x) ++# define htole32(x) OSSwapHostToLittleInt32(x) ++# define be32toh(x) OSSwapBigToHostInt32(x) ++# define le32toh(x) OSSwapLittleToHostInt32(x) ++ ++# define htobe64(x) OSSwapHostToBigInt64(x) ++# define htole64(x) OSSwapHostToLittleInt64(x) ++# define be64toh(x) OSSwapBigToHostInt64(x) ++# define le64toh(x) OSSwapLittleToHostInt64(x) ++ ++# define __BYTE_ORDER BYTE_ORDER ++# define __BIG_ENDIAN BIG_ENDIAN ++# define __LITTLE_ENDIAN LITTLE_ENDIAN ++# define __PDP_ENDIAN PDP_ENDIAN ++ ++#elif defined(__OpenBSD__) ++ ++# include <sys/endian.h> ++ ++#elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) ++ ++# include <sys/endian.h> ++ ++# define be16toh(x) betoh16(x) ++# define le16toh(x) letoh16(x) ++ ++# define be32toh(x) betoh32(x) ++# define le32toh(x) letoh32(x) ++ ++# define be64toh(x) betoh64(x) ++# define le64toh(x) letoh64(x) ++ ++#elif defined(__WINDOWS__) ++ ++/* # include <winsock2.h> */ ++# include <sys/param.h> ++ ++# if BYTE_ORDER == LITTLE_ENDIAN ++ ++# define htobe16(x) htons(x) ++# define htole16(x) (x) ++# define be16toh(x) ntohs(x) ++# define le16toh(x) (x) ++ ++# define htobe32(x) htonl(x) ++# define htole32(x) (x) ++# define be32toh(x) ntohl(x) ++# define le32toh(x) (x) ++ ++# define htobe64(x) htonll(x) ++# define htole64(x) (x) ++# define be64toh(x) ntohll(x) ++# define le64toh(x) (x) ++ ++# elif BYTE_ORDER == BIG_ENDIAN ++ ++ /* that would be xbox 360 */ ++# define htobe16(x) (x) ++# define htole16(x) __builtin_bswap16(x) ++# define be16toh(x) (x) ++# define le16toh(x) __builtin_bswap16(x) ++ ++# define htobe32(x) (x) ++# define htole32(x) __builtin_bswap32(x) ++# define be32toh(x) (x) ++# define le32toh(x) __builtin_bswap32(x) ++ ++# define htobe64(x) (x) ++# define htole64(x) __builtin_bswap64(x) ++# define be64toh(x) (x) ++# define le64toh(x) __builtin_bswap64(x) ++ ++# else ++ ++# error byte order not supported ++ ++# endif ++ ++# define __BYTE_ORDER BYTE_ORDER ++# define __BIG_ENDIAN BIG_ENDIAN ++# define __LITTLE_ENDIAN LITTLE_ENDIAN ++# define __PDP_ENDIAN PDP_ENDIAN ++ ++#else ++ ++# error platform not supported ++ ++#endif ++ ++#endif +diff --git a/xs/src/admesh/stlinit.c b/xs/src/admesh/stlinit.c +index e6f3556..ac30cad 100644 +--- a/xs/src/admesh/stlinit.c ++++ b/xs/src/admesh/stlinit.c +@@ -20,11 +20,13 @@ + * https://github.com/admesh/admesh/issues + */ + ++#include <stdint.h> + #include <stdio.h> + #include <stdlib.h> + #include <string.h> + #include <math.h> + ++#include "portable_endian.h" + #include "stl.h" + + #if !defined(SEEK_SET) +@@ -67,7 +69,7 @@ stl_initialize(stl_file *stl) { + void + stl_count_facets(stl_file *stl, char *file) { + long file_size; +- int header_num_facets; ++ uint32_t header_num_facets; + int num_facets; + int i, j; + size_t s; +@@ -127,7 +129,7 @@ stl_count_facets(stl_file *stl, char *file) { + } + + /* Read the int following the header. This should contain # of facets */ +- if((!fread(&header_num_facets, sizeof(int), 1, stl->fp)) || (num_facets != header_num_facets)) { ++ if((!fread(&header_num_facets, sizeof(uint32_t), 1, stl->fp)) || (uint32_t)num_facets != le32toh(header_num_facets)) { + fprintf(stderr, + "Warning: File size doesn't match number of facets in the header\n"); + } +@@ -262,7 +264,24 @@ stl_reallocate(stl_file *stl) { + void + stl_read(stl_file *stl, int first_facet, int first) { + stl_facet facet; +- int i; ++ int i, j; ++ const int facet_float_length = 12; ++ float *facet_floats[12]; ++ char facet_buffer[12 * sizeof(float)]; ++ uint32_t endianswap_buffer; /* for byteswapping operations */ ++ ++ facet_floats[0] = &facet.normal.x; ++ facet_floats[1] = &facet.normal.y; ++ facet_floats[2] = &facet.normal.z; ++ facet_floats[3] = &facet.vertex[0].x; ++ facet_floats[4] = &facet.vertex[0].y; ++ facet_floats[5] = &facet.vertex[0].z; ++ facet_floats[6] = &facet.vertex[1].x; ++ facet_floats[7] = &facet.vertex[1].y; ++ facet_floats[8] = &facet.vertex[1].z; ++ facet_floats[9] = &facet.vertex[2].x; ++ facet_floats[10] = &facet.vertex[2].y; ++ facet_floats[11] = &facet.vertex[2].z; + + if (stl->error) return; + +@@ -276,14 +295,19 @@ stl_read(stl_file *stl, int first_facet, int first) { + if(stl->stats.type == binary) + /* Read a single facet from a binary .STL file */ + { +- /* we assume little-endian architecture! */ +- if (fread(&facet.normal, sizeof(stl_normal), 1, stl->fp) \ +- + fread(&facet.vertex, sizeof(stl_vertex), 3, stl->fp) \ +- + fread(&facet.extra, sizeof(char), 2, stl->fp) != 6) { ++ if(fread(facet_buffer, sizeof(facet_buffer), 1, stl->fp) ++ + fread(&facet.extra, sizeof(char), 2, stl->fp) != 3) { + perror("Cannot read facet"); + stl->error = 1; + return; + } ++ ++ for(j = 0; j < facet_float_length; j++) { ++ /* convert LE float to host byte order */ ++ memcpy(&endianswap_buffer, facet_buffer + j * sizeof(float), 4); ++ endianswap_buffer = le32toh(endianswap_buffer); ++ memcpy(facet_floats[j], &endianswap_buffer, 4); ++ } + } else + /* Read a single facet from an ASCII .STL file */ + { diff -Nru slic3r-1.2.9+dfsg/debian/patches/Fix-incompatibility-with-boost160.patch slic3r-1.2.9+dfsg/debian/patches/Fix-incompatibility-with-boost160.patch --- slic3r-1.2.9+dfsg/debian/patches/Fix-incompatibility-with-boost160.patch 2016-11-03 03:23:40.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/patches/Fix-incompatibility-with-boost160.patch 2018-01-05 10:30:58.000000000 +0100 @@ -1,10 +1,18 @@ -Description: Support incompatible change in Boost 1.60 +From: Alessandro Ranellucci <[email protected]> +Date: Sun, 3 Dec 2017 03:39:33 -0800 +Subject: Support incompatible change in Boost 1.60 + Origin: upstream, https://github.com/alexrj/Slic3r/commit/f4a9fa6569722ef530fac995dc66ec8b6a3179ce -Author: Alessandro Ranellucci <[email protected]> Last-Update: 2016-03-14 +--- + xs/src/libslic3r/Point.hpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/xs/src/libslic3r/Point.hpp b/xs/src/libslic3r/Point.hpp +index f9850c7..04e2fc2 100644 --- a/xs/src/libslic3r/Point.hpp +++ b/xs/src/libslic3r/Point.hpp -@@ -124,11 +124,15 @@ +@@ -124,11 +124,15 @@ class Pointf3 : public Pointf } // start Boost @@ -20,7 +28,7 @@ template <> struct coordinate_traits<coord_t> { typedef coord_t coordinate_type; -@@ -138,6 +142,7 @@ +@@ -138,6 +142,7 @@ namespace boost { namespace polygon { typedef long long coordinate_difference; typedef long double coordinate_distance; }; @@ -28,4 +36,3 @@ template <> struct geometry_concept<Point> { typedef point_concept type; }; - diff -Nru slic3r-1.2.9+dfsg/debian/patches/Fix-return-value-for-deserialize.patch slic3r-1.2.9+dfsg/debian/patches/Fix-return-value-for-deserialize.patch --- slic3r-1.2.9+dfsg/debian/patches/Fix-return-value-for-deserialize.patch 2016-11-03 03:23:40.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/patches/Fix-return-value-for-deserialize.patch 2018-01-05 10:30:58.000000000 +0100 @@ -1,12 +1,22 @@ -Description: Fixed return value for deserialize() implementations - This fixes a FTBFS with GCC 6. +From: Alessandro Ranellucci <[email protected]> +Date: Sun, 3 Dec 2017 03:39:33 -0800 +Subject: Fixed return value for deserialize() implementations + +This fixes a FTBFS with GCC 6. + Origin: upstream, https://github.com/alexrj/Slic3r/commit/6e5938c8330b5bdb6b85c3ca8dc188605ee56b98 Bug-Debian: https://bugs.debian.org/811700 -Author: Alessandro Ranellucci <[email protected]> Last-Update: 2016-03-13 +--- + xs/src/libslic3r/Config.cpp | 5 ++++- + xs/src/libslic3r/Config.hpp | 12 ++++++++---- + 2 files changed, 12 insertions(+), 5 deletions(-) + +diff --git a/xs/src/libslic3r/Config.cpp b/xs/src/libslic3r/Config.cpp +index d1c51ac..6ffd9c9 100644 --- a/xs/src/libslic3r/Config.cpp +++ b/xs/src/libslic3r/Config.cpp -@@ -23,7 +23,10 @@ +@@ -23,7 +23,10 @@ ConfigBase::apply(const ConfigBase &other, bool ignore_nonexistent) { // not the most efficient way, but easier than casting pointers to subclasses bool res = my_opt->deserialize( other.option(*it)->serialize() ); @@ -18,9 +28,11 @@ } } +diff --git a/xs/src/libslic3r/Config.hpp b/xs/src/libslic3r/Config.hpp +index 49e999b..b8769a1 100644 --- a/xs/src/libslic3r/Config.hpp +++ b/xs/src/libslic3r/Config.hpp -@@ -65,7 +65,8 @@ +@@ -65,7 +65,8 @@ class ConfigOptionFloat : public ConfigOption bool deserialize(std::string str) { std::istringstream iss(str); @@ -30,7 +42,7 @@ }; }; -@@ -124,7 +125,8 @@ +@@ -124,7 +125,8 @@ class ConfigOptionInt : public ConfigOption bool deserialize(std::string str) { std::istringstream iss(str); @@ -40,7 +52,7 @@ }; }; -@@ -249,7 +251,8 @@ +@@ -249,7 +251,8 @@ class ConfigOptionPercent : public ConfigOption bool deserialize(std::string str) { // don't try to parse the trailing % since it's optional std::istringstream iss(str); @@ -50,7 +62,7 @@ }; }; -@@ -279,7 +282,8 @@ +@@ -279,7 +282,8 @@ class ConfigOptionFloatOrPercent : public ConfigOption bool deserialize(std::string str) { this->percent = str.find_first_of("%") != std::string::npos; std::istringstream iss(str); @@ -60,4 +72,3 @@ }; }; - diff -Nru slic3r-1.2.9+dfsg/debian/patches/Workaround-missing-GL_MULTISAMPLE-macro.patch slic3r-1.2.9+dfsg/debian/patches/Workaround-missing-GL_MULTISAMPLE-macro.patch --- slic3r-1.2.9+dfsg/debian/patches/Workaround-missing-GL_MULTISAMPLE-macro.patch 1970-01-01 01:00:00.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/patches/Workaround-missing-GL_MULTISAMPLE-macro.patch 2018-01-05 10:30:58.000000000 +0100 @@ -0,0 +1,38 @@ +From: Chow Loong Jin <[email protected]> +Date: Tue, 3 Oct 2017 01:20:40 +0800 +Subject: Workaround missing GL_MULTISAMPLE macro + +Bug-Debian: https://bugs.debian.org/bugreport.cgi?bug=872273 +Bug: https://github.com/alexrj/Slic3r/issues/4085 +Forwarded: https://github.com/prusa3d/Slic3r/commit/888a904c9b484289318737ec583ac0794dfa84f7 + https://github.com/prusa3d/Slic3r/commit/6d4ec5c989851e442d58f896d4b0324129e7514a +From: Vojtech Bubnik <[email protected]> +--- + lib/Slic3r/GUI/3DScene.pm | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/lib/Slic3r/GUI/3DScene.pm b/lib/Slic3r/GUI/3DScene.pm +index 7628a6c..d3aa461 100644 +--- a/lib/Slic3r/GUI/3DScene.pm ++++ b/lib/Slic3r/GUI/3DScene.pm +@@ -616,7 +616,10 @@ sub InitGL { + # Set antialiasing/multisampling + glDisable(GL_LINE_SMOOTH); + glDisable(GL_POLYGON_SMOOTH); +- glEnable(GL_MULTISAMPLE); ++ eval { ++ glEnable(GL_MULTISAMPLE); ++ }; ++ my $have_multisample = !$@; + + # ambient lighting + glLightModelfv_p(GL_LIGHT_MODEL_AMBIENT, 0.3, 0.3, 0.3, 1); +@@ -641,7 +644,7 @@ sub InitGL { + # A handy trick -- have surface material mirror the color. + glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); + glEnable(GL_COLOR_MATERIAL); +- glEnable(GL_MULTISAMPLE); ++ glEnable(GL_MULTISAMPLE) if $have_multisample; + } + + sub Render { diff -Nru slic3r-1.2.9+dfsg/debian/patches/series slic3r-1.2.9+dfsg/debian/patches/series --- slic3r-1.2.9+dfsg/debian/patches/series 2016-11-03 03:23:40.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/patches/series 2018-01-05 10:30:58.000000000 +0100 @@ -3,3 +3,5 @@ Fix-incompatibility-with-boost160.patch Fix-return-value-for-deserialize.patch Add-usr-lib-slic3r-to-lib-search-path.patch +Workaround-missing-GL_MULTISAMPLE-macro.patch +Fix-importing-of-binary-STLs-in-big-endian-architectures-.patch diff -Nru slic3r-1.2.9+dfsg/debian/slic3r.desktop slic3r-1.2.9+dfsg/debian/slic3r.desktop --- slic3r-1.2.9+dfsg/debian/slic3r.desktop 2016-11-03 03:23:40.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/slic3r.desktop 2018-01-05 10:30:58.000000000 +0100 @@ -3,7 +3,9 @@ Type=Application Name=Slic3r Icon=slic3r -Exec=slic3r +Exec=slic3r --gui %F Keywords=perl;slice;3D;printer;convert;gcode;stl;obj;amf; StartupNotify=false -StartupWMClass=Slic3r.pl +StartupWMClass=slic3r +MimeType=application/sla;model/x-wavefront-obj;model/x-geomview-off;application/x-amf; +Categories=Development;Engineering; diff -Nru slic3r-1.2.9+dfsg/debian/slic3r.sharedmimeinfo slic3r-1.2.9+dfsg/debian/slic3r.sharedmimeinfo --- slic3r-1.2.9+dfsg/debian/slic3r.sharedmimeinfo 1970-01-01 01:00:00.000000000 +0100 +++ slic3r-1.2.9+dfsg/debian/slic3r.sharedmimeinfo 2018-01-05 10:30:58.000000000 +0100 @@ -0,0 +1,22 @@ +<?xml version="1.0" encoding="UTF-8"?> +<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> + <mime-type type="application/sla"> + <comment>Stereolithography File Format</comment> + <glob pattern="*.stl"/> + </mime-type> + <mime-type type="model/x-wavefront-obj"> + <comment>Wavefront Object File</comment> + <glob pattern="*.obj"/> + </mime-type> + <mime-type type="model/x-geomview-off"> + <comment>Geomview Object File Format</comment> + <glob pattern="*.off"/> + <magic priority="50"> + <match value="OFF" type="string" offset="0"/> + </magic> + </mime-type> + <mime-type type="application/x-amf"> + <comment>Additive Manufacturing File Format</comment> + <glob pattern="*.amf"/> + </mime-type> +</mime-info>

