# SPDX-License-Identifier: APGL-3.0 # Maintainer: Dominic git at msrd0 dot de # Maintainer: Lukas1818 aur at lukas1818 dot de pkgname=superslicer-prerelease pkgver=2.7.61.0 _pkgtag=$pkgver # https://github.com/supermerill/SuperSlicer/blob/2.7.61.0/deps/%2BLibBGCode/LibBGCode.cmake _libbgcode=6f43cb004ef3d3bda37dde49f6235e24d2717629 pkgrel=1 epoch=1 pkgdesc="G-code generator for 3D printers (RepRap, Makerbot, Ultimaker etc.)" arch=("$CARCH") url="https://github.com/supermerill/SuperSlicer" license=('AGPL3') options=(!emptydirs) depends=( 'boost-libs>=1.85.0' 'cgal' 'glew' 'imath' 'heatshrink' 'libspnav' 'nlopt' 'openvdb' 'qhull>=2020.2-4' 'slicer-udev' 'wxwidgets-gtk3' ) makedepends=( 'boost>=1.85.0' 'cereal>=1.3.0' 'cmake' 'eigen' 'libigl' 'ninja' 'openvdb' ) optdepends=('superslicer-profiles: Predefined printer profiles') provides=("superslicer=$epoch:$pkgver") conflicts=('superslicer' 'superslicer-git') source=("https://github.com/supermerill/SuperSlicer/archive/$_pkgtag.tar.gz" "https://github.com/prusa3d/libbgcode/archive/$_libbgcode.tar.gz" "0001-findwxwidgets.patch" "0002-addlib-expat.patch" "0003-openexr3.patch" "0004-fix-opencascade-version-check.patch" "0005-fix-opencascade-libs.patch" "0008-boost1.85.patch" "0009-fix-multiple-choice.patch" "0010-occtwrapper-install-dir.patch" "0011-fix-constructible-svgfile.patch" "0012-boost1.87.patch") sha512sums=('0d72bf61adcafe8eef2ed860449dc25ca295ba0732d956bff8c0ae50b381387b803fd88241ab855a9b38daf8f5eaa4c41d17241b8c15c66d63576874179aa1c0' '04cb7cb69d887e1fa5ced5c0219b0ee6cab81f09d1bc1226ebd26563e2ce60b85fb6e5aef11a36dffd3e00779849906fc5c19ad2cdd22d45360226912b6af31b' 'd910cf1fc07219b6c776240eae0f203813368e69b6a0215bcdcabba385531744093b6214b21d0dffbafa8992d3549c96bbdb02e939c52a4e81dbce98389397f9' '93a943eb9be52085a811d7cc8379dc5a3942befdc3d19eecf6310f8dfcfdef72bfa15dfcb85ac1f4f9d7731c973b9815a532ae444e3fe275f8f624825fe8e98b' '840e51b8feb3568ff46d309ece063f7188018fcaa43d19ec50ede408fdf2c237a3b7eaa11ba24409d8c3f7d6f5fb270181508cc56e0b2b0fef68b766130ef1eb' '8512ace14c71b04eb98532e71592447475cf7feccf1c85f376487615c8a95f6afa645e4581f577ee26d91532c57f389eac7534a875d5a24e871f3ef593af33c9' 'a01abf748f82bc423f2c012ac430f78cfd5e56dede1d5999376e780267d0302d9a2a80c3eb15226c2f82102dda4c567c721ff99ab1fdeef504cbf9d9cb63ca53' 'ca9f407d87d8dd0181077bc2da5a8e2f8995eed88a4787b73ee6c62ef6d2380fd1394fe5412cdc34276d4182bce6f272173e9ccb653d1e28978e16f379114002' '6d7ab93042a75f04e1c3c8f294d19dd39abaf22aa75caf996c6a0cf753f6472134a3d4fa443b73924800b2d3a710416a931745c168911c0df3709fb71ec00570' '92929ba1cb6ee104a10f34a649eba3789ca02f1725104a57412279ff68c46614b1812b13e7dcdf0d235618b9f2a868b4798b1404d9e712d9f1efd46e6c71fcb5' '03dbbb8e1bc1422104c644c9eb37dc72c6ce50733eac70fe44a76b0345d1882ebd71f11af3358f8392402dda627d520cfe7c2ddf1257d1b891c6b60faf7c8182' '29c8d60ef3b04d8bc950e5bef615543d3fb66b182338106dedbe2656ecdb6d95413044b73748a488548a4fd8202a0799be6b648ff9354de7c2d8bd11029d0a9d') _apply_patches() { for patch in "${@}" do msg2 "Applying patch $patch" patch -Np1 -i "$patch" done } prepare() { cd "$srcdir/libbgcode-$_libbgcode" rm -rf build mkdir -p build cd "$srcdir/SuperSlicer-$_pkgtag" rm -rf build # build fails everytime if it isn't a clean build?!? mkdir -p build # disabling tests is not enough, we need to remove them explicitly sed -i 's,add_subdirectory(test),,g' src/CMakeLists.txt # apply patches for superslicer _apply_patches \ "$srcdir/0001-findwxwidgets.patch" \ "$srcdir/0002-addlib-expat.patch" \ "$srcdir/0003-openexr3.patch" \ "$srcdir/0004-fix-opencascade-version-check.patch" \ "$srcdir/0005-fix-opencascade-libs.patch" \ "$srcdir/0008-boost1.85.patch" \ "$srcdir/0009-fix-multiple-choice.patch" \ "$srcdir/0010-occtwrapper-install-dir.patch" \ "$srcdir/0011-fix-constructible-svgfile.patch" \ "$srcdir/0012-boost1.87.patch" } build() { msg2 "Building libbgcode" cd "$srcdir/libbgcode-$_libbgcode" cd build cmake .. \ -G Ninja \ -DCMAKE_BUILD_TYPE=None \ -DCMAKE_INSTALL_PREFIX= \ -DLibBGCode_BUILD_CMD_TOOL=OFF \ -DLibBGCode_BUILD_TESTS=OFF \ -Wno-dev ninja mkdir destdir DESTDIR=destdir ninja install export "CMAKE_PREFIX_PATH=$PWD/destdir:$CMAKE_PREFIX_PATH" msg2 "Building SuperSlicer" cd "$srcdir/SuperSlicer-$_pkgtag" cd build cmake .. -DCMAKE_MESSAGE_LOG_LEVEL=DEBUG \ -G Ninja \ -DCMAKE_BUILD_TYPE=None \ -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 \ -DSLIC3R_ALPHA=ON \ -Wno-dev ninja } package() { cd "$srcdir/SuperSlicer-$_pkgtag/build" DESTDIR="$pkgdir" samu install test ! -h "$pkgdir/usr/share/SuperSlicer/resources" || rm "$pkgdir/usr/share/SuperSlicer/resources" rm -r "$pkgdir/usr/lib/udev" # provided by slicer-udev }