diff options
Diffstat (limited to 'media-gfx')
-rw-r--r-- | media-gfx/Manifest.gz | bin | 37869 -> 37873 bytes | |||
-rw-r--r-- | media-gfx/prusaslicer/Manifest | 2 | ||||
-rw-r--r-- | media-gfx/prusaslicer/files/prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch | 40 | ||||
-rw-r--r-- | media-gfx/prusaslicer/prusaslicer-2.5.0-r1.ebuild | 88 | ||||
-rw-r--r-- | media-gfx/superslicer/Manifest | 2 | ||||
-rw-r--r-- | media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch | 40 | ||||
-rw-r--r-- | media-gfx/superslicer/superslicer-2.5.59.0-r2.ebuild | 99 |
7 files changed, 271 insertions, 0 deletions
diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz Binary files differindex a9196ba498c8..f4afa74f18b9 100644 --- a/media-gfx/Manifest.gz +++ b/media-gfx/Manifest.gz diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest index 1334d03f634e..a6a8275f88be 100644 --- a/media-gfx/prusaslicer/Manifest +++ b/media-gfx/prusaslicer/Manifest @@ -1,10 +1,12 @@ AUX prusaslicer-2.4.0-fix-build-with-cereal-1.3.1.patch 1601 BLAKE2B 0c30817c51c1cf2a914b1faad9923109cbae111e8538d6c7257885ab29b5944bdb97b0927ced972133ffd8fe12d2fe36f0826bb9839e3cbedd716719b0d26881 SHA512 21377080026fa43bf23dc06c4925decd6c6e7827599caebc2ba2e7b3f4f4428fcd6fe4044f3bc3d0f059cf2ede043cafe2928622046bf9443bdd3f21f1ff6c59 AUX prusaslicer-2.5.0_alpha2-boost-fixes.patch 3836 BLAKE2B 92bd4d4e43eceb67a1356552ee75431d05d61f5983986d109f6601b3fb86b195a39d18f26add58426fa535200af778864ff643a38d6771cb5e7de6a3a91f0192 SHA512 3a13e2e0fb0fd53571ea2b44403c810729b80c715a8fcaa5c596f680eb9c67e9f86c2194e09af4de54baa5bd95023b32f27cb475ccfe9ac71ea583b5ab02aba5 +AUX prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch 2581 BLAKE2B 8c2ec83db05e97949aa9fb43d3980748be1324cb2ac90c8caec45b772fb2bad34f56365381bb371d0094079b42065a65c00595388ec861e127b846e6859a0281 SHA512 6f454745d8f84dbcded092a1a16b2903757b36d76888a4c40e1f019f75ba6bea9b245c980347cc7feb0a9bdd22e8eb4e4b12e639594f1fe6e928eea5298081ec AUX prusaslicer-2.5.0_rc1-cereal-1.3.1.patch 1384 BLAKE2B 080b05c64f181759616557ebe6d83f91dd9a7b45f0f3833f9c3fa7f3d74df3d3399b353898967a51597b0422a611e8a86f85a8825de1a8fe818b389384e70373 SHA512 c325f7fed4bcdb380221c3b63ad525a53d26bab8baf7c7347035c8d22474ab38af944e445fc58da7f7979d9ec53f61b17a9edc1e7d86c65ac796e479a0316ce6 AUX prusaslicer-2.5.0_rc1-fix-tests.patch 363 BLAKE2B 49c2dd3da996148497ab09854421cadd5054d06d5d78c2fd973f274857817c4fa0da7dfdb5efed03125422c2cab432d0f946f0f84929e08756ca3180bebd6709 SHA512 952958b687bf1b0d454ed921799d283b08fe56acaccbd909c41269243839cd5c02b1aca594d1fa947aff73c853ef6dcfd52e938f4f39a54396ec32d2e9cb284b DIST prusaslicer-2.5.0.tar.gz 48591956 BLAKE2B e353e30d91b5bb60d8885783fcba8e5fc412f388f80c35df4b20733090cb19b54a851e00b9fb6a2a813a3c734da7fccc73259c5e6033de182a73eaaf4599f431 SHA512 b31c1bf5c0692ce34e965e356cc27a07819712a524a514100bcb9372a08d3c4c9200a097b72f6b4e3efd0d3e9253bc3d813a9fe24d1f8a3d5a2933c9e3712665 DIST prusaslicer-2.5.0_alpha2.tar.gz 48053741 BLAKE2B 161462ee4dc061ee1816c165b0e85688bcce1ee010451f3d6d724a71526ccea4eb006c9610124ec006ff19b030af2fcb74993016658069222d98152f29660c7e SHA512 8c29d79349e834df284374131659b863d1df592ee5304f2bae7cdbe1825feac465eaf78e0932d4184f4077a44d6add3194db31f12c5202cb064020fbaf4beecd DIST prusaslicer-2.5.0_rc2.tar.gz 48596343 BLAKE2B 41df2c34929ee6797604f87d5444f252c6f751cef1de2f5275b67d675217ff2fe7bf98ecad3a551528be1f18bf926d3660cddce2ab07911a3f8c154499dd918e SHA512 94ce4b335cc89ce7c8949cdc35013bd6166ed09aa8bda556328630d7977be5d293e6ba7a143af2d1485ea7a6f6b613514ed874287793e7edcaba3453d63e37f3 +EBUILD prusaslicer-2.5.0-r1.ebuild 2004 BLAKE2B 61e4097dcb70885bb9002899bbc322133f0aa2ed67c212367866b3d69614cd2d8e60d269781c4cbe2b2de673aea7ab66d8ad9e6eb6eece20eb4e93e8854095d5 SHA512 771a01d860257896b7e87eb718fa761b10bca59a477abf85e9792845f4ddef16622688a3b4872457957dd4392e219846c7537b072b39427caf22575b0880d349 EBUILD prusaslicer-2.5.0.ebuild 1932 BLAKE2B fcb64f0b0f4b3c7fa756b6d2f6700849a962f70914bae276b06f735483778dd3e332417ee6a16fd34f35c7b069b022565e34696ac13c18cd66032e76536c8061 SHA512 ba6097e3d532d2ec57fa043a136195fc79eee5a2361ef6430e1d0244e888478db2d0fddb9924af3928aa6c83d238ac288d4f87ed9d51f3d3442cf6a9b05fb0ff EBUILD prusaslicer-2.5.0_alpha2-r1.ebuild 1732 BLAKE2B bae5a2fbc6649c0e7508e51af3626273bac81d0ebb59feec20163bf71bf13e4a6a78d8c2dfd04d0b1e07544b05d70fb56dfd59c72ea50de4c0ae1b961134260e SHA512 df6f53be75ce105c990c4f8320646e5dfd9577aa08b0bcb04e90226138bc7ab69b7e3e9d22f805cb00153185cf23054a76a0c78d71266db4d65e6fa8bc766f29 EBUILD prusaslicer-2.5.0_rc2.ebuild 1950 BLAKE2B acfa0d7285f0d7fdb878be0387a6f4c42a7a2472b532fa3921baf77885f63aab64d321f723d3d3af95b0365dcfac250967429babebc158eb8102b31af72d08e0 SHA512 e3653c4f6ea2dd06d63424bb656f043034ee74c46e3b5d47fc6f00e18f42761b9f6cd6240cda10e02eead03e479cb910142903109ba8bffa2b4fd5415ba48160 diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch b/media-gfx/prusaslicer/files/prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch new file mode 100644 index 000000000000..1cb0d9f1afff --- /dev/null +++ b/media-gfx/prusaslicer/files/prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch @@ -0,0 +1,40 @@ +--- a/src/slic3r/GUI/PrintHostDialogs.cpp 2022-12-21 10:21:43.583075853 +1100 ++++ b/src/slic3r/GUI/PrintHostDialogs.cpp 2022-12-21 10:23:03.902694287 +1100 +@@ -79,8 +79,8 @@ PrintHostSendDialog::PrintHostSendDialog + if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos) + m_valid_suffix = recent_path.substr(extension_start); + // .gcode suffix control +- auto validate_path = [this](const wxString &path) -> bool { +- if (! path.Lower().EndsWith(m_valid_suffix.Lower())) { ++ auto validate_path = [this](const std::wstring &path) -> bool { ++ if (! wxString(path).Lower().EndsWith(m_valid_suffix.Lower())) { + MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO); + if (msg_wingow.ShowModal() == wxID_NO) + return false; +@@ -90,7 +90,7 @@ PrintHostSendDialog::PrintHostSendDialog + + auto* btn_ok = add_button(wxID_OK, true, _L("Upload")); + btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::None; + EndDialog(wxID_OK); + } +@@ -100,7 +100,7 @@ PrintHostSendDialog::PrintHostSendDialog + if (post_actions.has(PrintHostPostUploadAction::StartPrint)) { + auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print")); + btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::StartPrint; + EndDialog(wxID_OK); + } +@@ -111,7 +111,7 @@ PrintHostSendDialog::PrintHostSendDialog + // Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here. + auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate")); + btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::StartSimulation; + EndDialog(wxID_OK); + } diff --git a/media-gfx/prusaslicer/prusaslicer-2.5.0-r1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.5.0-r1.ebuild new file mode 100644 index 000000000000..2e02b49090b4 --- /dev/null +++ b/media-gfx/prusaslicer/prusaslicer-2.5.0-r1.ebuild @@ -0,0 +1,88 @@ +# 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/" +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:=[nls] + dev-libs/cereal + dev-libs/expat + dev-libs/glib:2 + dev-libs/gmp:= + dev-libs/mpfr:= + >=media-gfx/openvdb-8.2:= + 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-7.6*:= + >=sci-mathematics/cgal-5.0:= + sys-apps/dbus + sys-libs/zlib:= + 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}/${PN}-2.5.0_rc1-cereal-1.3.1.patch" + "${FILESDIR}/${PN}-2.5.0_rc1-fix-tests.patch" + "${FILESDIR}/${PN}-2.5.0_boost-1.81-std-wxString-to-std-wstring.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 + + sed -i -e 's/find_package(OpenCASCADE 7.6.2 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 +} diff --git a/media-gfx/superslicer/Manifest b/media-gfx/superslicer/Manifest index 10712fba8ca5..ac6179e52141 100644 --- a/media-gfx/superslicer/Manifest +++ b/media-gfx/superslicer/Manifest @@ -4,6 +4,7 @@ AUX superslicer-2.4.58.3-boost-1.79-port-v2.patch 9044 BLAKE2B cec6f33857de0b304 AUX superslicer-2.4.58.3-cereal.patch 2628 BLAKE2B 26001908801db3c7acfa12eb0e37094818b57577c99f90579e15b93b0e2aa796345e6facc807c929ccd63d566ebbf0497dbaa8bc518a397a0ac68e03d53763c3 SHA512 0f8ed92d5662bddc0ce09cbdd8c67736957febe317753c5111b9cc7dcfe99335fa4eb722e03940951b89c82d2d237898716cd66d2d2e54cd250b5c872047a48f AUX superslicer-2.4.58.3-openexr3.patch 2357 BLAKE2B 0d8c889817aaa7ddcdfd9ee434a668ce56b8c6906d61e73f118d8d37ef6a86d1315191956316e7d459629a9e60291ff86f0915bc5a877722ff99f8ce55af0351 SHA512 d3516333ce841b75c4da4f178e6e099b18fe64254484c286ad5b71d284407aa2e9cd4187b4c192b7ff3557170c0cee818d252b1c11e6b09263f9c2dc216e8aeb AUX superslicer-2.4.58.3-wxgtk3-wayland.patch 485 BLAKE2B a6a12b7b6b0da28593ee417e45bc97d9c297ce40b8f4a3adb3defa237ca4849238d82f58b4e8e7a4432d3167613845dd828db37529db6dbc9626bb89aa29437c SHA512 515c9b4b00cdfdc268febba8614fe9d2f33c5721ab17935a19055a25ef870ec04a51fc9af801f159dd48fb1a2d882695df373ee3b28dc676ac50f0fbaf73d474 +AUX superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch 2581 BLAKE2B 8c2ec83db05e97949aa9fb43d3980748be1324cb2ac90c8caec45b772fb2bad34f56365381bb371d0094079b42065a65c00595388ec861e127b846e6859a0281 SHA512 6f454745d8f84dbcded092a1a16b2903757b36d76888a4c40e1f019f75ba6bea9b245c980347cc7feb0a9bdd22e8eb4e4b12e639594f1fe6e928eea5298081ec AUX superslicer-2.5.59.0-boost.patch 9423 BLAKE2B 8e797ed961fe2c1c8f0b5e67b6aaee8efa17933cecd190b1623e7df4f2724edb4e1c6559a839c4dc1d3b67f8f9db080476640e48187a03ec0541114863cdffc6 SHA512 f72eb91230c0e3aa2254533e5377a6aedcd806529c0cf3795eee883d4b8aaf6c618c7f2e064e80de3f688bf9f2a97d913e72d0b1c227d64caa7585cad1c97a84 AUX superslicer-2.5.59.0-cereal.patch 1974 BLAKE2B b28be995a1c258c1848ad78a00061c73ccb173da0f790573273123f8f1481131a75ec3fb84fd8cee26dc7cef750650c827b39b685343d9defd44edec48e698a6 SHA512 50510b349f43354da7a5712d662b94a0276081c9af28d04b8d63885ed0053b52522b686ecfffa45d0b197097ee7c08ea1c831f0995a337c44becd453c392a539 AUX superslicer-2.5.59.0-dont-install-bundled-angelscript.patch 1671 BLAKE2B 211bbd88a3db29312bfd1b0a7fac23ade2fb1e38c99cd1c7125e2c5d5fda46adc2cb232345085783e37404c6fbc10cb831196b546ca3a76f4d59d8095f254f54 SHA512 a206103eac2969e68540d564149e843a24a16445b6157fc3409ff1c577657d35ef05493259e3fc3615d641eaad96832231aa969c53eaac87e11d1b365ffd99b1 @@ -17,4 +18,5 @@ DIST superslicer-2.5.59.0-profiles.tar.gz 15322406 BLAKE2B cfa89697e832e0601746c DIST superslicer-2.5.59.0.tar.gz 45360646 BLAKE2B da65610270ed4c7d55b5bc495d9970812af94f424345088782b3a45b97fcf0f4b58bdc0417b89ed49e21d8c250535baa7cb74344f43438fbde8daf1b3acfacdd SHA512 1d2c0316c91bf0d65fb366806e9ea868bc93fae33deb580a324ce065fd3789ff1b600e9ace400db4988b371b1c36ef0c3ea2b52cde0d48984f312dd8d7ef3a1c EBUILD superslicer-2.4.58.3-r1.ebuild 2105 BLAKE2B 20cbba8ea3066567c4878e56788455d03799b7d00172ade89e476fdceba1ae88d025ed08b818b1ab1867d892ff353b49343a6d121a5d4af4930c09efbcb582d4 SHA512 9e983deee4597c285aec3cd7e359df9792363763524b8983faf2d03c832a72efa0caa5450570188aeb8be3504ef2b910fe3e2620fa02fa4e6907d1a2440ce327 EBUILD superslicer-2.5.59.0-r1.ebuild 2130 BLAKE2B 701f37cd47ba8f95c96d8e1c78ba3f6874e8a1805f5043bd5d30f2dbe6efb61056dba653ce7e4add0ca03ab5d11b46d806e218f95e7e842a5d0689000813b8ba SHA512 91e7fc8bfdfc1dc1f20060a27ea4e6f99fc48e33cbede293cf1d594124cb6c93c8bc9c3c9da6affaa127420b128dae45ff375400a1d8e2e9c5b35af8ad49534e +EBUILD superslicer-2.5.59.0-r2.ebuild 2195 BLAKE2B aceb6d93d5db050312c52047e18f1a5ac3da0aacbdd0f07830b04c4d5a21aaefabcd6d7a5f68f1f2a095a34b354adcd841bc9f3adbb164d107dd8ea650a3a98c SHA512 2b9235337c54b62b7e8df6f3d043666b1da14d5f257231947fe283585539d5701437a981f3dc37583a72117cccdb4a220d1bb7524aad49819227340f03e6de5b MISC metadata.xml 413 BLAKE2B a43550366844e53b0ebed37197d33bf38efb555eee344f053f90e35e939263e3959301fdd072d5b6925d1e3e0d1fd629e2f459356e2f227006f8784a4364fc11 SHA512 8e1abc223f2e24cca551b08cbc37910f2a43319fce7299e52dd586dd6454c83e98e59b8d14c18613c8894fdca33d04297affa2da1f4aa001a5e200e4b5f2c331 diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch new file mode 100644 index 000000000000..1cb0d9f1afff --- /dev/null +++ b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch @@ -0,0 +1,40 @@ +--- a/src/slic3r/GUI/PrintHostDialogs.cpp 2022-12-21 10:21:43.583075853 +1100 ++++ b/src/slic3r/GUI/PrintHostDialogs.cpp 2022-12-21 10:23:03.902694287 +1100 +@@ -79,8 +79,8 @@ PrintHostSendDialog::PrintHostSendDialog + if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos) + m_valid_suffix = recent_path.substr(extension_start); + // .gcode suffix control +- auto validate_path = [this](const wxString &path) -> bool { +- if (! path.Lower().EndsWith(m_valid_suffix.Lower())) { ++ auto validate_path = [this](const std::wstring &path) -> bool { ++ if (! wxString(path).Lower().EndsWith(m_valid_suffix.Lower())) { + MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO); + if (msg_wingow.ShowModal() == wxID_NO) + return false; +@@ -90,7 +90,7 @@ PrintHostSendDialog::PrintHostSendDialog + + auto* btn_ok = add_button(wxID_OK, true, _L("Upload")); + btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::None; + EndDialog(wxID_OK); + } +@@ -100,7 +100,7 @@ PrintHostSendDialog::PrintHostSendDialog + if (post_actions.has(PrintHostPostUploadAction::StartPrint)) { + auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print")); + btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::StartPrint; + EndDialog(wxID_OK); + } +@@ -111,7 +111,7 @@ PrintHostSendDialog::PrintHostSendDialog + // Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here. + auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate")); + btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) { +- if (validate_path(txt_filename->GetValue())) { ++ if (validate_path(txt_filename->GetValue().ToStdWstring())) { + post_upload_action = PrintHostPostUploadAction::StartSimulation; + EndDialog(wxID_OK); + } diff --git a/media-gfx/superslicer/superslicer-2.5.59.0-r2.ebuild b/media-gfx/superslicer/superslicer-2.5.59.0-r2.ebuild new file mode 100644 index 000000000000..08c74ac46f52 --- /dev/null +++ b/media-gfx/superslicer/superslicer-2.5.59.0-r2.ebuild @@ -0,0 +1,99 @@ +# 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="SuperSlicer" + +inherit cmake wxwidgets xdg + +DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)" +HOMEPAGE="https://github.com/supermerill/SuperSlicer/" +SRC_URI=" + https://github.com/supermerill/SuperSlicer/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz + https://github.com/slic3r/slic3r-profiles/archive/748fbdfd2ac077e4e415868e7bc963740b92aa8e.tar.gz -> ${P}-profiles.tar.gz +" + +LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" + +RESTRICT="test" + +# No dep on sci-libs/libigl, in-tree version cannot build +# static library currently. Using bundled one. +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:= + 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/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}/${P}-openexr3.patch" + "${FILESDIR}/${P}-wxgtk3-wayland.patch" + "${FILESDIR}/${P}-cereal.patch" + "${FILESDIR}/${P}-boost.patch" + "${FILESDIR}/${P}-boost-1.81-std-wxString-to-std-wstring.patch" + "${FILESDIR}/${P}-missing-includes.patch" + "${FILESDIR}/${P}-dont-install-bundled-angelscript.patch" + "${FILESDIR}/${P}-fix-gcodeviewer-symlink.patch" +) + +S="${WORKDIR}/${MY_PN}-${PV}" + +src_unpack() { + default + + mv slic3r-profiles-*/* "${S}"/resources/profiles/ || die +} + +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_install() { + cmake_src_install + + rm "${ED}/usr/lib/udev/rules.d/90-3dconnexion.rules" || die +} |