summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-gfx/prusaslicer/Manifest1
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch48
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.5.0_rc1.ebuild83
3 files changed, 132 insertions, 0 deletions
diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest
index 0aa6f5851865..89a7b1db4bb9 100644
--- a/media-gfx/prusaslicer/Manifest
+++ b/media-gfx/prusaslicer/Manifest
@@ -1 +1,2 @@
DIST prusaslicer-2.5.0_alpha2.tar.gz 48053741 BLAKE2B 161462ee4dc061ee1816c165b0e85688bcce1ee010451f3d6d724a71526ccea4eb006c9610124ec006ff19b030af2fcb74993016658069222d98152f29660c7e SHA512 8c29d79349e834df284374131659b863d1df592ee5304f2bae7cdbe1825feac465eaf78e0932d4184f4077a44d6add3194db31f12c5202cb064020fbaf4beecd
+DIST prusaslicer-2.5.0_rc1.tar.gz 48525654 BLAKE2B 7853246d9fbc0709bc88cf3693b088edf70da9adf3d1015f79248f7edbed03b1fff21a396bea485812f08a0927e86797d77c30f150c550665ff2bf0fd660619d SHA512 5a5c2afa3f245ae6fb2486cee72ac78c6905be3e322cbdbd552de88c5220f6b18ae9db03a8e7e5c6e85e5639474d5e564c1b9a63d1e7ad9268fd8f579ba14b90
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch b/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch
new file mode 100644
index 000000000000..29e01422b41f
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch
@@ -0,0 +1,48 @@
+--- a/src/CMakeLists.txt (revision 6690d49beacd48f74bdc75633cb1e7a2280bbcfd)
++++ b/src/CMakeLists.txt (date 1661704655632)
+@@ -127,7 +127,7 @@
+ set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
+ endif ()
+
+-target_link_libraries(PrusaSlicer libslic3r cereal)
++target_link_libraries(PrusaSlicer libslic3r cereal::cereal)
+
+ if (APPLE)
+ # add_compile_options(-stdlib=libc++)
+--- a/src/slic3r/CMakeLists.txt (revision 6690d49beacd48f74bdc75633cb1e7a2280bbcfd)
++++ b/src/slic3r/CMakeLists.txt (date 1661704724566)
+@@ -260,7 +260,7 @@
+
+ encoding_check(libslic3r_gui)
+
+-target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
++target_link_libraries(libslic3r_gui libslic3r avrdude cereal::cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
+
+ if (MSVC)
+ target_link_libraries(libslic3r_gui Setupapi.lib)
+--- a/src/libslic3r/CMakeLists.txt (revision 6690d49beacd48f74bdc75633cb1e7a2280bbcfd)
++++ b/src/libslic3r/CMakeLists.txt (date 1661704699199)
+@@ -395,7 +395,7 @@
+ target_link_libraries(libslic3r
+ libnest2d
+ admesh
+- cereal
++ cereal::cereal
+ libigl
+ miniz
+ boost_libs
+--- a/CMakeLists.txt (revision 6690d49beacd48f74bdc75633cb1e7a2280bbcfd)
++++ b/CMakeLists.txt (date 1661704556468)
+@@ -446,6 +446,12 @@
+
+ # Find the Cereal serialization library
+ find_package(cereal REQUIRED)
++add_library(libcereal INTERFACE)
++if (NOT TARGET cereal::cereal)
++ target_link_libraries(libcereal INTERFACE cereal)
++else()
++ target_link_libraries(libcereal INTERFACE cereal::cereal)
++endif()
+
+ # l10n
+ set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization")
diff --git a/media-gfx/prusaslicer/prusaslicer-2.5.0_rc1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.5.0_rc1.ebuild
new file mode 100644
index 000000000000..f99c7d8cc487
--- /dev/null
+++ b/media-gfx/prusaslicer/prusaslicer-2.5.0_rc1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.0-gtk3"
+MY_PN="PrusaSlicer"
+MY_PV="$(ver_rs 3 -)"
+
+inherit cmake wxwidgets xdg
+
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
+HOMEPAGE="https://www.prusa3d.com/prusaslicer/"FastSweepingDomain
+SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+
+RESTRICT="test"
+
+RDEPEND="
+ dev-cpp/eigen:3
+ dev-cpp/tbb:=
+ >=dev-libs/boost-1.73.0:=[nls,threads(+)]
+ dev-libs/cereal
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/gmp:=
+ dev-libs/mpfr:=
+ dev-libs/imath:=
+ >=media-gfx/openvdb-8.2:=
+ net-misc/curl[adns]
+ media-libs/glew:0=
+ media-libs/libpng:0=
+ media-libs/qhull:=
+ sci-libs/libigl
+ sci-libs/nlopt
+ >=sci-mathematics/cgal-5.0:=
+ sys-apps/dbus
+ sys-libs/zlib:=
+ virtual/glu
+ virtual/opengl
+ x11-libs/gtk+:3
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+"
+DEPEND="${RDEPEND}
+ media-libs/qhull[static-libs]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.5.0_alpha2-boost-fixes.patch"
+ "${FILESDIR}/${P}-cereal-1.3.1.patch"
+)
+
+S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
+
+src_prepare() {
+ sed -i -e 's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g' version.inc || die
+ cmake_src_prepare
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE="Release"
+
+ setup-wxwidgets
+
+ local mycmakeargs=(
+ -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB"
+
+ -DSLIC3R_BUILD_TESTS=$(usex test)
+ -DSLIC3R_FHS=ON
+ -DSLIC3R_GTK=3
+ -DSLIC3R_GUI=ON
+ -DSLIC3R_PCH=OFF
+ -DSLIC3R_STATIC=OFF
+ -DSLIC3R_WX_STABLE=ON
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}