summaryrefslogtreecommitdiff
path: root/media-gfx
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/Manifest.gzbin37864 -> 37860 bytes
-rw-r--r--media-gfx/blender/Manifest17
-rw-r--r--media-gfx/blender/blender-3.3.6.ebuild (renamed from media-gfx/blender/blender-2.93.14.ebuild)87
-rw-r--r--media-gfx/blender/blender-3.4.1-r2.ebuild (renamed from media-gfx/blender/blender-2.93.13.ebuild)121
-rw-r--r--media-gfx/blender/blender-3.5.1.ebuild435
-rw-r--r--media-gfx/blender/files/blender-2.93.13-openvdb-10.patch107
-rw-r--r--media-gfx/blender/files/blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch31
-rw-r--r--media-gfx/blender/files/blender-3.0.1-openexr.patch190
-rw-r--r--media-gfx/blender/files/blender-3.0.1-openimageio-2.3.patch29
-rw-r--r--media-gfx/blender/metadata.xml3
-rw-r--r--media-gfx/inkscape/Manifest2
-rw-r--r--media-gfx/inkscape/inkscape-1.2.2.ebuild2
-rw-r--r--media-gfx/libredwg/Manifest2
-rw-r--r--media-gfx/libredwg/libredwg-0.12.5.5487.ebuild113
14 files changed, 684 insertions, 455 deletions
diff --git a/media-gfx/Manifest.gz b/media-gfx/Manifest.gz
index 53a229284d6c..31d3f6082e83 100644
--- a/media-gfx/Manifest.gz
+++ b/media-gfx/Manifest.gz
Binary files differ
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 7644cd15b6b6..55eb7c3664f7 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -1,25 +1,20 @@
-AUX blender-2.93.13-openvdb-10.patch 4952 BLAKE2B 6199f931fedb58fd9ae6427b30955acb2b053e536eb6afecf74af87bbd96fb7ee7688b111bd47d09d58c052f49ca27b7eab2bf3149a0a8b97e479869f73c9ac4 SHA512 0b0c5a7db8fe464b14827d262b7a42cd4c033ac389486531238051742d6521f711b78e2b237dcc202dec05d6806aee125178e9ddfd0ecbc572c6d5a49fe33fdd
-AUX blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch 877 BLAKE2B 954cae23023e60ef38847927a8ddfc05a19f86c1b5f95a78227aba2af32707ca3490f815e370aa995944973d3ea44d58895817e3ac1ffbb006468ef33f3223a7 SHA512 f4d4e946ce177c82cbe63ab2beab05748e91786800885432f64c00b3ba93be3fec54f084663617dd1b877776d60c418da12cee9a3f4f59a447a3291d08eeba5e
-AUX blender-3.0.1-openexr.patch 4868 BLAKE2B eccd615d26ba6963220dd9128294d996890f5909707cae5b8b39a0b1e35147618ff2d92348c8e8613cea45c974442665be5036884c33737ccf4041eec5f0135c SHA512 f44288212a3e8e2ed04ced2e574ac240a18f90c3f6e28fabc9dc855545c9b28b216f9cc3ad70721dca754a0d032100fe2aa430eff54049f672219747728d5657
-AUX blender-3.0.1-openimageio-2.3.patch 927 BLAKE2B 02ed40bf291ac6ec935a7412c8c1681023fb1fac3bfe7a6ecdbaddfd895f48557274f466849f1aa35900c66dbba6724a29b7d5553fe914e5a3df0f93a9791acd SHA512 0edd3e3c3265694593b242db5c96d3c123630819ff07b906b7f86c15cdf60e4bf1e8b61d555241eadf842a2a33c1f4f1ad4cce0e7d07c8d7308d8a9d536bf512
AUX blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch 4517 BLAKE2B 703b5c8b04a187941caaefaa51e71266a96bb64d3e623bdfe9192bfc57fda1ceb5e1e83e57d1d585f9e8358169a49e91dcbaecd4aa9fe809213a8fc1b3372be2 SHA512 91b12b5bf161b48ef192981d12cdda03ce23e0d5a7f3b30c5232598f3122872f53e98ba1ba154f12558ce6abc4a015760f1898dbeb16810ba52850e985a58ab6
AUX blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch 986 BLAKE2B 6055d38fded76be0c3f1f42f1e17e434ba69be90a0fb032856b1a339683a28c6786e945fc88d7b39006efc090e198586e5ebebb8fa542e93bcb07b9b91f6ce1f SHA512 8c5259d54e687ae03316fa69efcee02dbbf2a374de6fa9151484795af7d602c2d603900f1b38b7d4a09d8cb66e73666e500cb37004cbca5a13241d9cb5442ab0
AUX blender-3.2.2-support-building-with-musl-libc.patch 5583 BLAKE2B 193548ea61608b6a355912cdd11eba60c58ac7975612890ff26b95b0d8974e3ed871e9e3d5437b7e36fc22b6a711e7af672b87a4e4f0b0765b95e4065dbcb934 SHA512 225065ac63344084918585272badfd58dc542e4b9370351fa4ff246fb8568d18027bd1d07fc139ac247236b75690578bb598731e00ea18767ed8e9d34d35b2fc
AUX blender-3.3.0-fix-build-with-boost-1.81.patch 490 BLAKE2B ff9625bec6783a5a55d2d0a8b9afeae718e0c8d714aee42e89577158504b72f6cdc325a3aa4b21291319ed886f722d6216af8ba4680ff5cb046289c9f2dc9f61 SHA512 9a7bad9947c03e3265c07266fb901319665cb2869395c46e5a9a63953772a5af880b6f038e38a695bb9e0cbfaae1f1a08fa61b8a565d2081e6c8d9e6c7a80547
-DIST blender-2.93.0-tests.tar.bz2 286918586 BLAKE2B a2c2c2e900e401a470208e8e5d0082d45e2f8db13b45213f31808d50ae5ea330360702b8e775bdb3307eb753aa7c3264803e9e470b3fb778f8bd87272cd72513 SHA512 0e5e4c67944c4f76df62cdbaf26ba284c415675074e66685c01ec9584a544c47f616bae8fb2ff2b7e03290620d54dc1033b4b0fc617acb1232a90439e96325fe
-DIST blender-2.93.13.tar.xz 43029716 BLAKE2B ca222af581c4cddbc3e0607054ee3fd117b672550466d61bbcb608e85627ae78c816d7fb5f49134e17560fc1357de1505c3c17fc96fde1218239289c2d325055 SHA512 c94ff7f7b6521cc1521a1f0a22a5cb135114485dac78556764e25fc25bece168d96f6074959bf1521910191818785c6eac8c17164094415bd6bd7e23e307e56b
-DIST blender-2.93.14.tar.xz 43035804 BLAKE2B 72ca99143da393bb23e15a26e197c5ac45cd0bfb487b5dda617cb42f107dda0518c787294ad799c34712ee5948da81a573880cd642fc26bd1ae437b516ec41b6 SHA512 2b395a6acad808c3d2eb80355320d237fff7c0a188d1455fecd65189d7672927087ab7dcf7d07c3d541279c142846763be8dc495a2aa625c08f17ef543ba8bc5
-DIST blender-3.0.1-ffmpeg-5.0.patch.bz2 8198 BLAKE2B 2acb1e441bd17cf2d972f981358981d42742ad37656366a52b0adb52efb3f1a6cda0479e1c79d9327b51c8fd3d2c6cb291552adc7716e6a1938ac27b237186b9 SHA512 c09ca2d5a5b99652abcae827965304506e354fc6fc4d6d59c9433c8246e865a0622ddac3118009ad433292690212292a86f7e43e764583525555ca6d653da809
DIST blender-3.3.2.tar.xz 41918064 BLAKE2B 76e689eff9f1e9c1c4e8a9e000a3dec64d7340815966522acb4d827197fae51854060cdfa38104950711fed23b9c66b39011727cf673c1a3e05340a32d2e7783 SHA512 2059cb38dfb56696f80d91420f5f0d1c808b59f4cc7ea71e7ff8e00cfe1cddf8762bcb129f941de8d57c7c72403d88ba4082fca065b59eb17a6d76c2e5006778
DIST blender-3.3.3.tar.xz 41918008 BLAKE2B 6fbd959e18cab6af597a95a4aa392bdc45d53e1efaefc4c4012ce4d1233c3f1118f04833ae6e7c8a2296f127714c665e0de454f2c09887986f5e721dbae3390b SHA512 1560bee9dd770ecd56b1dd3f4b8f3b3b8ba70c4796c0118d13da54f0d8950f26b17678cf66f95f5fcf59d81931518343d401624877fed63f510e3c0ffaea6e83
DIST blender-3.3.5.tar.xz 41889880 BLAKE2B 145589da5170c760901bf1ca9e9dec8d0b05602aa975cb0e74aadbeb96f326ecd5e0f92cd329c4f70e17c9e3590cf9b1c6611e157c984acd1e9bd06134fee17e SHA512 021deb19cf5e1ccf30e41ff8635ba441d48eddcf4778a11f7c089e6b54f44197fb3679eb967d2ffce47884759b563f20dfbb9a3ee027f79ca78bc3080bd0e85f
+DIST blender-3.3.6.tar.xz 41912972 BLAKE2B 94f9dd1a7993f399d612275ed3cfc1d482b0778d2d0b50ae40b73714b6afce93e036915a5b8ea415b6642b1e2d0a281db15ba8addd95c23771c381050722aac7 SHA512 db453b9c7c0ad508e04f603c970e111afb577f3dc0bd25f2ce47312e8560223dcf0307b0a306014dd79adda76de49b6d26e6e63400cade1430568332fe5b2d57
DIST blender-3.4.1.tar.xz 53666296 BLAKE2B ec5b2771c1b55ecdf3c2c86a413ae5599545800fc072eff45cf212b32c74af60fc3d650ad931fff221c1073adb2b447df3287a965f884a4760a5d972c9877aee SHA512 d6de3ec9cd1a1e4d4e4a838af0cfc113c91c3c1b66703027e0ed61bd818dafc4e4304fd041738ddea32fc76b1ad9b7737cbdcf74d56a0406a87c457375d907ab
-EBUILD blender-2.93.13.ebuild 12663 BLAKE2B 9902c989fc8cb093781087874e8adbdce759c6b96cc7f5d59da37de84cbff97abf0d9a86b35a5ab7337b62b805a13c79e9cc665f06dc706a2655f4beaa726f60 SHA512 293d03c39995561e64412d2cdc449c7a8bb2f27c2ffd8526ae181ddacde4da9632378965877a96c8ed2e6a4d76afa7645a4a8f1db795030de511bf1d1a7662ce
-EBUILD blender-2.93.14.ebuild 12664 BLAKE2B 01797b6d1d5cebf758d160f91f730d507a4aeb6d95eae8a8f344274d55f8ffaaf86bde498e305c2660faeb5bad9771fb3fc5119eb8b37c207f0c79ee40c377e6 SHA512 09867011d9aa0b5eaa98060c54597b120f4216090cae85ed5a14fb7da846494a42727f6304d152cd36b3eafd50bd4510ce64f049db89d61a18d5b2cc5baa1a9b
+DIST blender-3.5.1.tar.xz 69780800 BLAKE2B 6961280b9d5fb606a35137ce355bf07b4dc16908d5d52cfd3a914907721da16108b8780b1894413a69ab69d455f5d1575697079a24c2bdcecb17174cf7a7c7c7 SHA512 7c9c03de8532884f8ab39fecf1450f8be4bc937a018bd14240ace81a89e422625aba9c4865f6efbb8371f5f01e930932fa5cf03c9d14d44c5312db33e3c56131
EBUILD blender-3.3.2.ebuild 13234 BLAKE2B 84d072459599874ed82e4da080c1e9bb2d1fc40d482484353c2eeba9f062cd511d1e6a18fbd46eb095759ddd0bbe2335ac65c548edd73eee17f0db2ca4ece02d SHA512 eacf38f999ad91d7edaf4319b538c11c7ce688d2a3c13ea13012216661583c0a19812aef7a7f76d88e63872fe7f541b833fdc980a985f6f5a9d4e7813900cbf0
EBUILD blender-3.3.3.ebuild 13235 BLAKE2B 75a32e1ebb4e2f7dfd521e17dc04fd84e91d6d7ccce46c15228df1c3e8f77a6c267f19bb31a13b08bdf3c2609d7f77ee852c4a85edcaa38b707eaba44ae15ffd SHA512 8671263094090fa8eddf8d4ee719e3d47a94339f30ba9124e71df3ca78b08e4ef1e4e9989a46d5fd0aacb8fd65d5de2aee6d6562dd1d9c14d9380b6f2a893b11
EBUILD blender-3.3.5.ebuild 13245 BLAKE2B 9d353c3db3ec2796802c39d60948223c257fc20b363f34b36e5bfe606c1271c1f1108e67d9b7cdb0134613628681b3a303a5d7173d3faf539423ba1bce00b4ee SHA512 e0f272fedbdd9ce8f6041e437b42f42a18879dd62a6db7b676db23bd79184669f9658a3a7ef55133823fd50412e12b8be17f9aa96f878508272c4d7da8fc40fc
+EBUILD blender-3.3.6.ebuild 13246 BLAKE2B a41275ff4126fc941b8174ee96c9feeb8914fac556d7b5f5cdc7389daf1e10a51c41b7d1d485a25fe125db2c76b36483162772cede86c233a6dd5bf0c4c159a8 SHA512 6c7533f0d5f15ff0112536b74d41b9a4a7c6c5fca5ddb7e071369f9e5ad5169adce7a066b8ae5a671753b5d297df45ae0b2731f980d2e270ee97116eca2db374
EBUILD blender-3.4.1-r1.ebuild 13458 BLAKE2B d3e09f381a5e2b2edad9064c06718bc228a8a396a8cf76ffd19385fe603f962313a259a217b0d70cba93efe7aa4a597a3b6193094c2657a610ece4c0d81933fa SHA512 c59dfbecabe3151c8de7c5c007c86dfb97a77c9ae4963b7c98f762d7ad16e0896831251d1bac88e386705b3b2d2aa72415f4adb128ff530a3cbf3f82dfc2987d
+EBUILD blender-3.4.1-r2.ebuild 13491 BLAKE2B e7795576ee4eeb5fd8b657a6575c963e98a6680573892eb6508c4eb15890a584a48adf209a932d30e5fd7c5b248dca09ae3bf8435966c82c2587c4568b1440dd SHA512 45660f7feecafb1115d191d3f359f16d9258a32fc901793f3ef29e418b37c9075d400eae84354a96ccedd883a72dfc58cc021ec6e45cbc6118f7f9148f45ae40
EBUILD blender-3.4.1.ebuild 13447 BLAKE2B 01224ea8ca34efa917fc66fd06a0fc3ae7e224fa9677d45ffbbed4c649d83db474d98f46a58fb3cce936c6c2c017a0d71369c834cacc19f58fa80e6c5e71fa30 SHA512 9385907681d5642339cc3e6df05fa05a12305f64a745881761c6a2ac41c1b7028b579978201bc701ce38871ebff483e4d41cd7f3a84c4fe1ec36de4632e5aa99
+EBUILD blender-3.5.1.ebuild 13777 BLAKE2B fc71a1f22504cb00e50910868053fb819363c1fb5251a2b00b28c5fc9907e8bdf51a13c85ff41e624a2f506bef98137102137ad61ae210dbe91ad46d43f8f6c4 SHA512 91e6f4494f6a61a9aa195698b0c9b73802ff458b8606904b2adf072eae78f21fd0ba0f84bedd0e2986a4e0ced7dbd12f1d69bed5299208160b272477663f5c3b
EBUILD blender-9999.ebuild 13775 BLAKE2B 6cbfed30312dbaa8166c23d1b6c59ea86489ffa64947432b5aea4ae60fafdbacce3dc1a0c24e1fa53921df693e52ea5de51553a9cff6535239e7863933950563 SHA512 248456dc0051185abdfeb3a65652bda6ba5235a1c96359dd34d35b066c028af3f833d8dee773a3beb595f58f68a2f8b6d7c19d53d733d079db21d44aa9bb58b7
-MISC metadata.xml 3510 BLAKE2B 4b625970e0a29f02b6325adea12830d3be527c511a2511aaf3b06b3f49097fbbe72cbbe9c42ad5d3768e341f0f67eb17d7ec46ca81233ed1d63653a629569f04 SHA512 c60062d6eb0086f833a18ae5c7a86fbe102fe377febaf115adbcb8973c08051d75067740e27e33b07c7713045dce8c58c7c1830334bfecfe923d63404a311cbc
+MISC metadata.xml 3392 BLAKE2B 040dde19986bd6c10a76b0c84c27bfbcb3064b6210e4dc9d3e1991083f2f49cb1ff8d1795db3bfb417cb9bc37f37b71622f1468529b1e7a3fed8054f4dc183c7 SHA512 25a0a47dda95d519189019376745797822a17021510dc8fe38d941462e387a454aa845a4b88fd3886c757de37ed803bc1483c5b4597d72f59fb3e9a45e0791ab
diff --git a/media-gfx/blender/blender-2.93.14.ebuild b/media-gfx/blender/blender-3.3.6.ebuild
index e5ed153b5002..6034a136dbad 100644
--- a/media-gfx/blender/blender-2.93.14.ebuild
+++ b/media-gfx/blender/blender-3.3.6.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_9 python3_10 )
+PYTHON_COMPAT=( python3_10 python3_11 )
inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
@@ -16,10 +16,9 @@ if [[ ${PV} = *9999* ]] ; then
EGIT_REPO_URI="https://git.blender.org/blender.git"
else
SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.0.1-ffmpeg-5.0.patch.bz2"
-
- TEST_TARBALL_VERSION=2.93.0
- SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.bz2 )"
+ # 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
@@ -28,17 +27,18 @@ 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 ndof nls openal opencl +oidn +openimageio +openmp +opensubdiv \
- +openvdb +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind"
-RESTRICT="!test? ( test )"
+ 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 )
- opencl? ( cycles )
openvdb? ( tbb )
+ optix? ( cuda )
osl? ( cycles )
test? ( color-management )"
@@ -50,9 +50,10 @@ RDEPEND="${PYTHON_DEPS}
$(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:=
+ media-libs/freetype:=[brotli]
media-libs/glew:*
media-libs/libjpeg-turbo:=
media-libs/libpng:=
@@ -83,8 +84,7 @@ RDEPEND="${PYTHON_DEPS}
)
nls? ( virtual/libiconv )
openal? ( media-libs/openal )
- opencl? ( virtual/opencl )
- oidn? ( >=media-libs/oidn-1.3.0 )
+ oidn? ( >=media-libs/oidn-1.4.1 )
openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= )
openexr? (
>=dev-libs/imath-3.1.4-r2:=
@@ -92,9 +92,10 @@ RDEPEND="${PYTHON_DEPS}
)
opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
openvdb? (
- >=media-gfx/openvdb-8.2.0-r2:=
+ >=media-gfx/openvdb-9.0.0:=[nanovdb?]
dev-libs/c-blosc:=
)
+ optix? ( <dev-libs/optix-7.5.0 )
osl? ( >=media-libs/osl-1.11.16.0-r3:= )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
@@ -102,7 +103,7 @@ RDEPEND="${PYTHON_DEPS}
pulseaudio? ( media-sound/pulseaudio )
sdl? ( media-libs/libsdl2[sound,joystick] )
sndfile? ( media-libs/libsndfile )
- tbb? ( <dev-cpp/tbb-2021.4.0:= )
+ tbb? ( dev-cpp/tbb:= )
tiff? ( media-libs/tiff:= )
valgrind? ( dev-util/valgrind )
"
@@ -126,11 +127,9 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}"/${PN}-2.93.13-openvdb-10.patch
- "${FILESDIR}"/${PN}-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch
- "${FILESDIR}"/${PN}-3.0.1-openexr.patch
- "${FILESDIR}"/${PN}-3.0.1-openimageio-2.3.patch
- "${WORKDIR}"/${PN}-3.0.1-ffmpeg-5.0.patch
+ "${FILESDIR}"/${PN}-3.2.2-support-building-with-musl-libc.patch
+ "${FILESDIR}"/${PN}-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch
+ "${FILESDIR}"/${PN}-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch
"${FILESDIR}"/${PN}-3.3.0-fix-build-with-boost-1.81.patch
)
@@ -149,8 +148,8 @@ blender_get_version() {
# Add period (290 -> 2.90).
BV=${BV:0:1}.${BV:1}
else
- # Add period and strip last number (300 -> 3.0)
- BV=${BV:0:1}.${BV:1:1}
+ # Add period and skip the middle number (301 -> 3.1)
+ BV=${BV:0:1}.${BV:2}
fi
}
@@ -166,14 +165,19 @@ 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
- if use test; then
- mkdir -p lib || die
- mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die
- fi
}
src_prepare() {
@@ -190,7 +194,6 @@ src_prepare() {
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|blender-thumbnailer.py|blender-${BV}-thumbnailer.py|" -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
@@ -199,7 +202,6 @@ src_prepare() {
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
- mv release/bin/blender-thumbnailer.py release/bin/blender-${BV}-thumbnailer.py || die
if use test; then
# Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
@@ -225,7 +227,7 @@ src_configure() {
-DWITH_CXX_GUARDEDALLOC=$(usex debug)
-DWITH_CYCLES=$(usex cycles)
-DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl)
+ -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
-DWITH_CYCLES_EMBREE=$(usex embree)
-DWITH_CYCLES_OSL=$(usex osl)
-DWITH_CYCLES_STANDALONE=OFF
@@ -238,7 +240,6 @@ src_configure() {
-DWITH_HEADLESS=$(usex headless)
-DWITH_INSTALL_PORTABLE=OFF
-DWITH_IMAGE_DDS=$(usex dds)
- -DOPENEXR_ROOT_DIR="${ESYSROOT}/usr/$(get_libdir)/OpenEXR-3"
-DWITH_IMAGE_OPENEXR=$(usex openexr)
-DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
-DWITH_IMAGE_TIFF=$(usex tiff)
@@ -249,7 +250,7 @@ src_configure() {
-DWITH_MEM_VALGRIND=$(usex valgrind)
-DWITH_MOD_FLUID=$(usex fluid)
-DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_NANOVDB=OFF
+ -DWITH_NANOVDB=$(usex nanovdb)
-DWITH_OPENAL=$(usex openal)
-DWITH_OPENCOLLADA=$(usex collada)
-DWITH_OPENCOLORIO=$(usex color-management)
@@ -266,12 +267,21 @@ src_configure() {
-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
+
append-flags $(usex debug '-DDEBUG' '-DNDEBUG')
if tc-is-gcc ; then
@@ -294,8 +304,13 @@ src_test() {
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=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
+ export BLENDER_SYSTEM_SCRIPTS="${ED}"/usr/share/blender/${BV}/scripts
+ export BLENDER_SYSTEM_DATAFILES="${ED}"/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
@@ -351,9 +366,9 @@ src_install() {
dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
rm -r "${ED}"/usr/share/doc/blender || die
- python_fix_shebang "${ED}/usr/bin/blender-${BV}-thumbnailer.py"
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
}
@@ -375,11 +390,11 @@ pkg_postinst() {
ewarn " https://developer.blender.org/"
ewarn
- if ! use python_single_target_python3_9; then
+ 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_9 instead."
+ elog "python_single_target_python3_10 instead."
elog "Bug: https://bugs.gentoo.org/737388"
elog
fi
diff --git a/media-gfx/blender/blender-2.93.13.ebuild b/media-gfx/blender/blender-3.4.1-r2.ebuild
index f3da165815e3..b7cda8da250a 100644
--- a/media-gfx/blender/blender-2.93.13.ebuild
+++ b/media-gfx/blender/blender-3.4.1-r2.ebuild
@@ -1,9 +1,9 @@
# Copyright 1999-2023 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_9 python3_10 )
+PYTHON_COMPAT=( python3_10 python3_11 )
inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
@@ -16,20 +16,20 @@ if [[ ${PV} = *9999* ]] ; then
EGIT_REPO_URI="https://git.blender.org/blender.git"
else
SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.0.1-ffmpeg-5.0.patch.bz2"
-
- TEST_TARBALL_VERSION=2.93.0
- SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.bz2 )"
- KEYWORDS="amd64 ~arm ~arm64"
+ # 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 ndof nls openal opencl +oidn +openimageio +openmp +opensubdiv \
- +openvdb +osl +pdf +potrace +pugixml pulseaudio sdl +sndfile test +tiff valgrind"
+ 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}
@@ -37,8 +37,8 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
cuda? ( cycles )
cycles? ( openexr tiff openimageio )
fluid? ( tbb )
- opencl? ( cycles )
openvdb? ( tbb )
+ optix? ( cuda )
osl? ( cycles )
test? ( color-management )"
@@ -50,10 +50,11 @@ RDEPEND="${PYTHON_DEPS}
$(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:=
- media-libs/glew:*
+ media-libs/freetype:=[brotli]
+ media-libs/libepoxy:=
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/libsamplerate
@@ -69,11 +70,6 @@ RDEPEND="${PYTHON_DEPS}
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp )
- !headless? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -83,8 +79,7 @@ RDEPEND="${PYTHON_DEPS}
)
nls? ( virtual/libiconv )
openal? ( media-libs/openal )
- opencl? ( virtual/opencl )
- oidn? ( >=media-libs/oidn-1.3.0 )
+ oidn? ( >=media-libs/oidn-1.4.1 )
openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= )
openexr? (
>=dev-libs/imath-3.1.4-r2:=
@@ -92,9 +87,10 @@ RDEPEND="${PYTHON_DEPS}
)
opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
openvdb? (
- >=media-gfx/openvdb-8.2.0-r2:=
+ >=media-gfx/openvdb-9.0.0:=[nanovdb?]
dev-libs/c-blosc:=
)
+ optix? ( <dev-libs/optix-7.5.0 )
osl? ( >=media-libs/osl-1.11.16.0-r3:= )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
@@ -102,9 +98,21 @@ RDEPEND="${PYTHON_DEPS}
pulseaudio? ( media-sound/pulseaudio )
sdl? ( media-libs/libsdl2[sound,joystick] )
sndfile? ( media-libs/libsndfile )
- tbb? ( <dev-cpp/tbb-2021.4.0:= )
+ tbb? ( dev-cpp/tbb:= )
tiff? ( media-libs/tiff:= )
valgrind? ( dev-util/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}
@@ -123,14 +131,12 @@ BDEPEND="
dev-texlive/texlive-latexextra
)
nls? ( sys-devel/gettext )
+ wayland? (
+ dev-util/wayland-scanner
+ )
"
PATCHES=(
- "${FILESDIR}"/${PN}-2.93.13-openvdb-10.patch
- "${FILESDIR}"/${PN}-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch
- "${FILESDIR}"/${PN}-3.0.1-openexr.patch
- "${FILESDIR}"/${PN}-3.0.1-openimageio-2.3.patch
- "${WORKDIR}"/${PN}-3.0.1-ffmpeg-5.0.patch
"${FILESDIR}"/${PN}-3.3.0-fix-build-with-boost-1.81.patch
)
@@ -149,8 +155,8 @@ blender_get_version() {
# Add period (290 -> 2.90).
BV=${BV:0:1}.${BV:1}
else
- # Add period and strip last number (300 -> 3.0)
- BV=${BV:0:1}.${BV:1:1}
+ # Add period and skip the middle number (301 -> 3.1)
+ BV=${BV:0:1}.${BV:2}
fi
}
@@ -166,14 +172,19 @@ 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
- if use test; then
- mkdir -p lib || die
- mv "${WORKDIR}"/blender-${TEST_TARBALL_VERSION}-tests/tests lib || die
- fi
}
src_prepare() {
@@ -190,7 +201,6 @@ src_prepare() {
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|blender-thumbnailer.py|blender-${BV}-thumbnailer.py|" -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
@@ -199,17 +209,17 @@ src_prepare() {
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
- mv release/bin/blender-thumbnailer.py release/bin/blender-${BV}-thumbnailer.py || 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 ${ED}/usr/)|g" -i tests/CMakeLists.txt || die
+ sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i tests/CMakeLists.txt || die
sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
fi
}
src_configure() {
append-lfs-flags
+ blender_get_version
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
@@ -225,20 +235,26 @@ src_configure() {
-DWITH_CXX_GUARDEDALLOC=$(usex debug)
-DWITH_CYCLES=$(usex cycles)
-DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES_DEVICE_OPENCL=$(usex opencl)
+ -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=$(usex headless)
+ -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON)
-DWITH_INSTALL_PORTABLE=OFF
-DWITH_IMAGE_DDS=$(usex dds)
- -DOPENEXR_ROOT_DIR="${ESYSROOT}/usr/$(get_libdir)/OpenEXR-3"
-DWITH_IMAGE_OPENEXR=$(usex openexr)
-DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
-DWITH_IMAGE_TIFF=$(usex tiff)
@@ -249,7 +265,7 @@ src_configure() {
-DWITH_MEM_VALGRIND=$(usex valgrind)
-DWITH_MOD_FLUID=$(usex fluid)
-DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_NANOVDB=OFF
+ -DWITH_NANOVDB=$(usex nanovdb)
-DWITH_OPENAL=$(usex openal)
-DWITH_OPENCOLLADA=$(usex collada)
-DWITH_OPENCOLORIO=$(usex color-management)
@@ -266,12 +282,20 @@ src_configure() {
-DWITH_SDL=$(usex sdl)
-DWITH_STATIC_LIBS=OFF
-DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_GLEW=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
+
append-flags $(usex debug '-DDEBUG' '-DNDEBUG')
if tc-is-gcc ; then
@@ -294,8 +318,13 @@ src_test() {
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=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
+ export BLENDER_SYSTEM_SCRIPTS="${ED}"/usr/share/blender/${BV}/scripts
+ export BLENDER_SYSTEM_DATAFILES="${ED}"/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
@@ -351,9 +380,9 @@ src_install() {
dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
rm -r "${ED}"/usr/share/doc/blender || die
- python_fix_shebang "${ED}/usr/bin/blender-${BV}-thumbnailer.py"
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
}
@@ -375,11 +404,11 @@ pkg_postinst() {
ewarn " https://developer.blender.org/"
ewarn
- if ! use python_single_target_python3_9; then
+ 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_9 instead."
+ elog "python_single_target_python3_10 instead."
elog "Bug: https://bugs.gentoo.org/737388"
elog
fi
diff --git a/media-gfx/blender/blender-3.5.1.ebuild b/media-gfx/blender/blender-3.5.1.ebuild
new file mode 100644
index 000000000000..2a0147fb25ac
--- /dev/null
+++ b/media-gfx/blender/blender-3.5.1.ebuild
@@ -0,0 +1,435 @@
+# Copyright 1999-2023 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-2.1.1-r7:= )
+ 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? ( <dev-libs/optix-7.5.0 )
+ osl? ( >=media-libs/osl-1.11.16.0-r3:= )
+ pdf? ( media-libs/libharu )
+ potrace? ( media-gfx/potrace )
+ pugixml? ( dev-libs/pugixml )
+ pulseaudio? ( media-sound/pulseaudio )
+ sdl? ( media-libs/libsdl2[sound,joystick] )
+ sndfile? ( media-libs/libsndfile )
+ tbb? ( dev-cpp/tbb:= )
+ tiff? ( media-libs/tiff:= )
+ valgrind? ( dev-util/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-doc/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 ${ED}/usr/)|g" -i tests/CMakeLists.txt || die
+ sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${ED}/usr/)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
+ fi
+}
+
+src_configure() {
+ 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
+
+ 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.
+ cmake_src_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="${ED}"/usr/share/blender/${BV}/scripts
+ export BLENDER_SYSTEM_DATAFILES="${ED}"/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 "${ED}"/* || 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
+ ewarn
+ ewarn "This ebuild does not unbundle the massive amount of 3rd party"
+ ewarn "libraries which are shipped with blender. Note that"
+ ewarn "these have caused security issues in the past."
+ ewarn "If you are concerned about security, file a bug upstream:"
+ ewarn " https://developer.blender.org/"
+ ewarn
+
+ 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/files/blender-2.93.13-openvdb-10.patch b/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch
deleted file mode 100644
index 42db25179cdc..000000000000
--- a/media-gfx/blender/files/blender-2.93.13-openvdb-10.patch
+++ /dev/null
@@ -1,107 +0,0 @@
---- a/intern/cycles/render/volume.cpp
-+++ b/intern/cycles/render/volume.cpp
-@@ -259,7 +259,8 @@ void VolumeMeshBuilder::add_grid(openvdb::GridBase::ConstPtr grid,
- void VolumeMeshBuilder::add_padding(int pad_size)
- {
- #ifdef WITH_OPENVDB
-- openvdb::tools::dilateVoxels(topology_grid->tree(), pad_size);
-+ openvdb::tools::dilateActiveValues(
-+ topology_grid->tree(), pad_size, openvdb::tools::NN_FACE, openvdb::tools::IGNORE_TILES);
- #else
- (void)pad_size;
- #endif
-diff --git a/source/blender/blenkernel/BKE_volume.h b/source/blender/blenkernel/BKE_volume.h
-index 8b42de7303d..068cdf87d16 100644
---- a/source/blender/blenkernel/BKE_volume.h
-+++ b/source/blender/blenkernel/BKE_volume.h
-@@ -104,7 +104,6 @@ typedef enum VolumeGridType {
- VOLUME_GRID_INT,
- VOLUME_GRID_INT64,
- VOLUME_GRID_MASK,
-- VOLUME_GRID_STRING,
- VOLUME_GRID_VECTOR_FLOAT,
- VOLUME_GRID_VECTOR_DOUBLE,
- VOLUME_GRID_VECTOR_INT,
-@@ -218,8 +217,6 @@ auto BKE_volume_grid_type_operation(const VolumeGridType grid_type, OpType &&op)
- return op.template operator()<openvdb::Vec3IGrid>();
- case VOLUME_GRID_VECTOR_DOUBLE:
- return op.template operator()<openvdb::Vec3dGrid>();
-- case VOLUME_GRID_STRING:
-- return op.template operator()<openvdb::StringGrid>();
- case VOLUME_GRID_MASK:
- return op.template operator()<openvdb::MaskGrid>();
- case VOLUME_GRID_POINTS:
-diff --git a/source/blender/blenkernel/intern/volume.cc b/source/blender/blenkernel/intern/volume.cc
-index 39a7725bfa3..a0e2d1a83cd 100644
---- a/source/blender/blenkernel/intern/volume.cc
-+++ b/source/blender/blenkernel/intern/volume.cc
-@@ -1345,9 +1345,6 @@ VolumeGridType BKE_volume_grid_type_openvdb(const openvdb::GridBase &grid)
- if (grid.isType<openvdb::Vec3dGrid>()) {
- return VOLUME_GRID_VECTOR_DOUBLE;
- }
-- if (grid.isType<openvdb::StringGrid>()) {
-- return VOLUME_GRID_STRING;
-- }
- if (grid.isType<openvdb::MaskGrid>()) {
- return VOLUME_GRID_MASK;
- }
-@@ -1383,7 +1380,6 @@ int BKE_volume_grid_channels(const VolumeGrid *grid)
- case VOLUME_GRID_VECTOR_DOUBLE:
- case VOLUME_GRID_VECTOR_INT:
- return 3;
-- case VOLUME_GRID_STRING:
- case VOLUME_GRID_POINTS:
- case VOLUME_GRID_UNKNOWN:
- return 0;
-@@ -1624,13 +1620,8 @@ struct CreateGridWithChangedResolutionOp {
-
- template<typename GridType> typename openvdb::GridBase::Ptr operator()()
- {
-- if constexpr (std::is_same_v<GridType, openvdb::StringGrid>) {
-- return {};
-- }
-- else {
-- return create_grid_with_changed_resolution(static_cast<const GridType &>(grid),
-- resolution_factor);
-- }
-+ return create_grid_with_changed_resolution(static_cast<const GridType &>(grid),
-+ resolution_factor);
- }
- };
-
-diff --git a/source/blender/blenkernel/intern/volume_render.cc b/source/blender/blenkernel/intern/volume_render.cc
-index c0a205b5673..7ccf04df941 100644
---- a/source/blender/blenkernel/intern/volume_render.cc
-+++ b/source/blender/blenkernel/intern/volume_render.cc
-@@ -77,7 +77,6 @@ static void extract_dense_float_voxels(const VolumeGridType grid_type,
- case VOLUME_GRID_VECTOR_INT:
- return extract_dense_voxels<openvdb::Vec3IGrid, openvdb::Vec3f>(
- grid, bbox, reinterpret_cast<openvdb::Vec3f *>(r_voxels));
-- case VOLUME_GRID_STRING:
- case VOLUME_GRID_POINTS:
- case VOLUME_GRID_UNKNOWN:
- /* Zero channels to copy. */
-diff --git a/source/blender/makesrna/intern/rna_volume.c b/source/blender/makesrna/intern/rna_volume.c
-index 3100c1195f4..2854f02a4d4 100644
---- a/source/blender/makesrna/intern/rna_volume.c
-+++ b/source/blender/makesrna/intern/rna_volume.c
-@@ -241,7 +241,6 @@
- {VOLUME_GRID_INT, "INT", 0, "Integer", "32-bit integer"},
- {VOLUME_GRID_INT64, "INT64", 0, "Integer 64-bit", "64-bit integer"},
- {VOLUME_GRID_MASK, "MASK", 0, "Mask", "No data, boolean mask of active voxels"},
-- {VOLUME_GRID_STRING, "STRING", 0, "String", "Text string"},
- {VOLUME_GRID_VECTOR_FLOAT, "VECTOR_FLOAT", 0, "Float Vector", "3D float vector"},
- {VOLUME_GRID_VECTOR_DOUBLE, "VECTOR_DOUBLE", 0, "Double Vector", "3D double vector"},
- {VOLUME_GRID_VECTOR_INT, "VECTOR_INT", 0, "Integer Vector", "3D integer vector"},
-diff --git a/source/blender/modifiers/intern/MOD_volume_displace.cc b/source/blender/modifiers/intern/MOD_volume_displace.cc
-index af3a502162d..e2d7f445731 100644
---- a/source/blender/modifiers/intern/MOD_volume_displace.cc
-+++ b/source/blender/modifiers/intern/MOD_volume_displace.cc
-@@ -201,7 +201,6 @@
- template<typename GridType> void operator()()
- {
- if constexpr (std::is_same_v<GridType, openvdb::points::PointDataGrid> ||
-- std::is_same_v<GridType, openvdb::StringGrid> ||
- std::is_same_v<GridType, openvdb::MaskGrid>) {
- /* We don't support displacing these grid types yet. */
- return;
diff --git a/media-gfx/blender/files/blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch b/media-gfx/blender/files/blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch
deleted file mode 100644
index 51d8ded23366..000000000000
--- a/media-gfx/blender/files/blender-3.0.0-intern-ghost-fix-typo-in-finding-XF86VMODE.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://developer.blender.org/D13464
-
-From 781c56f054b4c7717739752336427a811f7633eb Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Sat, 4 Dec 2021 00:38:59 +0000
-Subject: [PATCH] intern/ghost: fix typo in finding XF86VMODE
-
----
- intern/ghost/CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/intern/ghost/CMakeLists.txt b/intern/ghost/CMakeLists.txt
-index 4164231..663598e 100644
---- a/intern/ghost/CMakeLists.txt
-+++ b/intern/ghost/CMakeLists.txt
-@@ -245,10 +245,10 @@ elseif(WITH_GHOST_X11 OR WITH_GHOST_WAYLAND)
- if(WITH_X11_XF86VMODE)
- add_definitions(-DWITH_X11_XF86VMODE)
- list(APPEND INC_SYS
-- ${X11_xf86vmode_INCLUDE_PATH}
-+ ${X11_Xxf86vmode_INCLUDE_PATH}
- )
- list(APPEND LIB
-- ${X11_Xf86vmode_LIB}
-+ ${X11_Xxf86vmode_LIB}
- )
- endif()
-
---
-2.34.1
-
diff --git a/media-gfx/blender/files/blender-3.0.1-openexr.patch b/media-gfx/blender/files/blender-3.0.1-openexr.patch
deleted file mode 100644
index 435498cd8a3d..000000000000
--- a/media-gfx/blender/files/blender-3.0.1-openexr.patch
+++ /dev/null
@@ -1,190 +0,0 @@
-https://src.fedoraproject.org/rpms/blender/blob/rawhide/f/blender-openexr.patch
-
---- a/source/blender/imbuf/intern/openexr/openexr_api.cpp
-+++ b/source/blender/imbuf/intern/openexr/openexr_api.cpp
-@@ -32,30 +32,31 @@
- #include <stdexcept>
- #include <string>
-
--#include <Iex.h>
-+#include <OpenEXR/Iex.h>
- #include <ImathBox.h>
--#include <ImfArray.h>
--#include <ImfChannelList.h>
--#include <ImfCompression.h>
--#include <ImfCompressionAttribute.h>
--#include <ImfIO.h>
--#include <ImfInputFile.h>
--#include <ImfOutputFile.h>
--#include <ImfPixelType.h>
--#include <ImfStandardAttributes.h>
--#include <ImfStringAttribute.h>
--#include <ImfVersion.h>
--#include <half.h>
-+#include <OpenEXR/ImfArray.h>
-+#include <OpenEXR/ImfFrameBuffer.h>
-+#include <OpenEXR/ImfChannelList.h>
-+#include <OpenEXR/ImfCompression.h>
-+#include <OpenEXR/ImfCompressionAttribute.h>
-+#include <OpenEXR/ImfIO.h>
-+#include <OpenEXR/ImfInputFile.h>
-+#include <OpenEXR/ImfOutputFile.h>
-+#include <OpenEXR/ImfPixelType.h>
-+#include <OpenEXR/ImfStandardAttributes.h>
-+#include <OpenEXR/ImfStringAttribute.h>
-+#include <OpenEXR/ImfVersion.h>
-+#include <Imath/half.h>
-
- /* multiview/multipart */
--#include <ImfInputPart.h>
--#include <ImfMultiPartInputFile.h>
--#include <ImfMultiPartOutputFile.h>
--#include <ImfMultiView.h>
--#include <ImfOutputPart.h>
--#include <ImfPartHelper.h>
--#include <ImfPartType.h>
--#include <ImfTiledOutputPart.h>
-+#include <OpenEXR/ImfInputPart.h>
-+#include <OpenEXR/ImfMultiPartInputFile.h>
-+#include <OpenEXR/ImfMultiPartOutputFile.h>
-+#include <OpenEXR/ImfMultiView.h>
-+#include <OpenEXR/ImfOutputPart.h>
-+#include <OpenEXR/ImfPartHelper.h>
-+#include <OpenEXR/ImfPartType.h>
-+#include <OpenEXR/ImfTiledOutputPart.h>
-
- #include "DNA_scene_types.h" /* For OpenEXR compression constants */
-
-@@ -131,12 +132,12 @@ class IMemStream : public Imf::IStream {
- return false;
- }
-
-- Int64 tellg() override
-+ uint64_t tellg() override
- {
- return _exrpos;
- }
-
-- void seekg(Int64 pos) override
-+ void seekg(uint64_t pos) override
- {
- _exrpos = pos;
- }
-@@ -146,8 +147,8 @@ class IMemStream : public Imf::IStream {
- }
-
- private:
-- Int64 _exrpos;
-- Int64 _exrsize;
-+ uint64_t _exrpos;
-+ uint64_t _exrsize;
- unsigned char *_exrbuf;
- };
-
-@@ -182,12 +183,12 @@ class IFileStream : public Imf::IStream
- return check_error();
- }
-
-- Int64 tellg() override
-+ uint64_t tellg() override
- {
- return std::streamoff(ifs.tellg());
- }
-
-- void seekg(Int64 pos) override
-+ void seekg(uint64_t pos) override
- {
- ifs.seekg(pos);
- check_error();
-@@ -231,19 +232,19 @@ class OMemStream : public OStream {
- ibuf->encodedsize += n;
- }
-
-- Int64 tellp() override
-+ uint64_t tellp() override
- {
- return offset;
- }
-
-- void seekp(Int64 pos) override
-+ void seekp(uint64_t pos) override
- {
- offset = pos;
- ensure_size(offset);
- }
-
- private:
-- void ensure_size(Int64 size)
-+ void ensure_size(uint64_t size)
- {
- /* if buffer is too small increase it. */
- while (size > ibuf->encodedbuffersize) {
-@@ -254,7 +255,7 @@ class OMemStream : public OStream {
- }
-
- ImBuf *ibuf;
-- Int64 offset;
-+ uint64_t offset;
- };
-
- /* File Output Stream */
-@@ -284,12 +285,12 @@ class OFileStream : public OStream {
- check_error();
- }
-
-- Int64 tellp() override
-+ uint64_t tellp() override
- {
- return std::streamoff(ofs.tellp());
- }
-
-- void seekp(Int64 pos) override
-+ void seekp(uint64_t pos) override
- {
- ofs.seekp(pos);
- check_error();
---- a/build_files/cmake/Modules/FindOpenEXR.cmake
-+++ b/build_files/cmake/Modules/FindOpenEXR.cmake
-@@ -25,6 +25,7 @@
- # see accompanying file BSD-3-Clause-license.txt for details.
- #=============================================================================
-
-+
- # If OPENEXR_ROOT_DIR was defined in the environment, use it.
- IF(NOT OPENEXR_ROOT_DIR AND NOT $ENV{OPENEXR_ROOT_DIR} STREQUAL "")
- SET(OPENEXR_ROOT_DIR $ENV{OPENEXR_ROOT_DIR})
-@@ -33,6 +34,16 @@ ENDIF()
- # Old versions (before 2.0?) do not have any version string, just assuming this should be fine though.
- SET(_openexr_libs_ver_init "2.0")
-
-+find_package(Imath CONFIG QUIET)
-+if(TARGET Imath::Imath)
-+SET(_openexr_FIND_COMPONENTS
-+ Imath
-+ Iex
-+ OpenEXR
-+ IlmThread
-+)
-+
-+else()
- SET(_openexr_FIND_COMPONENTS
- Half
- Iex
-@@ -40,6 +51,7 @@ SET(_openexr_FIND_COMPONENTS
- IlmThread
- Imath
- )
-+endif()
-
- SET(_openexr_SEARCH_DIRS
- ${OPENEXR_ROOT_DIR}
-@@ -121,6 +133,9 @@ IF(OPENEXR_FOUND)
- SET(OPENEXR_LIBRARIES ${_openexr_LIBRARIES})
- # Both include paths are needed because of dummy OSL headers mixing #include <OpenEXR/foo.h> and #include <foo.h> :(
- SET(OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR} ${OPENEXR_INCLUDE_DIR}/OpenEXR)
-+ if(TARGET Imath::Imath)
-+ list(APPEND OPENEXR_INCLUDE_DIRS ${OPENEXR_INCLUDE_DIR}/Imath)
-+ endif()
- ENDIF()
-
- MARK_AS_ADVANCED(
diff --git a/media-gfx/blender/files/blender-3.0.1-openimageio-2.3.patch b/media-gfx/blender/files/blender-3.0.1-openimageio-2.3.patch
deleted file mode 100644
index 3ba3000037d0..000000000000
--- a/media-gfx/blender/files/blender-3.0.1-openimageio-2.3.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://src.fedoraproject.org/rpms/blender/raw/rawhide/f/blender-oiio-2.3.patch
-https://bugs.gentoo.org/831357
---- a/build_files/cmake/Modules/FindOpenImageIO.cmake
-+++ b/build_files/cmake/Modules/FindOpenImageIO.cmake
-@@ -48,6 +48,15 @@ FIND_LIBRARY(OPENIMAGEIO_LIBRARY
- lib64 lib
- )
-
-+FIND_LIBRARY(OPENIMAGEIO_UTIL_LIBRARY
-+ NAMES
-+ OpenImageIO_Util
-+ HINTS
-+ ${_openimageio_SEARCH_DIRS}
-+ PATH_SUFFIXES
-+ lib64 lib
-+ )
-+
- FIND_FILE(OPENIMAGEIO_IDIFF
- NAMES
- idiff
-@@ -64,7 +73,7 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenIm
- OPENIMAGEIO_LIBRARY OPENIMAGEIO_INCLUDE_DIR)
-
- IF(OPENIMAGEIO_FOUND)
-- SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY})
-+ SET(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO_LIBRARY} ${OPENIMAGEIO_UTIL_LIBRARY})
- SET(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO_INCLUDE_DIR})
- IF(EXISTS ${OPENIMAGEIO_INCLUDE_DIR}/OpenImageIO/pugixml.hpp)
- SET(OPENIMAGEIO_PUGIXML_FOUND TRUE)
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index 5107673c50f9..f57d99a79c61 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -61,9 +61,6 @@
Enable NDOF input devices (SpaceNavigator and friends).
</flag>
<flag name="oidn">Enable OpenImageDenoiser Support</flag>
- <flag name="opencl">
- Allow OpenCL Graphics Acceleration. This may
- require extra graphics card drivers.</flag>
<flag name="openimageio">Enable OpenImageIO Support</flag>
<flag name="openpgl">Enable path guiding support in Cycles</flag>
<flag name="opensubdiv">
diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest
index 261a80da3bf1..998cf3dc290f 100644
--- a/media-gfx/inkscape/Manifest
+++ b/media-gfx/inkscape/Manifest
@@ -4,6 +4,6 @@ DIST inkscape-1.2.1.tar.xz 98048464 BLAKE2B 2de10beb5a90ba81e2f212710dc78fce7c72
DIST inkscape-1.2.2.tar.xz 39392040 BLAKE2B 7a4f0e42d1d8b67f42b924c760be484156e210e5661dc48408c992cbef5e0ac997a468cf1263e5c14cd5c0c0a83345e77055ff59fd7fb2d01b2d196f42a9e858 SHA512 b3e95f7d45612140b38c95fd758b051c27b0ed55bac7e7980c0491d3ba94c62edd7f0b27034314388bf74faf2046d829f36d2f6745cb4a54fb43b8b684df235f
EBUILD inkscape-1.2.1-r2.ebuild 5251 BLAKE2B fe6bfdbdc8de16ead4e418b91ac13a188d67c3607e7ddf3fa875b749df77894a4de8f96a6be990ae158c222d32ba4e3c2f6242e82224393d40cf98477a97b22c SHA512 070d799f453068cd4c1604fffbae7922373aeb386e9b7522c7860bba61ba82f4a81e342fd494a97b94931f8608d1e29ae48b05d076c89950b50fb7e942ec4a7a
EBUILD inkscape-1.2.2-r1.ebuild 5251 BLAKE2B fd6ec2774783bd2a1aee418e6b8cfcafb9e40d2374efa2abcbd0d91b55a5066804c942d5e719277fa3f858f3877e035a9ffc8e895f4d18f10a11196af1940c10 SHA512 56f5545f6793d330a7a6d00a2695696621ec280fe886f53985283d38848bf931cec49884fe3e979dfc7b47850e27eab6836bc1bad840ca6a87d4f713fd564643
-EBUILD inkscape-1.2.2.ebuild 5191 BLAKE2B c58c4b176348764e9029041bca751ea6cea29835496a1404e7ecb6e11974f254bd3e2b1c0b0ebf32b3882d35113ce507261b552438ac4367335ac52e675f9dea SHA512 d4376393b1c826464497783a694d4884079362e4dd0f4762fc059aec1a4b35b3eeab3a350a3b56307e390809e7f416f558796564daaaeb14a905bdb5aac1d700
+EBUILD inkscape-1.2.2.ebuild 5189 BLAKE2B 62a14c92e245ec737176aa3015bd508068fe0c12436f1487f5140bd0f6bf50f4ffed82abd67cb35b2b2814ea0fad9eea3c2b5f634784be5a1c64f8040d48ad55 SHA512 0aaf8dc62bc796b78ec7076fa9d6b6f2c75e767b98e251345e5b7727d65827a23dd55d3ee08fbff7650ef3533f7bf7692a2ab294299bfd36c8d01be3b63f9560
EBUILD inkscape-9999.ebuild 5097 BLAKE2B de3a9a36fbb8e9c2b0b1695e1fc93780f5bfa7882f42c30c612ed449b532c23a53b96a63c354fc45c10488fe792d8855ed641c238a5f6aed63b319387525e8b2 SHA512 6bd47fdd4984b1f6b4cdc0888540414102b6be7351802aa5f7565189793f308ba1f96588b1663cef19703d0d8a736404014ed918629a664dee4b123061eaff97
MISC metadata.xml 876 BLAKE2B e8998be1909e5848fd13fa4a8c4e2d9a424c818c3a41ebdd0a5807f572f9d0037900ac2516d107b9ab016410c25bc4ca3225e832ef17bd6b345d6471d5b5f0bc SHA512 f9a8581f7f401a40b100f61e67adb032859b2c70bd49eaa60b13a18cf24cc24e3a2704e227cba5590aad4bbaf705f3a4bf8c6ffda75f473c39bb8177af4aca6b
diff --git a/media-gfx/inkscape/inkscape-1.2.2.ebuild b/media-gfx/inkscape/inkscape-1.2.2.ebuild
index d9588370c24a..a5abc5d13f0a 100644
--- a/media-gfx/inkscape/inkscape-1.2.2.ebuild
+++ b/media-gfx/inkscape/inkscape-1.2.2.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git"
else
SRC_URI="https://media.inkscape.org/dl/resources/file/${P}.tar.xz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
fi
DESCRIPTION="SVG based generic vector-drawing program"
diff --git a/media-gfx/libredwg/Manifest b/media-gfx/libredwg/Manifest
index 1ed9a2ccdd8f..fe3142440ebd 100644
--- a/media-gfx/libredwg/Manifest
+++ b/media-gfx/libredwg/Manifest
@@ -1,4 +1,6 @@
+DIST libredwg-0.12.5.5487.tar.gz 18878778 BLAKE2B 01f6960dc1bab65e447f942d1a198d6ddcef0043ed50e7b58ea4dbb5d52bf25e4d0946170f66455b0ae00e08352d45710546c62e623b1522a6681bf7ea51683e SHA512 8883d0bc6a893fc10960ecd8cb1d32833c955e87b18817194e746e481f6d1ea5587bfb54e8da7ae975d8b3f93bf89a2611c97710449848e1274e734e3443ad52
DIST libredwg-0.12.5.tar.gz 16855123 BLAKE2B 2ca0bfafdb0ca6e412d3aaf7df21f80a2eed4bad795bffacc1c767f23dc555b35b2aeedb35dffab099c5dbab2890f9363cfc1508c3fec16a6ff51ce79a272e3e SHA512 0b5da6e863410d9ce012d311e921a39fa0d9cb6d96d17f1df70ca767c1768cd625e35503f24830a6a33400ede92d14b36ce87b92f177a5af7e6d4573920cf50c
DIST libredwg-85695f3d5903b1cd5b4030efe50db3b4f5f3c928.tar.gz 12597 BLAKE2B cd01f6c446d5d129545fdae07c0101d133e1f4e69ee62e94c27c3c2853dcc30854f40aed0c6f38f6594c5f5eb9e7b2d18d3b2e4f487b7bf1a3f7f39facde38bc SHA512 1d08cfa6216e0fe671dab77a0bd0b4ef0c4eb174878eba909c680e0ee93a82079b3cbf60afe2de7b0078258de8bcc588961e59cf0c14fe5f2d1f70db639ef95a
EBUILD libredwg-0.12.5-r1.ebuild 2751 BLAKE2B a0330e80d6b330bdd0a9fc497d42c19694dfef0ab49852f683993bb2aafe8e24055ca653d49bbe81f1b4eaa5b456a1f88aec27874b133236c1229bc3bb484de8 SHA512 3f1b6b40dd3125e580ac85c5153ffccce77313df3e25e3a38778e4afd1cc3fd2735e65387a21fe8b856635b727b3609c2767ea20a96d9b5f99e82cb0c51da863
+EBUILD libredwg-0.12.5.5487.ebuild 2752 BLAKE2B 88f68008fad648770a7416a68ff349c0566386c51a6b021d089dfed0f2e7ae1b3aa08e2d01d038f2fd83cb9d7bca354cc29cf0ae6207590c29169cca9e1e9ca6 SHA512 b07ba43b55694db80bf4fa8591ce51f26e8af9876556439c54ad45e9f9dbcc48af881f42a41485af0ffcbae72f98e1f8a4782526fce4d64e44bd2aad71daae4a
MISC metadata.xml 406 BLAKE2B c39713a8733c296d7b9c8d87210f1bec2bcebf415d2dcb6e6326fd6a89e9b84b44bffd781cd953de35894220b51277d39c3fd80ad8c9fe8f22cb29fdb920467c SHA512 a474d5abfc3db689b006dad09dc5ab003526141269d30e6acb7c241054be518a21f6a034ed9939a75098386cd01012d460bf70e0c12f0f14023ac48682c44e81
diff --git a/media-gfx/libredwg/libredwg-0.12.5.5487.ebuild b/media-gfx/libredwg/libredwg-0.12.5.5487.ebuild
new file mode 100644
index 000000000000..2dde554209f8
--- /dev/null
+++ b/media-gfx/libredwg/libredwg-0.12.5.5487.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..11} )
+DOCS_BUILDER="doxygen"
+# File is hardcoded to be run from ../ so we use this instead of DOCS_DIR
+DOCS_CONFIG_NAME="doc/Doxyfile"
+
+inherit autotools docs python-single-r1 perl-functions
+
+JSMN_COMMIT="85695f3d5903b1cd5b4030efe50db3b4f5f3c928"
+
+DESCRIPTION="C library to handle DWG files"
+HOMEPAGE="https://www.gnu.org/software/libredwg/"
+SRC_URI="
+ https://github.com/LibreDWG/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/zserge/jsmn/archive/${JSMN_COMMIT}.tar.gz -> ${PN}-${JSMN_COMMIT}.tar.gz
+"
+
+LICENSE="GPL-3+ MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# https://github.com/LibreDWG/libredwg/issues/342
+RESTRICT="test"
+
+IUSE="debug python perl static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+ perl? ( dev-lang/perl )
+ dev-libs/libpcre2
+ dev-libs/pslib
+"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ perl? ( dev-lang/swig )
+"
+BDEPEND="|| (
+ sys-devel/gcc[sanitize]
+ sys-libs/compiler-rt-sanitizers[asan(-)]
+ )
+ dev-vcs/git
+"
+
+src_unpack() {
+ # Build system really wants jsmn to be here
+ default
+ rm -r "${S}/jsmn" || die
+ mv "${WORKDIR}/jsmn-${JSMN_COMMIT}" "${S}/jsmn" || die
+}
+
+src_prepare() {
+ default
+ # Fix variable references itself error, fails in src_install otherwise.
+ sed -i -e 's/TEXINPUTS="$(TEXINPUTS)$(PATH_SEPARATOR)$(TEXINFO_TEX_DIR)"/TEXINPUTS="$(PATH_SEPARATOR)$(TEXINFO_TEX_DIR)"/g' doc/Makefile.am || die
+ # https://github.com/LibreDWG/libredwg/issues/404
+ # Workaround: release tarball does not include dwg2ps.1.
+ # Upstream autotools stuff has to be run in git repo
+ git init -q || die
+ git config --global user.email "larry@gentoo.org" || die
+ git config --global user.name "Larry the Cow" || die
+ git add . || die
+ git commit -qm 'init' || die
+ git tag ${PV} || die
+ eautoreconf
+}
+
+src_configure() {
+ perl_set_version
+ local myconf=(
+ --enable-write
+ --enable-dxf
+ --enable-json
+ --disable-gcov
+ $(use_enable !debug release)
+ $(use_enable debug trace)
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ $(use_enable python python "${EPYTHON}")
+ $(usex perl "--with-perl-install=vendor" "--with-perl-install=no")
+ )
+
+ if use python || use perl; then
+ myconf+=( --enable-bindings )
+ else
+ myconf+=( --disable-bindings )
+ fi
+
+ econf ${myconf[@]}
+}
+
+src_compile() {
+ perl_set_version
+ emake
+ docs_compile
+}
+
+src_install() {
+ perl_set_version
+ default
+ use python && python_optimize
+ # remove .la files if static-libs disabled
+ if ! use static-libs; then
+ rm "${ED}/usr/$(get_libdir)/libredwg.la" || die
+ if use python; then
+ rm "${D}/$(python_get_sitedir)/_LibreDWG.la" || die
+ fi
+ fi
+}