diff options
author | Sam James <sam@gentoo.org> | 2022-02-12 20:34:43 +0000 |
---|---|---|
committer | Sam James <sam@gentoo.org> | 2022-02-15 19:50:00 +0000 |
commit | dff8e7cbc3fb7966f14fd783be2cb9bab3dc651a (patch) | |
tree | 139b1626c234e16253d99d75b3cf41099bbf4ccd /media-gfx/prusaslicer | |
parent | media-libs/osl: adjust to unslotted OpenEXR (diff) | |
download | gentoo-dff8e7cbc3fb7966f14fd783be2cb9bab3dc651a.tar.gz gentoo-dff8e7cbc3fb7966f14fd783be2cb9bab3dc651a.tar.bz2 gentoo-dff8e7cbc3fb7966f14fd783be2cb9bab3dc651a.zip |
media-gfx/prusaslicer: support OpenEXR 3 / imath
Bug: https://bugs.gentoo.org/833158
Signed-off-by: Sam James <sam@gentoo.org>
Diffstat (limited to 'media-gfx/prusaslicer')
-rw-r--r-- | media-gfx/prusaslicer/files/prusaslicer-2.4.0-openexr-3.patch | 76 | ||||
-rw-r--r-- | media-gfx/prusaslicer/prusaslicer-2.4.0-r2.ebuild | 78 |
2 files changed, 154 insertions, 0 deletions
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.4.0-openexr-3.patch b/media-gfx/prusaslicer/files/prusaslicer-2.4.0-openexr-3.patch new file mode 100644 index 000000000000..cf22b66c7d69 --- /dev/null +++ b/media-gfx/prusaslicer/files/prusaslicer-2.4.0-openexr-3.patch @@ -0,0 +1,76 @@ +https://src.fedoraproject.org/rpms/prusa-slicer/raw/rawhide/f/prusa-slicer-openexr3.patch +--- a/cmake/modules/FindOpenVDB.cmake ++++ b/cmake/modules/FindOpenVDB.cmake +@@ -326,28 +326,10 @@ macro(just_fail msg) + return() + endmacro() + +-find_package(IlmBase QUIET COMPONENTS Half) +-if(NOT IlmBase_FOUND) +- pkg_check_modules(IlmBase QUIET IlmBase) +-endif() +-if (IlmBase_FOUND AND NOT TARGET IlmBase::Half) +- message(STATUS "Falling back to IlmBase found by pkg-config...") +- +- find_library(IlmHalf_LIBRARY NAMES Half) +- if(IlmHalf_LIBRARY-NOTFOUND OR NOT IlmBase_INCLUDE_DIRS) +- just_fail("IlmBase::Half can not be found!") +- endif() +- +- add_library(IlmBase::Half UNKNOWN IMPORTED) +- set_target_properties(IlmBase::Half PROPERTIES +- IMPORTED_LOCATION "${IlmHalf_LIBRARY}" +- INTERFACE_INCLUDE_DIRECTORIES "${IlmBase_INCLUDE_DIRS}") +-elseif(NOT IlmBase_FOUND) +- just_fail("IlmBase::Half can not be found!") +-endif() + find_package(TBB ${_quiet} ${_required} COMPONENTS tbb) + find_package(ZLIB ${_quiet} ${_required}) + find_package(Boost ${_quiet} ${_required} COMPONENTS iostreams system ) ++find_package(Imath CONFIG) + + # Use GetPrerequisites to see which libraries this OpenVDB lib has linked to + # which we can query for optional deps. This basically runs ldd/otoll/objdump +@@ -398,7 +380,7 @@ foreach(PREREQUISITE ${_OPENVDB_PREREQUISITE_LIST}) + set(OpenVDB_USES_LOG4CPLUS ON) + endif() + +- string(FIND ${PREREQUISITE} "IlmImf" _HAS_DEP) ++ string(FIND ${PREREQUISITE} "OpenEXR" _HAS_DEP) + if(NOT ${_HAS_DEP} EQUAL -1) + set(OpenVDB_USES_ILM ON) + endif() +@@ -429,11 +411,7 @@ if(OpenVDB_USES_LOG4CPLUS) + find_package(Log4cplus ${_quiet} ${_required}) + endif() + +-if(OpenVDB_USES_ILM) +- find_package(IlmBase ${_quiet} ${_required}) +-endif() +- +-if(OpenVDB_USES_EXR) ++if(OpenVDB_USES_ILM OR OpenVDB_USES_EXR) + find_package(OpenEXR ${_quiet} ${_required}) + endif() + +@@ -450,7 +428,7 @@ endif() + set(_OPENVDB_VISIBLE_DEPENDENCIES + Boost::iostreams + Boost::system +- IlmBase::Half ++ Imath::Imath + ) + + set(_OPENVDB_DEFINITIONS) +@@ -460,10 +438,7 @@ endif() + + if(OpenVDB_USES_EXR) + list(APPEND _OPENVDB_VISIBLE_DEPENDENCIES +- IlmBase::IlmThread +- IlmBase::Iex +- IlmBase::Imath +- OpenEXR::IlmImf ++ OpenEXR::OpenEXR + ) + list(APPEND _OPENVDB_DEFINITIONS "-DOPENVDB_TOOLS_RAYTRACER_USE_EXR") + endif() diff --git a/media-gfx/prusaslicer/prusaslicer-2.4.0-r2.ebuild b/media-gfx/prusaslicer/prusaslicer-2.4.0-r2.ebuild new file mode 100644 index 000000000000..c6e7e07d2d27 --- /dev/null +++ b/media-gfx/prusaslicer/prusaslicer-2.4.0-r2.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +WX_GTK_VER="3.0-gtk3" + +inherit cmake desktop wxwidgets xdg + +MY_PN="PrusaSlicer" + +DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)" +HOMEPAGE="https://www.prusa3d.com/prusaslicer/" +SRC_URI="https://github.com/prusa3d/${MY_PN}/archive/version_${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? ( test )" + +RDEPEND=" + dev-cpp/eigen:3 + >=dev-cpp/tbb-2021.4.0:= + >=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 + 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] +" + +S="${WORKDIR}/${MY_PN}-version_${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 +} |