media-gfx/prusaslicer: bump to 2.9.0

Closes: https://bugs.gentoo.org/946720
Signed-off-by: Miroslav Šulc <fordfrog@gentoo.org>
This commit is contained in:
Miroslav Šulc
2025-01-03 15:43:11 +01:00
parent 0a25b84cd8
commit e54c7174db
8 changed files with 163 additions and 116 deletions

View File

@@ -1 +1,2 @@
DIST prusaslicer-2.8.1.tar.gz 69409077 BLAKE2B dd3ee810ea00d03f1790386d1fe1fd044c038429700cd33f21299abdf5def12902f7a07c23aa3d2a6cfc5e18d1e2534080889d4a33beefb493a504978a742453 SHA512 0471fa579a494d66e6b49c0bc1a9fa91f3a5f9147d8b7fa8133c6f03391f8daddddb19ed222d1be44f6f22e2de3021f3fb839331e3c3ccdf5643caa8a61d6912
DIST prusaslicer-2.9.0.tar.gz 70604482 BLAKE2B 14480ad6e4257d052e65f7158e14e6eb57f2e51c5c7ce3a6545b36a47007cb528aa38a1ff00eacd70374dfaef4ba7efd185dd5add1a6807f79148a124320126a SHA512 554099ba827f8b4af37727d4e99ad6b2f339c530f35a4f8e63f0c5aaf455a5fc3261b983939c487f76964c522ea8ecd13527efea7f881749f907a039cfe7ef89

View File

