From 970b06af05f42e54a47439caaa9bd9a31ee30142 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Tue, 26 Mar 2024 01:01:01 +0000 Subject: gentoo auto-resync : 26:03:2024 - 01:01:01 --- media-gfx/Manifest.gz | Bin 38011 -> 38004 bytes media-gfx/blender/Manifest | 14 +- media-gfx/blender/blender-3.3.15.ebuild | 427 ++++++++++++++++++ media-gfx/blender/blender-3.4.1-r3.ebuild | 441 ------------------- media-gfx/blender/blender-3.5.1-r1.ebuild | 444 ------------------- media-gfx/blender/blender-3.6.8.ebuild | 442 +++++++++++++++++++ media-gfx/blender/blender-4.0.1-r1.ebuild | 7 +- media-gfx/blender/blender-4.0.2.ebuild | 490 +++++++++++++++++++++ media-gfx/blender/blender-9999.ebuild | 38 +- media-gfx/geeqie/Manifest | 6 +- media-gfx/geeqie/files/geeqie-2.3-locale.patch | 11 + media-gfx/geeqie/geeqie-2.3.ebuild | 4 +- media-gfx/geeqie/geeqie-2.4.ebuild | 117 +++++ media-gfx/prusaslicer/Manifest | 7 +- .../prusaslicer-2.7.2-opencascade-7.8.0.patch | 18 + media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild | 10 +- media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild | 8 +- media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild | 17 +- 18 files changed, 1573 insertions(+), 928 deletions(-) create mode 100644 media-gfx/blender/blender-3.3.15.ebuild delete mode 100644 media-gfx/blender/blender-3.4.1-r3.ebuild delete mode 100644 media-gfx/blender/blender-3.5.1-r1.ebuild create mode 100644 media-gfx/blender/blender-3.6.8.ebuild create mode 100644 media-gfx/blender/blender-4.0.2.ebuild create mode 100644 media-gfx/geeqie/files/geeqie-2.3-locale.patch create mode 100644 media-gfx/geeqie/geeqie-2.4.ebuild create mode 100644 media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch (limited to 'media-gfx') diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz index 24f6bbf922ae..172f99310eea 100644 Binary files a/media-gfx/Manifest.gz and b/media-gfx/Manifest.gz differ diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index e4d4471af638..349b53d18a0a 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -5,19 +5,21 @@ AUX blender-3.3.0-fix-build-with-boost-1.81.patch 490 BLAKE2B ff9625bec6783a5a55 AUX blender-3.3.6-cycles-gcc13.patch 299 BLAKE2B c20c113bf845cb55188cd53c4c3e52e2876430d5b708161afbfd6afd0a50fb7cc4cf099df2202fa8c149bb18dc82e9e880cd083f35b61faaff80852a39358e3f SHA512 8986fd86e1f060c7310e5ecbae8f968faae5257af92f248874d7bccade4b75890a51a97706be653a6441292f0a459aa88b9935f545733eb34ac3b324c0d3b2df AUX blender-4.0.1-fix-cflags-cleaner.patch 2222 BLAKE2B 2006ddd28ad270417e7832dbb4499752c90e8f6e5372c601a6694ee53aa0f47ed8eaef356e9b605f5add6144ff8fd200a7d9642441a1f213ec92e50e23806842 SHA512 5e130d917db80706b85e49b79803bd19b229bcf6e317789812ff5c0dc706b2c7bf31af43e6a226ee6dea9ee478f76eaefc903657c693f1d2dbcd85f552f2578c AUX blender-4.0.1-openvdb-11.patch 3160 BLAKE2B 673d47a5b38e3758a1442173ec17a3bf49151d3d916ccc85946183d269bf016bf50c495f784d79f4635cbf6ba2e9fbdf8ced83130f788590a13fea959266f09e SHA512 13bc4817eb9ea8ddfaca061ae1c1805487284c458057490e124e1b6a76b88a71a5a62f77b6af2d2fb550d755b5c70b90c40f638562239420598078a11450e192 +DIST blender-3.3.15.tar.xz 41928632 BLAKE2B d93d7d47183fcd7afa547b8d3f0bd7240ea204dcce885f42d79d29352ebacac43a2f92e380f576c2688d2d90d910caff069484e22669847b0eea71079a8bdc7e SHA512 d55223b7b9ae9f9c6fdbf5ed2988e997693fcb8262196acb08bbe58bae86f9f34474ed1cf5a213ee0247225601726265ded3cb4ad4d89910fc247f9cf5fec1ff DIST blender-3.3.6.tar.xz 41912972 BLAKE2B 94f9dd1a7993f399d612275ed3cfc1d482b0778d2d0b50ae40b73714b6afce93e036915a5b8ea415b6642b1e2d0a281db15ba8addd95c23771c381050722aac7 SHA512 db453b9c7c0ad508e04f603c970e111afb577f3dc0bd25f2ce47312e8560223dcf0307b0a306014dd79adda76de49b6d26e6e63400cade1430568332fe5b2d57 DIST blender-3.3.8.tar.xz 41915180 BLAKE2B 7fb24afe2151bba53d8c25160bd697145aced74a8cd9a7ac92b2f66bc0ab59e995009f20f9e9bb622b05d614919137153805a2e233de5b0bb0a41a2ac3405a76 SHA512 63aef1e543a9c8bbc5f8838292ad2e8d0d9a8ee6fd2d71a419c1edc1a0ee1f59f7e9eab59bc20bf32ca56ba440bab1534c6c94c6ca2c5ab964e80bd452b7e519 -DIST blender-3.4.1.tar.xz 53666296 BLAKE2B ec5b2771c1b55ecdf3c2c86a413ae5599545800fc072eff45cf212b32c74af60fc3d650ad931fff221c1073adb2b447df3287a965f884a4760a5d972c9877aee SHA512 d6de3ec9cd1a1e4d4e4a838af0cfc113c91c3c1b66703027e0ed61bd818dafc4e4304fd041738ddea32fc76b1ad9b7737cbdcf74d56a0406a87c457375d907ab -DIST blender-3.5.1.tar.xz 69780800 BLAKE2B 6961280b9d5fb606a35137ce355bf07b4dc16908d5d52cfd3a914907721da16108b8780b1894413a69ab69d455f5d1575697079a24c2bdcecb17174cf7a7c7c7 SHA512 7c9c03de8532884f8ab39fecf1450f8be4bc937a018bd14240ace81a89e422625aba9c4865f6efbb8371f5f01e930932fa5cf03c9d14d44c5312db33e3c56131 DIST blender-3.6.0.tar.xz 70428872 BLAKE2B a43f2c0a2db6fa624b1bd96264462312d31f2e3983c463da9d17b0c793d0d344dfbbc13acfb8bab53cc37f5b5b3479d60b8046475aa6c977074ef35414640eaf SHA512 5fbb7a48d1f18e5cc6430bdefb4d7d9e8a52d387cf92a319c7fbc8836a3f5a6f90fab13f152be49c3558a8f70ed9f0d1f7aeddb264a938496a2f93254bb569cb DIST blender-3.6.5.tar.xz 70447868 BLAKE2B efa366b8aff5c8870c9ed060063eba1115a9ae50b0345c56fbaaab228976afad6f4c6b9c374f22d146fe88db6e0e7aab3d61b1797e71f30f6adfc594599ea2be SHA512 d07e53c708a1e6df18853eb5f0dc032459c74ef43f9559880720170f98ac8729064edb143835f8cec411ab6de42619bed3f0ef1143b288f2a2eb6f05fdfc32ae +DIST blender-3.6.8.tar.xz 70453744 BLAKE2B 5361977951fa1720899fad26092b967cc78b7ba82c8823f92fe1e6a14419edae1f3914f639e88dd8b5fb3ec7c124783e1ece56199a80b9b51a0f320764e1eba7 SHA512 a5e15dc9de7024cebb955fc531ae592a4c58336196a07fd63ed5bb4eb14d66751a3697ea8b120283ca5078c92d8c87966e882862011ebb4368f132e2de004a45 DIST blender-4.0.1.tar.xz 73278416 BLAKE2B 06c3397e8c28f544ec5d207db195e33824e9ddeb1b468342e4e7c18773b00b6b42282e8318a7ae96c7a7c81c7e0626e666953d00bf78bf64922047bd563d625a SHA512 288e5a04f274ab351c8517e6de2195f414e618a82fb2a3b2aede5f9120aa6a41f20bc2c4e5190c47b69da841bb1ebe15e9ffee737c1cc2b5979a28b0e1f4c5ae +DIST blender-4.0.2.tar.xz 73281252 BLAKE2B 6ec72baa360049681c8ba18ae668041e87745bad51113cf50bca93d18f52ef5db84c58f9a2dc5b341ef1f0439e76288a1b1eda892a19033fb494e79cd3b2f983 SHA512 c37b85d06f5cf8b48cb8c657a9fb6b0ab1325271706fa34039f2993420f7606cd1e2c052173cdea94e9bec2924e7aa4df373e3a0fc1f9c4be336e62211b6bc4b +EBUILD blender-3.3.15.ebuild 13565 BLAKE2B 47ee5a101ea982f6bf6d26b672de57a57e384e91f20f3e2f841fdfc5e7d6ea2513a61b6764e0e8341ab6044615d96c4bd9e117780bbc61a008cd61864d138f3a SHA512 8288e9ddcf049a03c5cb38e9a28b98bcf7990690a4bf679534f502fe494736373b2622d56042d7335317c53c3d9cde2e7e77de07450bc02c412a97c9cd963e81 EBUILD blender-3.3.6-r1.ebuild 13406 BLAKE2B 0a2adaa276dc378bd847e718cc4895208611f13a612b8d0eff8a327da5d2e8c3d9b6c61b079b2e1dc2bea932b2cd907b8923e7ddfcdcee34ddad488bdb8bb575 SHA512 871995770a4a35ba41cd9dacb2d6a4eefe5c46585ee691c9028c7274068433d5412ffafac14116ef73121a0ccdd044e43f9ebbcfc48f9f095ac0983123147201 EBUILD blender-3.3.8.ebuild 13564 BLAKE2B 8bb2e71c9155e8b57c2d61b5fecfa933c5f645ba9e22aa69c711226de936e42e04989fa4f0f6b78eea6d9f92727e863edc0fc8555e1907d222c2c926008f6f0f SHA512 5f77794ee1ad7b26dd0347b04fd1aa06ff0b8e8c3bf8f34bbc7016eb3b009af684aab8c96842acc19d524907349487c0705a0064b4810e99792642f8c47c19e3 -EBUILD blender-3.4.1-r3.ebuild 13812 BLAKE2B 5203a3df9b11bba999e8ad1c9f420f3cb2213025980badbd8919a2015b5df325d674eea83bab81c2593898701958069a175df528054c1ca841d67c9d724b6099 SHA512 2acf22ab060b090d3bd0a05b96a5d8bd728eab3055d0500ee44186a20ad7daee07be1fba7fd2542cd73419e7c5538731c41a744eadfa9ef97ccf07c07639cf59 -EBUILD blender-3.5.1-r1.ebuild 14058 BLAKE2B 0cd9392356e2c5f4de370e3fafdb1df83eb14711e737a53d151b9d74ea66d46d72918b8bccbd3fa2eb6a7472b4163ada545b4ec6851c4063c2d071bb8deadeb5 SHA512 7f2b225ea53a654078a68800d35edb9d8e2e63312f31002cbbf5654a437ef05f14f581cba2c3df49ddf5f4db8ab88cd931a8c52497e1377d2e1bd633daf54c10 EBUILD blender-3.6.0.ebuild 14058 BLAKE2B 0cd9392356e2c5f4de370e3fafdb1df83eb14711e737a53d151b9d74ea66d46d72918b8bccbd3fa2eb6a7472b4163ada545b4ec6851c4063c2d071bb8deadeb5 SHA512 7f2b225ea53a654078a68800d35edb9d8e2e63312f31002cbbf5654a437ef05f14f581cba2c3df49ddf5f4db8ab88cd931a8c52497e1377d2e1bd633daf54c10 EBUILD blender-3.6.5.ebuild 13964 BLAKE2B 7f20a9f700239826e3d76f0f4a421c3427373e09d929f6cc18d42d45d61e49cf642e62b2fee7ba2a987b0e2a6a8440266bb8ca7e510d7bdf0a30ad91265e4352 SHA512 e223f60c90bd714edaf7b5eb0f96f06c40c690bf44483adcdc28d20e000be20e7e76c57ca9de8413369a52b897aaccf2107d8c7d1f537aa988787e477099d3b8 -EBUILD blender-4.0.1-r1.ebuild 15105 BLAKE2B b3fdaef064c6cb05f86f097fe3e49bf62a426751e4f5608e8bb0997e58f16977eca30c890e9466a782c7e82d6c7fac0317ba7ea01c33e08983f70ceeae0a96ea SHA512 3f4713dcea4ccb411462c082614e4b05a6b18f1ba7b2bb42150b7da662be68ce18f4152d96075c719f5af91cadd28b4f029c6f44397c8a75d72b2221c4d0ed75 -EBUILD blender-9999.ebuild 15014 BLAKE2B 282e0e6922fbcf4a8aff9e810a5deca4a5a3be2c643dc80ce7209c4b24e2719bd5be1c655ca145f6900197a5ca0fe00c0cd1d89f9aa476984a91b1a6bc922331 SHA512 e41c87f92086a792a886fceeeeacd4fef82064775dd3945033aad14b9f2fb3381a554690c53dd1c07bcc42cce8115e3f110b2e92f081ae45ff3a444e6f28de9c +EBUILD blender-3.6.8.ebuild 13964 BLAKE2B 7f20a9f700239826e3d76f0f4a421c3427373e09d929f6cc18d42d45d61e49cf642e62b2fee7ba2a987b0e2a6a8440266bb8ca7e510d7bdf0a30ad91265e4352 SHA512 e223f60c90bd714edaf7b5eb0f96f06c40c690bf44483adcdc28d20e000be20e7e76c57ca9de8413369a52b897aaccf2107d8c7d1f537aa988787e477099d3b8 +EBUILD blender-4.0.1-r1.ebuild 15183 BLAKE2B f82e96d5bbf66c81218218e3cdc1552300c0f240fdd3acb91eed2bdd85f3f4a29147351434270c6758cfc9eb06909d36a555db36ae098c95fd11493f639cacf6 SHA512 a4be6084676ec8b091df1b4abab7124300def7d7af11273109bf11eaf5e64de39568352fa47424289332a6b79c615b42067ae861053559dca4806d5c7c9ab006 +EBUILD blender-4.0.2.ebuild 15017 BLAKE2B 4ef781fa0dc7a0cf97997314bb8b08da56add4ee7509eeb3665b555d71ee70d765639032fb45b7a838e9431c0b4ff0191e2a4bede19dd1cfa7d4d585230fe80d SHA512 a4a9d65d51a378efe1877228f48ad1f1a360bf24adaecc1ed0f3602bbf51e0917cf56ee8a5428e7d1b5f3250ebad423402012fef57e0f5425b7ff116fb55d549 +EBUILD blender-9999.ebuild 14710 BLAKE2B 8c5267375b6a6f504da0ee50cb4532eb222a14f6d4d5d2cade5963a99c494a6bbfbab070d16bd43e87c4d84e483d4405047dedeecb022b156eec37fff69bf60b SHA512 ec738fe6983a68d54b06ddf83a7374e5367dc138923c6144265ca75f30d7b553259babbf1072cec3aea5cdf59541132f1eba13cd295c85a3cb85d65dd4247691 MISC metadata.xml 3362 BLAKE2B c87df9f801d97157a100cb5c83999348e6eb3c97a5fa88f0f649c37ed532e4a18e83f7a45ad0e1cfa4bc13380b808a265027fc9037da8cd37749935370dad096 SHA512 4082608c3012b20aa15a52f9a5452065fcc4a2d39d20f0417b41f4e096fc2fa57d2daf2e95847c2d6867cf5ea188a5fd662e3869964f01f11d681247e1abfb7c diff --git a/media-gfx/blender/blender-3.3.15.ebuild b/media-gfx/blender/blender-3.3.15.ebuild new file mode 100644 index 000000000000..faf2fe0203cd --- /dev/null +++ b/media-gfx/blender/blender-3.3.15.ebuild @@ -0,0 +1,427 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_10 python3_11 ) + +inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" + +if [[ ${PV} = *9999* ]] ; then + # Subversion is needed for downloading unit test files + inherit git-r3 subversion + EGIT_REPO_URI="https://git.blender.org/blender.git" +else + SRC_URI="https://download.blender.org/source/${P}.tar.xz" + # Update these between major releases. + TEST_TARBALL_VERSION="$(ver_cut 1-2).0" + #SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" + KEYWORDS="~amd64 ~arm ~arm64" +fi + +SLOT="${PV%.*}" +LICENSE="|| ( GPL-3 BL )" +IUSE="+bullet +dds +fluid +openexr +tbb \ + alembic collada +color-management cuda +cycles \ + debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \ + man +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \ + +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \ + test +tiff valgrind" +RESTRICT="!test? ( test ) test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tiff openimageio ) + fluid? ( tbb ) + openvdb? ( tbb ) + optix? ( cuda ) + osl? ( cycles ) + test? ( color-management )" + +# Library versions for official builds can be found in the blender source directory in: +# build_files/build_environment/install_deps.sh +# +# 2.90). + BV=${BV:0:1}.${BV:1} + else + # Add period and skip the middle number (301 -> 3.1) + BV=${BV:0:1}.${BV:2} + fi +} + +pkg_pretend() { + blender_check_requirements +} + +pkg_setup() { + blender_check_requirements + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + if use test; then + TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests + subversion_fetch ${TESTS_SVN_URL} ../lib/tests + fi + else + default + if use test; then + #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests + mkdir -p lib || die + mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die + fi + fi + +} + +src_prepare() { + cmake_src_prepare + + blender_get_version + + # Disable MS Windows help generation. The variable doesn't do what it + # it sounds like. + sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ + -i doc/doxygen/Doxyfile || die + + # Prepare icons and .desktop files for slotting. + sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die + + sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die + + mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die + mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die + mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die + + if use test; then + # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. + sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die + sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die + fi +} + +src_configure() { + # Workaround for bug #922600 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + append-lfs-flags + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DPYTHON_VERSION="${EPYTHON/python/}" + -DWITH_ALEMBIC=$(usex alembic) + -DWITH_ASSERT_ABORT=$(usex debug) + -DWITH_BOOST=ON + -DWITH_BULLET=$(usex bullet) + -DWITH_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CXX_GUARDEDALLOC=$(usex debug) + -DWITH_CYCLES=$(usex cycles) + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) + -DWITH_CYCLES_EMBREE=$(usex embree) + -DWITH_CYCLES_OSL=$(usex osl) + -DWITH_CYCLES_STANDALONE=OFF + -DWITH_CYCLES_STANDALONE_GUI=OFF + -DWITH_DOC_MANPAGE=$(usex man) + -DWITH_FFTW3=$(usex fftw) + -DWITH_GMP=$(usex gmp) + -DWITH_GTESTS=$(usex test) + -DWITH_HARU=$(usex pdf) + -DWITH_HEADLESS=$(usex headless) + -DWITH_INSTALL_PORTABLE=OFF + -DWITH_IMAGE_DDS=$(usex dds) + -DWITH_IMAGE_OPENEXR=$(usex openexr) + -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) + -DWITH_IMAGE_TIFF=$(usex tiff) + -DWITH_INPUT_NDOF=$(usex ndof) + -DWITH_INTERNATIONAL=$(usex nls) + -DWITH_JACK=$(usex jack) + -DWITH_MEM_JEMALLOC=$(usex jemalloc) + -DWITH_MEM_VALGRIND=$(usex valgrind) + -DWITH_MOD_FLUID=$(usex fluid) + -DWITH_MOD_OCEANSIM=$(usex fftw) + -DWITH_NANOVDB=$(usex nanovdb) + -DWITH_OPENAL=$(usex openal) + -DWITH_OPENCOLLADA=$(usex collada) + -DWITH_OPENCOLORIO=$(usex color-management) + -DWITH_OPENIMAGEDENOISE=$(usex oidn) + -DWITH_OPENIMAGEIO=$(usex openimageio) + -DWITH_OPENMP=$(usex openmp) + -DWITH_OPENSUBDIV=$(usex opensubdiv) + -DWITH_OPENVDB=$(usex openvdb) + -DWITH_OPENVDB_BLOSC=$(usex openvdb) + -DWITH_POTRACE=$(usex potrace) + -DWITH_PUGIXML=$(usex pugixml) + -DWITH_PULSEAUDIO=$(usex pulseaudio) + -DWITH_PYTHON_INSTALL=OFF + -DWITH_SDL=$(usex sdl) + -DWITH_STATIC_LIBS=OFF + -DWITH_SYSTEM_EIGEN3=ON + -DWITH_SYSTEM_FREETYPE=ON + -DWITH_SYSTEM_GLEW=ON + -DWITH_SYSTEM_LZO=ON + -DWITH_TBB=$(usex tbb) + -DWITH_USD=OFF + -DWITH_XR_OPENXR=OFF + ) + + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + + # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully + use arm64 && append-flags -flax-vector-conversions + + append-flags $(usex debug '-DDEBUG' '-DNDEBUG') + + if tc-is-gcc ; then + # These options only exist when GCC is detected. + # We disable these to respect the user's choice of linker. + mycmakeargs+=( + -DWITH_LINKER_GOLD=OFF + -DWITH_LINKER_LLD=OFF + ) + fi + + cmake_src_configure +} + +src_test() { + # A lot of tests needs to have access to the installed data files. + # So install them into the image directory now. + DESTDIR="${T}" cmake_build install + + blender_get_version + # Define custom blender data/script file paths not be able to find them otherwise during testing. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts" + export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles" + + # Sanity check that the script and datafile path is valid. + # If they are not vaild, blender will fallback to the default path which is not what we want. + [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" + [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" + + cmake_src_test + + # Clean up the image directory for src_install + rm -fr "${T}"/usr || die +} + +src_install() { + blender_get_version + + # Pax mark blender for hardened support. + pax-mark m "${BUILD_DIR}"/bin/blender + + cmake_src_install + + if use man; then + # Slot the man page + mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die + fi + + if use doc; then + # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts + export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles + + # Workaround for binary drivers. + addpredict /dev/ati + addpredict /dev/dri + addpredict /dev/nvidiactl + + einfo "Generating Blender C/C++ API docs ..." + cd "${CMAKE_USE_DIR}"/doc/doxygen || die + doxygen -u Doxyfile || die + doxygen || die "doxygen failed to build API docs." + + cd "${CMAKE_USE_DIR}" || die + einfo "Generating (BPY) Blender Python API docs ..." + "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." + + cd "${CMAKE_USE_DIR}"/doc/python_api || die + sphinx-build sphinx-in BPY_API || die "sphinx failed." + + docinto "html/API/python" + dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. + + docinto "html/API/blender" + dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. + fi + + # Fix doc installdir + docinto html + dodoc "${CMAKE_USE_DIR}"/release/text/readme.html + rm -r "${ED}"/usr/share/doc/blender || die + + python_optimize "${ED}/usr/share/blender/${BV}/scripts" + + mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die + mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die +} + +pkg_postinst() { + elog + elog "Blender uses python integration. As such, may have some" + elog "inherent risks with running unknown python scripts." + elog + elog "It is recommended to change your blender temp directory" + elog "from /tmp to /home/user/tmp or another tmp file under your" + elog "home directory. This can be done by starting blender, then" + elog "changing the 'Temporary Files' directory in Blender preferences." + elog + + if use osl; then + ewarn "" + ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to" + ewarn "an other LLVM version than what OSL is linked to." + ewarn "See https://bugs.gentoo.org/880671 for more details" + ewarn "" + fi + + if ! use python_single_target_python3_10; then + elog "You are building Blender with a newer python version than" + elog "supported by this version upstream." + elog "If you experience breakages with e.g. plugins, please switch to" + elog "python_single_target_python3_10 instead." + elog "Bug: https://bugs.gentoo.org/737388" + elog + fi + + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${SLOT}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/blender-3.4.1-r3.ebuild b/media-gfx/blender/blender-3.4.1-r3.ebuild deleted file mode 100644 index 9e1598a6230f..000000000000 --- a/media-gfx/blender/blender-3.4.1-r3.ebuild +++ /dev/null @@ -1,441 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_10 python3_11 ) - -inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils - -DESCRIPTION="3D Creation/Animation/Publishing System" -HOMEPAGE="https://www.blender.org" - -if [[ ${PV} = *9999* ]] ; then - # Subversion is needed for downloading unit test files - inherit git-r3 subversion - EGIT_REPO_URI="https://git.blender.org/blender.git" -else - SRC_URI="https://download.blender.org/source/${P}.tar.xz" - # Update these between major releases. - TEST_TARBALL_VERSION="$(ver_cut 1-2).0" - #SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" - KEYWORDS="~amd64 ~arm ~arm64" -fi - -SLOT="${PV%.*}" -LICENSE="|| ( GPL-3 BL )" -IUSE="+bullet +dds +fluid +openexr +tbb \ - alembic collada +color-management cuda +cycles \ - debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k \ - man +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \ - +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \ - test +tiff valgrind wayland X" -RESTRICT="!test? ( test )" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - alembic? ( openexr ) - cuda? ( cycles ) - cycles? ( openexr tiff openimageio ) - fluid? ( tbb ) - openvdb? ( tbb ) - optix? ( cuda ) - osl? ( cycles ) - test? ( color-management )" - -# Library versions for official builds can be found in the blender source directory in: -# build_files/build_environment/install_deps.sh -# -# 2.90). - BV=${BV:0:1}.${BV:1} - else - # Add period and skip the middle number (301 -> 3.1) - BV=${BV:0:1}.${BV:2} - fi -} - -pkg_pretend() { - blender_check_requirements -} - -pkg_setup() { - blender_check_requirements - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} = *9999* ]] ; then - git-r3_src_unpack - if use test; then - TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests - subversion_fetch ${TESTS_SVN_URL} ../lib/tests - fi - else - default - if use test; then - #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests - mkdir -p lib || die - mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die - fi - fi - -} - -src_prepare() { - cmake_src_prepare - - blender_get_version - - # Disable MS Windows help generation. The variable doesn't do what it - # it sounds like. - sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ - -i doc/doxygen/Doxyfile || die - - # Prepare icons and .desktop files for slotting. - sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die - - sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die - sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die - sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die - - mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die - mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die - mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die - - if use test; then - # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. - sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die - sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die - fi -} - -src_configure() { - # Workaround for bug #922600 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - append-lfs-flags - blender_get_version - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=OFF - -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" - -DPYTHON_LIBRARY="$(python_get_library_path)" - -DPYTHON_VERSION="${EPYTHON/python/}" - -DWITH_ALEMBIC=$(usex alembic) - -DWITH_ASSERT_ABORT=$(usex debug) - -DWITH_BOOST=ON - -DWITH_BULLET=$(usex bullet) - -DWITH_CODEC_FFMPEG=$(usex ffmpeg) - -DWITH_CODEC_SNDFILE=$(usex sndfile) - -DWITH_CXX_GUARDEDALLOC=$(usex debug) - -DWITH_CYCLES=$(usex cycles) - -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) - -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) - -DWITH_CYCLES_EMBREE=$(usex embree) - -DWITH_CYCLES_OSL=$(usex osl) - -DWITH_CYCLES_PATH_GUIDING=OFF - -DWITH_CYCLES_STANDALONE=OFF - -DWITH_CYCLES_STANDALONE_GUI=OFF - -DWITH_DOC_MANPAGE=$(usex man) - -DWITH_FFTW3=$(usex fftw) - -DWITH_GHOST_WAYLAND=$(usex wayland) - -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" - -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland) - -DWITH_GHOST_WAYLAND_DYNLOAD=OFF - -DWITH_GHOST_WAYLAND_LIBDECOR=OFF - -DWITH_GHOST_X11=$(usex X) - -DWITH_GMP=$(usex gmp) - -DWITH_GTESTS=$(usex test) - -DWITH_HARU=$(usex pdf) - -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) - -DWITH_INSTALL_PORTABLE=OFF - -DWITH_IMAGE_DDS=$(usex dds) - -DWITH_IMAGE_OPENEXR=$(usex openexr) - -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) - -DWITH_IMAGE_TIFF=$(usex tiff) - -DWITH_INPUT_NDOF=$(usex ndof) - -DWITH_INTERNATIONAL=$(usex nls) - -DWITH_JACK=$(usex jack) - -DWITH_MEM_JEMALLOC=$(usex jemalloc) - -DWITH_MEM_VALGRIND=$(usex valgrind) - -DWITH_MOD_FLUID=$(usex fluid) - -DWITH_MOD_OCEANSIM=$(usex fftw) - -DWITH_NANOVDB=$(usex nanovdb) - -DWITH_OPENAL=$(usex openal) - -DWITH_OPENCOLLADA=$(usex collada) - -DWITH_OPENCOLORIO=$(usex color-management) - -DWITH_OPENIMAGEDENOISE=$(usex oidn) - -DWITH_OPENIMAGEIO=$(usex openimageio) - -DWITH_OPENMP=$(usex openmp) - -DWITH_OPENSUBDIV=$(usex opensubdiv) - -DWITH_OPENVDB=$(usex openvdb) - -DWITH_OPENVDB_BLOSC=$(usex openvdb) - -DWITH_POTRACE=$(usex potrace) - -DWITH_PUGIXML=$(usex pugixml) - -DWITH_PULSEAUDIO=$(usex pulseaudio) - -DWITH_PYTHON_INSTALL=OFF - -DWITH_SDL=$(usex sdl) - -DWITH_STATIC_LIBS=OFF - -DWITH_SYSTEM_EIGEN3=ON - -DWITH_SYSTEM_FREETYPE=ON - -DWITH_SYSTEM_LZO=ON - -DWITH_TBB=$(usex tbb) - -DWITH_USD=OFF - -DWITH_XR_OPENXR=OFF - ) - - if use optix; then - mycmakeargs+=( - -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix - -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix - ) - fi - - # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully - use arm64 && append-flags -flax-vector-conversions - - append-flags $(usex debug '-DDEBUG' '-DNDEBUG') - - if tc-is-gcc ; then - # These options only exist when GCC is detected. - # We disable these to respect the user's choice of linker. - mycmakeargs+=( - -DWITH_LINKER_GOLD=OFF - -DWITH_LINKER_LLD=OFF - ) - fi - - cmake_src_configure -} - -src_test() { - # A lot of tests needs to have access to the installed data files. - # So install them into the image directory now. - DESTDIR="${T}" cmake_build install - - blender_get_version - # Define custom blender data/script file paths not be able to find them otherwise during testing. - # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts" - export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles" - - # Sanity check that the script and datafile path is valid. - # If they are not vaild, blender will fallback to the default path which is not what we want. - [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" - [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" - - cmake_src_test - - # Clean up the image directory for src_install - rm -fr "${T}"/usr || die -} - -src_install() { - blender_get_version - - # Pax mark blender for hardened support. - pax-mark m "${BUILD_DIR}"/bin/blender - - cmake_src_install - - if use man; then - # Slot the man page - mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die - fi - - if use doc; then - # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. - # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts - export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles - - # Workaround for binary drivers. - addpredict /dev/ati - addpredict /dev/dri - addpredict /dev/nvidiactl - - einfo "Generating Blender C/C++ API docs ..." - cd "${CMAKE_USE_DIR}"/doc/doxygen || die - doxygen -u Doxyfile || die - doxygen || die "doxygen failed to build API docs." - - cd "${CMAKE_USE_DIR}" || die - einfo "Generating (BPY) Blender Python API docs ..." - "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." - - cd "${CMAKE_USE_DIR}"/doc/python_api || die - sphinx-build sphinx-in BPY_API || die "sphinx failed." - - docinto "html/API/python" - dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. - - docinto "html/API/blender" - dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. - fi - - # Fix doc installdir - docinto html - dodoc "${CMAKE_USE_DIR}"/release/text/readme.html - rm -r "${ED}"/usr/share/doc/blender || die - - python_optimize "${ED}/usr/share/blender/${BV}/scripts" - - mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die - mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die -} - -pkg_postinst() { - elog - elog "Blender uses python integration. As such, may have some" - elog "inherent risks with running unknown python scripts." - elog - elog "It is recommended to change your blender temp directory" - elog "from /tmp to /home/user/tmp or another tmp file under your" - elog "home directory. This can be done by starting blender, then" - elog "changing the 'Temporary Files' directory in Blender preferences." - elog - - if use osl; then - ewarn "" - ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to" - ewarn "an other LLVM version than what OSL is linked to." - ewarn "See https://bugs.gentoo.org/880671 for more details" - ewarn "" - fi - - if ! use python_single_target_python3_10; then - elog "You are building Blender with a newer python version than" - elog "supported by this version upstream." - elog "If you experience breakages with e.g. plugins, please switch to" - elog "python_single_target_python3_10 instead." - elog "Bug: https://bugs.gentoo.org/737388" - elog - fi - - xdg_icon_cache_update - xdg_mimeinfo_database_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_mimeinfo_database_update - xdg_desktop_database_update - - ewarn "" - ewarn "You may want to remove the following directory." - ewarn "~/.config/${PN}/${SLOT}/cache/" - ewarn "It may contain extra render kernels not tracked by portage" - ewarn "" -} diff --git a/media-gfx/blender/blender-3.5.1-r1.ebuild b/media-gfx/blender/blender-3.5.1-r1.ebuild deleted file mode 100644 index 49ca6280a4dd..000000000000 --- a/media-gfx/blender/blender-3.5.1-r1.ebuild +++ /dev/null @@ -1,444 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_10 python3_11 ) - -inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils - -DESCRIPTION="3D Creation/Animation/Publishing System" -HOMEPAGE="https://www.blender.org" - -if [[ ${PV} = *9999* ]] ; then - # Subversion is needed for downloading unit test files - inherit git-r3 subversion - EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" - ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git" -else - SRC_URI="https://download.blender.org/source/${P}.tar.xz" - # Update these between major releases. - TEST_TARBALL_VERSION="$(ver_cut 1-2).0" - # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" - KEYWORDS="~amd64 ~arm ~arm64" -fi - -SLOT="${PV%.*}" -LICENSE="|| ( GPL-3 BL )" -IUSE="+bullet +dds +fluid +openexr +tbb - alembic collada +color-management cuda +cycles cycles-bin-kernels - debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k - man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv - +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl - +sndfile test +tiff valgrind wayland X" -RESTRICT="!test? ( test )" - -REQUIRED_USE="${PYTHON_REQUIRED_USE} - alembic? ( openexr ) - cuda? ( cycles ) - cycles? ( openexr tiff ) - fluid? ( tbb ) - openvdb? ( tbb ) - optix? ( cuda ) - osl? ( cycles ) - test? ( color-management )" - -# Library versions for official builds can be found in the blender source directory in: -# build_files/build_environment/install_deps.sh -# -# 2.90). - BV=${BV:0:1}.${BV:1} - else - # Add period and skip the middle number (301 -> 3.1) - BV=${BV:0:1}.${BV:2} - fi -} - -pkg_pretend() { - blender_check_requirements -} - -pkg_setup() { - blender_check_requirements - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} = *9999* ]] ; then - git-r3_src_unpack - - git-r3_fetch "${ADDONS_EGIT_REPO_URI}" - git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons" - - if use test; then - TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests - subversion_fetch ${TESTS_SVN_URL} ../lib/tests - fi - ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets - subversion_fetch ${ASSETS_SVN_URL} ../lib/assets - else - default - if use test; then - #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests - mkdir -p lib || die - mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die - fi - fi - -} - -src_prepare() { - cmake_src_prepare - - blender_get_version - - # Disable MS Windows help generation. The variable doesn't do what it - # it sounds like. - sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ - -i doc/doxygen/Doxyfile || die - - # Prepare icons and .desktop files for slotting. - sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die - sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die - - sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die - sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die - sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die - - mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die - mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die - mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die - - if use test; then - # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. - sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die - sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die - fi -} - -src_configure() { - # Workaround for bug #922600 - append-ldflags $(test-flags-CCLD -Wl,--undefined-version) - - append-lfs-flags - blender_get_version - - local mycmakeargs=( - -DBUILD_SHARED_LIBS=OFF - -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" - -DPYTHON_LIBRARY="$(python_get_library_path)" - -DPYTHON_VERSION="${EPYTHON/python/}" - -DWITH_ALEMBIC=$(usex alembic) - -DWITH_ASSERT_ABORT=$(usex debug) - -DWITH_BOOST=ON - -DWITH_BULLET=$(usex bullet) - -DWITH_CODEC_FFMPEG=$(usex ffmpeg) - -DWITH_CODEC_SNDFILE=$(usex sndfile) - -DWITH_CXX_GUARDEDALLOC=$(usex debug) - -DWITH_CYCLES=$(usex cycles) - -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels) - -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) - -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) - -DWITH_CYCLES_EMBREE=$(usex embree) - -DWITH_CYCLES_OSL=$(usex osl) - -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl) - -DWITH_CYCLES_STANDALONE=OFF - -DWITH_CYCLES_STANDALONE_GUI=OFF - -DWITH_DOC_MANPAGE=$(usex man) - -DWITH_FFTW3=$(usex fftw) - -DWITH_GHOST_WAYLAND=$(usex wayland) - -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" - -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland) - -DWITH_GHOST_WAYLAND_DYNLOAD=OFF - -DWITH_GHOST_WAYLAND_LIBDECOR=OFF - -DWITH_GHOST_X11=$(usex X) - -DWITH_GMP=$(usex gmp) - -DWITH_GTESTS=$(usex test) - -DWITH_HARU=$(usex pdf) - -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) - -DWITH_INSTALL_PORTABLE=OFF - -DWITH_IMAGE_DDS=$(usex dds) - -DWITH_IMAGE_OPENEXR=$(usex openexr) - -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) - -DWITH_IMAGE_TIFF=$(usex tiff) - -DWITH_INPUT_NDOF=$(usex ndof) - -DWITH_INTERNATIONAL=$(usex nls) - -DWITH_JACK=$(usex jack) - -DWITH_MEM_JEMALLOC=$(usex jemalloc) - -DWITH_MEM_VALGRIND=$(usex valgrind) - -DWITH_MOD_FLUID=$(usex fluid) - -DWITH_MOD_OCEANSIM=$(usex fftw) - -DWITH_NANOVDB=$(usex nanovdb) - -DWITH_OPENAL=$(usex openal) - -DWITH_OPENCOLLADA=$(usex collada) - -DWITH_OPENCOLORIO=$(usex color-management) - -DWITH_OPENIMAGEDENOISE=$(usex oidn) - -DWITH_OPENMP=$(usex openmp) - -DWITH_OPENSUBDIV=$(usex opensubdiv) - -DWITH_OPENVDB=$(usex openvdb) - -DWITH_OPENVDB_BLOSC=$(usex openvdb) - -DWITH_POTRACE=$(usex potrace) - -DWITH_PUGIXML=$(usex pugixml) - -DWITH_PULSEAUDIO=$(usex pulseaudio) - -DWITH_PYTHON_INSTALL=OFF - -DWITH_SDL=$(usex sdl) - -DWITH_STATIC_LIBS=OFF - -DWITH_SYSTEM_EIGEN3=ON - -DWITH_SYSTEM_FREETYPE=ON - -DWITH_SYSTEM_LZO=ON - -DWITH_TBB=$(usex tbb) - -DWITH_USD=OFF - -DWITH_XR_OPENXR=OFF - ) - - if use optix; then - mycmakeargs+=( - -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix - -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix - ) - fi - - # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully - use arm64 && append-flags -flax-vector-conversions - - append-flags $(usex debug '-DDEBUG' '-DNDEBUG') - - if tc-is-gcc ; then - # These options only exist when GCC is detected. - # We disable these to respect the user's choice of linker. - mycmakeargs+=( - -DWITH_LINKER_GOLD=OFF - -DWITH_LINKER_LLD=OFF - ) - fi - - cmake_src_configure -} - -src_test() { - # A lot of tests needs to have access to the installed data files. - # So install them into the image directory now. - DESTDIR="${T}" cmake_build install - - blender_get_version - # Define custom blender data/script file paths not be able to find them otherwise during testing. - # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts" - export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles" - - # Sanity check that the script and datafile path is valid. - # If they are not vaild, blender will fallback to the default path which is not what we want. - [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" - [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" - - cmake_src_test - - # Clean up the image directory for src_install - rm -fr "${T}"/usr || die -} - -src_install() { - blender_get_version - - # Pax mark blender for hardened support. - pax-mark m "${BUILD_DIR}"/bin/blender - - cmake_src_install - - if use man; then - # Slot the man page - mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die - fi - - if use doc; then - # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. - # (Because the data is in the image directory and it will default to look in /usr/share) - export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts - export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles - - # Workaround for binary drivers. - addpredict /dev/ati - addpredict /dev/dri - addpredict /dev/nvidiactl - - einfo "Generating Blender C/C++ API docs ..." - cd "${CMAKE_USE_DIR}"/doc/doxygen || die - doxygen -u Doxyfile || die - doxygen || die "doxygen failed to build API docs." - - cd "${CMAKE_USE_DIR}" || die - einfo "Generating (BPY) Blender Python API docs ..." - "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." - - cd "${CMAKE_USE_DIR}"/doc/python_api || die - sphinx-build sphinx-in BPY_API || die "sphinx failed." - - docinto "html/API/python" - dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. - - docinto "html/API/blender" - dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. - fi - - # Fix doc installdir - docinto html - dodoc "${CMAKE_USE_DIR}"/release/text/readme.html - rm -r "${ED}"/usr/share/doc/blender || die - - python_optimize "${ED}/usr/share/blender/${BV}/scripts" - - mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die - mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die -} - -pkg_postinst() { - elog - elog "Blender uses python integration. As such, may have some" - elog "inherent risks with running unknown python scripts." - elog - elog "It is recommended to change your blender temp directory" - elog "from /tmp to /home/user/tmp or another tmp file under your" - elog "home directory. This can be done by starting blender, then" - elog "changing the 'Temporary Files' directory in Blender preferences." - elog - - if use osl; then - ewarn "" - ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to" - ewarn "an other LLVM version than what OSL is linked to." - ewarn "See https://bugs.gentoo.org/880671 for more details" - ewarn "" - fi - - if ! use python_single_target_python3_10; then - elog "You are building Blender with a newer python version than" - elog "supported by this version upstream." - elog "If you experience breakages with e.g. plugins, please switch to" - elog "python_single_target_python3_10 instead." - elog "Bug: https://bugs.gentoo.org/737388" - elog - fi - - xdg_icon_cache_update - xdg_mimeinfo_database_update - xdg_desktop_database_update -} - -pkg_postrm() { - xdg_icon_cache_update - xdg_mimeinfo_database_update - xdg_desktop_database_update - - ewarn "" - ewarn "You may want to remove the following directory." - ewarn "~/.config/${PN}/${SLOT}/cache/" - ewarn "It may contain extra render kernels not tracked by portage" - ewarn "" -} diff --git a/media-gfx/blender/blender-3.6.8.ebuild b/media-gfx/blender/blender-3.6.8.ebuild new file mode 100644 index 000000000000..8dc4de747a8c --- /dev/null +++ b/media-gfx/blender/blender-3.6.8.ebuild @@ -0,0 +1,442 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_10 python3_11 ) + +inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" + +if [[ ${PV} = *9999* ]] ; then + # Subversion is needed for downloading unit test files + inherit git-r3 subversion + EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" + ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git" +else + SRC_URI="https://download.blender.org/source/${P}.tar.xz" + # Update these between major releases. + TEST_TARBALL_VERSION="$(ver_cut 1-2).0" + # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" + KEYWORDS="~amd64 ~arm ~arm64" +fi + +SLOT="${PV%.*}" +LICENSE="|| ( GPL-3 BL )" +IUSE="+bullet +dds +fluid +openexr +tbb + alembic collada +color-management cuda +cycles cycles-bin-kernels + debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k + man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv + +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl + +sndfile test +tiff valgrind wayland X" +RESTRICT="!test? ( test )" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tiff ) + fluid? ( tbb ) + openvdb? ( tbb ) + optix? ( cuda ) + osl? ( cycles ) + test? ( color-management )" + +# Library versions for official builds can be found in the blender source directory in: +# build_files/build_environment/install_deps.sh +RDEPEND="${PYTHON_DEPS} + dev-libs/boost:=[nls?] + dev-libs/lzo:2= + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') + media-libs/freetype:=[brotli] + media-libs/libepoxy:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libsamplerate + >=media-libs/openimageio-2.4.6.0:= + sys-libs/zlib:= + virtual/glu + virtual/libintl + virtual/opengl + alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) + collada? ( >=media-libs/opencollada-1.6.68 ) + color-management? ( media-libs/opencolorio:= ) + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + embree? ( >=media-libs/embree-3.10.0[raymask] ) + ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) + fftw? ( sci-libs/fftw:3.0= ) + gmp? ( dev-libs/gmp ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + ndof? ( + app-misc/spacenavd + dev-libs/libspnav + ) + nls? ( virtual/libiconv ) + openal? ( media-libs/openal ) + oidn? ( >=media-libs/oidn-1.4.1 ) + openexr? ( + >=dev-libs/imath-3.1.4-r2:= + >=media-libs/openexr-3:0= + ) + openpgl? ( media-libs/openpgl ) + opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) + openvdb? ( + >=media-gfx/openvdb-9.0.0:=[nanovdb?] + dev-libs/c-blosc:= + ) + optix? ( =media-libs/osl-1.11.16.0-r3:= ) + pdf? ( media-libs/libharu ) + potrace? ( media-gfx/potrace ) + pugixml? ( dev-libs/pugixml ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( media-libs/libsdl2[sound,joystick] ) + sndfile? ( media-libs/libsndfile ) + tbb? ( dev-cpp/tbb:= ) + tiff? ( media-libs/tiff:= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=dev-libs/wayland-1.12 + >=dev-libs/wayland-protocols-1.15 + >=x11-libs/libxkbcommon-0.2.0 + media-libs/mesa[wayland] + sys-apps/dbus + ) + X? ( + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXxf86vm + ) +" + +DEPEND="${RDEPEND} + dev-cpp/eigen:= +" + +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + dev-python/sphinx[latex] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + ) + nls? ( sys-devel/gettext ) + wayland? ( + dev-util/wayland-scanner + ) +" + +blender_check_requirements() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + + if use doc; then + CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend + fi +} + +blender_get_version() { + # Get blender version from blender itself. + BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert) + if ((${BV:0:1} < 3)) ; then + # Add period (290 -> 2.90). + BV=${BV:0:1}.${BV:1} + else + # Add period and skip the middle number (301 -> 3.1) + BV=${BV:0:1}.${BV:2} + fi +} + +pkg_pretend() { + blender_check_requirements +} + +pkg_setup() { + blender_check_requirements + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + + git-r3_fetch "${ADDONS_EGIT_REPO_URI}" + git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons" + + if use test; then + TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests + subversion_fetch ${TESTS_SVN_URL} ../lib/tests + fi + ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets + subversion_fetch ${ASSETS_SVN_URL} ../lib/assets + else + default + if use test; then + #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests + mkdir -p lib || die + mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die + fi + fi + +} + +src_prepare() { + cmake_src_prepare + + blender_get_version + + # Disable MS Windows help generation. The variable doesn't do what it + # it sounds like. + sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ + -i doc/doxygen/Doxyfile || die + + # Prepare icons and .desktop files for slotting. + sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die + sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die + + sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die + sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die + + mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die + mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die + mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die + + if use test; then + # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. + sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die + sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die + fi +} + +src_configure() { + # Workaround for bug #922600 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + append-lfs-flags + blender_get_version + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DPYTHON_VERSION="${EPYTHON/python/}" + -DWITH_ALEMBIC=$(usex alembic) + -DWITH_ASSERT_ABORT=$(usex debug) + -DWITH_BOOST=ON + -DWITH_BULLET=$(usex bullet) + -DWITH_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CXX_GUARDEDALLOC=$(usex debug) + -DWITH_CYCLES=$(usex cycles) + -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels) + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE) + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) + -DWITH_CYCLES_EMBREE=$(usex embree) + -DWITH_CYCLES_OSL=$(usex osl) + -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl) + -DWITH_CYCLES_STANDALONE=OFF + -DWITH_CYCLES_STANDALONE_GUI=OFF + -DWITH_DOC_MANPAGE=$(usex man) + -DWITH_FFTW3=$(usex fftw) + -DWITH_GHOST_WAYLAND=$(usex wayland) + -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" + -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland) + -DWITH_GHOST_WAYLAND_DYNLOAD=OFF + -DWITH_GHOST_WAYLAND_LIBDECOR=OFF + -DWITH_GHOST_X11=$(usex X) + -DWITH_GMP=$(usex gmp) + -DWITH_GTESTS=$(usex test) + -DWITH_HARU=$(usex pdf) + -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) + -DWITH_INSTALL_PORTABLE=OFF + -DWITH_IMAGE_DDS=$(usex dds) + -DWITH_IMAGE_OPENEXR=$(usex openexr) + -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) + -DWITH_IMAGE_TIFF=$(usex tiff) + -DWITH_INPUT_NDOF=$(usex ndof) + -DWITH_INTERNATIONAL=$(usex nls) + -DWITH_JACK=$(usex jack) + -DWITH_MEM_JEMALLOC=$(usex jemalloc) + -DWITH_MEM_VALGRIND=$(usex valgrind) + -DWITH_MOD_FLUID=$(usex fluid) + -DWITH_MOD_OCEANSIM=$(usex fftw) + -DWITH_NANOVDB=$(usex nanovdb) + -DWITH_OPENAL=$(usex openal) + -DWITH_OPENCOLLADA=$(usex collada) + -DWITH_OPENCOLORIO=$(usex color-management) + -DWITH_OPENIMAGEDENOISE=$(usex oidn) + -DWITH_OPENMP=$(usex openmp) + -DWITH_OPENSUBDIV=$(usex opensubdiv) + -DWITH_OPENVDB=$(usex openvdb) + -DWITH_OPENVDB_BLOSC=$(usex openvdb) + -DWITH_POTRACE=$(usex potrace) + -DWITH_PUGIXML=$(usex pugixml) + -DWITH_PULSEAUDIO=$(usex pulseaudio) + -DWITH_PYTHON_INSTALL=OFF + -DWITH_SDL=$(usex sdl) + -DWITH_STATIC_LIBS=OFF + -DWITH_SYSTEM_EIGEN3=ON + -DWITH_SYSTEM_FREETYPE=ON + -DWITH_SYSTEM_LZO=ON + -DWITH_TBB=$(usex tbb) + -DWITH_USD=OFF + -DWITH_XR_OPENXR=OFF + ) + + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + + # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully + use arm64 && append-flags -flax-vector-conversions + + append-flags $(usex debug '-DDEBUG' '-DNDEBUG') + + if tc-is-gcc ; then + # These options only exist when GCC is detected. + # We disable these to respect the user's choice of linker. + mycmakeargs+=( + -DWITH_LINKER_GOLD=OFF + -DWITH_LINKER_LLD=OFF + ) + fi + + cmake_src_configure +} + +src_test() { + # A lot of tests needs to have access to the installed data files. + # So install them into the image directory now. + DESTDIR="${T}" cmake_build install + + blender_get_version + # Define custom blender data/script file paths not be able to find them otherwise during testing. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts" + export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles" + + # Sanity check that the script and datafile path is valid. + # If they are not vaild, blender will fallback to the default path which is not what we want. + [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" + [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" + + cmake_src_test + + # Clean up the image directory for src_install + rm -fr "${T}"/usr || die +} + +src_install() { + blender_get_version + + # Pax mark blender for hardened support. + pax-mark m "${BUILD_DIR}"/bin/blender + + cmake_src_install + + if use man; then + # Slot the man page + mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die + fi + + if use doc; then + # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts + export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles + + # Workaround for binary drivers. + addpredict /dev/ati + addpredict /dev/dri + addpredict /dev/nvidiactl + + einfo "Generating Blender C/C++ API docs ..." + cd "${CMAKE_USE_DIR}"/doc/doxygen || die + doxygen -u Doxyfile || die + doxygen || die "doxygen failed to build API docs." + + cd "${CMAKE_USE_DIR}" || die + einfo "Generating (BPY) Blender Python API docs ..." + "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." + + cd "${CMAKE_USE_DIR}"/doc/python_api || die + sphinx-build sphinx-in BPY_API || die "sphinx failed." + + docinto "html/API/python" + dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. + + docinto "html/API/blender" + dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. + fi + + # Fix doc installdir + docinto html + dodoc "${CMAKE_USE_DIR}"/release/text/readme.html + rm -r "${ED}"/usr/share/doc/blender || die + + python_optimize "${ED}/usr/share/blender/${BV}/scripts" + + mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die + mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die +} + +pkg_postinst() { + elog + elog "Blender uses python integration. As such, may have some" + elog "inherent risks with running unknown python scripts." + elog + elog "It is recommended to change your blender temp directory" + elog "from /tmp to /home/user/tmp or another tmp file under your" + elog "home directory. This can be done by starting blender, then" + elog "changing the 'Temporary Files' directory in Blender preferences." + elog + + if use osl; then + ewarn "" + ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to" + ewarn "an other LLVM version than what OSL is linked to." + ewarn "See https://bugs.gentoo.org/880671 for more details" + ewarn "" + fi + + if ! use python_single_target_python3_10; then + elog "You are building Blender with a newer python version than" + elog "supported by this version upstream." + elog "If you experience breakages with e.g. plugins, please switch to" + elog "python_single_target_python3_10 instead." + elog "Bug: https://bugs.gentoo.org/737388" + elog + fi + + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${SLOT}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/blender-4.0.1-r1.ebuild b/media-gfx/blender/blender-4.0.1-r1.ebuild index 5f4042e3652f..0475458f0e06 100644 --- a/media-gfx/blender/blender-4.0.1-r1.ebuild +++ b/media-gfx/blender/blender-4.0.1-r1.ebuild @@ -400,11 +400,14 @@ src_install() { # Pax mark blender for hardened support. pax-mark m "${BUILD_DIR}"/bin/blender - cmake_src_install - if use man; then + # XXX: Stupid temporary hack for bug #925254 + cmake_src_install -j1 + # Slot the man page mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die + else + cmake_src_install fi if use doc; then diff --git a/media-gfx/blender/blender-4.0.2.ebuild b/media-gfx/blender/blender-4.0.2.ebuild new file mode 100644 index 000000000000..dfad5adeb33d --- /dev/null +++ b/media-gfx/blender/blender-4.0.2.ebuild @@ -0,0 +1,490 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..11} ) + +inherit check-reqs cmake cuda flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" + +if [[ ${PV} = *9999* ]] ; then + # Subversion is needed for downloading unit test files + inherit git-r3 subversion + EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" + ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git" +else + SRC_URI="https://download.blender.org/source/${P}.tar.xz" + # Update these between major releases. + TEST_TARBALL_VERSION="$(ver_cut 1-2).0" + # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" + KEYWORDS="~amd64 ~arm ~arm64" +fi + +SLOT="${PV%.*}" +LICENSE="|| ( GPL-3 BL )" +IUSE="+bullet +fluid +openexr +tbb + alembic collada +color-management cuda +cycles cycles-bin-kernels + debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k + man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv + +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl + +sndfile test +tiff valgrind wayland +webp X" +RESTRICT="test" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tiff tbb ) + fluid? ( tbb ) + nanovdb? ( openvdb ) + openvdb? ( tbb openexr ) + optix? ( cuda ) + osl? ( cycles pugixml ) + test? ( color-management )" + +# Library versions for official builds can be found in the blender source directory in: +# build_files/build_environment/install_deps.sh +RDEPEND="${PYTHON_DEPS} + app-arch/zstd + dev-libs/boost:=[nls?] + dev-libs/lzo:2= + $(python_gen_cond_dep ' + dev-python/cython[${PYTHON_USEDEP}] + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/zstandard[${PYTHON_USEDEP}] + dev-python/requests[${PYTHON_USEDEP}] + ') + media-libs/freetype:=[brotli] + media-libs/libepoxy:= + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libsamplerate + >=media-libs/openimageio-2.4.6.0:= + sys-libs/zlib:= + virtual/glu + virtual/libintl + virtual/opengl + alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] ) + collada? ( >=media-libs/opencollada-1.6.68 ) + color-management? ( media-libs/opencolorio:= ) + cuda? ( dev-util/nvidia-cuda-toolkit:= ) + embree? ( >=media-libs/embree-3.13.0[raymask] ) + ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) + fftw? ( sci-libs/fftw:3.0= ) + gmp? ( dev-libs/gmp ) + jack? ( virtual/jack ) + jemalloc? ( dev-libs/jemalloc:= ) + jpeg2k? ( media-libs/openjpeg:2= ) + ndof? ( + app-misc/spacenavd + dev-libs/libspnav + ) + nls? ( virtual/libiconv ) + openal? ( media-libs/openal ) + oidn? ( >=media-libs/oidn-1.4.0 ) + openexr? ( + >=dev-libs/imath-3.1.4-r2:= + >=media-libs/openexr-3:0= + ) + openpgl? ( >=media-libs/openpgl-0.5.0 ) + opensubdiv? ( >=media-libs/opensubdiv-3.5.0 ) + openvdb? ( + >=media-gfx/openvdb-10.0.0:=[nanovdb?] + dev-libs/c-blosc:= + ) + optix? ( =media-libs/osl-1.11.16.0-r3:= ) + pdf? ( media-libs/libharu ) + potrace? ( media-gfx/potrace ) + pugixml? ( dev-libs/pugixml ) + pulseaudio? ( media-libs/libpulse ) + sdl? ( media-libs/libsdl2[sound,joystick] ) + sndfile? ( media-libs/libsndfile ) + tbb? ( dev-cpp/tbb:= ) + tiff? ( media-libs/tiff:= ) + valgrind? ( dev-debug/valgrind ) + wayland? ( + >=dev-libs/wayland-1.12 + >=dev-libs/wayland-protocols-1.15 + >=x11-libs/libxkbcommon-0.2.0 + dev-util/wayland-scanner + media-libs/mesa[wayland] + sys-apps/dbus + ) + X? ( + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXxf86vm + ) +" + +DEPEND="${RDEPEND} + dev-cpp/eigen:= +" + +BDEPEND=" + virtual/pkgconfig + doc? ( + app-text/doxygen[dot] + dev-python/sphinx[latex] + dev-texlive/texlive-bibtexextra + dev-texlive/texlive-fontsextra + dev-texlive/texlive-fontutils + dev-texlive/texlive-latex + dev-texlive/texlive-latexextra + ) + nls? ( sys-devel/gettext ) + wayland? ( + dev-util/wayland-scanner + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.1-fix-cflags-cleaner.patch" # to be dropped for releases after Dec 8, 2023 +) + +blender_check_requirements() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + + if use doc; then + CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend + fi +} + +blender_get_version() { + # Get blender version from blender itself. + BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert) + if ((${BV:0:1} < 3)) ; then + # Add period (290 -> 2.90). + BV=${BV:0:1}.${BV:1} + else + # Add period and skip the middle number (301 -> 3.1) + BV=${BV:0:1}.${BV:2} + fi +} + +pkg_pretend() { + blender_check_requirements +} + +pkg_setup() { + blender_check_requirements + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + git-r3_src_unpack + + git-r3_fetch "${ADDONS_EGIT_REPO_URI}" + git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons" + + if use test; then + TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests + subversion_fetch ${TESTS_SVN_URL} ../lib/tests + fi + ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets + subversion_fetch ${ASSETS_SVN_URL} ../lib/assets + else + default + if use test; then + #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests + mkdir -p lib || die + mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die + fi + fi + +} + +src_prepare() { + cmake_src_prepare + + blender_get_version + + # Disable MS Windows help generation. The variable doesn't do what it + # it sounds like. + sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \ + -i doc/doxygen/Doxyfile || die + + # Prepare icons and .desktop files for slotting. + sed \ + -e "s|blender.svg|blender-${BV}.svg|" \ + -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" \ + -e "s|blender.desktop|blender-${BV}.desktop|" \ + -i source/creator/CMakeLists.txt || die + + sed \ + -e "s|Name=Blender|Name=Blender ${PV}|" \ + -e "s|Exec=blender|Exec=blender-${BV}|" \ + -e "s|Icon=blender|Icon=blender-${BV}|" \ + -i release/freedesktop/blender.desktop || die + + mv \ + release/freedesktop/icons/scalable/apps/blender.svg \ + "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die + mv \ + release/freedesktop/icons/symbolic/apps/blender-symbolic.svg \ + "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die + mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die + + if use test; then + # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. + sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die + sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die + fi +} + +src_configure() { + # Workaround for bug #922600 + append-ldflags $(test-flags-CCLD -Wl,--undefined-version) + + append-lfs-flags + blender_get_version + + local mycmakeargs=( + -DWITH_LIBS_PRECOMPILED=no + -DBUILD_SHARED_LIBS=no + -DPYTHON_INCLUDE_DIR="$(python_get_includedir)" + -DPYTHON_LIBRARY="$(python_get_library_path)" + -DPYTHON_VERSION="${EPYTHON/python/}" + -DWITH_ALEMBIC=$(usex alembic) + -DWITH_BOOST=yes + -DWITH_BULLET=$(usex bullet) + -DWITH_CLANG=$(usex osl) + -DWITH_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CYCLES=$(usex cycles) + -DWITH_CYCLES_CUDA_BINARIES=$(usex cuda $(usex cycles-bin-kernels)) + -DWITH_CYCLES_DEVICE_ONEAPI=no + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda) + -DWITH_CYCLES_DEVICE_HIP=no + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) + -DWITH_CYCLES_EMBREE=$(usex embree) + -DWITH_CYCLES_HIP_BINARIES=no + -DWITH_CYCLES_ONEAPI_BINARIES=no + -DWITH_CYCLES_OSL=$(usex osl) + -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl) + -DWITH_CYCLES_STANDALONE=no + -DWITH_CYCLES_STANDALONE_GUI=no + -DWITH_DOC_MANPAGE=$(usex man) + -DWITH_FFTW3=$(usex fftw) + -DWITH_GHOST_WAYLAND=$(usex wayland) + -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" + -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland) + -DWITH_GHOST_WAYLAND_DYNLOAD=no + -DWITH_GHOST_WAYLAND_LIBDECOR=no + -DWITH_GHOST_X11=$(usex X) + -DWITH_GMP=$(usex gmp) + -DWITH_GTESTS=$(usex test) + -DWITH_HARU=$(usex pdf) + -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) + -DWITH_INSTALL_PORTABLE=no + -DWITH_IMAGE_OPENEXR=$(usex openexr) + -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) + -DWITH_IMAGE_WEBP=$(usex webp) + -DWITH_INPUT_NDOF=$(usex ndof) + -DWITH_INTERNATIONAL=$(usex nls) + -DWITH_JACK=$(usex jack) + -DWITH_LLVM=$(usex osl) + -DWITH_MATERIALX=no + -DWITH_MEM_JEMALLOC=$(usex jemalloc) + -DWITH_MEM_VALGRIND=$(usex valgrind) + -DWITH_MOD_FLUID=$(usex fluid) + -DWITH_MOD_OCEANSIM=$(usex fftw) + -DWITH_NANOVDB=$(usex nanovdb) + -DWITH_OPENAL=$(usex openal) + -DWITH_OPENCOLLADA=$(usex collada) + -DWITH_OPENCOLORIO=$(usex color-management) + -DWITH_OPENIMAGEDENOISE=$(usex oidn) + -DWITH_OPENMP=$(usex openmp) + -DWITH_OPENSUBDIV=$(usex opensubdiv) + -DWITH_OPENVDB=$(usex openvdb) + -DWITH_OPENVDB_BLOSC=$(usex openvdb) + -DWITH_POTRACE=$(usex potrace) + -DWITH_PUGIXML=$(usex pugixml) + -DWITH_PULSEAUDIO=$(usex pulseaudio) + -DWITH_PYTHON_INSTALL=no + -DWITH_DRACO=no + -DWITH_PYTHON_INSTALL_NUMPY=no + -DWITH_PYTHON_INSTALL_ZSTANDARD=no + -DWITH_SDL=$(usex sdl) + -DWITH_STATIC_LIBS=no + -DWITH_STRICT_BUILD_OPTIONS=yes + -DWITH_SYSTEM_EIGEN3=yes + -DWITH_SYSTEM_FREETYPE=yes + -DWITH_SYSTEM_LZO=yes + -DWITH_TBB=$(usex tbb) + + -DWITH_USD=no + -DWITH_HYDRA=no + + -DWITH_XR_OPENXR=no + ) + + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + + # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully + use arm64 && append-flags -flax-vector-conversions + + append-cflags $(usex debug '-DDEBUG' '-DNDEBUG') + append-cppflags $(usex debug '-DDEBUG' '-DNDEBUG') + + if tc-is-gcc ; then + # These options only exist when GCC is detected. + # We disable these to respect the user's choice of linker. + mycmakeargs+=( + -DWITH_LINKER_GOLD=no + -DWITH_LINKER_LLD=no + ) + # Ease compiling with required gcc similar to cuda_sanitize but for cmake + use cuda && use cycles-bin-kernels && mycmakeargs+=( -DCUDA_HOST_COMPILER="$(cuda_gccdir)" ) + fi + + if use test ; then + local CYCLES_TEST_DEVICES=( "CPU" ) + if use cycles-bin-kernels; then + use cuda && CYCLES_TEST_DEVICES+=( "CUDA" ) + use optix && CYCLES_TEST_DEVICES+=( "OPTIX" ) + fi + mycmakeargs+=( + -DCYCLES_TEST_DEVICES:STRING="$(local IFS=";"; echo "${CYCLES_TEST_DEVICES[*]}")" + -DWITH_COMPOSITOR_REALTIME_TESTS=yes + -DWITH_GTESTS=yes + -DWITH_OPENGL_DRAW_TESTS=yes + -DWITH_OPENGL_RENDER_TESTS=yes + ) + fi + + cmake_src_configure +} + +src_test() { + # A lot of tests needs to have access to the installed data files. + # So install them into the image directory now. + DESTDIR="${T}" cmake_build install "$@" + + blender_get_version + # Define custom blender data/script file paths not be able to find them otherwise during testing. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts" + export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles" + + # Sanity check that the script and datafile path is valid. + # If they are not vaild, blender will fallback to the default path which is not what we want. + [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!" + [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!" + + cmake_src_test + + # Clean up the image directory for src_install + rm -fr "${T}"/usr || die +} + +src_install() { + blender_get_version + + # Pax mark blender for hardened support. + pax-mark m "${BUILD_DIR}"/bin/blender + + if use man; then + # XXX: Stupid temporary hack for bug #925254 + cmake_src_install -j1 + + # Slot the man page + mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die + else + cmake_src_install + fi + + if use doc; then + # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building. + # (Because the data is in the image directory and it will default to look in /usr/share) + export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts + export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles + + # Workaround for binary drivers. + addpredict /dev/ati + addpredict /dev/dri + addpredict /dev/nvidiactl + + einfo "Generating Blender C/C++ API docs ..." + cd "${CMAKE_USE_DIR}"/doc/doxygen || die + doxygen -u Doxyfile || die + doxygen || die "doxygen failed to build API docs." + + cd "${CMAKE_USE_DIR}" || die + einfo "Generating (BPY) Blender Python API docs ..." + "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed." + + cd "${CMAKE_USE_DIR}"/doc/python_api || die + sphinx-build sphinx-in BPY_API || die "sphinx failed." + + docinto "html/API/python" + dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/. + + docinto "html/API/blender" + dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/. + fi + + # Fix doc installdir + docinto html + dodoc "${CMAKE_USE_DIR}"/release/text/readme.html + rm -r "${ED}"/usr/share/doc/blender || die + + python_optimize "${ED}/usr/share/blender/${BV}/scripts" + + mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die + mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die +} + +pkg_postinst() { + elog + elog "Blender uses python integration. As such, may have some" + elog "inherent risks with running unknown python scripts." + elog + elog "It is recommended to change your blender temp directory" + elog "from /tmp to /home/user/tmp or another tmp file under your" + elog "home directory. This can be done by starting blender, then" + elog "changing the 'Temporary Files' directory in Blender preferences." + elog + + if use osl; then + ewarn "" + ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to" + ewarn "an other LLVM version than what OSL is linked to." + ewarn "See https://bugs.gentoo.org/880671 for more details" + ewarn "" + fi + + if ! use python_single_target_python3_10; then + elog "You are building Blender with a newer python version than" + elog "supported by this version upstream." + elog "If you experience breakages with e.g. plugins, please switch to" + elog "python_single_target_python3_10 instead." + elog "Bug: https://bugs.gentoo.org/737388" + elog + fi + + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_mimeinfo_database_update + xdg_desktop_database_update + + ewarn "" + ewarn "You may want to remove the following directory." + ewarn "~/.config/${PN}/${SLOT}/cache/" + ewarn "It may contain extra render kernels not tracked by portage" + ewarn "" +} diff --git a/media-gfx/blender/blender-9999.ebuild b/media-gfx/blender/blender-9999.ebuild index d54fb423595c..1af60209e3c9 100644 --- a/media-gfx/blender/blender-9999.ebuild +++ b/media-gfx/blender/blender-9999.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{11..12} ) inherit check-reqs cmake cuda flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils @@ -11,8 +11,8 @@ DESCRIPTION="3D Creation/Animation/Publishing System" HOMEPAGE="https://www.blender.org" if [[ ${PV} = *9999* ]] ; then - # Subversion is needed for downloading unit test files - inherit git-r3 subversion + EGIT_LFS="yes" + inherit git-r3 EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git" else @@ -36,17 +36,17 @@ RESTRICT="!test? ( test )" REQUIRED_USE="${PYTHON_REQUIRED_USE} alembic? ( openexr ) cuda? ( cycles ) - cycles? ( openexr tiff ) + cycles? ( openexr tiff tbb ) fluid? ( tbb ) hip? ( cycles ) nanovdb? ( openvdb ) - openvdb? ( tbb ) + openvdb? ( tbb openexr ) optix? ( cuda ) - osl? ( cycles ) + osl? ( cycles pugixml ) test? ( color-management )" # Library versions for official builds can be found in the blender source directory in: -# build_files/build_environment/install_deps.sh +# build_files/build_environment/cmake/versions.cmake RDEPEND="${PYTHON_DEPS} app-arch/zstd dev-libs/boost:=[nls?] @@ -85,7 +85,7 @@ RDEPEND="${PYTHON_DEPS} ) nls? ( virtual/libiconv ) openal? ( media-libs/openal ) - oidn? ( >=media-libs/oidn-1.4.0 ) + oidn? ( >=media-libs/oidn-2.1.0 ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= @@ -182,13 +182,10 @@ src_unpack() { git-r3_fetch "${ADDONS_EGIT_REPO_URI}" git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons" + # TODO + #if use test; then - if use test; then - TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests - subversion_fetch ${TESTS_SVN_URL} ../lib/tests - fi - ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets - subversion_fetch ${ASSETS_SVN_URL} ../lib/assets + #fi else default if use test; then @@ -234,7 +231,7 @@ src_prepare() { if use test; then # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests. sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die - sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die + sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/testing.cmake || die fi } @@ -254,8 +251,10 @@ src_configure() { -DWITH_ALEMBIC=$(usex alembic) -DWITH_BOOST=yes -DWITH_BULLET=$(usex bullet) + -DWITH_CLANG=$(usex osl) -DWITH_CODEC_FFMPEG=$(usex ffmpeg) -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CPU_CHECK=no -DWITH_CYCLES=$(usex cycles) -DWITH_CYCLES_CUDA_BINARIES=$(usex cuda $(usex cycles-bin-kernels)) -DWITH_CYCLES_DEVICE_ONEAPI=no @@ -273,7 +272,6 @@ src_configure() { -DWITH_FFTW3=$(usex fftw) -DWITH_GHOST_WAYLAND=$(usex wayland) -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" - -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland) -DWITH_GHOST_WAYLAND_DYNLOAD=no -DWITH_GHOST_WAYLAND_LIBDECOR=no -DWITH_GHOST_X11=$(usex X) @@ -288,6 +286,7 @@ src_configure() { -DWITH_INPUT_NDOF=$(usex ndof) -DWITH_INTERNATIONAL=$(usex nls) -DWITH_JACK=$(usex jack) + -DWITH_LLVM=$(usex osl) -DWITH_MATERIALX=no -DWITH_MEM_JEMALLOC=$(usex jemalloc) -DWITH_MEM_VALGRIND=$(usex valgrind) @@ -311,6 +310,7 @@ src_configure() { -DWITH_PYTHON_INSTALL_ZSTANDARD=no -DWITH_SDL=$(usex sdl) -DWITH_STATIC_LIBS=no + -DWITH_STRICT_BUILD_OPTIONS=yes -DWITH_SYSTEM_EIGEN3=yes -DWITH_SYSTEM_FREETYPE=yes -DWITH_SYSTEM_LZO=yes @@ -345,12 +345,6 @@ src_configure() { # Ease compiling with required gcc similar to cuda_sanitize but for cmake use cuda && use cycles-bin-kernels && mycmakeargs+=( -DCUDA_HOST_COMPILER="$(cuda_gccdir)" ) fi - if tc-is-clang ; then - mycmakeargs+=( - -DWITH_CLANG=yes - -DWITH_LLVM=yes - ) - fi if use test ; then local CYCLES_TEST_DEVICES=( "CPU" ) diff --git a/media-gfx/geeqie/Manifest b/media-gfx/geeqie/Manifest index 30d297007789..da98f852c87a 100644 --- a/media-gfx/geeqie/Manifest +++ b/media-gfx/geeqie/Manifest @@ -1,6 +1,7 @@ AUX geeqie-2.1-exiv2-0.28.0.patch 5556 BLAKE2B 3af45f27984d789dc1618b348dabfa3cb7264fcce257f1f6dcf69aa7b37a11f48b5ddf9dfdd3f4f630da2583571bf228e95bf98729a13290f133c18c468651c7 SHA512 9e63688935b1f3c3bc33c238201b5cb5508a91df2c58020656a31edb88f22b2e53e6abcd61fa7b1634a772cc7cc1ce7307f57e93fbdc8a7beb2d63c1dc44df6f AUX geeqie-2.1-locale.patch 522 BLAKE2B f676a4b2b0acb6184c66657314974f61413172bef3290d05d2764afae48b476fc40892012d1af93f02454de127a5b38cec240057ad20c3a6a63e11e354906b75 SHA512 c9d402fd9bb5d49a1f4219e33e24a16d656a6ba0a3eaddd6864debab09b3742927a89892e2fffe3c6726abe3f6b2bc6baae9af1ecf035f5a02ff3f9b5ad6ce59 AUX geeqie-2.1-lua_hpp.patch 344 BLAKE2B 8206ef3ec5faf9b94efe57413905dedef5046b0d90056864e33b2adb876ca4bb3867417a24e4f6956d14923b3ee119ee5e8379f314cffe8ade2c1102bcb3c1de SHA512 599f9b63fad24bd292a393ead338894c6330b82fc3e02e71e16f7a85b49fa0ed564677444b5d78d68b4ac91ad04e8a6c237e3119031e1307ab089ae37e6eb838 +AUX geeqie-2.3-locale.patch 336 BLAKE2B 26d6712244e382be5981ad0c940828565e066aca961fd2fb4815bea26fe020c9ca95475b8f661f649e7a0ca54fdeea17aefcef2327e99f076646888b0fc3bf1a SHA512 00900c3740b1200db4eb515f0c5d77ac73d284e879d7c0dd36297953dc12149c65cc383ecc2837f55881dbf62e1ab0cedc0c6f58ff9e5aba1e73bd6a9314b2d8 AUX geeqie-2.3-test-ancillary.patch 630 BLAKE2B a997e60c3fd6fe78b72019babbf2ad7d9f4fccea275cc95903925ed7ed1e0486da2d82e76e0afd43f82932c123ee03891878bf68d0ef5d714528806f206db45a SHA512 69aa64bf6945f6cd11b6ccd93052c5589f332f55d3e022e5b23b0e5eee0fada4764c54b7dffa75b8e5432f5c7d4c27384992cdd61a18c779feede4827f2be5ff DIST geeqie-2.1-docs.tar.xz 333756 BLAKE2B 2e569f4000befdaecebd6df9c94c59b8d9e05743343b1ba2ab647a228cc595b71369173cd0e7b798227a0843d493eb7d59be19b8259015239cfcdf8b5a40d339 SHA512 f1701e1f7550dc58d2d65f35da09284958b1d92f60568a8774831025525c835d2a03a48fd582052d3fca9cd2c15d935e30baf3f6599f624bf3dbccfeb606745d DIST geeqie-2.1.tar.xz 1800612 BLAKE2B 60190532eb8830e12acf06e39046dd04ccf28ac5d3679f2063e6f6e102add0d398dfc70a57a758d0c16483d5314ec88cb56b54829103ad938b29ac1500f86fdc SHA512 1812234d349536626433bbb7670cd45ef5ce328bf58f603af8eb4a01f7d3db2557d5a812714b12a9b49559aa1fe1c186ceddf2f632c2b303d64d36ad746a2d2f @@ -8,8 +9,11 @@ DIST geeqie-2.2-docs.tar.xz 356976 BLAKE2B 3bca2815a6f177a2f38b9a66ff6fa95dba510 DIST geeqie-2.2.tar.xz 2169096 BLAKE2B fe7f21f5842ac7824ec37f0775d31e8dcd05934809f7bdd84d7dcb749d25976055050f42a8cea3cd414fb3c7e60055c9fa32b93cfef2af62de68f4d44af425c8 SHA512 7d03493b463a1949cbc5e377927abc4bc6fa62914e8cdddb30a832cb9c6caad579f5ba5bd2b8b0913b77063300c9c5ac1f7e671ddfb2ce18d8a8d0efcfb51dbe DIST geeqie-2.3-docs.tar.xz 362412 BLAKE2B e05adbd6b277cfccae20c2ed7840e447016b32a9bf5c5ad6feb143993b4856fbb623feb6684a21c235ad846923463bed45cf887b1854189f01a46c3961f26a18 SHA512 cab4739adecd1dcb9cde3a58a2e2c2262f4014bc7594ae22af69b8bdbb14f6849b1e2267646301f31ebde76b2b2abc05e75aac3325e35cb88f9dc40703f2d943 DIST geeqie-2.3.tar.xz 2184604 BLAKE2B dbd2d52d146d373a9694a7371a8ac44571e63895cf6cea7acb549a1135b4cf5869737cdf780ca6afdb14eda1338cb275791eaac1cd7596ed58eb07759cf75778 SHA512 9f45974d12c1f193a4a3624064b967fc06cf9c906c45160a4945a8f6a9d814b929b92c45a35006c7f1b20fa5fe360858f24fd54adbcd8863c3e7d787a3429899 +DIST geeqie-2.4-docs.tar.xz 364536 BLAKE2B 688720808c8e4543455259966aef726bf56a821890a78e4757d9d1fd02ce67217461808d9697b331b2a94841bf3581b25242a7e5c9c9a3f5b02209a566b09c16 SHA512 07bca33c347f448ee853ea60daf22c9cdace458b6ce6b3f4ced9b343a965370c51d7a872d5279852b7a83a1de51c8529a668f7d62a031bcec1fdde8b9bfbf9cb +DIST geeqie-2.4.tar.xz 2178572 BLAKE2B df24f0b5d443cbd2033c0b382fe0d846c9073e8966aa736f647e34930e44083b9e44252c554578548a13c12c1b1a5a48bb7795f2fda8b8688a63ef402a257334 SHA512 7e0f5dff21e38a41adf0a793bd82652c5d639e84ab49403517f4b1dae042bfc5f4d02e54b54928e04a2397300acb04b130347df0be5637ee48634f5865ad346b EBUILD geeqie-2.1-r1.ebuild 3277 BLAKE2B e9a43ed274613dd5a98552d1d83768cffbc0be641d1661d6bd9b5d4b599e210d48dd6fe771c03d90abfc895bd582901e1ac0c4c224edbe96c6139f75e0b40e87 SHA512 f1a090d18fe0f6bb6ab3f7ecb6c42a996fcfbe05457f97ae00cff4d44da057107acd982616ffc307208bc893235ec5b1bcaeee79eefbae177a445a1f465e54da EBUILD geeqie-2.2.ebuild 3284 BLAKE2B 3c81435058a54a3da139b128db23b2adc7a378c9fb6a7f81cc9405b427ad66696f94c42bf39fb65583d79a8ac7428c2130a4e780410643fe6511457d4b3bea67 SHA512 db41ac9bfe390f64c6352a33f9c2181d3fe27d0e15c256cabef7ab026d4398342f0de05c4f29466634ec419d07f2c13b6294551e27dcb47df66c221f55aa6641 -EBUILD geeqie-2.3.ebuild 3342 BLAKE2B ba2e5484201f6d834d3a5ff70cc28a2bab369bdc2286a27285b86ceb33b54325b47e4d03b00a5b98ee00039bcd50c57b917e7faea4570dca1405265590c5ba20 SHA512 b7af3c8f7479996f9228c6c36269e33975356245b018654f140b16ef84a0a327c867677e5ecce9020759fe3fa181918145eaa5e9b1fcfbcbd8ecc79a094baa59 +EBUILD geeqie-2.3.ebuild 3376 BLAKE2B 515083b0ecb99fa9c2d6f92d9df2ef9c8f1e72436c290bb02311cfe73bcb0a92f0334df33c1453a709cf94277cddb99deaf9ba9276895524ec42126ef44616f5 SHA512 4906e493fe819d29e6c94dcb452b8f2382a0e01f59b60b8fb0afd0ac8c79f27c2befd23ed6366fd4e76a6da6dafc75d24aaab552f93ca0fad7a3b38f5d6c4e7d +EBUILD geeqie-2.4.ebuild 3342 BLAKE2B ba2e5484201f6d834d3a5ff70cc28a2bab369bdc2286a27285b86ceb33b54325b47e4d03b00a5b98ee00039bcd50c57b917e7faea4570dca1405265590c5ba20 SHA512 b7af3c8f7479996f9228c6c36269e33975356245b018654f140b16ef84a0a327c867677e5ecce9020759fe3fa181918145eaa5e9b1fcfbcbd8ecc79a094baa59 EBUILD geeqie-9999.ebuild 3055 BLAKE2B 450d32bd793aa6436b3ab676758758e57f1bd34fa38ceafbd14a3df436611cc0f25a1c93f05f51104089e2c76a82f2605f00467e0aedf41032645d5e236f6421 SHA512 c1695fa7e9fe635f5799677c13014f4792ca2463654d1faeb967fd9fa6f89a757892316386797590632f3a233eb19daff8e724cd59d937294e2f48c79246d26c MISC metadata.xml 816 BLAKE2B ed50c576f068626d95d99899b17508b7c48567707ff020988dc611be9b482893f008f904ce460565ed0f263c76f2e274640f6e662f827d0879de5a59a93e8c3b SHA512 45458e31201d1baee61f48fe452c3577bcb74fea6569d1afdd8787aff6714d3400f501d1dc6b3de31ea1d5151326d48593f5bb219ec5cfed603cfe8835690dcd diff --git a/media-gfx/geeqie/files/geeqie-2.3-locale.patch b/media-gfx/geeqie/files/geeqie-2.3-locale.patch new file mode 100644 index 000000000000..05f8bdcfdaea --- /dev/null +++ b/media-gfx/geeqie/files/geeqie-2.3-locale.patch @@ -0,0 +1,11 @@ +diff -Naur geeqie-2.3.orig/src/misc.cc geeqie-2.3/src/misc.cc +--- geeqie-2.3.orig/src/misc.cc 2024-03-06 16:56:22.000000000 +0100 ++++ geeqie-2.3/src/misc.cc 2024-03-25 21:03:18.655779225 +0100 +@@ -23,6 +23,7 @@ + #include + #include + ++#include + #include + #include + #include diff --git a/media-gfx/geeqie/geeqie-2.3.ebuild b/media-gfx/geeqie/geeqie-2.3.ebuild index 2b9b96fbe6a9..dae22816e4fd 100644 --- a/media-gfx/geeqie/geeqie-2.3.ebuild +++ b/media-gfx/geeqie/geeqie-2.3.ebuild @@ -49,7 +49,9 @@ BDEPEND=" REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )" -PATCHES=( "${FILESDIR}"/${PN}-2.3-test-ancillary.patch ) +PATCHES=( "${FILESDIR}"/${PN}-2.3-test-ancillary.patch + "${FILESDIR}"/${P}-locale.patch + ) pkg_setup() { # Do not require setting LUA_SINGLE_TARGET if lua is not used diff --git a/media-gfx/geeqie/geeqie-2.4.ebuild b/media-gfx/geeqie/geeqie-2.4.ebuild new file mode 100644 index 000000000000..2b9b96fbe6a9 --- /dev/null +++ b/media-gfx/geeqie/geeqie-2.4.ebuild @@ -0,0 +1,117 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +LUA_COMPAT=( lua5-{3,4} ) + +inherit flag-o-matic lua-single meson optfeature xdg + +DESCRIPTION="A lightweight GTK image viewer forked from GQview" +HOMEPAGE="http://www.geeqie.org" +SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.tar.xz + https://dev.gentoo.org/~voyageur/distfiles/${P}-docs.tar.xz" +# Doc build: +# clone git at matching tag +# mkdir build; ./gen_changelog.sh . build; +# pandoc README.md -o build/README.html + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~ppc ~x86" +IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip" + +RDEPEND="gnome-extra/zenity + virtual/libintl + x11-libs/gtk+:3 + djvu? ( app-text/djvu ) + exif? ( >=media-gfx/exiv2-0.17:=[xmp?] ) + ffmpegthumbnailer? ( media-video/ffmpegthumbnailer ) + heif? ( >=media-libs/libheif-1.3.2 ) + jpeg2k? ( >=media-libs/openjpeg-2.3.0:2= ) + jpeg? ( media-libs/libjpeg-turbo:= ) + jpegxl? ( >=media-libs/libjxl-0.3.7:= ) + lcms? ( media-libs/lcms:2 ) + lua? ( ${LUA_DEPS} ) + map? ( media-libs/clutter-gtk + media-libs/libchamplain:0.12[gtk] ) + pdf? ( >=app-text/poppler-0.62[cairo] ) + raw? ( >=media-libs/libraw-0.20:= ) + spell? ( app-text/gspell ) + tiff? ( media-libs/tiff:= ) + webp? ( gui-libs/gdk-pixbuf-loader-webp:= ) + zip? ( >=app-arch/libarchive-3.4.0 )" +DEPEND="${RDEPEND}" +BDEPEND=" + || ( dev-util/xxdi app-editors/vim-core ) + dev-util/glib-utils + sys-devel/gettext + virtual/pkgconfig" + +REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )" + +PATCHES=( "${FILESDIR}"/${PN}-2.3-test-ancillary.patch ) + +pkg_setup() { + # Do not require setting LUA_SINGLE_TARGET if lua is not used + use lua && lua-single_pkg_setup +} + +src_prepare() { + default + + # Disable doc build - not useful most of the time per upstream + sed -e "/subdir('doc')/d" -i meson.build || die +} + +src_configure() { + # -Werror=odr + # https://bugs.gentoo.org/585432 + # https://github.com/BestImageViewer/geeqie/issues/1270 + filter-lto + + local emesonargs=( + -Dgq_helpdir="share/doc/${PF}" + -Dgq_htmldir="share/doc/${PF}/html" + $(meson_use debug) + $(meson_feature djvu) + $(meson_feature exif exiv2) + $(meson_feature ffmpegthumbnailer videothumbnailer) + $(meson_feature heif) + $(meson_feature jpeg) + $(meson_feature jpeg2k j2k) + $(meson_feature jpegxl) + $(meson_feature lcms cms) + $(meson_feature lua) + $(meson_feature map gps-map) + $(meson_feature pdf) + $(meson_feature raw libraw) + $(meson_feature spell) + $(meson_feature tiff) + $(meson_feature zip archive) + ) + + meson_src_configure +} + +src_install() { + meson_src_install + + # Manually generated ChangeLog + dodoc "${WORKDIR}"/${P}-docs/* + + # The application needs access to some uncompressed doc files. + docompress -x /usr/share/doc/${PF}/AUTHORS + docompress -x /usr/share/doc/${PF}/ChangeLog + docompress -x /usr/share/doc/${PF}/README.md +} + +pkg_postinst() { + xdg_pkg_postinst + + optfeature "Camera import and tethered photography plugins" media-gfx/gphoto2 + optfeature "Lens ID plugin" media-libs/exiftool + optfeature "Image crop plugin" "media-libs/exiftool media-gfx/imagemagick" + optfeature "Image rotate plugin (JPEG)" media-gfx/fbida + optfeature "Image rotate plugin (TIFF/PNG)" media-gfx/imagemagick + optfeature "Print preview functionality" app-text/evince +} diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest index b9c0306105c1..48f983fda1be 100644 --- a/media-gfx/prusaslicer/Manifest +++ b/media-gfx/prusaslicer/Manifest @@ -1,10 +1,11 @@ AUX prusaslicer-2.6.0-disable-noisy-asserts.patch 503 BLAKE2B 11624effbd6082bb04d6cad3a5f06c047dd267e8157607da9e29c1010632c17595515bc7958db0828392104f1c98e4571cca836d416277f66b703fd7606e7ede SHA512 9607f8819d886b777a7ff4ad4d3e4bf2c6cda51cc00660ce91c6750e6f74096f286685df92757af097098872624d07a064a9fbfea416df5b13a4f2df733083ef AUX prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch 535 BLAKE2B 216255701f709b115089c26c6b2dc00a5b55875d18ca1b84f0f62cf9a95ca5b07825867022558f78afe7497bbd90cca4735bffda1380e0798050c893aad0da52 SHA512 3a0fb2cf23a8de2465b1a457b4069c69b2aa105bd42a20a35dd801d59a9b9654ed331a26df9525a56ba43bca5052fde418ea937ed7416025b68b9ca13f79f877 AUX prusaslicer-2.6.0-libexpat-double-definition-fix.patch 839 BLAKE2B 699b323d52bf8307e9dec433be337c6688815519a169bb27e3841a94ef364a50fc33cb115def6c715dc4eec5e9e9f44c10f4393c568251e9b4b4b6b28d56d6a8 SHA512 1835cb47b5a85b0af7bd565ae080d81bd844ff5976a960d9f1ee13d16cdc6ebe9eb95658f39ee6a8885474ac9cb140b088eba7e9559293b3b6fcb27ffc8ffdbf +AUX prusaslicer-2.7.2-opencascade-7.8.0.patch 432 BLAKE2B e7ac72dbe7ab6f79703c7e567269a04a6bf069cd41816bb0d20db53ef2ec97139112d1c04faf248070caeec392f07a875bc5b1ad9b9b2f3451f88d858dff0ebb SHA512 31ba173ed840db500f06968fcb5c4660ee31d270abbd7ad28c53c5475e13620ca34ce42fae2a740757c99d8725c0a2e08edc9a4b7e8ab98baaaf62db34245d58 DIST prusaslicer-2.6.1.tar.gz 58479800 BLAKE2B d5bfe09a76c5e1e5d3f5fae350db27db61e1f90465db42b5573314c58d77c89d3c04e67b45c449374570b7c1a0ee13bf7984b011f751a71e3b1414759cc921e9 SHA512 2b04eeff4feca2afd560b2fb6a5bbdaae6cabed2180d1416f2e4c7c385a50f859ec334c864a737b7c09eb3fd88f80af68655a0ef25ce9216b16549b16b3020b0 DIST prusaslicer-2.7.1.tar.gz 64975776 BLAKE2B 7683e2c97458da6b6f2b0e826f538d556f011e4580246277a926df55a71c5a4668089235b8b13379646e1730d301c446cd5d9116e236986cb29bb322390ba94f SHA512 20037164b8a8853e2f30a5ed613e0da1d02d6fa581c21ef67a51e90af3c33a98eb75e0b3a203adfb8ed7bc67f32de7ea598f3f0ab9c68341738db0c1c1974b3d DIST prusaslicer-2.7.2.tar.gz 64915607 BLAKE2B 25f531df0e1ed941cd5f15f6e30938dceb89148d4166b4042db60e587b5277d02e310738a9b368e9f3b88aea3abb9c9d5e2be89b5774b42191b7cae0589ce5c8 SHA512 74467cc353fd611133b0b0bc7b8026dc67bce0c7f1d14a47368dd5bac6c33b6400f73e2ecc46b7b43e8c724f0ec6e5f509bafed04c2c7349e5ffb1022af2f4db -EBUILD prusaslicer-2.6.1.ebuild 1993 BLAKE2B 9aed21a5e7e62ff8cbfd4e13d3716e0067828f924226b00ab1355dbeb5e501fde123b81df3b8b458abdc339236bf62483d470dd55982a97bb4f792f24a8c9f6d SHA512 4c05f5af7f46e72c01b651e0c2ce075d3a842e9386d93c38076640ac1ad1997641b7996b41dae086de25f7aa83cf20310abfbed8c699103dc9855538392f08ed -EBUILD prusaslicer-2.7.1.ebuild 1959 BLAKE2B 03428fd19c6d57f00eefe42b731b54aadf77c0fc634ec085a39ec768b67b7516371e2a1b907c04ba6d09426d249b160db27be96a6232db8ab20a819717e24e26 SHA512 8f43cca3145bc02468d0846242d38b2eea3bb7f4872602864147f659bda4d51b6e1ac7a3e1c01b1138c21e7dfbad6693235f0afbbacfc88a5521af7aedb54625 -EBUILD prusaslicer-2.7.2.ebuild 1960 BLAKE2B aed93e9eb315299f6d63903380a095ede25d66868cbd26fec5abe9a5604f333f84a0f8e920338160b8c330f6421195df26cf3296ea3f7dde92b7ca195cfd6b90 SHA512 62c17d874095cc1a5276cd15216911b7fb78cc5780066631c17e21d5984462efd41515b17a9bb7d2b91b9757ef7e60af0535a16c045eb0626217be0376b050d6 +EBUILD prusaslicer-2.6.1.ebuild 2116 BLAKE2B 7b3a056615bdac9762bc6f8a04abc7d2e259e3fd803742bcae4a1561e67e0769a30bca3a77522cc8e3cec3ff5edea01c812d7ccfb6e796f7340c5efec485322f SHA512 30513133e6c72f0c98a0c40080cafcbcf72a54382d42b5f2ef0d4f5361af85940a510983b9e60085bb17322127d48f7d251a64cc1e29e9fa4ade4d7c6720787c +EBUILD prusaslicer-2.7.1.ebuild 2082 BLAKE2B 92fe269699a582ec1192ac370e9b0c183d9de0cb82d2e7ff22d2ae1c27685102e74fb7ec902ebfc38daa28c6967a34e9e5326ccd47087b63d66ce845c83c6a07 SHA512 7d45b154c1aff505db45ad1cb28616c6941b9c957b9ce85352f52ceafc1e03e9cdebe2edf04c1bcca1525571622dd6aae1209b8ba9613f09659352f10ccd394c +EBUILD prusaslicer-2.7.2.ebuild 2171 BLAKE2B 51048af1ddd27962697f084a3771e0ed1e9e8e316a115643b0682649645e77aeb27d02f7c442cbdb54766a050cf37474fec35e94c0fafcce1516ab5729d11970 SHA512 19cc3898a9c493c723c04db8bb224523b8e8832d0fdf38aab85b90de8c1f7f7ff112c747ec6c257d2e423bd63073ccf323d522f70ca53da52d24d9e36e6d8be5 MISC metadata.xml 1028 BLAKE2B a267e6b0ee72a85b895046cc7d5f659cca379fd799a9ebb802dc1fafd7edfa1b989784b10eb93ac24f1ea6153153b892e28e20055b0a7d2021f6db7742e065b4 SHA512 5760ea954f5ccf09e5d69e101b6d68839a4517a9375adc3009b1bf846b98091ee0555e9c92bb0cf316670efec699cd24d04b4ebe7db5b65e363f83051d868512 diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch b/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch new file mode 100644 index 000000000000..3c97ead5c6b2 --- /dev/null +++ b/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch @@ -0,0 +1,18 @@ +diff --git a/src/occt_wrapper/CMakeLists.txt b/src/occt_wrapper/CMakeLists.txt +index d8dd8e1..d27055f 100644 +--- a/src/occt_wrapper/CMakeLists.txt ++++ b/src/occt_wrapper/CMakeLists.txt +@@ -22,11 +22,8 @@ generate_export_header(OCCTWrapper) + find_package(OpenCASCADE REQUIRED) + + set(OCCT_LIBS +- TKXDESTEP +- TKSTEP +- TKSTEP209 +- TKSTEPAttr +- TKSTEPBase ++ TKDESTEP ++ TKDESTL + TKXCAF + TKXSBase + TKVCAF diff --git a/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild index 4908a2557257..89862b5ef9ad 100644 --- a/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild +++ b/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,6 +13,8 @@ DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D HOMEPAGE="https://www.prusa3d.com/prusaslicer/" SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_PN}-version_${MY_PV}" + LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT" SLOT="0" KEYWORDS="amd64 ~arm64 ~x86" @@ -56,9 +58,11 @@ PATCHES=( "${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch" ) -S="${WORKDIR}/${MY_PN}-version_${MY_PV}" - src_prepare() { + if has_version ">=sci-libs/opencascade-7.8.0"; then + eapply "${FILESDIR}/prusaslicer-2.7.2-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.2 REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \ diff --git a/media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild index 52f7bd2d1548..4784511aea1f 100644 --- a/media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild +++ b/media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild @@ -13,6 +13,8 @@ DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D HOMEPAGE="https://www.prusa3d.com/prusaslicer/" SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_PN}-version_${MY_PV}" + LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT" SLOT="0" KEYWORDS="amd64 ~arm64 ~x86" @@ -56,9 +58,11 @@ PATCHES=( "${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch" ) -S="${WORKDIR}/${MY_PN}-version_${MY_PV}" - src_prepare() { + if has_version ">=sci-libs/opencascade-7.8.0"; then + eapply "${FILESDIR}/prusaslicer-2.7.2-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.2 REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \ diff --git a/media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild b/media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild index 2a926a3e0102..a4ea9747ee33 100644 --- a/media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild +++ b/media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild @@ -13,12 +13,14 @@ DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D HOMEPAGE="https://www.prusa3d.com/prusaslicer/" SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${MY_PN}-version_${MY_PV}" + LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT" SLOT="0" KEYWORDS="~amd64 ~arm64 ~x86" IUSE="test" -RESTRICT="test" +RESTRICT="!test? ( test )" RDEPEND=" dev-cpp/eigen:3 @@ -56,9 +58,11 @@ PATCHES=( "${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch" ) -S="${WORKDIR}/${MY_PN}-version_${MY_PV}" - src_prepare() { + if has_version ">=sci-libs/opencascade-7.8.0"; then + eapply "${FILESDIR}/prusaslicer-2.7.2-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.2 REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \ @@ -86,3 +90,10 @@ src_configure() { cmake_src_configure } + +src_test() { + CMAKE_SKIP_TESTS=( + "^libslic3r_tests$" + ) + cmake_src_test +} -- cgit v1.2.3