commit 98bfd21922b876166257c7334f8a844fe311769c Author: Dominic Date: Fri Apr 3 02:16:54 2020 +0200 version 2.2.47.1 diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 0000000..5316129 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,30 @@ +pkgbase = slic3r++ + pkgdesc = G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.) + pkgver = 2.2.47.1 + pkgrel = 1 + url = https://github.com/supermerill/Slic3r + arch = x86_64 + license = AGPL3 + makedepends = boost + makedepends = cereal + makedepends = cmake + makedepends = eigen + makedepends = libigl + makedepends = openvdb + makedepends = wxgtk2 + depends = boost-libs + depends = glew + depends = nlopt + depends = qhull + depends = wxgtk3 + source = https://github.com/supermerill/Slic3r/archive/2.2.47.1.tar.gz + source = slic3r++.desktop + source = 0001-PrintObject-no-return.patch + source = 0002-wxgtk3-is-broken-on-wayland.patch + sha512sums = 47a36014f3b34b68ef190bf1e904b5dcc69d2a7e695d732bd2a0583fd30ea02693a6298db96f2a4eead6f2c51b076b03faf56963e8fa3b6d9c3c647342adb237 + sha512sums = 2f9e364724e28e26c328b83cbf76c6d05544469c3ae14324ae11a1c97fc11878d1f892674ddc6440d14d8bfbca80ba8fc0dcbaa7cf3b7420e91962ee9582b8a2 + sha512sums = cbeae074b5c395e34615aa19a35cf7a83ea479a35ea1e8dadc435650eeb8dc8933c01ab94e1b9f6cbebde49017f9d3ef21c2b16b0d31057e4965fdb5fd6dd44d + sha512sums = acf35ebe467e9fb30f1b77d15348f1a7b82dcf45a5b829e375e972b5d6b49968603b3fa090c4d1f56e8b5148e2b820e79afa269da60ace70de1ceadcf6e820c5 + +pkgname = slic3r++ + diff --git a/0001-PrintObject-no-return.patch b/0001-PrintObject-no-return.patch new file mode 100644 index 0000000..f1fdbf5 --- /dev/null +++ b/0001-PrintObject-no-return.patch @@ -0,0 +1,12 @@ +diff --git a/src/libslic3r/PrintObject.cpp b/src/libslic3r/PrintObject.cpp +index d7d4f0799..94cf4dbed 100644 +--- a/src/libslic3r/PrintObject.cpp ++++ b/src/libslic3r/PrintObject.cpp +@@ -2491,6 +2491,7 @@ ExPolygons PrintObject::_smooth_curves(const ExPolygons & input, const PrintRegi + } + return new_polys; + } ++ return ExPolygons(); + } + + // To be used only if there are no layer span specific configurations applied, which would lead to z ranges being generated for this region. diff --git a/0002-wxgtk3-is-broken-on-wayland.patch b/0002-wxgtk3-is-broken-on-wayland.patch new file mode 100644 index 0000000..b0371b4 --- /dev/null +++ b/0002-wxgtk3-is-broken-on-wayland.patch @@ -0,0 +1,21 @@ +diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp +index 4e85967a5..f141aabb5 100644 +--- a/src/slic3r/GUI/GUI.cpp ++++ b/src/slic3r/GUI/GUI.cpp +@@ -35,6 +35,16 @@ + + namespace Slic3r { namespace GUI { + ++// wxgtk3 is broken on wayland: https://trac.wxwidgets.org/ticket/17702 ++#ifdef __WXGTK3__ ++struct ForceX11 { ++ ForceX11() { ++ setenv("GDK_BACKEND", "x11", 1); ++ } ++}; ++static struct ForceX11 forcex11; ++#endif ++ + #if __APPLE__ + IOPMAssertionID assertionID; + #endif diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 0000000..2a944e5 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: Dominic Meiser git at msrd0 dot de + +pkgname=slic3r++ +pkgver=2.2.47.1 +pkgrel=1 +pkgdesc="G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)" +arch=('x86_64') +url="https://github.com/supermerill/Slic3r" +license=('AGPL3') +depends=('boost-libs' 'glew' 'nlopt' 'qhull' 'wxgtk3') +makedepends=('boost' 'cereal' 'cmake' 'eigen' 'libigl' 'openvdb' 'wxgtk2') # cmake doesn't detect wx if not both gtk2 and gtk3 are installed +source=("https://github.com/supermerill/Slic3r/archive/$pkgver.tar.gz" + "slic3r++.desktop" + "0001-PrintObject-no-return.patch" + "0002-wxgtk3-is-broken-on-wayland.patch") +sha512sums=('47a36014f3b34b68ef190bf1e904b5dcc69d2a7e695d732bd2a0583fd30ea02693a6298db96f2a4eead6f2c51b076b03faf56963e8fa3b6d9c3c647342adb237' + '2f9e364724e28e26c328b83cbf76c6d05544469c3ae14324ae11a1c97fc11878d1f892674ddc6440d14d8bfbca80ba8fc0dcbaa7cf3b7420e91962ee9582b8a2' + 'cbeae074b5c395e34615aa19a35cf7a83ea479a35ea1e8dadc435650eeb8dc8933c01ab94e1b9f6cbebde49017f9d3ef21c2b16b0d31057e4965fdb5fd6dd44d' + 'acf35ebe467e9fb30f1b77d15348f1a7b82dcf45a5b829e375e972b5d6b49968603b3fa090c4d1f56e8b5148e2b820e79afa269da60ace70de1ceadcf6e820c5') + +prepare() +{ + cd "$srcdir/Slic3r-$pkgver" + + # disabling tests is not enough, we need to remove them explicitly + sed -i 's,add_subdirectory(test),,g' src/CMakeLists.txt + + # apply patches + patch --forward --strip=1 --input="$srcdir/0001-PrintObject-no-return.patch" + patch --forward --strip=1 --input="$srcdir/0002-wxgtk3-is-broken-on-wayland.patch" +} + +build() +{ + cd "$srcdir/Slic3r-$pkgver" + mkdir -p build + cd build + + cmake .. \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_INSTALL_PREFIX=/usr \ + -DOpenGL_GL_PREFERENCE=GLVND \ + -DSLIC3R_FHS=ON \ + -DSLIC3R_STATIC=OFF \ + -DSLIC3R_WX_STABLE=ON \ + -DSLIC3R_GTK=3 \ + -DSLIC3R_BUILD_TESTS=OFF + make +} + +package() +{ + cd "$srcdir/Slic3r-$pkgver/build" + + make DESTDIR="$pkgdir" install + rm "$pkgdir/usr/share/slic3r++/resources" + + install -d "$pkgdir/usr/share/applications" + install -m 644 "$srcdir/slic3r++.desktop" "$pkgdir/usr/share/applications/" +} diff --git a/slic3r++.desktop b/slic3r++.desktop new file mode 100644 index 0000000..4feda0d --- /dev/null +++ b/slic3r++.desktop @@ -0,0 +1,9 @@ +[Desktop Entry] +Name=Slic3r++ +Comment=G-code generator for 3D printers +Exec=slic3r++ +Icon=/usr/share/slic3r++/icons/Slic3r_192px.png +Terminal=0 +Type=Application +Encoding=UTF-8 +Categories=Development;Application;