@@ -0,0 +1,46 @@
From a7c15a3ae9877dcf7da8c8fd80de8b128251db2b Mon Sep 17 00:00:00 2001
From: Yuri D'Elia <wavexx@thregr.org>
Date: Fri, 3 Jan 2025 00:07:50 +0100
Subject: [PATCH] Build libslic3r-arrange/wrapper as static
Fix build on linux without SLIC3R_STATIC (these are for internal use
only).
- Avoids the need for installation (fixes
https://github.com/prusa3d/PrusaSlicer/pull/13812)
- Fixes build without PIC (fixes
https://github.com/prusa3d/PrusaSlicer/pull/13810,
https://github.com/prusa3d/PrusaSlicer/issues/13694), which would
still result in broken behavior (duplicate static initialization
crashing on startup).
---
src/slic3r-arrange-wrapper/CMakeLists.txt | 2 +-
src/slic3r-arrange/CMakeLists.txt | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/slic3r-arrange-wrapper/CMakeLists.txt b/src/slic3r-arrange-wrapper/CMakeLists.txt
index 3f723e5aed1..34b64fc2969 100644
--- a/src/slic3r-arrange-wrapper/CMakeLists.txt
+++ b/src/slic3r-arrange-wrapper/CMakeLists.txt
@@ -1,7 +1,7 @@
project(slic3r-arrange-wrapper)
cmake_minimum_required(VERSION 3.13)
-add_library(slic3r-arrange-wrapper
+add_library(slic3r-arrange-wrapper STATIC
include/arrange-wrapper/Arrange.hpp
include/arrange-wrapper/ArrangeSettingsDb_AppCfg.hpp
include/arrange-wrapper/ArrangeSettingsView.hpp
diff --git a/src/slic3r-arrange/CMakeLists.txt b/src/slic3r-arrange/CMakeLists.txt
index 98ab2470535..36a54ca5985 100644
--- a/src/slic3r-arrange/CMakeLists.txt
+++ b/src/slic3r-arrange/CMakeLists.txt
@@ -1,7 +1,7 @@
project(slic3r-arrange)
cmake_minimum_required(VERSION 3.13)
-add_library(slic3r-arrange
+add_library(slic3r-arrange STATIC
include/arrange/Beds.hpp
include/arrange/ArrangeItemTraits.hpp
include/arrange/PackingContext.hpp

View File

@@ -1,18 +0,0 @@
From a48acef85b34b52085378b8ee39a79f7eaeac0fa Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@cryptomilk.org>
Date: Fri, 20 Dec 2024 20:49:23 +0100
Subject: [PATCH] cmake: Turn on position independent code for all targets
Fixes: #13694
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,6 +1,9 @@
cmake_minimum_required(VERSION 3.13)
project(PrusaSlicer-native)
+# This enables -fPIC for shared libaries and -fpie for binaries
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+
add_subdirectory(clipper)
find_package(Qhull 7.2 REQUIRED)
add_library(qhull INTERFACE)

View File

@@ -1,57 +0,0 @@
--- a/bundled_deps/admesh/CMakeLists.txt
+++ b/bundled_deps/admesh/CMakeLists.txt
@@ -14,3 +14,4 @@ add_library(admesh STATIC
target_include_directories(admesh PUBLIC .)
target_link_libraries(admesh PRIVATE boost_headeronly localesutils)
target_link_libraries(admesh PUBLIC Eigen3::Eigen)
+set_target_properties(admesh PROPERTIES POSITION_INDEPENDENT_CODE ON)
--- a/bundled_deps/glu-libtess/CMakeLists.txt
+++ b/bundled_deps/glu-libtess/CMakeLists.txt
@@ -34,3 +34,4 @@ if(UNIX)
endif(UNIX)
target_include_directories(glu-libtess PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
+set_target_properties(glu-libtess PROPERTIES POSITION_INDEPENDENT_CODE ON)
--- a/bundled_deps/miniz/CMakeLists.txt
+++ b/bundled_deps/miniz/CMakeLists.txt
@@ -7,6 +7,7 @@ add_library(miniz_static STATIC
miniz.c
miniz.h
)
+set_target_properties(miniz_static PROPERTIES POSITION_INDEPENDENT_CODE ON)
if(${CMAKE_C_COMPILER_ID} STREQUAL "GNU")
target_compile_definitions(miniz_static PRIVATE _GNU_SOURCE)
--- a/bundled_deps/CMakeLists.txt
+++ b/bundled_deps/CMakeLists.txt
@@ -33,6 +33,7 @@ add_library(localesutils STATIC
)
target_include_directories(localesutils PUBLIC localesutils)
target_link_libraries(localesutils PRIVATE fastfloat)
+set_target_properties(localesutils PROPERTIES POSITION_INDEPENDENT_CODE ON)
add_library(ankerl INTERFACE)
target_include_directories(ankerl INTERFACE ankerl)
--- a/src/libslic3r/CMakeLists.txt
+++ b/src/libslic3r/CMakeLists.txt
@@ -532,6 +532,7 @@ add_library(libslic3r_cgal STATIC
TryCatchSignal.hpp TryCatchSignal.cpp
Triangulation.hpp Triangulation.cpp
)
+set_target_properties(libslic3r_cgal PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_include_directories(libslic3r_cgal PRIVATE ${CMAKE_CURRENT_BINARY_DIR})
target_include_directories(libslic3r_cgal PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/..)
@@ -622,3 +623,5 @@ endif ()
if (SLIC3R_PCH AND NOT SLIC3R_SYNTAXONLY)
add_precompiled_header(libslic3r pchheader.hpp FORCEINCLUDE)
endif ()
+
+set_target_properties(libslic3r PROPERTIES POSITION_INDEPENDENT_CODE ON)
--- a/src/clipper/CMakeLists.txt
+++ b/src/clipper/CMakeLists.txt
@@ -12,3 +12,4 @@ add_library(clipper STATIC
target_link_libraries(clipper PRIVATE TBB::tbb TBB::tbbmalloc int128)
target_link_libraries(clipper PUBLIC Eigen3::Eigen)
target_include_directories(clipper PUBLIC .)
+set_target_properties(clipper PROPERTIES POSITION_INDEPENDENT_CODE ON)

View File

@@ -1,18 +0,0 @@
From 09c89be8732d4b11f64980c7ac5368cd506847dd Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@cryptomilk.org>
Date: Fri, 20 Dec 2024 20:15:51 +0100
Subject: [PATCH] cmake: Install slic3r-arrange-wrapper
Fixes #13805
--- a/src/slic3r-arrange-wrapper/CMakeLists.txt
+++ b/src/slic3r-arrange-wrapper/CMakeLists.txt
@@ -33,3 +33,9 @@ add_library(slic3r-arrange-wrapper
target_include_directories(slic3r-arrange-wrapper PRIVATE src)
target_include_directories(slic3r-arrange-wrapper PUBLIC include)
target_link_libraries(slic3r-arrange-wrapper PUBLIC slic3r-arrange)
+
+if (WIN32)
+ install(TARGETS slic3r-arrange-wrapper LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX})
+else()
+ install(TARGETS slic3r-arrange-wrapper LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+endif()

View File

@@ -1,18 +0,0 @@
From 5f450dc269ff99af3f0e056ae4b30d254789500b Mon Sep 17 00:00:00 2001
From: Andreas Schneider <asn@cryptomilk.org>
Date: Fri, 20 Dec 2024 20:14:52 +0100
Subject: [PATCH] cmake: Install slic3r-arrange
Fixes #13805
--- a/src/slic3r-arrange/CMakeLists.txt
+++ b/src/slic3r-arrange/CMakeLists.txt
@@ -32,3 +32,9 @@ add_library(slic3r-arrange
target_include_directories(slic3r-arrange PRIVATE src)
target_include_directories(slic3r-arrange PUBLIC include)
target_link_libraries(slic3r-arrange PUBLIC libslic3r)
+
+if (WIN32)
+ install(TARGETS slic3r-arrange LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX})
+else()
+ install(TARGETS slic3r-arrange LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
+endif()

View File

@@ -0,0 +1,113 @@
# Copyright 1999-2025 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:=
net-libs/webkit-gtk:4.1
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-wxwidgets-3.2.4.patch"
"${FILESDIR}/${PN}-2.8.1-cgal-6.0.patch"
"${FILESDIR}/${PN}-2.8.1-fstream.patch"
"${FILESDIR}/${PN}-2.8.1-fix-libsoup-double-linking.patch"
"${FILESDIR}/${PN}-2.8.1-boost-1.87.patch"
"${FILESDIR}/${PN}-2.9.0-missing-includes.patch"
"${FILESDIR}/${PN}-2.9.0-arrange-static.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
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
}

View File

@@ -1,4 +1,4 @@
# Copyright 1999-2024 Gentoo Authors
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -66,11 +66,9 @@ PATCHES=(
"${FILESDIR}/${PN}-2.8.1-cgal-6.0.patch"
"${FILESDIR}/${PN}-2.8.1-fstream.patch"
"${FILESDIR}/${PN}-2.8.1-fix-libsoup-double-linking.patch"
"${FILESDIR}/${PN}-2.8.1-boost-1.87.patch"
"${FILESDIR}/${PN}-2.9.0-missing-includes.patch"
"${FILESDIR}/${PN}-2.9.0-fpic.patch"
"${FILESDIR}/${PN}-2.9.0-fpic-all.patch"
"${FILESDIR}/${PN}-2.9.0-slic3r-arrange.patch"
"${FILESDIR}/${PN}-2.9.0-slic3r-arrange-wrapper.patch"
"${FILESDIR}/${PN}-2.9.0-arrange-static.patch"
)
src_prepare() {