diff options
-rw-r--r-- | media-gfx/prusaslicer/Manifest | 1 | ||||
-rw-r--r-- | media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch | 13 | ||||
-rw-r--r-- | media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild | 113 |
3 files changed, 117 insertions, 10 deletions
diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest index 1d0a10b8a015..a1d14e59d466 100644 --- a/media-gfx/prusaslicer/Manifest +++ b/media-gfx/prusaslicer/Manifest @@ -1 +1,2 @@ DIST prusaslicer-2.8.0.tar.gz 69806919 BLAKE2B b87c63ae411814dbffc8ae96c243bf06018d600db732ef32f7c766ce6bdf156b0aca6da90868482f39b9c6421c6a386bccc9f69e23218dadc07f1bcdb21b9793 SHA512 d98b43e9e1a6da9cbab46b2564da02fc0f8521d84a4df915d0ffd0878ee1a25afebe7078e38b124ec8565782379c51a7f9564462652ef1a7d9819d29297c1937 +DIST prusaslicer-2.8.1.tar.gz 69409077 BLAKE2B dd3ee810ea00d03f1790386d1fe1fd044c038429700cd33f21299abdf5def12902f7a07c23aa3d2a6cfc5e18d1e2534080889d4a33beefb493a504978a742453 SHA512 0471fa579a494d66e6b49c0bc1a9fa91f3a5f9147d8b7fa8133c6f03391f8daddddb19ed222d1be44f6f22e2de3021f3fb839331e3c3ccdf5643caa8a61d6912 diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch index b4a92de67ab6..f550c53d3f42 100644 --- a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch +++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-fstream.patch @@ -11,7 +11,7 @@ --- a/src/slic3r/GUI/PresetArchiveDatabase.cpp +++ b/src/slic3r/GUI/PresetArchiveDatabase.cpp -@@ -514,7 +514,7 @@ void PresetArchiveDatabase::load_app_manifest_json() +@@ -515,7 +515,7 @@ void PresetArchiveDatabase::load_app_manifest_json() if (!fs::exists(path, ec) || ec) { copy_initial_manifest(); } @@ -20,7 +20,7 @@ std::string data; if (file.is_open()) { std::string line; -@@ -681,7 +681,7 @@ void PresetArchiveDatabase::save_app_manifest_json() const +@@ -682,7 +682,7 @@ void PresetArchiveDatabase::save_app_manifest_json() const data += "]"; std::string path = get_stored_manifest_path().string(); @@ -29,16 +29,9 @@ if (file.is_open()) { file << data; file.close(); -@@ -916,4 +916,4 @@ void PresetArchiveDatabase::sync_blocking() - read_server_manifest(std::move(manifest)); - } - --}} // Slic3r::GUI -\ No newline at end of file -+}} // Slic3r::GUI --- a/src/slic3r/Utils/Http.cpp +++ b/src/slic3r/Utils/Http.cpp -@@ -301,7 +301,7 @@ void Http::priv::form_add_file(const char *name, const fs::path &path, const cha +@@ -302,7 +302,7 @@ void Http::priv::form_add_file(const char *name, const fs::path &path, const cha //FIXME may throw! Is the caller aware of it? void Http::priv::set_post_body(const fs::path &path) { diff --git a/media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild new file mode 100644 index 000000000000..fbf13e9d7d66 --- /dev/null +++ b/media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild @@ -0,0 +1,113 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER="3.2-gtk3" +MY_PN="PrusaSlicer" +MY_PV="$(ver_rs 3 -)" + +inherit cmake wxwidgets xdg + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/prusa3d/prusaslicer.git" +else + SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64 ~arm64 ~x86" + S="${WORKDIR}/${MY_PN}-version_${MY_PV}" +fi + +DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)" +HOMEPAGE="https://www.prusa3d.com/prusaslicer/" + +LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT" +SLOT="0" +IUSE="test" + +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-cpp/eigen:3 + dev-cpp/tbb:= + dev-libs/boost:=[nls] + dev-libs/cereal + dev-libs/expat + dev-libs/glib:2 + dev-libs/gmp:= + dev-libs/mpfr:= + media-gfx/openvdb:= + media-gfx/libbgcode + net-misc/curl[adns] + media-libs/glew:0= + media-libs/libjpeg-turbo:= + media-libs/libpng:0= + media-libs/qhull:= + sci-libs/libigl + sci-libs/nlopt + sci-libs/opencascade:= + sci-mathematics/cgal:= + sys-apps/dbus + sys-libs/zlib:= + virtual/opengl + x11-libs/gtk+:3 + >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl,webkit] + media-libs/nanosvg:= +" +DEPEND="${RDEPEND} + media-libs/qhull[static-libs] + test? ( =dev-cpp/catch-2* ) +" + +PATCHES=( + "${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch" + "${FILESDIR}/${PN}-2.8.0-missing-includes.patch" + "${FILESDIR}/${PN}-2.8.0-wxwidgets-3.2.4.patch" + "${FILESDIR}/${PN}-2.8.1-fixed-linking.patch" + "${FILESDIR}/${PN}-2.8.1-cgal-6.0.patch" + "${FILESDIR}/${PN}-2.8.1-fstream.patch" +) + +src_prepare() { + if has_version ">=sci-libs/opencascade-7.8.0"; then + eapply "${FILESDIR}/prusaslicer-2.8.1-opencascade-7.8.0.patch" + fi + + sed -i -e 's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g' version.inc || die + + sed -i -e 's/find_package(OpenCASCADE 7.6.[0-9] REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \ + src/occt_wrapper/CMakeLists.txt || die + + find . -type f \( -name '*.cpp' -o -name '*.h' -o -name '*.hpp' \) -exec \ + sed -i 's|#include <Eigen/|#include <eigen3/Eigen/|g; s|#include <unsupported/Eigen/|#include <eigen3/unsupported/Eigen/|g' {} + || 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 +} + +src_test() { + CMAKE_SKIP_TESTS=( + "^libslic3r_tests$" + ) + cmake_src_test +} |