superslicer-2.5.60.0.ebuild 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. # Copyright 1999-2023 Gentoo Authors
  2. # Distributed under the terms of the GNU General Public License v2
  3. EAPI=8
  4. WX_GTK_VER="3.2-gtk3"
  5. MY_PN="SuperSlicer"
  6. SLICER_PROFILES_COMMIT="ca25c7ec55dcc6073da61e39692c321cdb6497dc"
  7. inherit cmake wxwidgets xdg flag-o-matic toolchain-funcs
  8. DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
  9. HOMEPAGE="https://github.com/supermerill/SuperSlicer/"
  10. SRC_URI="
  11. https://github.com/supermerill/SuperSlicer/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
  12. https://github.com/slic3r/slic3r-profiles/archive/${SLICER_PROFILES_COMMIT}.tar.gz -> ${P}-profiles.tar.gz
  13. "
  14. LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
  15. SLOT="0"
  16. KEYWORDS="~amd64 ~arm64 ~x86"
  17. IUSE="gui step test"
  18. RESTRICT="test mirror"
  19. # No dep on sci-libs/libigl, in-tree version cannot build
  20. # static library currently. Using bundled one.
  21. RDEPEND="
  22. dev-cpp/eigen:3
  23. dev-cpp/tbb:=
  24. dev-libs/boost:=[nls]
  25. dev-libs/cereal
  26. dev-libs/expat
  27. dev-libs/glib:2
  28. dev-libs/gmp:=
  29. dev-libs/mpfr:=
  30. dev-libs/imath:=
  31. >=media-gfx/openvdb-8.2:=
  32. net-misc/curl[adns]
  33. media-libs/glew:0=
  34. media-libs/libpng:0=
  35. media-libs/qhull:=
  36. sci-libs/nlopt
  37. sci-libs/opencascade:=
  38. >=sci-mathematics/cgal-5.0:=
  39. sys-apps/dbus
  40. sys-libs/zlib:=
  41. gui? (
  42. x11-libs/wxGTK:${WX_GTK_VER}[gui?,opengl]
  43. virtual/glu
  44. virtual/opengl
  45. )
  46. "
  47. DEPEND="${RDEPEND}
  48. media-libs/qhull[static-libs]
  49. "
  50. PATCHES=(
  51. "${FILESDIR}/${PN}-2.5.59.2-boost.patch"
  52. "${FILESDIR}/${PN}-2.5.59.2-cereal.patch"
  53. "${FILESDIR}/${PN}-2.5.59.2-dont-install-angelscript.patch"
  54. "${FILESDIR}/${PN}-2.5.59.2-gcodeviewer-symlink-fix.patch"
  55. "${FILESDIR}/${PN}-2.5.59.2-missing-includes-fix.patch"
  56. "${FILESDIR}/${PN}-2.5.59.2-openexr3.patch"
  57. "${FILESDIR}/${PN}-2.5.59.2-wxgtk3-wayland-fix.patch"
  58. "${FILESDIR}/${PN}-2.5.59.2-relax-OpenCASCADE-dep.patch"
  59. "${FILESDIR}/${PN}-2.5.59.2-link-occtwrapper-statically.patch"
  60. "${FILESDIR}/${PN}-2.5.59.8-additional-imports-fixes.patch"
  61. "${FILESDIR}/${PN}-2.5.59.8-fix-compilation-error-gnu17.patch"
  62. "${FILESDIR}/${PN}-2.5.59.8-libnest2d-link-xcb.patch"
  63. "${FILESDIR}/${PN}-2.5.59.8-boost-replace-load-string-file.patch"
  64. "${FILESDIR}/${PN}-2.5.59.10-boost-1.85.patch"
  65. "${FILESDIR}/${PN}-2.5.59.10-boost-headers.patch"
  66. "${FILESDIR}/${PN}-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch"
  67. "${FILESDIR}/${PN}-2.5.59.2-fix-spiral_vase-null-pointer.patch"
  68. "${FILESDIR}/${PN}-2.5.59.2-wxGTK-disable-asserts.patch"
  69. )
  70. S="${WORKDIR}/${MY_PN}-${PV}"
  71. src_unpack() {
  72. default
  73. mv slic3r-profiles-*/* "${S}"/resources/profiles/ || die
  74. }
  75. src_prepare() {
  76. use step && eapply "${FILESDIR}/${P}-link-occtwrapper-statically.patch"
  77. cmake_src_prepare
  78. }
  79. src_configure() {
  80. CMAKE_BUILD_TYPE="Release"
  81. append-flags -fno-strict-aliasing
  82. setup-wxwidgets
  83. local mycmakeargs=(
  84. -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB"
  85. -DSLIC3R_BUILD_TESTS=$(usex test)
  86. -DSLIC3R_ENABLE_FORMAT_STEP=$(usex step)
  87. -DSLIC3R_FHS=ON
  88. -DSLIC3R_GTK=3
  89. -DSLIC3R_GUI=$(usex gui)
  90. -DSLIC3R_PCH=OFF
  91. -DSLIC3R_STATIC=OFF
  92. -DSLIC3R_WX_STABLE=ON
  93. -Wno-dev
  94. )
  95. tc-is-cross-compiler && mycmakeargs+=(
  96. -DIS_CROSS_COMPILE=ON
  97. )
  98. cmake_src_configure
  99. }
  100. src_install() {
  101. cmake_src_install
  102. rm "${ED}/usr/lib/udev/rules.d/90-3dconnexion.rules" || die
  103. }