diff options
Diffstat (limited to 'media-gfx')
318 files changed, 6901 insertions, 10269 deletions
diff --git a/media-gfx/alembic/Manifest b/media-gfx/alembic/Manifest index 4810c74e5789..e6378a9716fe 100644 --- a/media-gfx/alembic/Manifest +++ b/media-gfx/alembic/Manifest @@ -1 +1,2 @@ DIST alembic-1.8.6.tar.gz 868945 BLAKE2B 1ac30ffa75a4b8bbb3f32820e6f67cebcd894465f16cd12ee0396c88611af821b13973f46228fd59726c6bc0cc8885afd4de81a0cebaa0f94cb30fd9daba9885 SHA512 6371b830242be90d4ea833248df5fd42d9e713e305d15eb1383d04410319acdae5743d48d65e8f75f1cedce777d2af7d969cde095f678b17322c19f1c69f477b +DIST alembic-1.8.8.tar.gz 933258 BLAKE2B 4f56f5addcf153407da14d6646255ee35b1126b307179fbcfa2c13398825680652b557772db0a08906d04a9bd46c1fa82862a65367d9ce162f2b9d948ff9b701 SHA512 02b7bf5782e83efb08a8653f130b02565fa997e857dbd8d0523e1b218ff58d929fbf9690db0980e8101a31f01a67341b6000af8794538890ef7d759fe0289e2f diff --git a/media-gfx/alembic/alembic-1.8.6.ebuild b/media-gfx/alembic/alembic-1.8.8.ebuild index de6bc765bcef..0a9d7c9073bc 100644 --- a/media-gfx/alembic/alembic-1.8.6.ebuild +++ b/media-gfx/alembic/alembic-1.8.8.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..11} ) +PYTHON_COMPAT=( python3_{10..13} ) inherit cmake python-single-r1 @@ -13,7 +13,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" LICENSE="BSD" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" IUSE="examples hdf5 python test" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} @@ -23,7 +23,7 @@ RESTRICT="!test? ( test )" RDEPEND=" ${PYTHON_DEPS} - dev-libs/imath:= + >=dev-libs/imath-3.1.11-r1:= python? ( dev-libs/imath:=[python,${PYTHON_SINGLE_USEDEP}] ) hdf5? ( >=sci-libs/hdf5-1.10.2:=[zlib(+)] @@ -33,15 +33,12 @@ RDEPEND=" " DEPEND="${RDEPEND}" -PATCHES=( "${FILESDIR}"/${PN}-1.8.5-set-correct-libdir.patch ) +PATCHES=( + "${FILESDIR}/${PN}-1.8.6-py312.patch" -DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt ) +) -src_prepare() { - cmake_src_prepare - # Tests are broken with python 3.11. See also: https://github.com/alembic/alembic/issues/411 - cmake_run_in "${S}/python/PyAlembic" cmake_comment_add_subdirectory Tests -} +DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt ) src_configure() { local mycmakeargs=( diff --git a/media-gfx/asymptote/Manifest b/media-gfx/asymptote/Manifest index d9b42c10937d..817b08c66203 100644 --- a/media-gfx/asymptote/Manifest +++ b/media-gfx/asymptote/Manifest @@ -1,3 +1,4 @@ DIST asymptote-2.89.src.tgz 15133552 BLAKE2B bde5acd3e76543b3c936e785ccf081c38687d535f336ee0e3da62f5fe078bb040dc162b64f02e94f392129c120bdf497b86e3862059abdb1b4544bab3cce3218 SHA512 a9874f0dc6eb05b95ef551611d85f39222af2a0628d7904160b08bdaf797c2b9ec6d12af7ae26dee69dbc056a5bffad4e450d4846a517d80990d89759e0c47a0 DIST asymptote-2.90.src.tgz 15154576 BLAKE2B 57e3c4287f2e8a6b6f3d660cdd04bb753b435294d4769bbcf84d6c7bf80c813609528767af7d19853d9f72f4f1ce9e6a8dcc6a75731a2f3d16098d5da5b81b6c SHA512 2d050f7a2cfc34d2d6b5382a48e7bf09031d98a77e61b654b4af84b5e8e11553a9a713a6dea8d09291761427d7134742a3d266e57ac57ffda3587ec0487ecfca DIST asymptote-2.92.src.tgz 17075592 BLAKE2B 426fe3bb652f2f227d6f8cdd8e05c4b4bf0e2a0c47b3c252c5efb189ad3e7a0946664d714f161f70a9715f75dadf5510445e404d8c2e7b33f9e710200965caf0 SHA512 242a91357e7f0d2a4fc786fa881498d09d5b3b679cf1ee83e6af49f645935699a6e703eb8069446e11098028bc0cb0549f527695d3ea289066124d707c592559 +DIST asymptote-2.95.src.tgz 32055059 BLAKE2B 89d8c512599f4ff4f21d43287176541fc539793f1d467028a99f866f663b8b5093626b6d166ce48749534cfec998059dc5add5cef0d54b49afb636791643e1ba SHA512 e1e2401d5d1aef8f594dadcf7c49f775a816e15d9fbd43c52581e9f135942c20adcc78af134f46b101c32e2fc68aa9e9f4f5985d19eee9f6bfcb069813194d15 diff --git a/media-gfx/asymptote/asymptote-2.89.ebuild b/media-gfx/asymptote/asymptote-2.89.ebuild index 8d3f1ada6331..cd7a9a255ce7 100644 --- a/media-gfx/asymptote/asymptote-2.89.ebuild +++ b/media-gfx/asymptote/asymptote-2.89.ebuild @@ -43,7 +43,7 @@ RDEPEND=" ) X? ( ${PYTHON_DEPS} - dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets,svg] + dev-python/pyqt5[${PYTHON_USEDEP},gui,widgets,svg] dev-python/cson dev-python/numpy >=gnome-base/librsvg-2.40 diff --git a/media-gfx/asymptote/asymptote-2.90.ebuild b/media-gfx/asymptote/asymptote-2.90.ebuild index 41e78e722943..cd7a9a255ce7 100644 --- a/media-gfx/asymptote/asymptote-2.90.ebuild +++ b/media-gfx/asymptote/asymptote-2.90.ebuild @@ -13,7 +13,7 @@ SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz" LICENSE="GPL-3" SLOT="0" -KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="amd64 ~ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="+boehm-gc context curl doc emacs examples fftw gsl +imagemagick latex lsp offscreen +opengl python sigsegv svg test vim-syntax X" RESTRICT="!test? ( test )" @@ -43,7 +43,7 @@ RDEPEND=" ) X? ( ${PYTHON_DEPS} - dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets,svg] + dev-python/pyqt5[${PYTHON_USEDEP},gui,widgets,svg] dev-python/cson dev-python/numpy >=gnome-base/librsvg-2.40 diff --git a/media-gfx/asymptote/asymptote-2.92.ebuild b/media-gfx/asymptote/asymptote-2.92.ebuild index ca9e0caa6681..c8ddba443b11 100644 --- a/media-gfx/asymptote/asymptote-2.92.ebuild +++ b/media-gfx/asymptote/asymptote-2.92.ebuild @@ -43,7 +43,7 @@ RDEPEND=" ) X? ( ${PYTHON_DEPS} - dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets,svg] + dev-python/pyqt5[${PYTHON_USEDEP},gui,widgets,svg] dev-python/cson dev-python/numpy >=gnome-base/librsvg-2.40 diff --git a/media-gfx/asymptote/asymptote-2.95.ebuild b/media-gfx/asymptote/asymptote-2.95.ebuild new file mode 100644 index 000000000000..d1589a23dad5 --- /dev/null +++ b/media-gfx/asymptote/asymptote-2.95.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit autotools elisp-common latex-package python-r1 + +DESCRIPTION="A vector graphics language that provides a framework for technical drawing" +HOMEPAGE="https://asymptote.sourceforge.io/" +SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +IUSE="+boehm-gc context curl doc emacs examples fftw gsl +imagemagick latex lsp offscreen +opengl python sigsegv svg test vim-syntax X" +RESTRICT="!test? ( test )" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + offscreen? ( opengl ) + doc? ( boehm-gc )" + +RDEPEND=" + >=sys-libs/ncurses-5.4-r5:0= + >=sys-libs/readline-4.3-r5:0= + net-libs/libtirpc:= + imagemagick? ( media-gfx/imagemagick[png] ) + opengl? ( media-libs/mesa[X(+)] media-libs/freeglut media-libs/glew:0 media-libs/glm ) + offscreen? ( media-libs/mesa[osmesa] ) + svg? ( app-text/dvisvgm ) + sigsegv? ( dev-libs/libsigsegv ) + boehm-gc? ( >=dev-libs/boehm-gc-7.0[cxx,threads] ) + fftw? ( >=sci-libs/fftw-3.0.1:= ) + gsl? ( sci-libs/gsl:= ) + python? ( ${PYTHON_DEPS} ) + curl? ( net-misc/curl ) + lsp? ( + dev-libs/boost + dev-libs/rapidjson + dev-libs/utfcpp + ) + X? ( + ${PYTHON_DEPS} + dev-python/pyqt5[${PYTHON_USEDEP},gui,widgets,svg] + dev-python/cson + dev-python/numpy + >=gnome-base/librsvg-2.40 + ) + latex? ( + virtual/latex-base + dev-texlive/texlive-latexextra + ) + context? ( dev-texlive/texlive-context ) + emacs? ( >=app-editors/emacs-23.1:* ) + vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )" +DEPEND="${RDEPEND} + dev-lang/perl + doc? ( + media-gfx/imagemagick[png] + virtual/texi2dvi + virtual/latex-base + dev-texlive/texlive-latexextra + app-text/ghostscript-gpl ) + test? ( app-text/ghostscript-gpl )" + +TEXMF=/usr/share/texmf-site + +PATCHES=( + # Changing pdf, ps, image viewers to xdg-open + "${FILESDIR}/${PN}-2.92-xdg-utils.patch" + + # Bug #322473 + "${FILESDIR}/${PN}-2.70-info.patch" +) + +src_prepare() { + sed -e "s:Datadir/doc/asymptote:Datadir/doc/${PF}:" \ + -i configure.ac \ + || die "sed configure.ac failed" + + default + eautoreconf +} + +src_configure() { + # for the CPPFLAGS see + # https://sourceforge.net/forum/forum.php?thread_id=1683277&forum_id=409349 + econf \ + CPPFLAGS=-DHAVE_SYS_TYPES_H \ + CFLAGS="${CXXFLAGS}" \ + --disable-gc-debug \ + --disable-gc-full-debug \ + --with-latex=/usr/share/texmf-site/tex/latex \ + --with-context=/usr/share/texmf-site/tex/context \ + $(use_enable boehm-gc gc system) \ + $(use_enable curl) \ + $(use_enable lsp) \ + $(use_enable fftw) \ + $(use_enable gsl) \ + $(use_enable opengl gl) \ + $(use_enable offscreen) \ + $(use_enable sigsegv) +} + +src_compile() { + default + + emake doc/version.texi + cd doc || die + emake asy.1 + einfo "Making info" + emake ${PN}.info + if use doc; then + cd FAQ || die + emake + cd .. || die + # pdf + einfo "Making pdf docs" + export VARTEXFONTS="${T}"/fonts + # see bug #260606 + emake -j1 asymptote.pdf + emake CAD.pdf asy-latex.pdf asyRefCard.pdf + fi + cd .. || die + + if use emacs; then + einfo "Compiling emacs lisp files" + elisp-compile base/*.el + fi +} + +src_install() { + # the program + dobin asy + + # .asy files + insinto /usr/share/${PN} + doins -r base/*.asy base/*.js base/*.sh base/*.ps base/shaders base/webgl + chmod 755 "${D}"/usr/share/${PN}/shaders/* + + # documentation + dodoc README ReleaseNotes ChangeLog + cd doc || die + doman asy.1 + doinfo png/${PN}.info + if use doc; then + dodoc FAQ/asy-faq.ascii + dodoc CAD.pdf asy-latex.pdf asyRefCard.pdf asymptote.pdf + fi + cd .. || die + + # asymptote.py + if use python; then + python_moduleinto ${PN} + #python_foreach_impl python_domodule misc/aspy.py + python_foreach_impl python_domodule base/${PN}.py + fi + + # X GUI + if use X; then + cd GUI || die + python_setup + sed -e 1d -i xasy.py + echo "#!/usr/bin/env ${EPYTHON}" > xasy1 + cat xasy1 xasy.py > xasy + rm xasy1 xasy.py + mv xasy xasy.py + cd .. || die + python_domodule GUI + chmod 755 "${D}/$(python_get_sitedir)/${PN}/GUI/xasy.py" + dosym "$(python_get_sitedir)/${PN}/GUI/xasy.py" /usr/bin/xasy + doman doc/xasy.1x + fi + + # examples + if use examples; then + docinto examples + dodoc \ + examples/*.asy \ + examples/*.views \ + examples/*.dat \ + examples/*.bib \ + examples/*.png \ + examples/*.pdb1 \ + doc/*.asy \ + doc/*.csv \ + doc/*.dat \ + doc/pixel.pdf \ + doc/extra/*.asy + docinto examples/animations + dodoc examples/animations/*.asy + fi + + # LaTeX style + if use latex; then + cd doc || die + insinto "${TEXMF}"/tex/latex/${PN} + doins *.sty latexmkrc + if use examples; then + docinto examples + dodoc latexusage.tex externalprc.tex + docinto examples/animations + dodoc ../examples/animations/*.tex + fi + cd .. || die + fi + + # ConTeXt + if use context; then + insinto /usr/share/texmf-site/tex/context + doins doc/colo-asy.tex + fi + + # emacs mode + if use emacs; then + elisp-install ${PN} base/*.el base/*.elc asy-keywords.el + elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el + fi + + # vim syntax + if use vim-syntax; then + insinto /usr/share/vim/vimfiles/syntax + doins base/asy.vim + insinto /usr/share/vim/vimfiles/ftdetect + doins base/asy_filetype.vim + fi +} + +pkg_postinst() { + use latex && latex-package_rehash + use emacs && elisp-site-regen + + elog 'Use the variable ASYMPTOTE_PSVIEWER to set the postscript viewer' + elog 'Use the variable ASYMPTOTE_PDFVIEWER to set the PDF viewer' +} + +pkg_postrm() { + use latex && latex-package_rehash + use emacs && elisp-site-regen +} diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest index 2f2cbeb995bb..fe33332a0cc7 100644 --- a/media-gfx/blender/Manifest +++ b/media-gfx/blender/Manifest @@ -1,8 +1,7 @@ -DIST blender-3.3.15.tar.xz 41928632 BLAKE2B d93d7d47183fcd7afa547b8d3f0bd7240ea204dcce885f42d79d29352ebacac43a2f92e380f576c2688d2d90d910caff069484e22669847b0eea71079a8bdc7e SHA512 d55223b7b9ae9f9c6fdbf5ed2988e997693fcb8262196acb08bbe58bae86f9f34474ed1cf5a213ee0247225601726265ded3cb4ad4d89910fc247f9cf5fec1ff -DIST blender-3.3.21.tar.xz 41940868 BLAKE2B 74874226a0f690d2b81c0f96c441f519bd37ff0fec5c2dcae0f4f673d55863e2b2edbd60d2ed05890c440c5287e4cab943646cf4029d7c8287a636ac405e9bce SHA512 715a9808b25fe4c90ee3097edf21bdb3facfec51df0f6b6c6404a95bafe417d1e4998994f532ae9bac1e95de84cc8fd8fce8f8e672f9117646ad840074344d0e -DIST blender-3.3.8.tar.xz 41915180 BLAKE2B 7fb24afe2151bba53d8c25160bd697145aced74a8cd9a7ac92b2f66bc0ab59e995009f20f9e9bb622b05d614919137153805a2e233de5b0bb0a41a2ac3405a76 SHA512 63aef1e543a9c8bbc5f8838292ad2e8d0d9a8ee6fd2d71a419c1edc1a0ee1f59f7e9eab59bc20bf32ca56ba440bab1534c6c94c6ca2c5ab964e80bd452b7e519 DIST blender-3.6.15.tar.xz 67906200 BLAKE2B 8709b20347e78f3f71d22fee9799b1c0e20a39521b35cff83d6cd3462d4b172e31c1656812d7ce51eef25341a0cff2e9efdcdab0bc9a361ec843a666fc8c3185 SHA512 dfd1d80850fe6ab0616fd99ab039345da621418890b1a006e5320a4b739d1cf6f4ca313e8f8aed6e27c976400c75e8d6085847623d933de71932aefe82f3fd32 +DIST blender-3.6.18.tar.xz 67900952 BLAKE2B d4a619197abc3e4969846913f3c88cd64fd679bbefe007354af6ba2e83d47a8fcd27b3bcbaf6d850d28960eedeb3c50ff9336d0e61fd488d4916b6628bfd67dd SHA512 48a8b3e8b2fe75305061d7cb9b7b8491cef4f23fbd809d1fc34663a4f97f487d6e7e6e92848110fe6aa5a2fed18a2c1a2a0c1c928aa813e2456f7786681eae60 DIST blender-3.6.8.tar.xz 70453744 BLAKE2B 5361977951fa1720899fad26092b967cc78b7ba82c8823f92fe1e6a14419edae1f3914f639e88dd8b5fb3ec7c124783e1ece56199a80b9b51a0f320764e1eba7 SHA512 a5e15dc9de7024cebb955fc531ae592a4c58336196a07fd63ed5bb4eb14d66751a3697ea8b120283ca5078c92d8c87966e882862011ebb4368f132e2de004a45 -DIST blender-4.0.2.tar.xz 73281252 BLAKE2B 6ec72baa360049681c8ba18ae668041e87745bad51113cf50bca93d18f52ef5db84c58f9a2dc5b341ef1f0439e76288a1b1eda892a19033fb494e79cd3b2f983 SHA512 c37b85d06f5cf8b48cb8c657a9fb6b0ab1325271706fa34039f2993420f7606cd1e2c052173cdea94e9bec2924e7aa4df373e3a0fc1f9c4be336e62211b6bc4b DIST blender-4.1.1.tar.xz 82146268 BLAKE2B 1ab4a6c1046851ef619394c62fc73794430dc091e2cab26d3d1d542e9d4519889e9b9731606385e9dc8657448ca3827875526f4a57dd1b5c326a73d8a6f9be8d SHA512 13ad0cdd09879b5c28554faca5a54172f43dc3dcb749d2d1723d3e89e741e6255179af3bd88309b735e058b9b350191e44f3158e882e55f1cedea70b8b21540e DIST blender-4.2.1.tar.xz 72789532 BLAKE2B 74494e851e9e2e9fdcf4a77fa4e1c177d6b9f01ab1cde9daec40468e5399d84b04225ff3a6919191e685624e9094ea4cb2257a62344d3b0e87072f339253aa82 SHA512 20162bd1185e34c481a0520f4999f8c76018471b485fa72afa446f590638c564a370d036cc4a941bf204fce821d8305d4244b3ba9ec7f09f1839b8a276dfde39 +DIST blender-4.2.4.tar.xz 72804204 BLAKE2B 613ae4671cc9263d18fe988b07e8744eb04f67fe53f1c14ad3fbc7d80c58a577e7753871ca775cd40ab5f26ef2bc9030cda57012dda0c4785769f04263aea15b SHA512 1f61c1866aaa680c91fc6e3402b1e10533c8cce32572ffb825c53dc7c15ca51f1157a32d10134ca9e612fbf719406421ccc920b2d8ddd2993675784797381c6a +DIST blender-4.3.2.tar.xz 74473996 BLAKE2B 9a5c8973561f3296b0ec35990ab4951e34f7c0dd5bee3dd120a49989dc8ca7ebfc9610654e8be9d14463af2197626f490324cdd03118db755f5d0b1f7acce375 SHA512 44697faf9acc2c1e75783d432a1a0040339c3445834961a995e95974d4088e75ee5cb647a3908125259d1910d180910e5bc50d34d40d35f33e03197893581477 diff --git a/media-gfx/blender/blender-3.3.15.ebuild b/media-gfx/blender/blender-3.3.15.ebuild deleted file mode 100644 index aa58233b6a81..000000000000 --- a/media-gfx/blender/blender-3.3.15.ebuild +++ /dev/null @@ -1,432 +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 - -LICENSE="GPL-3+ cycles? ( Apache-2.0 )" -SLOT="${PV%.*}" -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 -# -# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917. -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/glew:* - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/libsamplerate - 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.3.0:= ) - 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 ) - !headless? ( - x11-libs/libX11 - x11-libs/libXi - x11-libs/libXxf86vm - ) - 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 ) - openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= ) - openexr? ( - >=dev-libs/imath-3.1.4-r2:= - >=media-libs/openexr-3:0= - ) - opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) - openvdb? ( - <media-gfx/openvdb-11.0.0:=[nanovdb?] - dev-libs/c-blosc:= - ) - optix? ( <dev-libs/optix-7.5.0 ) - osl? ( <media-libs/osl-1.13:= ) - 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 ) -" - -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 ) -" - -PATCHES=( - "${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" - "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.patch" -) - -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 - 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() { - # -Werror=odr, -Werror=lto-type-mismatch - # https://bugs.gentoo.org/859607 - # https://projects.blender.org/blender/blender/issues/120444 - filter-lto - - # 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.3.21.ebuild b/media-gfx/blender/blender-3.3.21.ebuild deleted file mode 100644 index 66c872c02cea..000000000000 --- a/media-gfx/blender/blender-3.3.21.ebuild +++ /dev/null @@ -1,432 +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 - -LICENSE="GPL-3+ cycles? ( Apache-2.0 )" -SLOT="${PV%.*}" -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 -# -# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917. -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/glew:* - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/libsamplerate - 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.3.0:= ) - cuda? ( dev-util/nvidia-cuda-toolkit:= ) - embree? ( <media-libs/embree-4.0.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[cxx] ) - !headless? ( - x11-libs/libX11 - x11-libs/libXi - x11-libs/libXxf86vm - ) - 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 ) - openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= ) - openexr? ( - >=dev-libs/imath-3.1.4-r2:= - >=media-libs/openexr-3:0= - ) - opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) - openvdb? ( - <media-gfx/openvdb-11.0.0:=[nanovdb?] - dev-libs/c-blosc:= - ) - optix? ( <dev-libs/optix-7.5.0 ) - osl? ( <media-libs/osl-1.13:= ) - 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 ) -" - -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 ) -" - -PATCHES=( - "${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" - "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.patch" -) - -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 - 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() { - # -Werror=odr, -Werror=lto-type-mismatch - # https://bugs.gentoo.org/859607 - # https://projects.blender.org/blender/blender/issues/120444 - filter-lto - - # 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.6.15.ebuild b/media-gfx/blender/blender-3.6.15.ebuild index 698ccf250f72..8780d66cc455 100644 --- a/media-gfx/blender/blender-3.6.15.ebuild +++ b/media-gfx/blender/blender-3.6.15.ebuild @@ -20,7 +20,7 @@ else # 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" + KEYWORDS="amd64 ~arm ~arm64" fi LICENSE="GPL-3+ cycles? ( Apache-2.0 )" diff --git a/media-gfx/blender/blender-3.3.8.ebuild b/media-gfx/blender/blender-3.6.18.ebuild index 69f830424c87..bdf6973efd45 100644 --- a/media-gfx/blender/blender-3.3.8.ebuild +++ b/media-gfx/blender/blender-3.6.18.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -13,29 +13,30 @@ 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" + 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 )" + # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )" KEYWORDS="amd64 ~arm ~arm64" fi LICENSE="GPL-3+ cycles? ( Apache-2.0 )" SLOT="${PV%.*}" -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" +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 openimageio ) + cycles? ( openexr tiff ) fluid? ( tbb ) openvdb? ( tbb ) optix? ( cuda ) @@ -44,8 +45,6 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE} # Library versions for official builds can be found in the blender source directory in: # build_files/build_environment/install_deps.sh -# -# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917. RDEPEND="${PYTHON_DEPS} dev-libs/boost:=[nls?] dev-libs/lzo:2= @@ -56,27 +55,23 @@ RDEPEND="${PYTHON_DEPS} dev-python/requests[${PYTHON_USEDEP}] ') media-libs/freetype:=[brotli] - media-libs/glew:* + 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.3.0:= ) + 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 ) - !headless? ( - x11-libs/libX11 - x11-libs/libXi - x11-libs/libXxf86vm - ) + gmp? ( dev-libs/gmp[cxx] ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc:= ) jpeg2k? ( media-libs/openjpeg:2= ) @@ -87,11 +82,11 @@ RDEPEND="${PYTHON_DEPS} nls? ( virtual/libiconv ) openal? ( media-libs/openal ) oidn? ( >=media-libs/oidn-1.4.1 ) - openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= ) openexr? ( >=dev-libs/imath-3.1.4-r2:= >=media-libs/openexr-3:0= ) + openpgl? ( media-libs/openpgl:0/0.5 ) opensubdiv? ( >=media-libs/opensubdiv-3.4.0 ) openvdb? ( <media-gfx/openvdb-11.0.0:=[nanovdb?] @@ -108,6 +103,18 @@ RDEPEND="${PYTHON_DEPS} 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} @@ -126,16 +133,11 @@ BDEPEND=" dev-texlive/texlive-latexextra ) nls? ( sys-devel/gettext ) + wayland? ( + dev-util/wayland-scanner + ) " -PATCHES=( - "${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" - "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.patch" -) - blender_check_requirements() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp @@ -168,10 +170,16 @@ 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 @@ -208,7 +216,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|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die + 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 } @@ -223,6 +231,7 @@ src_configure() { append-ldflags $(test-flags-CCLD -Wl,--undefined-version) append-lfs-flags + blender_get_version local mycmakeargs=( -DBUILD_SHARED_LIBS=OFF @@ -237,18 +246,26 @@ src_configure() { -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=$(usex headless) + -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) -DWITH_INSTALL_PORTABLE=OFF -DWITH_IMAGE_DDS=$(usex dds) -DWITH_IMAGE_OPENEXR=$(usex openexr) @@ -266,7 +283,6 @@ src_configure() { -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) @@ -279,7 +295,6 @@ src_configure() { -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 diff --git a/media-gfx/blender/blender-4.2.1.ebuild b/media-gfx/blender/blender-4.2.1.ebuild index 88bb85849015..3a809e39731f 100644 --- a/media-gfx/blender/blender-4.2.1.ebuild +++ b/media-gfx/blender/blender-4.2.1.ebuild @@ -27,7 +27,7 @@ else # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz # ) # " - KEYWORDS="~amd64 ~arm ~arm64" + KEYWORDS="amd64 ~arm ~arm64" RESTRICT="test" # the test archive returns LFS references. fi diff --git a/media-gfx/blender/blender-4.0.2-r1.ebuild b/media-gfx/blender/blender-4.2.4.ebuild index ae693845b6b7..b062e630b1a5 100644 --- a/media-gfx/blender/blender-4.0.2-r1.ebuild +++ b/media-gfx/blender/blender-4.2.4.ebuild @@ -3,9 +3,10 @@ EAPI=8 -PYTHON_COMPAT=( python3_{10..11} ) -# matches media-libs/osl -LLVM_COMPAT=( {15..17} ) +PYTHON_COMPAT=( python3_{11..12} ) +# NOTE must match media-libs/osl +LLVM_COMPAT=( {15..18} ) +LLVM_OPTIONAL=1 inherit check-reqs cmake cuda flag-o-matic llvm-r1 pax-utils python-single-r1 toolchain-funcs xdg-utils @@ -17,7 +18,6 @@ if [[ ${PV} = *9999* ]] ; then inherit git-r3 EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" EGIT_SUBMODULES=( '*' '-lib/*' ) - ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git" RESTRICT="!test? ( test )" else SRC_URI=" @@ -35,9 +35,9 @@ LICENSE="GPL-3+ cycles? ( Apache-2.0 )" SLOT="${PV%.*}" IUSE=" alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels - debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack - jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp openpgl - +opensubdiv +openvdb optix osl +pdf +potrace +pugixml pulseaudio + debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip jack + jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp +openpgl + +opensubdiv +openvdb optix osl +otf +pdf +potrace +pugixml pulseaudio renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X " @@ -71,7 +71,7 @@ RDEPEND="${PYTHON_DEPS} media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/libsamplerate - >=media-libs/openimageio-2.4.6.0:= + >=media-libs/openimageio-2.5.6.0:= sys-libs/zlib:= virtual/glu virtual/libintl @@ -85,7 +85,14 @@ RDEPEND="${PYTHON_DEPS} fftw? ( sci-libs/fftw:3.0= ) gmp? ( dev-libs/gmp[cxx] ) gnome? ( gui-libs/libdecor ) - hip? ( >=dev-util/hip-5.7:= ) + hip? ( + llvm_slot_17? ( + dev-util/hip:0/5.7 + ) + llvm_slot_18? ( + >=dev-util/hip-6.1:=[llvm_slot_18(-)] + ) + ) jack? ( virtual/jack ) jemalloc? ( dev-libs/jemalloc:= ) jpeg2k? ( media-libs/openjpeg:2= ) @@ -95,13 +102,13 @@ RDEPEND="${PYTHON_DEPS} ) nls? ( virtual/libiconv ) openal? ( media-libs/openal ) - oidn? ( >=media-libs/oidn-2.1.0 ) + oidn? ( >=media-libs/oidn-2.1.0[${LLVM_USEDEP}] ) oneapi? ( dev-libs/intel-compute-runtime[l0] ) openexr? ( - >=dev-libs/imath-3.1.4-r2:= - >=media-libs/openexr-3:0= + >=dev-libs/imath-3.1.7:= + >=media-libs/openexr-3.2.1:0= ) - openpgl? ( media-libs/openpgl:0/0.5 ) + openpgl? ( media-libs/openpgl:= ) opensubdiv? ( >=media-libs/opensubdiv-3.5.0 ) openvdb? ( >=media-gfx/openvdb-11.0.0:=[nanovdb?] @@ -109,11 +116,8 @@ RDEPEND="${PYTHON_DEPS} ) optix? ( dev-libs/optix ) osl? ( - >=media-libs/osl-1.13:= - $(llvm_gen_dep ' - >=media-libs/osl-1.13[llvm_slot_${LLVM_SLOT}] - media-libs/mesa[llvm_slot_${LLVM_SLOT}] - ') + >=media-libs/osl-1.13:=[${LLVM_USEDEP}] + media-libs/mesa[${LLVM_USEDEP}] ) pdf? ( media-libs/libharu ) potrace? ( media-gfx/potrace ) @@ -138,6 +142,9 @@ RDEPEND="${PYTHON_DEPS} dev-util/glslang media-libs/vulkan-loader ) + otf? ( + media-libs/harfbuzz + ) renderdoc? ( media-gfx/renderdoc ) @@ -177,11 +184,10 @@ BDEPEND=" " PATCHES=( - "${FILESDIR}/${PN}-4.0.1-fix-cflags-cleaner.patch" # to be dropped for releases after Dec 8, 2023 - "${FILESDIR}/${PN}-4.0.1-openvdb-11.patch" "${FILESDIR}/${PN}-4.0.2-FindClang.patch" "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch" - "${FILESDIR}/${PN}-4.0.2-r1-osl-1.13.patch" + "${FILESDIR}/${PN}-4.1.1-FindLLVM.patch" + "${FILESDIR}/${PN}-4.1.1-numpy.patch" ) blender_check_requirements() { @@ -206,6 +212,12 @@ blender_get_version() { pkg_pretend() { blender_check_requirements + + if use oneapi; then + einfo "The Intel oneAPI support is rudimentary." + einfo "" + einfo "Please report any bugs you find to https://bugs.gentoo.org/" + fi } pkg_setup() { @@ -223,9 +235,6 @@ src_unpack() { EGIT_SUBMODULES+=( '-tests/*' ) fi git-r3_src_unpack - - git-r3_fetch "${ADDONS_EGIT_REPO_URI}" - git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons" else default @@ -308,6 +317,7 @@ src_configure() { -DWITH_BULLET=$(usex bullet) -DWITH_CODEC_FFMPEG=$(usex ffmpeg) -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CPU_CHECK=no -DWITH_CYCLES=$(usex cycles) @@ -330,16 +340,13 @@ src_configure() { -DWITH_DOC_MANPAGE=$(usex man) -DWITH_DRACO="no" # TODO: Package Draco - -DWITH_EXPERIMENTAL_FEATURES="$(usex experimental)" -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="$(usex gnome)" # https://bugs.gentoo.org/930412 fixed in 4.1 # no - -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)" + -DWITH_GHOST_WAYLAND_DYNLOAD="no" -DWITH_GHOST_X11=$(usex X) -DWITH_GMP=$(usex gmp) -DWITH_GTESTS=$(usex test) + -DWITH_HARFBUZZ="$(usex otf)" -DWITH_HARU=$(usex pdf) -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) -DWITH_HYDRA="no" # TODO: Package Hydra @@ -383,6 +390,13 @@ src_configure() { -DWITH_XR_OPENXR=no ) + if has_version ">=dev-python/numpy-2"; then + mycmakeargs+=( + -DPYTHON_NUMPY_INCLUDE_DIRS="$(python_get_sitedir)/numpy/_core/include" + -DPYTHON_NUMPY_PATH="$(python_get_sitedir)/numpy/_core/include" + ) + fi + # requires dev-vcs/git if [[ ${PV} = *9999* ]] ; then mycmakeargs+=( -DWITH_BUILDINFO="yes" ) @@ -398,6 +412,7 @@ src_configure() { if use hip; then mycmakeargs+=( + -DROCM_PATH="$(hipconfig -R)" -DHIP_HIPCC_FLAGS="-fcf-protection=none" ) fi @@ -409,6 +424,13 @@ src_configure() { ) fi + if use wayland; then + mycmakeargs+=( + -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" + -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)" + ) + 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 @@ -457,15 +479,16 @@ src_test() { 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" + # By default, blender will look for system scripts and data in + # /usr/share/, but until this is installed, they are not necessarily + # available there. Use this to have blender search the intermediate + # install directory instead. + export BLENDER_SYSTEM_RESOURCES="${T}/usr/share/blender/${BV}" - # 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!" + # Brake check: Make sure the above path is valid. + # If not, blender will fallback to the default path which is not what + # we want. + [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!" if use cuda; then cuda_add_sandbox -w @@ -477,6 +500,8 @@ src_test() { xdg_environment_reset fi + addwrite /dev/dri + cmake_src_test # Clean up the image directory for src_install @@ -489,21 +514,24 @@ src_install() { # 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 + 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 - 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 + # By default, blender will look for system scripts and data in + # /usr/share/, but until this is installed, they are not necessarily + # available there. Use this to have blender search the intermediate + # install directory instead. + export BLENDER_SYSTEM_RESOURCES="${ED}/usr/share/blender/${BV}" + + # Brake check: Make sure the above path is valid. + # If not, blender will fallback to the default path which is not what + # we want. + [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!" # Workaround for binary drivers. addpredict /dev/ati @@ -559,11 +587,11 @@ pkg_postinst() { ewarn "" fi - if ! use python_single_target_python3_10; then + if ! use python_single_target_python3_11; 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 "python_single_target_python3_11 instead." elog "Bug: https://bugs.gentoo.org/737388" elog fi diff --git a/media-gfx/blender/blender-4.3.2.ebuild b/media-gfx/blender/blender-4.3.2.ebuild new file mode 100644 index 000000000000..b062e630b1a5 --- /dev/null +++ b/media-gfx/blender/blender-4.3.2.ebuild @@ -0,0 +1,614 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{11..12} ) +# NOTE must match media-libs/osl +LLVM_COMPAT=( {15..18} ) +LLVM_OPTIONAL=1 + +inherit check-reqs cmake cuda flag-o-matic llvm-r1 pax-utils python-single-r1 toolchain-funcs xdg-utils + +DESCRIPTION="3D Creation/Animation/Publishing System" +HOMEPAGE="https://www.blender.org" + +if [[ ${PV} = *9999* ]] ; then + EGIT_LFS="yes" + inherit git-r3 + EGIT_REPO_URI="https://projects.blender.org/blender/blender.git" + EGIT_SUBMODULES=( '*' '-lib/*' ) + RESTRICT="!test? ( test )" +else + SRC_URI=" + https://download.blender.org/source/${P}.tar.xz + " + # test? ( + # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz + # ) + # " + KEYWORDS="~amd64 ~arm ~arm64" + RESTRICT="test" # the test archive returns LFS references. +fi + +LICENSE="GPL-3+ cycles? ( Apache-2.0 )" +SLOT="${PV%.*}" +IUSE=" + alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels + debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip jack + jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp +openpgl + +opensubdiv +openvdb optix osl +otf +pdf +potrace +pugixml pulseaudio + renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X +" + +REQUIRED_USE="${PYTHON_REQUIRED_USE} + alembic? ( openexr ) + cuda? ( cycles ) + cycles? ( openexr tiff tbb ) + fluid? ( tbb ) + gnome? ( wayland ) + hip? ( cycles ) + 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/cmake/versions.cmake +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.5.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:=[raymask] ) + ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] ) + fftw? ( sci-libs/fftw:3.0= ) + gmp? ( dev-libs/gmp[cxx] ) + gnome? ( gui-libs/libdecor ) + hip? ( + llvm_slot_17? ( + dev-util/hip:0/5.7 + ) + llvm_slot_18? ( + >=dev-util/hip-6.1:=[llvm_slot_18(-)] + ) + ) + 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-2.1.0[${LLVM_USEDEP}] ) + oneapi? ( dev-libs/intel-compute-runtime[l0] ) + openexr? ( + >=dev-libs/imath-3.1.7:= + >=media-libs/openexr-3.2.1:0= + ) + openpgl? ( media-libs/openpgl:= ) + opensubdiv? ( >=media-libs/opensubdiv-3.5.0 ) + openvdb? ( + >=media-gfx/openvdb-11.0.0:=[nanovdb?] + dev-libs/c-blosc:= + ) + optix? ( dev-libs/optix ) + osl? ( + >=media-libs/osl-1.13:=[${LLVM_USEDEP}] + media-libs/mesa[${LLVM_USEDEP}] + ) + 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 + ) + vulkan? ( + media-libs/shaderc + dev-util/spirv-tools + dev-util/glslang + media-libs/vulkan-loader + ) + otf? ( + media-libs/harfbuzz + ) + renderdoc? ( + media-gfx/renderdoc + ) + X? ( + x11-libs/libX11 + x11-libs/libXi + x11-libs/libXxf86vm + ) +" + +DEPEND="${RDEPEND} + dev-cpp/eigen:= + vulkan? ( + dev-util/spirv-headers + dev-util/vulkan-headers + ) +" + +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 + ) + X? ( + x11-base/xorg-proto + ) +" + +PATCHES=( + "${FILESDIR}/${PN}-4.0.2-FindClang.patch" + "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch" + "${FILESDIR}/${PN}-4.1.1-FindLLVM.patch" + "${FILESDIR}/${PN}-4.1.1-numpy.patch" +) + +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 + + if use oneapi; then + einfo "The Intel oneAPI support is rudimentary." + einfo "" + einfo "Please report any bugs you find to https://bugs.gentoo.org/" + fi +} + +pkg_setup() { + if use osl; then + llvm-r1_pkg_setup + fi + + blender_check_requirements + python-single-r1_pkg_setup +} + +src_unpack() { + if [[ ${PV} = *9999* ]] ; then + if ! use test; then + EGIT_SUBMODULES+=( '-tests/*' ) + fi + git-r3_src_unpack + else + default + + if use test; then + mkdir -p "${S}/tests/data/" || die + mv blender-test-data/* "${S}/tests/data/" || die + fi + fi +} + +src_prepare() { + use cuda && cuda_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|" \ + -e "s|org.blender.Blender.metainfo.xml|blender-${BV}.metainfo.xml|" \ + -i source/creator/CMakeLists.txt || die + + sed \ + -e "s|Name=Blender|Name=Blender ${BV}|" \ + -e "s|Exec=blender|Exec=blender-${BV}|" \ + -e "s|Icon=blender|Icon=blender-${BV}|" \ + -i release/freedesktop/blender.desktop || die + + sed -e "s|\${CMAKE_INSTALL_PREFIX}/\${BLENDER_BIN}|${T}/usr/\${BLENDER_BIN}|g" -i source/creator/CMakeLists.txt || 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 + mv release/freedesktop/org.blender.Blender.metainfo.xml "release/freedesktop/blender-${BV}.metainfo.xml" + mv release/freedesktop/org.blender.Blender.appdata.xml "release/freedesktop/blender-${BV}.appdata.xml" + + 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/testing.cmake || die + fi + + if use vulkan; then + sed -e "s/extern_vulkan_memory_allocator/extern_vulkan_memory_allocator\nSPIRV-Tools-opt\nSPIRV-Tools\nSPIRV-Tools-link\nglslang\nSPIRV\nSPVRemapper/" -i source/blender/gpu/CMakeLists.txt || die + fi +} + +src_configure() { + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/859607 + # https://projects.blender.org/blender/blender/issues/120444 + filter-lto + + # 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_CODEC_FFMPEG=$(usex ffmpeg) + -DWITH_CODEC_SNDFILE=$(usex sndfile) + -DWITH_CPU_CHECK=no + + -DWITH_CYCLES=$(usex cycles) + + -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda) + -DWITH_CYCLES_CUDA_BINARIES="$(usex cuda $(usex cycles-bin-kernels))" + -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix) + + -DWITH_CYCLES_DEVICE_HIP="$(usex hip)" + -DWITH_CYCLES_HIP_BINARIES=$(usex hip $(usex cycles-bin-kernels)) + + -DWITH_CYCLES_DEVICE_ONEAPI="$(usex oneapi)" + -DWITH_CYCLES_ONEAPI_BINARIES="$(usex oneapi $(usex cycles-bin-kernels))" + + -DWITH_CYCLES_HYDRA_RENDER_DELEGATE="no" # TODO: package Hydra + -DWITH_CYCLES_EMBREE="$(usex embree)" + -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_DRACO="no" # TODO: Package Draco + -DWITH_FFTW3=$(usex fftw) + -DWITH_GHOST_WAYLAND=$(usex wayland) + -DWITH_GHOST_WAYLAND_DYNLOAD="no" + -DWITH_GHOST_X11=$(usex X) + -DWITH_GMP=$(usex gmp) + -DWITH_GTESTS=$(usex test) + -DWITH_HARFBUZZ="$(usex otf)" + -DWITH_HARU=$(usex pdf) + -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON) + -DWITH_HYDRA="no" # TODO: Package Hydra + -DWITH_IMAGE_OPENEXR=$(usex openexr) + -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k) + -DWITH_IMAGE_WEBP=$(usex webp) + -DWITH_INPUT_NDOF=$(usex ndof) + -DWITH_INSTALL_PORTABLE="no" + -DWITH_INTERNATIONAL=$(usex nls) + -DWITH_JACK=$(usex jack) + -DWITH_MATERIALX="no" # TODO: Package MaterialX + -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_PYTHON_INSTALL_NUMPY=no + -DWITH_PYTHON_INSTALL_ZSTANDARD=no + -DWITH_RENDERDOC="$(usex renderdoc)" + -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" # TODO: Package USD + -DWITH_VULKAN_BACKEND="$(usex vulkan)" + -DWITH_XR_OPENXR=no + ) + + if has_version ">=dev-python/numpy-2"; then + mycmakeargs+=( + -DPYTHON_NUMPY_INCLUDE_DIRS="$(python_get_sitedir)/numpy/_core/include" + -DPYTHON_NUMPY_PATH="$(python_get_sitedir)/numpy/_core/include" + ) + fi + + # requires dev-vcs/git + if [[ ${PV} = *9999* ]] ; then + mycmakeargs+=( -DWITH_BUILDINFO="yes" ) + else + mycmakeargs+=( -DWITH_BUILDINFO="no" ) + fi + + if use cuda; then + mycmakeargs+=( + -DCUDA_NVCC_FLAGS="--compiler-bindir;$(cuda_gccdir)" + ) + fi + + if use hip; then + mycmakeargs+=( + -DROCM_PATH="$(hipconfig -R)" + -DHIP_HIPCC_FLAGS="-fcf-protection=none" + ) + fi + + if use optix; then + mycmakeargs+=( + -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix + ) + fi + + if use wayland; then + mycmakeargs+=( + -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}" + -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)" + ) + 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 tc-is-clang || use osl; then + mycmakeargs+=( + -DWITH_CLANG=yes + -DWITH_LLVM=yes + ) + 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" ) + use hip && CYCLES_TEST_DEVICES+=( "HIP" ) + fi + mycmakeargs+=( + -DCYCLES_TEST_DEVICES:STRING="$(local IFS=";"; echo "${CYCLES_TEST_DEVICES[*]}")" + -DWITH_COMPOSITOR_REALTIME_TESTS=yes + -DWITH_GPU_DRAW_TESTS=yes + -DWITH_GPU_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 + # By default, blender will look for system scripts and data in + # /usr/share/, but until this is installed, they are not necessarily + # available there. Use this to have blender search the intermediate + # install directory instead. + export BLENDER_SYSTEM_RESOURCES="${T}/usr/share/blender/${BV}" + + # Brake check: Make sure the above path is valid. + # If not, blender will fallback to the default path which is not what + # we want. + [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!" + + if use cuda; then + cuda_add_sandbox -w + addwrite "/dev/dri/renderD128" + addwrite "/dev/char/" + fi + + if use X; then + xdg_environment_reset + fi + + addwrite /dev/dri + + 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 + # By default, blender will look for system scripts and data in + # /usr/share/, but until this is installed, they are not necessarily + # available there. Use this to have blender search the intermediate + # install directory instead. + export BLENDER_SYSTEM_RESOURCES="${ED}/usr/share/blender/${BV}" + + # Brake check: Make sure the above path is valid. + # If not, blender will fallback to the default path which is not what + # we want. + [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!" + + # 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_11; 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_11 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}/${BV}/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 88bb85849015..cd2204670f17 100644 --- a/media-gfx/blender/blender-9999.ebuild +++ b/media-gfx/blender/blender-9999.ebuild @@ -35,7 +35,7 @@ LICENSE="GPL-3+ cycles? ( Apache-2.0 )" SLOT="${PV%.*}" IUSE=" alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels - debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack + debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip jack jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp +openpgl +opensubdiv +openvdb optix osl +otf +pdf +potrace +pugixml pulseaudio renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X @@ -339,8 +339,7 @@ src_configure() { -DWITH_CYCLES_STANDALONE_GUI=no -DWITH_DOC_MANPAGE=$(usex man) - -DWITH_DRACO="no" # TODO: Package Draco - -DWITH_EXPERIMENTAL_FEATURES="$(usex experimental)" + -DWITH_DRACO="yes" # TODO: Package Draco -DWITH_FFTW3=$(usex fftw) -DWITH_GHOST_WAYLAND=$(usex wayland) -DWITH_GHOST_WAYLAND_DYNLOAD="no" @@ -480,15 +479,16 @@ src_test() { 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" + # By default, blender will look for system scripts and data in + # /usr/share/, but until this is installed, they are not necessarily + # available there. Use this to have blender search the intermediate + # install directory instead. + export BLENDER_SYSTEM_RESOURCES="${T}/usr/share/blender/${BV}" - # 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!" + # Brake check: Make sure the above path is valid. + # If not, blender will fallback to the default path which is not what + # we want. + [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!" if use cuda; then cuda_add_sandbox -w @@ -522,10 +522,16 @@ 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 + # By default, blender will look for system scripts and data in + # /usr/share/, but until this is installed, they are not necessarily + # available there. Use this to have blender search the intermediate + # install directory instead. + export BLENDER_SYSTEM_RESOURCES="${ED}/usr/share/blender/${BV}" + + # Brake check: Make sure the above path is valid. + # If not, blender will fallback to the default path which is not what + # we want. + [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!" # Workaround for binary drivers. addpredict /dev/ati diff --git a/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch b/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch deleted file mode 100644 index 2a7b33cf8ac4..000000000000 --- a/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch +++ /dev/null @@ -1,108 +0,0 @@ -From https://developer.blender.org/rB74caf773619bbf6a0f95c598b66261a6bef392ee -From: Brecht Van Lommel <brecht@blender.org> -Date: Mon, 29 Aug 2022 19:12:15 +0200 -Subject: [PATCH 001/539] Cycles: add option to specify OptiX runtime root - directory - -This allows individual users or Linux distributions to specify a directory -Cycles will automatically look for the OptiX include folder, to compile kernels -at runtime. - -It is still possible to override this with the OPTIX_ROOT_DIR environment -variable at runtime. - -Based on patch by Sebastian Parborg. - -Ref D15792 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -435,10 +435,16 @@ if(NOT APPLE) - option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF) - option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF) - option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime (for developers, makes cuda-gdb work)" ON) -+ -+ set(OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory, for building Cycles OptiX kernels.") -+ set(CYCLES_RUNTIME_OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory. When set, this path will be used at runtime to compile OptiX kernels.") -+ - mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH) - mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER) - mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL) - mark_as_advanced(WITH_CUDA_DYNLOAD) -+ mark_as_advanced(OPTIX_ROOT_DIR) -+ mark_as_advanced(CYCLES_RUNTIME_OPTIX_ROOT_DIR) - endif() - - # AMD HIP ---- a/intern/cycles/device/CMakeLists.txt -+++ b/intern/cycles/device/CMakeLists.txt -@@ -19,6 +19,8 @@ if(WITH_CYCLES_DEVICE_OPTIX OR WITH_CYCLES_DEVICE_CUDA) - ) - add_definitions(-DCYCLES_CUDA_NVCC_EXECUTABLE="${CUDA_NVCC_EXECUTABLE}") - endif() -+ -+ add_definitions(-DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${CYCLES_RUNTIME_OPTIX_ROOT_DIR}") - endif() - - if(WITH_CYCLES_DEVICE_HIP AND WITH_HIP_DYNLOAD) ---- a/intern/cycles/device/optix/device_impl.cpp -+++ b/intern/cycles/device/optix/device_impl.cpp -@@ -342,15 +342,29 @@ BVHLayoutMask OptiXDevice::get_bvh_layout_mask() const - return BVH_LAYOUT_OPTIX; - } - -+static string get_optix_include_dir() -+{ -+ const char *env_dir = getenv("OPTIX_ROOT_DIR"); -+ const char *default_dir = CYCLES_RUNTIME_OPTIX_ROOT_DIR; -+ -+ if (env_dir && env_dir[0]) { -+ const string env_include_dir = path_join(env_dir, "include"); -+ return env_include_dir; -+ } -+ else if (default_dir[0]) { -+ const string default_include_dir = path_join(default_dir, "include"); -+ return default_include_dir; -+ } -+ -+ return string(); -+} -+ - string OptiXDevice::compile_kernel_get_common_cflags(const uint kernel_features) - { - string common_cflags = CUDADevice::compile_kernel_get_common_cflags(kernel_features); - - /* Add OptiX SDK include directory to include paths. */ -- const char *optix_sdk_path = getenv("OPTIX_ROOT_DIR"); -- if (optix_sdk_path) { -- common_cflags += string_printf(" -I\"%s/include\"", optix_sdk_path); -- } -+ common_cflags += string_printf(" -I\"%s/include\"", get_optix_include_dir().c_str()); - - /* Specialization for shader raytracing. */ - if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) { -@@ -460,10 +474,19 @@ bool OptiXDevice::load_kernels(const uint kernel_features) - "lib/kernel_optix_shader_raytrace.ptx" : - "lib/kernel_optix.ptx"); - if (use_adaptive_compilation() || path_file_size(ptx_filename) == -1) { -- if (!getenv("OPTIX_ROOT_DIR")) { -+ std::string optix_include_dir = get_optix_include_dir(); -+ if (optix_include_dir.empty()) { - set_error( -- "Missing OPTIX_ROOT_DIR environment variable (which must be set with the path to " -- "the Optix SDK to be able to compile Optix kernels on demand)."); -+ "Unable to compile OptiX kernels at runtime. Set OPTIX_ROOT_DIR environment variable " -+ "to a directory containing the OptiX SDK."); -+ return false; -+ } -+ else if (!path_is_directory(optix_include_dir)) { -+ set_error(string_printf( -+ "OptiX headers not found at %s, unable to compile OptiX kernels at runtime. Install " -+ "OptiX SDK in the specified location, or set OPTIX_ROOT_DIR environment variable to a " -+ "directory containing the OptiX SDK.", -+ optix_include_dir.c_str())); - return false; - } - ptx_filename = compile_kernel( --- -2.37.3 - diff --git a/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch b/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch deleted file mode 100644 index 921b648ca388..000000000000 --- a/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch +++ /dev/null @@ -1,23 +0,0 @@ -From https://developer.blender.org/rB74477149dddfddeca71be6770d520f870c0b5bc9 -From: Josh Whelchel <soundofjw> -Date: Tue, 6 Sep 2022 15:39:39 +0200 -Subject: [PATCH 663/965] Fix T100845: wrong Cycles OptiX runtime compilation - include path - -Causing OptiX kernel build errors on Arch Linux. - -Differential Revision: https://developer.blender.org/D15891 ---- a/intern/cycles/device/optix/device_impl.cpp -+++ b/intern/cycles/device/optix/device_impl.cpp -@@ -364,7 +364,7 @@ string OptiXDevice::compile_kernel_get_common_cflags(const uint kernel_features) - string common_cflags = CUDADevice::compile_kernel_get_common_cflags(kernel_features); - - /* Add OptiX SDK include directory to include paths. */ -- common_cflags += string_printf(" -I\"%s/include\"", get_optix_include_dir().c_str()); -+ common_cflags += string_printf(" -I\"%s\"", get_optix_include_dir().c_str()); - - /* Specialization for shader raytracing. */ - if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) { --- -2.37.3 - diff --git a/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch b/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch deleted file mode 100644 index fb3f2584f0fe..000000000000 --- a/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch +++ /dev/null @@ -1,177 +0,0 @@ -CMake: support building with musl libc - -Instead of using macros like GLIBC we can use the CMake build -systems internal functions to check if some header or functions are -present on the running system's libc. - -Add ./build_files/cmake/have_features.cmake to add checks for -platform features which can be used to set defines for source -files that require them. - -Please refer: https://github.com/blender/blender/commit/f197b1a1f1bbc0334310fb1c911327246767a1a3 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -112,6 +112,11 @@ blender_project_hack_post() - - enable_testing() - -+#----------------------------------------------------------------------------- -+# Test compiler/library features. -+ -+include(build_files/cmake/have_features.cmake) -+ - #----------------------------------------------------------------------------- - # Redirect output files - ---- /dev/null -+++ b/build_files/cmake/have_features.cmake -@@ -0,0 +1,33 @@ -+# SPDX-License-Identifier: GPL-2.0-or-later -+# Copyright 2022 Blender Foundation. All rights reserved. -+ -+# This file is used to test the system for headers & symbols. -+# Variables should use the `HAVE_` prefix. -+# Defines should use the same name as the CMAKE variable. -+ -+include(CheckSymbolExists) -+ -+# Used for: `intern/guardedalloc/intern/mallocn_intern.h`. -+# Function `malloc_stats` is only available on GLIBC, -+# so check that before defining `HAVE_MALLOC_STATS`. -+check_symbol_exists(malloc_stats "malloc.h" HAVE_MALLOC_STATS_H) -+ -+# Used for: `source/creator/creator_signals.c`. -+# The function `feenableexcept` is not present non-GLIBC systems, -+# hence we need to check if it's available in the `fenv.h` file. -+set(HAVE_FEENABLEEXCEPT OFF) -+if(CMAKE_SYSTEM_NAME STREQUAL "Linux") -+ check_symbol_exists(feenableexcept "fenv.h" HAVE_FEENABLEEXCEPT) -+endif() -+ -+# Used for: `source/blender/blenlib/intern/system.c`. -+# `execinfo` is not available on non-GLIBC systems (at least not on MUSL-LIBC), -+# so check the presence of the header before including it and using the it for back-trace. -+set(HAVE_EXECINFO_H OFF) -+if(NOT MSVC) -+ include(CheckIncludeFiles) -+ check_include_files("execinfo.h" HAVE_EXECINFO_H) -+ if(HAVE_EXECINFO_H) -+ add_definitions(-DHAVE_EXECINFO_H) -+ endif() -+endif() ---- a/intern/guardedalloc/CMakeLists.txt -+++ b/intern/guardedalloc/CMakeLists.txt -@@ -1,6 +1,10 @@ - # SPDX-License-Identifier: GPL-2.0-or-later - # Copyright 2006 Blender Foundation. All rights reserved. - -+if(HAVE_MALLOC_STATS_H) -+ add_definitions(-DHAVE_MALLOC_STATS_H) -+endif() -+ - set(INC - . - ../atomic ---- a/intern/guardedalloc/intern/mallocn_intern.h -+++ b/intern/guardedalloc/intern/mallocn_intern.h -@@ -17,8 +17,7 @@ - #undef HAVE_MALLOC_STATS - #define USE_MALLOC_USABLE_SIZE /* internal, when we have malloc_usable_size() */ - --#if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || \ -- defined(__GLIBC__) -+#if defined(HAVE_MALLOC_STATS_H) - # include <malloc.h> - # define HAVE_MALLOC_STATS - #elif defined(__FreeBSD__) ---- a/source/blender/blenlib/CMakeLists.txt -+++ b/source/blender/blenlib/CMakeLists.txt -@@ -1,6 +1,10 @@ - # SPDX-License-Identifier: GPL-2.0-or-later - # Copyright 2006 Blender Foundation. All rights reserved. - -+if(HAVE_EXECINFO_H) -+ add_definitions(-DHAVE_EXECINFO_H) -+endif() -+ - set(INC - . - # ../blenkernel # don't add this back! ---- a/source/blender/blenlib/intern/system.c -+++ b/source/blender/blenlib/intern/system.c -@@ -21,7 +21,9 @@ - - # include "BLI_winstuff.h" - #else --# include <execinfo.h> -+# if defined(HAVE_EXECINFO_H) -+# include <execinfo.h> -+# endif - # include <unistd.h> - #endif - -@@ -61,9 +63,9 @@ int BLI_cpu_support_sse2(void) - #if !defined(_MSC_VER) - void BLI_system_backtrace(FILE *fp) - { -- /* ------------- */ -- /* Linux / Apple */ --# if defined(__linux__) || defined(__APPLE__) -+ /* ----------------------- */ -+ /* If system as execinfo.h */ -+# if defined(HAVE_EXECINFO_H) - - # define SIZE 100 - void *buffer[SIZE]; ---- a/source/blender/makesdna/intern/CMakeLists.txt -+++ b/source/blender/makesdna/intern/CMakeLists.txt -@@ -5,6 +5,11 @@ - - add_definitions(-DWITH_DNA_GHASH) - -+# Needed for `mallocn.c`. -+if(HAVE_MALLOC_STATS_H) -+ add_definitions(-DHAVE_MALLOC_STATS_H) -+endif() -+ - blender_include_dirs( - ../../../../intern/atomic - ../../../../intern/guardedalloc ---- a/source/blender/makesrna/intern/CMakeLists.txt -+++ b/source/blender/makesrna/intern/CMakeLists.txt -@@ -6,6 +6,11 @@ if(CMAKE_COMPILER_IS_GNUCC) - string(APPEND CMAKE_C_FLAGS " -Werror=implicit-function-declaration") - endif() - -+# Needed for `mallocn.c`. -+if(HAVE_MALLOC_STATS_H) -+ add_definitions(-DHAVE_MALLOC_STATS_H) -+endif() -+ - # files rna_access.c rna_define.c makesrna.c intentionally excluded. - set(DEFSRC - rna_ID.c ---- a/source/creator/CMakeLists.txt -+++ b/source/creator/CMakeLists.txt -@@ -22,6 +22,10 @@ set(LIB - bf_windowmanager - ) - -+if(HAVE_FEENABLEEXCEPT) -+ add_definitions(-DHAVE_FEENABLEEXCEPT) -+endif() -+ - if(WITH_TBB) - # Force TBB libraries to be in front of MKL (part of OpenImageDenoise), so - # that it is initialized before MKL and static library initialization order ---- a/source/creator/creator_signals.c -+++ b/source/creator/creator_signals.c -@@ -258,7 +258,7 @@ void main_signal_setup_fpe(void) - * set breakpoints on sig_handle_fpe */ - signal(SIGFPE, sig_handle_fpe); - --# if defined(__linux__) && defined(__GNUC__) -+# if defined(__linux__) && defined(__GNUC__) && defined(HAVE_FEENABLEEXCEPT) - feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW); - # endif /* defined(__linux__) && defined(__GNUC__) */ - # if defined(OSX_SSE_FPE) diff --git a/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch b/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch deleted file mode 100644 index 3a544811e484..000000000000 --- a/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch +++ /dev/null @@ -1,17 +0,0 @@ -https://bugs.gentoo.org/887059 - -Adding include as suggested by the compiler: - -"intern/locale/boost_locale_wrapper.cpp:12:1: note: ‘std::cout’ is defined -in header ‘<iostream>’; did you forget to ‘#include <iostream>’?" - ---- a/intern/locale/boost_locale_wrapper.cpp -+++ b/intern/locale/boost_locale_wrapper.cpp -@@ -9,6 +9,7 @@ - #include <stdio.h> - - #include "boost_locale_wrapper.h" -+#include <iostream> - - static std::string messages_path; - static std::string default_domain; diff --git a/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch b/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch deleted file mode 100644 index 955be2424e19..000000000000 --- a/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch +++ /dev/null @@ -1,12 +0,0 @@ -https://bugs.gentoo.org/914740 ---- a/intern/cycles/util/thread.cpp -+++ b/intern/cycles/util/thread.cpp -@@ -6,6 +6,8 @@ - #include "util/system.h" - #include "util/windows.h" - -+#include <system_error> -+ - CCL_NAMESPACE_BEGIN - - thread::thread(function<void()> run_cb) : run_cb_(run_cb), joined_(false) diff --git a/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch b/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch deleted file mode 100644 index d28db84d8c36..000000000000 --- a/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch +++ /dev/null @@ -1,39 +0,0 @@ -Fix CMake Error: string sub-command REGEX, mode REPLACE needs at least 6 arguments total to command. -https://bugs.gentoo.org/922324 -https://github.com/blender/blender/commit/ecd307041e4181f721bf5d2248c02ffe980edcba ---- a/build_files/cmake/macros.cmake -+++ b/build_files/cmake/macros.cmake -@@ -750,11 +750,11 @@ macro(remove_c_flag - _flag) - - foreach(f ${ARGV}) -- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS}) -- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG}) -- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE}) -- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS_MINSIZEREL}) -- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO}) -+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}") -+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}") -+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}") -+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}") -+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}") - endforeach() - unset(f) - endmacro() -@@ -763,11 +763,11 @@ macro(remove_cxx_flag - _flag) - - foreach(f ${ARGV}) -- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS}) -- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG}) -- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE}) -- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL}) -- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}) -+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") -+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}") -+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") -+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}") -+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}") - endforeach() - unset(f) - endmacro()
\ No newline at end of file diff --git a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch b/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch deleted file mode 100644 index 1f1561e8e7db..000000000000 --- a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch +++ /dev/null @@ -1,75 +0,0 @@ -From: Paul Zander <negril.nx+gentoo@gmail.com> -Change lookup for OpenVDB-11 ---- a/intern/cycles/scene/image_vdb.cpp 2023-11-23 14:42:38.772685628 +0100 -+++ b/intern/cycles/scene/image_vdb.cpp 2023-11-23 15:19:55.475804922 +0100 -@@ -11,7 +11,14 @@ - # include <openvdb/tools/Dense.h> - #endif - #ifdef WITH_NANOVDB --# include <nanovdb/util/OpenToNanoVDB.h> -+# include <nanovdb/NanoVDB.h> -+# define NANOVDB_VERSION(major, minor, patch) (major << 21 | minor << 10 | patch) -+# if NANOVDB_VERSION(NANOVDB_MAJOR_VERSION_NUMBER, NANOVDB_MINOR_VERSION_NUMBER, NANOVDB_PATCH_VERSION_NUMBER) >= NANOVDB_VERSION(32, 6, 0) -+# include <nanovdb/util/CreateNanoGrid.h> -+# else -+# include <nanovdb/util/OpenToNanoVDB.h> -+# endif -+# undef NANOVDB_VERSION - #endif - - CCL_NAMESPACE_BEGIN -@@ -55,20 +62,35 @@ - FloatGridType floatgrid(*openvdb::gridConstPtrCast<GridType>(grid)); - if constexpr (std::is_same_v<FloatGridType, openvdb::FloatGrid>) { - if (precision == 0) { -- nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer, -- typename FloatGridType::TreeType, -- nanovdb::FpN>(floatgrid); -+ if constexpr (nanovdb::Version() >= nanovdb::Version(32,6,0)) { -+ nanogrid = nanovdb::createNanoGrid(floatgrid); -+ } -+ else { -+ nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer, -+ typename FloatGridType::TreeType, -+ nanovdb::FpN>(floatgrid); -+ } - return true; - } -- else if (precision == 16) { -- nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer, -- typename FloatGridType::TreeType, -- nanovdb::Fp16>(floatgrid); -+ if (precision == 16) { -+ if constexpr (nanovdb::Version() > nanovdb::Version(32,4,0)) { -+ nanogrid = nanovdb::createNanoGrid(floatgrid); -+ } -+ else { -+ nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer, -+ typename FloatGridType::TreeType, -+ nanovdb::Fp16>(floatgrid); -+ } - return true; - } - } - -- nanogrid = nanovdb::openToNanoVDB(floatgrid); -+ if constexpr (nanovdb::Version() > nanovdb::Version(32,4,0)) { -+ nanogrid = nanovdb::createNanoGrid(floatgrid); -+ } -+ else { -+ nanogrid = nanovdb::openToNanoVDB(floatgrid); -+ } - } - catch (const std::exception &e) { - VLOG_WARNING << "Error converting OpenVDB to NanoVDB grid: " << e.what(); ---- a/CMakeLists.txt 2023-11-23 15:59:58.715805024 +0100 -+++ b/CMakeLists.txt 2023-11-23 16:06:42.352711508 +0100 -@@ -1461,7 +1461,7 @@ - endif() - - if(WITH_OPENVDB) -- list(APPEND OPENVDB_DEFINITIONS -DWITH_OPENVDB) -+ list(APPEND OPENVDB_DEFINITIONS -DWITH_OPENVDB -DNANOVDB_USE_OPENVDB) - - if(WITH_OPENVDB_3_ABI_COMPATIBLE) - list(APPEND OPENVDB_DEFINITIONS -DOPENVDB_3_ABI_COMPATIBLE) diff --git a/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch b/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch deleted file mode 100644 index 064abf21c6a6..000000000000 --- a/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch +++ /dev/null @@ -1,342 +0,0 @@ -From 798a0b301e640e73ae12e6f8a36a66746893bff1 Mon Sep 17 00:00:00 2001 -From: Brecht Van Lommel <brecht@blender.org> -Date: Sun, 10 Dec 2023 17:08:47 +0100 -Subject: [PATCH] Cycles: update OSL to work with version 1.13.5 - -This keeps compatibility with older stable versions, but not -older unreleased versions in the 1.13.x series. - -Ref #113157 - -Pull Request: https://projects.blender.org/blender/blender/pulls/116004 ---- - intern/cycles/device/cpu/device_impl.cpp | 2 +- - .../device/cpu/kernel_thread_globals.cpp | 6 ++- - .../cycles/device/cpu/kernel_thread_globals.h | 3 +- - intern/cycles/kernel/device/cpu/globals.h | 1 + - intern/cycles/kernel/osl/closures.cpp | 52 ++++++++++++++++++- - intern/cycles/kernel/osl/globals.cpp | 3 +- - intern/cycles/kernel/osl/globals.h | 4 +- - intern/cycles/kernel/osl/osl.h | 5 ++ - intern/cycles/kernel/osl/services.cpp | 27 ++++++++-- - intern/cycles/kernel/osl/services.h | 21 +++++++- - intern/cycles/kernel/osl/types.h | 4 +- - 11 files changed, 115 insertions(+), 13 deletions(-) - -diff --git a/intern/cycles/device/cpu/device_impl.cpp b/intern/cycles/device/cpu/device_impl.cpp -index cbbdb844323..ba838233855 100644 ---- a/intern/cycles/device/cpu/device_impl.cpp -+++ b/intern/cycles/device/cpu/device_impl.cpp -@@ -313,7 +313,7 @@ void CPUDevice::get_cpu_kernel_thread_globals( - kernel_thread_globals.clear(); - void *osl_memory = get_cpu_osl_memory(); - for (int i = 0; i < info.cpu_threads; i++) { -- kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler); -+ kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler, i); - } - } - -diff --git a/intern/cycles/device/cpu/kernel_thread_globals.cpp b/intern/cycles/device/cpu/kernel_thread_globals.cpp -index 546061a5086..998a63aa334 100644 ---- a/intern/cycles/device/cpu/kernel_thread_globals.cpp -+++ b/intern/cycles/device/cpu/kernel_thread_globals.cpp -@@ -12,14 +12,16 @@ CCL_NAMESPACE_BEGIN - - CPUKernelThreadGlobals::CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals, - void *osl_globals_memory, -- Profiler &cpu_profiler) -+ Profiler &cpu_profiler, -+ const int thread_index) - : KernelGlobalsCPU(kernel_globals), cpu_profiler_(cpu_profiler) - { - clear_runtime_pointers(); - - #ifdef WITH_OSL -- OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory)); -+ OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory), thread_index); - #else -+ (void)thread_index; - (void)osl_globals_memory; - #endif - -diff --git a/intern/cycles/device/cpu/kernel_thread_globals.h b/intern/cycles/device/cpu/kernel_thread_globals.h -index dc4b693702a..3dbc35fefa3 100644 ---- a/intern/cycles/device/cpu/kernel_thread_globals.h -+++ b/intern/cycles/device/cpu/kernel_thread_globals.h -@@ -23,7 +23,8 @@ class CPUKernelThreadGlobals : public KernelGlobalsCPU { - * without OSL support. Will avoid need to those unnamed pointers and casts. */ - CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals, - void *osl_globals_memory, -- Profiler &cpu_profiler); -+ Profiler &cpu_profiler, -+ const int thread_index); - - ~CPUKernelThreadGlobals(); - -diff --git a/intern/cycles/kernel/device/cpu/globals.h b/intern/cycles/kernel/device/cpu/globals.h -index 90a274b2bcf..d0495883e27 100644 ---- a/intern/cycles/kernel/device/cpu/globals.h -+++ b/intern/cycles/kernel/device/cpu/globals.h -@@ -49,6 +49,7 @@ typedef struct KernelGlobalsCPU { - OSLGlobals *osl = nullptr; - OSLShadingSystem *osl_ss = nullptr; - OSLThreadData *osl_tdata = nullptr; -+ int osl_thread_index = 0; - #endif - - #ifdef __PATH_GUIDING__ -diff --git a/intern/cycles/kernel/osl/closures.cpp b/intern/cycles/kernel/osl/closures.cpp -index 808e13f48d6..4a5906873af 100644 ---- a/intern/cycles/kernel/osl/closures.cpp -+++ b/intern/cycles/kernel/osl/closures.cpp -@@ -110,7 +110,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg, - if (sd->object == OBJECT_NONE && sd->lamp == LAMP_NONE) { - /* background */ - if (kg->osl->background_state) { -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+ ss->execute(*octx, -+ *(kg->osl->background_state), -+ kg->osl_thread_index, -+ 0, -+ *globals, -+ nullptr, -+ nullptr); -+#else - ss->execute(octx, *(kg->osl->background_state), *globals); -+#endif - } - } - else { -@@ -150,8 +160,18 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg, - globals->dPdy = TO_VEC3(tmp_dP.dy); - } - -- /* execute bump shader */ -+/* execute bump shader */ -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+ ss->execute(*octx, -+ *(kg->osl->bump_state[shader]), -+ kg->osl_thread_index, -+ 0, -+ *globals, -+ nullptr, -+ nullptr); -+#else - ss->execute(octx, *(kg->osl->bump_state[shader]), *globals); -+#endif - - /* reset state */ - sd->P = P; -@@ -164,7 +184,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg, - - /* surface shader */ - if (kg->osl->surface_state[shader]) { -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+ ss->execute(*octx, -+ *(kg->osl->surface_state[shader]), -+ kg->osl_thread_index, -+ 0, -+ *globals, -+ nullptr, -+ nullptr); -+#else - ss->execute(octx, *(kg->osl->surface_state[shader]), *globals); -+#endif - } - } - -@@ -208,7 +238,17 @@ void osl_eval_nodes<SHADER_TYPE_VOLUME>(const KernelGlobalsCPU *kg, - int shader = sd->shader & SHADER_MASK; - - if (kg->osl->volume_state[shader]) { -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+ ss->execute(*octx, -+ *(kg->osl->volume_state[shader]), -+ kg->osl_thread_index, -+ 0, -+ *globals, -+ nullptr, -+ nullptr); -+#else - ss->execute(octx, *(kg->osl->volume_state[shader]), *globals); -+#endif - } - - /* flatten closure tree */ -@@ -245,7 +285,17 @@ void osl_eval_nodes<SHADER_TYPE_DISPLACEMENT>(const KernelGlobalsCPU *kg, - int shader = sd->shader & SHADER_MASK; - - if (kg->osl->displacement_state[shader]) { -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+ ss->execute(*octx, -+ *(kg->osl->displacement_state[shader]), -+ kg->osl_thread_index, -+ 0, -+ *globals, -+ nullptr, -+ nullptr); -+#else - ss->execute(octx, *(kg->osl->displacement_state[shader]), *globals); -+#endif - } - - /* get back position */ -diff --git a/intern/cycles/kernel/osl/globals.cpp b/intern/cycles/kernel/osl/globals.cpp -index c4f055af7f7..573ddb6f362 100644 ---- a/intern/cycles/kernel/osl/globals.cpp -+++ b/intern/cycles/kernel/osl/globals.cpp -@@ -14,7 +14,7 @@ - - CCL_NAMESPACE_BEGIN - --void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals) -+void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals, const int thread_index) - { - /* no osl used? */ - if (!osl_globals->use) { -@@ -37,6 +37,7 @@ void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals) - - kg->osl_ss = (OSLShadingSystem *)ss; - kg->osl_tdata = tdata; -+ kg->osl_thread_index = thread_index; - } - - void OSLGlobals::thread_free(KernelGlobalsCPU *kg) -diff --git a/intern/cycles/kernel/osl/globals.h b/intern/cycles/kernel/osl/globals.h -index 9656ef08306..cf24c62613b 100644 ---- a/intern/cycles/kernel/osl/globals.h -+++ b/intern/cycles/kernel/osl/globals.h -@@ -45,7 +45,9 @@ struct OSLGlobals { - } - - /* per thread data */ -- static void thread_init(struct KernelGlobalsCPU *kg, OSLGlobals *osl_globals); -+ static void thread_init(struct KernelGlobalsCPU *kg, -+ OSLGlobals *osl_globals, -+ const int thread_init); - static void thread_free(struct KernelGlobalsCPU *kg); - - bool use; -diff --git a/intern/cycles/kernel/osl/osl.h b/intern/cycles/kernel/osl/osl.h -index 347b635632a..3238eb5096b 100644 ---- a/intern/cycles/kernel/osl/osl.h -+++ b/intern/cycles/kernel/osl/osl.h -@@ -52,6 +52,11 @@ ccl_device_inline void shaderdata_to_shaderglobals(KernelGlobals kg, - - /* shader data to be used in services callbacks */ - globals->renderstate = sd; -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+ globals->shadingStateUniform = nullptr; -+ globals->thread_index = 0; -+ globals->shade_index = 0; -+#endif - - /* hacky, we leave it to services to fetch actual object matrix */ - globals->shader2common = sd; -diff --git a/intern/cycles/kernel/osl/services.cpp b/intern/cycles/kernel/osl/services.cpp -index 02dc1cd1aec..93595b0a458 100644 ---- a/intern/cycles/kernel/osl/services.cpp -+++ b/intern/cycles/kernel/osl/services.cpp -@@ -1165,7 +1165,18 @@ bool OSLRenderServices::get_userdata( - return false; /* disabled by lockgeom */ - } - --#if OSL_LIBRARY_VERSION_CODE >= 11100 -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename, -+ OSL::ShadingContext *context, -+ const TextureOpt *opt) -+{ -+ return get_texture_handle(to_ustring(filename), context, opt); -+} -+ -+TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSL::ustring filename, -+ OSL::ShadingContext *, -+ const TextureOpt *) -+#elif OSL_LIBRARY_VERSION_CODE >= 11100 - TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename, - OSL::ShadingContext *) - #else -@@ -1616,7 +1627,17 @@ bool OSLRenderServices::environment(OSLUStringHash filename, - return status; - } - --#if OSL_LIBRARY_VERSION_CODE >= 11100 -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+bool OSLRenderServices::get_texture_info(OSLUStringHash filename, -+ TextureHandle *texture_handle, -+ TexturePerthread *texture_thread_info, -+ OSL::ShaderGlobals *, -+ int subimage, -+ OSLUStringHash dataname, -+ TypeDesc datatype, -+ void *data, -+ OSLUStringHash *) -+#elif OSL_LIBRARY_VERSION_CODE >= 11100 - bool OSLRenderServices::get_texture_info(OSLUStringHash filename, - TextureHandle *texture_handle, - TexturePerthread *texture_thread_info, -@@ -1627,7 +1648,7 @@ bool OSLRenderServices::get_texture_info(OSLUStringHash filename, - void *data, - OSLUStringHash *) - #else --bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *sg, -+bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *, - OSLUStringHash filename, - TextureHandle *texture_handle, - int subimage, -diff --git a/intern/cycles/kernel/osl/services.h b/intern/cycles/kernel/osl/services.h -index b674fa7c7a7..62d8a4c5416 100644 ---- a/intern/cycles/kernel/osl/services.h -+++ b/intern/cycles/kernel/osl/services.h -@@ -189,7 +189,14 @@ class OSLRenderServices : public OSL::RendererServices { - void *val, - bool derivatives) override; - --#if OSL_LIBRARY_VERSION_CODE >= 11100 -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+ TextureSystem::TextureHandle *get_texture_handle(OSL::ustring filename, -+ OSL::ShadingContext *context, -+ const TextureOpt *options) override; -+ TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename, -+ OSL::ShadingContext *context, -+ const TextureOpt *options) override; -+#elif OSL_LIBRARY_VERSION_CODE >= 11100 - TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename, - OSL::ShadingContext *context) override; - #else -@@ -245,7 +252,17 @@ class OSLRenderServices : public OSL::RendererServices { - float *dresultdt, - OSLUStringHash *errormessage) override; - --#if OSL_LIBRARY_VERSION_CODE >= 11100 -+#if OSL_LIBRARY_VERSION_CODE >= 11304 -+ bool get_texture_info(OSLUStringHash filename, -+ TextureHandle *texture_handle, -+ TexturePerthread *texture_thread_info, -+ OSL::ShaderGlobals *sg, -+ int subimage, -+ OSLUStringHash dataname, -+ TypeDesc datatype, -+ void *data, -+ OSLUStringHash *errormessage) override; -+#elif OSL_LIBRARY_VERSION_CODE >= 11100 - bool get_texture_info(OSLUStringHash filename, - TextureHandle *texture_handle, - TexturePerthread *texture_thread_info, -diff --git a/intern/cycles/kernel/osl/types.h b/intern/cycles/kernel/osl/types.h -index 71c808ff91b..8cb5779961a 100644 ---- a/intern/cycles/kernel/osl/types.h -+++ b/intern/cycles/kernel/osl/types.h -@@ -86,8 +86,10 @@ struct ShaderGlobals { - ccl_private void *tracedata; - ccl_private void *objdata; - void *context; --#if OSL_LIBRARY_VERSION_CODE >= 11302 -+#if OSL_LIBRARY_VERSION_CODE >= 11304 - void *shadingStateUniform; -+ int thread_index; -+ int shade_index; - #endif - void *renderer; - ccl_private void *object2common; diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml index e9c0f2846ae7..927ab93cc1a5 100644 --- a/media-gfx/blender/metadata.xml +++ b/media-gfx/blender/metadata.xml @@ -37,8 +37,7 @@ Build cycles renderer with AMD HIP support. </flag> <flag name="cycles"> - Build cycles renderer (requires <pkg>media-libs/openimageio</pkg> and - <pkg>dev-libs/boost</pkg>). + Enable the Cycles raytracing render engine. </flag> <flag name="cycles-bin-kernels"> Precompile the cycles render kernels for the CUDA/HIP/OneAPI backends, if they are enabled, at compile time. @@ -57,9 +56,6 @@ <flag name="fluid"> Adds fluid simulation support via the built-in Mantaflow library. </flag> - <flag name="headless"> - Build without graphical support (renderfarm, server mode only). - </flag> <flag name="nanovdb"> Enable nanoVDB support in Cycles. Uses less memory than regular openVDB when rendering. </flag> @@ -68,7 +64,6 @@ </flag> <flag name="oidn">Enable OpenImageDenoiser Support</flag> <flag name="oneapi">Build OIDN with Intel oneAPI SyCL support</flag> - <flag name="openimageio">Enable OpenImageIO Support</flag> <flag name="openpgl">Enable path guiding support in Cycles</flag> <flag name="opensubdiv"> Add rendering support form OpenSubdiv from Dreamworks Animation diff --git a/media-gfx/chafa/chafa-1.12.5-r1.ebuild b/media-gfx/chafa/chafa-1.12.5-r1.ebuild index 5086db9e3356..06c118fd88ee 100644 --- a/media-gfx/chafa/chafa-1.12.5-r1.ebuild +++ b/media-gfx/chafa/chafa-1.12.5-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit flag-o-matic +inherit flag-o-matic libtool DESCRIPTION="versatile and fast Unicode/ASCII/ANSI graphics renderer" HOMEPAGE="https://hpjansson.org/chafa/ https://github.com/hpjansson/chafa" @@ -23,6 +23,16 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" +QA_CONFIG_IMPL_DECL_SKIP=( + # checking for intrinsics, will fail where not supported. bug #927102 + _mm_popcnt_u64 +) + +src_prepare() { + default + elibtoolize +} + src_configure() { # bug 909429 use webp && append-ldflags -lwebp diff --git a/media-gfx/chafa/chafa-1.14.1.ebuild b/media-gfx/chafa/chafa-1.14.1.ebuild index 06484a9f1cb7..7b4ded23c6ce 100644 --- a/media-gfx/chafa/chafa-1.14.1.ebuild +++ b/media-gfx/chafa/chafa-1.14.1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -inherit flag-o-matic +inherit flag-o-matic libtool DESCRIPTION="versatile and fast Unicode/ASCII/ANSI graphics renderer" HOMEPAGE="https://hpjansson.org/chafa/ https://github.com/hpjansson/chafa" @@ -11,7 +11,7 @@ SRC_URI="https://hpjansson.org/chafa/releases/${P}.tar.xz" LICENSE="LGPL-3+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86" IUSE="+tools webp" RDEPEND=" @@ -22,6 +22,16 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="virtual/pkgconfig" +QA_CONFIG_IMPL_DECL_SKIP=( + # checking for intrinsics, will fail where not supported. bug #927102 + _mm_popcnt_u64 +) + +src_prepare() { + default + elibtoolize +} + src_configure() { # bug 909429 use webp && append-ldflags -lwebp diff --git a/media-gfx/clockphoto/clockphoto-1.2-r1.ebuild b/media-gfx/clockphoto/clockphoto-1.2-r1.ebuild new file mode 100644 index 000000000000..609fa4a2539f --- /dev/null +++ b/media-gfx/clockphoto/clockphoto-1.2-r1.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qmake-utils + +DESCRIPTION="Adjusts photo timestamps based on clock photos" +HOMEPAGE="https://git.zx2c4.com/clockphoto/about/" +SRC_URI="https://git.zx2c4.com/clockphoto/snapshot/${P}.tar.xz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="" + +DEPEND=" + dev-qt/qtbase:6[gui,widgets] +" +RDEPEND="${DEPEND} + media-gfx/exiv2 +" + +src_configure() { + eqmake6 +} + +src_install() { + dobin clockphoto +} diff --git a/media-gfx/converseen/Manifest b/media-gfx/converseen/Manifest index f88d459fbfa5..f10450e6adeb 100644 --- a/media-gfx/converseen/Manifest +++ b/media-gfx/converseen/Manifest @@ -1,2 +1,2 @@ DIST converseen-0.12.0.1.tar.gz 2296100 BLAKE2B 83a0271e1451fa196852d717332fa7446cd22bac7b675f3f306692aa1e11d4c5500d033fd9bbb7dd4ec9190ff3b15149bad1e9646006f533d930fc1d686b0a9b SHA512 4e6efa44953b097f8c6af19e3d849caf570a0fa2db673133e1d8ca2abee98b43d2fbd2d12e6c8c2a8ec6a9dd61a1ca3f25ee7a7787791cc783d8c967eacb9d9d -DIST converseen-0.9.11.1.tar.gz 770024 BLAKE2B 671599099abf5b143bde7c57efc547626c14e15bebbd3a70ce4ec43d4febbaf69eebedebaaac935572b785afaa086c383b68bae0f02bc16ca68625dfb55b8c85 SHA512 1d61fa88d9e3d6ed23fb98d0495b00315adca880fd1d0d95e8322c48d9fdcd161ee00b5e2f5f52212c4db66d97e26ac0da561926e55de4bc047d3ad98b6f69dd +DIST converseen-0.12.2.4.tar.gz 941270 BLAKE2B 4ac582a2dc3bbbabb48c1d12fe4ba4ed1d61b20e946645edab4eb6ac2d62cfa2df149b61c60842b36b55239694013661af4dd7c27a5195ee25f808d0a9b29605 SHA512 7d207207859f57037038b595935e3b0c5b202eda6a39e64226f6e898d5c3762077424a52f2ae6029263eae672607d05e30bf4ad2005ce15fd50348cca374413a diff --git a/media-gfx/converseen/converseen-0.9.11.1.ebuild b/media-gfx/converseen/converseen-0.12.2.4.ebuild index c77e1a0977df..8096327f78f3 100644 --- a/media-gfx/converseen/converseen-0.9.11.1.ebuild +++ b/media-gfx/converseen/converseen-0.12.2.4.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,31 +9,25 @@ DESCRIPTION="Batch image converter and resizer based on ImageMagick" HOMEPAGE="https://converseen.fasterland.net/ https://github.com/Faster3ck/Converseen/" SRC_URI="https://github.com/Faster3ck/Converseen/archive/v${PV}.tar.gz -> ${P}.tar.gz" +S="${WORKDIR}/${P^}" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="amd64 x86" +KEYWORDS="~amd64 ~x86" IUSE="graphicsmagick debug" RDEPEND=" - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtwidgets:5 + dev-qt/qtbase:6[gui,network,widgets] graphicsmagick? ( media-gfx/graphicsmagick:=[cxx,imagemagick] ) !graphicsmagick? ( media-gfx/imagemagick:=[cxx] ) " DEPEND="${RDEPEND}" -BDEPEND=" - dev-qt/linguist-tools:5 -" - -S="${WORKDIR}/${P^}" +BDEPEND="dev-qt/qttools[linguist]" PATCHES=( - "${FILESDIR}/${PN}-0.9.9.0-appdata-path.patch" + "${FILESDIR}/${P}-appdata-path.patch" "${FILESDIR}/${PN}-0.9.9.0-no-update.patch" - "${FILESDIR}/${PN}-0.9.11.1-graphicsmagick-support.patch" + "${FILESDIR}/${PN}-0.12.0.1-graphicsmagick-support.patch" ) src_prepare() { @@ -52,6 +46,11 @@ src_prepare() { fi } +src_configure() { + local mycmakeargs=(-DUSE_QT6=yes) + cmake_src_configure +} + pkg_postinst() { elog "Please note that due to security policy restrictions" elog "on media-gfx/imagemagick the support for PS, PDF and" diff --git a/media-gfx/converseen/files/converseen-0.12.2.4-appdata-path.patch b/media-gfx/converseen/files/converseen-0.12.2.4-appdata-path.patch new file mode 100644 index 000000000000..2b07399b420d --- /dev/null +++ b/media-gfx/converseen/files/converseen-0.12.2.4-appdata-path.patch @@ -0,0 +1,11 @@ +--- a/converseen.pro 2024-10-29 16:39:33.000000000 +0100 ++++ b/converseen.pro 2025-01-01 19:30:59.323494846 +0100 +@@ -171,7 +171,7 @@ + desktopFile.files = res/converseen.desktop
+ kdeservicemenu.path = $${SHARE_DIR}/kio/servicemenus
+ kdeservicemenu.files = res/converseen_import.desktop
+- appdata.path = /usr/share/appdata/
++ appdata.path = /usr/share/metainfo/
+ appdata.files = converseen.appdata.xml
+
+ isEmpty(QMAKE_LRELEASE) {
diff --git a/media-gfx/converseen/files/converseen-0.9.11.1-graphicsmagick-support.patch b/media-gfx/converseen/files/converseen-0.9.11.1-graphicsmagick-support.patch deleted file mode 100644 index a76f108e335c..000000000000 --- a/media-gfx/converseen/files/converseen-0.9.11.1-graphicsmagick-support.patch +++ /dev/null @@ -1,53 +0,0 @@ -# See https://bugs.gentoo.org/628688 for further info and -# development discussion about this patch. ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -100,6 +100,14 @@ FIND_PACKAGE(ImageMagick REQUIRED) - FIND_PACKAGE(ImageMagick COMPONENTS Magick++)
- FIND_PACKAGE(ImageMagick COMPONENTS MagickWand)
- FIND_PACKAGE(ImageMagick COMPONENTS MagickCore)
-+if (NOT ImageMagick_MagickCore_FOUND)
-+ set(ImageMagick_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick")
-+ set(ImageMagick_Magick++_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick/Magick++")
-+ set(ImageMagick_MagickCore_INCLUDE_DIRS "")
-+ set(ImageMagick_LIBRARY "GENTOO_LIB/libGraphicsMagick.so")
-+ set(ImageMagick_Magick++_LIBRARY "GENTOO_LIB/libGraphicsMagick++.so")
-+ set(ImageMagick_MagickCore_LIBRARY "")
-+endif ()
-
- INCLUDE_DIRECTORIES(${Qt5Core_INCLUDE_DIRS})
- INCLUDE_DIRECTORIES(${Qt5Gui_INCLUDE_DIRS})
---- a/src/converter.cpp -+++ b/src/converter.cpp -@@ -254,8 +254,14 @@ bool Converter::writeImage(Image &my_image, const QString &format, const int &qu - - error_status = ""; - -+/* Workaround to compile with GraphicsMagick: -+ GraphicsMagick "MagickLibVersion" is greater that 0x100000 -+ e.g. GraphicsMagick-1.3.25 has "MagickLibVersion=0x181501" -+ or GraphicsMagick-1.3.26 has "MagickLibVersion=0x191600" */ - #if MagickLibVersion < 0x700 - hasTransparency = my_image.matte(); -+#elif MagickLibVersion > 0x100000 -+ hasTransparency = my_image.matte(); - #else - hasTransparency = my_image.alpha(); - #endif ---- a/src/globals.h -+++ b/src/globals.h -@@ -32,8 +32,14 @@ - using namespace Magick; - using namespace std; - -+/* Workaround to compile with GraphicsMagick: -+ GraphicsMagick "MagickLibVersion" is greater that 0x100000 -+ e.g. GraphicsMagick-1.3.25 has "MagickLibVersion=0x181501" -+ or GraphicsMagick-1.3.26 has "MagickLibVersion=0x191600" */ - #if MagickLibVersion < 0x700 - typedef FilterTypes IMFilterType; -+#elif MagickLibVersion > 0x100000 -+ typedef FilterTypes IMFilterType; - #else - typedef FilterType IMFilterType; - #endif diff --git a/media-gfx/curtail/Manifest b/media-gfx/curtail/Manifest index 0d0a21a3ab60..54574a1d99c7 100644 --- a/media-gfx/curtail/Manifest +++ b/media-gfx/curtail/Manifest @@ -1,3 +1,2 @@ -DIST curtail-1.10.0.tar.gz 205428 BLAKE2B 7a9d1c56542648cd1c4c6fe1355276896bea96a8f054d03c2e4a174e392867db05c3a6548897d31f078b2416eac8b3695cafd3977236f0b66fd10f3020e35d3a SHA512 6bd76b4cefd693199e25db112e90acaa990d2a8dbc2016bd9d55e8d1857bd9c6e94f9164691855231afeff65ae3b070c646a8dc8b446591a08509683dd4a9fb7 -DIST curtail-1.11.0.tar.gz 208900 BLAKE2B b1f9fdff8d974ba20345100b24b783c72f241e8612c28468eec424dbe8781affd88523953299a7f5d90575db7c6727e6fa7a4a1e7439dcb94c47806fb77412cf SHA512 eb5bf7400fa97d14d67a0eecaeee2c3cc6b3407b882a5ae42bb517df98429997fe4448a7852c55a39177f035764e4e544f13fb89d7a55e5b6a01a549acc71ecb DIST curtail-1.11.1.tar.gz 208910 BLAKE2B 6a8ed78ba5e09242d0ae497541d41e310b18c6a26cdc5292503d15c003b1e265ee79e6ca057964aac0782041efcbf2beeb16912802aff534465ea0e96c0a750d SHA512 d59bcad4e774a9aa1d195f6b18964d05e41b47e81cd6fcdd86638488c0a63702c0c2ee97e20712eed4e81a0de562b7218df5519573707ace53191c14ac875b86 +DIST curtail-1.12.0.tar.gz 223113 BLAKE2B 43521421e184e484a35938aae918c580298314cf8da877f593578183ad5849765a7ae7c4436d719b6d0ef00bc70c00ada625d5893fd41dba24c681c5f7f4362e SHA512 2d7d7db0a3f804653ba0fd5510dd3d51cfe5504b89fddb6c08b5ec8062e27dc76add63030ddc7b22bddd809655c7800e438c67afaf034dca772fe9d92bfae45e diff --git a/media-gfx/curtail/curtail-1.10.0.ebuild b/media-gfx/curtail/curtail-1.10.0.ebuild deleted file mode 100644 index c698273b9338..000000000000 --- a/media-gfx/curtail/curtail-1.10.0.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{11..13} ) - -inherit gnome2-utils meson python-single-r1 xdg - -DESCRIPTION="Image compressor, supporting PNG, JPEG and WebP" -HOMEPAGE="https://github.com/Huluti/Curtail/" - -if [[ "${PV}" == *9999* ]] ; then - inherit git-r3 - - EGIT_REPO_URI="https://github.com/Huluti/${PN^}.git" -else - SRC_URI="https://github.com/Huluti/${PN^}/archive/${PV}.tar.gz - -> ${P}.tar.gz" - S="${WORKDIR}/${P^}" - - KEYWORDS="amd64 ~x86" -fi - -LICENSE="GPL-3+" -SLOT="0" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -RESTRICT="test" # Just desktop / schema / appstream file validation (fails). - -RDEPEND=" - ${PYTHON_DEPS} - gui-libs/gtk:4[introspection] - $(python_gen_cond_dep ' - dev-python/pygobject:3[${PYTHON_USEDEP}] - ') -" -BDEPEND=" - ${RDEPEND} - dev-libs/appstream-glib - dev-util/desktop-file-utils -" -RDEPEND+=" - >=gui-libs/libadwaita-1.3.1 - media-gfx/jpegoptim - media-gfx/oxipng - media-gfx/pngquant - media-libs/libwebp -" - -DOCS=( CHANGELOG.md README.md ) - -src_prepare() { - sed -i "s|@PYTHON@|${PYTHON}|" "${S}/src/${PN}.in" || die - - default -} - -src_install() { - meson_src_install - python_optimize -} - -pkg_postinst() { - xdg_pkg_postinst - gnome2_schemas_update -} - -pkg_postrm() { - xdg_pkg_postrm - gnome2_schemas_update -} diff --git a/media-gfx/curtail/curtail-1.11.1.ebuild b/media-gfx/curtail/curtail-1.11.1.ebuild index 8db3728be1ae..c698273b9338 100644 --- a/media-gfx/curtail/curtail-1.11.1.ebuild +++ b/media-gfx/curtail/curtail-1.11.1.ebuild @@ -19,7 +19,7 @@ else -> ${P}.tar.gz" S="${WORKDIR}/${P^}" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 ~x86" fi LICENSE="GPL-3+" diff --git a/media-gfx/curtail/curtail-1.11.0.ebuild b/media-gfx/curtail/curtail-1.12.0.ebuild index 8db3728be1ae..d2791e61121b 100644 --- a/media-gfx/curtail/curtail-1.11.0.ebuild +++ b/media-gfx/curtail/curtail-1.12.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest index e0b1a097eb61..6d12aad05e82 100644 --- a/media-gfx/darktable/Manifest +++ b/media-gfx/darktable/Manifest @@ -1,7 +1,4 @@ -DIST darktable-4.6.0.tar.xz 6129572 BLAKE2B 170d874f6a35c4fe5a5555f308bc541885968b8b5535402f8087ad4d47ee93f3d22a78c633f9b3e14584d1925a7dd682a5f3e2bd187ef2f58d0dc2a407b9bb27 SHA512 825a63c9b8bd7420f5c4b53a9281587be92088e1cd617faaf1de2b455503092cc7476872803a1d82c7bf57fcc57f85a40fc4af8ca04367e48719030f08726df7 -DIST darktable-4.6.1.tar.xz 6240188 BLAKE2B cf0055a4dd5f0a246b8de8ca5a29488fd77162cf2e0d7b681235499da39e4dad69dc5e5f7083f67364171d89aa76e940e8338eadee959f6529fb27658f43b75b SHA512 a5bcbdded7cacbc22d82cc982ad1387dc316cf4c0369f6f215abf9f60906024f2236a988dc025c0553bc2d8d7ca9d7bee9eb28b164fa1d9312eef1a084156fb6 DIST darktable-4.8.0.tar.xz 6256036 BLAKE2B 386276776a68887c7b439bf71ecc2ba9cd4cf54c247073908eae0cafd1d1db390c39937dfd4a2fcbe5164317b6090e29f2d2caa66fb7da47a702ba8988833ed5 SHA512 cb0535274a2862dfb2c8d36149cfced828662e423e04347970c0e2546e4d70ed7ab52cb80b6d21785165a294dee74fc23ba749086aab0a78386936341eb8216a -DIST darktable-usermanual-4.4.en.pdf 34311705 BLAKE2B 98094ed8288be092ec9c0398bf1719992ce80723aa803e3924e9d28c1c5f2717b120ed618cbec6eebb958be59d15fe107428099efd87926622b5d08110e36b67 SHA512 90e8b8912776b674a436a7e2377d16b0ef374d879ba16501a1c8a0c8407776ef362b747121859884e0aac1d9fc94f3bf0a58bbccdc6fce27cbcaf4cf169d6ef3 -DIST darktable-usermanual-4.4.uk.pdf 33796107 BLAKE2B 060218ec9b7fbcec947506ea9fdf355411d0b1242d41b9ffb7abd8dd991ece29e75c06231251d2ec2701e319e1b1e8134c08603649fe7e933d21b4aef597f7c3 SHA512 f2a6837a05114d4254fade358382be5fabcbd980a3c4fad702b1102176c7e261fd8646aeef1c0328001da8f7cb25d50b06c9f1163a54987985f556c616728bf5 +DIST darktable-5.0.0.tar.xz 6928316 BLAKE2B 0fd2f6e73d2a78b09c7d7490885301420ceb93230dfc8372be66c165fa76dd51ae4400cb46561abca0a0f3222ab5749d9f3cdb7e4c9822e4bc8ee75fd616da7d SHA512 84ccf8e30911d2d8c3d2fc2e5bd51962701a1d755ff3859da3e630d0d405d00c03ae8a3968ede33ec53a3de5f8b185ffcb9063355f09149573ce01ede15039de DIST darktable-usermanual-4.6.en.pdf 26844087 BLAKE2B 5bdb5e012cd8ba7bace733006136b1f9e510214179e84a9cba0664a3c2e4b19828e2cc54addaf5999579b910b592bf0e9cd9796cf89f3a4e6ae369e8187fbfce SHA512 a1d610c42ae3d1ae4d0bf3e827ed9ccae6faeea20cbc03e7c12d74c3c41175bf3f61d9eba43406b9ba86750edf976c1539357ddf774733f566a076418c34f558 DIST darktable-usermanual-4.6.uk.pdf 27013345 BLAKE2B 4c0da0038576e8ea97da88a4481e1afdf4e5b5df6b8a52475d18b488ac10066db4ef679681a38a194dd84771e340f58beea0450ec60726abd19d600e73fc40f1 SHA512 6e2f036e3f845791aa8b6eb565230136bfb6ae7f9b1ee56a9201cd25bb09391fd2ec45ba7fa1ddd11b4c193ab6b097fae32107af6c11b6cd6eeada60b002d4b3 diff --git a/media-gfx/darktable/darktable-4.6.0.ebuild b/media-gfx/darktable/darktable-4.6.0.ebuild deleted file mode 100644 index 860bbe9e07a7..000000000000 --- a/media-gfx/darktable/darktable-4.6.0.ebuild +++ /dev/null @@ -1,194 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -LUA_COMPAT=( lua5-4 ) - -inherit cmake flag-o-matic lua-single toolchain-funcs xdg - -DESCRIPTION="A virtual lighttable and darkroom for photographers" -HOMEPAGE="https://www.darktable.org/" -LICENSE="GPL-3 CC-BY-3.0" -SLOT="0" - -if [[ ${PV} == *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/darktable-org/${PN}.git" - - LANGS=" af ca cs da de el es fi fr gl he hu it ja nb nl pl pt-BR pt-PT ro ru sk sl sq sv th uk zh-CN zh-TW" -else - #DOC_PV=$(ver_cut 1-2) - DOC_PV="4.4" - MY_PV="${PV/_/}" - MY_P="${P/_/.}" - - SRC_URI="https://github.com/darktable-org/${PN}/releases/download/release-${MY_PV}/${MY_P}.tar.xz - doc? ( - https://docs.darktable.org/usermanual/${DOC_PV}/en/${PN}_user_manual.pdf -> ${PN}-usermanual-${DOC_PV}.en.pdf - l10n_uk? ( - https://docs.darktable.org/usermanual/${DOC_PV}/uk/${PN}_user_manual.pdf - -> ${PN}-usermanual-${DOC_PV}.uk.pdf - ) - )" - - KEYWORDS="amd64 ~arm64 -x86" - LANGS=" cs de es fi fr hu it ja nl pl pt-BR ru sl sq uk zh-CN zh-TW" -fi - -IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi nls opencl openmp openexr test tools webp - ${LANGS// / l10n_}" - -REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )" - -RESTRICT="!test? ( test )" - -# It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite] -# in BDEPEND. This has not been done *on purpose*, for the following reason: -# - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative, -# in BDEPEND too -# - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which -# by default pull in sys-devel/clang -# - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op -# (and curiously enough, empirical observations suggest current versions of Portage are -# more likely to pull in Clang to build darktable with than to request enabling USE=graphite -# on GCC; that might be a bug though) -BDEPEND="dev-util/intltool - virtual/pkgconfig - nls? ( sys-devel/gettext ) - test? ( >=dev-python/jsonschema-3.2.0 )" -DEPEND="dev-db/sqlite:3 - dev-libs/icu:= - dev-libs/json-glib - dev-libs/libxml2:2 - >=dev-libs/pugixml-1.8:= - gnome-base/librsvg:2 - >=media-gfx/exiv2-0.25-r2:=[xmp] - media-libs/lcms:2 - >=media-libs/lensfun-0.2.3:= - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/tiff:= - net-libs/libsoup:2.4 - net-misc/curl - sys-libs/zlib:= - x11-libs/cairo - >=x11-libs/gtk+-3.22:3 - x11-libs/pango - avif? ( >=media-libs/libavif-0.8.2:= ) - colord? ( x11-libs/colord-gtk:= ) - cups? ( net-print/cups ) - gamepad? ( media-libs/libsdl2 ) - geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 ) - keyring? ( >=app-crypt/libsecret-0.18 ) - gphoto2? ( media-libs/libgphoto2:= ) - graphicsmagick? ( media-gfx/graphicsmagick ) - heif? ( media-libs/libheif:= ) - jpeg2k? ( media-libs/openjpeg:2= ) - jpegxl? ( media-libs/libjxl:= ) - lua? ( ${LUA_DEPS} ) - midi? ( media-libs/portmidi ) - opencl? ( virtual/opencl ) - openexr? ( media-libs/openexr:= ) - webp? ( media-libs/libwebp:= )" -RDEPEND="${DEPEND} - kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1:* )" - -PATCHES=( - "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch - "${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch - "${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch - "${FILESDIR}"/${PN}-4.4.2_fix-has-attribute-musl.patch -) - -S="${WORKDIR}/${P/_/~}" - -pkg_pretend() { - if [[ ${MERGE_TYPE} != binary ]]; then - # Bug #695658 - if tc-is-gcc; then - if ! test-flags-CC -floop-block &> /dev/null; then - eerror "Building ${PN} with GCC requires Graphite support." - eerror "Please switch to a version of sys-devel/gcc built with USE=graphite, or use a different compiler." - die "Selected compiler is sys-devel/gcc[-graphite]" - fi - fi - - use openmp && tc-check-openmp - fi -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - use lua && lua-single_pkg_setup -} - -src_prepare() { - use cpu_flags_x86_avx && append-flags -mavx - use cpu_flags_x86_sse3 && append-flags -msse3 - - sed -i -e 's:/appdata:/metainfo:g' data/CMakeLists.txt || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DBUILD_CURVE_TOOLS=$(usex tools) - -DBUILD_NOISE_TOOLS=$(usex tools) - -DBUILD_PRINT=$(usex cups) - -DCUSTOM_CFLAGS=ON - -DDONT_USE_INTERNAL_LUA=ON - -DRAWSPEED_ENABLE_LTO=$(usex lto) - -DRAWSPEED_ENABLE_WERROR=OFF - -DRAWSPEED_MUSL_SYSTEM=$(usex elibc_musl) - -DTESTBUILD_OPENCL_PROGRAMS=OFF - -DUSE_AVIF=$(usex avif) - -DUSE_CAMERA_SUPPORT=$(usex gphoto2) - -DUSE_COLORD=$(usex colord) - -DUSE_GMIC=OFF - -DUSE_GRAPHICSMAGICK=$(usex graphicsmagick) - -DUSE_HEIF=$(usex heif) - -DUSE_JXL=$(usex jpegxl) - -DUSE_KWALLET=$(usex kwallet) - -DUSE_LIBSECRET=$(usex keyring) - -DUSE_LUA=$(usex lua) - -DUSE_MAP=$(usex geolocation) - -DUSE_NLS=$(usex nls) - -DUSE_OPENCL=$(usex opencl) - -DUSE_OPENEXR=$(usex openexr) - -DUSE_OPENJPEG=$(usex jpeg2k) - -DUSE_OPENMP=$(usex openmp) - -DUSE_PORTMIDI=$(usex midi) - -DUSE_SDL2=$(usex gamepad) - -DUSE_WEBP=$(usex webp) - -DWANT_JSON_VALIDATION=$(usex test) - ) - cmake_src_configure -} - -src_install() { - cmake_src_install - # This USE flag is masked for -9999 - use doc && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.*.pdf - - if use nls; then - for lang in ${LANGS} ; do - if ! use l10n_${lang}; then - rm -r "${ED}"/usr/share/locale/${lang/-/_} || die - fi - done - fi -} - -pkg_postinst() { - xdg_pkg_postinst - - elog - elog "When updating a major version," - elog "please bear in mind that your edits will be preserved during this process," - elog "but it will not be possible to downgrade any more." - elog - ewarn "It will not be possible to downgrade!" - ewarn -} diff --git a/media-gfx/darktable/darktable-4.8.0.ebuild b/media-gfx/darktable/darktable-4.8.0-r1.ebuild index b3eeef397175..36af6f4a95c5 100644 --- a/media-gfx/darktable/darktable-4.8.0.ebuild +++ b/media-gfx/darktable/darktable-4.8.0-r1.ebuild @@ -45,10 +45,10 @@ RESTRICT="!test? ( test )" # It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite] # in BDEPEND. This has not been done *on purpose*, for the following reason: -# - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative, +# - darktable can also be built with llvm-core/clang so we'd have to have that, as an alternative, # in BDEPEND too -# - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which -# by default pull in sys-devel/clang +# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which +# by default pull in llvm-core/clang # - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op # (and curiously enough, empirical observations suggest current versions of Portage are # more likely to pull in Clang to build darktable with than to request enabling USE=graphite @@ -69,7 +69,6 @@ DEPEND="dev-db/sqlite:3 media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/tiff:= - net-libs/libsoup:2.4 net-misc/curl sys-libs/zlib:= x11-libs/cairo diff --git a/media-gfx/darktable/darktable-4.6.1.ebuild b/media-gfx/darktable/darktable-5.0.0-r1.ebuild index 43f3c82865fb..12f75aea8309 100644 --- a/media-gfx/darktable/darktable-4.6.1.ebuild +++ b/media-gfx/darktable/darktable-5.0.0-r1.ebuild @@ -9,6 +9,7 @@ inherit cmake flag-o-matic lua-single toolchain-funcs xdg DESCRIPTION="A virtual lighttable and darkroom for photographers" HOMEPAGE="https://www.darktable.org/" +S="${WORKDIR}/${P/_/~}" LICENSE="GPL-3 CC-BY-3.0" SLOT="0" @@ -33,29 +34,28 @@ else )" KEYWORDS="~amd64 ~arm64 -x86" - LANGS=" cs de es fi fr hu it ja nl pl pt-BR ru sl sq tr uk zh-CN zh-TW" + LANGS=" cs de es fi fr ja nl pt-BR sl sq uk zh-CN zh-TW" fi -IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi nls opencl openmp openexr test tools webp +IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi opencl openmp openexr test tools webp ${LANGS// / l10n_}" REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )" - RESTRICT="!test? ( test )" # It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite] # in BDEPEND. This has not been done *on purpose*, for the following reason: -# - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative, +# - darktable can also be built with llvm-core/clang so we'd have to have that, as an alternative, # in BDEPEND too -# - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which -# by default pull in sys-devel/clang +# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which +# by default pull in llvm-core/clang # - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op # (and curiously enough, empirical observations suggest current versions of Portage are # more likely to pull in Clang to build darktable with than to request enabling USE=graphite # on GCC; that might be a bug though) BDEPEND="dev-util/intltool + sys-devel/gettext virtual/pkgconfig - nls? ( sys-devel/gettext ) test? ( >=dev-python/jsonschema-3.2.0 )" DEPEND="dev-db/sqlite:3 dev-libs/icu:= @@ -69,7 +69,6 @@ DEPEND="dev-db/sqlite:3 media-libs/libjpeg-turbo:= media-libs/libpng:= media-libs/tiff:= - net-libs/libsoup:2.4 net-misc/curl sys-libs/zlib:= x11-libs/cairo @@ -98,11 +97,8 @@ PATCHES=( "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch "${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch "${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch - "${FILESDIR}"/${PN}-4.4.2_fix-has-attribute-musl.patch ) -S="${WORKDIR}/${P/_/~}" - pkg_pretend() { if [[ ${MERGE_TYPE} != binary ]]; then # Bug #695658 @@ -155,7 +151,6 @@ src_configure() { -DUSE_LIBSECRET=$(usex keyring) -DUSE_LUA=$(usex lua) -DUSE_MAP=$(usex geolocation) - -DUSE_NLS=$(usex nls) -DUSE_OPENCL=$(usex opencl) -DUSE_OPENEXR=$(usex openexr) -DUSE_OPENJPEG=$(usex jpeg2k) @@ -176,13 +171,11 @@ src_install() { use l10n_uk && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.uk.pdf fi - if use nls; then - for lang in ${LANGS} ; do - if ! use l10n_${lang}; then - rm -r "${ED}"/usr/share/locale/${lang/-/_} || die - fi - done - fi + for lang in ${LANGS} ; do + if ! use l10n_${lang}; then + rm -r "${ED}"/usr/share/locale/${lang/-/_} || die + fi + done } pkg_postinst() { diff --git a/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch b/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch deleted file mode 100644 index 0aad42605c9e..000000000000 --- a/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/common/darktable.h -+++ b/src/common/darktable.h -@@ -140,7 +140,7 @@ extern "C" { - /* Create cloned functions for various CPU SSE generations */ - /* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */ - /* TL;DR : use only on SIMD functions containing low-level paralellized/vectorized loops */ --#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) -+#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && defined(__GLIBC__) - # if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64) - #define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4"))) - # elif defined(__PPC64__) diff --git a/media-gfx/digikam/Manifest b/media-gfx/digikam/Manifest index 8bfc5ec254a6..0c951842845e 100644 --- a/media-gfx/digikam/Manifest +++ b/media-gfx/digikam/Manifest @@ -1,2 +1 @@ -DIST digiKam-8.4.0.tar.xz 58025616 BLAKE2B 33441e023cd9d6edba2e7c01e482a6eea7a6b1972b6bad0fc804fb3e94f97cc62e2663690137b2445fb7043789b7e942d830b71209385de77ccffe57d22d09ff SHA512 4342d18a7c04ab239821de3cf908f8e7d676598778f0174164aa336e8cfdc0a76327d31c64e6c4e47dcf0d6fbef46b01918312e4622ce3359888a9a94948a22b -DIST digikam-8.4.0-patchset.tar.xz 11904 BLAKE2B 6ab167cae66710505eb81bb538fde2a81458b6580bf8c70d0c28500ca81a3c9c9b9e0a12ca288a4dc6f39ae1a175f7b2bd09e4d94624337348084c228eafcc38 SHA512 df1199d3aaecc0afc032090424af69c031e95afba1fed70b00cf61c5ef52fa2a7c3d97918592c167f9ea918dd2823e4cc52f12a470a9eede815b3ff43314001b +DIST digiKam-8.5.0.tar.xz 62028432 BLAKE2B ef061b73e72d9b2ad3da361fcdd3e27a4758b1ef837adde1a405cfbd759cc950d373464765f5ff07f36e8457c6c9c15550002e3ebd94215b154d2c51723192ee SHA512 5610f0173043e29a2b5ff62b2ed2c2bea79e10cd20a0c2416ebb425457cee55aa8b8d575ba57e8e188a899cc909516ea05e6c80e73e3316742cc9e8119855509 diff --git a/media-gfx/digikam/digikam-8.4.0-r11.ebuild b/media-gfx/digikam/digikam-8.5.0-r1.ebuild index ab9884b9b338..4c3b3f8ba5ce 100644 --- a/media-gfx/digikam/digikam-8.4.0-r11.ebuild +++ b/media-gfx/digikam/digikam-8.5.0-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,8 +9,7 @@ inherit ecm kde.org toolchain-funcs DESCRIPTION="Digital photo management application" HOMEPAGE="https://www.digikam.org/" -SRC_URI="mirror://kde/stable/${PN}/${PV}/digiKam-${PV/_/-}.tar.xz - https://dev.gentoo.org/~asturm/distfiles/${P}-patchset.tar.xz" +SRC_URI="mirror://kde/stable/${PN}/${PV}/digiKam-${PV/_/-}.tar.xz" LICENSE="GPL-2" SLOT="0" @@ -20,9 +19,10 @@ IUSE="addressbook calendar geolocation gphoto2 heif +imagemagick jpegxl +lensfun # bug 366505 RESTRICT="test" +# slot op: Uses Qt::GuiPrivate for qtx11extras_p.h COMMON_DEPEND=" dev-libs/expat - >=dev-qt/qtbase-${QTMIN}:6[concurrent,dbus,-gles2-only,gui,mysql?,network,opengl,sql,widgets,xml] + >=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,-gles2-only,gui,mysql?,network,opengl,sql,widgets,X,xml] >=dev-qt/qtnetworkauth-${QTMIN}:6 >=dev-qt/qtscxml-${QTMIN}:6 >=dev-qt/qtsvg-${QTMIN}:6 @@ -90,9 +90,7 @@ BDEPEND=" PATCHES=( "${FILESDIR}/${PN}-8.4.0-cmake.patch" "${FILESDIR}/${PN}-8.3.0-cmake-addressbook.patch" - # bug 936507; KDE-bugs 488662, 490611, 491007, 490484, 490821, - # 490859, 490828, 490690, 490552, 490385, 489751, 490128 - "${WORKDIR}/${P}-patchset" + "${FILESDIR}/${P}-cmake-have_ksane.patch" # bug 947312 ) pkg_pretend() { @@ -106,6 +104,8 @@ pkg_setup() { } # FIXME: Unbundle libraw (libs/rawengine/libraw) +# TODO: adding IUSE X requires upstreaming WITH_X11 option for libX11, +# see core/cmake/rules/RulesX11.cmake; only used in core/libs/dimg/filters/icc src_configure() { local mycmakeargs=( -DBUILD_WITH_QT6=ON diff --git a/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch b/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch new file mode 100644 index 000000000000..9099b2f37468 --- /dev/null +++ b/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch @@ -0,0 +1,28 @@ +diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt +index 2cef54510c..95e33cfc2f 100644 +--- a/core/CMakeLists.txt ++++ b/core/CMakeLists.txt +@@ -201,7 +201,11 @@ MACOS_DEBUG_POLICIES() + message(STATUS "--------------------------------------------------") + message(STATUS "") + ++if(Qt6_FOUND) ++MACRO_BOOL_TO_01(KSaneWidgets6_FOUND HAVE_KSANE) ++else() + MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}Sane_FOUND HAVE_KSANE) ++endif() + MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}FileMetaData_FOUND HAVE_KFILEMETADATA) + MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}CalendarCore_FOUND HAVE_KCALENDAR) + MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}Notifications_FOUND HAVE_KNOTIFICATIONS) +@@ -294,7 +302,11 @@ PRINT_OPTIONAL_LIBRARY_STATUS("libkio" "https://invent.kde.org/framew + PRINT_OPTIONAL_LIBRARY_STATUS("libknotifications" "https://invent.kde.org/frameworks/knotifyconfig" "(version >= ${KF${QT_VERSION_MAJOR}_MIN_VERSION})" "digiKam will be compiled without KDE desktop notifications support." KF${QT_VERSION_MAJOR}Notifications_FOUND) + PRINT_OPTIONAL_LIBRARY_STATUS("libknotifyconfig" "https://invent.kde.org/frameworks/knotifications" "(version >= ${KF${QT_VERSION_MAJOR}_MIN_VERSION})" "digiKam will be compiled without KDE desktop notify configuration support." KF${QT_VERSION_MAJOR}NotifyConfig_FOUND) + PRINT_OPTIONAL_LIBRARY_STATUS("libsonnet" "https://invent.kde.org/frameworks/sonnet" "(version >= ${KF${QT_VERSION_MAJOR}_MIN_VERSION})" "digiKam will be compiled without spell-checking support." KF${QT_VERSION_MAJOR}Sonnet_FOUND) ++if(Qt6_FOUND) ++PRINT_OPTIONAL_LIBRARY_STATUS("libksane" "https://invent.kde.org/graphics/libksane" "(version >= ${KSANE_MIN_VERSION})" "digiKam will be compiled without flat scanners support." KSaneWidgets6_FOUND) ++else() + PRINT_OPTIONAL_LIBRARY_STATUS("libksane" "https://invent.kde.org/graphics/libksane" "(version >= ${KSANE_MIN_VERSION})" "digiKam will be compiled without flat scanners support." KF${QT_VERSION_MAJOR}Sane_FOUND) ++endif() + PRINT_OPTIONAL_LIBRARY_STATUS("liblensfun" "https://github.com/lensfun/lensfun" "(version >= 0.2.6)" "digiKam will be compiled without Lens Auto Correction tool support." LensFun_FOUND) + PRINT_OPTIONAL_LIBRARY_STATUS("libglib2" "https://developer.gnome.org/glib/" "(version >= 2.0.0)" "digiKam will be compiled without Contents Aware Resizer tool support." GLIB2_FOUND) + diff --git a/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild b/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild index 109b429e2424..07b3b2dc1fd0 100644 --- a/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild +++ b/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild @@ -14,9 +14,7 @@ S=${WORKDIR}/enblend LICENSE="GPL-2+ FDL-1.2+" SLOT="0" KEYWORDS="amd64 arm64 x86" -IUSE="cpu_flags_x86_sse2 debug doc openmp tcmalloc" - -REQUIRED_USE="tcmalloc? ( !debug )" +IUSE="cpu_flags_x86_sse2 doc openmp tcmalloc" BDEPEND=" sys-apps/help2man @@ -40,7 +38,6 @@ RDEPEND=" media-libs/tiff:= media-libs/vigra[openexr] sci-libs/gsl:= - debug? ( dev-libs/dmalloc[threads] ) tcmalloc? ( dev-util/google-perftools ) " DEPEND="${RDEPEND} @@ -65,7 +62,7 @@ src_prepare() { src_configure() { local mycmakeargs=( -DENABLE_SSE2=$(usex cpu_flags_x86_sse2) - -DENABLE_DMALLOC=$(usex debug) + -DENABLE_DMALLOC=no -DDOC=$(usex doc) -DENABLE_OPENMP=$(usex openmp) -DENABLE_TCMALLOC=$(usex tcmalloc) diff --git a/media-gfx/eog-plugins/eog-plugins-44.1.ebuild b/media-gfx/eog-plugins/eog-plugins-44.1.ebuild index ac59330849d4..534a54e42420 100644 --- a/media-gfx/eog-plugins/eog-plugins-44.1.ebuild +++ b/media-gfx/eog-plugins/eog-plugins-44.1.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/eog-plugins" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 x86" IUSE="+exif map +python test" RESTRICT="!test? ( test )" diff --git a/media-gfx/eog/Manifest b/media-gfx/eog/Manifest index 1a9407e023a9..dba902d19893 100644 --- a/media-gfx/eog/Manifest +++ b/media-gfx/eog/Manifest @@ -1,2 +1,2 @@ -DIST eog-45.3.tar.xz 4656744 BLAKE2B ceebd9890da926ec7caea916ce2e4483fb398f1b5270f0a210bfc97fb844669ca8416a10cc020f145f8e0b1d2e5e2fd85dcaa4d948312e42b40c0850d657f988 SHA512 21693d659a5eb25bdec968266d7e6a1a6988bcec0bf5c3d914b098001ed4a8e64d7ff628181072fb1aabec1b89b56ed5e7c85e3b06ec79be1c9d7cf1c57d3145 DIST eog-45.4.tar.xz 4657420 BLAKE2B 422e9d9cfffe81fdd3af4948f371c11fcd6a2fba50df78469267747314cdcc840763a7057566c5e43c6eee9a0175e9dfaa1916736cfbef6d879076b9f2c11fcc SHA512 eb49d9c78b6e3d66eb20a714c2ebf5aad5c5547c2ca86e5c51e4b7f3c4c3bae5c4c356cec4c5815cc11d91c38ace58c00ea25c406de8cd9bf39a0ec65188baf8 +DIST eog-47.0.tar.xz 4658256 BLAKE2B 8e1162c3ca5ee89605eb8d6b616f3e2d034725948a32f568e3f1608247d6e35b67ad98351b5a0396b72031c0c3e1bcfa5f9e97f7e159e6020b7c7ba6c23a204a SHA512 5a3907988031360c53d7a2c9ba8c5e1c03c714f41f55bb980414e35591d522f32d9ae1c9e6c0ac6ca58e559074cd060572225417e30f39281a8f93473ec42159 diff --git a/media-gfx/eog/eog-45.4.ebuild b/media-gfx/eog/eog-45.4.ebuild index 827642bb01f7..37c9ad56a731 100644 --- a/media-gfx/eog/eog-45.4.ebuild +++ b/media-gfx/eog/eog-45.4.ebuild @@ -11,7 +11,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/eog" LICENSE="GPL-2+" SLOT="1" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86" IUSE="+exif gtk-doc +introspection +jpeg lcms +svg xmp tiff" REQUIRED_USE=" diff --git a/media-gfx/eog/eog-45.3.ebuild b/media-gfx/eog/eog-47.0.ebuild index d200bb7d2e69..176f838354cb 100644 --- a/media-gfx/eog/eog-45.3.ebuild +++ b/media-gfx/eog/eog-47.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -6,19 +6,19 @@ EAPI=8 inherit gnome.org gnome2-utils meson xdg DESCRIPTION="The Eye of GNOME image viewer" -HOMEPAGE="https://wiki.gnome.org/Apps/EyeOfGnome https://gitlab.gnome.org/GNOME/eog" +HOMEPAGE="https://gitlab.gnome.org/GNOME/eog" LICENSE="GPL-2+" SLOT="1" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + IUSE="+exif gtk-doc +introspection +jpeg lcms +svg xmp tiff" REQUIRED_USE=" exif? ( jpeg ) gtk-doc? ( introspection ) " -KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86" - RDEPEND=" >=dev-libs/glib-2.73.2:2 >=dev-libs/libpeas-0.7.4:0[gtk] diff --git a/media-gfx/eom/eom-1.28.0-r2.ebuild b/media-gfx/eom/eom-1.28.0-r2.ebuild index 10c964ed3f26..81c1360b9e0a 100644 --- a/media-gfx/eom/eom-1.28.0-r2.ebuild +++ b/media-gfx/eom/eom-1.28.0-r2.ebuild @@ -7,7 +7,7 @@ inherit gnome2 mate optfeature MINOR=$(($(ver_cut 2) % 2)) if [[ ${MINOR} -eq 0 ]]; then - KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86" + KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86" fi DESCRIPTION="The MATE image viewer" diff --git a/media-gfx/exact-image/exact-image-1.2.1-r2.ebuild b/media-gfx/exact-image/exact-image-1.2.1-r2.ebuild index 09f63e97b42e..5d41f6680a15 100644 --- a/media-gfx/exact-image/exact-image-1.2.1-r2.ebuild +++ b/media-gfx/exact-image/exact-image-1.2.1-r2.ebuild @@ -13,7 +13,7 @@ SRC_URI="http://dl.exactcode.de/oss/${PN}/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="amd64 ~x86" IUSE="expat jpeg jpegxl lua openexr perl png swig tiff truetype X" REQUIRED_USE="lua? ( swig ) perl? ( swig )" # Tests are broken; 'make check' fails and referenced testsuite dir not found diff --git a/media-gfx/flameshot/Manifest b/media-gfx/flameshot/Manifest index e735adbfa0b3..fa5dda25de88 100644 --- a/media-gfx/flameshot/Manifest +++ b/media-gfx/flameshot/Manifest @@ -1,4 +1 @@ -DIST flameshot-0.10.2.tar.gz 7726687 BLAKE2B c7c7402d0cb6234473018571e67c39aebec3b4afa398fc2ef590f64527980ca218b1ebd8228ea47a3f9fd76e0edc2f8e1662965f79817bf6461bf0fc64d8b692 SHA512 b0eb1decd87dab1d4a375708448dd4c6f85c101d33814b76edbb328150d0e9ee7a588be698fddcb24e70e39cd4331f9aa2ff082525ff6975d52303a6d9c1ab12 -DIST flameshot-11.0.0.tar.gz 12662479 BLAKE2B 1adef0196a449c33ea57ecd214ad890f44a8530c9c1116d5bdc29074835c040c8fbbec207501e597fb09887ab1e80e937e8412acdc7eb38c8619aa993f986018 SHA512 de13f3c5bc18f164c6e37c0b3f42c8693d3ebfaba5f3d54360899df6479390e2a0c38970fa2595c9293304b4e52ca2198477f4f317abcb11df4c30a24ab1909f -DIST flameshot-12.0.0.tar.gz 15617684 BLAKE2B 0c878c1efae7b1dd7fccc50471bb810bbf6067bcb1fe26b73965d4f5a78e514e33d74f4a0c28e68ff4e15875ec5d6f9eccfc91ee1635b6e0d31bb50133182277 SHA512 8a7d0878ff57f9c3fcb12791c33f2c11de08b057a68bb50684dd9195fbba8557e71236bc4f8a5f50062af021ed970d5b4362fc2bfdc90415143d7597c3df50f0 DIST flameshot-12.1.0.tar.gz 15618560 BLAKE2B 975019d71a31f32785f081a05d224f72927628a1142697ba7ef9646f65d2cf1dcb5457633522143201716fe20a320224c95047904408dc411975c3e711e48002 SHA512 159bf3a8ff406b3881dcc77fc48d9e7cc0d595bd47ee2363396d7efc95f69160cf25ccf99cd1b2c2b527baeadf91c209784a7bca23ed5f17caacc385e161c83c diff --git a/media-gfx/flameshot/flameshot-0.10.2.ebuild b/media-gfx/flameshot/flameshot-0.10.2.ebuild deleted file mode 100644 index 9edb962ea42d..000000000000 --- a/media-gfx/flameshot/flameshot-0.10.2.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg - -DESCRIPTION="Powerful yet simple to use screenshot software" -HOMEPAGE="https://flameshot.org https://github.com/flameshot-org/flameshot" -SRC_URI="https://github.com/flameshot-org/flameshot/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 Free-Art-1.3 GPL-3+" -SLOT="0" -KEYWORDS="amd64 x86" - -DEPEND=" - dev-qt/qtcore:5 - dev-qt/qtgui:5 - =dev-qt/qtsingleapplication-2.6*[qt5(+),X] - dev-qt/qtwidgets:5 - dev-qt/qtsvg:5 - dev-qt/qtnetwork:5 - dev-qt/qtdbus:5 - sys-apps/dbus - dev-libs/spdlog:= -" -BDEPEND=" - dev-qt/linguist-tools:5 -" -RDEPEND="${DEPEND}" - -src_prepare() { - rm -r external/spdlog || die - rm -r external/singleapplication || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DUSE_EXTERNAL_SPDLOG=1 - -DUSE_EXTERNAL_SINGLEAPPLICATION=1 - -DENABLE_CACHE=0 - ) - - cmake_src_configure -} diff --git a/media-gfx/flameshot/flameshot-11.0.0.ebuild b/media-gfx/flameshot/flameshot-11.0.0.ebuild deleted file mode 100644 index cccbfdf33cd5..000000000000 --- a/media-gfx/flameshot/flameshot-11.0.0.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 2021-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg - -DESCRIPTION="Powerful yet simple to use screenshot software" -HOMEPAGE="https://flameshot.org https://github.com/flameshot-org/flameshot" -SRC_URI="https://github.com/flameshot-org/flameshot/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 Free-Art-1.3 GPL-3+" -SLOT="0" -KEYWORDS="~amd64 ~x86" - -DEPEND=" - dev-qt/qtcore:5 - dev-qt/qtgui:5 - =dev-qt/qtsingleapplication-2.6*[qt5(+),X] - dev-qt/qtwidgets:5 - dev-qt/qtsvg:5 - dev-qt/qtnetwork:5 - dev-qt/qtdbus:5 - sys-apps/dbus -" -BDEPEND=" - dev-qt/linguist-tools:5 -" -RDEPEND="${DEPEND}" - -src_prepare() { - rm -r external/singleapplication || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DUSE_EXTERNAL_SINGLEAPPLICATION=1 - -DENABLE_CACHE=0 - ) - - cmake_src_configure -} diff --git a/media-gfx/flameshot/flameshot-12.0.0-r2.ebuild b/media-gfx/flameshot/flameshot-12.0.0-r2.ebuild deleted file mode 100644 index 708edafe52aa..000000000000 --- a/media-gfx/flameshot/flameshot-12.0.0-r2.ebuild +++ /dev/null @@ -1,47 +0,0 @@ -# Copyright 2021-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -inherit cmake xdg - -DESCRIPTION="Powerful yet simple to use screenshot software" -HOMEPAGE="https://flameshot.org https://github.com/flameshot-org/flameshot" -SRC_URI="https://github.com/flameshot-org/flameshot/archive/v${PV}.tar.gz -> ${P}.tar.gz" - -LICENSE="Apache-2.0 Free-Art-1.3 GPL-3+" -SLOT="0" -KEYWORDS="~amd64 ~x86" -IUSE="wayland" - -DEPEND=" - =dev-qt/qtsingleapplication-2.6*[qt5(+),X] - dev-qt/qtcore:5 - dev-qt/qtdbus:5 - dev-qt/qtgui:5 - dev-qt/qtnetwork:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - sys-apps/dbus - wayland? ( kde-frameworks/kguiaddons:5 ) -" -BDEPEND=" - dev-qt/linguist-tools:5 -" -RDEPEND="${DEPEND}" - -src_prepare() { - rm -r external/singleapplication || die - - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DUSE_EXTERNAL_SINGLEAPPLICATION=1 - -DENABLE_CACHE=0 - -DUSE_WAYLAND_CLIPBOARD=$(usex wayland) - ) - - cmake_src_configure -} diff --git a/media-gfx/fotema/Manifest b/media-gfx/fotema/Manifest index cc3fce6ad625..3cfbef6d681d 100644 --- a/media-gfx/fotema/Manifest +++ b/media-gfx/fotema/Manifest @@ -1,3 +1,6 @@ -DIST fotema-1.14.2.tar.xz 78468972 BLAKE2B 59974a873381dd40cf80f274bb2fcd3763fbf946f168491e25f76f56c1646754b7cf49dd174a25726133fd774d04a9cee370c81d3c01f9d276e588d42b232f82 SHA512 27d96b0a47e312b2a7674f140646f24785dbfae47ea1bde74630fbb979946f23b1e1f5fab5ba20edb38ef91790003e138dcf4043ff371e3bf458c691dfd2db56 -DIST fotema-1.14.3.tar.xz 78412372 BLAKE2B 821ebb70e14e3e0d1a72ab712ecfe50da2299c2050593af0d6c64a2fc04ae904d56a4448fbcc022e9c7b1604e7a7ed8e55d8cba34aae4f1e6023fdea221a1c6d SHA512 461b84de9b4636cfed2d4e5132e18c831341cbddf8decfc856f85fa18fa7e4ead9d4d210a6795e077f7b7532aca51fc7835cd648cd9d7f7d8f9cc17e18b1f7e6 DIST fotema-1.14.4.tar.xz 78458268 BLAKE2B 4f8cc8f1ba3df27eca16b41e11ae947fe15b83321bc2da23f01a16012d862999a0cf6572353bc74cf2868a91404b199712b4f4d9df63ed87970469d57bb5be16 SHA512 189638c8d7e4466b1318ec06324cd1bfb3eaa36b9b7116b7e44a654d4cd09fb38961c0a5fa02469180f66844614555773e2306becd590eb7b8ba8fb074e9c3cc +DIST fotema-1.18.3-crates.tar.xz 62354556 BLAKE2B 6b8af1e6edf5efb751f60803b27e8001d916854bd7cdcf4e9a06bc21cfdd856e80ee58cc59fbd7750da5f159f3b231c597f4660534b65cb38dcc7421cd24213f SHA512 811df7a370b500c1e1cb8e9218026bb30b17da3860a88d8972601459c9c54101c18a59885040a2306ccc7c18081a1c3e7148ebb8b9bd48d3dfdba86157345192 +DIST fotema-1.18.3.gh.tar.gz 8947271 BLAKE2B 7e1ba24aa38b1bd8b1e8291fa0bfcb7aad5d36f366bb5a0cc7114c5d72cef3083918f6a28cfcee713bf8e079822ee61146e1ee508dd0740f53591878078534aa SHA512 fa8bee36328b5a261eef7e1ef123dab724fb7521e77c5b8e3e4104d0693d4a16b486cc9f19149b6e4aeae8c598f910214a72c3d5ddb93cc1f74848f2100f66ec +DIST fotema-1.19.0-crates.tar.xz 62327412 BLAKE2B 099677191ca1634288d9f4e6055ddfaa3e6562d96fcd06dcc51aa1cb49fed648a61f60f2d47ac51c4fd97a8a238a8f064a8f9990768e2160fd9e002b4ffb978a SHA512 11b7510aae15359e0b2bb95a7e5b4b973f1438328f8fea075264bfb16da50876c4bec5bd82c0af965c8fc9bb5c2d1126c03c077ebd0d1cda704e6b89daf504c2 +DIST fotema-1.19.0.gh.tar.gz 8950038 BLAKE2B 131c013515b11ac068944e9d3c7e4ae1809ed75bf6d7d1eebdf10c09498d519363ab2b0d35b07a6f11c3e221d8665adf289ce9ff3f820585dd97b2065a5c1322 SHA512 4750028bd30a46f37a6ca85ff9d005dd99c4d4a0d1c0df60baadc094d9630bafeff21e898543c9ef41c612237fdfbe642f7abbbcb1fbd4c8c6d3dbed369f420f +DIST fotema-rust-faces-43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e.gh.tar.gz 839519 BLAKE2B 7ba344d55c5d108e63556dda32aaf60cfbd2b14a05e2965ca69e54e2aab578f6ba49f7a7b89d6c32cb5ace4b80f7a84247dcbb43a98d5d709895810798966b0b SHA512 aac99659e2d82d342f52b5860d9f1e284e1658fa9e0986b1c54a81cc33f6391535a2773d79defc6a7bf1e52591dc91d91a1ef3742c38e599baed79975b42de51 diff --git a/media-gfx/fotema/fotema-1.14.2-r1.ebuild b/media-gfx/fotema/fotema-1.14.4-r1.ebuild index 34219ad68ea2..34219ad68ea2 100644 --- a/media-gfx/fotema/fotema-1.14.2-r1.ebuild +++ b/media-gfx/fotema/fotema-1.14.4-r1.ebuild diff --git a/media-gfx/fotema/fotema-1.14.4.ebuild b/media-gfx/fotema/fotema-1.18.3.ebuild index 34219ad68ea2..33bdf6a09676 100644 --- a/media-gfx/fotema/fotema-1.14.4.ebuild +++ b/media-gfx/fotema/fotema-1.18.3.ebuild @@ -1,27 +1,47 @@ -# Copyright 2024 Gentoo Authors +# Copyright 2024-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +CRATES=" +" + +declare -A GIT_CRATES=( + [rust-faces]='https://github.com/blissd/fotema-rust-faces;43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e;fotema-rust-faces-%commit%' +) + inherit cargo gnome2-utils meson xdg-utils +CRATE_P=${P} DESCRIPTION="Photo gallery for Linux" HOMEPAGE="https://github.com/blissd/fotema" SRC_URI=" - https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz + https://github.com/blissd/fotema/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} " +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-crates.tar.xz + " +fi # see LICENSES/ LICENSE=" CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 FDL-1.3+ GPL-3+ MIT " +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC MIT + MPL-2.0 Unicode-3.0 WTFPL-2 ZLIB +" SLOT="0" KEYWORDS="~amd64" DEPEND=" >=dev-libs/glib-2.66:2 - >=gui-libs/gtk-4.0.0:4 + >=gui-libs/gtk-4.16:4 " # indirect deps via crates DEPEND+=" @@ -47,27 +67,9 @@ BDEPEND=" dev-libs/glib:2 " -ECARGO_VENDOR=${S}/vendor - QA_FLAGS_IGNORED="/usr/bin/fotema" -src_prepare() { - default - - # patch the dependency on flatpak-spawn out (sigh) - find "${S}"/{core,src} -name '*.rs' \ - -exec sed -i -e '/FlatpakSpawn/d' {} + || die -} - src_configure() { - cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die - - [source."git+https://github.com/blissd/rust-faces.git?branch=patch"] - git = "https://github.com/blissd/rust-faces.git" - branch = "patch" - replace-with = "gentoo" - EOF - local emesonargs=( -Dprofile=$(usex debug development default) ) diff --git a/media-gfx/fotema/fotema-1.14.3.ebuild b/media-gfx/fotema/fotema-1.19.0.ebuild index 34219ad68ea2..33bdf6a09676 100644 --- a/media-gfx/fotema/fotema-1.14.3.ebuild +++ b/media-gfx/fotema/fotema-1.19.0.ebuild @@ -1,27 +1,47 @@ -# Copyright 2024 Gentoo Authors +# Copyright 2024-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +CRATES=" +" + +declare -A GIT_CRATES=( + [rust-faces]='https://github.com/blissd/fotema-rust-faces;43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e;fotema-rust-faces-%commit%' +) + inherit cargo gnome2-utils meson xdg-utils +CRATE_P=${P} DESCRIPTION="Photo gallery for Linux" HOMEPAGE="https://github.com/blissd/fotema" SRC_URI=" - https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz + https://github.com/blissd/fotema/archive/v${PV}.tar.gz + -> ${P}.gh.tar.gz + ${CARGO_CRATE_URIS} " +if [[ ${PKGBUMPING} != ${PVR} ]]; then + SRC_URI+=" + https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-crates.tar.xz + " +fi # see LICENSES/ LICENSE=" CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0 FDL-1.3+ GPL-3+ MIT " +# Dependent crate licenses +LICENSE+=" + Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC MIT + MPL-2.0 Unicode-3.0 WTFPL-2 ZLIB +" SLOT="0" KEYWORDS="~amd64" DEPEND=" >=dev-libs/glib-2.66:2 - >=gui-libs/gtk-4.0.0:4 + >=gui-libs/gtk-4.16:4 " # indirect deps via crates DEPEND+=" @@ -47,27 +67,9 @@ BDEPEND=" dev-libs/glib:2 " -ECARGO_VENDOR=${S}/vendor - QA_FLAGS_IGNORED="/usr/bin/fotema" -src_prepare() { - default - - # patch the dependency on flatpak-spawn out (sigh) - find "${S}"/{core,src} -name '*.rs' \ - -exec sed -i -e '/FlatpakSpawn/d' {} + || die -} - src_configure() { - cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die - - [source."git+https://github.com/blissd/rust-faces.git?branch=patch"] - git = "https://github.com/blissd/rust-faces.git" - branch = "patch" - replace-with = "gentoo" - EOF - local emesonargs=( -Dprofile=$(usex debug development default) ) diff --git a/media-gfx/fotocx/Manifest b/media-gfx/fotocx/Manifest index b79409e7262d..f8d1cd9a224c 100644 --- a/media-gfx/fotocx/Manifest +++ b/media-gfx/fotocx/Manifest @@ -1,2 +1,4 @@ DIST fotocx-24.50-source.tar.gz 16197289 BLAKE2B 468a3cd7ef2cee5a65d2a06283732e0994f9eeb823ed2fd02e319c68f7cb4686a33fbc61e85eaeb8bdd2c7455d1cebada49d0da6004007ad15333b1c39050768 SHA512 3f30b4efb43313980a1be8b92e66c8260484e10a3e50c5351d5462004fe6e5685ecd39be263fbd85bde495a5f1c539bd262124478516d8ddcd40420fa6de699e DIST fotocx-24.60-source.tar.gz 15771741 BLAKE2B 89ab212cdaeb414637ad0b3c9833b0caea6c805422e3fccdd027912f1d32ed141cedaeb5826212e36e5b40591e40c85816ecc5d3cff7915693e11e78b962b890 SHA512 6a04e0d749865000b67497b897f691a5882c0d63dda8c64ffe824215582db051f9cc0ca528490112f26db41a58f1673affe2e2e55c90dbb9e6f24cef77e4d5d6 +DIST fotocx-24.70-source.tar.gz 15771508 BLAKE2B 74343ee57a0611b470794ae211ac4923744ab5619895234b50ccf00e88d9fe4f15aa94a83112acbf160a5e0c2befbef070da258500d17f240f8ccd467784c8e5 SHA512 1b7b160ede154a80251ffd6935b8a10767e70fcb87e2071899ee1a8228c8d816323d947a631320d525f6a37768c32bcc2a998a30ee2ac4e1769354a85a0f7f27 +DIST fotocx-25.0-source.tar.gz 15651266 BLAKE2B e6330541a3a0d341055a326b0ab4e3cc7b79bd80ea1cebab7303302e3ec519fb732f1604fe4fce87de4a9690f0da1399a700a5400c7596bf4810c03a469cd768 SHA512 3f4dfdfdd5190599d7294ff10364f382effab5ccc8dde712b467e925c5823cd03bf67a5e85cad2177a194e49431d21b846eed2648a45a8855e922006f69cd4d8 diff --git a/media-gfx/fotocx/fotocx-24.70.ebuild b/media-gfx/fotocx/fotocx-24.70.ebuild new file mode 100644 index 000000000000..8eee122865a7 --- /dev/null +++ b/media-gfx/fotocx/fotocx-24.70.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit optfeature xdg-utils + +DESCRIPTION="Program for improving image files made with a digital camera" +HOMEPAGE="https://kornelix.net/fotocx/fotocx.html" +SRC_URI="https://kornelix.net/downloads/downloads/${P}-source.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# For required dependencies read doc/README, for required tools read +# data/userguide [INSTALLATION]. xdg-open (x11-misc/xdg-utils) is an +# alternative to firefox and chromium-browser. `grep '"which ' * -R` +# is helpful to report some required tools run via the shell. + +DEPEND=" + media-libs/clutter + media-libs/clutter-gtk + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/tiff:= + media-libs/libchamplain[gtk] + x11-libs/gtk+:3" +RDEPEND=" + ${DEPEND} + media-gfx/dcraw + media-libs/exiftool + x11-misc/xdg-utils +" + +PATCHES=( "${FILESDIR}/${PN}-24.20-documentation.patch" ) + +DOCS=() +HTML_DOCS=() + +src_prepare() { + sed -i -e "/^DOCDIR/ s/${PN}$/${PF}/" Makefile || die + sed -i -e "/^Icon/ s/\.png$//" ${PN}.desktop || die + default +} + +src_install() { + # For the Help menu items to work, *.html must be in /usr/share/doc/${PF}, + # and README, changelog, copyright, license, etc. must not be compressed. + emake DESTDIR="${D}" PREFIX="/usr" install + rm -f "${D}"/usr/share/doc/${PF}/*.man || die + docompress -x /usr/share/doc +} + +pkg_postinst() { + optfeature "HEIC & AVIF file support" media-libs/libheif + optfeature "additional RAW file support" media-gfx/rawtherapee + optfeature "additional RAW file support" media-gfx/darktable + optfeature "video thumbnails & playback" media-video/ffmpeg + optfeature "copying images to optical media" app-cdr/dvd+rw-tools + optfeature "WEBP file support" media-libs/libwebp + + elog + elog "Please read the Help > User Guide for details. The source location is" + elog "/usr/share/fotocx/data/userguide and after running fotocx a copy will" + elog "be placed at /home/<user>/.fotocx/userguide." + elog + elog "To play videos, in Tools > Preferences set 'Video File Play Command'." + elog + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/media-gfx/fotocx/fotocx-25.0.ebuild b/media-gfx/fotocx/fotocx-25.0.ebuild new file mode 100644 index 000000000000..8c904f825206 --- /dev/null +++ b/media-gfx/fotocx/fotocx-25.0.ebuild @@ -0,0 +1,79 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit optfeature xdg-utils + +DESCRIPTION="Program for improving image files made with a digital camera" +HOMEPAGE="https://kornelix.net/fotocx/fotocx.html" +SRC_URI="https://kornelix.net/downloads/downloads/${P}-source.tar.gz" +S="${WORKDIR}/${PN}" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~arm64 ~x86" + +# For required dependencies read doc/README, for required tools read +# data/userguide [INSTALLATION]. xdg-open (x11-misc/xdg-utils) is an +# alternative to firefox and chromium-browser. `grep '"which ' * -R` +# is helpful to report some required tools run via the shell. + +DEPEND=" + media-libs/clutter + media-libs/clutter-gtk + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/tiff:= + media-libs/libchamplain[gtk] + x11-libs/gtk+:3" +RDEPEND=" + ${DEPEND} + media-gfx/dcraw + media-libs/exiftool + x11-misc/xdg-utils +" + +PATCHES=( "${FILESDIR}/${PN}-24.20-documentation.patch" ) + +DOCS=() +HTML_DOCS=() + +src_prepare() { + sed -i -e "/^DOCDIR/ s/${PN}$/${PF}/" Makefile || die + sed -i -e "/^Icon/ s/\.png$//" ${PN}.desktop || die + default +} + +src_install() { + # For the Help menu items to work, *.html must be in /usr/share/doc/${PF}, + # and README, changelog, copyright, license, etc. must not be compressed. + emake DESTDIR="${D}" PREFIX="/usr" install + rm -f "${D}"/usr/share/doc/${PF}/*.man || die + docompress -x /usr/share/doc +} + +pkg_postinst() { + optfeature "HEIC & AVIF file support" media-libs/libheif + optfeature "additional RAW file support" media-gfx/rawtherapee + optfeature "additional RAW file support" media-gfx/darktable + optfeature "video thumbnails & playback" media-video/ffmpeg + optfeature "copying images to optical media" app-cdr/dvd+rw-tools + optfeature "WEBP file support" media-libs/libwebp + + elog + elog "Please read the Help > User Guide for details. The source location is" + elog "/usr/share/fotocx/data/userguide and after running fotocx a copy will" + elog "be placed at /home/<user>/.fotocx/userguide." + elog + elog "To play videos, in Tools > Preferences set 'Video File Play Command'." + elog + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/media-gfx/freecad/Manifest b/media-gfx/freecad/Manifest index 94fb1f903861..6c17cf764fe5 100644 --- a/media-gfx/freecad/Manifest +++ b/media-gfx/freecad/Manifest @@ -1,3 +1 @@ -DIST freecad-0.21.2.tar.gz 66124278 BLAKE2B 84a4f8008192cd1a2ee1737b537b2668a8c028aa8c8645e6e412ab9ef79bf3bdd2cb73d96fcfd2dbcff613cdcc59cbab95821406acdc9cd7d4eb4636c081be78 SHA512 bd7e9029b24d49ac0955797bcdbea1fd0826bdf9ab246135366dfc35b427004f103acccfc66d008e3ab3928f99e04200e335908a03166545554e2d3e969ae0f5 -DIST freecad-1.0_rc1.tar.gz 88552055 BLAKE2B 3e2607d87da86edd35c05abba0d7085bed7fc42f9831c7e2451e028b3ce267c7a1e44b82c9a51bdfc736b5c98198030aafb81a7ae5df158ae17bc5afe2df44e0 SHA512 1d0a0d131c35ee03b435a0b901cb56c8e98ce2dd62ff5102856b3777dfc6d3bfba6ff4ea87e8c8949640bd14fdb775db3e9eb9a8b6530dd1f86a903037c95dba -DIST freecad-1.0_rc2.tar.gz 88511772 BLAKE2B e1ef1ca08dee75d05a0044443712cda1b0c6d53b69d2d7fbe28987427678fe2a721f45bc9a844b8b733542214015265244649d772e7d94cd438d7e25f340c970 SHA512 b9187d7f677896fdd6b18d92c97a02975e313d255a1dbac54525be013e332eebf617c15a50be9736c2c382be8f37e04a6b9877ad0c56fa4b8a58ea585ee721cf +DIST freecad-1.0.0.tar.gz 91599325 BLAKE2B 65540eb42e7d508456c9edbf2122e0f288708c33e6d00d3c8c45550e7a614f658f91ba25978a66819bc094b7138aab72a89c0172d0841be1ff798ade5a8bdc64 SHA512 afc1079ea04fd5bb8135f8ad1012d9e4e05c8839dd0a4e00253eada58fe018f445c1200d1ca7ac9f268644c946cbf55b7b313dc3d6bd010f9da3a3334103b7db diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch deleted file mode 100644 index cbb78d5bdc94..000000000000 --- a/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch +++ /dev/null @@ -1,22 +0,0 @@ -From f555a25f9e67e628e8075fc8599d7c11807eaddd Mon Sep 17 00:00:00 2001 -From: wmayer <wmayer@users.sourceforge.net> -Date: Sun, 21 Apr 2024 08:36:16 +0200 -Subject: [PATCH] Fixes #13549: smesh doesn't compile with boost 1.85 - ---- - src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp -index d72ff2363f39..f108cbbcb2cf 100644 ---- a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp -+++ b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp -@@ -55,7 +55,7 @@ namespace DriverGMF - - bool isExtensionCorrect( const std::string& fileName ) - { -- std::string ext = boost::filesystem::extension(fileName); -+ std::string ext = boost::filesystem::path(fileName).extension().string(); - switch ( ext.size() ) { - case 5: return ( ext == ".mesh" || ext == ".solb" ); - case 6: return ( ext == ".meshb" ); diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch deleted file mode 100644 index 5f0807028859..000000000000 --- a/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch +++ /dev/null @@ -1,22 +0,0 @@ -From aa54ba73df4d42878130c99688be35acf10725a0 Mon Sep 17 00:00:00 2001 -From: ppphp <kevinniub@gmail.com> -Date: Sat, 30 Mar 2024 13:52:32 +0800 -Subject: [PATCH] fix: c++20 deprecate copy_option - ---- - src/Gui/PreferencePackManager.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp -index e0e6184a3147..e1773a436852 100644 ---- a/src/Gui/PreferencePackManager.cpp -+++ b/src/Gui/PreferencePackManager.cpp -@@ -224,7 +224,7 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName, - auto savedPreferencePacksDirectory = - fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks"; - auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg"); -- fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists); -+ fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing); - rescan(); - } - diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch deleted file mode 100644 index c4c8039dab49..000000000000 --- a/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 91457bbdee2422c7f0372688cf72d021cf222073 Mon Sep 17 00:00:00 2001 -From: ppphp <kevinniub@gmail.com> -Date: Sat, 30 Mar 2024 19:17:56 +0800 -Subject: [PATCH] add version check macro for compatibility - ---- - src/Gui/PreferencePackManager.cpp | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp -index e1773a436852..dfc54240c00c 100644 ---- a/src/Gui/PreferencePackManager.cpp -+++ b/src/Gui/PreferencePackManager.cpp -@@ -224,7 +224,11 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName, - auto savedPreferencePacksDirectory = - fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks"; - auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg"); -+#if BOOST_VERSION >= 107400 - fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing); -+#else -+ fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists); -+#endif - rescan(); - } - diff --git a/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch deleted file mode 100644 index 0ab999771068..000000000000 --- a/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch +++ /dev/null @@ -1,29 +0,0 @@ -From ccaee18917432fd02e4371a7847bdfaf0692edd1 Mon Sep 17 00:00:00 2001 -From: Martin Rodriguez Reboredo <yakoyoku@gmail.com> -Date: Sun, 19 May 2024 23:23:45 -0300 -Subject: [PATCH] Gui: Fix NaviCube for Qt6 - ---- - src/Gui/NaviCube.cpp | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/src/Gui/NaviCube.cpp b/src/Gui/NaviCube.cpp -index 2d164f196b3c..9e3a62d66c81 100644 ---- a/src/Gui/NaviCube.cpp -+++ b/src/Gui/NaviCube.cpp -@@ -926,6 +926,7 @@ NaviCubeImplementation::PickId NaviCubeImplementation::pickFace(short x, short y - GLubyte pixels[4] = {0}; - if (m_PickingFramebuffer && std::abs(x) <= m_CubeWidgetSize / 2 && - std::abs(y) <= m_CubeWidgetSize / 2) { -+ static_cast<QtGLWidget*>(m_View3DInventorViewer->viewport())->makeCurrent(); - m_PickingFramebuffer->bind(); - - glViewport(0, 0, m_CubeWidgetSize * 2, m_CubeWidgetSize * 2); -@@ -936,6 +937,7 @@ NaviCubeImplementation::PickId NaviCubeImplementation::pickFace(short x, short y - glReadPixels(2 * x + m_CubeWidgetSize, 2 * y + m_CubeWidgetSize, 1, 1, - GL_RGBA, GL_UNSIGNED_BYTE, &pixels); - m_PickingFramebuffer->release(); -+ static_cast<QtGLWidget*>(m_View3DInventorViewer->viewport())->doneCurrent(); - } - return pixels[3] == 255 ? static_cast<PickId>(pixels[0]) : PickId::None; - } diff --git a/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch deleted file mode 100644 index c1fe31ab05ad..000000000000 --- a/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch +++ /dev/null @@ -1,186 +0,0 @@ -From 6043c90462e85fbf15e30ea4c7da7d9a22d570f2 Mon Sep 17 00:00:00 2001 -From: wmayer <wmayer@users.sourceforge.net> -Date: Wed, 7 Feb 2024 15:25:13 +0100 -Subject: [PATCH] Py3.12: harmonize with upstream of PyCXX - ---- - src/CXX/IndirectPythonInterface.cxx | 36 +++++++++++++++------ - src/CXX/Python3/IndirectPythonInterface.hxx | 6 ++-- - src/CXX/Python3/cxx_extensions.cxx | 2 +- - src/CXX/Python3/cxxextensions.c | 10 ++++++ - src/CXX/Version.hxx | 2 +- - 5 files changed, 42 insertions(+), 14 deletions(-) - -diff --git a/src/CXX/IndirectPythonInterface.cxx b/src/CXX/IndirectPythonInterface.cxx -index 3d810cea88a5..fc9e45cbd64f 100644 ---- a/src/CXX/IndirectPythonInterface.cxx -+++ b/src/CXX/IndirectPythonInterface.cxx -@@ -122,17 +122,21 @@ static PyTypeObject *ptr__Bytes_Type = NULL; - # endif - - # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API ) -+# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11) - static int *ptr_Py_DebugFlag = NULL; - static int *ptr_Py_InteractiveFlag = NULL; - static int *ptr_Py_OptimizeFlag = NULL; - static int *ptr_Py_NoSiteFlag = NULL; - static int *ptr_Py_VerboseFlag = NULL; -+# endif - --# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 - static const char **ptr__Py_PackageContext = NULL; --# else -+# else - static char **ptr__Py_PackageContext = NULL; --# endif -+# endif -+# endif - # endif - - # ifdef Py_REF_DEBUG -@@ -242,17 +246,21 @@ bool InitialisePythonIndirectInterface() - ptr_Py_RefTotal = GetInt_as_IntPointer( "_Py_RefTotal" ); - # endif - # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API ) -+# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11) - ptr_Py_DebugFlag = GetInt_as_IntPointer( "Py_DebugFlag" ); - ptr_Py_InteractiveFlag = GetInt_as_IntPointer( "Py_InteractiveFlag" ); - ptr_Py_OptimizeFlag = GetInt_as_IntPointer( "Py_OptimizeFlag" ); - ptr_Py_NoSiteFlag = GetInt_as_IntPointer( "Py_NoSiteFlag" ); - ptr_Py_VerboseFlag = GetInt_as_IntPointer( "Py_VerboseFlag" ); -+# endif - --# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 - ptr__Py_PackageContext = GetConstCharPointer_as_ConstCharPointerPointer( "_Py_PackageContext" ); --# else -+# else - ptr__Py_PackageContext = GetCharPointer_as_CharPointerPointer( "_Py_PackageContext" ); --# endif -+# endif -+# endif - # endif - - # define PYCXX_STANDARD_EXCEPTION( eclass, bclass ) -@@ -397,17 +405,21 @@ PYCXX_EXPORT PyTypeObject *_Bytes_Type() { return ptr__Bytes_Type; } - // wrap the Python Flag variables - // - # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API ) -+# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11) - PYCXX_EXPORT int &_Py_DebugFlag() { return *ptr_Py_DebugFlag; } - PYCXX_EXPORT int &_Py_InteractiveFlag() { return *ptr_Py_InteractiveFlag; } - PYCXX_EXPORT int &_Py_OptimizeFlag() { return *ptr_Py_OptimizeFlag; } - PYCXX_EXPORT int &_Py_NoSiteFlag() { return *ptr_Py_NoSiteFlag; } - PYCXX_EXPORT int &_Py_VerboseFlag() { return *ptr_Py_VerboseFlag; } -+# endif - # endif - --# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 - PYCXX_EXPORT const char *__Py_PackageContext() { return *ptr__Py_PackageContext; } --# else -+# else - PYCXX_EXPORT char *__Py_PackageContext() { return *ptr__Py_PackageContext; } -+# endif - # endif - - # if 0 -@@ -518,15 +530,19 @@ PYCXX_EXPORT PyTypeObject *_Bytes_Type() { return &PyBytes_Type; } - // wrap flags - // - # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API ) -+# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11) - PYCXX_EXPORT int &_Py_DebugFlag() { return Py_DebugFlag; } - PYCXX_EXPORT int &_Py_InteractiveFlag() { return Py_InteractiveFlag; } - PYCXX_EXPORT int &_Py_OptimizeFlag() { return Py_OptimizeFlag; } - PYCXX_EXPORT int &_Py_NoSiteFlag() { return Py_NoSiteFlag; } - PYCXX_EXPORT int &_Py_VerboseFlag() { return Py_VerboseFlag; } --# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 -+# endif -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 - PYCXX_EXPORT const char *__Py_PackageContext() { return _Py_PackageContext; } --# else -+# else - PYCXX_EXPORT char *__Py_PackageContext() { return _Py_PackageContext; } -+# endif - # endif - # endif - -diff --git a/src/CXX/Python3/IndirectPythonInterface.hxx b/src/CXX/Python3/IndirectPythonInterface.hxx -index bf2c15c53f9a..eb4ae4fe63b9 100644 ---- a/src/CXX/Python3/IndirectPythonInterface.hxx -+++ b/src/CXX/Python3/IndirectPythonInterface.hxx -@@ -149,10 +149,12 @@ PYCXX_EXPORT int &_Py_NoSiteFlag(); - PYCXX_EXPORT int &_Py_TabcheckFlag(); - PYCXX_EXPORT int &_Py_VerboseFlag(); - --# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11 -+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7 - PYCXX_EXPORT const char *__Py_PackageContext(); --# else -+# else - PYCXX_EXPORT char *__Py_PackageContext(); -+# endif - # endif - # endif - -diff --git a/src/CXX/Python3/cxx_extensions.cxx b/src/CXX/Python3/cxx_extensions.cxx -index 7371810be4a9..e6eefdafea17 100644 ---- a/src/CXX/Python3/cxx_extensions.cxx -+++ b/src/CXX/Python3/cxx_extensions.cxx -@@ -152,7 +152,7 @@ PyMethodDef *MethodTable::table() - //================================================================================ - ExtensionModuleBase::ExtensionModuleBase( const char *name ) - : m_module_name( name ) --#if defined( Py_LIMITED_API ) -+#if defined( Py_LIMITED_API ) || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 12) - , m_full_module_name( m_module_name ) - #else - , m_full_module_name( __Py_PackageContext() != NULL ? std::string( __Py_PackageContext() ) : m_module_name ) -diff --git a/src/CXX/Python3/cxxextensions.c b/src/CXX/Python3/cxxextensions.c -index 3b0f8ef7c588..afb9313ad0a8 100644 ---- a/src/CXX/Python3/cxxextensions.c -+++ b/src/CXX/Python3/cxxextensions.c -@@ -42,6 +42,14 @@ extern "C" - { - #endif - -+#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 13 -+PyObject py_object_initializer = -+ { -+ { 1 }, -+ NULL // type must be init'ed by user -+ }; -+ -+#else - PyObject py_object_initializer = - { - _PyObject_EXTRA_INIT -@@ -49,6 +57,8 @@ PyObject py_object_initializer = - NULL // type must be init'ed by user - }; - -+#endif -+ - #ifdef __cplusplus - } - #endif -diff --git a/src/CXX/Version.hxx b/src/CXX/Version.hxx -index e6069aad335e..59fe3c203b86 100644 ---- a/src/CXX/Version.hxx -+++ b/src/CXX/Version.hxx -@@ -40,7 +40,7 @@ - - #define PYCXX_VERSION_MAJOR 7 - #define PYCXX_VERSION_MINOR 1 --#define PYCXX_VERSION_PATCH 7 -+#define PYCXX_VERSION_PATCH 9 - #define PYCXX_MAKEVERSION( major, minor, patch ) ((major<<16)|(minor<<8)|(patch)) - #define PYCXX_VERSION PYCXX_MAKEVERSION( PYCXX_VERSION_MAJOR, PYCXX_VERSION_MINOR, PYCXX_VERSION_PATCH ) - #endif diff --git a/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch deleted file mode 100644 index 505862aa2bf1..000000000000 --- a/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch +++ /dev/null @@ -1,148 +0,0 @@ -From ac9a88c2c59a2d2002a7740a1597a05c819220e0 Mon Sep 17 00:00:00 2001 -From: wmayer <wmayer@users.sourceforge.net> -Date: Sat, 20 Apr 2024 14:02:38 +0200 -Subject: [PATCH] PySide6: Fixes #13533: QSvgWidget is not a child of QtSvg in - PySide6 - -* Create a compatibility module QtSvgWidgets.py to handle PySide2 & PySide6 -* In the Arch and Material modules use the QtSvgWidgets module -* Since Qt6 the method QFont.setWeight() doesn't accept an int any more but requires an enum. Since the call of QFont.setBold(True) sets - a weight of 75 the extra calls of QFont.setWeight(75) can be safely removed ---- - cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake | 3 +++ - src/Mod/Arch/ArchPrecast.py | 8 ++++---- - src/Mod/Arch/ArchWindow.py | 4 ++-- - src/Mod/Arch/importIFClegacy.py | 1 - - src/Mod/Draft/DraftGui.py | 1 - - src/Mod/Material/MaterialEditor.py | 6 +++--- - 6 files changed, 12 insertions(+), 11 deletions(-) - -diff --git a/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake b/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake -index 0569c1fde9f2..fa872e287b59 100644 ---- a/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake -+++ b/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake -@@ -91,9 +91,12 @@ macro(SetupShibokenAndPyside) - file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWidgets import *\n") - if(PYSIDE_MAJOR_VERSION LESS 6) - file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n") -+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QGraphicsSvgItem\n" -+ "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QSvgWidget\n") - else() - file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n" - "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineCore import QWebEnginePage\n") -+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvgWidgets import *\n") - endif() - endif() - -diff --git a/src/Mod/Arch/ArchPrecast.py b/src/Mod/Arch/ArchPrecast.py -index 7bb929b10e34..2f482902c1ce 100644 ---- a/src/Mod/Arch/ArchPrecast.py -+++ b/src/Mod/Arch/ArchPrecast.py -@@ -777,14 +777,14 @@ class _PrecastTaskPanel: - def __init__(self): - - import FreeCADGui -- from PySide import QtCore,QtGui,QtSvg -+ from PySide import QtCore,QtGui,QtSvgWidgets - self.form = QtGui.QWidget() - self.grid = QtGui.QGridLayout(self.form) - self.PrecastTypes = ["Beam","I-Beam","Pillar","Panel","Slab","Stairs"] - self.SlabTypes = ["Champagne","Hat"] - - # image display -- self.preview = QtSvg.QSvgWidget(":/ui/ParametersBeam.svg") -+ self.preview = QtSvgWidgets.QSvgWidget(":/ui/ParametersBeam.svg") - self.preview.setMaximumWidth(200) - self.preview.setMinimumHeight(120) - self.grid.addWidget(self.preview,0,0,1,2) -@@ -1263,7 +1263,7 @@ class _DentsTaskPanel: - def __init__(self): - - import FreeCADGui -- from PySide import QtCore,QtGui,QtSvg -+ from PySide import QtCore,QtGui,QtSvgWidgets - self.form = QtGui.QWidget() - self.grid = QtGui.QGridLayout(self.form) - self.Rotations = ["N","S","E","O"] -@@ -1282,7 +1282,7 @@ def __init__(self): - self.grid.addWidget(self.buttonRemove,2,1,1,1) - - # image display -- self.preview = QtSvg.QSvgWidget(":/ui/ParametersDent.svg") -+ self.preview = QtSvgWidgets.QSvgWidget(":/ui/ParametersDent.svg") - self.preview.setMaximumWidth(200) - self.preview.setMinimumHeight(120) - self.grid.addWidget(self.preview,3,0,1,2) -diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py -index f3c11c5e9c7a..dc9c84f9a8bf 100644 ---- a/src/Mod/Arch/ArchWindow.py -+++ b/src/Mod/Arch/ArchWindow.py -@@ -34,7 +34,7 @@ - - if FreeCAD.GuiUp: - import FreeCADGui -- from PySide import QtCore, QtGui, QtSvg -+ from PySide import QtCore, QtGui, QtSvgWidgets - from draftutils.translate import translate - from PySide.QtCore import QT_TRANSLATE_NOOP - import draftguitools.gui_trackers as DraftTrackers -@@ -426,7 +426,7 @@ def taskbox(self): - self.pic.hide() - - # SVG display -- self.im = QtSvg.QSvgWidget(":/ui/ParametersWindowFixed.svg") -+ self.im = QtSvgWidgets.QSvgWidget(":/ui/ParametersWindowFixed.svg") - self.im.setMaximumWidth(200) - self.im.setMinimumHeight(120) - grid.addWidget(self.im,4,0,1,2) -diff --git a/src/Mod/Arch/importIFClegacy.py b/src/Mod/Arch/importIFClegacy.py -index 037e889ce5b9..256b29056b33 100644 ---- a/src/Mod/Arch/importIFClegacy.py -+++ b/src/Mod/Arch/importIFClegacy.py -@@ -1795,7 +1795,6 @@ def explorer(filename,schema="IFC2X3_TC1.exp"): - tree.headerItem().setText(1, "") - tree.headerItem().setText(2, "Item and Properties") - bold = QtGui.QFont() -- bold.setWeight(75) - bold.setBold(True) - - #print(ifc.Entities) -diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py -index c6e8584f4a71..2471bb66c61a 100644 ---- a/src/Mod/Draft/DraftGui.py -+++ b/src/Mod/Draft/DraftGui.py -@@ -312,7 +312,6 @@ def setupToolBar(self,task=False): - self.promptlabel = self._label("promptlabel", self.layout, hide=task) - self.cmdlabel = self._label("cmdlabel", self.layout, hide=task) - boldtxt = QtGui.QFont() -- boldtxt.setWeight(75) - boldtxt.setBold(True) - self.cmdlabel.setFont(boldtxt) - -diff --git a/src/Mod/Material/MaterialEditor.py b/src/Mod/Material/MaterialEditor.py -index cbcbde924609..28dbe83bc026 100644 ---- a/src/Mod/Material/MaterialEditor.py -+++ b/src/Mod/Material/MaterialEditor.py -@@ -27,7 +27,7 @@ - import os - from pathlib import PurePath - import sys --from PySide import QtCore, QtGui, QtSvg -+from PySide import QtCore, QtGui, QtSvgWidgets - - import FreeCAD - import FreeCADGui -@@ -92,11 +92,11 @@ def __init__(self, obj=None, prop=None, material=None, card_path="", category="S - treeView = widget.treeView - - # create preview svg slots -- self.widget.PreviewRender = QtSvg.QSvgWidget(self.iconPath + "preview-rendered.svg") -+ self.widget.PreviewRender = QtSvgWidgets.QSvgWidget(self.iconPath + "preview-rendered.svg") - self.widget.PreviewRender.setMaximumWidth(64) - self.widget.PreviewRender.setMinimumHeight(64) - self.widget.topLayout.addWidget(self.widget.PreviewRender) -- self.widget.PreviewVector = QtSvg.QSvgWidget(self.iconPath + "preview-vector.svg") -+ self.widget.PreviewVector = QtSvgWidgets.QSvgWidget(self.iconPath + "preview-vector.svg") - self.widget.PreviewVector.setMaximumWidth(64) - self.widget.PreviewVector.setMinimumHeight(64) - self.widget.topLayout.addWidget(self.widget.PreviewVector) diff --git a/media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch b/media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch deleted file mode 100644 index 8efd55121ee7..000000000000 --- a/media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch +++ /dev/null @@ -1,8 +0,0 @@ -https://bugs.gentoo.org/929973 ---- a/src/Gui/PythonWrapper.cpp -+++ b/src/Gui/PythonWrapper.cpp -@@ -480,3 +480,3 @@ - return false; -- types = Shiboken::Module::getTypes(requiredModule); -+ types = reinterpret_cast<PyTypeObject **>(Shiboken::Module::getTypes(requiredModule)); - } diff --git a/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch b/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch deleted file mode 100644 index b41e3618f55f..000000000000 --- a/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch +++ /dev/null @@ -1,33 +0,0 @@ -# fix for compiling with VTK 9.3 -https://github.com/FreeCAD/FreeCAD/pull/11496/commits/68d380a64e033c40fcb9a6dc322d9e0178de52ee -Bug: https://forum.freecad.org/viewtopic.php?t=82814 -patch by adrianinsaval (commited in 68d380a64e033c40fcb9a6dc322d9e0178de52ee) - ---- a/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx -+++ b/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx -@@ -39,10 +39,6 @@ - #define SMDS_EXPORT - #endif - --#ifdef VTK_HAS_MTIME_TYPE - #define VTK_MTIME_TYPE vtkMTimeType --#else --#define VTK_MTIME_TYPE unsigned long --#endif - - #endif ---- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp -+++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp -@@ -1026,7 +1026,12 @@ void SMDS_UnstructuredGrid::BuildLinks() - GetLinks()->Allocate(this->GetNumberOfPoints()); - GetLinks()->Register(this); - //FIXME: vtk9 -+#if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9,3,0) - GetLinks()->BuildLinks(this); -+#else -+ GetLinks()->SetDataSet(this); -+ GetLinks()->BuildLinks(); -+#endif - GetLinks()->Delete(); - #else - this->links = smds_celllinks::new(); diff --git a/media-gfx/freecad/files/freecad-0.21.1-Gentoo-specific-don-t-check-vcs.patch b/media-gfx/freecad/files/freecad-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch index 3d851c341e2e..d901e47e2ca0 100644 --- a/media-gfx/freecad/files/freecad-0.21.1-Gentoo-specific-don-t-check-vcs.patch +++ b/media-gfx/freecad/files/freecad-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch @@ -1,16 +1,15 @@ -Signed-off-by: Jörg Habenicht <j.habenicht@gmx.de> --- a/src/Tools/SubWCRev.py +++ b/src/Tools/SubWCRev.py -@@ -509,12 +509,6 @@ - bindir = a - - vcs = [ -- GitControl(), -- DebianGitHub(), -- BazaarControl(), -- Subversion(), -- MercurialControl(), -- DebianChangelog(), - UnknownControl(), - ] - for i in vcs: +@@ -510,12 +510,6 @@ def main(): + bindir = a
+
+ vcs = [
+- GitControl(),
+- DebianGitHub(),
+- BazaarControl(),
+- Subversion(),
+- MercurialControl(),
+- DebianChangelog(),
+ UnknownControl(),
+ ]
+ for i in vcs:
diff --git a/media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch b/media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch index 3c8b61ab56a4..96113c23f057 100644 --- a/media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch +++ b/media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch @@ -1,10 +1,9 @@ ---- a/src/Tools/SubWCRev.py
-+++ b/src/Tools/SubWCRev.py
-@@ -509,12 +509,6 @@ def main():
- bindir = a
+--- a/src/Tools/SubWCRev.py ++++ b/src/Tools/SubWCRev.py +@@ -511,11 +511,6 @@ def main(): vcs = [
-- GitControl(),
+ GitControl(),
- DebianGitHub(),
- BazaarControl(),
- Subversion(),
diff --git a/media-gfx/freecad/freecad-0.21.2-r3.ebuild b/media-gfx/freecad/freecad-0.21.2-r3.ebuild deleted file mode 100644 index bf1b98990bc0..000000000000 --- a/media-gfx/freecad/freecad-0.21.2-r3.ebuild +++ /dev/null @@ -1,398 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg - -DESCRIPTION="QT based Computer Aided Design application" -HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD" - -MY_PN=FreeCAD - -if [[ ${PV} = *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" - S="${WORKDIR}/freecad-${PV}" -else - SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="amd64" - S="${WORKDIR}/FreeCAD-${PV}" -fi - -# code is licensed LGPL-2 -# examples are licensed CC-BY-SA (without note of specific version) -LICENSE="LGPL-2 CC-BY-SA-4.0" -SLOT="0" -IUSE="debug designer +gui qt6 test" - -FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl" -FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material - openscad part-design path points raytracing robot show surface - techdraw tux" - -for module in ${FREECAD_STABLE_MODULES}; do - IUSE="${IUSE} +${module}" -done -for module in ${FREECAD_EXPERIMENTAL_MODULES}; do - IUSE="${IUSE} ${module}" -done -unset module - -RESTRICT="!test? ( test )" - -RDEPEND=" - ${PYTHON_DEPS} - dev-libs/OpenNI2[opengl(+)] - dev-libs/boost:= - dev-libs/libfmt:= - dev-libs/libspnav[X] - dev-libs/xerces-c[icu] - !qt6? ( - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtnetwork:5 - dev-qt/qtxml:5 - dev-qt/qtxmlpatterns:5 - ) - qt6? ( - dev-qt/qtbase:6[concurrent,network,xml] - ) - media-libs/freetype - media-libs/qhull:= - sci-libs/hdf5:=[fortran,zlib] - >=sci-libs/med-4.0.0-r1 - <sci-libs/opencascade-7.8.0:=[json,vtk] - sci-libs/orocos_kdl:= - sys-libs/zlib - virtual/libusb:1 - cloud? ( - dev-libs/openssl:= - net-misc/curl - ) - fem? ( - !qt6? ( sci-libs/vtk:=[qt5,rendering] ) - qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] ) - ) - gui? ( - >=media-libs/coin-4.0.0 - virtual/glu - virtual/opengl - !qt6? ( - dev-qt/designer:5 - dev-qt/qtgui:5 - dev-qt/qtopengl:5 - dev-qt/qtprintsupport:5 - dev-qt/qtsvg:5 - dev-qt/qtwebengine:5[widgets] - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - pcl? ( sci-libs/pcl[qt5] ) - $(python_gen_cond_dep ' - dev-python/matplotlib[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}] - dev-python/shiboken2:=[${PYTHON_USEDEP}] - ' python3_{10..11} ) - ) - qt6? ( - sci-libs/opencascade[-inspector(-)] - designer? ( dev-qt/qttools:6[designer] ) - dev-qt/qt5compat:6 - dev-qt/qttools:6[widgets] - dev-qt/qtbase:6[gui,opengl,widgets] - dev-qt/qtsvg:6 - dev-qt/qtwebengine:6[widgets] - pcl? ( sci-libs/pcl[-qt5,qt6(-)] ) - $(python_gen_cond_dep ' - dev-python/matplotlib[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}] - dev-python/shiboken6:=[${PYTHON_USEDEP}] - ' ) - ) - ) - netgen? ( media-gfx/netgen[opencascade] ) - openscad? ( media-gfx/openscad ) - pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] ) - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pybind11[${PYTHON_USEDEP}] - addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] ) - fem? ( dev-python/ply[${PYTHON_USEDEP}] ) - ') -" -DEPEND=" - ${RDEPEND} - >=dev-cpp/eigen-3.3.1:3 - test? ( - $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') - !qt6? ( dev-qt/qttest:5 ) - ) -" -BDEPEND=" - app-text/dos2unix - dev-lang/swig - test? ( - $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') - !qt6? ( dev-qt/qttest:5 ) - ) -" - -# To get required dependencies: -# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' -# We set the following requirements by default: -# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web. -# -# Additionally, we auto-enable mesh_part, flat_mesh and smesh -# Fem actually needs smesh, but as long as we don't have a smesh package, we enable -# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't -# reflected by the REQUIRES_MODS macro, but at -# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187. -# -# The increase in auto-enabled workbenches is due to their need in parts of the -# test suite when compiled with a minimal set of USE flags. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - designer? ( gui ) - inspection? ( points ) - path? ( robot ) - python_single_target_python3_12? ( gui? ( qt6 ) ) -" -# There is no py3.12 support planned for pyside2 - -PATCHES=( - "${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch - "${FILESDIR}"/${PN}-0.21.1-Gentoo-specific-don-t-check-vcs.patch - "${FILESDIR}"/${PN}-0.21.2-vtk9.3-fix.patch - "${FILESDIR}"/${PN}-0.21.2-boost-175-1.patch - "${FILESDIR}"/${PN}-0.21.2-boost-175-2.patch - "${FILESDIR}"/${PN}-0.21.2-boost-175-3.patch -) - -DOCS=( CODE_OF_CONDUCT.md README.md ) - -CHECKREQS_DISK_BUILD="2G" - -pkg_setup() { - check-reqs_pkg_setup - python-single-r1_pkg_setup - [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade" -} - -src_prepare() { - # Fix desktop file - sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die - - find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings" - - if has_version ">=dev-python/shiboken6-6.7.0"; then - # https://bugs.gentoo.org/929973 - eapply "${FILESDIR}/${PN}-0.21.2-shiboken-6.7.0.patch" - fi - - if use qt6; then - eapply "${FILESDIR}/${PN}-0.21.2-navcube-qt6.patch" - eapply "${FILESDIR}/${PN}-0.21.2-qtsvg-qt6.patch" - eapply "${FILESDIR}/${PN}-0.21.2-py312-qt6.patch" - fi - - cmake_src_prepare -} - -src_configure() { - # -Werror=odr, -Werror=lto-type-mismatch - # https://bugs.gentoo.org/875221 - # https://github.com/FreeCAD/FreeCAD/issues/13173 - filter-lto - - local mycmakeargs=( - -DBUILD_ADDONMGR=$(usex addonmgr) - -DBUILD_ARCH=ON - -DBUILD_ASSEMBLY=OFF # deprecated - -DBUILD_CLOUD=$(usex cloud) - -DBUILD_COMPLETE=OFF # deprecated - -DBUILD_DRAFT=ON - -DBUILD_DESIGNER_PLUGIN=$(usex designer) - -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0 - -DBUILD_FEM=$(usex fem) - -DBUILD_FEM_NETGEN=$(usex netgen) - -DBUILD_FLAT_MESH=ON - -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory - -DBUILD_FREETYPE=ON # automagic dep - -DBUILD_GUI=$(usex gui) - -DBUILD_IDF=$(usex idf) - -DBUILD_IMAGE=$(usex image) - -DBUILD_IMPORT=ON # import module for various file formats - -DBUILD_INSPECTION=$(usex inspection) - -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there - -DBUILD_MATERIAL=$(usex material) - -DBUILD_MESH=ON - -DBUILD_MESH_PART=ON - -DBUILD_OPENSCAD=$(usex openscad) - -DBUILD_PART=ON - -DBUILD_PART_DESIGN=$(usex part-design) - -DBUILD_PATH=$(usex path) - -DBUILD_POINTS=$(usex points) - -DBUILD_RAYTRACING=$(usex raytracing) - -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox - -DBUILD_ROBOT=$(usex robot) - -DBUILD_SHOW=$(usex show) - -DBUILD_SKETCHER=ON # needed by draft workspace - -DBUILD_SMESH=ON - -DBUILD_SPREADSHEET=ON - -DBUILD_START=ON - -DBUILD_SURFACE=$(usex surface) - -DBUILD_TECHDRAW=$(usex techdraw) - -DBUILD_TEST=ON # always build test workbench for run-time testing - -DBUILD_TUX=$(usex tux) - -DBUILD_VR=OFF - -DBUILD_WEB=ON # needed by start workspace - -DBUILD_WITH_CONDA=OFF - - -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data - -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} - -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN} - -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN} - - -DFREECAD_BUILD_DEBIAN=OFF - - -DFREECAD_USE_EXTERNAL_KDL=ON - -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo - -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree - -DFREECAD_USE_FREETYPE=ON - -DFREECAD_USE_OCC_VARIANT:STRING="Official Version" - -DFREECAD_USE_PCL=$(usex pcl) - -DFREECAD_USE_PYBIND11=ON - -DFREECAD_USE_QT_FILEDIALOG=ON - -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine" - - # install python modules to site-packages' dir. True only for the main package, - # sub-packages will still be installed inside /usr/lib64/freecad - -DINSTALL_TO_SITEPACKAGES=ON - - # Use the version of shiboken2 that matches the selected python version - -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" - -DPython3_EXECUTABLE=${PYTHON} - ) - - if use debug; then - # BUILD_SANDBOX currently broken, see - # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595 - mycmakeargs+=( - -DBUILD_SANDBOX=OFF - -DBUILD_TEMPLATE=ON - ) - else - mycmakeargs+=( - -DBUILD_SANDBOX=OFF - -DBUILD_TEMPLATE=OFF - ) - fi - - if use qt6; then - mycmakeargs+=( - -DFREECAD_QT_MAJOR_VERSION=6 - -DFREECAD_QT_VERSION=6 - -DQT_DEFAULT_MAJOR_VERSION=6 - -DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc" - -DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc" - -DBUILD_QT5=OFF - # Drawing module unmaintained and not ported to qt6 - -DBUILD_DRAWING=OFF - ) - else - mycmakeargs+=( - -DFREECAD_QT_MAJOR_VERSION=5 - -DFREECAD_QT_VERSION=5 - -DQT_DEFAULT_MAJOR_VERSION=5 - -DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc" - -DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc" - -DBUILD_QT5=ON - # Drawing module unmaintained and not ported to qt6 - -DBUILD_DRAWING=ON - ) - fi - - cmake_src_configure -} - -# We use the FreeCADCmd binary instead of the FreeCAD binary here -# for two reasons: -# 1. It works out of the box with USE=-gui as well, not needing a guard -# 2. We don't need virtualx.eclass and it's dependencies -# The exported environment variables are needed, so freecad does know -# where to save it's temporary files, and where to look and write it's -# configuration. Without those, there are sandbox violation, when it -# tries to create /var/lib/portage/home/.FreeCAD directory. -src_test() { - pushd "${BUILD_DIR}" > /dev/null || die - export FREECAD_USER_HOME="${HOME}" - export FREECAD_USER_DATA="${T}" - export FREECAD_USER_TEMP="${T}" - nonfatal ./bin/FreeCADCmd --run-test 0 - popd > /dev/null || die -} - -src_install() { - cmake_src_install - - dobin src/Tools/freecad-thumbnailer - - if use gui; then - newbin - freecad <<- _EOF_ - #!/bin/sh - # https://github.com/coin3d/coin/issues/451 - : \${QT_QPA_PLATFORM:=xcb} - export QT_QPA_PLATFORM - exec /usr/$(get_libdir)/${PN}/bin/FreeCAD \${@} - _EOF_ - mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources" - fi - dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd - - rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format" - use test && (rm -r "${ED}"/usr/include/${PN}/{gmock,gtest} || die) - - python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/ - # compile main package in python site-packages as well - python_optimize -} - -pkg_postinst() { - xdg_pkg_postinst - - einfo "You can load a lot of additional workbenches using the integrated" - einfo "AddonManager." - - # ToDo: check opencv, pysolar (::science), elmerfem (::science) - # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl) - einfo "There are a lot of additional tools, for which FreeCAD has builtin" - einfo "support. Some of them are available in Gentoo. Take a look at" - einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD" - optfeature_header "Computational utilities" - optfeature "BLAS library" sci-libs/openblas - optfeature "Statistical computation with Python" dev-python/pandas - optfeature "Use scientific computation with Python" dev-python/scipy - optfeature "Use symbolic math with Python" dev-python/sympy - optfeature_header "Imaging, Plotting and Rendering utilities" - optfeature "Dependency graphs" media-gfx/graphviz - optfeature "PBR Rendering" media-gfx/povray - optfeature_header "Import / Export" - optfeature "Interact with git repositories" dev-python/GitPython - optfeature "Work with COLLADA documents" dev-python/pycollada - optfeature "YAML importer and emitter" dev-python/pyyaml - optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg - optfeature "Importing and exporting geospatial data formats" sci-libs/gdal - optfeature "Working with projection data" sci-libs/proj - optfeature_header "Meshing and FEM" - optfeature "FEM mesh generator" sci-libs/gmsh - optfeature "Triangulating meshes" sci-libs/gts - optfeature "Visualization" sci-visualization/paraview -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/media-gfx/freecad/freecad-1.0.0-r2.ebuild b/media-gfx/freecad/freecad-1.0.0-r2.ebuild new file mode 100644 index 000000000000..7812856f8a98 --- /dev/null +++ b/media-gfx/freecad/freecad-1.0.0-r2.ebuild @@ -0,0 +1,303 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg + +DESCRIPTION="Qt based Computer Aided Design application" +HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD" + +MY_PN=FreeCAD + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" + S="${WORKDIR}/freecad-${PV}" +else + SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="amd64" + S="${WORKDIR}/FreeCAD-${PV}" +fi + +# code is licensed LGPL-2 +# examples are licensed CC-BY-SA (without note of specific version) +LICENSE="LGPL-2 CC-BY-SA-4.0" +SLOT="0" +IUSE="debug designer +gui netgen pcl +smesh spacenav test X" +# Modules are found in src/Mod/ and their options defined in: +# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake +# To get their dependencies: +# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' +IUSE+=" addonmgr +bim cam cloud fem idf inspection +mesh openscad points reverse robot surface +techdraw" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + bim? ( mesh ) + cam? ( mesh ) + gui? ( bim ) + designer? ( gui ) + fem? ( smesh ) + inspection? ( points ) + mesh? ( smesh ) + openscad? ( mesh ) + reverse? ( mesh points ) + test? ( techdraw ) +" +# Draft Workbench needs BIM + +RESTRICT="!test? ( test )" + +RDEPEND=" + ${PYTHON_DEPS} + dev-cpp/gtest + dev-cpp/yaml-cpp + dev-libs/boost:= + dev-libs/libfmt:= + dev-libs/xerces-c[icu] + dev-qt/qtbase:6[concurrent,network,xml] + media-libs/freetype + sci-libs/opencascade:=[json] + sys-libs/zlib + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pybind11[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ') + cloud? ( + dev-libs/openssl:= + net-misc/curl + ) + fem? ( + sci-libs/vtk:= + $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') + ) + gui? ( + >=media-libs/coin-4.0.0 + dev-qt/qtbase:6[gui,opengl,widgets] + dev-qt/qtsvg:6 + dev-qt/qttools:6[designer?,widgets] + $(python_gen_cond_dep ' + dev-python/matplotlib[${PYTHON_USEDEP}] + >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] + dev-python/pyside6:=[uitools(-),gui,svg,${PYTHON_USEDEP}] + dev-python/shiboken6:=[${PYTHON_USEDEP}] + ' ) + virtual/glu + virtual/opengl + spacenav? ( dev-libs/libspnav[X?] ) + ) + netgen? ( media-gfx/netgen[opencascade] ) + openscad? ( $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') ) + pcl? ( sci-libs/pcl:= ) + smesh? ( + sci-libs/hdf5:=[zlib] + >=sci-libs/med-4.0.0-r1 + sci-libs/vtk:= + ) +" +DEPEND="${RDEPEND} + >=dev-cpp/eigen-3.3.1:3 + dev-cpp/ms-gsl +" +BDEPEND=" + dev-lang/swig + test? ( dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch + "${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch + "${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch +) + +DOCS=( CODE_OF_CONDUCT.md README.md ) + +CHECKREQS_DISK_BUILD="2G" + +pkg_setup() { + check-reqs_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + # Fix desktop file + sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die + + cmake_src_prepare +} + +src_configure() { + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/875221 + # https://github.com/FreeCAD/FreeCAD/issues/13173 + filter-lto + + # Fix building tests + append-ldflags -Wl,--copy-dt-needed-entries + + local mycmakeargs=( + -DBUILD_DESIGNER_PLUGIN=$(usex designer) + -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory + -DBUILD_GUI=$(usex gui) + -DBUILD_SMESH=$(usex smesh) + -DBUILD_VR=OFF + -DBUILD_WITH_CONDA=OFF + + # Modules + -DBUILD_ADDONMGR=$(usex addonmgr) + -DBUILD_ASSEMBLY=OFF # Requires OndselSolver + -DBUILD_BIM=$(usex bim) + -DBUILD_CAM=$(usex cam) + -DBUILD_CLOUD=$(usex cloud) + -DBUILD_DRAFT=ON + # see below for DRAWING + -DBUILD_FEM=$(usex fem) + -DBUILD_FEM_NETGEN=$(usex fem $(usex netgen)) + -DBUILD_FLAT_MESH=$(usex mesh) # a submodule of MeshPart + -DBUILD_HELP=ON + -DBUILD_IDF=$(usex idf) + -DBUILD_IMPORT=ON # import module for various file formats + -DBUILD_INSPECTION=$(usex inspection) + -DBUILD_JTREADER=OFF # uses an old proprietary library + -DBUILD_MATERIAL=ON + -DBUILD_MEASURE=ON + -DBUILD_MESH=$(usex mesh) + -DBUILD_MESH_PART=$(usex mesh) + -DBUILD_OPENSCAD=$(usex openscad) + -DBUILD_PART=ON + -DBUILD_PART_DESIGN=ON + -DBUILD_PLOT=ON + -DBUILD_POINTS=$(usex points) + -DBUILD_REVERSEENGINEERING=$(usex reverse) + -DBUILD_ROBOT=$(usex robot) + -DBUILD_SANDBOX=OFF + -DBUILD_SHOW=$(usex gui) + -DBUILD_SKETCHER=ON # needed by draft workspace + -DBUILD_SPREADSHEET=ON + -DBUILD_START=ON + -DBUILD_SURFACE=$(usex surface) + -DBUILD_TECHDRAW=$(usex techdraw) + -DBUILD_TEST=ON # always build test workbench for run-time testing + -DBUILD_TUX=$(usex gui) + -DBUILD_WEB=ON # needed by start workspace + + -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data + -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} + -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN} + -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN} + + -DFREECAD_BUILD_DEBIAN=OFF + + -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo + -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree + -DFREECAD_USE_FREETYPE=ON + -DFREECAD_USE_OCC_VARIANT:STRING="Official Version" + -DFREECAD_USE_PCL=$(usex pcl) + -DFREECAD_USE_PYBIND11=ON + -DFREECAD_USE_QT_FILEDIALOG=ON + + # install python modules to site-packages' dir. True only for the main package, + # sub-packages will still be installed inside /usr/lib64/freecad + -DINSTALL_TO_SITEPACKAGES=ON + + # Use the version of shiboken2 that matches the selected python version + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DPython3_EXECUTABLE=${PYTHON} + ) + + if use debug; then + # BUILD_SANDBOX currently broken, see + # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595 + mycmakeargs+=( + -DBUILD_SANDBOX=OFF + -DBUILD_TEMPLATE=ON + ) + else + mycmakeargs+=( + -DBUILD_SANDBOX=OFF + -DBUILD_TEMPLATE=OFF + ) + fi + + if use gui; then + mycmakeargs+=( + -DFREECAD_QT_MAJOR_VERSION=6 + -DFREECAD_QT_VERSION=6 + -DQT_DEFAULT_MAJOR_VERSION=6 + -DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc" + -DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc" + -DBUILD_QT5=OFF + # Drawing module unmaintained and not ported to qt6 + -DBUILD_DRAWING=OFF + ) + fi + + cmake_src_configure +} + +# We use the FreeCADCmd binary instead of the FreeCAD binary here +# for two reasons: +# 1. It works out of the box with USE=-gui as well, not needing a guard +# 2. We don't need virtualx.eclass and its dependencies +# The environment variables are needed, so that FreeCAD knows +# where to save its temporary files, and where to look and write its +# configuration. Without those, there is a sandbox violation, when it +# tries to create /var/lib/portage/home/.FreeCAD directory. +src_test() { + cd "${BUILD_DIR}" || die + + local -x FREECAD_USER_HOME="${HOME}" + local -x FREECAD_USER_DATA="${T}" + local -x FREECAD_USER_TEMP="${T}" + ./bin/FreeCADCmd --run-test 0 --set-config AppHomePath="${BUILD_DIR}/" || die +} + +src_install() { + cmake_src_install + + dobin src/Tools/freecad-thumbnailer + + if use gui; then + newbin - freecad <<- _EOF_ + #!/bin/sh + # https://github.com/coin3d/coin/issues/451 + : "\${QT_QPA_PLATFORM:=xcb}" + export QT_QPA_PLATFORM + exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}" + _EOF_ + mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources" + fi + dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd + + rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format" + + python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/ + # compile main package in python site-packages as well + python_optimize +} + +pkg_postinst() { + xdg_pkg_postinst + + einfo "You can load a lot of additional workbenches using the integrated" + einfo "AddonManager." + + einfo "There are a lot of additional tools, for which FreeCAD has builtin" + einfo "support. Some of them are available in Gentoo. Take a look at" + einfo "https://wiki.freecad.org/Installing_additional_components" + optfeature_header "External programs used by FreeCAD" + optfeature "dependency graphs" media-gfx/graphviz + optfeature "importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg + optfeature "importing OpenSCAD files, Mesh booleans" media-gfx/openscad + use bim && optfeature "working with COLLADA documents" dev-python/pycollada + if use fem || use mesh; then + optfeature "mesh generation" sci-libs/gmsh + fi +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/media-gfx/freecad/freecad-1.0.0-r3.ebuild b/media-gfx/freecad/freecad-1.0.0-r3.ebuild new file mode 100644 index 000000000000..d90bcdea5bf9 --- /dev/null +++ b/media-gfx/freecad/freecad-1.0.0-r3.ebuild @@ -0,0 +1,305 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{10..12} ) + +inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg + +DESCRIPTION="Qt based Computer Aided Design application" +HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD" + +MY_PN=FreeCAD + +if [[ ${PV} == *9999* ]]; then + inherit git-r3 + EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" + S="${WORKDIR}/freecad-${PV}" +else + SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" + KEYWORDS="~amd64" + S="${WORKDIR}/FreeCAD-${PV}" +fi + +# code is licensed LGPL-2 +# examples are licensed CC-BY-SA (without note of specific version) +LICENSE="LGPL-2 CC-BY-SA-4.0" +SLOT="0" +IUSE="debug designer +gui netgen pcl +smesh spacenav test X" +# Modules are found in src/Mod/ and their options defined in: +# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake +# To get their dependencies: +# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' +IUSE+=" addonmgr assembly +bim cam cloud fem idf inspection +mesh openscad points reverse robot surface +techdraw" + +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + bim? ( mesh ) + cam? ( mesh ) + gui? ( bim ) + designer? ( gui ) + fem? ( smesh ) + inspection? ( points ) + mesh? ( smesh ) + openscad? ( mesh ) + reverse? ( mesh points ) + test? ( techdraw ) +" +# Draft Workbench needs BIM + +RESTRICT="!test? ( test )" + +RDEPEND=" + ${PYTHON_DEPS} + dev-cpp/gtest + dev-cpp/yaml-cpp + dev-libs/boost:= + dev-libs/libfmt:= + dev-libs/xerces-c[icu] + dev-qt/qtbase:6[concurrent,network,xml] + media-libs/freetype + sci-libs/opencascade:=[json] + sys-libs/zlib + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pybind11[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ') + assembly? ( sci-libs/ondselsolver ) + cloud? ( + dev-libs/openssl:= + net-misc/curl + ) + fem? ( + sci-libs/vtk:= + $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') + ) + gui? ( + >=media-libs/coin-4.0.0 + dev-qt/qtbase:6[gui,opengl,widgets] + dev-qt/qtsvg:6 + dev-qt/qttools:6[designer?,widgets] + $(python_gen_cond_dep ' + dev-python/matplotlib[${PYTHON_USEDEP}] + >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] + dev-python/pyside6:=[uitools(-),gui,svg,${PYTHON_USEDEP}] + dev-python/shiboken6:=[${PYTHON_USEDEP}] + ' ) + virtual/glu + virtual/opengl + spacenav? ( dev-libs/libspnav[X?] ) + ) + netgen? ( media-gfx/netgen[opencascade] ) + openscad? ( $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') ) + pcl? ( sci-libs/pcl:= ) + smesh? ( + sci-libs/hdf5:=[zlib] + >=sci-libs/med-4.0.0-r1 + sci-libs/vtk:= + ) +" +DEPEND="${RDEPEND} + >=dev-cpp/eigen-3.3.1:3 + dev-cpp/ms-gsl +" +BDEPEND=" + dev-lang/swig + test? ( dev-cpp/gtest ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch + "${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch + "${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch +) + +DOCS=( CODE_OF_CONDUCT.md README.md ) + +CHECKREQS_DISK_BUILD="2G" + +pkg_setup() { + check-reqs_pkg_setup + python-single-r1_pkg_setup +} + +src_prepare() { + # Fix desktop file + sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die + + cmake_src_prepare +} + +src_configure() { + # -Werror=odr, -Werror=lto-type-mismatch + # https://bugs.gentoo.org/875221 + # https://github.com/FreeCAD/FreeCAD/issues/13173 + filter-lto + + # Fix building tests + append-ldflags -Wl,--copy-dt-needed-entries + + local mycmakeargs=( + -DBUILD_DESIGNER_PLUGIN=$(usex designer) + -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory + -DBUILD_GUI=$(usex gui) + -DBUILD_SMESH=$(usex smesh) + -DBUILD_VR=OFF + -DBUILD_WITH_CONDA=OFF + + # Modules + -DBUILD_ADDONMGR=$(usex addonmgr) + -DBUILD_ASSEMBLY=$(usex assembly) + -DBUILD_BIM=$(usex bim) + -DBUILD_CAM=$(usex cam) + -DBUILD_CLOUD=$(usex cloud) + -DBUILD_DRAFT=ON + # see below for DRAWING + -DBUILD_FEM=$(usex fem) + -DBUILD_FEM_NETGEN=$(usex fem $(usex netgen)) + -DBUILD_FLAT_MESH=$(usex mesh) # a submodule of MeshPart + -DBUILD_HELP=ON + -DBUILD_IDF=$(usex idf) + -DBUILD_IMPORT=ON # import module for various file formats + -DBUILD_INSPECTION=$(usex inspection) + -DBUILD_JTREADER=OFF # uses an old proprietary library + -DBUILD_MATERIAL=ON + -DBUILD_MEASURE=ON + -DBUILD_MESH=$(usex mesh) + -DBUILD_MESH_PART=$(usex mesh) + -DBUILD_OPENSCAD=$(usex openscad) + -DBUILD_PART=ON + -DBUILD_PART_DESIGN=ON + -DBUILD_PLOT=ON + -DBUILD_POINTS=$(usex points) + -DBUILD_REVERSEENGINEERING=$(usex reverse) + -DBUILD_ROBOT=$(usex robot) + -DBUILD_SANDBOX=OFF + -DBUILD_SHOW=$(usex gui) + -DBUILD_SKETCHER=ON # needed by draft workspace + -DBUILD_SPREADSHEET=ON + -DBUILD_START=ON + -DBUILD_SURFACE=$(usex surface) + -DBUILD_TECHDRAW=$(usex techdraw) + -DBUILD_TEST=ON # always build test workbench for run-time testing + -DBUILD_TUX=$(usex gui) + -DBUILD_WEB=ON # needed by start workspace + + -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data + -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} + -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN} + -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN} + + -DFREECAD_BUILD_DEBIAN=OFF + + -DFREECAD_USE_EXTERNAL_ONDSELSOLVER=$(usex assembly) + -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo + -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree + -DFREECAD_USE_FREETYPE=ON + -DFREECAD_USE_OCC_VARIANT:STRING="Official Version" + -DFREECAD_USE_PCL=$(usex pcl) + -DFREECAD_USE_PYBIND11=ON + -DFREECAD_USE_QT_FILEDIALOG=ON + + # install python modules to site-packages' dir. True only for the main package, + # sub-packages will still be installed inside /usr/lib64/freecad + -DINSTALL_TO_SITEPACKAGES=ON + + # Use the version of shiboken2 that matches the selected python version + -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" + -DPython3_EXECUTABLE=${PYTHON} + ) + + if use debug; then + # BUILD_SANDBOX currently broken, see + # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595 + mycmakeargs+=( + -DBUILD_SANDBOX=OFF + -DBUILD_TEMPLATE=ON + ) + else + mycmakeargs+=( + -DBUILD_SANDBOX=OFF + -DBUILD_TEMPLATE=OFF + ) + fi + + if use gui; then + mycmakeargs+=( + -DFREECAD_QT_MAJOR_VERSION=6 + -DFREECAD_QT_VERSION=6 + -DQT_DEFAULT_MAJOR_VERSION=6 + -DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc" + -DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc" + -DBUILD_QT5=OFF + # Drawing module unmaintained and not ported to qt6 + -DBUILD_DRAWING=OFF + ) + fi + + cmake_src_configure +} + +# We use the FreeCADCmd binary instead of the FreeCAD binary here +# for two reasons: +# 1. It works out of the box with USE=-gui as well, not needing a guard +# 2. We don't need virtualx.eclass and its dependencies +# The environment variables are needed, so that FreeCAD knows +# where to save its temporary files, and where to look and write its +# configuration. Without those, there is a sandbox violation, when it +# tries to create /var/lib/portage/home/.FreeCAD directory. +src_test() { + cd "${BUILD_DIR}" || die + + local -x FREECAD_USER_HOME="${HOME}" + local -x FREECAD_USER_DATA="${T}" + local -x FREECAD_USER_TEMP="${T}" + ./bin/FreeCADCmd --run-test 0 --set-config AppHomePath="${BUILD_DIR}/" || die +} + +src_install() { + cmake_src_install + + dobin src/Tools/freecad-thumbnailer + + if use gui; then + newbin - freecad <<- _EOF_ + #!/bin/sh + # https://github.com/coin3d/coin/issues/451 + : "\${QT_QPA_PLATFORM:=xcb}" + export QT_QPA_PLATFORM + exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}" + _EOF_ + mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources" + fi + dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd + + rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format" + + python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/ + # compile main package in python site-packages as well + python_optimize +} + +pkg_postinst() { + xdg_pkg_postinst + + einfo "You can load a lot of additional workbenches using the integrated" + einfo "AddonManager." + + einfo "There are a lot of additional tools, for which FreeCAD has builtin" + einfo "support. Some of them are available in Gentoo. Take a look at" + einfo "https://wiki.freecad.org/Installing_additional_components" + optfeature_header "External programs used by FreeCAD" + optfeature "dependency graphs" media-gfx/graphviz + optfeature "importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg + optfeature "importing OpenSCAD files, Mesh booleans" media-gfx/openscad + use bim && optfeature "working with COLLADA documents" dev-python/pycollada + if use fem || use mesh; then + optfeature "mesh generation" sci-libs/gmsh + fi +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/media-gfx/freecad/freecad-1.0_rc1-r1.ebuild b/media-gfx/freecad/freecad-1.0_rc1-r1.ebuild deleted file mode 100644 index 5d2b39ba14a5..000000000000 --- a/media-gfx/freecad/freecad-1.0_rc1-r1.ebuild +++ /dev/null @@ -1,394 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg - -DESCRIPTION="QT based Computer Aided Design application" -HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD" - -MY_PN=FreeCAD -MY_PV="${PV/_/}" - -if [[ ${PV} = *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" - S="${WORKDIR}/freecad-${PV}" -else - SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" - S="${WORKDIR}/FreeCAD-${MY_PV}" -fi - -# code is licensed LGPL-2 -# examples are licensed CC-BY-SA (without note of specific version) -LICENSE="LGPL-2 CC-BY-SA-4.0" -SLOT="0" -IUSE="debug designer +gui +qt6 test" - -FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl" -FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material - openscad part-design path points raytracing robot show smesh - surface techdraw tux" - -for module in ${FREECAD_STABLE_MODULES}; do - IUSE="${IUSE} +${module}" -done -for module in ${FREECAD_EXPERIMENTAL_MODULES}; do - IUSE="${IUSE} ${module}" -done -unset module - -RESTRICT="!test? ( test )" - -RDEPEND=" - ${PYTHON_DEPS} - dev-cpp/gtest - dev-cpp/yaml-cpp - dev-libs/OpenNI2[opengl(+)] - dev-libs/boost:= - dev-libs/libfmt:= - dev-libs/libspnav[X] - dev-libs/xerces-c[icu] - dev-ruby/asciidoctor - !qt6? ( - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtnetwork:5 - dev-qt/qtxml:5 - dev-qt/qtxmlpatterns:5 - ) - qt6? ( - dev-qt/qtbase:6[concurrent,network,xml] - ) - media-libs/freetype - media-libs/qhull:= - sci-libs/hdf5:=[fortran,zlib] - >=sci-libs/med-4.0.0-r1 - sci-libs/opencascade:=[json,vtk] - sci-libs/orocos_kdl:= - sys-libs/zlib - virtual/libusb:1 - cloud? ( - dev-libs/openssl:= - net-misc/curl - ) - fem? ( - !qt6? ( sci-libs/vtk:=[qt5,rendering] ) - qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] ) - ) - gui? ( - >=media-libs/coin-4.0.0 - virtual/glu - virtual/opengl - !qt6? ( - dev-qt/designer:5 - dev-qt/qtgui:5 - dev-qt/qtopengl:5 - dev-qt/qtprintsupport:5 - dev-qt/qtsvg:5 - dev-qt/qtwebengine:5[widgets] - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - pcl? ( sci-libs/pcl[qt5] ) - $(python_gen_cond_dep ' - dev-python/matplotlib[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}] - dev-python/shiboken2:=[${PYTHON_USEDEP}] - ' python3_{10..11} ) - ) - qt6? ( - designer? ( dev-qt/qttools:6[designer] ) - dev-qt/qt5compat:6 - dev-qt/qttools:6[widgets] - dev-qt/qtbase:6[gui,opengl,widgets] - dev-qt/qtsvg:6 - dev-qt/qtwebengine:6[widgets] - pcl? ( sci-libs/pcl[-qt5,qt6(-)] ) - $(python_gen_cond_dep ' - dev-python/matplotlib[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}] - dev-python/shiboken6:=[${PYTHON_USEDEP}] - ' ) - ) - ) - netgen? ( media-gfx/netgen[opencascade] ) - openscad? ( media-gfx/openscad ) - pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] ) - smesh? ( - !qt6? ( sci-libs/vtk:=[qt5] ) - qt6? ( sci-libs/vtk:=[-qt5,qt6] ) - ) - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pybind11[${PYTHON_USEDEP}] - addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] ) - fem? ( dev-python/ply[${PYTHON_USEDEP}] ) - ') -" -DEPEND="${RDEPEND} - >=dev-cpp/eigen-3.3.1:3 - dev-cpp/ms-gsl - test? ( - $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') - !qt6? ( dev-qt/qttest:5 ) - ) -" -BDEPEND=" - app-text/dos2unix - dev-lang/swig - test? ( - $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') - !qt6? ( dev-qt/qttest:5 ) - dev-cpp/gtest - ) -" - -# To get required dependencies: -# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' -# We set the following requirements by default: -# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web. -# -# Additionally, we auto-enable mesh_part, flat_mesh and smesh -# Fem actually needs smesh, but as long as we don't have a smesh package, we enable -# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't -# reflected by the REQUIRES_MODS macro, but at -# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187. -# -# The increase in auto-enabled workbenches is due to their need in parts of the -# test suite when compiled with a minimal set of USE flags. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - designer? ( gui ) - inspection? ( points ) - path? ( robot ) - python_single_target_python3_12? ( gui? ( qt6 ) ) -" -# There is no py3.12 support planned for pyside2 - -PATCHES=( - "${FILESDIR}"/${PN}-9999-Gentoo-specific-don-t-check-vcs.patch - "${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch - "${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch -) - -DOCS=( CODE_OF_CONDUCT.md README.md ) - -CHECKREQS_DISK_BUILD="2G" - -pkg_setup() { - check-reqs_pkg_setup - python-single-r1_pkg_setup - [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade" -} - -src_prepare() { - # Fix desktop file - sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die - - find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings" - - cmake_src_prepare -} - -src_configure() { - # -Werror=odr, -Werror=lto-type-mismatch - # https://bugs.gentoo.org/875221 - # https://github.com/FreeCAD/FreeCAD/issues/13173 - filter-lto - - # Fix building tests - append-ldflags -Wl,--copy-dt-needed-entries - - local mycmakeargs=( - -DBUILD_ADDONMGR=$(usex addonmgr) - -DBUILD_ARCH=ON - -DBUILD_ASSEMBLY=OFF # Requires OndselSolver - -DBUILD_CLOUD=$(usex cloud) - -DBUILD_COMPLETE=OFF # deprecated - -DBUILD_DRAFT=ON - -DBUILD_DESIGNER_PLUGIN=$(usex designer) - -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master - -DBUILD_FEM=$(usex fem) - -DBUILD_FEM_NETGEN=$(usex netgen) - -DBUILD_FLAT_MESH=ON - -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory - -DBUILD_FREETYPE=ON # automagic dep - -DBUILD_GUI=$(usex gui) - -DBUILD_IDF=$(usex idf) - -DBUILD_IMAGE=$(usex image) - -DBUILD_IMPORT=ON # import module for various file formats - -DBUILD_INSPECTION=$(usex inspection) - -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there - -DBUILD_MATERIAL=$(usex material) - -DBUILD_MESH=ON - -DBUILD_MESH_PART=ON - -DBUILD_OPENSCAD=$(usex openscad) - -DBUILD_PART=ON - -DBUILD_PART_DESIGN=$(usex part-design) - -DBUILD_PATH=$(usex path) - -DBUILD_POINTS=$(usex points) - -DBUILD_RAYTRACING=$(usex raytracing) - -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox - -DBUILD_ROBOT=$(usex robot) - -DBUILD_SHOW=$(usex show) - -DBUILD_SKETCHER=ON # needed by draft workspace - -DBUILD_SMESH=$(usex smesh) - -DBUILD_SPREADSHEET=ON - -DBUILD_START=ON - -DBUILD_SURFACE=$(usex surface) - -DBUILD_TECHDRAW=$(usex techdraw) - -DBUILD_TEST=ON # always build test workbench for run-time testing - -DBUILD_TUX=$(usex tux) - -DBUILD_VR=OFF - -DBUILD_WEB=ON # needed by start workspace - -DBUILD_WITH_CONDA=OFF - - -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data - -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} - -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN} - -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN} - - -DFREECAD_BUILD_DEBIAN=OFF - - -DFREECAD_USE_EXTERNAL_KDL=ON - -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo - -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree - -DFREECAD_USE_FREETYPE=ON - -DFREECAD_USE_OCC_VARIANT:STRING="Official Version" - -DFREECAD_USE_PCL=$(usex pcl) - -DFREECAD_USE_PYBIND11=ON - -DFREECAD_USE_QT_FILEDIALOG=ON - -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine" - - # install python modules to site-packages' dir. True only for the main package, - # sub-packages will still be installed inside /usr/lib64/freecad - -DINSTALL_TO_SITEPACKAGES=ON - - # Use the version of shiboken2 that matches the selected python version - -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" - -DPython3_EXECUTABLE=${PYTHON} - ) - - if use debug; then - # BUILD_SANDBOX currently broken, see - # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595 - mycmakeargs+=( - -DBUILD_SANDBOX=OFF - -DBUILD_TEMPLATE=ON - ) - else - mycmakeargs+=( - -DBUILD_SANDBOX=OFF - -DBUILD_TEMPLATE=OFF - ) - fi - - if use qt6; then - mycmakeargs+=( - -DFREECAD_QT_MAJOR_VERSION=6 - -DFREECAD_QT_VERSION=6 - -DQT_DEFAULT_MAJOR_VERSION=6 - -DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc" - -DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc" - -DBUILD_QT5=OFF - # Drawing module unmaintained and not ported to qt6 - -DBUILD_DRAWING=OFF - ) - else - mycmakeargs+=( - -DFREECAD_QT_MAJOR_VERSION=5 - -DFREECAD_QT_VERSION=5 - -DQT_DEFAULT_MAJOR_VERSION=5 - -DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc" - -DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc" - -DBUILD_QT5=ON - # Drawing module unmaintained and not ported to qt6 - -DBUILD_DRAWING=ON - ) - fi - - cmake_src_configure -} - -# We use the FreeCADCmd binary instead of the FreeCAD binary here -# for two reasons: -# 1. It works out of the box with USE=-gui as well, not needing a guard -# 2. We don't need virtualx.eclass and it's dependencies -# The exported environment variables are needed, so freecad does know -# where to save it's temporary files, and where to look and write it's -# configuration. Without those, there are sandbox violation, when it -# tries to create /var/lib/portage/home/.FreeCAD directory. -src_test() { - pushd "${BUILD_DIR}" > /dev/null || die - export FREECAD_USER_HOME="${HOME}" - export FREECAD_USER_DATA="${T}" - export FREECAD_USER_TEMP="${T}" - nonfatal ./bin/FreeCADCmd --run-test 0 - popd > /dev/null || die -} - -src_install() { - cmake_src_install - - dobin src/Tools/freecad-thumbnailer - - if use gui; then - newbin - freecad <<- _EOF_ - #!/bin/sh - # https://github.com/coin3d/coin/issues/451 - : \${QT_QPA_PLATFORM:=xcb} - export QT_QPA_PLATFORM - exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}" - _EOF_ - mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources" - fi - dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd - - rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format" - - python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/ - # compile main package in python site-packages as well - python_optimize -} - -pkg_postinst() { - xdg_pkg_postinst - - einfo "You can load a lot of additional workbenches using the integrated" - einfo "AddonManager." - - # ToDo: check opencv, pysolar (::science), elmerfem (::science) - # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl) - einfo "There are a lot of additional tools, for which FreeCAD has builtin" - einfo "support. Some of them are available in Gentoo. Take a look at" - einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD" - optfeature_header "Computational utilities" - optfeature "BLAS library" sci-libs/openblas - optfeature "Statistical computation with Python" dev-python/pandas - optfeature "Use scientific computation with Python" dev-python/scipy - optfeature "Use symbolic math with Python" dev-python/sympy - optfeature_header "Imaging, Plotting and Rendering utilities" - optfeature "Dependency graphs" media-gfx/graphviz - optfeature "PBR Rendering" media-gfx/povray - optfeature_header "Import / Export" - optfeature "Interact with git repositories" dev-python/GitPython - optfeature "Work with COLLADA documents" dev-python/pycollada - optfeature "YAML importer and emitter" dev-python/pyyaml - optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg - optfeature "Importing and exporting geospatial data formats" sci-libs/gdal - optfeature "Working with projection data" sci-libs/proj - optfeature_header "Meshing and FEM" - optfeature "FEM mesh generator" sci-libs/gmsh - optfeature "Triangulating meshes" sci-libs/gts - optfeature "Visualization" sci-visualization/paraview -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/media-gfx/freecad/freecad-1.0_rc2.ebuild b/media-gfx/freecad/freecad-1.0_rc2.ebuild deleted file mode 100644 index 5d2b39ba14a5..000000000000 --- a/media-gfx/freecad/freecad-1.0_rc2.ebuild +++ /dev/null @@ -1,394 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) - -inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg - -DESCRIPTION="QT based Computer Aided Design application" -HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD" - -MY_PN=FreeCAD -MY_PV="${PV/_/}" - -if [[ ${PV} = *9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" - S="${WORKDIR}/freecad-${PV}" -else - SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${MY_PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" - S="${WORKDIR}/FreeCAD-${MY_PV}" -fi - -# code is licensed LGPL-2 -# examples are licensed CC-BY-SA (without note of specific version) -LICENSE="LGPL-2 CC-BY-SA-4.0" -SLOT="0" -IUSE="debug designer +gui +qt6 test" - -FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl" -FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material - openscad part-design path points raytracing robot show smesh - surface techdraw tux" - -for module in ${FREECAD_STABLE_MODULES}; do - IUSE="${IUSE} +${module}" -done -for module in ${FREECAD_EXPERIMENTAL_MODULES}; do - IUSE="${IUSE} ${module}" -done -unset module - -RESTRICT="!test? ( test )" - -RDEPEND=" - ${PYTHON_DEPS} - dev-cpp/gtest - dev-cpp/yaml-cpp - dev-libs/OpenNI2[opengl(+)] - dev-libs/boost:= - dev-libs/libfmt:= - dev-libs/libspnav[X] - dev-libs/xerces-c[icu] - dev-ruby/asciidoctor - !qt6? ( - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtnetwork:5 - dev-qt/qtxml:5 - dev-qt/qtxmlpatterns:5 - ) - qt6? ( - dev-qt/qtbase:6[concurrent,network,xml] - ) - media-libs/freetype - media-libs/qhull:= - sci-libs/hdf5:=[fortran,zlib] - >=sci-libs/med-4.0.0-r1 - sci-libs/opencascade:=[json,vtk] - sci-libs/orocos_kdl:= - sys-libs/zlib - virtual/libusb:1 - cloud? ( - dev-libs/openssl:= - net-misc/curl - ) - fem? ( - !qt6? ( sci-libs/vtk:=[qt5,rendering] ) - qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] ) - ) - gui? ( - >=media-libs/coin-4.0.0 - virtual/glu - virtual/opengl - !qt6? ( - dev-qt/designer:5 - dev-qt/qtgui:5 - dev-qt/qtopengl:5 - dev-qt/qtprintsupport:5 - dev-qt/qtsvg:5 - dev-qt/qtwebengine:5[widgets] - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - pcl? ( sci-libs/pcl[qt5] ) - $(python_gen_cond_dep ' - dev-python/matplotlib[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}] - dev-python/shiboken2:=[${PYTHON_USEDEP}] - ' python3_{10..11} ) - ) - qt6? ( - designer? ( dev-qt/qttools:6[designer] ) - dev-qt/qt5compat:6 - dev-qt/qttools:6[widgets] - dev-qt/qtbase:6[gui,opengl,widgets] - dev-qt/qtsvg:6 - dev-qt/qtwebengine:6[widgets] - pcl? ( sci-libs/pcl[-qt5,qt6(-)] ) - $(python_gen_cond_dep ' - dev-python/matplotlib[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}] - dev-python/shiboken6:=[${PYTHON_USEDEP}] - ' ) - ) - ) - netgen? ( media-gfx/netgen[opencascade] ) - openscad? ( media-gfx/openscad ) - pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] ) - smesh? ( - !qt6? ( sci-libs/vtk:=[qt5] ) - qt6? ( sci-libs/vtk:=[-qt5,qt6] ) - ) - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pybind11[${PYTHON_USEDEP}] - addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] ) - fem? ( dev-python/ply[${PYTHON_USEDEP}] ) - ') -" -DEPEND="${RDEPEND} - >=dev-cpp/eigen-3.3.1:3 - dev-cpp/ms-gsl - test? ( - $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') - !qt6? ( dev-qt/qttest:5 ) - ) -" -BDEPEND=" - app-text/dos2unix - dev-lang/swig - test? ( - $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') - !qt6? ( dev-qt/qttest:5 ) - dev-cpp/gtest - ) -" - -# To get required dependencies: -# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' -# We set the following requirements by default: -# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web. -# -# Additionally, we auto-enable mesh_part, flat_mesh and smesh -# Fem actually needs smesh, but as long as we don't have a smesh package, we enable -# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't -# reflected by the REQUIRES_MODS macro, but at -# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187. -# -# The increase in auto-enabled workbenches is due to their need in parts of the -# test suite when compiled with a minimal set of USE flags. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - designer? ( gui ) - inspection? ( points ) - path? ( robot ) - python_single_target_python3_12? ( gui? ( qt6 ) ) -" -# There is no py3.12 support planned for pyside2 - -PATCHES=( - "${FILESDIR}"/${PN}-9999-Gentoo-specific-don-t-check-vcs.patch - "${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch - "${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch -) - -DOCS=( CODE_OF_CONDUCT.md README.md ) - -CHECKREQS_DISK_BUILD="2G" - -pkg_setup() { - check-reqs_pkg_setup - python-single-r1_pkg_setup - [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade" -} - -src_prepare() { - # Fix desktop file - sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die - - find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings" - - cmake_src_prepare -} - -src_configure() { - # -Werror=odr, -Werror=lto-type-mismatch - # https://bugs.gentoo.org/875221 - # https://github.com/FreeCAD/FreeCAD/issues/13173 - filter-lto - - # Fix building tests - append-ldflags -Wl,--copy-dt-needed-entries - - local mycmakeargs=( - -DBUILD_ADDONMGR=$(usex addonmgr) - -DBUILD_ARCH=ON - -DBUILD_ASSEMBLY=OFF # Requires OndselSolver - -DBUILD_CLOUD=$(usex cloud) - -DBUILD_COMPLETE=OFF # deprecated - -DBUILD_DRAFT=ON - -DBUILD_DESIGNER_PLUGIN=$(usex designer) - -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master - -DBUILD_FEM=$(usex fem) - -DBUILD_FEM_NETGEN=$(usex netgen) - -DBUILD_FLAT_MESH=ON - -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory - -DBUILD_FREETYPE=ON # automagic dep - -DBUILD_GUI=$(usex gui) - -DBUILD_IDF=$(usex idf) - -DBUILD_IMAGE=$(usex image) - -DBUILD_IMPORT=ON # import module for various file formats - -DBUILD_INSPECTION=$(usex inspection) - -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there - -DBUILD_MATERIAL=$(usex material) - -DBUILD_MESH=ON - -DBUILD_MESH_PART=ON - -DBUILD_OPENSCAD=$(usex openscad) - -DBUILD_PART=ON - -DBUILD_PART_DESIGN=$(usex part-design) - -DBUILD_PATH=$(usex path) - -DBUILD_POINTS=$(usex points) - -DBUILD_RAYTRACING=$(usex raytracing) - -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox - -DBUILD_ROBOT=$(usex robot) - -DBUILD_SHOW=$(usex show) - -DBUILD_SKETCHER=ON # needed by draft workspace - -DBUILD_SMESH=$(usex smesh) - -DBUILD_SPREADSHEET=ON - -DBUILD_START=ON - -DBUILD_SURFACE=$(usex surface) - -DBUILD_TECHDRAW=$(usex techdraw) - -DBUILD_TEST=ON # always build test workbench for run-time testing - -DBUILD_TUX=$(usex tux) - -DBUILD_VR=OFF - -DBUILD_WEB=ON # needed by start workspace - -DBUILD_WITH_CONDA=OFF - - -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data - -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} - -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN} - -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN} - - -DFREECAD_BUILD_DEBIAN=OFF - - -DFREECAD_USE_EXTERNAL_KDL=ON - -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo - -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree - -DFREECAD_USE_FREETYPE=ON - -DFREECAD_USE_OCC_VARIANT:STRING="Official Version" - -DFREECAD_USE_PCL=$(usex pcl) - -DFREECAD_USE_PYBIND11=ON - -DFREECAD_USE_QT_FILEDIALOG=ON - -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine" - - # install python modules to site-packages' dir. True only for the main package, - # sub-packages will still be installed inside /usr/lib64/freecad - -DINSTALL_TO_SITEPACKAGES=ON - - # Use the version of shiboken2 that matches the selected python version - -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}" - -DPython3_EXECUTABLE=${PYTHON} - ) - - if use debug; then - # BUILD_SANDBOX currently broken, see - # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595 - mycmakeargs+=( - -DBUILD_SANDBOX=OFF - -DBUILD_TEMPLATE=ON - ) - else - mycmakeargs+=( - -DBUILD_SANDBOX=OFF - -DBUILD_TEMPLATE=OFF - ) - fi - - if use qt6; then - mycmakeargs+=( - -DFREECAD_QT_MAJOR_VERSION=6 - -DFREECAD_QT_VERSION=6 - -DQT_DEFAULT_MAJOR_VERSION=6 - -DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc" - -DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc" - -DBUILD_QT5=OFF - # Drawing module unmaintained and not ported to qt6 - -DBUILD_DRAWING=OFF - ) - else - mycmakeargs+=( - -DFREECAD_QT_MAJOR_VERSION=5 - -DFREECAD_QT_VERSION=5 - -DQT_DEFAULT_MAJOR_VERSION=5 - -DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc" - -DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc" - -DBUILD_QT5=ON - # Drawing module unmaintained and not ported to qt6 - -DBUILD_DRAWING=ON - ) - fi - - cmake_src_configure -} - -# We use the FreeCADCmd binary instead of the FreeCAD binary here -# for two reasons: -# 1. It works out of the box with USE=-gui as well, not needing a guard -# 2. We don't need virtualx.eclass and it's dependencies -# The exported environment variables are needed, so freecad does know -# where to save it's temporary files, and where to look and write it's -# configuration. Without those, there are sandbox violation, when it -# tries to create /var/lib/portage/home/.FreeCAD directory. -src_test() { - pushd "${BUILD_DIR}" > /dev/null || die - export FREECAD_USER_HOME="${HOME}" - export FREECAD_USER_DATA="${T}" - export FREECAD_USER_TEMP="${T}" - nonfatal ./bin/FreeCADCmd --run-test 0 - popd > /dev/null || die -} - -src_install() { - cmake_src_install - - dobin src/Tools/freecad-thumbnailer - - if use gui; then - newbin - freecad <<- _EOF_ - #!/bin/sh - # https://github.com/coin3d/coin/issues/451 - : \${QT_QPA_PLATFORM:=xcb} - export QT_QPA_PLATFORM - exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}" - _EOF_ - mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources" - fi - dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd - - rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format" - - python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/ - # compile main package in python site-packages as well - python_optimize -} - -pkg_postinst() { - xdg_pkg_postinst - - einfo "You can load a lot of additional workbenches using the integrated" - einfo "AddonManager." - - # ToDo: check opencv, pysolar (::science), elmerfem (::science) - # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl) - einfo "There are a lot of additional tools, for which FreeCAD has builtin" - einfo "support. Some of them are available in Gentoo. Take a look at" - einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD" - optfeature_header "Computational utilities" - optfeature "BLAS library" sci-libs/openblas - optfeature "Statistical computation with Python" dev-python/pandas - optfeature "Use scientific computation with Python" dev-python/scipy - optfeature "Use symbolic math with Python" dev-python/sympy - optfeature_header "Imaging, Plotting and Rendering utilities" - optfeature "Dependency graphs" media-gfx/graphviz - optfeature "PBR Rendering" media-gfx/povray - optfeature_header "Import / Export" - optfeature "Interact with git repositories" dev-python/GitPython - optfeature "Work with COLLADA documents" dev-python/pycollada - optfeature "YAML importer and emitter" dev-python/pyyaml - optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg - optfeature "Importing and exporting geospatial data formats" sci-libs/gdal - optfeature "Working with projection data" sci-libs/proj - optfeature_header "Meshing and FEM" - optfeature "FEM mesh generator" sci-libs/gmsh - optfeature "Triangulating meshes" sci-libs/gts - optfeature "Visualization" sci-visualization/paraview -} - -pkg_postrm() { - xdg_pkg_postrm -} diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild index b323eccffe9b..ed5c07ceb995 100644 --- a/media-gfx/freecad/freecad-9999.ebuild +++ b/media-gfx/freecad/freecad-9999.ebuild @@ -7,12 +7,12 @@ PYTHON_COMPAT=( python3_{10..12} ) inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg -DESCRIPTION="QT based Computer Aided Design application" +DESCRIPTION="Qt based Computer Aided Design application" HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD" MY_PN=FreeCAD -if [[ ${PV} = *9999 ]]; then +if [[ ${PV} == *9999* ]]; then inherit git-r3 EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git" S="${WORKDIR}/freecad-${PV}" @@ -26,20 +26,27 @@ fi # examples are licensed CC-BY-SA (without note of specific version) LICENSE="LGPL-2 CC-BY-SA-4.0" SLOT="0" -IUSE="debug designer +gui +qt6 test" - -FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl" -FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material - openscad part-design path points raytracing robot show smesh - surface techdraw tux" +IUSE="debug designer +gui netgen pcl +smesh spacenav test X" +# Modules are found in src/Mod/ and their options defined in: +# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake +# To get their dependencies: +# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' +IUSE+=" addonmgr assembly +bim cam cloud fem idf inspection +mesh openscad points reverse robot surface +techdraw" -for module in ${FREECAD_STABLE_MODULES}; do - IUSE="${IUSE} +${module}" -done -for module in ${FREECAD_EXPERIMENTAL_MODULES}; do - IUSE="${IUSE} ${module}" -done -unset module +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + bim? ( mesh ) + cam? ( mesh ) + gui? ( bim ) + designer? ( gui ) + fem? ( smesh ) + inspection? ( points ) + mesh? ( smesh ) + openscad? ( mesh ) + reverse? ( mesh points ) + test? ( techdraw ) +" +# Draft Workbench needs BIM RESTRICT="!test? ( test )" @@ -47,127 +54,60 @@ RDEPEND=" ${PYTHON_DEPS} dev-cpp/gtest dev-cpp/yaml-cpp - dev-libs/OpenNI2[opengl(+)] dev-libs/boost:= dev-libs/libfmt:= - dev-libs/libspnav[X] dev-libs/xerces-c[icu] - dev-ruby/asciidoctor - !qt6? ( - dev-qt/qtconcurrent:5 - dev-qt/qtcore:5 - dev-qt/qtnetwork:5 - dev-qt/qtxml:5 - dev-qt/qtxmlpatterns:5 - ) - qt6? ( - dev-qt/qtbase:6[concurrent,network,xml] - ) + dev-qt/qtbase:6[concurrent,network,xml] media-libs/freetype - media-libs/qhull:= - sci-libs/hdf5:=[fortran,zlib] - >=sci-libs/med-4.0.0-r1 - sci-libs/opencascade:=[json,vtk] - sci-libs/orocos_kdl:= + sci-libs/opencascade:=[json] sys-libs/zlib - virtual/libusb:1 + $(python_gen_cond_dep ' + dev-python/numpy[${PYTHON_USEDEP}] + dev-python/pybind11[${PYTHON_USEDEP}] + dev-python/pyyaml[${PYTHON_USEDEP}] + ') + assembly? ( sci-libs/ondselsolver ) cloud? ( dev-libs/openssl:= net-misc/curl ) fem? ( - !qt6? ( sci-libs/vtk:=[qt5,rendering] ) - qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] ) + sci-libs/vtk:= + $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') ) gui? ( >=media-libs/coin-4.0.0 + dev-qt/qtbase:6[gui,opengl,widgets] + dev-qt/qtsvg:6 + dev-qt/qttools:6[designer?,widgets] + $(python_gen_cond_dep ' + dev-python/matplotlib[${PYTHON_USEDEP}] + >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] + dev-python/pyside6:=[uitools(-),gui,svg,${PYTHON_USEDEP}] + dev-python/shiboken6:=[${PYTHON_USEDEP}] + ' ) virtual/glu virtual/opengl - !qt6? ( - dev-qt/designer:5 - dev-qt/qtgui:5 - dev-qt/qtopengl:5 - dev-qt/qtprintsupport:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - dev-qt/qtx11extras:5 - pcl? ( sci-libs/pcl[qt5] ) - $(python_gen_cond_dep ' - dev-python/matplotlib[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pyside2:=[gui,svg,webchannel,${PYTHON_USEDEP}] - dev-python/shiboken2:=[${PYTHON_USEDEP}] - ' python3_{10..11} ) - ) - qt6? ( - designer? ( dev-qt/qttools:6[designer] ) - dev-qt/qt5compat:6 - dev-qt/qttools:6[widgets] - dev-qt/qtbase:6[gui,opengl,widgets] - dev-qt/qtsvg:6 - pcl? ( sci-libs/pcl[-qt5,qt6(-)] ) - $(python_gen_cond_dep ' - dev-python/matplotlib[${PYTHON_USEDEP}] - >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}] - dev-python/pyside6:=[gui,svg,webchannel,${PYTHON_USEDEP}] - dev-python/shiboken6:=[${PYTHON_USEDEP}] - ' ) - ) + spacenav? ( dev-libs/libspnav[X?] ) ) netgen? ( media-gfx/netgen[opencascade] ) - openscad? ( media-gfx/openscad ) - pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] ) + openscad? ( $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') ) + pcl? ( sci-libs/pcl:= ) smesh? ( - !qt6? ( sci-libs/vtk:=[qt5] ) - qt6? ( sci-libs/vtk:=[-qt5,qt6] ) + sci-libs/hdf5:=[zlib] + >=sci-libs/med-4.0.0-r1 + sci-libs/vtk:= ) - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - dev-python/pybind11[${PYTHON_USEDEP}] - addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] ) - fem? ( dev-python/ply[${PYTHON_USEDEP}] ) - ') " DEPEND="${RDEPEND} >=dev-cpp/eigen-3.3.1:3 dev-cpp/ms-gsl - test? ( - $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') - !qt6? ( dev-qt/qttest:5 ) - ) " BDEPEND=" - app-text/dos2unix dev-lang/swig - test? ( - $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') - !qt6? ( dev-qt/qttest:5 ) - dev-cpp/gtest - ) + test? ( dev-cpp/gtest ) " -# To get required dependencies: -# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake' -# We set the following requirements by default: -# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web. -# -# Additionally, we auto-enable mesh_part, flat_mesh and smesh -# Fem actually needs smesh, but as long as we don't have a smesh package, we enable -# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't -# reflected by the REQUIRES_MODS macro, but at -# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187. -# -# The increase in auto-enabled workbenches is due to their need in parts of the -# test suite when compiled with a minimal set of USE flags. -REQUIRED_USE=" - ${PYTHON_REQUIRED_USE} - designer? ( gui ) - inspection? ( points ) - path? ( robot ) - python_single_target_python3_12? ( gui? ( qt6 ) ) -" -# There is no py3.12 support planned for pyside2 - PATCHES=( "${FILESDIR}"/${PN}-9999-Gentoo-specific-don-t-check-vcs.patch "${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch @@ -181,15 +121,12 @@ CHECKREQS_DISK_BUILD="2G" pkg_setup() { check-reqs_pkg_setup python-single-r1_pkg_setup - [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade" } src_prepare() { # Fix desktop file sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die - find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings" - cmake_src_prepare } @@ -203,48 +140,50 @@ src_configure() { append-ldflags -Wl,--copy-dt-needed-entries local mycmakeargs=( + -DBUILD_DESIGNER_PLUGIN=$(usex designer) + -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory + -DBUILD_GUI=$(usex gui) + -DBUILD_SMESH=$(usex smesh) + -DBUILD_VR=OFF + -DBUILD_WITH_CONDA=OFF + + # Modules -DBUILD_ADDONMGR=$(usex addonmgr) - -DBUILD_ARCH=ON - -DBUILD_ASSEMBLY=OFF # Requires OndselSolver + -DBUILD_ASSEMBLY=$(usex assembly) + -DBUILD_BIM=$(usex bim) + -DBUILD_CAM=$(usex cam) -DBUILD_CLOUD=$(usex cloud) - -DBUILD_COMPLETE=OFF # deprecated -DBUILD_DRAFT=ON - -DBUILD_DESIGNER_PLUGIN=$(usex designer) - -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master + # see below for DRAWING -DBUILD_FEM=$(usex fem) - -DBUILD_FEM_NETGEN=$(usex netgen) - -DBUILD_FLAT_MESH=ON - -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory - -DBUILD_FREETYPE=ON # automagic dep - -DBUILD_GUI=$(usex gui) + -DBUILD_FEM_NETGEN=$(usex fem $(usex netgen)) + -DBUILD_FLAT_MESH=$(usex mesh) # a submodule of MeshPart + -DBUILD_HELP=ON -DBUILD_IDF=$(usex idf) - -DBUILD_IMAGE=$(usex image) -DBUILD_IMPORT=ON # import module for various file formats -DBUILD_INSPECTION=$(usex inspection) - -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there - -DBUILD_MATERIAL=$(usex material) - -DBUILD_MESH=ON - -DBUILD_MESH_PART=ON + -DBUILD_JTREADER=OFF # uses an old proprietary library + -DBUILD_MATERIAL=ON + -DBUILD_MEASURE=ON + -DBUILD_MESH=$(usex mesh) + -DBUILD_MESH_PART=$(usex mesh) -DBUILD_OPENSCAD=$(usex openscad) -DBUILD_PART=ON - -DBUILD_PART_DESIGN=$(usex part-design) - -DBUILD_PATH=$(usex path) + -DBUILD_PART_DESIGN=ON + -DBUILD_PLOT=ON -DBUILD_POINTS=$(usex points) - -DBUILD_RAYTRACING=$(usex raytracing) - -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox + -DBUILD_REVERSEENGINEERING=$(usex reverse) -DBUILD_ROBOT=$(usex robot) - -DBUILD_SHOW=$(usex show) + -DBUILD_SANDBOX=OFF + -DBUILD_SHOW=$(usex gui) -DBUILD_SKETCHER=ON # needed by draft workspace - -DBUILD_SMESH=$(usex smesh) -DBUILD_SPREADSHEET=ON -DBUILD_START=ON -DBUILD_SURFACE=$(usex surface) -DBUILD_TECHDRAW=$(usex techdraw) -DBUILD_TEST=ON # always build test workbench for run-time testing - -DBUILD_TUX=$(usex tux) - -DBUILD_VR=OFF + -DBUILD_TUX=$(usex gui) -DBUILD_WEB=ON # needed by start workspace - -DBUILD_WITH_CONDA=OFF -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF} @@ -253,7 +192,7 @@ src_configure() { -DFREECAD_BUILD_DEBIAN=OFF - -DFREECAD_USE_EXTERNAL_KDL=ON + -DFREECAD_USE_EXTERNAL_ONDSELSOLVER=$(usex assembly) -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree -DFREECAD_USE_FREETYPE=ON @@ -285,7 +224,7 @@ src_configure() { ) fi - if use qt6; then + if use gui; then mycmakeargs+=( -DFREECAD_QT_MAJOR_VERSION=6 -DFREECAD_QT_VERSION=6 @@ -296,17 +235,6 @@ src_configure() { # Drawing module unmaintained and not ported to qt6 -DBUILD_DRAWING=OFF ) - else - mycmakeargs+=( - -DFREECAD_QT_MAJOR_VERSION=5 - -DFREECAD_QT_VERSION=5 - -DQT_DEFAULT_MAJOR_VERSION=5 - -DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc" - -DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc" - -DBUILD_QT5=ON - # Drawing module unmaintained and not ported to qt6 - -DBUILD_DRAWING=ON - ) fi cmake_src_configure @@ -315,18 +243,18 @@ src_configure() { # We use the FreeCADCmd binary instead of the FreeCAD binary here # for two reasons: # 1. It works out of the box with USE=-gui as well, not needing a guard -# 2. We don't need virtualx.eclass and it's dependencies -# The exported environment variables are needed, so freecad does know -# where to save it's temporary files, and where to look and write it's -# configuration. Without those, there are sandbox violation, when it +# 2. We don't need virtualx.eclass and its dependencies +# The environment variables are needed, so that FreeCAD knows +# where to save its temporary files, and where to look and write its +# configuration. Without those, there is a sandbox violation, when it # tries to create /var/lib/portage/home/.FreeCAD directory. src_test() { - pushd "${BUILD_DIR}" > /dev/null || die - export FREECAD_USER_HOME="${HOME}" - export FREECAD_USER_DATA="${T}" - export FREECAD_USER_TEMP="${T}" - nonfatal ./bin/FreeCADCmd --run-test 0 - popd > /dev/null || die + cd "${BUILD_DIR}" || die + + local -x FREECAD_USER_HOME="${HOME}" + local -x FREECAD_USER_DATA="${T}" + local -x FREECAD_USER_TEMP="${T}" + ./bin/FreeCADCmd --run-test 0 --set-config AppHomePath="${BUILD_DIR}/" || die } src_install() { @@ -338,7 +266,7 @@ src_install() { newbin - freecad <<- _EOF_ #!/bin/sh # https://github.com/coin3d/coin/issues/451 - : \${QT_QPA_PLATFORM:=xcb} + : "\${QT_QPA_PLATFORM:=xcb}" export QT_QPA_PLATFORM exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}" _EOF_ @@ -359,30 +287,17 @@ pkg_postinst() { einfo "You can load a lot of additional workbenches using the integrated" einfo "AddonManager." - # ToDo: check opencv, pysolar (::science), elmerfem (::science) - # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl) einfo "There are a lot of additional tools, for which FreeCAD has builtin" einfo "support. Some of them are available in Gentoo. Take a look at" - einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD" - optfeature_header "Computational utilities" - optfeature "BLAS library" sci-libs/openblas - optfeature "Statistical computation with Python" dev-python/pandas - optfeature "Use scientific computation with Python" dev-python/scipy - optfeature "Use symbolic math with Python" dev-python/sympy - optfeature_header "Imaging, Plotting and Rendering utilities" - optfeature "Dependency graphs" media-gfx/graphviz - optfeature "PBR Rendering" media-gfx/povray - optfeature_header "Import / Export" - optfeature "Interact with git repositories" dev-python/GitPython - optfeature "Work with COLLADA documents" dev-python/pycollada - optfeature "YAML importer and emitter" dev-python/pyyaml - optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg - optfeature "Importing and exporting geospatial data formats" sci-libs/gdal - optfeature "Working with projection data" sci-libs/proj - optfeature_header "Meshing and FEM" - optfeature "FEM mesh generator" sci-libs/gmsh - optfeature "Triangulating meshes" sci-libs/gts - optfeature "Visualization" sci-visualization/paraview + einfo "https://wiki.freecad.org/Installing_additional_components" + optfeature_header "External programs used by FreeCAD" + optfeature "dependency graphs" media-gfx/graphviz + optfeature "importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg + optfeature "importing OpenSCAD files, Mesh booleans" media-gfx/openscad + use bim && optfeature "working with COLLADA documents" dev-python/pycollada + if use fem || use mesh; then + optfeature "mesh generation" sci-libs/gmsh + fi } pkg_postrm() { diff --git a/media-gfx/freecad/metadata.xml b/media-gfx/freecad/metadata.xml index 0787a07fc30c..7cc8bc2a327b 100644 --- a/media-gfx/freecad/metadata.xml +++ b/media-gfx/freecad/metadata.xml @@ -14,6 +14,16 @@ Build the addon manager module for automatic handling of 3rd party addons </flag> + <flag name="assembly"> + Build the assembly module to create 3D models composed of several + distinguishable parts as a conformed machine. + </flag> + <flag name="bim"> + Build the BIM module and workbench + </flag> + <flag name="cam"> + Build the CAM module and workbench + </flag> <flag name="cloud"> Build the Cloud workbench, to access cloud providers (mostly Amazon S3). @@ -37,16 +47,12 @@ Build the IDF module to provide file exchange capabilities with IDF files </flag> - <flag name="image"> - Build the image module and workbench for working with bitmap - images - </flag> <flag name="inspection"> Build the inspection workbench which gives you specific tools for examination of shapes (experimental) </flag> - <flag name="material"> - Build the material module and workbench to work with materials + <flag name="mesh"> + Build the mesh module and workbench </flag> <flag name="netgen"> Build support for the netgen mesher through <pkg>media-gfx/netgen</pkg>. @@ -55,31 +61,24 @@ Build the OpenSCAD module for interoperability with OpenSCAD and repairing Constructive Solid Geometry (CSG) history </flag> - <flag name="part-design"> - Build the part design module and workbench for build part shapes - from sketches - </flag> - <flag name="path"><!-- FIXME: auto-enable through robot? --> - Build the path module and workbench to procude G-Code instructions - for CNC - </flag> <flag name="pcl"> Use external <pkg>sci-libs/pcl</pkg> for point clouds support. </flag> <flag name="points"> Build the points module and workbench for working with point clouds </flag> - <flag name="raytracing"> - Build the raytracing module and workbench for raytracing and rendering + <flag name="reverse"> + Build the reverse engineering module and workbench </flag> <flag name="robot"> Build the robot module and workbench for studying robot movements </flag> - <flag name="show"> - Build the show module, a helper module for visibility automation - </flag> <flag name="smesh"> - Build the Salome SMESH module + Build Salome SMESH + </flag> + <flag name="spacenav"> + Add support for space navigator devices through + <pkg>dev-libs/libspnav</pkg> </flag> <flag name="surface"> Build the surface module and workbench @@ -88,9 +87,6 @@ Build the techdraw module and workbench, a more advanced and feature-rich successor of the drawing workbench </flag> - <flag name="tux"> - Build the Tux module - </flag> </use> <upstream> <bugs-to>https://github.com/FreeCAD/FreeCAD/issues</bugs-to> diff --git a/media-gfx/geeqie/geeqie-2.5.ebuild b/media-gfx/geeqie/geeqie-2.5.ebuild index 8b572c0532f3..c5d6199a70b2 100644 --- a/media-gfx/geeqie/geeqie-2.5.ebuild +++ b/media-gfx/geeqie/geeqie-2.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -17,7 +17,7 @@ SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}. LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc ~x86" +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 diff --git a/media-gfx/gifsicle/gifsicle-1.95.ebuild b/media-gfx/gifsicle/gifsicle-1.95.ebuild index 9d95e9385b78..27d12da3ef03 100644 --- a/media-gfx/gifsicle/gifsicle-1.95.ebuild +++ b/media-gfx/gifsicle/gifsicle-1.95.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://www.lcdf.org/~eddietwo/${PN}/${P}.tar.gz" LICENSE="GPL-2 MIT" SLOT="0" -KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" IUSE="X" RDEPEND=" diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest index 579449a517b7..6cc41942d6a9 100644 --- a/media-gfx/gimp/Manifest +++ b/media-gfx/gimp/Manifest @@ -1,4 +1,3 @@ -DIST gimp-2.10.34.tar.bz2 31405329 BLAKE2B 0b2d3a81abf89684bb90e2101896db3479a25c5da76738543dba8d0378e64608eee9aeb24888e15f5e347f72fa1df3e9b82aa27e503ee61d1c4d45d44fa7bddc SHA512 4802ce3758daba868570f1ac97a3f1cb41e1130fcc6376f9bf4c999441f8fd25937aa71b6f726d82d7c780f4153b11d2595bb76bc2356a42266909fbcc0bd34a -DIST gimp-2.10.36.tar.bz2 31532334 BLAKE2B d033cd1407df3399b5968b7e3f7838d288143080b516476a5dd46599b6a84ac2efca591521368cef7a1c3d9935b45ed3262fb469e1ae36ccf60a1199f5cfa44d SHA512 dbe6152ea6ff99cca59bbf2c88a64fb4ff6b529d98ace7723eadf5dfb0e10d9cbaf2de1e0d5251e9ecf9abca73da9ae1a501f229997802fd4077fb9594f4ba66 DIST gimp-2.10.38.tar.bz2 31698453 BLAKE2B 58c29e3e00d873e69a5e5f4e9c3ff4d868ccfb11914570306ef12c54ca7d3ef89a62d8c71fac1f2d1f426ac615dc4caf7a7260351c00301dce2b1aa4193bab6d SHA512 343bf1c3bd14bf8e7c7af79c05920faca213da68549127c1d8af53e2e872e55aeaf39a3cfcf578183a34fdc4f98e1c859be63956b0611067186eefd1fdee2aaa -DIST gimp-2.99.18.tar.xz 25418968 BLAKE2B ccb76bb5c375925d4d71505f3e1546f05ba0e20533859b1b6250a4d9054efb6bec4927a5e0c525272fa24d5a6bdf4fb7881d60a1d34b1210ee38b90e661ef707 SHA512 151ccd0322601e76ed0198b40832ab0b6c138428f2e75806dd558e29c9b3437d9226a243142bf4a86113fa5ea4f5965b99cf7cd0ab0ecb7bdfc48036de35a9c6 +DIST gimp-3.0.0-RC1.tar.xz 28863948 BLAKE2B d9e1ae51809d1c8e5084a9e85b660cd0f3a763f8ee220075fe73f512940e9637d50675a06d0dca88c501571a26404cb6b53c9573348002586143c52736dfa196 SHA512 844896976b66b0498ba9149c7176f5442b2305fd3dc51fce7ff92eb05b7b0f86f16d0bd16e50a3c43ab2c6b9be4e610dbbfc50a99c84a62a4de80a6937d43985 +DIST gimp-3.0.0-RC2.tar.xz 26980968 BLAKE2B 56b98a7863df22cf81015a9da5d7535cfef5a154c47418b1b6c6212cc76423e0769a4aa8d76714d2eb22595b1f6e2c623e4444e35675db5fe7e40c8820fe71dd SHA512 c0a6e096d954f3048cb68fe4ff71dd2f49c802f800014ab8a3089a0e097e7d6f595e5716230c06e7edfddba948f0d01da14800935aa6ceb9dc2e12fb7f19d7e6 diff --git a/media-gfx/gimp/files/gimp-2.10.36_fix_strict-aliasing.patch b/media-gfx/gimp/files/gimp-2.10.36_fix_strict-aliasing.patch deleted file mode 100644 index 2acf31361278..000000000000 --- a/media-gfx/gimp/files/gimp-2.10.36_fix_strict-aliasing.patch +++ /dev/null @@ -1,34 +0,0 @@ -Gentoo issue: https://bugs.gentoo.org/917497 -Upstream issue: https://gitlab.gnome.org/GNOME/gimp/-/issues/10359 -Upstream patch: - -From b45a304df4f038eccb64e098f3643ae35d8f3e77 Mon Sep 17 00:00:00 2001 -From: Alx Sa <cmyk.student@gmail.com> -Date: Sun, 19 Nov 2023 13:54:00 +0000 -Subject: [PATCH] core: Fix strict-aliasing error on ASE load - -Resolves #10359 - -When compiled with -Werror=strict-aliasing, the build fails -on this line due to converting pointer datatypes. -This patch switches to using memcpy () instead. ---- - app/core/gimppalette-load.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/app/core/gimppalette-load.c b/app/core/gimppalette-load.c -index 7605b92fcfb..e9813ebb168 100644 ---- a/app/core/gimppalette-load.c -+++ b/app/core/gimppalette-load.c -@@ -1095,7 +1095,7 @@ gimp_palette_load_ase (GimpContext *context, - - /* Convert 4 bytes to a 32bit float value */ - tmp = GINT32_FROM_BE (tmp); -- pixels[j] = *(gfloat *) &tmp; -+ memcpy (&pixels[j], &tmp, 4); - } - - if (! valid_color) --- -GitLab - diff --git a/media-gfx/gimp/gimp-2.10.34-r3.ebuild b/media-gfx/gimp/gimp-2.10.34-r3.ebuild deleted file mode 100644 index d1af397feaf9..000000000000 --- a/media-gfx/gimp/gimp-2.10.34-r3.ebuild +++ /dev/null @@ -1,219 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -GNOME2_EAUTORECONF=yes -WANT_AUTOMAKE= - -inherit autotools gnome2 toolchain-funcs virtualx - -DESCRIPTION="GNU Image Manipulation Program" -HOMEPAGE="https://www.gimp.org/" -SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2" -LICENSE="GPL-3+ LGPL-3+" -SLOT="0/2" -KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86" - -IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse" - -RESTRICT="!test? ( test )" - -COMMON_DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0 - >=app-text/poppler-0.50[cairo] - >=app-text/poppler-data-0.4.7 - >=dev-libs/glib-2.56.2:2 - >=dev-libs/json-glib-1.2.6 - dev-libs/libxml2:2 - dev-libs/libxslt - >=gnome-base/librsvg-2.40.6:2 - >=media-gfx/mypaint-brushes-2.0.2:= - >=media-libs/babl-0.1.98 - >=media-libs/fontconfig-2.12.4 - >=media-libs/freetype-2.1.7 - >=media-libs/gegl-0.4.40:0.4[cairo] - >=media-libs/gexiv2-0.10.6 - >=media-libs/harfbuzz-0.9.19:= - >=media-libs/lcms-2.8:2 - media-libs/libjpeg-turbo:= - >=media-libs/libmypaint-1.6.1:= - >=media-libs/libpng-1.6.25:0= - >=media-libs/tiff-3.5.7:= - net-libs/glib-networking[ssl] - sys-libs/zlib - >=x11-libs/cairo-1.12.2 - >=x11-libs/gdk-pixbuf-2.31:2 - >=x11-libs/gtk+-2.24.32:2 - x11-libs/libXcursor - >=x11-libs/pango-1.29.4 - aalib? ( media-libs/aalib ) - alsa? ( >=media-libs/alsa-lib-1.0.0 ) - aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 ) - heif? ( >=media-libs/libheif-1.9.1:= ) - jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= ) - jpegxl? ( >=media-libs/libjxl-0.7.0:= ) - mng? ( media-libs/libmng:= ) - openexr? ( >=media-libs/openexr-1.6.1:= ) - postscript? ( app-text/ghostscript-gpl:= ) - udev? ( dev-libs/libgudev:= ) - unwind? ( >=sys-libs/libunwind-1.1.0:= ) - webp? ( >=media-libs/libwebp-0.6.0:= ) - wmf? ( >=media-libs/libwmf-0.2.8 ) - xpm? ( x11-libs/libXpm ) -" - -RDEPEND=" - ${COMMON_DEPEND} - x11-themes/hicolor-icon-theme - gnome? ( gnome-base/gvfs ) -" - -DEPEND=" - ${COMMON_DEPEND} - >=dev-lang/perl-5.10.0 - dev-libs/appstream-glib - >=dev-build/gtk-doc-am-1 - dev-util/gtk-update-icon-cache - >=dev-util/intltool-0.40.1 - >=sys-devel/gettext-0.19 - >=dev-build/libtool-2.2 - virtual/pkgconfig -" - -DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" ) - -PATCHES=( - "${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070) - "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148 - "${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796 -) - -src_prepare() { - sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794 - - sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864 - sed 's/-DGIMP_DISABLE_DEPRECATED/-DGIMP_protect_DISABLE_DEPRECATED/g' -i configure.ac || die #615144 - - if use heif ; then - has_version -d ">=media-libs/libheif-1.18.0" && eapply "${FILESDIR}/${PN}-2.10_libheif-1.18_unconditional_compat.patch" # 940915 - fi - - gnome2_src_prepare # calls eautoreconf - - sed 's/-DGIMP_protect_DISABLE_DEPRECATED/-DGIMP_DISABLE_DEPRECATED/g' -i configure || die #615144 - grep -F -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test - - export CC_FOR_BUILD="$(tc-getBUILD_CC)" -} - -_adjust_sandbox() { - # Bugs #569738 and #591214 - local nv - for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do - # We do not check for existence as they may show up later - # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21 - addwrite "${nv}" - done - - addwrite /dev/dri/ # bugs #574038 and #684886 - addwrite /dev/ati/ # bug #589198 - addwrite /proc/mtrr # bug #589198 -} - -src_configure() { - _adjust_sandbox - - local myconf=( - GEGL="${EPREFIX}"/usr/bin/gegl-0.4 - GDBUS_CODEGEN="${EPREFIX}"/bin/false - - --enable-default-binary - - --disable-check-update - --disable-python - --enable-mp - --with-appdata-test - --with-bug-report-url=https://bugs.gentoo.org/ - --with-xmc - --without-libbacktrace - --without-webkit - --without-xvfb-run - $(use_enable cpu_flags_ppc_altivec altivec) - $(use_enable cpu_flags_x86_mmx mmx) - $(use_enable cpu_flags_x86_sse sse) - $(use_enable debug) - $(use_enable vector-icons) - $(use_with aalib aa) - $(use_with alsa) - $(use_with !aqua x) - $(use_with heif libheif) - $(use_with jpeg2k jpeg2000) - $(use_with jpegxl) - $(use_with mng libmng) - $(use_with openexr) - $(use_with postscript gs) - $(use_with udev gudev) - $(use_with unwind libunwind) - $(use_with webp) - $(use_with wmf) - $(use_with xpm libxpm) - ) - - gnome2_src_configure "${myconf[@]}" -} - -src_compile() { - export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004 - gnome2_src_compile -} - -# for https://bugs.gentoo.org/664938 -_rename_plugins() { - einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...' - local prename=gimp-org- - ( - cd "${ED}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die - for plugin_slash in $(ls -d1 */); do - plugin=${plugin_slash%/} - if [[ -f ${plugin}/${plugin} ]]; then - # NOTE: Folder and file name need to match for Gimp to load that plug-in - # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg" - mv ${plugin}/{,${prename}}${plugin} || die - mv {,${prename}}${plugin} || die - fi - done - ) -} - -src_test() { - virtx emake check -} - -src_install() { - gnome2_src_install - - # Workaround for bug #321111 to give GIMP the least - # precedence on PDF documents by default - mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die - - find "${ED}" -name '*.la' -type f -delete || die - - # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527) - local gimp_app_version=$(ver_cut 1-2) - mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die - - # Remove gimp devel-docs html files if user doesn't need it - if ! use doc; then - rm -r "${ED}"/usr/share/gtk-doc || die - fi - - _rename_plugins || die -} - -pkg_postinst() { - gnome2_pkg_postinst -} - -pkg_postrm() { - gnome2_pkg_postrm -} diff --git a/media-gfx/gimp/gimp-2.10.36-r3.ebuild b/media-gfx/gimp/gimp-2.10.36-r3.ebuild deleted file mode 100644 index e0082d3fdfdb..000000000000 --- a/media-gfx/gimp/gimp-2.10.36-r3.ebuild +++ /dev/null @@ -1,218 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -GNOME2_EAUTORECONF=yes -WANT_AUTOMAKE= - -inherit autotools gnome2 toolchain-funcs virtualx - -DESCRIPTION="GNU Image Manipulation Program" -HOMEPAGE="https://www.gimp.org/" -SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2" -LICENSE="GPL-3+ LGPL-3+" -SLOT="0/2" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86" - -IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse" - -RESTRICT="!test? ( test )" - -DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0 - >=app-text/poppler-0.50[cairo] - >=app-text/poppler-data-0.4.7 - >=dev-libs/glib-2.56.2:2 - >=dev-libs/json-glib-1.2.6 - dev-libs/libxml2:2 - dev-libs/libxslt - >=gnome-base/librsvg-2.40.6:2 - >=media-gfx/mypaint-brushes-2.0.2:= - >=media-libs/babl-0.1.98 - >=media-libs/fontconfig-2.12.4 - >=media-libs/freetype-2.1.7 - >=media-libs/gegl-0.4.40:0.4[cairo] - >=media-libs/gexiv2-0.10.6 - >=media-libs/harfbuzz-0.9.19:= - >=media-libs/lcms-2.8:2 - media-libs/libjpeg-turbo:= - >=media-libs/libmypaint-1.6.1:= - >=media-libs/libpng-1.6.25:0= - >=media-libs/tiff-3.5.7:= - net-libs/glib-networking[ssl] - sys-libs/zlib - >=x11-libs/cairo-1.12.2 - >=x11-libs/gdk-pixbuf-2.31:2 - >=x11-libs/gtk+-2.24.32:2 - x11-libs/libXcursor - >=x11-libs/pango-1.29.4 - aalib? ( media-libs/aalib ) - alsa? ( >=media-libs/alsa-lib-1.0.0 ) - aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 ) - heif? ( >=media-libs/libheif-1.9.1:= ) - jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= ) - jpegxl? ( >=media-libs/libjxl-0.7.0:= ) - mng? ( media-libs/libmng:= ) - openexr? ( >=media-libs/openexr-1.6.1:= ) - postscript? ( app-text/ghostscript-gpl:= ) - udev? ( dev-libs/libgudev:= ) - unwind? ( >=sys-libs/libunwind-1.1.0:= ) - webp? ( >=media-libs/libwebp-0.6.0:= ) - wmf? ( >=media-libs/libwmf-0.2.8 ) - xpm? ( x11-libs/libXpm ) -" - -RDEPEND=" - ${DEPEND} - x11-themes/hicolor-icon-theme - gnome? ( gnome-base/gvfs ) -" - -BDEPEND=" - >=dev-lang/perl-5.10.0 - dev-libs/appstream-glib - >=dev-build/gtk-doc-am-1 - dev-util/gtk-update-icon-cache - >=dev-util/intltool-0.40.1 - >=sys-devel/gettext-0.19.8 - >=dev-build/libtool-2.2 - virtual/pkgconfig -" - -DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" ) - -PATCHES=( - "${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070) - "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148 - "${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796 -) - -src_prepare() { - sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794 - - sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864 - sed 's/-DGIMP_DISABLE_DEPRECATED/-DGIMP_protect_DISABLE_DEPRECATED/g' -i configure.ac || die #615144 - - if use heif ; then - has_version -d ">=media-libs/libheif-1.18.0" && eapply "${FILESDIR}/${PN}-2.10_libheif-1.18_unconditional_compat.patch" # 940915 - fi - - gnome2_src_prepare # calls eautoreconf - - sed 's/-DGIMP_protect_DISABLE_DEPRECATED/-DGIMP_DISABLE_DEPRECATED/g' -i configure || die #615144 - grep -F -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test - - export CC_FOR_BUILD="$(tc-getBUILD_CC)" -} - -_adjust_sandbox() { - # Bugs #569738 and #591214 - local nv - for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do - # We do not check for existence as they may show up later - # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21 - addwrite "${nv}" - done - - addwrite /dev/dri/ # bugs #574038 and #684886 - addwrite /dev/ati/ # bug #589198 - addwrite /proc/mtrr # bug #589198 -} - -src_configure() { - _adjust_sandbox - - local myconf=( - GEGL="${EPREFIX}"/usr/bin/gegl-0.4 - GDBUS_CODEGEN="${EPREFIX}"/bin/false - - --enable-default-binary - - --disable-check-update - --disable-python - --enable-mp - --with-appdata-test - --with-bug-report-url=https://bugs.gentoo.org/ - --with-xmc - --without-libbacktrace - --without-webkit - --without-xvfb-run - $(use_enable cpu_flags_ppc_altivec altivec) - $(use_enable cpu_flags_x86_mmx mmx) - $(use_enable cpu_flags_x86_sse sse) - $(use_enable debug) - $(use_enable vector-icons) - $(use_with aalib aa) - $(use_with alsa) - $(use_with !aqua x) - $(use_with heif libheif) - $(use_with jpeg2k jpeg2000) - $(use_with jpegxl) - $(use_with mng libmng) - $(use_with openexr) - $(use_with postscript gs) - $(use_with udev gudev) - $(use_with unwind libunwind) - $(use_with webp) - $(use_with wmf) - $(use_with xpm libxpm) - ) - - gnome2_src_configure "${myconf[@]}" -} - -src_compile() { - export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004 - gnome2_src_compile -} - -# for https://bugs.gentoo.org/664938 -_rename_plugins() { - einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...' - local prename=gimp-org- - ( - cd "${ED}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die - for plugin_slash in $(ls -d1 */); do - plugin=${plugin_slash%/} - if [[ -f ${plugin}/${plugin} ]]; then - # NOTE: Folder and file name need to match for Gimp to load that plug-in - # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg" - mv ${plugin}/{,${prename}}${plugin} || die - mv {,${prename}}${plugin} || die - fi - done - ) -} - -src_test() { - virtx emake check -} - -src_install() { - gnome2_src_install - - # Workaround for bug #321111 to give GIMP the least - # precedence on PDF documents by default - mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die - - find "${ED}" -name '*.la' -type f -delete || die - - # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527) - local gimp_app_version=$(ver_cut 1-2) - mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die - - # Remove gimp devel-docs html files if user doesn't need it - if ! use doc; then - rm -r "${ED}"/usr/share/gtk-doc || die - fi - - _rename_plugins || die -} - -pkg_postinst() { - gnome2_pkg_postinst -} - -pkg_postrm() { - gnome2_pkg_postrm -} diff --git a/media-gfx/gimp/gimp-2.10.36-r4.ebuild b/media-gfx/gimp/gimp-2.10.36-r4.ebuild deleted file mode 100644 index 1acf5d818486..000000000000 --- a/media-gfx/gimp/gimp-2.10.36-r4.ebuild +++ /dev/null @@ -1,221 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -GNOME2_EAUTORECONF=yes -WANT_AUTOMAKE= - -inherit autotools gnome2 toolchain-funcs virtualx - -DESCRIPTION="GNU Image Manipulation Program" -HOMEPAGE="https://www.gimp.org/" -SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2" -LICENSE="GPL-3+ LGPL-3+" -SLOT="0/2" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86" - -IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse" - -RESTRICT="!test? ( test )" - -DEPEND=" - >=app-accessibility/at-spi2-core-2.46.0 - >=app-text/poppler-0.50[cairo] - >=app-text/poppler-data-0.4.7 - >=dev-libs/glib-2.56.2:2 - >=dev-libs/json-glib-1.2.6 - dev-libs/libxml2:2 - dev-libs/libxslt - >=gnome-base/librsvg-2.40.6:2 - >=media-gfx/mypaint-brushes-2.0.2:= - >=media-libs/babl-0.1.98 - >=media-libs/fontconfig-2.12.4 - >=media-libs/freetype-2.1.7 - >=media-libs/gegl-0.4.40:0.4[cairo] - >=media-libs/gexiv2-0.10.6 - >=media-libs/harfbuzz-0.9.19:= - >=media-libs/lcms-2.8:2 - media-libs/libjpeg-turbo:= - >=media-libs/libmypaint-1.6.1:= - >=media-libs/libpng-1.6.25:0= - >=media-libs/tiff-3.5.7:= - net-libs/glib-networking[ssl] - sys-libs/zlib - >=x11-libs/cairo-1.12.2 - >=x11-libs/gdk-pixbuf-2.31:2 - >=x11-libs/gtk+-2.24.32:2 - x11-libs/libXcursor - >=x11-libs/pango-1.29.4 - aalib? ( media-libs/aalib ) - alsa? ( >=media-libs/alsa-lib-1.0.0 ) - aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 ) - heif? ( >=media-libs/libheif-1.9.1:= ) - jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= ) - jpegxl? ( >=media-libs/libjxl-0.7.0:= ) - mng? ( media-libs/libmng:= ) - openexr? ( >=media-libs/openexr-1.6.1:= ) - postscript? ( app-text/ghostscript-gpl:= ) - udev? ( dev-libs/libgudev:= ) - unwind? ( >=sys-libs/libunwind-1.1.0:= ) - webp? ( >=media-libs/libwebp-0.6.0:= ) - wmf? ( >=media-libs/libwmf-0.2.8 ) - xpm? ( x11-libs/libXpm ) -" - -RDEPEND=" - ${DEPEND} - x11-themes/hicolor-icon-theme - gnome? ( gnome-base/gvfs ) -" - -BDEPEND=" - >=dev-lang/perl-5.10.0 - dev-libs/appstream-glib - >=dev-build/gtk-doc-am-1 - dev-util/gtk-update-icon-cache - >=dev-util/intltool-0.40.1 - >=sys-devel/gettext-0.19.8 - >=dev-build/libtool-2.2 - virtual/pkgconfig -" - -DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" ) - -PATCHES=( - "${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070) - "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148 - "${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796 - "${FILESDIR}/${P}_fix_strict-aliasing.patch" #917497 - "${FILESDIR}/${P}_c99_tiff.patch" #919282 - "${FILESDIR}/${P}_c99_metadata.patch" #919282 -) - -src_prepare() { - sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794 - - sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864 - sed 's/-DGIMP_DISABLE_DEPRECATED/-DGIMP_protect_DISABLE_DEPRECATED/g' -i configure.ac || die #615144 - - if use heif ; then - has_version -d ">=media-libs/libheif-1.18.0" && eapply "${FILESDIR}/${PN}-2.10_libheif-1.18_unconditional_compat.patch" # 940915 - fi - - gnome2_src_prepare # calls eautoreconf - - sed 's/-DGIMP_protect_DISABLE_DEPRECATED/-DGIMP_DISABLE_DEPRECATED/g' -i configure || die #615144 - grep -F -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test - - export CC_FOR_BUILD="$(tc-getBUILD_CC)" -} - -_adjust_sandbox() { - # Bugs #569738 and #591214 - local nv - for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do - # We do not check for existence as they may show up later - # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21 - addwrite "${nv}" - done - - addwrite /dev/dri/ # bugs #574038 and #684886 - addwrite /dev/ati/ # bug #589198 - addwrite /proc/mtrr # bug #589198 -} - -src_configure() { - _adjust_sandbox - - local myconf=( - GEGL="${EPREFIX}"/usr/bin/gegl-0.4 - GDBUS_CODEGEN="${EPREFIX}"/bin/false - - --enable-default-binary - - --disable-check-update - --disable-python - --enable-mp - --with-appdata-test - --with-bug-report-url=https://bugs.gentoo.org/ - --with-xmc - --without-libbacktrace - --without-webkit - --without-xvfb-run - $(use_enable cpu_flags_ppc_altivec altivec) - $(use_enable cpu_flags_x86_mmx mmx) - $(use_enable cpu_flags_x86_sse sse) - $(use_enable debug) - $(use_enable vector-icons) - $(use_with aalib aa) - $(use_with alsa) - $(use_with !aqua x) - $(use_with heif libheif) - $(use_with jpeg2k jpeg2000) - $(use_with jpegxl) - $(use_with mng libmng) - $(use_with openexr) - $(use_with postscript gs) - $(use_with udev gudev) - $(use_with unwind libunwind) - $(use_with webp) - $(use_with wmf) - $(use_with xpm libxpm) - ) - - gnome2_src_configure "${myconf[@]}" -} - -src_compile() { - export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004 - gnome2_src_compile -} - -# for https://bugs.gentoo.org/664938 -_rename_plugins() { - einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...' - local prename=gimp-org- - ( - cd "${ED}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die - for plugin_slash in $(ls -d1 */); do - plugin=${plugin_slash%/} - if [[ -f ${plugin}/${plugin} ]]; then - # NOTE: Folder and file name need to match for Gimp to load that plug-in - # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg" - mv ${plugin}/{,${prename}}${plugin} || die - mv {,${prename}}${plugin} || die - fi - done - ) -} - -src_test() { - virtx emake check -} - -src_install() { - gnome2_src_install - - # Workaround for bug #321111 to give GIMP the least - # precedence on PDF documents by default - mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die - - find "${ED}" -name '*.la' -type f -delete || die - - # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527) - local gimp_app_version=$(ver_cut 1-2) - mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die - - # Remove gimp devel-docs html files if user doesn't need it - if ! use doc; then - rm -r "${ED}"/usr/share/gtk-doc || die - fi - - _rename_plugins || die -} - -pkg_postinst() { - gnome2_pkg_postinst -} - -pkg_postrm() { - gnome2_pkg_postrm -} diff --git a/media-gfx/gimp/gimp-2.10.38-r1.ebuild b/media-gfx/gimp/gimp-2.10.38-r1.ebuild index 89d2bf00caac..8e4df871c08f 100644 --- a/media-gfx/gimp/gimp-2.10.38-r1.ebuild +++ b/media-gfx/gimp/gimp-2.10.38-r1.ebuild @@ -12,7 +12,7 @@ HOMEPAGE="https://www.gimp.org/" SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2" LICENSE="GPL-3+ LGPL-3+" SLOT="0/2" -KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86" +KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86" IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse" diff --git a/media-gfx/gimp/gimp-2.99.18-r1.ebuild b/media-gfx/gimp/gimp-3.0.0_rc1.ebuild index a206f158550c..00639d92cbe4 100644 --- a/media-gfx/gimp/gimp-2.99.18-r1.ebuild +++ b/media-gfx/gimp/gimp-3.0.0_rc1.ebuild @@ -4,22 +4,25 @@ EAPI=8 LUA_COMPAT=( luajit ) -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VALA_USE_DEPEND=vapigen inherit lua-single meson python-single-r1 toolchain-funcs vala xdg DESCRIPTION="GNU Image Manipulation Program" HOMEPAGE="https://www.gimp.org/" -SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.xz" +SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${PN}-$(ver_cut 1-3)-RC1.tar.xz" +S="${WORKDIR}/${PN}-$(ver_cut 1-3)-RC1" LICENSE="GPL-3+ LGPL-3+" SLOT="0/3" -IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript python test udev unwind vala vector-icons webp wmf xpm" +IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript test udev unwind vala vector-icons webp wmf xpm" REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} lua? ( ${LUA_REQUIRED_USE} ) - python? ( ${PYTHON_REQUIRED_USE} ) + test? ( X ) + xpm? ( X ) " RESTRICT="!test? ( test )" @@ -27,6 +30,10 @@ RESTRICT="!test? ( test )" # media-libs/{babl,gegl} are required to be built with USE="introspection" # to fix the compilation checking of /usr/share/gir-1.0/{Babl-0.1gir,Gegl-0.4.gir} COMMON_DEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}] + ') >=app-accessibility/at-spi2-core-2.46.0 >=app-text/poppler-0.90.1[cairo] >=app-text/poppler-data-0.4.9 @@ -35,12 +42,12 @@ COMMON_DEPEND=" >=dev-libs/json-glib-1.4.4 dev-libs/libxml2:2 dev-libs/libxslt - >=gnome-base/librsvg-2.46.0:2 + >=gnome-base/librsvg-2.57.3:2 >=media-gfx/mypaint-brushes-2.0.2:= - >=media-libs/babl-0.1.98[introspection,lcms,vala?] + >=media-libs/babl-0.1.110[introspection,lcms,vala?] >=media-libs/fontconfig-2.12.6 >=media-libs/freetype-2.10.2 - >=media-libs/gegl-0.4.48:0.4[cairo,introspection,lcms,vala?] + >=media-libs/gegl-0.4.50:0.4[cairo,introspection,lcms,vala?] >=media-libs/gexiv2-0.14.0 >=media-libs/harfbuzz-2.6.5:= >=media-libs/lcms-2.13.1:2 @@ -50,11 +57,10 @@ COMMON_DEPEND=" >=media-libs/tiff-4.1.0:= net-libs/glib-networking[ssl] sys-libs/zlib - >=x11-libs/cairo-1.16.0 + >=x11-libs/cairo-1.16.0[X=] >=x11-libs/gdk-pixbuf-2.40.0:2[introspection] - >=x11-libs/gtk+-3.24.16:3[introspection] - >=x11-libs/pango-1.50.0 - >=x11-libs/libXmu-1.1.4 + >=x11-libs/gtk+-3.24.16:3[introspection,X=] + >=x11-libs/pango-1.50.0[X=] aalib? ( media-libs/aalib ) alsa? ( >=media-libs/alsa-lib-1.0.0 ) fits? ( sci-libs/cfitsio ) @@ -71,17 +77,16 @@ COMMON_DEPEND=" mng? ( media-libs/libmng:= ) openexr? ( >=media-libs/openexr-2.3.0:= ) postscript? ( app-text/ghostscript-gpl:= ) - python? ( - ${PYTHON_DEPS} - $(python_gen_cond_dep ' - >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}] - ') - ) udev? ( >=dev-libs/libgudev-167:= ) unwind? ( >=sys-libs/libunwind-1.1.0:= ) webp? ( >=media-libs/libwebp-0.6.0:= ) - wmf? ( >=media-libs/libwmf-0.2.8 ) - X? ( x11-libs/libXcursor ) + wmf? ( >=media-libs/libwmf-0.2.8[X=] ) + X? ( + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + >=x11-libs/libXmu-1.1.4 + ) xpm? ( x11-libs/libXpm ) " @@ -112,22 +117,14 @@ BDEPEND=" DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" ) -PATCHES=( - "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148 -) - pkg_pretend() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp } pkg_setup() { [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - + python-single-r1_pkg_setup use lua && lua-single_pkg_setup - - if use python; then - python-single-r1_pkg_setup - fi } src_prepare() { @@ -145,7 +142,7 @@ src_prepare() { sed -i -e 's/@PYTHON_PATH@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die # Set proper intallation path of documentation logo - sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" data/images/meson.build || die + sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" gimp-data/images/logo/meson.build || die } _adjust_sandbox() { @@ -185,12 +182,10 @@ src_configure() { $(meson_feature javascript) $(meson_feature jpeg2k jpeg2000) $(meson_feature jpegxl jpeg-xl) - $(meson_feature lua) $(meson_feature mng) $(meson_feature openexr) $(meson_feature openmp) $(meson_feature postscript ghostscript) - $(meson_feature python) $(meson_feature test headless-tests) $(meson_feature udev gudev) $(meson_feature vala) @@ -199,6 +194,7 @@ src_configure() { $(meson_feature X xcursor) $(meson_feature xpm) $(meson_use doc g-ir-doc) + $(meson_use lua) $(meson_use unwind libunwind) $(meson_use vector-icons) ) @@ -216,7 +212,7 @@ _rename_plugins() { einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...' local prename=gimp-org- ( - cd "${ED}"/usr/$(get_libdir)/gimp/2.99/plug-ins || exit 1 + cd "${ED}"/usr/$(get_libdir)/gimp/3.0/plug-ins || exit 1 for plugin_slash in $(ls -d1 */); do plugin=${plugin_slash%/} if [[ -f ${plugin}/${plugin} ]]; then @@ -237,9 +233,7 @@ src_test() { src_install() { meson_src_install - if use python; then - python_optimize - fi + python_optimize # Workaround for bug #321111 to give GIMP the least # precedence on PDF documents by default @@ -247,15 +241,12 @@ src_install() { find "${D}" -name '*.la' -type f -delete || die - # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527) - mv "${ED}"/usr/share/man/man1/gimp-console{-*,}.1 || die - # Create symlinks for Gimp exec in /usr/bin - dosym "${ESYSROOT}"/usr/bin/gimp-2.99 /usr/bin/gimp - dosym "${ESYSROOT}"/usr/bin/gimp-console-2.99 /usr/bin/gimp-console + dosym "${ESYSROOT}"/usr/bin/gimp-3.0 /usr/bin/gimp + dosym "${ESYSROOT}"/usr/bin/gimp-console-3.0 /usr/bin/gimp-console dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter - dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-2.99 /usr/bin/gimp-test-clipboard - dosym "${ESYSROOT}"/usr/bin/gimptool-2.99 /usr/bin/gimptool + dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-3.0 /usr/bin/gimp-test-clipboard + dosym "${ESYSROOT}"/usr/bin/gimptool-3.0 /usr/bin/gimptool _rename_plugins || die } diff --git a/media-gfx/gimp/gimp-3.0.0_rc2.ebuild b/media-gfx/gimp/gimp-3.0.0_rc2.ebuild new file mode 100644 index 000000000000..1f159711d6dd --- /dev/null +++ b/media-gfx/gimp/gimp-3.0.0_rc2.ebuild @@ -0,0 +1,260 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +LUA_COMPAT=( luajit ) +PYTHON_COMPAT=( python3_{10..13} ) +VALA_USE_DEPEND=vapigen + +inherit lua-single meson python-single-r1 toolchain-funcs vala xdg + +DESCRIPTION="GNU Image Manipulation Program" +HOMEPAGE="https://www.gimp.org/" +SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${PN}-$(ver_cut 1-3)-RC2.tar.xz" + +S="${WORKDIR}/${PN}-$(ver_cut 1-3)-RC2" +LICENSE="GPL-3+ LGPL-3+" +SLOT="0/3" + +IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript test udev unwind vala vector-icons webp wmf xpm" +REQUIRED_USE=" + ${PYTHON_REQUIRED_USE} + lua? ( ${LUA_REQUIRED_USE} ) + test? ( X ) + xpm? ( X ) +" + +RESTRICT="!test? ( test )" + +# media-libs/{babl,gegl} are required to be built with USE="introspection" +# to fix the compilation checking of /usr/share/gir-1.0/{Babl-0.1gir,Gegl-0.4.gir} +COMMON_DEPEND=" + ${PYTHON_DEPS} + $(python_gen_cond_dep ' + >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}] + ') + >=app-accessibility/at-spi2-core-2.46.0 + >=app-text/poppler-0.90.1[cairo] + >=app-text/poppler-data-0.4.9 + >=dev-libs/appstream-glib-0.7.16 + >=dev-libs/glib-2.70.0:2 + >=dev-libs/json-glib-1.4.4 + dev-libs/libxml2:2 + dev-libs/libxslt + >=gnome-base/librsvg-2.57.3:2 + >=media-gfx/mypaint-brushes-2.0.2:= + >=media-libs/babl-0.1.110[introspection,lcms,vala?] + >=media-libs/fontconfig-2.12.6 + >=media-libs/freetype-2.10.2 + >=media-libs/gegl-0.4.52:0.4[cairo,introspection,lcms,vala?] + >=media-libs/gexiv2-0.14.0 + >=media-libs/harfbuzz-2.6.5:= + >=media-libs/lcms-2.13.1:2 + media-libs/libjpeg-turbo:= + >=media-libs/libmypaint-1.6.1:= + >=media-libs/libpng-1.6.37:0= + >=media-libs/tiff-4.1.0:= + net-libs/glib-networking[ssl] + sys-libs/zlib + >=x11-libs/cairo-1.16.0[X=] + >=x11-libs/gdk-pixbuf-2.40.0:2[introspection] + >=x11-libs/gtk+-3.24.16:3[introspection,X=] + >=x11-libs/pango-1.50.0[X=] + aalib? ( media-libs/aalib ) + alsa? ( >=media-libs/alsa-lib-1.0.0 ) + fits? ( sci-libs/cfitsio ) + heif? ( >=media-libs/libheif-1.13.0:= ) + javascript? ( dev-libs/gjs ) + jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= ) + jpegxl? ( >=media-libs/libjxl-0.6.1:= ) + lua? ( + ${LUA_DEPS} + $(lua_gen_cond_dep ' + dev-lua/lgi[${LUA_USEDEP}] + ') + ) + mng? ( media-libs/libmng:= ) + openexr? ( >=media-libs/openexr-2.3.0:= ) + postscript? ( app-text/ghostscript-gpl:= ) + udev? ( >=dev-libs/libgudev-167:= ) + unwind? ( >=sys-libs/libunwind-1.1.0:= ) + webp? ( >=media-libs/libwebp-0.6.0:= ) + wmf? ( >=media-libs/libwmf-0.2.8[X=] ) + X? ( + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + >=x11-libs/libXmu-1.1.4 + ) + xpm? ( x11-libs/libXpm ) +" + +RDEPEND=" + ${COMMON_DEPEND} + x11-themes/hicolor-icon-theme + gnome? ( gnome-base/gvfs ) +" + +DEPEND=" + ${COMMON_DEPEND} + test? ( x11-misc/xvfb-run ) + vala? ( $(vala_depend) ) +" + +# TODO: there are probably more atoms in DEPEND which should be in BDEPEND now +BDEPEND=" + >=dev-lang/perl-5.30.3 + dev-util/gdbus-codegen + >=sys-devel/gettext-0.21 + doc? ( + app-text/yelp-tools + dev-libs/gobject-introspection[doctool] + dev-util/gi-docgen + ) + virtual/pkgconfig +" + +DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" ) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp + python-single-r1_pkg_setup + use lua && lua-single_pkg_setup +} + +src_prepare() { + default + + sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' meson.build || die #737794 + + # Fix Gimp and GimpUI devel doc installation paths + sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp/meson.build || die + sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp-ui/meson.build || die + + # Fix pygimp.interp python implementation path. + # Meson @PYTHON_PATH@ use sandbox path e.g.: + # '/var/tmp/portage/media-gfx/gimp-2.99.12/temp/python3.10/bin/python3' + sed -i -e 's/@PYTHON_PATH@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die + + # Set proper intallation path of documentation logo + sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" gimp-data/images/logo/meson.build || die +} + +_adjust_sandbox() { + # Bugs #569738 and #591214 + local nv + for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do + # We do not check for existence as they may show up later + # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21 + addwrite "${nv}" + done + + addwrite /dev/dri/ # bugs #574038 and #684886 + addwrite /dev/ati/ # bug #589198 + addwrite /proc/mtrr # bug #589198 +} + +src_configure() { + _adjust_sandbox + + use vala && vala_setup + + local emesonargs=( + -Denable-default-bin=enabled + + -Dcheck-update=no + -Denable-multiproc=true + -Dappdata-test=disabled + -Dbug-report-url=https://bugs.gentoo.org/ + -Dilbm=disabled + -Dlibbacktrace=false + -Dwebkit-unmaintained=false + $(meson_feature aalib aa) + $(meson_feature alsa) + $(meson_feature doc gi-docgen) + $(meson_feature fits) + $(meson_feature heif) + $(meson_feature javascript) + $(meson_feature jpeg2k jpeg2000) + $(meson_feature jpegxl jpeg-xl) + $(meson_feature mng) + $(meson_feature openexr) + $(meson_feature openmp) + $(meson_feature postscript ghostscript) + $(meson_feature test headless-tests) + $(meson_feature udev gudev) + $(meson_feature vala) + $(meson_feature webp) + $(meson_feature wmf) + $(meson_feature X xcursor) + $(meson_feature xpm) + $(meson_use doc g-ir-doc) + $(meson_use lua) + $(meson_use unwind libunwind) + $(meson_use vector-icons) + ) + + meson_src_configure +} + +src_compile() { + export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004 + meson_src_compile +} + +# for https://bugs.gentoo.org/664938 +_rename_plugins() { + einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...' + local prename=gimp-org- + ( + cd "${ED}"/usr/$(get_libdir)/gimp/3.0/plug-ins || exit 1 + for plugin_slash in $(ls -d1 */); do + plugin=${plugin_slash%/} + if [[ -f ${plugin}/${plugin} ]]; then + # NOTE: Folder and file name need to match for Gimp to load that plug-in + # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg" + mv ${plugin}/{,${prename}}${plugin} || exit 1 + mv {,${prename}}${plugin} || exit 1 + fi + done + ) +} + +src_test() { + local -x LD_LIBRARY_PATH="${BUILD_DIR}/libgimp:${LD_LIBRARY_PATH}" + meson_src_test +} + +src_install() { + meson_src_install + + python_optimize + + # Workaround for bug #321111 to give GIMP the least + # precedence on PDF documents by default + mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die + + find "${D}" -name '*.la' -type f -delete || die + + # Create symlinks for Gimp exec in /usr/bin + dosym "${ESYSROOT}"/usr/bin/gimp-3.0 /usr/bin/gimp + dosym "${ESYSROOT}"/usr/bin/gimp-console-3.0 /usr/bin/gimp-console + dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter + dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-3.0 /usr/bin/gimp-test-clipboard + dosym "${ESYSROOT}"/usr/bin/gimptool-3.0 /usr/bin/gimptool + + _rename_plugins || die +} + +pkg_postinst() { + xdg_pkg_postinst +} + +pkg_postrm() { + xdg_pkg_postrm +} diff --git a/media-gfx/gimp/gimp-9999.ebuild b/media-gfx/gimp/gimp-9999.ebuild index 906f16b47136..918db05ef232 100644 --- a/media-gfx/gimp/gimp-9999.ebuild +++ b/media-gfx/gimp/gimp-9999.ebuild @@ -4,7 +4,7 @@ EAPI=8 LUA_COMPAT=( luajit ) -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) VALA_USE_DEPEND=vapigen inherit git-r3 lua-single meson python-single-r1 toolchain-funcs vala xdg @@ -15,10 +15,12 @@ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gimp.git" LICENSE="GPL-3+ LGPL-3+" SLOT="0/3" -IUSE="X aalib alsa doc gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript test udev unwind vala vector-icons webp wmf xpm" +IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript test udev unwind vala vector-icons webp wmf xpm" REQUIRED_USE=" ${PYTHON_REQUIRED_USE} lua? ( ${LUA_REQUIRED_USE} ) + test? ( X ) + xpm? ( X ) " RESTRICT="!test? ( test )" @@ -38,7 +40,7 @@ COMMON_DEPEND=" >=dev-libs/json-glib-1.4.4 dev-libs/libxml2:2 dev-libs/libxslt - >=gnome-base/librsvg-2.40.21:2 + >=gnome-base/librsvg-2.57.3:2 >=media-gfx/mypaint-brushes-2.0.2:= >=media-libs/babl-9999[introspection,lcms,vala?] >=media-libs/fontconfig-2.12.6 @@ -53,13 +55,13 @@ COMMON_DEPEND=" >=media-libs/tiff-4.1.0:= net-libs/glib-networking[ssl] sys-libs/zlib - >=x11-libs/cairo-1.16.0 + >=x11-libs/cairo-1.16.0[X=] >=x11-libs/gdk-pixbuf-2.40.0:2[introspection] - >=x11-libs/gtk+-3.24.16:3[introspection] - >=x11-libs/pango-1.50.0 - >=x11-libs/libXmu-1.1.4 + >=x11-libs/gtk+-3.24.16:3[introspection,X=] + >=x11-libs/pango-1.50.0[X=] aalib? ( media-libs/aalib ) alsa? ( >=media-libs/alsa-lib-1.0.0 ) + fits? ( sci-libs/cfitsio ) heif? ( >=media-libs/libheif-1.13.0:= ) javascript? ( dev-libs/gjs ) jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= ) @@ -76,8 +78,13 @@ COMMON_DEPEND=" udev? ( >=dev-libs/libgudev-167:= ) unwind? ( >=sys-libs/libunwind-1.1.0:= ) webp? ( >=media-libs/libwebp-0.6.0:= ) - wmf? ( >=media-libs/libwmf-0.2.8 ) - X? ( x11-libs/libXcursor ) + wmf? ( >=media-libs/libwmf-0.2.8[X=] ) + X? ( + x11-libs/libX11 + x11-libs/libXcursor + x11-libs/libXext + >=x11-libs/libXmu-1.1.4 + ) xpm? ( x11-libs/libXpm ) " @@ -167,11 +174,13 @@ src_configure() { -Denable-multiproc=true -Dappdata-test=disabled -Dbug-report-url=https://bugs.gentoo.org/ + -Dilbm=disabled -Dlibbacktrace=false -Dwebkit-unmaintained=false $(meson_feature aalib aa) $(meson_feature alsa) $(meson_feature doc gi-docgen) + $(meson_feature fits) $(meson_feature heif) $(meson_feature javascript) $(meson_feature jpeg2k jpeg2000) @@ -235,15 +244,12 @@ src_install() { find "${D}" -name '*.la' -type f -delete || die - # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527) - mv "${ED}"/usr/share/man/man1/gimp-console{-*,}.1 || die - # Create symlinks for Gimp exec in /usr/bin - dosym "${ESYSROOT}"/usr/bin/gimp-2.99 /usr/bin/gimp - dosym "${ESYSROOT}"/usr/bin/gimp-console-2.99 /usr/bin/gimp-console + dosym "${ESYSROOT}"/usr/bin/gimp-3.0 /usr/bin/gimp + dosym "${ESYSROOT}"/usr/bin/gimp-console-3.0 /usr/bin/gimp-console dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter - dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-2.99 /usr/bin/gimp-test-clipboard - dosym "${ESYSROOT}"/usr/bin/gimptool-2.99 /usr/bin/gimptool + dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-3.0 /usr/bin/gimp-test-clipboard + dosym "${ESYSROOT}"/usr/bin/gimptool-3.0 /usr/bin/gimptool _rename_plugins || die } diff --git a/media-gfx/gnome-font-viewer/Manifest b/media-gfx/gnome-font-viewer/Manifest index 8dd47f50c0f8..4b9ce4c15704 100644 --- a/media-gfx/gnome-font-viewer/Manifest +++ b/media-gfx/gnome-font-viewer/Manifest @@ -1,2 +1,2 @@ -DIST gnome-font-viewer-45.0.tar.xz 300420 BLAKE2B 3cc71c056a1254447a9b0c5e838a8950e0414293b9788373b1de90657e364b55784fcef7749abd4e75e29cc6246b081baab66135276744020695ef1e8952a03f SHA512 94289be78831dbc9be8d73348fd423379ebe691b08cf2547acd2648e0e7b1dafcd6c63ffa2c9ec033786b7b65912187c782bb279cc0fb6227d6ee74c1541701e DIST gnome-font-viewer-46.0.tar.xz 304092 BLAKE2B 4128c343d5f139ebae6f342b47ef98c39846ce25561411b0b7821be1f9e985aaea4e9a2fd354328b41972df2771db5383cdc68b21cd6a6987aac24596b2b1d1a SHA512 c97e109c16d59b22afa1b8c9736b99cf687284783691e624e331218d39a5ac509e53555416672bf8967ed8611ac25e7817766f8d5c66ca73cd2309b2405c2ebe +DIST gnome-font-viewer-47.0.tar.xz 201744 BLAKE2B 62370660dc48269eb23b817fbea9a976e5b9ff78ee5e4c80cc96a2a65e32c915beaae2cb9066be21b6cd20ea1bdec5e4482c8397024dae40b27681f8cf0df0ae SHA512 f81624999468d0a3041859623769bef3bc51350328e21bf20e890435dc8308afc620f6580d26f815f33b77994e21cbfc27d934aae33636b970d1fe62f60569d7 diff --git a/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild b/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild index 163cee416bb5..a92653f375f4 100644 --- a/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild +++ b/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild @@ -9,7 +9,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-font-viewer" LICENSE="GPL-2+ LGPL-2.1+" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" DEPEND=" >=dev-libs/glib-2.56.0:2 diff --git a/media-gfx/gnome-font-viewer/gnome-font-viewer-45.0.ebuild b/media-gfx/gnome-font-viewer/gnome-font-viewer-47.0.ebuild index 37a17d7e48a6..c27b3be90c14 100644 --- a/media-gfx/gnome-font-viewer/gnome-font-viewer-45.0.ebuild +++ b/media-gfx/gnome-font-viewer/gnome-font-viewer-47.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,16 +9,15 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-font-viewer" LICENSE="GPL-2+ LGPL-2.1+" SLOT="0" -KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" +KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" DEPEND=" >=dev-libs/glib-2.56.0:2 >=gui-libs/gtk-4.5.0:4 - >=gui-libs/libadwaita-1.4_alpha:1 + >=gui-libs/libadwaita-1.5:1 >=media-libs/harfbuzz-0.9.9:= media-libs/fontconfig:1.0 media-libs/freetype:2 - gnome-base/gnome-desktop:4= dev-libs/fribidi " RDEPEND="${DEPEND}" @@ -28,7 +27,3 @@ BDEPEND=" >=sys-devel/gettext-0.19.8 virtual/pkgconfig " - -PATCHES=( - "${FILESDIR}"/${PV}-window-Fix-function-callback-definition.patch -) diff --git a/media-gfx/gnome-photos/gnome-photos-44.0.ebuild b/media-gfx/gnome-photos/gnome-photos-44.0.ebuild index 189d865b1d57..11827b30925a 100644 --- a/media-gfx/gnome-photos/gnome-photos-44.0.ebuild +++ b/media-gfx/gnome-photos/gnome-photos-44.0.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 @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Photos" LICENSE="GPL-3+ LGPL-2+ CC0-1.0" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" +KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" IUSE="test upnp-av" RESTRICT="!test? ( test )" diff --git a/media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild b/media-gfx/gphoto2/gphoto2-2.5.28-r2.ebuild index 634fbfe666c8..aa47c54d4afb 100644 --- a/media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild +++ b/media-gfx/gphoto2/gphoto2-2.5.28-r2.ebuild @@ -23,7 +23,7 @@ RDEPEND=" media-libs/aalib media-libs/libjpeg-turbo ) - ncurses? ( dev-libs/cdk:= ) + ncurses? ( >=dev-libs/cdk-5.0.20240331:= ) readline? ( sys-libs/readline:= ) " DEPEND="${RDEPEND}" diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest index e446c0eb25e0..b2650949883d 100644 --- a/media-gfx/graphviz/Manifest +++ b/media-gfx/graphviz/Manifest @@ -1,3 +1,4 @@ -DIST graphviz-11.0.0.tar.xz 21306368 BLAKE2B c424b2d81180513f2a03210b5a5febfbf80e5c9912ad020d7015be69fdae6579d44108d22f99450ae3384560b610dbaac49a50fe8cac9dbd4e80b8761a8b65a8 SHA512 e95c9ed491c5f09190ca0f085aba2b9a3f6703371d62f6a275f41ddfceef7d79956e1fb0ccfda6c21f2e57afc3a88e37d7091af724911fe3e900ee90a7a811cf DIST graphviz-12.0.0.tar.xz 21279920 BLAKE2B 67d4444dcc31417fd01268b0fdc81538d86e26f961227d106ae57eb3d6d0e4a2e0ba684413a2d1b66f17340e0ad3a244ce5554c180873683e3ad4775f661739d SHA512 b5d4c8e9b565d4268fff28f169e3bfdb9ebf8b809996f7e35887430e5745aeac92c092fe2a9e15b23c9ba3364aa89fe2eeed85ab3fba61acce21634bc9632813 DIST graphviz-12.1.2.tar.xz 20939968 BLAKE2B 4c9ad31f9ce6c68e67a48330b6693c9d6dc9ecebd4ef74e0aa250fd6cb86f02a585c8b6fe16b1322aedfa844004327f72ac4cbcca782848d55202b8e4695371d SHA512 2c31c33bcc0a912b08bf837df318152f910452e3efa5e6c19cf76c49017c64d6dad4cde719d4713bb41343c4484381d94706c2e993233aaa45a334390338cde9 +DIST graphviz-12.2.0.tar.xz 20940240 BLAKE2B 2ba832db442e43ea49ff0aa28f57709757f842efa6ff6188de84b1c11e1932c8c267182f59f7dbd0b1c86d625a686ecc826da6fea087a5f70fea1ac20c60e47c SHA512 542115aa4463e3383c13368d5abcab6715bc9fa2bb886700e6a9072be363641f4a3628d5f07297fde5f3650f2ef67ecdea42bc8f1600b1576abc3e1bf88bdf46 +DIST graphviz-12.2.1.tar.xz 20945996 BLAKE2B f16804eab1a08996934526a1ed03c855e681c67fef51ba99e57b5147355bedc6bfe31840dda07bf845e14e6948bc4f08a4a16aa86f258140699be450e7929922 SHA512 e0f93f69108c5b5bbde8a27a4359c2c834b03142f1e7dfda7c5c19a2fb780c23c287bacfa8724708b8ced604020554ea194bf0c3b1d9f584b3b5862445554c4e diff --git a/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild b/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild index d66128a9fbcf..b1ccbf88700e 100644 --- a/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild +++ b/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild @@ -15,7 +15,7 @@ SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-re LICENSE="CPL-1.0" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X" REQUIRED_USE=" diff --git a/media-gfx/graphviz/graphviz-12.0.0.ebuild b/media-gfx/graphviz/graphviz-12.2.0.ebuild index 26570a419bdf..d66128a9fbcf 100644 --- a/media-gfx/graphviz/graphviz-12.0.0.ebuild +++ b/media-gfx/graphviz/graphviz-12.2.0.ebuild @@ -3,8 +3,9 @@ EAPI=8 +GUILE_COMPAT=( 2-2 3-0 ) PYTHON_COMPAT=( python3_{10..13} ) -inherit libtool python-single-r1 +inherit guile-single libtool python-single-r1 DESCRIPTION="Open Source Graph Visualization Software" HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/" @@ -14,11 +15,12 @@ SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-re LICENSE="CPL-1.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X" REQUIRED_USE=" !cairo? ( !X !gtk2 !postscript !lasi ) + guile? ( ${GUILE_REQUIRED_USE} ) pdf? ( cairo ) python? ( ${PYTHON_REQUIRED_USE} )" @@ -45,7 +47,7 @@ RDEPEND=" x11-libs/gtk+:2 ) gts? ( sci-libs/gts ) - guile? ( dev-scheme/guile ) + guile? ( ${GUILE_DEPS} ) lasi? ( media-libs/lasi ) pdf? ( app-text/poppler ) perl? ( dev-lang/perl:= ) @@ -74,7 +76,7 @@ BDEPEND=" ) guile? ( dev-lang/swig - dev-scheme/guile + ${GUILE_DEPS} ) nls? ( >=sys-devel/gettext-0.14.5 ) perl? ( dev-lang/swig ) @@ -138,11 +140,16 @@ BDEPEND=" # with flags enabled at configure time pkg_setup() { + use guile && guile-single_pkg_setup use python && python-single-r1_pkg_setup } src_prepare() { - default + if use guile; then + guile-single_src_prepare + else + default + fi elibtoolize } @@ -205,6 +212,8 @@ src_install() { find "${ED}" -name '*.la' -delete || die + use guile && guile_unstrip_ccache + use python && python_optimize \ "${D}"$(python_get_sitedir) \ "${ED}"/usr/$(get_libdir)/graphviz/python3 diff --git a/media-gfx/graphviz/graphviz-11.0.0.ebuild b/media-gfx/graphviz/graphviz-12.2.1-r1.ebuild index cec1338b0d7d..518102e6ab66 100644 --- a/media-gfx/graphviz/graphviz-11.0.0.ebuild +++ b/media-gfx/graphviz/graphviz-12.2.1-r1.ebuild @@ -1,10 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) -inherit libtool python-single-r1 +GUILE_COMPAT=( 2-2 3-0 ) +PYTHON_COMPAT=( python3_{10..13} ) +inherit guile-single libtool python-single-r1 DESCRIPTION="Open Source Graph Visualization Software" HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/" @@ -14,11 +15,12 @@ SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-re LICENSE="CPL-1.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" -IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" +IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt6 ruby svg tcl webp X" REQUIRED_USE=" !cairo? ( !X !gtk2 !postscript !lasi ) + guile? ( ${GUILE_REQUIRED_USE} ) pdf? ( cairo ) python? ( ${PYTHON_REQUIRED_USE} )" @@ -45,18 +47,13 @@ RDEPEND=" x11-libs/gtk+:2 ) gts? ( sci-libs/gts ) - guile? ( dev-scheme/guile ) + guile? ( ${GUILE_DEPS} ) lasi? ( media-libs/lasi ) pdf? ( app-text/poppler ) perl? ( dev-lang/perl:= ) postscript? ( app-text/ghostscript-gpl ) python? ( ${PYTHON_DEPS} ) - qt5? ( - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtwidgets:5 - ) + qt6? ( dev-qt/qtbase:6[gui,widgets] ) ruby? ( dev-lang/ruby:* ) svg? ( gnome-base/librsvg ) tcl? ( >=dev-lang/tcl-8.3:= ) @@ -74,7 +71,7 @@ BDEPEND=" ) guile? ( dev-lang/swig - dev-scheme/guile + ${GUILE_DEPS} ) nls? ( >=sys-devel/gettext-0.14.5 ) perl? ( dev-lang/swig ) @@ -129,7 +126,7 @@ BDEPEND=" # And the commands (/cmd): # - dot, gvedit, gvpr, smyrna, tools/* :) # sci-libs/gts can be used for some of these -# - gvedit (via 'qt5'): +# - gvedit (via 'qt6'): # based on ./configure it needs qt-core and qt-gui only # - smyrna : experimental opengl front-end (via 'smyrna') # currently disabled -- it segfaults a lot @@ -138,11 +135,16 @@ BDEPEND=" # with flags enabled at configure time pkg_setup() { + use guile && guile-single_pkg_setup use python && python-single-r1_pkg_setup } src_prepare() { - default + if use guile; then + guile-single_src_prepare + else + default + fi elibtoolize } @@ -159,7 +161,7 @@ src_configure() { $(use_with gtk2 gdk-pixbuf) $(use_with gtk2) $(use_with gts) - $(use_with qt5 qt) + $(use_with qt6 qt) $(use_with lasi) $(use_with pdf poppler) $(use_with postscript ghostscript) @@ -192,7 +194,7 @@ src_configure() { # libtool file collision, bug #276609 --without-included-ltdl --disable-ltdl-install - QMAKE=$(usev qt5 qmake5) + QMAKE=$(usev qt6 qmake6) ) # XXX: Temporary bash for bug #926600. It's been reverted upstream # on master already: @@ -205,6 +207,8 @@ src_install() { find "${ED}" -name '*.la' -delete || die + use guile && guile_unstrip_ccache + use python && python_optimize \ "${D}"$(python_get_sitedir) \ "${ED}"/usr/$(get_libdir)/graphviz/python3 diff --git a/media-gfx/hugin/Manifest b/media-gfx/hugin/Manifest index 3cfc581a5824..3d3cf1c9fd54 100644 --- a/media-gfx/hugin/Manifest +++ b/media-gfx/hugin/Manifest @@ -1,2 +1 @@ -DIST hugin-2023.0.0.tar.bz2 10336322 BLAKE2B 5c35f67160d76f961e812a309a0c50bb012beac74dc888ce716e8d0e3da35dbb053ab4e5d5d043b3d3fee9885f2fc1afa962a73e794cd4df920527456d477e89 SHA512 f950afec9020972baa20931d5001cd479a9169a4eec0d459d830612f40177eea6a25e059047054b8e9679017687e4c2db9fb27f755a3d0b749e5055e2ff0adc8 -DIST hugin-2024.0rc1.tar.bz2 10350195 BLAKE2B f88f632f1e02b24a5d2d3d9778c1cdd44a5ae954f9d2527a7273ea86995a959665f2f648a2b86de78a3b16e0b85a31c8df9de83d90529cef27e90f1ae89b7dd8 SHA512 4acdb18b14b6ddb7c3c87988877aaffe72a46c63021f92ca965f32a44b224f59595679b6f431ecfa0a456a6ceec98af2252e21a614d3073149021358b245cfe2 +DIST hugin-2024.0.1.tar.bz2 10352250 BLAKE2B 07b6ec632ad8525f58750a1894223102f354879e95c33cb4251d7aa237328a5180ffe6c7de0f3e23fc07dd8dd4f254cda7a9f452dc02b786bc867f15ca20b8f4 SHA512 4109f3be0b03d8b4205a79e0d76e18186278601d3e56f46271df1804db6f11f2e93fe1e1b68f2d7966c6d50ce58d4bf47e555e9cf8c34674315b2e89da36a722 diff --git a/media-gfx/hugin/files/boost-1.85-932315.patch b/media-gfx/hugin/files/boost-1.85-932315.patch deleted file mode 100644 index e8fc5c2daa1f..000000000000 --- a/media-gfx/hugin/files/boost-1.85-932315.patch +++ /dev/null @@ -1,25 +0,0 @@ -# HG changeset patch -# User tmodes -# Date 1710260877 -3600 -# Tue Mar 12 17:27:57 2024 +0100 -# Node ID 4d081490b48aaff820cee7601b8624b37b652c06 -# Parent 4b55f17c4e72d6c2f8b4930e3367ff52e1741b45 -Fixed deprecated boost::filesystem::copy_option enum - -diff -r 4b55f17c4e72 -r 4d081490b48a src/hugin_base/hugin_utils/filesystem.h ---- a/src/hugin_base/hugin_utils/filesystem.h Tue Mar 12 17:27:29 2024 +0100 -+++ b/src/hugin_base/hugin_utils/filesystem.h Tue Mar 12 17:27:57 2024 +0100 -@@ -64,6 +64,12 @@ - #endif
- #include <boost/filesystem.hpp>
- namespace fs = boost::filesystem;
-- #define OVERWRITE_EXISTING boost::filesystem::copy_option::overwrite_if_exists
-+ #if BOOST_VERSION>=107400
-+ // in Boost 1.74 and later filesystem::copy_option is deprecated
-+ // use filesystem::copy_options instead
-+ #define OVERWRITE_EXISTING boost::filesystem::copy_options::overwrite_existing
-+ #else
-+ #define OVERWRITE_EXISTING boost::filesystem::copy_option::overwrite_if_exists
-+ #endif
- #endif
- #endif // _HUGIN_UTILS_FILESYSTEM_H
diff --git a/media-gfx/hugin/hugin-2023.0.0-r1.ebuild b/media-gfx/hugin/hugin-2023.0.0-r1.ebuild deleted file mode 100644 index 40c4d46a93f6..000000000000 --- a/media-gfx/hugin/hugin-2023.0.0-r1.ebuild +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -WX_GTK_VER="3.2-gtk3" -PYTHON_COMPAT=( python3_{10..12} ) - -inherit python-single-r1 wxwidgets cmake xdg - -DESCRIPTION="GUI for the creation & processing of panoramic images" -HOMEPAGE="http://hugin.sf.net" -SRC_URI="https://downloads.sourceforge.net/${PN}/${P/_/}.tar.bz2" - -LICENSE="GPL-2+ BSD BSD-2 MIT wxWinLL-3 ZLIB FDL-1.2" -SLOT="0" -KEYWORDS="amd64 arm64 ~x86" - -LANGS=" ca ca-valencia cs da de en-GB es eu fi fr hu it ja nl pl pt-BR ro ru sk sv zh-CN zh-TW" -IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})" - -CDEPEND=" - dev-db/sqlite:3 - dev-libs/boost:= - >=media-gfx/enblend-4.0 - media-gfx/exiv2:= - media-libs/freeglut - media-libs/glew:= - media-libs/libjpeg-turbo:= - >=media-libs/libpano13-2.9.19_beta1:= - media-libs/libpng:= - media-libs/openexr:= - media-libs/tiff:= - >=media-libs/vigra-1.11.1-r5[openexr] - sci-libs/fftw:3.0= - sci-libs/flann - sys-libs/zlib - virtual/glu - virtual/opengl - x11-libs/wxGTK:${WX_GTK_VER}=[X,opengl] - lapack? ( virtual/blas virtual/lapack ) - python? ( ${PYTHON_DEPS} ) - sift? ( media-gfx/autopano-sift-C )" -RDEPEND="${CDEPEND} - media-libs/exiftool - raw? ( media-gfx/dcraw )" -DEPEND="${CDEPEND} - dev-cpp/tclap - sys-devel/gettext - virtual/pkgconfig - python? ( >=dev-lang/swig-2.0.4 )" - -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" - -DOCS=( authors.txt README TODO ) - -S=${WORKDIR}/${PN}-$(ver_cut 1-2).0 - -pkg_setup() { - use python && python-single-r1_pkg_setup - setup-wxwidgets -} - -src_prepare() { - # Fix build with boost >=1.85 - eapply "${FILESDIR}/boost-1.85-932315.patch" - - sed -i \ - -e "/COMMAND.*GZIP/d" \ - -e "s/\.gz//g" \ - "${S}"/doc/CMakeLists.txt || die - cmake_src_prepare -} - -src_configure() { - local mycmakeargs=( - -DBUILD_HSI=$(usex python) - -DENABLE_LAPACK=$(usex lapack) - ) - cmake_src_configure -} - -src_install() { - cmake_src_install - use python && python_optimize - - local lang - for lang in ${LANGS} ; do - case ${lang} in - ca) dir=ca_ES;; - ca-valencia) dir=ca_ES@valencia;; - cs) dir=cs_CZ;; - *) dir=${lang/-/_};; - esac - if ! use l10n_${lang} ; then - rm -r "${ED}"/usr/share/locale/${dir} || die - fi - done -} diff --git a/media-gfx/hugin/hugin-2024.0_rc1.ebuild b/media-gfx/hugin/hugin-2024.0.1.ebuild index d61fccfde529..a9919d40d6b9 100644 --- a/media-gfx/hugin/hugin-2024.0_rc1.ebuild +++ b/media-gfx/hugin/hugin-2024.0.1.ebuild @@ -12,11 +12,9 @@ DESCRIPTION="GUI for the creation & processing of panoramic images" HOMEPAGE="http://hugin.sf.net" SRC_URI="https://downloads.sourceforge.net/${PN}/${P/_/}.tar.bz2" -S=${WORKDIR}/${PN}-$(ver_cut 1-2).0 - LICENSE="GPL-2+ BSD BSD-2 MIT wxWinLL-3 ZLIB FDL-1.2" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~x86" +KEYWORDS="amd64 arm64 ~x86" LANGS=" ca ca-valencia cs da de en-GB es eu fi fr hu it ja nl pl pt-BR ro ru sk sv zh-CN zh-TW" IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})" diff --git a/media-gfx/hydrus/hydrus-565-r1.ebuild b/media-gfx/hydrus/hydrus-565-r1.ebuild index 07124a7dd9f9..350292414dcf 100644 --- a/media-gfx/hydrus/hydrus-565-r1.ebuild +++ b/media-gfx/hydrus/hydrus-565-r1.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..11} ) PYTHON_REQ_USE="sqlite" DOCS_BUILDER=mkdocs @@ -61,8 +61,7 @@ RDEPEND=" dev-python/service-identity[${PYTHON_USEDEP}] dev-python/twisted[${PYTHON_USEDEP}] - dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}] - || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyqt6] ) + dev-python/qtpy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}] media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] media-video/ffmpeg @@ -150,6 +149,6 @@ src_install() { pkg_postinst() { optfeature "automatic port forwarding support" "net-libs/miniupnpc" optfeature "memory compression in the client" "dev-python/lz4" - optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" + optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks" optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]" } diff --git a/media-gfx/hydrus/hydrus-571.ebuild b/media-gfx/hydrus/hydrus-571.ebuild index 07124a7dd9f9..350292414dcf 100644 --- a/media-gfx/hydrus/hydrus-571.ebuild +++ b/media-gfx/hydrus/hydrus-571.ebuild @@ -3,7 +3,7 @@ EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..11} ) PYTHON_REQ_USE="sqlite" DOCS_BUILDER=mkdocs @@ -61,8 +61,7 @@ RDEPEND=" dev-python/service-identity[${PYTHON_USEDEP}] dev-python/twisted[${PYTHON_USEDEP}] - dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}] - || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyqt6] ) + dev-python/qtpy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}] media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] media-video/ffmpeg @@ -150,6 +149,6 @@ src_install() { pkg_postinst() { optfeature "automatic port forwarding support" "net-libs/miniupnpc" optfeature "memory compression in the client" "dev-python/lz4" - optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" + optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks" optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]" } diff --git a/media-gfx/hydrus/hydrus-9999.ebuild b/media-gfx/hydrus/hydrus-9999.ebuild index 6c1cb6719c2e..2a870e24c78f 100644 --- a/media-gfx/hydrus/hydrus-9999.ebuild +++ b/media-gfx/hydrus/hydrus-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{9..11} ) +PYTHON_COMPAT=( python3_{10..11} ) PYTHON_REQ_USE="sqlite" DOCS_BUILDER=mkdocs @@ -57,8 +57,7 @@ RDEPEND=" dev-python/service-identity[${PYTHON_USEDEP}] dev-python/twisted[${PYTHON_USEDEP}] - dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}] - || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyside6] ) + dev-python/qtpy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}] media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}] media-video/ffmpeg @@ -144,6 +143,6 @@ src_install() { pkg_postinst() { optfeature "automatic port forwarding support" "net-libs/miniupnpc" optfeature "memory compression in the client" "dev-python/lz4" - optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks" + optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks" optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]" } diff --git a/media-gfx/igal/igal-3.2.ebuild b/media-gfx/igal/igal-3.2.ebuild index f5a14a2df2cf..51a66ce9c503 100644 --- a/media-gfx/igal/igal-3.2.ebuild +++ b/media-gfx/igal/igal-3.2.ebuild @@ -10,7 +10,7 @@ S="${WORKDIR}/${PN}2-${PV}" LICENSE="GPL-2+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" RDEPEND=" dev-lang/perl diff --git a/media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild b/media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild index 3a27a91f6b96..080fc19e0b33 100644 --- a/media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild +++ b/media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -103,22 +103,22 @@ src_prepare() { # For testsuite, see bug #500580#c3 local ati_cards mesa_cards nvidia_cards render_cards shopt -s nullglob - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if test -n "${ati_cards}"; then - addpredict "${ati_cards}" - fi - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if test -n "${mesa_cards}"; then - addpredict "${mesa_cards}" - fi - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if test -n "${nvidia_cards}"; then - addpredict "${nvidia_cards}" - fi - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if test -n "${render_cards}"; then - addpredict "${render_cards}" - fi + ati_cards=$(echo -n /dev/ati/card*) + for card in "${ati_cards[@]}" ; do + addpredict "${card}" + done + mesa_cards=$(echo -n /dev/dri/card*) + for card in "${mesa_cards[@]}" ; do + addpredict "${card}" + done + nvidia_cards=$(echo -n /dev/nvidia*) + for card in "${nvidia_cards[@]}" ; do + addpredict "${card}" + done + render_cards=$(echo -n /dev/dri/renderD128*) + for card in "${render_cards[@]}" ; do + addpredict "${card}" + done shopt -u nullglob addpredict /dev/nvidiactl } diff --git a/media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild b/media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild index d5470d00ae36..8e26cfb2d9a6 100644 --- a/media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild +++ b/media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -103,22 +103,22 @@ src_prepare() { # For testsuite, see bug #500580#c3 local ati_cards mesa_cards nvidia_cards render_cards shopt -s nullglob - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if test -n "${ati_cards}"; then - addpredict "${ati_cards}" - fi - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if test -n "${mesa_cards}"; then - addpredict "${mesa_cards}" - fi - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if test -n "${nvidia_cards}"; then - addpredict "${nvidia_cards}" - fi - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if test -n "${render_cards}"; then - addpredict "${render_cards}" - fi + ati_cards=$(echo -n /dev/ati/card*) + for card in "${ati_cards[@]}" ; do + addpredict "${card}" + done + mesa_cards=$(echo -n /dev/dri/card*) + for card in "${mesa_cards[@]}" ; do + addpredict "${card}" + done + nvidia_cards=$(echo -n /dev/nvidia*) + for card in "${nvidia_cards[@]}" ; do + addpredict "${card}" + done + render_cards=$(echo -n /dev/dri/renderD128*) + for card in "${render_cards[@]}" ; do + addpredict "${card}" + done shopt -u nullglob addpredict /dev/nvidiactl } diff --git a/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild b/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild index 51feb1ba7e34..81adc8b3bf07 100644 --- a/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild +++ b/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -103,22 +103,22 @@ src_prepare() { # For testsuite, see bug #500580#c3 local ati_cards mesa_cards nvidia_cards render_cards shopt -s nullglob - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if test -n "${ati_cards}"; then - addpredict "${ati_cards}" - fi - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if test -n "${mesa_cards}"; then - addpredict "${mesa_cards}" - fi - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if test -n "${nvidia_cards}"; then - addpredict "${nvidia_cards}" - fi - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if test -n "${render_cards}"; then - addpredict "${render_cards}" - fi + ati_cards=$(echo -n /dev/ati/card*) + for card in "${ati_cards[@]}" ; do + addpredict "${card}" + done + mesa_cards=$(echo -n /dev/dri/card*) + for card in "${mesa_cards[@]}" ; do + addpredict "${card}" + done + nvidia_cards=$(echo -n /dev/nvidia*) + for card in "${nvidia_cards[@]}" ; do + addpredict "${card}" + done + render_cards=$(echo -n /dev/dri/renderD128*) + for card in "${render_cards[@]}" ; do + addpredict "${card}" + done shopt -u nullglob addpredict /dev/nvidiactl } diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild index 52d6378e2f26..a9b0dde7fb7c 100644 --- a/media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild +++ b/media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -106,25 +106,25 @@ src_prepare() { #elibtoolize # for Darwin modules eautoreconf - # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3 + # For testsuite, see bug #500580#c3 local ati_cards mesa_cards nvidia_cards render_cards shopt -s nullglob - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if test -n "${ati_cards}"; then - addpredict "${ati_cards}" - fi - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if test -n "${mesa_cards}"; then - addpredict "${mesa_cards}" - fi - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if test -n "${nvidia_cards}"; then - addpredict "${nvidia_cards}" - fi - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if test -n "${render_cards}"; then - addpredict "${render_cards}" - fi + ati_cards=$(echo -n /dev/ati/card*) + for card in "${ati_cards[@]}" ; do + addpredict "${card}" + done + mesa_cards=$(echo -n /dev/dri/card*) + for card in "${mesa_cards[@]}" ; do + addpredict "${card}" + done + nvidia_cards=$(echo -n /dev/nvidia*) + for card in "${nvidia_cards[@]}" ; do + addpredict "${card}" + done + render_cards=$(echo -n /dev/dri/renderD128*) + for card in "${render_cards[@]}" ; do + addpredict "${card}" + done shopt -u nullglob addpredict /dev/nvidiactl } diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild index 7a411d2e2d91..4cb8cbb1251a 100644 --- a/media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild +++ b/media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -108,25 +108,25 @@ src_prepare() { #elibtoolize # for Darwin modules eautoreconf - # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3 + # For testsuite, see bug #500580#c3 local ati_cards mesa_cards nvidia_cards render_cards shopt -s nullglob - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if test -n "${ati_cards}"; then - addpredict "${ati_cards}" - fi - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if test -n "${mesa_cards}"; then - addpredict "${mesa_cards}" - fi - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if test -n "${nvidia_cards}"; then - addpredict "${nvidia_cards}" - fi - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if test -n "${render_cards}"; then - addpredict "${render_cards}" - fi + ati_cards=$(echo -n /dev/ati/card*) + for card in "${ati_cards[@]}" ; do + addpredict "${card}" + done + mesa_cards=$(echo -n /dev/dri/card*) + for card in "${mesa_cards[@]}" ; do + addpredict "${card}" + done + nvidia_cards=$(echo -n /dev/nvidia*) + for card in "${nvidia_cards[@]}" ; do + addpredict "${card}" + done + render_cards=$(echo -n /dev/dri/renderD128*) + for card in "${render_cards[@]}" ; do + addpredict "${card}" + done shopt -u nullglob addpredict /dev/nvidiactl } diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild index 63f2b61e4b69..16d4e4c94e35 100644 --- a/media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild +++ b/media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -108,25 +108,25 @@ src_prepare() { #elibtoolize # for Darwin modules eautoreconf - # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3 + # For testsuite, see bug #500580#c3 local ati_cards mesa_cards nvidia_cards render_cards shopt -s nullglob - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if test -n "${ati_cards}"; then - addpredict "${ati_cards}" - fi - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if test -n "${mesa_cards}"; then - addpredict "${mesa_cards}" - fi - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if test -n "${nvidia_cards}"; then - addpredict "${nvidia_cards}" - fi - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if test -n "${render_cards}"; then - addpredict "${render_cards}" - fi + ati_cards=$(echo -n /dev/ati/card*) + for card in "${ati_cards[@]}" ; do + addpredict "${card}" + done + mesa_cards=$(echo -n /dev/dri/card*) + for card in "${mesa_cards[@]}" ; do + addpredict "${card}" + done + nvidia_cards=$(echo -n /dev/nvidia*) + for card in "${nvidia_cards[@]}" ; do + addpredict "${card}" + done + render_cards=$(echo -n /dev/dri/renderD128*) + for card in "${render_cards[@]}" ; do + addpredict "${card}" + done shopt -u nullglob addpredict /dev/nvidiactl } diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild index 45cfe4d2db47..c3af2faa2229 100644 --- a/media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild +++ b/media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -106,25 +106,25 @@ src_prepare() { #elibtoolize # for Darwin modules eautoreconf - # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3 + # For testsuite, see bug #500580#c3 local ati_cards mesa_cards nvidia_cards render_cards shopt -s nullglob - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if test -n "${ati_cards}"; then - addpredict "${ati_cards}" - fi - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if test -n "${mesa_cards}"; then - addpredict "${mesa_cards}" - fi - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if test -n "${nvidia_cards}"; then - addpredict "${nvidia_cards}" - fi - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if test -n "${render_cards}"; then - addpredict "${render_cards}" - fi + ati_cards=$(echo -n /dev/ati/card*) + for card in "${ati_cards[@]}" ; do + addpredict "${card}" + done + mesa_cards=$(echo -n /dev/dri/card*) + for card in "${mesa_cards[@]}" ; do + addpredict "${card}" + done + nvidia_cards=$(echo -n /dev/nvidia*) + for card in "${nvidia_cards[@]}" ; do + addpredict "${card}" + done + render_cards=$(echo -n /dev/dri/renderD128*) + for card in "${render_cards[@]}" ; do + addpredict "${card}" + done shopt -u nullglob addpredict /dev/nvidiactl } diff --git a/media-gfx/imagemagick/imagemagick-9999.ebuild b/media-gfx/imagemagick/imagemagick-9999.ebuild index 36da9357938f..dae61feb43e4 100644 --- a/media-gfx/imagemagick/imagemagick-9999.ebuild +++ b/media-gfx/imagemagick/imagemagick-9999.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -106,25 +106,25 @@ src_prepare() { #elibtoolize # for Darwin modules eautoreconf - # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3 + # For testsuite, see bug #500580#c3 local ati_cards mesa_cards nvidia_cards render_cards shopt -s nullglob - ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g') - if test -n "${ati_cards}"; then - addpredict "${ati_cards}" - fi - mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g') - if test -n "${mesa_cards}"; then - addpredict "${mesa_cards}" - fi - nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g') - if test -n "${nvidia_cards}"; then - addpredict "${nvidia_cards}" - fi - render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g') - if test -n "${render_cards}"; then - addpredict "${render_cards}" - fi + ati_cards=$(echo -n /dev/ati/card*) + for card in "${ati_cards[@]}" ; do + addpredict "${card}" + done + mesa_cards=$(echo -n /dev/dri/card*) + for card in "${mesa_cards[@]}" ; do + addpredict "${card}" + done + nvidia_cards=$(echo -n /dev/nvidia*) + for card in "${nvidia_cards[@]}" ; do + addpredict "${card}" + done + render_cards=$(echo -n /dev/dri/renderD128*) + for card in "${render_cards[@]}" ; do + addpredict "${card}" + done shopt -u nullglob addpredict /dev/nvidiactl } diff --git a/media-gfx/img2pdf/img2pdf-0.5.1.ebuild b/media-gfx/img2pdf/img2pdf-0.5.1.ebuild index a6489af9714d..881c283cd7f9 100644 --- a/media-gfx/img2pdf/img2pdf-0.5.1.ebuild +++ b/media-gfx/img2pdf/img2pdf-0.5.1.ebuild @@ -16,7 +16,7 @@ HOMEPAGE=" LICENSE="LGPL-3+" SLOT="0" -KEYWORDS="~amd64 ~ppc64 ~x86" +KEYWORDS="amd64 ~ppc64 x86" IUSE="gui" BDEPEND=" diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest index 76baabb37e72..451ba470c5b6 100644 --- a/media-gfx/inkscape/Manifest +++ b/media-gfx/inkscape/Manifest @@ -1,3 +1 @@ -DIST inkscape-1.3.2.tar.xz 44720944 BLAKE2B 24120f8c671e1fb54bb6626cab95e7086e3c60fbc117bbe8017d081c799bc26812b1286e670771e7ffe88720ba25f237146c452afaf65c1ee2ee554fb07f79a2 SHA512 a6da4b676ba3e7f954f95e3916ce78ce358b49c8052795a52d478064ef02eeae0337b0a94e89b9752ea6824a5758d28072c2bbf83f1e9ee28daebd3b0ef87343 DIST inkscape-1.4.tar.xz 46321868 BLAKE2B 3f21402019995122f043f5ebd8f07e1c9548c507f27c494e4214e090c46acae016c21f950609c95cef2e1b0011693e6629326d733b257402391e2d919bcd0303 SHA512 3b81306b81416597073e7eda2a103112cee63493bcf96fa737bb1edfbd682ebb329e415bbbbfda877aef2a78dc376460040ebc5c0cc2c90c0fe60db5d7d12368 -DIST inkscape-1.4beta3.tar.xz 46065140 BLAKE2B e24849462170014ee6ffd609e5f6db38694e387a5988929bc52cf3b9594d0021c63d8bdfe997dc22f6c544e1c65b9ccd78f314cb943242a860471122d32efcd8 SHA512 3c8d757eacef54742c4c8b9ce923719fee4ae1fb6d39031fecdf4d9641cfaa2e689adcfa16a7450a43aefe5795a2319f0ef5cd7304e78b2a9bff0da02106faba diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch deleted file mode 100644 index 6364c3f88a9e..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch +++ /dev/null @@ -1,11 +0,0 @@ ---- a/src/ui/dialog/filter-effects-dialog.cpp -+++ b/src/ui/dialog/filter-effects-dialog.cpp -@@ -202,7 +202,7 @@ - template< typename T> class ComboWithTooltip : public Gtk::EventBox - { - public: -- ComboWithTooltip<T>(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr) -+ ComboWithTooltip(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr) - { - if (tip_text) { - set_tooltip_text(tip_text); diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch deleted file mode 100644 index 3c61b1919278..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch +++ /dev/null @@ -1,91 +0,0 @@ -From 1798e9c13b786f3d077ba0132592c4d5c1d1fb9b Mon Sep 17 00:00:00 2001 -From: Tavmjong Bah <tavmjong@free.fr> -Date: Tue, 26 Sep 2023 19:23:27 +0000 -Subject: [PATCH] Up C++ version to C++20. - ---- - CMakeLists.txt | 4 ++-- - _clang-format | 2 +- - src/ui/knot/knot-holder-entity.cpp | 2 +- - src/ui/tools/pencil-tool.cpp | 9 ++++++--- - 4 files changed, 10 insertions(+), 7 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index fe6b10cda24..de2680bd651 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -18,9 +18,9 @@ message("Binary Dir: ${CMAKE_CURRENT_BINARY_DIR}") - # ----------------------------------------------------------------------------- - # CMake Configuration - # ----------------------------------------------------------------------------- --set(CMAKE_CXX_STANDARD 17) -+set(CMAKE_CXX_STANDARD 20) - set(CMAKE_CXX_STANDARD_REQUIRED ON) --# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++17 instead of -std=gnu++17 -+# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++20 instead of -std=gnu++20 - # TODO: build currently fails with it as we actually depend on GNU compiler extensions... - # mostly use of the non-Standard M_PI et al. TODO: C++20: Use the <numbers> header. - -diff --git a/_clang-format b/_clang-format -index 39396fad65a..48de4d2bd88 100644 ---- a/_clang-format -+++ b/_clang-format -@@ -103,7 +103,7 @@ SpacesInContainerLiterals: false - SpacesInCStyleCastParentheses: false - SpacesInParentheses: false - SpacesInSquareBrackets: false --Standard: c++17 -+Standard: c++20 - StatementMacros: [] - TypenameMacros: [] - TabWidth: 4 -diff --git a/src/ui/knot/knot-holder-entity.cpp b/src/ui/knot/knot-holder-entity.cpp -index 8703f5975f7..add66d2fa29 100644 ---- a/src/ui/knot/knot-holder-entity.cpp -+++ b/src/ui/knot/knot-holder-entity.cpp -@@ -315,7 +315,7 @@ void PatternKnotHolderEntityScale::knot_set(Geom::Point const &p, Geom::Point co - double scale_x = std::clamp(new_extent[X] / _cached_diagonal[X], _cached_min_scale, 1e9); - double scale_y = std::clamp(new_extent[Y] / _cached_diagonal[Y], _cached_min_scale, 1e9); - -- Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale(lerp(0.5, scale_x, scale_y)) -+ Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale((scale_x + scale_y) * 0.5) - : Scale(scale_x, scale_y); - - // 2. Calculate offset to keep pattern origin aligned -diff --git a/src/ui/tools/pencil-tool.cpp b/src/ui/tools/pencil-tool.cpp -index fd2d08cad0c..7324f7c8515 100644 ---- a/src/ui/tools/pencil-tool.cpp -+++ b/src/ui/tools/pencil-tool.cpp -@@ -17,7 +17,11 @@ - * Released under GNU GPL v2+, read the file 'COPYING' for more information. - */ - --#include <numeric> // For std::accumulate -+#include "pencil-tool.h" -+ -+#include <cmath> // std::lerp -+#include <numeric> // std::accumulate -+ - #include <gdk/gdkkeysyms.h> - #include <glibmm/i18n.h> - -@@ -26,7 +30,6 @@ - #include <2geom/sbasis-to-bezier.h> - #include <2geom/svg-path-parser.h> - --#include "pencil-tool.h" - - #include "context-fns.h" - #include "desktop.h" -@@ -806,7 +809,7 @@ void PencilTool::_addFreehandPoint(Geom::Point const &p, guint /*state*/, bool l - min = max; - } - double dezoomify_factor = 0.05 * 1000 / _desktop->current_zoom(); -- double const pressure_shrunk = pressure * (max - min) + min; // C++20 -> use std::lerp() -+ double const pressure_shrunk = std::lerp(min, max, pressure); - double pressure_computed = std::abs(pressure_shrunk * dezoomify_factor); - double pressure_computed_scaled = std::abs(pressure_computed * _desktop->getDocument()->getDocumentScale().inverse()[Geom::X]); - if (p != p_array[_npoints - 1]) { --- -GitLab - diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-libxml2-2.12.patch b/media-gfx/inkscape/files/inkscape-1.3.2-libxml2-2.12.patch deleted file mode 100644 index 7e981e36fc1e..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.3.2-libxml2-2.12.patch +++ /dev/null @@ -1,29 +0,0 @@ -https://bugs.gentoo.org/923247 -https://gitlab.com/inkscape/inkscape/-/merge_requests/6089 - -From 694d8ae43d06efff21adebf377ce614d660b24cd Mon Sep 17 00:00:00 2001 -From: Christian Hesse <mail@eworm.de> -Date: Fri, 17 Nov 2023 22:30:42 +0100 -Subject: [PATCH] include missing header file -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -This fixes build error: -``` -/build/inkscape/src/inkscape/src/object/uri.cpp: In constructor ‘Inkscape::URI::URI(const gchar*, const char*)’: -/build/inkscape/src/inkscape/src/object/uri.cpp:86:9: error: ‘xmlFree’ was not declared in this scope; did you mean ‘xmlFreeURI’? - 86 | xmlFree(full); -``` ---- a/src/object/uri.h -+++ b/src/object/uri.h -@@ -13,6 +13,7 @@ - #define INKSCAPE_URI_H - - #include <libxml/uri.h> -+#include <libxml/xmlmemory.h> - #include <memory> - #include <string> - --- -GitLab diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch deleted file mode 100644 index 53cf3fd2b6cd..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch +++ /dev/null @@ -1,61 +0,0 @@ -From 3dd9846ab99260134e11938f0e575be822507037 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Mon, 4 Mar 2024 22:59:40 +0100 -Subject: [PATCH] Fix build with >=poppler-24.03.0 - -Fixes build errors caused by: - -"Use an enum for Function getType" -Upstream commit 6e3824d45d42cb806a28a2df84e4ab6bb3587083 - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> ---- - src/extension/internal/pdfinput/svg-builder.cpp | 14 +++++++++++++- - 1 file changed, 13 insertions(+), 1 deletion(-) - -diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp -index 525fbfec0..bcd7b1f61 100644 ---- a/src/extension/internal/pdfinput/svg-builder.cpp -+++ b/src/extension/internal/pdfinput/svg-builder.cpp -@@ -1175,9 +1175,13 @@ static bool svgGetShadingColor(GfxShading *shading, double offset, GfxColor *res - #define INT_EPSILON 8 - bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading, - _POPPLER_CONST Function *func) { -- int type = func->getType(); -+ auto type = func->getType(); - auto space = shading->getColorSpace(); -+#if POPPLER_CHECK_VERSION(24, 3, 0) -+ if ( type == Function::Type::Sampled || type == Function::Type::Exponential ) { // Sampled or exponential function -+#else - if ( type == 0 || type == 2 ) { // Sampled or exponential function -+#endif - GfxColor stop1, stop2; - if (!svgGetShadingColor(shading, 0.0, &stop1) || !svgGetShadingColor(shading, 1.0, &stop2)) { - return false; -@@ -1185,7 +1189,11 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh - _addStopToGradient(gradient, 0.0, &stop1, space, 1.0); - _addStopToGradient(gradient, 1.0, &stop2, space, 1.0); - } -+#if POPPLER_CHECK_VERSION(24, 3, 0) -+ } else if ( type == Function::Type::Stitching ) { // Stitching -+#else - } else if ( type == 3 ) { // Stitching -+#endif - auto stitchingFunc = static_cast<_POPPLER_CONST StitchingFunction*>(func); - const double *bounds = stitchingFunc->getBounds(); - const double *encode = stitchingFunc->getEncode(); -@@ -1200,7 +1208,11 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh - for ( int i = 0 ; i < num_funcs ; i++ ) { - svgGetShadingColor(shading, bounds[i + 1], &color); - // Add stops -+#if POPPLER_CHECK_VERSION(24, 3, 0) -+ if (stitchingFunc->getFunc(i)->getType() == Function::Type::Exponential) { // process exponential fxn -+#else - if (stitchingFunc->getFunc(i)->getType() == 2) { // process exponential fxn -+#endif - double expE = (static_cast<_POPPLER_CONST ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE(); - if (expE > 1.0) { - expE = (bounds[i + 1] - bounds[i])/expE; // approximate exponential as a single straight line at x=1 --- -2.44.0 - diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch deleted file mode 100644 index bb2764032c44..000000000000 --- a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch +++ /dev/null @@ -1,64 +0,0 @@ -From 96ca7a6c215aa14336b52753f56244dc8796ec43 Mon Sep 17 00:00:00 2001 -From: Heiko Becker <mail@heiko-becker.de> -Date: Fri, 3 May 2024 14:52:00 +0200 -Subject: [PATCH] Fix build with poppler >= 24.05.0 - -GooString::hasUnicodeMarkerLE and GooString::hasUnicodeMarker were -rename and moved to UTF.h [1][2] - -[1] https://gitlab.freedesktop.org/poppler/poppler/-/commit/98fabb298b0e8eaef9193bbce68c99c85473a314 -[2] https://gitlab.freedesktop.org/poppler/poppler/-/commit/1f06dca08c32ed18c3030530d98a0e30d41dd7a2 ---- - src/extension/internal/pdfinput/poppler-transition-api.h | 9 +++++++++ - src/extension/internal/pdfinput/poppler-utils.cpp | 6 ++++-- - 2 files changed, 13 insertions(+), 2 deletions(-) - -diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h -index 58aa1ec921d..481aefadf46 100644 ---- a/src/extension/internal/pdfinput/poppler-transition-api.h -+++ b/src/extension/internal/pdfinput/poppler-transition-api.h -@@ -13,6 +13,15 @@ - #define SEEN_POPPLER_TRANSITION_API_H - - #include <glib/poppler-features.h> -+#include <poppler/UTF.h> -+ -+#if POPPLER_CHECK_VERSION(24, 5, 0) -+#define _POPPLER_HAS_UNICODE_BOM(value) (hasUnicodeByteOrderMark(value->toStr())) -+#define _POPPLER_HAS_UNICODE_BOMLE(value) (hasUnicodeByteOrderMarkLE(value->toStr())) -+#else -+#define _POPPLER_HAS_UNICODE_BOM(value) (value->hasUnicodeMarker()) -+#define _POPPLER_HAS_UNICODE_BOMLE(value) (value->hasUnicodeMarkerLE()) -+#endif - - #if POPPLER_CHECK_VERSION(24, 3, 0) - #define _POPPLER_FUNCTION_TYPE_SAMPLED Function::Type::Sampled -diff --git a/src/extension/internal/pdfinput/poppler-utils.cpp b/src/extension/internal/pdfinput/poppler-utils.cpp -index 78d90c66c9d..c02815f64b9 100644 ---- a/src/extension/internal/pdfinput/poppler-utils.cpp -+++ b/src/extension/internal/pdfinput/poppler-utils.cpp -@@ -12,6 +12,8 @@ - - #include "poppler-utils.h" - -+#include <poppler/UTF.h> -+ - #include "2geom/affine.h" - #include "GfxFont.h" - #include "GfxState.h" -@@ -563,10 +565,10 @@ std::string getDictString(Dict *dict, const char *key) - */ - std::string getString(const GooString *value) - { -- if (value->hasUnicodeMarker()) { -+ if (_POPPLER_HAS_UNICODE_BOM(value)) { - return g_convert(value->getCString () + 2, value->getLength () - 2, - "UTF-8", "UTF-16BE", NULL, NULL, NULL); -- } else if (value->hasUnicodeMarkerLE()) { -+ } else if (_POPPLER_HAS_UNICODE_BOMLE(value)) { - return g_convert(value->getCString () + 2, value->getLength () - 2, - "UTF-8", "UTF-16LE", NULL, NULL, NULL); - } --- -GitLab - diff --git a/media-gfx/inkscape/files/inkscape-1.4-poppler-24.10-fix-backport.patch b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.10-fix-backport.patch new file mode 100644 index 000000000000..c20ab13e4f52 --- /dev/null +++ b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.10-fix-backport.patch @@ -0,0 +1,432 @@ +https://bugs.gentoo.org/941933 + +From 22304ae8034d067670a9f95022083a75fac92b4c Mon Sep 17 00:00:00 2001 +From: PBS <pbs3141@gmail.com> +Date: Tue, 22 Oct 2024 14:48:31 +0100 +Subject: [PATCH] Future-proof against poppler 24.10 changes + +--- + .../internal/pdfinput/pdf-parser.cpp | 120 ++++++++---------- + src/extension/internal/pdfinput/pdf-parser.h | 4 +- + .../pdfinput/poppler-transition-api.h | 6 + + 3 files changed, 61 insertions(+), 69 deletions(-) + +diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp +index 97b2909218a..28000a87b0c 100644 +--- a/src/extension/internal/pdfinput/pdf-parser.cpp ++++ b/src/extension/internal/pdfinput/pdf-parser.cpp +@@ -817,11 +817,11 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/) + _POPPLER_FREE(obj3); + if (_POPPLER_CALL_ARGS_DEREF(obj3, obj2.dictLookup, "G").isStream()) { + if (_POPPLER_CALL_ARGS_DEREF(obj4, obj3.streamGetDict()->lookup, "Group").isDict()) { +- GfxColorSpace *blendingColorSpace = nullptr; ++ std::unique_ptr<GfxColorSpace> blendingColorSpace; + GBool isolated = gFalse; + GBool knockout = gFalse; + if (!_POPPLER_CALL_ARGS_DEREF(obj5, obj4.dictLookup, "CS").isNull()) { +- blendingColorSpace = GfxColorSpace::parse(nullptr, &obj5, nullptr, state); ++ blendingColorSpace = std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(nullptr, &obj5, nullptr, state)); + } + _POPPLER_FREE(obj5); + if (_POPPLER_CALL_ARGS_DEREF(obj5, obj4.dictLookup, "I").isBool()) { +@@ -842,7 +842,7 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/) + } + } + } +- doSoftMask(&obj3, alpha, blendingColorSpace, isolated, knockout, funcs[0], &backdropColor); ++ doSoftMask(&obj3, alpha, blendingColorSpace.get(), isolated, knockout, funcs[0], &backdropColor); + if (funcs[0]) { + delete funcs[0]; + } +@@ -927,9 +927,6 @@ void PdfParser::doSoftMask(Object *str, GBool alpha, + alpha, transferFunc, backdropColor); + --formDepth; + +- if (blendingColorSpace) { +- delete blendingColorSpace; +- } + _POPPLER_FREE(obj1); + } + +@@ -946,42 +943,43 @@ void PdfParser::opSetRenderingIntent(Object /*args*/[], int /*numArgs*/) + * + * Maintains a cache for named color spaces to avoid expensive re-parsing. + */ +-GfxColorSpace *PdfParser::lookupColorSpaceCopy(Object &arg) ++std::unique_ptr<GfxColorSpace> PdfParser::lookupColorSpaceCopy(Object &arg) + { + assert(!arg.isNull()); +- GfxColorSpace *colorSpace = nullptr; + + if (char const *name = arg.isName() ? arg.getName() : nullptr) { + auto const cache_name = std::to_string(formDepth) + "-" + name; +- if ((colorSpace = colorSpacesCache[cache_name].get())) { +- return colorSpace->copy(); ++ if (auto cached = colorSpacesCache[cache_name].get()) { ++ return std::unique_ptr<GfxColorSpace>(cached->copy()); + } + +- Object obj = res->lookupColorSpace(name); +- if (obj.isNull()) { +- colorSpace = GfxColorSpace::parse(res, &arg, nullptr, state); ++ std::unique_ptr<GfxColorSpace> colorSpace; ++ if (auto obj = res->lookupColorSpace(name); !obj.isNull()) { ++ colorSpace = std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res, &obj, nullptr, state)); + } else { +- colorSpace = GfxColorSpace::parse(res, &obj, nullptr, state); ++ colorSpace = std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res, &arg, nullptr, state)); + } + + if (colorSpace && colorSpace->getMode() != csPattern) { +- colorSpacesCache[cache_name].reset(colorSpace->copy()); ++ colorSpacesCache[cache_name] = std::unique_ptr<GfxColorSpace>(colorSpace->copy()); + } ++ ++ return colorSpace; + } else { + // We were passed in an object directly. +- colorSpace = GfxColorSpace::parse(res, &arg, nullptr, state); ++ return std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res, &arg, nullptr, state)); + } +- return colorSpace; + } + + /** + * Look up pattern/gradients from the GfxResource dictionary + */ +-GfxPattern *PdfParser::lookupPattern(Object *obj, GfxState *state) ++std::unique_ptr<GfxPattern> PdfParser::lookupPattern(Object *obj, GfxState *state) + { +- if (!obj->isName()) +- return nullptr; +- return res->lookupPattern(obj->getName(), nullptr, state); ++ if (!obj->isName()) { ++ return {}; ++ } ++ return std::unique_ptr<GfxPattern>(res->lookupPattern(obj->getName(), nullptr, state)); + } + + // TODO not good that numArgs is ignored but args[] is used: +@@ -990,7 +988,7 @@ void PdfParser::opSetFillGray(Object args[], int /*numArgs*/) + GfxColor color; + builder->beforeStateChange(state); + state->setFillPattern(nullptr); +- state->setFillColorSpace(new GfxDeviceGrayColorSpace()); ++ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceGrayColorSpace>())); + color.c[0] = dblToCol(args[0].getNum()); + state->setFillColor(&color); + builder->updateStyle(state); +@@ -1002,7 +1000,7 @@ void PdfParser::opSetStrokeGray(Object args[], int /*numArgs*/) + GfxColor color; + builder->beforeStateChange(state); + state->setStrokePattern(nullptr); +- state->setStrokeColorSpace(new GfxDeviceGrayColorSpace()); ++ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceGrayColorSpace>())); + color.c[0] = dblToCol(args[0].getNum()); + state->setStrokeColor(&color); + builder->updateStyle(state); +@@ -1015,7 +1013,7 @@ void PdfParser::opSetFillCMYKColor(Object args[], int /*numArgs*/) + int i; + builder->beforeStateChange(state); + state->setFillPattern(nullptr); +- state->setFillColorSpace(new GfxDeviceCMYKColorSpace()); ++ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceCMYKColorSpace>())); + for (i = 0; i < 4; ++i) { + color.c[i] = dblToCol(args[i].getNum()); + } +@@ -1029,7 +1027,7 @@ void PdfParser::opSetStrokeCMYKColor(Object args[], int /*numArgs*/) + GfxColor color; + builder->beforeStateChange(state); + state->setStrokePattern(nullptr); +- state->setStrokeColorSpace(new GfxDeviceCMYKColorSpace()); ++ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceCMYKColorSpace>())); + for (int i = 0; i < 4; ++i) { + color.c[i] = dblToCol(args[i].getNum()); + } +@@ -1043,7 +1041,7 @@ void PdfParser::opSetFillRGBColor(Object args[], int /*numArgs*/) + GfxColor color; + builder->beforeStateChange(state); + state->setFillPattern(nullptr); +- state->setFillColorSpace(new GfxDeviceRGBColorSpace()); ++ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceRGBColorSpace>())); + for (int i = 0; i < 3; ++i) { + color.c[i] = dblToCol(args[i].getNum()); + } +@@ -1056,7 +1054,7 @@ void PdfParser::opSetStrokeRGBColor(Object args[], int /*numArgs*/) { + GfxColor color; + builder->beforeStateChange(state); + state->setStrokePattern(nullptr); +- state->setStrokeColorSpace(new GfxDeviceRGBColorSpace()); ++ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceRGBColorSpace>())); + for (int i = 0; i < 3; ++i) { + color.c[i] = dblToCol(args[i].getNum()); + } +@@ -1068,14 +1066,14 @@ void PdfParser::opSetStrokeRGBColor(Object args[], int /*numArgs*/) { + void PdfParser::opSetFillColorSpace(Object args[], int numArgs) + { + assert(numArgs >= 1); +- GfxColorSpace *colorSpace = lookupColorSpaceCopy(args[0]); ++ auto colorSpace = lookupColorSpaceCopy(args[0]); + builder->beforeStateChange(state); + state->setFillPattern(nullptr); + + if (colorSpace) { + GfxColor color; +- state->setFillColorSpace(colorSpace); + colorSpace->getDefaultColor(&color); ++ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(colorSpace)); + state->setFillColor(&color); + builder->updateStyle(state); + } else { +@@ -1089,14 +1087,14 @@ void PdfParser::opSetStrokeColorSpace(Object args[], int numArgs) + assert(numArgs >= 1); + builder->beforeStateChange(state); + +- GfxColorSpace *colorSpace = lookupColorSpaceCopy(args[0]); ++ auto colorSpace = lookupColorSpaceCopy(args[0]); + + state->setStrokePattern(nullptr); + + if (colorSpace) { + GfxColor color; +- state->setStrokeColorSpace(colorSpace); + colorSpace->getDefaultColor(&color); ++ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(colorSpace)); + state->setStrokeColor(&color); + builder->updateStyle(state); + } else { +@@ -1159,7 +1157,7 @@ void PdfParser::opSetFillColorN(Object args[], int numArgs) { + builder->updateStyle(state); + } + if (auto pattern = lookupPattern(&(args[numArgs - 1]), state)) { +- state->setFillPattern(pattern); ++ state->setFillPattern(_POPPLER_CONSUME_UNIQPTR_ARG(pattern)); + builder->updateStyle(state); + } + +@@ -1202,7 +1200,7 @@ void PdfParser::opSetStrokeColorN(Object args[], int numArgs) { + builder->updateStyle(state); + } + if (auto pattern = lookupPattern(&(args[numArgs - 1]), state)) { +- state->setStrokePattern(pattern); ++ state->setStrokePattern(_POPPLER_CONSUME_UNIQPTR_ARG(pattern)); + builder->updateStyle(state); + } + +@@ -1579,11 +1577,11 @@ void PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat, + // TODO not good that numArgs is ignored but args[] is used: + void PdfParser::opShFill(Object args[], int /*numArgs*/) + { +- GfxShading *shading = nullptr; + GfxPath *savedPath = nullptr; + bool savedState = false; + +- if (!(shading = res->lookupShading(args[0].getName(), nullptr, state))) { ++ auto shading = std::unique_ptr<GfxShading>(res->lookupShading(args[0].getName(), nullptr, state)); ++ if (!shading) { + return; + } + +@@ -1615,19 +1613,19 @@ void PdfParser::opShFill(Object args[], int /*numArgs*/) + // do shading type-specific operations + switch (shading->getType()) { + case 1: // Function-based shading +- doFunctionShFill(static_cast<GfxFunctionShading *>(shading)); ++ doFunctionShFill(static_cast<GfxFunctionShading *>(shading.get())); + break; + case 2: // Axial shading + case 3: // Radial shading +- builder->addClippedFill(shading, stateToAffine(state)); ++ builder->addClippedFill(shading.get(), stateToAffine(state)); + break; + case 4: // Free-form Gouraud-shaded triangle mesh + case 5: // Lattice-form Gouraud-shaded triangle mesh +- doGouraudTriangleShFill(static_cast<GfxGouraudTriangleShading *>(shading)); ++ doGouraudTriangleShFill(static_cast<GfxGouraudTriangleShading *>(shading.get())); + break; + case 6: // Coons patch mesh + case 7: // Tensor-product patch mesh +- doPatchMeshShFill(static_cast<GfxPatchMeshShading *>(shading)); ++ doPatchMeshShFill(static_cast<GfxPatchMeshShading *>(shading.get())); + break; + } + +@@ -1636,8 +1634,6 @@ void PdfParser::opShFill(Object args[], int /*numArgs*/) + restoreState(); + state->setPath(savedPath); + } +- +- delete shading; + } + + void PdfParser::doFunctionShFill(GfxFunctionShading *shading) { +@@ -2528,7 +2524,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + + } else { + // get color space and color map +- GfxColorSpace *colorSpace; ++ std::unique_ptr<GfxColorSpace> colorSpace; + _POPPLER_CALL_ARGS(obj1, dict->lookup, "ColorSpace"); + if (obj1.isNull()) { + _POPPLER_FREE(obj1); +@@ -2537,13 +2533,11 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + if (!obj1.isNull()) { + colorSpace = lookupColorSpaceCopy(obj1); + } else if (csMode == streamCSDeviceGray) { +- colorSpace = new GfxDeviceGrayColorSpace(); ++ colorSpace = std::make_unique<GfxDeviceGrayColorSpace>(); + } else if (csMode == streamCSDeviceRGB) { +- colorSpace = new GfxDeviceRGBColorSpace(); ++ colorSpace = std::make_unique<GfxDeviceRGBColorSpace>(); + } else if (csMode == streamCSDeviceCMYK) { +- colorSpace = new GfxDeviceCMYKColorSpace(); +- } else { +- colorSpace = nullptr; ++ colorSpace = std::make_unique<GfxDeviceCMYKColorSpace>(); + } + _POPPLER_FREE(obj1); + if (!colorSpace) { +@@ -2554,10 +2548,9 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + _POPPLER_FREE(obj1); + _POPPLER_CALL_ARGS(obj1, dict->lookup, "D"); + } +- GfxImageColorMap *colorMap = new GfxImageColorMap(bits, &obj1, colorSpace); ++ auto colorMap = std::make_unique<GfxImageColorMap>(bits, &obj1, _POPPLER_CONSUME_UNIQPTR_ARG(colorSpace)); + _POPPLER_FREE(obj1); + if (!colorMap->isOk()) { +- delete colorMap; + goto err1; + } + +@@ -2568,7 +2561,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + int maskWidth = 0; + int maskHeight = 0; + maskInvert = gFalse; +- GfxImageColorMap *maskColorMap = nullptr; ++ std::unique_ptr<GfxImageColorMap> maskColorMap; + _POPPLER_CALL_ARGS(maskObj, dict->lookup, "Mask"); + _POPPLER_CALL_ARGS(smaskObj, dict->lookup, "SMask"); + Dict* maskDict; +@@ -2624,7 +2617,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + _POPPLER_FREE(obj1); + _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "CS"); + } +- GfxColorSpace *maskColorSpace = lookupColorSpaceCopy(obj1); ++ auto maskColorSpace = lookupColorSpaceCopy(obj1); + _POPPLER_FREE(obj1); + if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) { + goto err1; +@@ -2634,10 +2627,9 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + _POPPLER_FREE(obj1); + _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "D"); + } +- maskColorMap = new GfxImageColorMap(maskBits, &obj1, maskColorSpace); ++ maskColorMap = std::make_unique<GfxImageColorMap>(maskBits, &obj1, _POPPLER_CONSUME_UNIQPTR_ARG(maskColorSpace)); + _POPPLER_FREE(obj1); + if (!maskColorMap->isOk()) { +- delete maskColorMap; + goto err1; + } + //~ handle the Matte entry +@@ -2718,17 +2710,15 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + + // draw it + if (haveSoftMask) { +- builder->addSoftMaskedImage(state, str, width, height, colorMap, interpolate, +- maskStr, maskWidth, maskHeight, maskColorMap, maskInterpolate); +- delete maskColorMap; ++ builder->addSoftMaskedImage(state, str, width, height, colorMap.get(), interpolate, ++ maskStr, maskWidth, maskHeight, maskColorMap.get(), maskInterpolate); + } else if (haveExplicitMask) { +- builder->addMaskedImage(state, str, width, height, colorMap, interpolate, ++ builder->addMaskedImage(state, str, width, height, colorMap.get(), interpolate, + maskStr, maskWidth, maskHeight, maskInvert, maskInterpolate); + } else { +- builder->addImage(state, str, width, height, colorMap, interpolate, +- haveColorKeyMask ? maskColors : static_cast<int *>(nullptr)); ++ builder->addImage(state, str, width, height, colorMap.get(), interpolate, ++ haveColorKeyMask ? maskColors : nullptr); + } +- delete colorMap; + + _POPPLER_FREE(maskObj); + _POPPLER_FREE(smaskObj); +@@ -2746,7 +2736,6 @@ void PdfParser::doForm(Object *str, double *offset) + { + Dict *dict; + GBool transpGroup, isolated, knockout; +- GfxColorSpace *blendingColorSpace; + Object matrixObj, bboxObj; + double m[6], bbox[4]; + Object resObj; +@@ -2812,12 +2801,12 @@ void PdfParser::doForm(Object *str, double *offset) + + // check for a transparency group + transpGroup = isolated = knockout = gFalse; +- blendingColorSpace = nullptr; ++ std::unique_ptr<GfxColorSpace> blendingColorSpace; + if (_POPPLER_CALL_ARGS_DEREF(obj1, dict->lookup, "Group").isDict()) { + if (_POPPLER_CALL_ARGS_DEREF(obj2, obj1.dictLookup, "S").isName("Transparency")) { + transpGroup = gTrue; + if (!_POPPLER_CALL_ARGS_DEREF(obj3, obj1.dictLookup, "CS").isNull()) { +- blendingColorSpace = GfxColorSpace::parse(nullptr, &obj3, nullptr, state); ++ blendingColorSpace = std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(nullptr, &obj3, nullptr, state)); + } + _POPPLER_FREE(obj3); + if (_POPPLER_CALL_ARGS_DEREF(obj3, obj1.dictLookup, "I").isBool()) { +@@ -2835,12 +2824,9 @@ void PdfParser::doForm(Object *str, double *offset) + + // draw it + ++formDepth; +- doForm1(str, resDict, m, bbox, transpGroup, gFalse, blendingColorSpace, isolated, knockout); ++ doForm1(str, resDict, m, bbox, transpGroup, gFalse, blendingColorSpace.get(), isolated, knockout); + --formDepth; + +- if (blendingColorSpace) { +- delete blendingColorSpace; +- } + _POPPLER_FREE(resObj); + } + +diff --git a/src/extension/internal/pdfinput/pdf-parser.h b/src/extension/internal/pdfinput/pdf-parser.h +index c7c10caefed..8325ea24364 100644 +--- a/src/extension/internal/pdfinput/pdf-parser.h ++++ b/src/extension/internal/pdfinput/pdf-parser.h +@@ -137,7 +137,7 @@ public: + void loadPatternColorProfiles(Dict *resources); + void loadColorProfile(); + void loadColorSpaceProfile(GfxColorSpace *space, Object *obj); +- GfxPattern *lookupPattern(Object *obj, GfxState *state); ++ std::unique_ptr<GfxPattern> lookupPattern(Object *obj, GfxState *state); + + std::shared_ptr<CairoFontEngine> getFontEngine(); + +@@ -176,7 +176,7 @@ private: + //! Caches color spaces by name + std::map<std::string, std::unique_ptr<GfxColorSpace>> colorSpacesCache; + +- GfxColorSpace *lookupColorSpaceCopy(Object &); ++ std::unique_ptr<GfxColorSpace> lookupColorSpaceCopy(Object &); + + void setDefaultApproximationPrecision(); // init color deltas + void pushOperator(const char *name); +diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h +index 481aefadf46..8f03aa17779 100644 +--- a/src/extension/internal/pdfinput/poppler-transition-api.h ++++ b/src/extension/internal/pdfinput/poppler-transition-api.h +@@ -15,6 +15,12 @@ + #include <glib/poppler-features.h> + #include <poppler/UTF.h> + ++#if POPPLER_CHECK_VERSION(24, 10, 0) ++#define _POPPLER_CONSUME_UNIQPTR_ARG(value) std::move(value) ++#else ++#define _POPPLER_CONSUME_UNIQPTR_ARG(value) value.release() ++#endif ++ + #if POPPLER_CHECK_VERSION(24, 5, 0) + #define _POPPLER_HAS_UNICODE_BOM(value) (hasUnicodeByteOrderMark(value->toStr())) + #define _POPPLER_HAS_UNICODE_BOMLE(value) (hasUnicodeByteOrderMarkLE(value->toStr())) +-- +GitLab + diff --git a/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch new file mode 100644 index 000000000000..fdfe0efa1a7d --- /dev/null +++ b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch @@ -0,0 +1,59 @@ +From 0399372ec240d23e0e70548237a541f2b5bf0f34 Mon Sep 17 00:00:00 2001 +From: KrIr17 <elendil.krir17@gmail.com> +Date: Tue, 5 Nov 2024 00:40:15 +0100 +Subject: [PATCH] Fix building with Poppler 24.11 + +Poppler 24.11 no longer sets the default value for faceIndex to 0 in +`FoFiTrueType::make()` and `FoFiTrueType::load()` [1], so we do it +on our end instead. + +Fixes https://gitlab.com/inkscape/inkscape/-/issues/5370 + +[1] https://gitlab.freedesktop.org/poppler/poppler/-/commit/94467509a013dd5cf46c942baa598f2b296571f4 +--- + .../internal/pdfinput/poppler-cairo-font-engine.cpp | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp +index 34a8eed682d..728b1d1aac4 100644 +--- a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp ++++ b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp +@@ -419,9 +419,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li + FoFiTrueType *ff; + #endif + if (!font_data.empty()) { +- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size()); ++ ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0); + } else { +- ff = FoFiTrueType::load(fileName.c_str()); ++ ff = FoFiTrueType::load(fileName.c_str(), 0); + } + if (!ff) { + goto err2; +@@ -444,9 +444,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li + FoFiTrueType *ff; + #endif + if (!font_data.empty()) { +- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size()); ++ ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0); + } else { +- ff = FoFiTrueType::load(fileName.c_str()); ++ ff = FoFiTrueType::load(fileName.c_str(), 0); + } + if (!ff) { + error(errSyntaxError, -1, "failed to load truetype font\n"); +@@ -512,9 +512,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li + FoFiTrueType *ff; + #endif + if (!font_data.empty()) { +- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size()); ++ ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0); + } else { +- ff = FoFiTrueType::load(fileName.c_str()); ++ ff = FoFiTrueType::load(fileName.c_str(), 0); + } + if (ff) { + if (ff->isOpenTypeCFF()) { +-- +GitLab + diff --git a/media-gfx/inkscape/files/inkscape-1.4-poppler-24.12.0.patch b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.12.0.patch new file mode 100644 index 000000000000..f4e0a8391b78 --- /dev/null +++ b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.12.0.patch @@ -0,0 +1,53 @@ +From c9046810d899a408bfbd489aad91872b1203ee6d Mon Sep 17 00:00:00 2001 +From: KrIr17 <elendil.krir17@gmail.com> +Date: Thu, 5 Dec 2024 15:03:47 +0100 +Subject: [PATCH] Fix building with poppler 24.12.0 + +Fixes https://gitlab.com/inkscape/inkscape/-/issues/5415 +--- + src/extension/internal/pdfinput/pdf-parser.cpp | 4 +++- + src/extension/internal/pdfinput/poppler-transition-api.h | 6 ++++++ + 2 files changed, 9 insertions(+), 1 deletion(-) + +diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp +index 28000a87b0c..9ea30b90a48 100644 +--- a/src/extension/internal/pdfinput/pdf-parser.cpp ++++ b/src/extension/internal/pdfinput/pdf-parser.cpp +@@ -2403,6 +2403,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + int bits; + GBool interpolate; + StreamColorSpaceMode csMode; ++ GBool hasAlpha; + GBool mask; + GBool invert; + Object maskObj, smaskObj; +@@ -2414,7 +2415,8 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg) + // get info from the stream + bits = 0; + csMode = streamCSNone; +- str->getImageParams(&bits, &csMode); ++ hasAlpha = false; ++ str->_POPPLER_GET_IMAGE_PARAMS(&bits, &csMode, &hasAlpha); + + // get stream dict + dict = str->getDict(); +diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h +index 8f03aa17779..b7a54828e74 100644 +--- a/src/extension/internal/pdfinput/poppler-transition-api.h ++++ b/src/extension/internal/pdfinput/poppler-transition-api.h +@@ -39,6 +39,12 @@ + #define _POPPLER_FUNCTION_TYPE_STITCHING 3 + #endif + ++#if POPPLER_CHECK_VERSION(24,12,0) ++#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha) getImageParams(bits, csMode, hasAlpha) ++#else ++#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha) getImageParams(bits, csMode) ++#endif ++ + #if POPPLER_CHECK_VERSION(22, 4, 0) + #define _POPPLER_FONTPTR_TO_GFX8(font_ptr) ((Gfx8BitFont *)font_ptr.get()) + #else +-- +GitLab + diff --git a/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild b/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild deleted file mode 100644 index d9b60c0ac627..000000000000 --- a/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild +++ /dev/null @@ -1,213 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="xml(+)" - -inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1 - -MY_P="${P/_/}" -DESCRIPTION="SVG based generic vector-drawing program" -HOMEPAGE="https://inkscape.org/ https://gitlab.com/inkscape/inkscape/" - -if [[ ${PV} = 9999* ]]; then - inherit git-r3 - 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 ~loong ppc ppc64 ~riscv ~sparc x86" -fi - -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="cdr dia exif graphicsmagick imagemagick inkjar jpeg openmp postscript readline sourceview spell svg2 test visio wpg X" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -# Lots of test failures which need investigating, bug #871621 -RESTRICT="!test? ( test ) test" - -BDEPEND=" - dev-util/glib-utils - >=sys-devel/gettext-0.17 - virtual/pkgconfig - test? ( virtual/imagemagick-tools ) -" -COMMON_DEPEND="${PYTHON_DEPS} - >=app-text/poppler-0.57.0:=[cairo] - >=dev-cpp/cairomm-1.12:0 - >=dev-cpp/glibmm-2.54.1:2 - dev-cpp/gtkmm:3.0 - >=dev-cpp/pangomm-2.40:1.4 - >=dev-libs/boehm-gc-7.1:= - dev-libs/boost:=[stacktrace(-)] - dev-libs/double-conversion:= - >=dev-libs/glib-2.41 - >=dev-libs/libsigc++-2.8:2 - >=dev-libs/libxml2-2.7.4 - >=dev-libs/libxslt-1.1.25 - dev-libs/popt - media-gfx/potrace - media-libs/libepoxy - media-libs/fontconfig - media-libs/freetype:2 - media-libs/lcms:2 - media-libs/libpng:0= - net-libs/libsoup:2.4 - sci-libs/gsl:= - >=x11-libs/pango-1.44 - x11-libs/gtk+:3[X?] - X? ( x11-libs/libX11 ) - $(python_gen_cond_dep ' - dev-python/appdirs[${PYTHON_USEDEP}] - dev-python/cachecontrol[${PYTHON_USEDEP}] - dev-python/cssselect[${PYTHON_USEDEP}] - dev-python/filelock[${PYTHON_USEDEP}] - dev-python/lockfile[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}] - media-gfx/scour[${PYTHON_USEDEP}] - ') - cdr? ( - app-text/libwpg:0.3 - dev-libs/librevenge - media-libs/libcdr - ) - exif? ( media-libs/libexif ) - imagemagick? ( - !graphicsmagick? ( media-gfx/imagemagick:=[cxx] ) - graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] ) - ) - jpeg? ( media-libs/libjpeg-turbo:= ) - readline? ( sys-libs/readline:= ) - sourceview? ( x11-libs/gtksourceview:4 ) - spell? ( app-text/gspell ) - visio? ( - app-text/libwpg:0.3 - dev-libs/librevenge - media-libs/libvisio - ) - wpg? ( - app-text/libwpg:0.3 - dev-libs/librevenge - ) -" -# These only use executables provided by these packages -# See share/extensions for more details. inkscape can tell you to -# install these so we could of course just not depend on those and rely -# on that. -RDEPEND="${COMMON_DEPEND} - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ') - dia? ( app-office/dia ) - postscript? ( app-text/ghostscript-gpl ) -" -DEPEND="${COMMON_DEPEND} - test? ( dev-cpp/gtest ) -" - -PATCHES=( - "${FILESDIR}"/${P}-libxml2-2.12.patch - "${FILESDIR}"/${P}-poppler-24.03.patch - "${FILESDIR}"/${P}-poppler-24.05.patch # bug 931917 - "${FILESDIR}"/${P}-cxx20.patch # bug 931917 - "${FILESDIR}"/${P}-cxx20-2.patch # bug 933216 -) - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} = 9999* ]]; then - git-r3_src_unpack - else - default - fi - [[ -d "${S}" ]] || mv -v "${WORKDIR}/${P}_202"?-??-* "${S}" || die -} - -src_prepare() { - cmake_src_prepare - sed -i "/install.*COPYING/d" CMakeScripts/ConfigCPack.cmake || die -} - -src_configure() { - # ODR violation (https://gitlab.com/inkscape/lib2geom/-/issues/71, bug #859628) - filter-lto - # Aliasing unsafe (bug #310393) - append-flags -fno-strict-aliasing - - local mycmakeargs=( - # -DWITH_LPETOOL # Compile with LPE Tool and experimental LPEs enabled - -DWITH_NLS=ON - -DENABLE_POPPLER=ON - -DENABLE_POPPLER_CAIRO=ON - -DWITH_PROFILING=OFF - -DWITH_INTERNAL_CAIRO=OFF - -DWITH_INTERNAL_2GEOM=ON - -DBUILD_TESTING=$(usex test) - -DWITH_LIBCDR=$(usex cdr) - -DWITH_IMAGE_MAGICK=$(usex imagemagick $(usex !graphicsmagick)) # requires ImageMagick 6, only IM must be enabled - -DWITH_GRAPHICS_MAGICK=$(usex graphicsmagick $(usex imagemagick)) # both must be enabled to use GraphicsMagick - -DWITH_GNU_READLINE=$(usex readline) - -DWITH_GSPELL=$(usex spell) - -DWITH_JEMALLOC=OFF - -DENABLE_LCMS=ON - -DWITH_OPENMP=$(usex openmp) - -DBUILD_SHARED_LIBS=ON - -DWITH_GSOURCEVIEW=$(usex sourceview) - -DWITH_SVG2=$(usex svg2) - -DWITH_LIBVISIO=$(usex visio) - -DWITH_LIBWPG=$(usex wpg) - -DWITH_X11=$(usex X) - ) - - cmake_src_configure -} - -src_test() { - CMAKE_SKIP_TESTS=( - # render_text*: needs patched Cairo / maybe upstream changes - # not yet in a release. - # test_lpe/test_lpe64: precision differences b/c of new GCC? - # cli_export-png-color-mode-gray-8_png_check_output: ditto? - render_test-use - render_test-glyph-y-pos - render_text-glyphs-combining - render_text-glyphs-vertical - render_test-rtl-vertical - test_lpe - test_lpe64 - cli_export-png-color-mode-gray-8_png_check_output - ) - - # bug #871621 - cmake_src_compile tests - cmake_src_test -j1 -} - -src_install() { - cmake_src_install - - find "${ED}" -type f -name "*.la" -delete || die - find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.bz2' -exec bzip2 -d {} \; || die - find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.gz' -exec gzip -d {} \; || die - - local extdir="${ED}"/usr/share/${PN}/extensions - if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then - python_fix_shebang "${ED}"/usr/share/${PN}/extensions - python_optimize "${ED}"/usr/share/${PN}/extensions - fi - - # Empty directory causes sandbox issues, see bug #761915 - rm -r "${ED}/usr/share/inkscape/fonts" || die "Failed to remove fonts directory." -} diff --git a/media-gfx/inkscape/inkscape-1.4.ebuild b/media-gfx/inkscape/inkscape-1.4-r1.ebuild index 29117135a3c6..574250c2b239 100644 --- a/media-gfx/inkscape/inkscape-1.4.ebuild +++ b/media-gfx/inkscape/inkscape-1.4-r1.ebuild @@ -1,8 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 +# Remember to check the release notes for a 'Important Changes for Packagers' +# section, e.g. https://inkscape.org/doc/release_notes/1.4/Inkscape_1.4.html#Important_Changes_for_Packagers. + PYTHON_COMPAT=( python3_{10..13} ) PYTHON_REQ_USE="xml(+)" @@ -17,7 +20,7 @@ if [[ ${PV} = 9999* ]]; then EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git" else SRC_URI="https://media.inkscape.org/dl/resources/file/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" + KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86" fi S="${WORKDIR}/${MY_P}" @@ -67,6 +70,7 @@ COMMON_DEPEND="${PYTHON_DEPS} dev-python/lockfile[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}] + dev-python/tinycss2[${PYTHON_USEDEP}] media-gfx/scour[${PYTHON_USEDEP}] ') cdr? ( @@ -110,6 +114,9 @@ DEPEND="${COMMON_DEPEND} PATCHES=( "${FILESDIR}"/${PN}-1.4-gcc15.patch + "${FILESDIR}"/${PN}-1.4-poppler-24.10-fix-backport.patch + "${FILESDIR}"/${P}-poppler-24.11.0.patch # bug 943499 + "${FILESDIR}"/${P}-poppler-24.12.0.patch # bug 946597 ) pkg_pretend() { diff --git a/media-gfx/inkscape/inkscape-1.4_beta3.ebuild b/media-gfx/inkscape/inkscape-1.4_beta3.ebuild deleted file mode 100644 index eab33b71e0fe..000000000000 --- a/media-gfx/inkscape/inkscape-1.4_beta3.ebuild +++ /dev/null @@ -1,200 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -PYTHON_COMPAT=( python3_{10..12} ) -PYTHON_REQ_USE="xml(+)" - -inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1 - -MY_P="${P/_/}" -DESCRIPTION="SVG based generic vector-drawing program" -HOMEPAGE="https://inkscape.org/ https://gitlab.com/inkscape/inkscape/" - -if [[ ${PV} = 9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git" -else - SRC_URI="https://media.inkscape.org/dl/resources/file/${MY_P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" -fi - -S="${WORKDIR}/${MY_P}" - -LICENSE="GPL-2 LGPL-2.1" -SLOT="0" -IUSE="cdr dia exif graphicsmagick imagemagick inkjar jpeg openmp postscript readline sourceview spell svg2 test visio wpg X" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" -# Lots of test failures which need investigating, bug #871621 -RESTRICT="!test? ( test ) test" - -BDEPEND=" - dev-util/glib-utils - >=sys-devel/gettext-0.17 - virtual/pkgconfig - test? ( virtual/imagemagick-tools ) -" -COMMON_DEPEND="${PYTHON_DEPS} - >=app-text/poppler-0.57.0:=[cairo] - >=dev-cpp/cairomm-1.12:0 - >=dev-cpp/glibmm-2.58:2 - dev-cpp/gtkmm:3.0 - >=dev-cpp/pangomm-2.40:1.4 - >=dev-libs/boehm-gc-7.1:= - dev-libs/boost:=[stacktrace(-)] - dev-libs/double-conversion:= - >=dev-libs/glib-2.41 - >=dev-libs/libsigc++-2.8:2 - >=dev-libs/libxml2-2.7.4 - >=dev-libs/libxslt-1.1.25 - dev-libs/popt - media-gfx/potrace - media-libs/libepoxy - media-libs/fontconfig - media-libs/freetype:2 - media-libs/lcms:2 - media-libs/libpng:0= - sci-libs/gsl:= - >=x11-libs/pango-1.44 - x11-libs/gtk+:3[X?] - X? ( x11-libs/libX11 ) - $(python_gen_cond_dep ' - dev-python/appdirs[${PYTHON_USEDEP}] - dev-python/cachecontrol[${PYTHON_USEDEP}] - dev-python/cssselect[${PYTHON_USEDEP}] - dev-python/filelock[${PYTHON_USEDEP}] - dev-python/lockfile[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}] - media-gfx/scour[${PYTHON_USEDEP}] - ') - cdr? ( - app-text/libwpg:0.3 - dev-libs/librevenge - media-libs/libcdr - ) - exif? ( media-libs/libexif ) - imagemagick? ( - !graphicsmagick? ( media-gfx/imagemagick:=[cxx] ) - graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] ) - ) - jpeg? ( media-libs/libjpeg-turbo:= ) - readline? ( sys-libs/readline:= ) - sourceview? ( x11-libs/gtksourceview:4 ) - spell? ( app-text/gspell ) - visio? ( - app-text/libwpg:0.3 - dev-libs/librevenge - media-libs/libvisio - ) - wpg? ( - app-text/libwpg:0.3 - dev-libs/librevenge - ) -" -# These only use executables provided by these packages -# See share/extensions for more details. inkscape can tell you to -# install these so we could of course just not depend on those and rely -# on that. -RDEPEND="${COMMON_DEPEND} - $(python_gen_cond_dep ' - dev-python/numpy[${PYTHON_USEDEP}] - ') - dia? ( app-office/dia ) - postscript? ( app-text/ghostscript-gpl ) -" -DEPEND="${COMMON_DEPEND} - test? ( dev-cpp/gtest ) -" - -pkg_pretend() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp -} - -pkg_setup() { - [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp - python-single-r1_pkg_setup -} - -src_unpack() { - if [[ ${PV} = 9999* ]]; then - git-r3_src_unpack - else - default - fi - [[ -d "${S}" ]] || mv -v "${WORKDIR}/${P/_/-}_202"?-??-* "${S}" || die -} - -src_prepare() { - cmake_src_prepare - sed -i "/install.*COPYING/d" CMakeScripts/ConfigCPack.cmake || die -} - -src_configure() { - # ODR violation (https://gitlab.com/inkscape/lib2geom/-/issues/71, bug #859628) - filter-lto - # Aliasing unsafe (bug #310393) - append-flags -fno-strict-aliasing - - local mycmakeargs=( - # -DWITH_LPETOOL # Compile with LPE Tool and experimental LPEs enabled - -DWITH_NLS=ON - -DENABLE_POPPLER=ON - -DENABLE_POPPLER_CAIRO=ON - -DWITH_PROFILING=OFF - -DWITH_INTERNAL_2GEOM=ON - -DBUILD_TESTING=$(usex test) - -DWITH_LIBCDR=$(usex cdr) - -DWITH_IMAGE_MAGICK=$(usex imagemagick $(usex !graphicsmagick)) # requires ImageMagick 6, only IM must be enabled - -DWITH_GRAPHICS_MAGICK=$(usex graphicsmagick $(usex imagemagick)) # both must be enabled to use GraphicsMagick - -DWITH_GNU_READLINE=$(usex readline) - -DWITH_GSPELL=$(usex spell) - -DWITH_JEMALLOC=OFF - -DENABLE_LCMS=ON - -DWITH_OPENMP=$(usex openmp) - -DBUILD_SHARED_LIBS=ON - -DWITH_GSOURCEVIEW=$(usex sourceview) - -DWITH_SVG2=$(usex svg2) - -DWITH_LIBVISIO=$(usex visio) - -DWITH_LIBWPG=$(usex wpg) - -DWITH_X11=$(usex X) - ) - - cmake_src_configure -} - -src_test() { - CMAKE_SKIP_TESTS=( - # render_text*: needs patched Cairo / maybe upstream changes - # not yet in a release. - # test_lpe/test_lpe64: precision differences b/c of new GCC? - # cli_export-png-color-mode-gray-8_png_check_output: ditto? - render_test-use - render_test-glyph-y-pos - render_text-glyphs-combining - render_text-glyphs-vertical - render_test-rtl-vertical - test_lpe - test_lpe64 - cli_export-png-color-mode-gray-8_png_check_output - ) - - # bug #871621 - cmake_src_compile tests - cmake_src_test -j1 -} - -src_install() { - cmake_src_install - - find "${ED}" -type f -name "*.la" -delete || die - find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.bz2' -exec bzip2 -d {} \; || die - find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.gz' -exec gzip -d {} \; || die - - local extdir="${ED}"/usr/share/${PN}/extensions - if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then - python_fix_shebang "${ED}"/usr/share/${PN}/extensions - python_optimize "${ED}"/usr/share/${PN}/extensions - fi -} diff --git a/media-gfx/inkscape/inkscape-9999.ebuild b/media-gfx/inkscape/inkscape-9999.ebuild index 57b9aef00a3d..5e601916d853 100644 --- a/media-gfx/inkscape/inkscape-9999.ebuild +++ b/media-gfx/inkscape/inkscape-9999.ebuild @@ -3,6 +3,9 @@ EAPI=8 +# Remember to check the release notes for a 'Important Changes for Packagers' +# section, e.g. https://inkscape.org/doc/release_notes/1.4/Inkscape_1.4.html#Important_Changes_for_Packagers. + PYTHON_COMPAT=( python3_{10..13} ) PYTHON_REQ_USE="xml(+)" @@ -67,6 +70,7 @@ COMMON_DEPEND="${PYTHON_DEPS} dev-python/lockfile[${PYTHON_USEDEP}] dev-python/lxml[${PYTHON_USEDEP}] dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}] + dev-python/tinycss2[${PYTHON_USEDEP}] media-gfx/scour[${PYTHON_USEDEP}] ') cdr? ( diff --git a/media-gfx/jp2a/jp2a-1.2.0.ebuild b/media-gfx/jp2a/jp2a-1.2.0.ebuild index 5644f999ab76..d2ba1d187923 100644 --- a/media-gfx/jp2a/jp2a-1.2.0.ebuild +++ b/media-gfx/jp2a/jp2a-1.2.0.ebuild @@ -9,7 +9,7 @@ SRC_URI="https://github.com/Talinx/jp2a/releases/download/v${PV}/${P}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris" +KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris" IUSE="curl" # TODO: restore ncurses support? diff --git a/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild b/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild index 8ff1d8261abe..0cf153a0979d 100644 --- a/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild +++ b/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://www.kokkonen.net/tjko/src/${P}.tar.gz" LICENSE="GPL-3+" SLOT="0" -KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos" +KEYWORDS="~alpha amd64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos" RDEPEND="media-libs/libjpeg-turbo:=" DEPEND="${RDEPEND}" diff --git a/media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild b/media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild index 46f1697664d6..76927fefe6ac 100644 --- a/media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild +++ b/media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2023 Gentoo Authors +# Copyright 1999-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit cmake +inherit cmake flag-o-matic DESCRIPTION="Utility to optimize JPEG files" HOMEPAGE="https://www.kokkonen.net/tjko/projects.html" @@ -23,6 +23,8 @@ PATCHES=( ) src_configure() { + use elibc_musl && append-cppflags -D__GNU_LIBRARY__ #944902 + local mycmakeargs=( -DUSE_MOZJPEG=no ) diff --git a/media-gfx/kgeotag/Manifest b/media-gfx/kgeotag/Manifest index 25d6e8222789..a8f10eac773f 100644 --- a/media-gfx/kgeotag/Manifest +++ b/media-gfx/kgeotag/Manifest @@ -1 +1,2 @@ DIST kgeotag-1.6.0.tar.xz 421756 BLAKE2B c7095ff83d40a68ece81c2a54d2a5f3182872a69242d21341d155cf83d50d11fbb6cea8b0b354a91ff6082ae93787e24fd06981586e8bf02abf63571ab83f015 SHA512 cd2ac5e30e5c4267fec39d73a56550c22c1e9197a231e63a429dceeb692e06cd907959f97a96cb875e8d69008c6289ebdc1f1f93e876818383896e8024bde721 +DIST kgeotag-1.7.0.tar.xz 422672 BLAKE2B fa3d5582c496506a869898eaed163fa488b63311fcf71651fc927b1ed54ede4840791a23a16a0d11883fe743e29e70b4aa4ec957881b4287ced4f66017840fdb SHA512 6f8813788d8257feb3a96588675c9d066220486ba3f9a216bef55d372cf0f4aebce86a1a52565b93022eb424aace2df9a13d09b1903dd03ed33495d01581489e diff --git a/media-gfx/kgeotag/kgeotag-1.7.0.ebuild b/media-gfx/kgeotag/kgeotag-1.7.0.ebuild new file mode 100644 index 000000000000..a8764167058c --- /dev/null +++ b/media-gfx/kgeotag/kgeotag-1.7.0.ebuild @@ -0,0 +1,37 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +KFMIN=6.5.0 +QTMIN=6.7.2 +inherit ecm kde.org + +DESCRIPTION="Photo geotagging program" +HOMEPAGE="https://kgeotag.kde.org/ https://apps.kde.org/kgeotag/" + +if [[ ${KDE_BUILD_TYPE} != live ]]; then + SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" + KEYWORDS="~amd64" +fi + +LICENSE="GPL-3+" +SLOT="0" + +DEPEND=" + >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets] + kde-apps/libkexiv2:6 + kde-apps/marble:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kconfigwidgets-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kcrash-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kxmlgui-${KFMIN}:6 +" +RDEPEND="${DEPEND} + !${CATEGORY}/${PN}:5 +" + +DOCS=( CHANGELOG.rst README.md ) diff --git a/media-gfx/kgraphviewer/Manifest b/media-gfx/kgraphviewer/Manifest index d82c553fa7ee..99241a3aa8cd 100644 --- a/media-gfx/kgraphviewer/Manifest +++ b/media-gfx/kgraphviewer/Manifest @@ -1,2 +1,2 @@ -DIST kgraphviewer-24.08.1.tar.xz 1583016 BLAKE2B b253ab2aa4688a5a2063ae2d62d395c16a243655ad859e6f66c92bbf79120b8c773d7b34a3ca890bf06bbfa935eb9ac5ff4386847d86439d5afde024e0a10d97 SHA512 80647c0db32997c277524b5d5520ba5a285c31441582a081f8f6c6265c7b8f2977043a81f75b62446540a91236744075543811ba274dd1a5cdd8d1b368bb2f0b -DIST kgraphviewer-24.08.2.tar.xz 1583668 BLAKE2B 89197b55b4cec83020b1fa1e2b9f79cca52c64005af6bc15fecece91762d6e940f9d4813e3f085fd3563e540ac6ec8bd6cc656136da08e64de302fc763901f57 SHA512 6c18da9c91514ecfe4112777bca3dc7aa7b387ef68ea7e4849e947e3f77768a586aa7d9f4ff1b5796a1656a9786768ece4b51cbaf51d0083ea0ac84184fa229e +DIST kgraphviewer-24.08.3.tar.xz 1585380 BLAKE2B fc81b58297565e816ab6b7fae266d0e485b31792ae4796cb3d3ac3b9b51a5494a5209fe8f3176f003d1427cf34587376683c1700c6dc9919fe0caacddf3df4d5 SHA512 2508800733799ce554b929748129610fcc10dae6769de961b58aff4f21fed3260b100004284b472bc4e7b3be2b3bbd860f13215f643a9ff30cef255212f228e6 +DIST kgraphviewer-24.12.1.tar.xz 1590420 BLAKE2B 985b0efcc459de0139ee37cb23f8d6604da1763c00723658274650c8b5121f58a39ee337886d0b7671c85ee3819f1484faa5c62cdca0a5ce7b0c1c45169f1c76 SHA512 652682ba0da3b14a08c4515d0e1d8c32de947eeab248eda3d69bcb0c467e2721acbd0e54bc58313b0793124f943b6b452f7106e5dc23ceac475de14ed5c8918e diff --git a/media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild b/media-gfx/kgraphviewer/kgraphviewer-24.08.3.ebuild index b34f8b7fb8c1..b34f8b7fb8c1 100644 --- a/media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild +++ b/media-gfx/kgraphviewer/kgraphviewer-24.08.3.ebuild diff --git a/media-gfx/kgraphviewer/kgraphviewer-24.08.2.ebuild b/media-gfx/kgraphviewer/kgraphviewer-24.12.1.ebuild index 43f762c21ad9..c43c182e73d8 100644 --- a/media-gfx/kgraphviewer/kgraphviewer-24.08.2.ebuild +++ b/media-gfx/kgraphviewer/kgraphviewer-24.12.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 ECM_HANDBOOK="optional" -KFMIN=6.5.0 +KFMIN=6.7.0 QTMIN=6.7.2 inherit ecm gear.kde.org @@ -13,7 +13,7 @@ HOMEPAGE="https://apps.kde.org/kgraphviewer/" LICENSE="GPL-2 GPL-2+ LGPL-2+ LGPL-2.1+ handbook? ( FDL-1.2 )" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" IUSE="" RDEPEND=" diff --git a/media-gfx/kio-blender-thumbnailer/Manifest b/media-gfx/kio-blender-thumbnailer/Manifest index 4376b53d50b9..4a1930455941 100644 --- a/media-gfx/kio-blender-thumbnailer/Manifest +++ b/media-gfx/kio-blender-thumbnailer/Manifest @@ -1,3 +1,2 @@ -DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f -DIST kdegraphics-thumbnailers-24.08.1.tar.xz 49016 BLAKE2B 1c29734d1371f970271e9bf0dd0750d80f5c19b78c7cdb90bc0665ee748cf4aa0414047796d96b21c207b3f6071e0e3a5fb83126d0f4f919793070f335180457 SHA512 d1b15005e080581ce31d96271bf8827a969ef95b3703ec80858b2d26fc5dd615d408471065647e0d7b7fef39b9e9af18fcf1af56594be13df5f3119fa81c2134 -DIST kdegraphics-thumbnailers-24.08.2.tar.xz 49096 BLAKE2B 3c6eddf3abe61ca55ffe04dda9e720be324078bf453b2c768ed001490e19b5c8df5d4904c14d4f82a96d9fc669cae5956f673a6aa81591044fa8f40695e594eb SHA512 0d9c536865702e0e1962cf7405373a2166656f9b63fdd03128000b2aac01fceceb1b9ddea041fbc6c66d79a744b76575929896fe1614b060941eb56ae69fa0f1 +DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d +DIST kdegraphics-thumbnailers-24.12.1.tar.xz 49160 BLAKE2B d41573f1810545164af68af6b51804d49cb2e505fffbc24347e3c364c7629afac18c6bf254f3ee6a85e2aeedcdce9e4dea259d5ceae95236a03cb0575cfa7fee SHA512 b0da43f23b580a1b0a446bd7f96a70bbcf1e2147cb71270de054a0dfcea87a1394732fcc8e35971dd772686ad2c67e487096243ebbb8059431b58b0599d4428b diff --git a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild deleted file mode 100644 index 5c0f56be9ad1..000000000000 --- a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild +++ /dev/null @@ -1,36 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -KDE_ORG_NAME="kdegraphics-thumbnailers" -KFMIN=5.106.0 -QTMIN=5.15.9 -inherit ecm gear.kde.org - -DESCRIPTION="KIO thumbnail generator for Blender files" -HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/" - -LICENSE="GPL-2+" -SLOT="5" -KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86" - -DEPEND=" - >=dev-qt/qtgui-${QTMIN}:5 - >=kde-frameworks/karchive-${KFMIN}:5 - >=kde-frameworks/kio-${KFMIN}:5 -" -RDEPEND="${DEPEND} - !<kde-apps/thumbnailers-23.08.5-r1:5 -" - -src_configure() { - local mycmakeargs=( - -DBUILD_ps=OFF - -DDISABLE_MOBIPOCKET=ON - -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket=ON - -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=ON - -DCMAKE_DISABLE_FIND_PACKAGE_KF5KDcraw=ON - ) - ecm_src_configure -} diff --git a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.1.ebuild b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.3.ebuild index d3e261b661a7..d3e261b661a7 100644 --- a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.1.ebuild +++ b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.3.ebuild diff --git a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.2.ebuild b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.12.1.ebuild index 5ef7e9c0e3d1..e852be248b99 100644 --- a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.2.ebuild +++ b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.12.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 KDE_ORG_NAME="kdegraphics-thumbnailers" -KFMIN=6.5.0 +KFMIN=6.7.0 QTMIN=6.7.2 inherit ecm gear.kde.org @@ -13,7 +13,7 @@ HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/" LICENSE="GPL-2+" SLOT="6" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" DEPEND=" >=dev-qt/qtbase-${QTMIN}:6[gui] diff --git a/media-gfx/kio-mobi-thumbnailer/Manifest b/media-gfx/kio-mobi-thumbnailer/Manifest index 4376b53d50b9..4a1930455941 100644 --- a/media-gfx/kio-mobi-thumbnailer/Manifest +++ b/media-gfx/kio-mobi-thumbnailer/Manifest @@ -1,3 +1,2 @@ -DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f -DIST kdegraphics-thumbnailers-24.08.1.tar.xz 49016 BLAKE2B 1c29734d1371f970271e9bf0dd0750d80f5c19b78c7cdb90bc0665ee748cf4aa0414047796d96b21c207b3f6071e0e3a5fb83126d0f4f919793070f335180457 SHA512 d1b15005e080581ce31d96271bf8827a969ef95b3703ec80858b2d26fc5dd615d408471065647e0d7b7fef39b9e9af18fcf1af56594be13df5f3119fa81c2134 -DIST kdegraphics-thumbnailers-24.08.2.tar.xz 49096 BLAKE2B 3c6eddf3abe61ca55ffe04dda9e720be324078bf453b2c768ed001490e19b5c8df5d4904c14d4f82a96d9fc669cae5956f673a6aa81591044fa8f40695e594eb SHA512 0d9c536865702e0e1962cf7405373a2166656f9b63fdd03128000b2aac01fceceb1b9ddea041fbc6c66d79a744b76575929896fe1614b060941eb56ae69fa0f1 +DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d +DIST kdegraphics-thumbnailers-24.12.1.tar.xz 49160 BLAKE2B d41573f1810545164af68af6b51804d49cb2e505fffbc24347e3c364c7629afac18c6bf254f3ee6a85e2aeedcdce9e4dea259d5ceae95236a03cb0575cfa7fee SHA512 b0da43f23b580a1b0a446bd7f96a70bbcf1e2147cb71270de054a0dfcea87a1394732fcc8e35971dd772686ad2c67e487096243ebbb8059431b58b0599d4428b diff --git a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild deleted file mode 100644 index 2c151ad528c0..000000000000 --- a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -KDE_ORG_NAME="kdegraphics-thumbnailers" -PVCUT=$(ver_cut 1-3) -KFMIN=5.106.0 -QTMIN=5.15.9 -inherit ecm gear.kde.org - -DESCRIPTION="KIO thumbnail generator for Mobipocket files" -HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/" - -LICENSE="GPL-2+" -SLOT="5" -KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86" - -DEPEND=" - >=dev-qt/qtgui-${QTMIN}:5 - >=kde-apps/kdegraphics-mobipocket-${PVCUT}:5 - >=kde-frameworks/kio-${KFMIN}:5 -" -RDEPEND="${DEPEND} - !<kde-apps/thumbnailers-23.08.5-r1:5 -" - -src_prepare() { - ecm_src_prepare - ecm_punt_kf_module Archive -} - -src_configure() { - local mycmakeargs=( - -DBUILD_ps=OFF - -DBUILD_blend=OFF - -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=ON - -DCMAKE_DISABLE_FIND_PACKAGE_KF5KDcraw=ON - ) - - ecm_src_configure -} diff --git a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.1.ebuild b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.3.ebuild index be481b735490..be481b735490 100644 --- a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.1.ebuild +++ b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.3.ebuild diff --git a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.2.ebuild b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.12.1.ebuild index 5333f1b82349..4c05aa88f6cc 100644 --- a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.2.ebuild +++ b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.12.1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 KDE_ORG_NAME="kdegraphics-thumbnailers" PVCUT=$(ver_cut 1-3) -KFMIN=6.5.0 +KFMIN=6.7.0 QTMIN=6.7.2 inherit ecm gear.kde.org @@ -14,7 +14,7 @@ HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/" LICENSE="GPL-2+" SLOT="6" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" DEPEND=" >=dev-qt/qtbase-${QTMIN}:6[gui] diff --git a/media-gfx/kio-ps-thumbnailer/Manifest b/media-gfx/kio-ps-thumbnailer/Manifest index 4376b53d50b9..4a1930455941 100644 --- a/media-gfx/kio-ps-thumbnailer/Manifest +++ b/media-gfx/kio-ps-thumbnailer/Manifest @@ -1,3 +1,2 @@ -DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f -DIST kdegraphics-thumbnailers-24.08.1.tar.xz 49016 BLAKE2B 1c29734d1371f970271e9bf0dd0750d80f5c19b78c7cdb90bc0665ee748cf4aa0414047796d96b21c207b3f6071e0e3a5fb83126d0f4f919793070f335180457 SHA512 d1b15005e080581ce31d96271bf8827a969ef95b3703ec80858b2d26fc5dd615d408471065647e0d7b7fef39b9e9af18fcf1af56594be13df5f3119fa81c2134 -DIST kdegraphics-thumbnailers-24.08.2.tar.xz 49096 BLAKE2B 3c6eddf3abe61ca55ffe04dda9e720be324078bf453b2c768ed001490e19b5c8df5d4904c14d4f82a96d9fc669cae5956f673a6aa81591044fa8f40695e594eb SHA512 0d9c536865702e0e1962cf7405373a2166656f9b63fdd03128000b2aac01fceceb1b9ddea041fbc6c66d79a744b76575929896fe1614b060941eb56ae69fa0f1 +DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d +DIST kdegraphics-thumbnailers-24.12.1.tar.xz 49160 BLAKE2B d41573f1810545164af68af6b51804d49cb2e505fffbc24347e3c364c7629afac18c6bf254f3ee6a85e2aeedcdce9e4dea259d5ceae95236a03cb0575cfa7fee SHA512 b0da43f23b580a1b0a446bd7f96a70bbcf1e2147cb71270de054a0dfcea87a1394732fcc8e35971dd772686ad2c67e487096243ebbb8059431b58b0599d4428b diff --git a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild deleted file mode 100644 index c6e1caecc1b5..000000000000 --- a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -KDE_ORG_NAME="kdegraphics-thumbnailers" -KFMIN=5.106.0 -QTMIN=5.15.9 -inherit ecm gear.kde.org - -DESCRIPTION="KIO thumbnail generator for DVI, EPS, PDF and PS files" -HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/" - -LICENSE="GPL-2+" -SLOT="5" -KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86" - -DEPEND=" - >=dev-qt/qtgui-${QTMIN}:5 - >=kde-frameworks/kio-${KFMIN}:5 -" -RDEPEND="${DEPEND} - !<kde-apps/thumbnailers-23.08.5-r1:5 - app-text/dvipsk - app-text/ghostscript-gpl -" - -src_prepare() { - ecm_src_prepare - ecm_punt_kf_module Archive -} - -src_configure() { - local mycmakeargs=( - -DBUILD_blend=OFF - -DDISABLE_MOBIPOCKET=ON - -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket=ON - -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=ON - -DCMAKE_DISABLE_FIND_PACKAGE_KF5KDcraw=ON - ) - - ecm_src_configure -} diff --git a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.1.ebuild b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.3.ebuild index d1bfa0020957..d1bfa0020957 100644 --- a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.1.ebuild +++ b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.3.ebuild diff --git a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.2.ebuild b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.12.1.ebuild index e0ab87727184..d002dcff1a42 100644 --- a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.2.ebuild +++ b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.12.1.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 KDE_ORG_NAME="kdegraphics-thumbnailers" -KFMIN=6.5.0 +KFMIN=6.7.0 QTMIN=6.7.2 inherit ecm gear.kde.org @@ -13,7 +13,7 @@ HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/" LICENSE="GPL-2+" SLOT="6" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" DEPEND=" >=dev-qt/qtbase-${QTMIN}:6[gui] diff --git a/media-gfx/kio-raw-thumbnailer/Manifest b/media-gfx/kio-raw-thumbnailer/Manifest index 4376b53d50b9..4a1930455941 100644 --- a/media-gfx/kio-raw-thumbnailer/Manifest +++ b/media-gfx/kio-raw-thumbnailer/Manifest @@ -1,3 +1,2 @@ -DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f -DIST kdegraphics-thumbnailers-24.08.1.tar.xz 49016 BLAKE2B 1c29734d1371f970271e9bf0dd0750d80f5c19b78c7cdb90bc0665ee748cf4aa0414047796d96b21c207b3f6071e0e3a5fb83126d0f4f919793070f335180457 SHA512 d1b15005e080581ce31d96271bf8827a969ef95b3703ec80858b2d26fc5dd615d408471065647e0d7b7fef39b9e9af18fcf1af56594be13df5f3119fa81c2134 -DIST kdegraphics-thumbnailers-24.08.2.tar.xz 49096 BLAKE2B 3c6eddf3abe61ca55ffe04dda9e720be324078bf453b2c768ed001490e19b5c8df5d4904c14d4f82a96d9fc669cae5956f673a6aa81591044fa8f40695e594eb SHA512 0d9c536865702e0e1962cf7405373a2166656f9b63fdd03128000b2aac01fceceb1b9ddea041fbc6c66d79a744b76575929896fe1614b060941eb56ae69fa0f1 +DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d +DIST kdegraphics-thumbnailers-24.12.1.tar.xz 49160 BLAKE2B d41573f1810545164af68af6b51804d49cb2e505fffbc24347e3c364c7629afac18c6bf254f3ee6a85e2aeedcdce9e4dea259d5ceae95236a03cb0575cfa7fee SHA512 b0da43f23b580a1b0a446bd7f96a70bbcf1e2147cb71270de054a0dfcea87a1394732fcc8e35971dd772686ad2c67e487096243ebbb8059431b58b0599d4428b diff --git a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild deleted file mode 100644 index 632c1da4fcfb..000000000000 --- a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild +++ /dev/null @@ -1,43 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -KDE_ORG_NAME="kdegraphics-thumbnailers" -PVCUT=$(ver_cut 1-3) -KFMIN=5.106.0 -QTMIN=5.15.9 -inherit ecm gear.kde.org - -DESCRIPTION="KIO thumbnail generator for RAW files" -HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/" - -LICENSE="GPL-2+" -SLOT="5" -KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86" - -DEPEND=" - >=dev-qt/qtgui-${QTMIN}:5 - >=kde-apps/libkdcraw-${PVCUT}:5 - >=kde-apps/libkexiv2-${PVCUT}:5 - >=kde-frameworks/kio-${KFMIN}:5 -" -RDEPEND="${DEPEND} - !<kde-apps/thumbnailers-23.08.5-r1:5 -" - -src_prepare() { - ecm_src_prepare - ecm_punt_kf_module Archive -} - -src_configure() { - local mycmakeargs=( - -DBUILD_blend=OFF - -DBUILD_ps=OFF - -DDISABLE_MOBIPOCKET=ON - -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket=ON - ) - - ecm_src_configure -} diff --git a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.1.ebuild b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.3.ebuild index 06bf909cf2b9..06bf909cf2b9 100644 --- a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.1.ebuild +++ b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.3.ebuild diff --git a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.2.ebuild b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.12.1.ebuild index 369f5f44090d..339e42401a70 100644 --- a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.2.ebuild +++ b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.12.1.ebuild @@ -1,11 +1,11 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 KDE_ORG_NAME="kdegraphics-thumbnailers" PVCUT=$(ver_cut 1-3) -KFMIN=6.5.0 +KFMIN=6.7.0 QTMIN=6.7.2 inherit ecm gear.kde.org @@ -14,7 +14,7 @@ HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/" LICENSE="GPL-2+" SLOT="6" -KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86" DEPEND=" >=dev-qt/qtbase-${QTMIN}:6[gui] diff --git a/media-gfx/kphotoalbum/Manifest b/media-gfx/kphotoalbum/Manifest index 24dfa1ecd044..e7982f11a8e5 100644 --- a/media-gfx/kphotoalbum/Manifest +++ b/media-gfx/kphotoalbum/Manifest @@ -1,2 +1,2 @@ -DIST kphotoalbum-5.12.0.tar.xz 11907204 BLAKE2B c4a9193d74c902788a5f68794948ca544f92eb1d2ef7a8c856b96832c7f1b8c5ba8b828744407e74a7101c3e954e83758444d31138c35c3a9045fae94f227e39 SHA512 f4d31d1c00ae2d8ec5a0475a4b3332e32f1ed980034419e6d07388544b65a6bd445c04c0640fba4fd5084c83840b6211ee64d556b6a82e4b182b5f07fbab3338 DIST kphotoalbum-5.13.0.tar.xz 11477268 BLAKE2B 7127b544822aadb73fc94cc660065bab5ac682d2ce60c92d8e2d436de0fedfc06868c5117645141a9c1a0147abec5440bb91b66d923a3af6c23bd8436a77756a SHA512 0e26d0ee3ac94803427c09375325625122fbda2b1ec0974e9b6d5c5fea33f05c95707bc7e42cfc9ed2403003355c3ba55a8b0ada8c32e85d923c4c499aa28b13 +DIST kphotoalbum-6.0.1.tar.xz 11526784 BLAKE2B 2ebeb977ed902a66116305d3774f86820efa0eb1676af1f07847fc9374d1e6f51010e8953eafd9b95efd1f5f866b7ef0d1835c7e1cec8ed777e4b045fa52dc6b SHA512 9d0a9e45f32da3f129688b575021a6fff2dd6c0cdb0f8b8c479c33d5243f251d0598e331b8029a9e95d442a9b63cae8a43f2e1232a82b6c6a86daa5d0d6e7690 diff --git a/media-gfx/kphotoalbum/kphotoalbum-5.12.0.ebuild b/media-gfx/kphotoalbum/kphotoalbum-5.12.0.ebuild deleted file mode 100644 index 4c1bf98ad156..000000000000 --- a/media-gfx/kphotoalbum/kphotoalbum-5.12.0.ebuild +++ /dev/null @@ -1,70 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -ECM_HANDBOOK="forceoptional" -ECM_TEST="forceoptional" -KFMIN=5.106.0 -QTMIN=5.15.9 -inherit ecm kde.org - -DESCRIPTION="Tool for indexing, searching, and viewing images" -HOMEPAGE="https://www.kphotoalbum.org/" - -if [[ ${KDE_BUILD_TYPE} != live ]]; then - SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" - KEYWORDS="amd64 x86" -fi - -LICENSE="GPL-2+ FDL-1.2 CC-BY-SA-4.0" -SLOT="5" -IUSE="map phonon +raw share +vlc" - -REQUIRED_USE="|| ( phonon vlc )" - -DEPEND=" - >=dev-qt/qtdbus-${QTMIN}:5 - >=dev-qt/qtgui-${QTMIN}:5[jpeg] - >=dev-qt/qtsql-${QTMIN}:5[sqlite] - >=dev-qt/qtwidgets-${QTMIN}:5 - >=dev-qt/qtxml-${QTMIN}:5 - >=kde-frameworks/karchive-${KFMIN}:5 - >=kde-frameworks/kcompletion-${KFMIN}:5 - >=kde-frameworks/kconfig-${KFMIN}:5 - >=kde-frameworks/kconfigwidgets-${KFMIN}:5 - >=kde-frameworks/kcoreaddons-${KFMIN}:5 - >=kde-frameworks/ki18n-${KFMIN}:5 - >=kde-frameworks/kiconthemes-${KFMIN}:5 - >=kde-frameworks/kio-${KFMIN}:5 - >=kde-frameworks/kjobwidgets-${KFMIN}:5 - >=kde-frameworks/kservice-${KFMIN}:5 - >=kde-frameworks/ktextwidgets-${KFMIN}:5 - >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 - >=kde-frameworks/kxmlgui-${KFMIN}:5 - media-gfx/exiv2:= - media-libs/libjpeg-turbo:= - map? ( kde-apps/marble:5 ) - phonon? ( >=media-libs/phonon-4.11.0[qt5(+)] ) - raw? ( kde-apps/libkdcraw:5 ) - share? ( >=kde-frameworks/kxmlgui-${KFMIN}:5 ) - vlc? ( media-video/vlc:= ) -" -RDEPEND="${DEPEND} - media-video/ffmpeg -" - -DOCS=( CHANGELOG.{md,old} README.md ) - -src_configure() { - local mycmakeargs=( - -DCMAKE_DISABLE_FIND_PACKAGE_QtAV=ON # bug 758641, last-rited - $(cmake_use_find_package map Marble) - $(cmake_use_find_package phonon Phonon4Qt5) - $(cmake_use_find_package raw KF5KDcraw) - $(cmake_use_find_package share KF5Purpose) - $(cmake_use_find_package vlc LIBVLC) - ) - - ecm_src_configure -} diff --git a/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild b/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild index 17da1cafb23e..41dc69e86f90 100644 --- a/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild +++ b/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild @@ -14,7 +14,7 @@ HOMEPAGE="https://www.kphotoalbum.org/" if [[ ${KDE_BUILD_TYPE} != live ]]; then SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" - KEYWORDS="~amd64 ~x86" + KEYWORDS="amd64 x86" fi LICENSE="GPL-2+ FDL-1.2 CC-BY-SA-4.0" diff --git a/media-gfx/kphotoalbum/kphotoalbum-6.0.1.ebuild b/media-gfx/kphotoalbum/kphotoalbum-6.0.1.ebuild new file mode 100644 index 000000000000..5e84b2de7265 --- /dev/null +++ b/media-gfx/kphotoalbum/kphotoalbum-6.0.1.ebuild @@ -0,0 +1,66 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +ECM_TEST="forceoptional" +KFMIN=6.5.0 +QTMIN=6.7.2 +inherit ecm kde.org + +DESCRIPTION="Tool for indexing, searching, and viewing images" +HOMEPAGE="https://www.kphotoalbum.org/" + +if [[ ${KDE_BUILD_TYPE} != live ]]; then + SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" + KEYWORDS="amd64 ~x86" +fi + +LICENSE="GPL-2+ FDL-1.2 CC-BY-SA-4.0" +SLOT="0" +IUSE="+map phonon +raw share +vlc" + +REQUIRED_USE="|| ( phonon vlc )" + +DEPEND=" + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,sql,sqlite,widgets,xml] + >=kde-frameworks/karchive-${KFMIN}:6 + >=kde-frameworks/kcompletion-${KFMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kconfigwidgets-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kiconthemes-${KFMIN}:6 + >=kde-frameworks/kio-${KFMIN}:6 + >=kde-frameworks/kjobwidgets-${KFMIN}:6 + >=kde-frameworks/kservice-${KFMIN}:6 + >=kde-frameworks/ktextwidgets-${KFMIN}:6 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 + >=kde-frameworks/kxmlgui-${KFMIN}:6 + media-gfx/exiv2:= + media-libs/libjpeg-turbo:= + map? ( kde-apps/marble:6 ) + phonon? ( >=media-libs/phonon-4.12.0[qt6(+)] ) + raw? ( kde-apps/libkdcraw:6 ) + share? ( >=kde-frameworks/kxmlgui-${KFMIN}:6 ) + vlc? ( media-video/vlc:= ) +" +RDEPEND="${DEPEND} + !${CATEGORY}/${PN}:5 + media-video/ffmpeg +" + +DOCS=( CHANGELOG.{md,old} README.md ) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package map Marble) + $(cmake_use_find_package phonon Phonon4Qt6) + $(cmake_use_find_package raw KDcrawQt6) + $(cmake_use_find_package share KF6Purpose) + $(cmake_use_find_package vlc LIBVLC) + ) + + ecm_src_configure +} diff --git a/media-gfx/krita/Manifest b/media-gfx/krita/Manifest index 57e97f2ef6ae..03f79f628ff9 100644 --- a/media-gfx/krita/Manifest +++ b/media-gfx/krita/Manifest @@ -1,4 +1 @@ -DIST krita-5.1.5-exiv2-0.28.patch.xz 4664 BLAKE2B e364325be3d8e40e293a7d268136be3737ce5d2b9b5607f140b30ba3e687dc8d86545f4463348587711150f1652b521f87efc859a1bf2bc3b5ed704cf3236781 SHA512 130ba9cce7d6c0138f7ef6dab1445816c2e29752aa16643c32a7d9c00d7a156ac88f01afdb782ab03fc1e0822660a070f74c02e7cde4dfbcec30baaf3c3dba7f -DIST krita-5.1.5.tar.xz 184981952 BLAKE2B 3d8d26849d8508dc040fb3ac5ab4d0ce724f670bf7d5782b37702b55afe5063543e6aa564a1c9326c90fb16f7905941e3f1ffd4296efd6f8a1c7cb34c0b41716 SHA512 b745eb9f51bb08df0948d6b97b85aee6a74b496df3e8423fb9107d79551daadb21960b4bb5c438348f662c67d0ec5b2fa6da18cfa5feb418659881cddd24d8f1 -DIST krita-5.2.3.tar.xz 186685456 BLAKE2B 42943e7ebffdb46b9da085b2069701895e37ad9c457273b9217a095f1dfdf15c715cde0b88d440abb2d73dee656730da38844f11f27022885f87bb9cc9adab26 SHA512 69a0477e3119765dd53e0502fe5a64fcdc921dfcba3ddc5dec5c1bc4342a77b172b38276f134cc56f79741e6c47b51ef51786aadf0d178ce3955e24a9fd27b74 DIST krita-5.2.6.tar.xz 186560016 BLAKE2B 788385983b371626214898391b08b1276a74b2ee3c9f01c1b1ae19d8791bfcf1ea1f59f6304643aeb6b16a2559fd2e45464596c721eb5d53546672d0efe17903 SHA512 8502ebef11ae066b298e999aba06df7858605cca14b889cec167b7ee3953b8ed86459b44ed90508d59bd7a9968cc9957309cefaa140a8d20293344f4dcb7fea7 diff --git a/media-gfx/krita/files/krita-4.3.1-tests-optional.patch b/media-gfx/krita/files/krita-4.3.1-tests-optional.patch deleted file mode 100644 index 37f2ac50ffda..000000000000 --- a/media-gfx/krita/files/krita-4.3.1-tests-optional.patch +++ /dev/null @@ -1,80 +0,0 @@ -From 2e9369281d44a2701ac7364568d381cca0d92ec5 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Sun, 12 Jul 2020 18:55:31 +0200 -Subject: [PATCH] KritaAddBrokenUnitTest.cmake, MacroKritaAddBenchmark.cmake: - Skip ecm_add_test early if Qt5::Test is not available - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> ---- - cmake/modules/KritaAddBrokenUnitTest.cmake | 4 ++++ - cmake/modules/MacroKritaAddBenchmark.cmake | 4 ++++ - 2 files changed, 8 insertions(+) - -diff --git a/cmake/modules/KritaAddBrokenUnitTest.cmake b/cmake/modules/KritaAddBrokenUnitTest.cmake -index b7d0e8d852..901a0a1f99 100644 ---- a/cmake/modules/KritaAddBrokenUnitTest.cmake -+++ b/cmake/modules/KritaAddBrokenUnitTest.cmake -@@ -23,6 +23,10 @@ function(KRITA_ADD_BROKEN_UNIT_TEST) - message(FATAL_ERROR "ecm_add_test() called with multiple source files but without setting \"TEST_NAME\"") - endif() - -+ if(NOT TARGET Qt5::Test) -+ return() -+ endif() -+ - set(_testname ${ARG_NAME_PREFIX}${_targetname}) - - # add test to the global list of disabled tests -diff --git a/cmake/modules/MacroKritaAddBenchmark.cmake b/cmake/modules/MacroKritaAddBenchmark.cmake -index c748d8e319..f804d9b8f4 100644 ---- a/cmake/modules/MacroKritaAddBenchmark.cmake -+++ b/cmake/modules/MacroKritaAddBenchmark.cmake -@@ -23,6 +23,10 @@ macro (KRITA_ADD_BENCHMARK _test_NAME) - set(_nogui "NOGUI") - endif() - -+ if(NOT TARGET Qt5::Test) -+ return() -+ endif() -+ - add_executable( ${_test_NAME} ${_srcList} ) - ecm_mark_as_test(${_test_NAME}) - --- -2.27.0 - -From 3c9fe10e25e94bdb1eb5e7b07ac2696635fdc5a3 Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Wed, 17 Jun 2020 20:18:28 +0200 -Subject: [PATCH] Don't build tests when testing not requested - -Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> - -diff --git a/libs/flake/CMakeLists.txt b/libs/flake/CMakeLists.txt -index cbdac265d2..1a50c1620a 100644 ---- a/libs/flake/CMakeLists.txt -+++ b/libs/flake/CMakeLists.txt -@@ -9,8 +9,10 @@ include_directories( - ) - - add_subdirectory(styles) --add_subdirectory(tests) --add_subdirectory(resources/tests) -+if(BUILD_TESTING) -+ add_subdirectory(tests) -+ add_subdirectory(resources/tests) -+endif() - - set(kritaflake_SRCS - KoGradientHelper.cpp -diff --git a/libs/image/tiles3/CMakeLists.txt b/libs/image/tiles3/CMakeLists.txt -index 88c0516360..01f2383ddb 100644 ---- a/libs/image/tiles3/CMakeLists.txt -+++ b/libs/image/tiles3/CMakeLists.txt -@@ -1 +1,3 @@ --add_subdirectory(tests) -+if(BUILD_TESTING) -+ add_subdirectory(tests) -+endif() --- -2.27.0 diff --git a/media-gfx/krita/files/krita-5.1.5-libjxl-0.9.patch b/media-gfx/krita/files/krita-5.1.5-libjxl-0.9.patch deleted file mode 100644 index a578f22c67f9..000000000000 --- a/media-gfx/krita/files/krita-5.1.5-libjxl-0.9.patch +++ /dev/null @@ -1,73 +0,0 @@ -From ace7edcca6ad322581ab39620f21ccf3ffbd3b5a Mon Sep 17 00:00:00 2001 -From: Timo Gurr <timo.gurr@gmail.com> -Date: Fri, 5 Jan 2024 14:04:50 +0000 -Subject: [PATCH] Fix build with libjxl 0.9.0 - -Fix build with libjxl 0.9.0 - -BUG:478987 - -Test Plan ---------- - -* Upgrade to libjxl 0.9.0 -* Apply patch from MR and build krita (5.2.2) -* Open/Display a sample image e.g. https://jpegxl.info/test-page/red-room.jxl - -Formalities Checklist ---------------------- - -- [x] I confirmed this builds. -- [x] I confirmed Krita ran and the relevant functions work (Could successfully open/display a sample image https://jpegxl.info/test-page/red-room.jxl). -- [ ] I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!) -- [x] I made sure my commits build individually and have good descriptions as per [KDE guidelines](https://community.kde.org/Policies/Commit_Policy). -- [x] I made sure my code conforms to the standards set in the HACKING file. -- [x] I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per [KDE Licensing Policy](https://community.kde.org/Policies/Licensing_Policy). - -_**Reminder: the reviewer is responsible for merging the patch, this is to ensure at the least two people can build the patch. In case a patch breaks the build, both the author and the reviewer should be contacted to fix the build.**_ -_**If this is not possible, the commits shall be reverted, and a notification with the reasoning and any relevant logs shall be sent to the mailing list, kimageshop@kde.org.**_ ---- - plugins/impex/jxl/JPEGXLImport.cpp | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/plugins/impex/jxl/JPEGXLImport.cpp b/plugins/impex/jxl/JPEGXLImport.cpp -index 573bae41247..f5b989b3b70 100644 ---- a/plugins/impex/jxl/JPEGXLImport.cpp -+++ b/plugins/impex/jxl/JPEGXLImport.cpp -@@ -511,7 +511,9 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu - JxlColorEncoding colorEncoding{}; - if (JXL_DEC_SUCCESS - == JxlDecoderGetColorAsEncodedProfile(dec.get(), -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0) - nullptr, -+#endif - JXL_COLOR_PROFILE_TARGET_DATA, - &colorEncoding)) { - const TransferCharacteristics transferFunction = [&]() { -@@ -635,7 +637,12 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu - size_t iccSize = 0; - QByteArray iccProfile; - if (JXL_DEC_SUCCESS -- != JxlDecoderGetICCProfileSize(dec.get(), nullptr, JXL_COLOR_PROFILE_TARGET_DATA, &iccSize)) { -+ != JxlDecoderGetICCProfileSize(dec.get(), -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0) -+ nullptr, -+#endif -+ JXL_COLOR_PROFILE_TARGET_DATA, -+ &iccSize)) { - errFile << "ICC profile size retrieval failed"; - document->setErrorMessage(i18nc("JPEG-XL errors", "Unable to read the image profile.")); - return ImportExportCodes::ErrorWhileReading; -@@ -643,7 +650,9 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu - iccProfile.resize(static_cast<int>(iccSize)); - if (JXL_DEC_SUCCESS - != JxlDecoderGetColorAsICCProfile(dec.get(), -+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0) - nullptr, -+#endif - JXL_COLOR_PROFILE_TARGET_DATA, - reinterpret_cast<uint8_t *>(iccProfile.data()), - static_cast<size_t>(iccProfile.size()))) { --- -GitLab - diff --git a/media-gfx/krita/files/krita-5.1.5-lto.patch b/media-gfx/krita/files/krita-5.1.5-lto.patch deleted file mode 100644 index 0cccee5be00e..000000000000 --- a/media-gfx/krita/files/krita-5.1.5-lto.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 2c4dd042df1518d67c117ced08c5a2f3729c3193 Mon Sep 17 00:00:00 2001 -From: Dmitry Kazakov <dimula73@gmail.com> -Date: Tue, 30 Jan 2024 15:30:53 +0100 -Subject: [PATCH] Possibly fix ODR violation in the transform tool strategies - -BUG:480520 - - -(cherry picked from commit e33c7d7d533d5289c3a37007f8cf574af5bc7102) ---- - plugins/tools/tool_transform2/kis_free_transform_strategy.cpp | 2 ++ - .../tool_transform2/kis_perspective_transform_strategy.cpp | 3 ++- - 2 files changed, 4 insertions(+), 1 deletion(-) - -diff --git a/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp b/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp -index 49486b6bd7c..8a63bce74e3 100644 ---- a/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp -+++ b/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp -@@ -23,6 +23,7 @@ - #include "kis_algebra_2d.h" - - -+namespace { - enum StrokeFunction { - ROTATE = 0, - MOVE, -@@ -41,6 +42,7 @@ enum StrokeFunction { - MOVECENTER, - PERSPECTIVE - }; -+} - - struct KisFreeTransformStrategy::Private - { -diff --git a/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp b/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp -index ad1d9ffe4d3..bca5b51e13f 100644 ---- a/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp -+++ b/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp -@@ -23,7 +23,7 @@ - #include "kis_transform_utils.h" - #include "kis_free_transform_strategy_gsl_helpers.h" - -- -+namespace { - enum StrokeFunction { - DRAG_HANDLE = 0, - DRAG_X_VANISHING_POINT, -@@ -43,6 +43,7 @@ enum HandleIndexes { - HANDLE_MIDDLE_RIGHT, - HANDLE_COUNT, - }; -+} - - struct KisPerspectiveTransformStrategy::Private - { --- -GitLab - diff --git a/media-gfx/krita/files/krita-5.1.5-ocio-2.3.0.patch b/media-gfx/krita/files/krita-5.1.5-ocio-2.3.0.patch deleted file mode 100644 index 534e24469e8a..000000000000 --- a/media-gfx/krita/files/krita-5.1.5-ocio-2.3.0.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 48edd05f32241c537cedf2831efc5eb91a112291 Mon Sep 17 00:00:00 2001 -From: killy |0veufOrever <80536642@qq.com> -Date: Tue, 19 Sep 2023 02:18:54 +0000 -Subject: [PATCH] Update OCIO to version 2.3.0 - ---- - 3rdparty/ext_ocio/CMakeLists.txt | 4 ++-- - plugins/dockers/lut/ocio_display_filter_vfx2021.cpp | 3 ++- - 1 files changed, 2 insertions(+), 1 deletions(-) - -From 21d384fe9fafde2f45f7339a2234f4022c53152f Mon Sep 17 00:00:00 2001 -From: killy |0veufOrever <80536642@qq.com> -Date: Tue, 19 Sep 2023 03:17:17 +0000 -Subject: [PATCH] Dimensions are not required when the OCIO version is less - than 2.3.0 - ---- - plugins/dockers/lut/ocio_display_filter_vfx2021.cpp | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/plugins/dockers/lut/ocio_display_filter_vfx2021.cpp b/plugins/dockers/lut/ocio_display_filter_vfx2021.cpp ---- a/plugins/dockers/lut/ocio_display_filter_vfx2021.cpp -+++ b/plugins/dockers/lut/ocio_display_filter_vfx2021.cpp -@@ -507,7 +507,13 @@ - unsigned height = 0; - OCIO::GpuShaderDesc::TextureType channel = OCIO::GpuShaderDesc::TEXTURE_RGB_CHANNEL; - OCIO::Interpolation interpolation = OCIO::INTERP_LINEAR; -+ -+#if OCIO_VERSION_HEX >= 0x2030000 -+ OCIO::GpuShaderCreator::TextureDimensions dimensions; -+ shaderDesc->getTexture(idx, textureName, samplerName, width, height, channel, dimensions, interpolation); -+#else - shaderDesc->getTexture(idx, textureName, samplerName, width, height, channel, interpolation); -+#endif - - if (!textureName || !*textureName || !samplerName || !*samplerName || width == 0) { - errOpenGL << "The texture data is corrupted"; diff --git a/media-gfx/krita/files/krita-5.2.3-znver4-xsimd.patch b/media-gfx/krita/files/krita-5.2.3-znver4-xsimd.patch deleted file mode 100644 index df5fffb41d47..000000000000 --- a/media-gfx/krita/files/krita-5.2.3-znver4-xsimd.patch +++ /dev/null @@ -1,38 +0,0 @@ -https://bugs.gentoo.org/936296 -https://invent.kde.org/graphics/krita/-/commit/cf2c74220b7edfae53a0715346cb4e2c7dfc38ae - -From cf2c74220b7edfae53a0715346cb4e2c7dfc38ae Mon Sep 17 00:00:00 2001 -From: Dmitry Kazakov <dimula73@gmail.com> -Date: Mon, 26 Aug 2024 14:38:03 +0200 -Subject: [PATCH] Don't use xsimd::default_arch in the pixel scaler code - -Gentoo seems to build Krita with a global -march=znver4 flag, -which causes "scalar" version of the code to be compiled with -AVX512. Even though it is not how the system is supposed to work -(and this avx512-optimization will never be used in real runtime), -we shouldn't fail compilation. - -https://bugs.gentoo.org/936296 -https://github.com/xtensor-stack/xsimd/issues/1044 ---- a/libs/pigment/KoOptimizedPixelDataScalerU8ToU16.h -+++ b/libs/pigment/KoOptimizedPixelDataScalerU8ToU16.h -@@ -28,7 +28,7 @@ public: - const int numColorChannels = m_channelsPerPixel * numColumns; - - #if defined(HAVE_XSIMD) && XSIMD_WITH_AVX2 -- using uint16_avx_v = xsimd::batch<uint16_t, xsimd::default_arch>; -+ using uint16_avx_v = xsimd::batch<uint16_t, xsimd::avx2>; - using uint16_v = xsimd::batch<uint16_t, xsimd::sse4_1>; - using uint8_v = xsimd::batch<uint8_t, xsimd::sse4_1>; - -@@ -129,7 +129,7 @@ public: - const int numColorChannels = m_channelsPerPixel * numColumns; - - #if defined(HAVE_XSIMD) && XSIMD_WITH_AVX2 -- using uint16_avx_v = xsimd::batch<uint16_t, xsimd::default_arch>; -+ using uint16_avx_v = xsimd::batch<uint16_t, xsimd::avx2>; - using uint16_v = xsimd::batch<uint16_t, xsimd::sse4_1>; - - const int channelsPerAvx2Block = 32; --- -GitLab diff --git a/media-gfx/krita/files/krita-5.2.6-py3.13.patch b/media-gfx/krita/files/krita-5.2.6-py3.13.patch new file mode 100644 index 000000000000..6714059895d0 --- /dev/null +++ b/media-gfx/krita/files/krita-5.2.6-py3.13.patch @@ -0,0 +1,120 @@ +From 0f43ec3158225092f6a02422eb90c56421326570 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <zebob.m@gmail.com> +Date: Tue, 18 Jun 2024 22:05:34 +0200 +Subject: [PATCH] Changes to build pykrita with Python 3.13 + +Python 3.11 deprecated Py_SetPath() in 2022 and Python 3.13 removed it. +Instead one needs to use the new PyConfig API (PEP 587) added to Python +3.8. + +Fix: #488680 +--- + .../extensions/pykrita/plugin/utilities.cpp | 61 +++++++++++++++++-- + plugins/extensions/pykrita/plugin/utilities.h | 4 +- + 2 files changed, 57 insertions(+), 8 deletions(-) + +diff --git a/plugins/extensions/pykrita/plugin/utilities.cpp b/plugins/extensions/pykrita/plugin/utilities.cpp +index 4f58183238..1e497b2681 100644 +--- a/plugins/extensions/pykrita/plugin/utilities.cpp ++++ b/plugins/extensions/pykrita/plugin/utilities.cpp +@@ -19,8 +19,10 @@ + #include <cmath> + #include <Python.h> + ++#include <QDebug> + #include <QDir> + #include <QLibrary> ++#include <QProcessEnvironment> + #include <QString> + #include <QStringList> + #include <QVector> +@@ -412,18 +414,65 @@ bool Python::setPath(const QStringList& scriptPaths) + joinedPaths = joinedPaths + pathSeparator + originalPath; + } + dbgScript << "Setting python paths:" << joinedPaths; ++ + #ifdef Q_OS_WIN +- QVector<wchar_t> joinedPathsWChars(joinedPaths.size() + 1, 0); +- joinedPaths.toWCharArray(joinedPathsWChars.data()); +- Py_SetPath(joinedPathsWChars.data()); ++ PyStatus status; ++ PyConfig config; ++ PyConfig_InitPythonConfig(&config); ++ ++ for (const QString& path : joinedPaths.split(pathSeparator)) { ++ status = PyWideStringList_Append(&config.module_search_paths, path.toStdWString().c_str()); ++ if (PyStatus_Exception(status)) { ++ qDebug() << "Error appending to PyWideStringList:" << status.err_msg; ++ dbgScript << "Error appending to PyWideStringList"; ++ return false; ++ } ++ } ++ ++ config.module_search_paths_set = true; ++ qDebug() << "Set module_search_paths"; ++ ++ status = Py_InitializeFromConfig(&config); ++ if (PyStatus_Exception(status)) { ++ qDebug() << "Cannot initialize Py_InitializeFromConfig:" << status.err_msg; ++ Py_ExitStatusException(status); ++ PyConfig_Clear(&config); ++ dbgScript << "Cannot initialize Py_InitializeFromConfig config"; ++ return false; ++ } ++ ++ PyConfig_Clear(&config); + #else + if (runningInBundle) { +- QVector<wchar_t> joinedPathsWChars(joinedPaths.size() + 1, 0); +- joinedPaths.toWCharArray(joinedPathsWChars.data()); +- Py_SetPath(joinedPathsWChars.data()); ++ PyStatus status; ++ PyConfig config; ++ PyConfig_InitPythonConfig(&config); ++ ++ for (const QString& path : joinedPaths.split(pathSeparator)) { ++ status = PyWideStringList_Append(&config.module_search_paths, path.toStdWString().c_str()); ++ if (PyStatus_Exception(status)) { ++ qDebug() << "Error appending to PyWideStringList:" << status.err_msg; ++ dbgScript << "Error appending to PyWideStringList"; ++ return false; ++ } ++ } ++ ++ config.module_search_paths_set = true; ++ ++ status = Py_InitializeFromConfig(&config); ++ if (PyStatus_Exception(status)) { ++ Py_ExitStatusException(status); ++ qDebug() << "Cannot initialize Py_InitializeFromConfig 2:" << status.err_msg; ++ PyConfig_Clear(&config); ++ dbgScript << "Cannot initialize Py_InitializeFromConfig config"; ++ return false; ++ } ++ ++ PyConfig_Clear(&config); + } + else { + qputenv("PYTHONPATH", joinedPaths.toLocal8Bit()); ++ qDebug() << "Set PYTHONPATH environment variable"; + } + #endif + isPythonPathSet = true; +diff --git a/plugins/extensions/pykrita/plugin/utilities.h b/plugins/extensions/pykrita/plugin/utilities.h +index fb309bd0b8..aec47da239 100644 +--- a/plugins/extensions/pykrita/plugin/utilities.h ++++ b/plugins/extensions/pykrita/plugin/utilities.h +@@ -81,8 +81,8 @@ public: + static bool libraryLoad(); + + /** +- * Set the Python paths by calling Py_SetPath. This should be called before +- * initialization to ensure the proper libraries get loaded. ++ * Set the Python paths by calling Py_InitializeFromConfig. This should be ++ * called before initialization to ensure the proper libraries get loaded. + */ + static bool setPath(const QStringList& scriptPaths); + +-- +2.45.2 + diff --git a/media-gfx/krita/krita-5.1.5.ebuild b/media-gfx/krita/krita-5.1.5.ebuild deleted file mode 100644 index 854bb12e9593..000000000000 --- a/media-gfx/krita/krita-5.1.5.ebuild +++ /dev/null @@ -1,128 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -ECM_TEST="forceoptional" -PYTHON_COMPAT=( python3_{9..12} ) -KFMIN=5.82.0 -QTMIN=5.15.5 -VIRTUALX_REQUIRED="test" -inherit ecm kde.org python-single-r1 - -if [[ ${KDE_BUILD_TYPE} = release ]]; then - SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz - https://dev.gentoo.org/~asturm/distfiles/${P}-exiv2-0.28.patch.xz" - KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86" -fi - -DESCRIPTION="Free digital painting application. Digital Painting, Creative Freedom!" -HOMEPAGE="https://apps.kde.org/krita/ https://krita.org/en/" - -LICENSE="GPL-3" -SLOT="5" -IUSE="color-management fftw gif +gsl heif jpegxl +mypaint-brush-engine openexr pdf qtmedia +raw webp" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -# bug 630508 -RESTRICT="test" - -RDEPEND="${PYTHON_DEPS} - dev-libs/boost:= - dev-libs/quazip:0=[qt5(+)] - $(python_gen_cond_dep ' - dev-python/PyQt5[declarative,gui,widgets,${PYTHON_USEDEP}] - dev-python/sip:=[${PYTHON_USEDEP}] - ') - >=dev-qt/qtconcurrent-${QTMIN}:5 - >=dev-qt/qtdbus-${QTMIN}:5 - >=dev-qt/qtdeclarative-${QTMIN}:5 - >=dev-qt/qtgui-${QTMIN}:5=[-gles2-only] - >=dev-qt/qtnetwork-${QTMIN}:5 - >=dev-qt/qtprintsupport-${QTMIN}:5 - >=dev-qt/qtsql-${QTMIN}:5 - >=dev-qt/qtsvg-${QTMIN}:5 - >=dev-qt/qtwidgets-${QTMIN}:5 - >=dev-qt/qtx11extras-${QTMIN}:5 - >=dev-qt/qtxml-${QTMIN}:5 - >=kde-frameworks/kcompletion-${KFMIN}:5 - >=kde-frameworks/kconfig-${KFMIN}:5 - >=kde-frameworks/kcoreaddons-${KFMIN}:5 - >=kde-frameworks/kcrash-${KFMIN}:5 - >=kde-frameworks/kguiaddons-${KFMIN}:5 - >=kde-frameworks/ki18n-${KFMIN}:5 - >=kde-frameworks/kiconthemes-${KFMIN}:5 - >=kde-frameworks/kitemmodels-${KFMIN}:5 - >=kde-frameworks/kitemviews-${KFMIN}:5 - >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 - >=kde-frameworks/kwindowsystem-${KFMIN}:5 - >=kde-frameworks/kxmlgui-${KFMIN}:5 - media-gfx/exiv2:= - media-libs/lcms - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/tiff:= - sys-libs/zlib - virtual/opengl - x11-libs/libX11 - x11-libs/libXi - color-management? ( >=media-libs/opencolorio-2.0.0 ) - fftw? ( sci-libs/fftw:3.0= ) - gif? ( media-libs/giflib ) - gsl? ( sci-libs/gsl:= ) - jpegxl? ( >=media-libs/libjxl-0.7.0_pre20220825:= ) - heif? ( >=media-libs/libheif-1.11:=[x265] ) - mypaint-brush-engine? ( media-libs/libmypaint:= ) - openexr? ( media-libs/openexr:= ) - pdf? ( app-text/poppler[qt5] ) - qtmedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5 ) - raw? ( media-libs/libraw:= ) - webp? ( >=media-libs/libwebp-1.2.0:= ) -" -DEPEND="${RDEPEND}" -BDEPEND=" - dev-cpp/eigen:3 - dev-lang/perl - sys-devel/gettext -" - -PATCHES=( - "${FILESDIR}/${PN}-4.3.1-tests-optional.patch" - "${WORKDIR}/${P}-exiv2-0.28.patch" # bug 906472 - "${FILESDIR}/${P}-ocio-2.3.0.patch" # bug 915107 - "${FILESDIR}/${P}-sip-6.8.patch" # bug 919139 - "${FILESDIR}/${P}-libjxl-0.9.patch" # bug 922524 - "${FILESDIR}/${P}-lto.patch" # bug 922520 -) - -pkg_setup() { - python-single-r1_pkg_setup - ecm_pkg_setup -} - -src_configure() { - # Prevent sandbox violation from FindPyQt5.py module - # See Gentoo-bug 655918 - addpredict /dev/dri - - local mycmakeargs=( - -DENABLE_UPDATERS=OFF - -DKRITA_ENABLE_PCH=OFF # big mess. - -DCMAKE_DISABLE_FIND_PACKAGE_KSeExpr=ON # not packaged - -DCMAKE_DISABLE_FIND_PACKAGE_xsimd=ON # not packaged - $(cmake_use_find_package color-management OpenColorIO) - $(cmake_use_find_package fftw FFTW3) - $(cmake_use_find_package gif GIF) - $(cmake_use_find_package gsl GSL) - $(cmake_use_find_package heif HEIF) - $(cmake_use_find_package jpegxl JPEGXL) - $(cmake_use_find_package mypaint-brush-engine LibMyPaint) - $(cmake_use_find_package openexr OpenEXR) - $(cmake_use_find_package pdf Poppler) - $(cmake_use_find_package qtmedia Qt5Multimedia) - $(cmake_use_find_package raw LibRaw) - $(cmake_use_find_package webp WebP) - ) - - ecm_src_configure -} diff --git a/media-gfx/krita/krita-5.2.3.ebuild b/media-gfx/krita/krita-5.2.3.ebuild deleted file mode 100644 index 6b6678994687..000000000000 --- a/media-gfx/krita/krita-5.2.3.ebuild +++ /dev/null @@ -1,135 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -ECM_TEST="forceoptional" -PYTHON_COMPAT=( python3_{10..12} ) -KFMIN=5.115.0 -QTMIN=5.15.12 -inherit ecm kde.org python-single-r1 - -if [[ ${KDE_BUILD_TYPE} = release ]]; then - SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" - KEYWORDS="amd64 ~arm64 ~riscv ~x86" -fi - -DESCRIPTION="Free digital painting application. Digital Painting, Creative Freedom!" -HOMEPAGE="https://apps.kde.org/krita/ https://krita.org/en/" - -LICENSE="GPL-3" -SLOT="5" -IUSE="color-management fftw gif +gsl heif jpeg2k jpegxl +mypaint-brush-engine openexr pdf media +raw +xsimd webp" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -# bug 630508 -RESTRICT="test" - -RDEPEND="${PYTHON_DEPS} - dev-libs/boost:= - dev-libs/libunibreak:= - dev-libs/quazip:0=[qt5(+)] - $(python_gen_cond_dep ' - dev-python/PyQt5[declarative,gui,widgets,${PYTHON_USEDEP}] - dev-python/sip:=[${PYTHON_USEDEP}] - ') - >=dev-qt/qtconcurrent-${QTMIN}:5 - >=dev-qt/qtdbus-${QTMIN}:5 - >=dev-qt/qtdeclarative-${QTMIN}:5 - >=dev-qt/qtgui-${QTMIN}:5=[-gles2-only] - >=dev-qt/qtnetwork-${QTMIN}:5 - >=dev-qt/qtprintsupport-${QTMIN}:5 - >=dev-qt/qtsql-${QTMIN}:5 - >=dev-qt/qtsvg-${QTMIN}:5 - >=dev-qt/qtwidgets-${QTMIN}:5 - >=dev-qt/qtx11extras-${QTMIN}:5 - >=dev-qt/qtxml-${QTMIN}:5 - >=kde-frameworks/kcompletion-${KFMIN}:5 - >=kde-frameworks/kconfig-${KFMIN}:5 - >=kde-frameworks/kcoreaddons-${KFMIN}:5 - >=kde-frameworks/kcrash-${KFMIN}:5 - >=kde-frameworks/kguiaddons-${KFMIN}:5 - >=kde-frameworks/ki18n-${KFMIN}:5 - >=kde-frameworks/kiconthemes-${KFMIN}:5 - >=kde-frameworks/kitemmodels-${KFMIN}:5 - >=kde-frameworks/kitemviews-${KFMIN}:5 - >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 - >=kde-frameworks/kwindowsystem-${KFMIN}:5 - >=kde-frameworks/kxmlgui-${KFMIN}:5 - media-gfx/exiv2:= - media-libs/lcms - media-libs/libjpeg-turbo:= - media-libs/libpng:= - media-libs/tiff:= - sys-libs/zlib - virtual/opengl - x11-libs/libX11 - x11-libs/libXi - color-management? ( >=media-libs/opencolorio-2.0.0 ) - fftw? ( sci-libs/fftw:3.0= ) - gif? ( media-libs/giflib ) - gsl? ( sci-libs/gsl:= ) - jpeg2k? ( media-libs/openjpeg:= ) - jpegxl? ( >=media-libs/libjxl-0.7.0_pre20220825:= ) - heif? ( >=media-libs/libheif-1.11:=[x265] ) - media? ( media-libs/mlt:= ) - mypaint-brush-engine? ( media-libs/libmypaint:= ) - openexr? ( media-libs/openexr:= ) - pdf? ( app-text/poppler[qt5] ) - raw? ( kde-apps/libkdcraw:5 ) - webp? ( >=media-libs/libwebp-1.2.0:= ) - xsimd? ( >=dev-cpp/xsimd-13.0.0 ) - -" -DEPEND="${RDEPEND} - dev-libs/immer - dev-libs/lager - dev-libs/zug -" -BDEPEND=" - dev-cpp/eigen:3 - dev-lang/perl - sys-devel/gettext -" - -PATCHES=( - # downstream - "${FILESDIR}"/${P}-tests-optional.patch - "${FILESDIR}"/${PN}-5.2.2-fftw.patch # bug 913518 - # git master - "${FILESDIR}"/${PN}-5.1.5-sip-6.8.patch # bug 919139 - "${FILESDIR}"/${PN}-5.2.3-znver4-xsimd.patch # bug 936296 -) - -pkg_setup() { - python-single-r1_pkg_setup - ecm_pkg_setup -} - -src_configure() { - # Prevent sandbox violation from FindPyQt5.py module - # See Gentoo-bug 655918 - addpredict /dev/dri - - local mycmakeargs=( - -DENABLE_UPDATERS=OFF - -DKRITA_ENABLE_PCH=OFF # big mess. - -DCMAKE_DISABLE_FIND_PACKAGE_KSeExpr=ON # not packaged - $(cmake_use_find_package color-management OpenColorIO) - $(cmake_use_find_package fftw FFTW3) - $(cmake_use_find_package gif GIF) - $(cmake_use_find_package gsl GSL) - $(cmake_use_find_package heif HEIF) - $(cmake_use_find_package jpeg2k OpenJPEG) - $(cmake_use_find_package jpegxl JPEGXL) - $(cmake_use_find_package media Mlt7) - $(cmake_use_find_package mypaint-brush-engine LibMyPaint) - $(cmake_use_find_package openexr OpenEXR) - $(cmake_use_find_package pdf Poppler) - $(cmake_use_find_package raw KF5KDcraw) - $(cmake_use_find_package webp WebP) - $(cmake_use_find_package xsimd xsimd) - ) - - ecm_src_configure -} diff --git a/media-gfx/krita/krita-5.2.6.ebuild b/media-gfx/krita/krita-5.2.6.ebuild index 0a1c86338154..00fbf4b56f35 100644 --- a/media-gfx/krita/krita-5.2.6.ebuild +++ b/media-gfx/krita/krita-5.2.6.ebuild @@ -1,17 +1,17 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 ECM_TEST="forceoptional" -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) KFMIN=5.115.0 QTMIN=5.15.12 inherit ecm kde.org python-single-r1 if [[ ${KDE_BUILD_TYPE} = release ]]; then SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" - KEYWORDS="~amd64 ~arm64 ~riscv ~x86" + KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86" fi DESCRIPTION="Free digital painting application. Digital Painting, Creative Freedom!" @@ -30,7 +30,7 @@ RDEPEND="${PYTHON_DEPS} dev-libs/libunibreak:= dev-libs/quazip:0=[qt5(+)] $(python_gen_cond_dep ' - dev-python/PyQt5[declarative,gui,widgets,${PYTHON_USEDEP}] + dev-python/pyqt5[declarative,gui,widgets,${PYTHON_USEDEP}] dev-python/sip:=[${PYTHON_USEDEP}] ') >=dev-qt/qtconcurrent-${QTMIN}:5 @@ -96,6 +96,8 @@ PATCHES=( # downstream "${FILESDIR}"/${PN}-5.2.3-tests-optional.patch "${FILESDIR}"/${PN}-5.2.2-fftw.patch # bug 913518 + # Fedora, non-upstreamed: + "${FILESDIR}"/${P}-py3.13.patch # bug 943149 # git master "${FILESDIR}"/${PN}-5.1.5-sip-6.8.patch # bug 919139 ) @@ -105,6 +107,11 @@ pkg_setup() { ecm_pkg_setup } +src_prepare() { + ecm_src_prepare + cmake_comment_add_subdirectory benchmarks # bug 939842 +} + src_configure() { # Prevent sandbox violation from FindPyQt5.py module # See Gentoo-bug 655918 diff --git a/media-gfx/krita/metadata.xml b/media-gfx/krita/metadata.xml index c586507e3736..82ce837b7102 100644 --- a/media-gfx/krita/metadata.xml +++ b/media-gfx/krita/metadata.xml @@ -12,7 +12,6 @@ <flag name="color-management">Enable color management via <pkg>media-libs/opencolorio</pkg></flag> <flag name="media">Enable sound support for animations via <pkg>media-libs/mlt</pkg></flag> <flag name="mypaint-brush-engine">Enable MyPaint brush engine support <pkg>media-libs/libmypaint</pkg></flag> - <flag name="qtmedia">Enable sound support for animations via <pkg>dev-qt/qtmultimedia</pkg></flag> <flag name="xsimd">Enable usage of SIMD instructions via <pkg>dev-cpp/xsimd</pkg></flag> </use> </pkgmetadata> diff --git a/media-gfx/kxstitch/Manifest b/media-gfx/kxstitch/Manifest index 756774fdacc0..b48dbbf9c7f6 100644 --- a/media-gfx/kxstitch/Manifest +++ b/media-gfx/kxstitch/Manifest @@ -1 +1 @@ -DIST kxstitch-2.2.0.tar.xz 1784360 BLAKE2B 6d06090bb33ccd4db7e8b8a3521b0e1377f253b472cc500862b1b8b0da1abf0d759a85a870b50a1a1f55f385274cdc94761e612a838d93aaffb76191df725150 SHA512 bf09130a35bc605db2bbd6e5e129ac494e8f02b920d4a8d6705b5030a9339306b3b302bd988839e1684da3e5e15e91d655dadf916eb4bf2dc9c1322fd435281d +DIST kxstitch-3.0.0_pre20250110-073debc5.tar.gz 2407504 BLAKE2B b564193a21094f25356cc2ef90815c90f975d307ef3fed2468ebf5f2a980e1976e5267a8362bb441ca7e67f4f53e3c64e481c285a243d0c0d5a77ee2b7ae0c41 SHA512 e4888f526c113425efad0a7de5705e5e9b28359ef581dc0445be6492754c61ff689233583907d953298532da025769b99ed2e54c3e9b2f4f7c0688c4265e5533 diff --git a/media-gfx/kxstitch/files/kxstitch-2.2.0-drop-xkeylock.patch b/media-gfx/kxstitch/files/kxstitch-2.2.0-drop-xkeylock.patch deleted file mode 100644 index 805a67ea97c8..000000000000 --- a/media-gfx/kxstitch/files/kxstitch-2.2.0-drop-xkeylock.patch +++ /dev/null @@ -1,180 +0,0 @@ -From f97d3eaf4c06b4740fcec63c9c0ca64a5bd56281 Mon Sep 17 00:00:00 2001 -From: Pino Toscano <pino@kde.org> -Date: Sun, 28 Jun 2020 12:01:49 +0200 -Subject: [PATCH] cmake: require KGuiAddons - -It will be used soon. ---- - CMakeLists.txt | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 36e3169..7ccf7f0 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -32,6 +32,7 @@ find_package (KF5 REQUIRED COMPONENTS - Config - ConfigWidgets - Completion -+ GuiAddons - I18n - KIO - TextWidgets -@@ -145,6 +146,7 @@ target_link_libraries (kxstitch - Qt5::X11Extras - KF5::Completion - KF5::ConfigGui -+ KF5::GuiAddons - KF5::KIOFileWidgets - KF5::I18n - KF5::TextWidgets --- -GitLab - -From 817be56369a25de4dd12f2548f97e4ebcfb73571 Mon Sep 17 00:00:00 2001 -From: Pino Toscano <pino@kde.org> -Date: Sun, 28 Jun 2020 12:02:34 +0200 -Subject: [PATCH] Switch from XKeyLock to KModifierKeyInfo - -Use KModifierKeyInfo from the KGuiAddons framework to get the status -of keys. In particular, use it to get the status of the Caps Lock key -instead of the local XKeyLock implementation. - -The KModifierKeyInfo object is kept as class member to avoid recreating -it at each key press in Alphabet mode. ---- - src/Editor.cpp | 4 +--- - src/Editor.h | 4 ++++ - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/src/Editor.cpp b/src/Editor.cpp -index bba0760..163e88e 100644 ---- a/src/Editor.cpp -+++ b/src/Editor.cpp -@@ -46,7 +46,6 @@ - #include "Scale.h" - #include "SchemeManager.h" - #include "TextToolDlg.h" --#include "XKeyLock.h" - - - const Editor::keyPressCallPointer Editor::keyPressCallPointers[] = { -@@ -858,10 +857,9 @@ void Editor::keyPressText(QKeyEvent *e) - - void Editor::keyPressAlphabet(QKeyEvent *e) - { -- XKeyLock keylock(QX11Info::display()); - Qt::KeyboardModifiers modifiers = e->modifiers(); - -- if (keylock.getCapsLock() && Configuration::alphabet_UseCapsLock()) { -+ if (m_keyInfo.isKeyPressed(Qt::Key_CapsLock) && Configuration::alphabet_UseCapsLock()) { - modifiers = static_cast<Qt::KeyboardModifiers>(modifiers ^ Qt::ShiftModifier); - } - -diff --git a/src/Editor.h b/src/Editor.h -index 3189249..8345a38 100644 ---- a/src/Editor.h -+++ b/src/Editor.h -@@ -16,6 +16,8 @@ - #include <QStack> - #include <QWidget> - -+#include <KModifierKeyInfo> -+ - #include "Stitch.h" - - #include "configuration.h" -@@ -337,6 +339,8 @@ private: - QStack<QPoint> m_cursorStack; - QMap<int, int> m_cursorCommands; - -+ KModifierKeyInfo m_keyInfo; -+ - typedef void (Editor::*keyPressCallPointer)(QKeyEvent*); - typedef void (Editor::*toolInitCallPointer)(); - typedef void (Editor::*toolCleanupCallPointer)(); --- -GitLab - -From 17d6a17830ce190cd21f266dd319e36e4865e30a Mon Sep 17 00:00:00 2001 -From: Pino Toscano <pino@kde.org> -Date: Sun, 28 Jun 2020 12:13:37 +0200 -Subject: [PATCH] Drop XKeyLock & X11 leftovers - -XKeyLock is not used anymore, so it can be dropped together with the -X11 and QX11Extras requirements. ---- - CMakeLists.txt | 6 -- - src/Editor.cpp | 1 - - src/XKeyLock.cpp | 202 ----------------------------------------------- - src/XKeyLock.h | 70 ---------------- - 4 files changed, 279 deletions(-) - delete mode 100644 src/XKeyLock.cpp - delete mode 100644 src/XKeyLock.h - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 7ccf7f0..c225859 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -23,7 +23,6 @@ find_package (Qt5 CONFIG REQUIRED - Core - PrintSupport - Widgets -- X11Extras - ) - - find_package (KF5DocTools) -@@ -41,7 +40,6 @@ find_package (KF5 REQUIRED COMPONENTS - ) - - find_package (ImageMagick COMPONENTS MagickCore Magick++ REQUIRED) --find_package (X11 REQUIRED) - find_package (Doxygen) - find_package (SharedMimeInfo) - -@@ -57,7 +55,6 @@ include_directories (BEFORE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_D - # only in older cmake versions, while the latter only in newer ones - include_directories (${ImageMagick_Magick++_INCLUDE_DIR} ${ImageMagick_MagickCore_INCLUDE_DIR}) - include_directories (${ImageMagick_Magick++_INCLUDE_DIRS} ${ImageMagick_MagickCore_INCLUDE_DIRS}) --include_directories (${X11_INCLUDE_DIR}) - - set (kxstitch_SRCS - src/BackgroundImage.cpp -@@ -96,7 +93,6 @@ set (kxstitch_SRCS - src/Symbol.cpp - src/SymbolLibrary.cpp - src/SymbolManager.cpp -- src/XKeyLock.cpp - - src/AlphaSelect.cpp - src/CalibrateFlossDlg.cpp -@@ -143,7 +139,6 @@ target_link_libraries (kxstitch - Qt5::Core - Qt5::PrintSupport - Qt5::Widgets -- Qt5::X11Extras - KF5::Completion - KF5::ConfigGui - KF5::GuiAddons -@@ -153,7 +148,6 @@ target_link_libraries (kxstitch - KF5::WidgetsAddons - KF5::XmlGui - ${ImageMagick_Magick++_LIBRARY} ${ImageMagick_MagickCore_LIBRARY} -- ${X11_LIBRARIES} - ) - - set (WITH_PROFILING OFF CACHE BOOL "Build with profiling support") -diff --git a/src/Editor.cpp b/src/Editor.cpp -index 163e88e..4d314e4 100644 ---- a/src/Editor.cpp -+++ b/src/Editor.cpp -@@ -24,7 +24,6 @@ - #include <QScrollArea> - #include <QStyleOptionRubberBand> - #include <QToolTip> --#include <QX11Info> - - #include <KLocalizedString> - #include <KMessageBox> --- -GitLab diff --git a/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-hidpi.patch b/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-hidpi.patch deleted file mode 100644 index bf5d94dae4d6..000000000000 --- a/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-hidpi.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 44d231b5604480601bedc623ca2f5204bd4a3ac8 Mon Sep 17 00:00:00 2001 -From: Nicolas Fella <nicolas.fella@gmx.de> -Date: Sun, 11 Sep 2022 15:55:44 +0200 -Subject: [PATCH] Enable highdpi scaling and pixmaps - ---- - src/Main.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/src/Main.cpp b/src/Main.cpp -index 0af162a..4088d37 100644 ---- a/src/Main.cpp -+++ b/src/Main.cpp -@@ -85,6 +85,9 @@ - */ - int main(int argc, char *argv[]) - { -+ QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); -+ QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); -+ - QApplication app(argc, argv); - KLocalizedString::setApplicationDomain("kxstitch"); - --- -GitLab - diff --git a/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-render-scaled-painter.patch b/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-render-scaled-painter.patch deleted file mode 100644 index 5b2bc07aa1ed..000000000000 --- a/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-render-scaled-painter.patch +++ /dev/null @@ -1,202 +0,0 @@ -From c9e6a03c32fe6e6901fad8439bf2235ddb8c288c Mon Sep 17 00:00:00 2001 -From: Steve Allewell <steve.allewell@gmail.com> -Date: Sun, 3 Jan 2021 13:43:59 +0000 -Subject: [PATCH] Fix for rendering on scaled painter - -Fixes for rendering seletion areas on scaled painter in recent versions -of Qt which were half a square out. ---- - src/Editor.cpp | 74 ++++++++++++++++++++++++++++---------------------- - 1 file changed, 41 insertions(+), 33 deletions(-) - -diff --git a/src/Editor.cpp b/src/Editor.cpp -index 4d314e4..263df1e 100644 ---- a/src/Editor.cpp -+++ b/src/Editor.cpp -@@ -1388,11 +1388,12 @@ void Editor::renderRubberBandRectangle(QPainter *painter, const QRect&) - if (m_rubberBand.isValid()) { - painter->setRenderHint(QPainter::Qt4CompatiblePainting, true); - -+ painter->resetTransform(); - QStyleOptionRubberBand opt; - opt.initFrom(this); - opt.shape = QRubberBand::Rectangle; - opt.opaque = false; -- opt.rect = m_rubberBand.adjusted(0, 0, 1, 1); -+ opt.rect = rectToContents(m_rubberBand); - - style()->drawControl(QStyle::CE_RubberBand, &opt, painter); - } -@@ -1408,14 +1409,15 @@ void Editor::renderRubberBandEllipse(QPainter *painter, const QRect&) - if (m_rubberBand.isValid()) { - painter->setRenderHint(QPainter::Qt4CompatiblePainting, true); - -- painter->setPen(Qt::NoPen); -- painter->setBrush(QColor(200,225,255)); -- painter->setOpacity(0.5); -- painter->drawEllipse(m_rubberBand); -+ painter->resetTransform(); -+ QStyleOptionRubberBand opt; -+ opt.initFrom(this); - -- painter->setPen(Qt::darkBlue); -- painter->setBrush(Qt::NoBrush); -- painter->drawEllipse(m_rubberBand); -+ painter->setPen(opt.palette.color(QPalette::WindowText)); -+ painter->setBrush(QBrush(opt.palette.color(QPalette::Highlight), Qt::Dense4Pattern)); -+ painter->setBackground(QBrush(opt.palette.base())); -+ painter->setBackgroundMode(Qt::TransparentMode); -+ painter->drawEllipse(rectToContents(m_rubberBand)); - } - - painter->restore(); -@@ -1427,7 +1429,10 @@ void Editor::renderFillPolygon(QPainter *painter, const QRect&) - QPolygonF polyline; - painter->save(); - -- painter->setPen(Qt::green); // use green for the first point -+ QPen pen(Qt::green); -+ pen.setWidth(0); -+ -+ painter->setPen(pen); // use green for the first point - painter->setBrush(Qt::green); - - QVector<QPoint>::const_iterator i; -@@ -1435,7 +1440,8 @@ void Editor::renderFillPolygon(QPainter *painter, const QRect&) - for (i = m_polygon.constBegin() ; i != m_polygon.constEnd() ; ++i) { - QPointF cell = QPointF(*i) + QPointF(0.5, 0.5); - painter->drawEllipse(QRectF(-0.5, -0.5, 1, 1).translated(cell)); -- painter->setPen(Qt::blue); // use blue for subsequent points -+ pen.setColor(Qt::blue); -+ painter->setPen(pen); // use blue for subsequent points - painter->setBrush(Qt::blue); - polyline.append(cell); - } -@@ -1555,9 +1561,9 @@ void Editor::mouseMoveEvent_Draw(QMouseEvent *e) - - dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y()); - -- m_cellTracking = contentsToCell(p); -- m_cellEnd = m_cellTracking; -- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized(); -+ m_cellEnd = m_cellTracking = contentsToCell(p); -+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1))); -+ - update(); - } - -@@ -1703,9 +1709,9 @@ void Editor::mouseMoveEvent_Rectangle(QMouseEvent *e) - - dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y()); - -- m_cellTracking = contentsToCell(p); -- m_cellEnd = m_cellTracking; -- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized(); -+ m_cellEnd = m_cellTracking = contentsToCell(p); -+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1))); -+ - update(); - } - -@@ -1757,9 +1763,9 @@ void Editor::mouseMoveEvent_FillRectangle(QMouseEvent *e) - - dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y()); - -- m_cellTracking = contentsToCell(p); -- m_cellEnd = m_cellTracking; -- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized(); -+ m_cellEnd = m_cellTracking = contentsToCell(p); -+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1))); -+ - update(); - } - -@@ -1793,9 +1799,9 @@ void Editor::mouseMoveEvent_Ellipse(QMouseEvent *e) - - dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y()); - -- m_cellTracking = contentsToCell(p); -- m_cellEnd = m_cellTracking; -- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized(); -+ m_cellEnd = m_cellTracking = contentsToCell(p); -+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1))); -+ - update(); - } - -@@ -1848,9 +1854,9 @@ void Editor::mouseMoveEvent_FillEllipse(QMouseEvent *e) - - dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y()); - -- m_cellTracking = contentsToCell(p); -- m_cellEnd = m_cellTracking; -- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized(); -+ m_cellEnd = m_cellTracking = contentsToCell(p); -+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1))); -+ - update(); - } - -@@ -1877,7 +1883,7 @@ void Editor::mouseReleaseEvent_FillEllipse(QMouseEvent*) - painter.setRenderHint(QPainter::Antialiasing, !useFractionals); - painter.setPen(QPen(Qt::color1)); - painter.setBrush(Qt::color1); -- painter.drawEllipse(QRect(m_cellStart, m_cellEnd).normalized()); -+ painter.drawEllipse(QRect(m_cellStart, QSize(1,1)).united(QRect(m_cellEnd, QSize(1, 1)))); - painter.end(); - - QUndoCommand *cmd = new FillEllipseCommand(m_document); -@@ -1894,6 +1900,7 @@ void Editor::mousePressEvent_FillPolygon(QMouseEvent *e) - { - m_cellStart = m_cellTracking = m_cellEnd = contentsToCell(e->pos()); - m_polygon.append(m_cellStart); -+ - update(); - } - -@@ -2001,6 +2008,7 @@ void Editor::mouseReleaseEvent_Alphabet(QMouseEvent *e) - - m_cellStart = m_cellTracking = m_cellEnd = contentsToCell(e->pos()); - m_cursorStack.push(m_cellEnd); -+ - update(); - } - -@@ -2023,9 +2031,9 @@ void Editor::mouseMoveEvent_Select(QMouseEvent *e) - - dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y()); - -- m_cellTracking = contentsToCell(p); -- m_cellEnd = m_cellTracking; -- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized(); -+ m_cellEnd = m_cellTracking = contentsToCell(p); -+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1))); -+ - update(); - - QToolTip::showText(QCursor::pos(), QString::fromLatin1("%1,%2 %3 x %4").arg(m_rubberBand.left()).arg(m_rubberBand.top()).arg(m_rubberBand.width()).arg(m_rubberBand.height())); -@@ -2034,7 +2042,7 @@ void Editor::mouseMoveEvent_Select(QMouseEvent *e) - - void Editor::mouseReleaseEvent_Select(QMouseEvent*) - { -- m_selectionArea = QRect(m_cellStart, m_cellEnd).normalized(); -+ m_selectionArea = m_rubberBand; - emit(selectionMade(true)); - } - -@@ -2052,9 +2060,9 @@ void Editor::mouseMoveEvent_Backstitch(QMouseEvent *e) - - dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y()); - -- m_cellTracking = contentsToSnap(p); -- m_cellEnd = m_cellTracking; -- m_rubberBand = (snapToCells(m_cellStart).united(snapToCells(m_cellEnd))).normalized(); -+ m_cellEnd = m_cellTracking = contentsToSnap(p); -+ m_rubberBand = snapToCells(m_cellStart).united(snapToCells(m_cellEnd)); -+ - update(); - } - --- -GitLab - diff --git a/media-gfx/kxstitch/kxstitch-2.2.0-r1.ebuild b/media-gfx/kxstitch/kxstitch-2.2.0-r1.ebuild deleted file mode 100644 index 927de1cf02ef..000000000000 --- a/media-gfx/kxstitch/kxstitch-2.2.0-r1.ebuild +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -ECM_HANDBOOK="forceoptional" -KFMIN=5.82.0 -QTMIN=5.15.5 -inherit ecm kde.org - -DESCRIPTION="Program to create cross stitch patterns" -HOMEPAGE="https://apps.kde.org/kxstitch/ https://userbase.kde.org/KXStitch" -SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz" - -LICENSE="GPL-2+" -SLOT="5" -KEYWORDS="~amd64" -IUSE="" - -DEPEND=" - >=dev-qt/qtgui-${QTMIN}:5 - >=dev-qt/qtprintsupport-${QTMIN}:5 - >=dev-qt/qtwidgets-${QTMIN}:5 - >=dev-qt/qtxml-${QTMIN}:5 - >=kde-frameworks/kcompletion-${KFMIN}:5 - >=kde-frameworks/kconfig-${KFMIN}:5 - >=kde-frameworks/kconfigwidgets-${KFMIN}:5 - >=kde-frameworks/kcoreaddons-${KFMIN}:5 - >=kde-frameworks/kguiaddons-${KFMIN}:5 - >=kde-frameworks/ki18n-${KFMIN}:5 - >=kde-frameworks/kio-${KFMIN}:5 - >=kde-frameworks/ktextwidgets-${KFMIN}:5 - >=kde-frameworks/kwidgetsaddons-${KFMIN}:5 - >=kde-frameworks/kxmlgui-${KFMIN}:5 - media-gfx/imagemagick[cxx] -" -RDEPEND="${DEPEND}" -BDEPEND="sys-devel/gettext" - -PATCHES=( - "${FILESDIR}/${P}-drop-xkeylock.patch" - "${FILESDIR}/${P}-fix-render-scaled-painter.patch" - "${FILESDIR}/${P}-fix-hidpi.patch" -) diff --git a/media-gfx/kxstitch/kxstitch-3.0.0_pre20250110.ebuild b/media-gfx/kxstitch/kxstitch-3.0.0_pre20250110.ebuild new file mode 100644 index 000000000000..3a9523862ca1 --- /dev/null +++ b/media-gfx/kxstitch/kxstitch-3.0.0_pre20250110.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +KDE_ORG_COMMIT=073debc567d0d6e14bbe560b2322dd1571520a96 +ECM_HANDBOOK="forceoptional" +KFMIN=6.5.0 +QTMIN=6.7.2 +inherit ecm kde.org + +DESCRIPTION="Program to create cross stitch patterns" +HOMEPAGE="https://apps.kde.org/kxstitch/ https://userbase.kde.org/KXStitch" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~amd64" +IUSE="" + +DEPEND=" + >=dev-qt/qtbase-${QTMIN}:6[gui,widgets,xml] + >=kde-frameworks/kcompletion-${KFMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kconfigwidgets-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kguiaddons-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kio-${KFMIN}:6 + >=kde-frameworks/ktextwidgets-${KFMIN}:6 + >=kde-frameworks/kwidgetsaddons-${KFMIN}:6 + >=kde-frameworks/kxmlgui-${KFMIN}:6 + media-gfx/imagemagick[cxx] +" +RDEPEND="${DEPEND} + !${CATEGORY}/${PN}:5 +" +BDEPEND=" + sys-devel/gettext + virtual/pkgconfig +" diff --git a/media-gfx/libbgcode/Manifest b/media-gfx/libbgcode/Manifest index c1f33d94662d..b9d140f87fe2 100644 --- a/media-gfx/libbgcode/Manifest +++ b/media-gfx/libbgcode/Manifest @@ -1 +1 @@ -DIST libbgcode-0.0.20240903.tar.gz 456751 BLAKE2B 93cd8eb83083581ba1ba735c6820dc0ead18d13ca0613387559d610f39c8011881bcc92ffec65fbcb40113b2b877050c15c7816d6db063698ce7ba5df7b35eda SHA512 86e9d85f0e52ebde853979e79639dc4424e26686fe55c45d78ca683cf32d8ec059976d43ffda9339a41892d30ebb267f8c360851889ad0a48ced874c27546f04 +DIST libbgcode-0.0.20241024.tar.gz 529007 BLAKE2B 1ca0bfbf5ad6329190ba9c452678bbae0beba8121a9fd1c3e7642b365c86cccbf26ae41841a0596cf37034fda4930f771729a999ffd231000775841348db0cbd SHA512 1efc72180319f3876823a0da486f4a59c0c83e197cdd3f3a1163266e226d7026d5dc8f8f290e0507cd71a6cdea5648404fbe24a975833eba67ee98fb4b0466a3 diff --git a/media-gfx/libbgcode/libbgcode-0.0.20240903.ebuild b/media-gfx/libbgcode/libbgcode-0.0.20241024.ebuild index 783c85114ec0..cbc28fd7146a 100644 --- a/media-gfx/libbgcode/libbgcode-0.0.20240903.ebuild +++ b/media-gfx/libbgcode/libbgcode-0.0.20241024.ebuild @@ -5,7 +5,7 @@ EAPI=8 inherit cmake -LIBBGCODE_COMMIT=3db61e45713932b4a9cdd469aa567d65e0095d00 +LIBBGCODE_COMMIT=d33a277a3ce2c0a7f9ba325caac6d730e0f7a412 DESCRIPTION="Prusa Block & Binary G-code reader / writer / converter" HOMEPAGE="https://github.com/prusa3d/libbgcode" diff --git a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild b/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild index 5a96622a9881..33b4d2ef906f 100644 --- a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild +++ b/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild @@ -57,7 +57,6 @@ KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~s390 sparc" BDEPEND=" >=dev-util/cargo-c-0.9.11 - >=virtual/rust-1.60 " QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*" diff --git a/media-gfx/libimagequant/libimagequant-4.3.0.ebuild b/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild index 55609484950f..710c7dc0634f 100644 --- a/media-gfx/libimagequant/libimagequant-4.3.0.ebuild +++ b/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild @@ -23,7 +23,6 @@ KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~s390 sparc" BDEPEND=" >=dev-util/cargo-c-0.9.14 - >=virtual/rust-1.64 " QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*" diff --git a/media-gfx/librecad/Manifest b/media-gfx/librecad/Manifest index a19d2a8beb34..9e26725ba860 100644 --- a/media-gfx/librecad/Manifest +++ b/media-gfx/librecad/Manifest @@ -1,4 +1,2 @@ -DIST librecad-2.1.3.tar.gz 22415288 BLAKE2B fb920113a7e4b2e9e7e3425f77364c36f6be676a3cd109798786b06d31698fd11437bc7f50cb843ca02d761730e83db7fde475d1bce6a65336a845b5b0114918 SHA512 246cffcc1ea3389997b4a738ab5e3d78e8c1096817ecb1ca28f38d601bc5d1a95f60798ac82308914a34da7b5dbc302b8363cf8b58a97221fdc8ee63010adc6c DIST librecad-2.2.0.2.tar.gz 13645528 BLAKE2B 43a9ada4d6fe8c0cb96dc1003a9e7aa3b4d21619ce9776de1e6d273dd884f2313f9e90abed9cadcd44aaac2131bb62ffb0105bc0d8a097513ac42b9886107021 SHA512 054c6e6cf35a30099e71dd022574864c42d99db8bfa73b544113573723f8e6db2c92f9b7a827b947528f8ad9c743bca73a77a81bc50a9dc66f290480bb38db05 -DIST librecad-2.2.0.tar.gz 13837301 BLAKE2B ede9181b6805455d10773b70a8262ffb5a1c48f353dbfd1b80f705ba3194be700e9a486cdf528c4e8015b327a75a29c81b832186024d48229a6cc5fd9ca2dc12 SHA512 df33eac311b5232d6fc0480be1b1c9d257a33ba22f9b7897af4c1761978c87c07a962ae3ea37e8728661a788152157fc621aae65d60d44ae37b2028919cc96a2 -DIST librecad-gentoo-CVE-patches-2.1.3.tar.gz 11687 BLAKE2B 4676fa60033e6d0ace35bbebfae569366a50ec46c2dc5b90bace9564e1f6c2020f733f63981788b6f5288fb0c57760215e7b35f294656c21787ebdefa8447fa0 SHA512 b485b41ab1d6eb61750c11a9b327fc70d28cd0cf689b3cd815b4982d3d800737f402522d9c3d416f1e43422166e7de4f97055de238cc2fe80cc45f11fa3377e6 +DIST librecad-2.2.1.tar.gz 14107087 BLAKE2B 44c7960b79348515661fb59ae9c04949e8ff51282e80ce8335ca4679c74880552d229afcd3cc63d36fe75e06ce7d2dfce399c75f3cb1786448b487765b8966db SHA512 6a76d846e812fbed185c87e0e8362f7c429f9bd78bf739f19bcb12f1f88e5be944e48a38427820907826adec8d33204b7ce51ca2fbacecd0f7b39c6cab09687c diff --git a/media-gfx/librecad/files/librecad-2.1.3-boost-1.76.patch b/media-gfx/librecad/files/librecad-2.1.3-boost-1.76.patch deleted file mode 100644 index 2500bab79b19..000000000000 --- a/media-gfx/librecad/files/librecad-2.1.3-boost-1.76.patch +++ /dev/null @@ -1,29 +0,0 @@ -From 1fd07fcd847659d518efa0897a9f603de83fe362 Mon Sep 17 00:00:00 2001 -From: Jiri Slaby <jslaby@suse.cz> -Date: Tue, 4 May 2021 09:25:03 +0200 -Subject: [PATCH] add boost tuple include to fix build - -With boost 1.76, we see: -lib/engine/rs_ellipse.cpp:70:15: error: 'tuple' in namespace 'boost::math' does not name a template type - 70 | boost::math::tuple<double, double, double> operator()(double const& z) const { - | ^~~~~ - -Fix this by including the proper boost header. ---- - librecad/src/lib/engine/rs_ellipse.cpp | 3 +++ - 1 file changed, 3 insertions(+) - -diff --git a/librecad/src/lib/engine/rs_ellipse.cpp b/librecad/src/lib/engine/rs_ellipse.cpp -index 291f734ea..d47bf6ca4 100644 ---- a/librecad/src/lib/engine/rs_ellipse.cpp -+++ b/librecad/src/lib/engine/rs_ellipse.cpp -@@ -48,6 +48,9 @@ - #include <boost/version.hpp> - #include <boost/math/tools/roots.hpp> - #include <boost/math/special_functions/ellint_2.hpp> -+#if BOOST_VERSION > 104500 -+#include <boost/math/tools/tuple.hpp> -+#endif - #endif - - namespace{ diff --git a/media-gfx/librecad/files/librecad-2.1.3-gcc-9.patch b/media-gfx/librecad/files/librecad-2.1.3-gcc-9.patch deleted file mode 100644 index f8214f29fab3..000000000000 --- a/media-gfx/librecad/files/librecad-2.1.3-gcc-9.patch +++ /dev/null @@ -1,209 +0,0 @@ -diff --git a/librecad/src/actions/rs_actiondrawcircletan1_2p.cpp b/librecad/src/actions/rs_actiondrawcircletan1_2p.cpp -index c14da00e4..f305408aa 100644 ---- a/librecad/src/actions/rs_actiondrawcircletan1_2p.cpp -+++ b/librecad/src/actions/rs_actiondrawcircletan1_2p.cpp -@@ -36,11 +36,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - #include "rs_preview.h" - #include "rs_debug.h" - --namespace{ --//list of entity types supported by current action --auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; --} -- - struct RS_ActionDrawCircleTan1_2P::Points { - std::vector<RS_Vector> points; - RS_CircleData cData; -diff --git a/librecad/src/actions/rs_actiondrawcircletan1_2p.h b/librecad/src/actions/rs_actiondrawcircletan1_2p.h -index a6f40a6ea..b5976c9f6 100644 ---- a/librecad/src/actions/rs_actiondrawcircletan1_2p.h -+++ b/librecad/src/actions/rs_actiondrawcircletan1_2p.h -@@ -79,6 +79,9 @@ class RS_ActionDrawCircleTan1_2P : public RS_PreviewActionInterface { - private: - struct Points; - std::unique_ptr<Points> pPoints; -+ -+ //list of entity types supported by current action -+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; - }; - - #endif -diff --git a/librecad/src/actions/rs_actiondrawcircletan2.cpp b/librecad/src/actions/rs_actiondrawcircletan2.cpp -index d0558f05b..820e42266 100644 ---- a/librecad/src/actions/rs_actiondrawcircletan2.cpp -+++ b/librecad/src/actions/rs_actiondrawcircletan2.cpp -@@ -33,10 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - #include "rs_preview.h" - #include "rs_debug.h" - --namespace { --auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; --} -- - struct RS_ActionDrawCircleTan2::Points { - RS_CircleData cData; - RS_Vector coord; -diff --git a/librecad/src/actions/rs_actiondrawcircletan2.h b/librecad/src/actions/rs_actiondrawcircletan2.h -index bed568970..5b2040e90 100644 ---- a/librecad/src/actions/rs_actiondrawcircletan2.h -+++ b/librecad/src/actions/rs_actiondrawcircletan2.h -@@ -77,6 +77,9 @@ class RS_ActionDrawCircleTan2 : public RS_PreviewActionInterface { - private: - struct Points; - std::unique_ptr<Points> pPoints; -+ -+ //list of entity types supported by current action -+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; - }; - - #endif -diff --git a/librecad/src/actions/rs_actiondrawcircletan2_1p.cpp b/librecad/src/actions/rs_actiondrawcircletan2_1p.cpp -index 324c16686..51cd29a19 100644 ---- a/librecad/src/actions/rs_actiondrawcircletan2_1p.cpp -+++ b/librecad/src/actions/rs_actiondrawcircletan2_1p.cpp -@@ -35,10 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - #include "rs_preview.h" - #include "rs_debug.h" - --namespace { --auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; --} -- - struct RS_ActionDrawCircleTan2_1P::Points { - RS_Vector point; - RS_CircleData cData; -diff --git a/librecad/src/actions/rs_actiondrawcircletan2_1p.h b/librecad/src/actions/rs_actiondrawcircletan2_1p.h -index 40c239037..e44a56c36 100644 ---- a/librecad/src/actions/rs_actiondrawcircletan2_1p.h -+++ b/librecad/src/actions/rs_actiondrawcircletan2_1p.h -@@ -73,6 +73,9 @@ class RS_ActionDrawCircleTan2_1P : public RS_PreviewActionInterface { - private: - struct Points; - std::unique_ptr<Points> pPoints; -+ -+ //list of entity types supported by current action -+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle}; - }; - - #endif -diff --git a/librecad/src/actions/rs_actiondrawcircletan3.cpp b/librecad/src/actions/rs_actiondrawcircletan3.cpp -index 026ed30e5..eaca13d63 100644 ---- a/librecad/src/actions/rs_actiondrawcircletan3.cpp -+++ b/librecad/src/actions/rs_actiondrawcircletan3.cpp -@@ -35,10 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - #include "rs_preview.h" - #include "rs_debug.h" - --namespace { --auto enTypeList={RS2::EntityArc, RS2::EntityCircle, RS2::EntityLine, RS2::EntityPoint}; --} -- - struct RS_ActionDrawCircleTan3::Points { - std::vector<RS_AtomicEntity*> circles; - std::shared_ptr<RS_CircleData> cData{std::make_shared<RS_CircleData>()}; -diff --git a/librecad/src/actions/rs_actiondrawcircletan3.h b/librecad/src/actions/rs_actiondrawcircletan3.h -index d0cabfa2d..3201c5f88 100644 ---- a/librecad/src/actions/rs_actiondrawcircletan3.h -+++ b/librecad/src/actions/rs_actiondrawcircletan3.h -@@ -78,6 +78,8 @@ class RS_ActionDrawCircleTan3 : public RS_PreviewActionInterface { - struct Points; - std::unique_ptr<Points> pPoints; - -+ //list of entity types supported by current action -+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityArc, RS2::EntityCircle, RS2::EntityLine, RS2::EntityPoint}; - }; - - #endif -diff --git a/librecad/src/actions/rs_actiondrawlinerelangle.cpp b/librecad/src/actions/rs_actiondrawlinerelangle.cpp -index 8415dd604..b9ce996fe 100644 ---- a/librecad/src/actions/rs_actiondrawlinerelangle.cpp -+++ b/librecad/src/actions/rs_actiondrawlinerelangle.cpp -@@ -38,11 +38,6 @@ - #include "rs_preview.h" - #include "rs_debug.h" - --namespace { --auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle, -- RS2::EntityEllipse}; --} -- - RS_ActionDrawLineRelAngle::RS_ActionDrawLineRelAngle( - RS_EntityContainer& container, - RS_GraphicView& graphicView, -diff --git a/librecad/src/actions/rs_actiondrawlinerelangle.h b/librecad/src/actions/rs_actiondrawlinerelangle.h -index 1e102792d..71e5185b7 100644 ---- a/librecad/src/actions/rs_actiondrawlinerelangle.h -+++ b/librecad/src/actions/rs_actiondrawlinerelangle.h -@@ -110,6 +110,9 @@ class RS_ActionDrawLineRelAngle : public RS_PreviewActionInterface { - * Is the angle fixed? - */ - bool fixedAngle; -+ -+ //list of entity types supported by current action -+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle,RS2::EntityEllipse}; - }; - - #endif -diff --git a/librecad/src/actions/rs_actiondrawlinetangent1.cpp b/librecad/src/actions/rs_actiondrawlinetangent1.cpp -index 197b0cb6c..47a93c766 100644 ---- a/librecad/src/actions/rs_actiondrawlinetangent1.cpp -+++ b/librecad/src/actions/rs_actiondrawlinetangent1.cpp -@@ -36,12 +36,6 @@ - #include "rs_preview.h" - #include "rs_debug.h" - --namespace{ --auto circleType={RS2::EntityArc, RS2::EntityCircle, -- RS2::EntityEllipse, RS2::EntitySplinePoints -- }; --} -- - RS_ActionDrawLineTangent1::RS_ActionDrawLineTangent1( - RS_EntityContainer& container, - RS_GraphicView& graphicView) -diff --git a/librecad/src/actions/rs_actiondrawlinetangent1.h b/librecad/src/actions/rs_actiondrawlinetangent1.h -index 0f76b3684..d20d302dd 100644 ---- a/librecad/src/actions/rs_actiondrawlinetangent1.h -+++ b/librecad/src/actions/rs_actiondrawlinetangent1.h -@@ -66,6 +66,12 @@ class RS_ActionDrawLineTangent1 : public RS_PreviewActionInterface { - std::unique_ptr<RS_Vector> point; - /** Chosen entity */ - RS_Entity* circle; -+ -+ //list of entity types supported by current action -+ const std::initializer_list<RS2::EntityType> circleType { RS2::EntityArc, -+ RS2::EntityCircle, -+ RS2::EntityEllipse, -+ RS2::EntitySplinePoints }; - }; - - #endif -diff --git a/librecad/src/actions/rs_actiondrawlinetangent2.cpp b/librecad/src/actions/rs_actiondrawlinetangent2.cpp -index fed3545e0..0f1600e53 100644 ---- a/librecad/src/actions/rs_actiondrawlinetangent2.cpp -+++ b/librecad/src/actions/rs_actiondrawlinetangent2.cpp -@@ -35,10 +35,6 @@ - #include "rs_preview.h" - #include "rs_debug.h" - --namespace{ --auto circleType={RS2::EntityArc, RS2::EntityCircle, RS2::EntityEllipse}; --} -- - RS_ActionDrawLineTangent2::RS_ActionDrawLineTangent2( - RS_EntityContainer& container, - RS_GraphicView& graphicView) -diff --git a/librecad/src/actions/rs_actiondrawlinetangent2.h b/librecad/src/actions/rs_actiondrawlinetangent2.h -index b0d884cd7..95d82465d 100644 ---- a/librecad/src/actions/rs_actiondrawlinetangent2.h -+++ b/librecad/src/actions/rs_actiondrawlinetangent2.h -@@ -68,6 +68,9 @@ class RS_ActionDrawLineTangent2 : public RS_PreviewActionInterface { - /** 2nd chosen entity */ - RS_Entity* circle2; - bool valid; -+ -+ //list of entity types supported by current action -+ const std::initializer_list<RS2::EntityType> circleType {RS2::EntityArc, RS2::EntityCircle, RS2::EntityEllipse}; - }; - - #endif diff --git a/media-gfx/librecad/files/librecad-2.1.3-qt-5.11.patch b/media-gfx/librecad/files/librecad-2.1.3-qt-5.11.patch deleted file mode 100644 index 0c61a66d8a1a..000000000000 --- a/media-gfx/librecad/files/librecad-2.1.3-qt-5.11.patch +++ /dev/null @@ -1,40 +0,0 @@ -From 6c392e903e162b9283e88f53006e929663f2e883 Mon Sep 17 00:00:00 2001 -From: Jiri Slaby <jslaby@suse.cz> -Date: Mon, 11 Jun 2018 10:44:00 +0200 -Subject: [PATCH] fix build with Qt 5.11 - -The new Qt removed some implicit inclusions of headers. To avoid build -errors, add explicit includes of those we use in the sources. - -Signed-off-by: Jiri Slaby <jslaby@suse.cz> ---- - librecad/src/ui/forms/qg_commandwidget.cpp | 1 + - librecad/src/ui/generic/colorwizard.cpp | 1 + - librecad/src/ui/generic/widgetcreator.cpp | 2 ++ - 3 files changed, 4 insertions(+) - -diff --git a/librecad/src/ui/forms/qg_commandwidget.cpp b/librecad/src/ui/forms/qg_commandwidget.cpp -index 835e47d67..2c878e833 100644 ---- a/librecad/src/ui/forms/qg_commandwidget.cpp -+++ b/librecad/src/ui/forms/qg_commandwidget.cpp -@@ -27,6 +27,7 @@ - ** - **********************************************************************/ - #include "qg_commandwidget.h" -+#include <QAction> - #include <QKeyEvent> - #include <algorithm> - -diff --git a/librecad/src/ui/generic/widgetcreator.cpp b/librecad/src/ui/generic/widgetcreator.cpp -index 7c35144ff..d51190842 100644 ---- a/librecad/src/ui/generic/widgetcreator.cpp -+++ b/librecad/src/ui/generic/widgetcreator.cpp -@@ -27,6 +27,8 @@ - #include "widgetcreator.h" - #include "ui_widgetcreator.h" - -+#include <QAction> -+#include <QActionGroup> - #include <QSettings> - #include <QLineEdit> - #include <QPushButton> diff --git a/media-gfx/librecad/files/librecad-2.1.3-qt-5.15.patch b/media-gfx/librecad/files/librecad-2.1.3-qt-5.15.patch deleted file mode 100644 index a1cfe62408f9..000000000000 --- a/media-gfx/librecad/files/librecad-2.1.3-qt-5.15.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 81741a875847c806c05f0f3a4610e69b3c3002aa Mon Sep 17 00:00:00 2001 -From: Andreas Sturmlechner <asturm@gentoo.org> -Date: Wed, 20 May 2020 14:12:15 +0200 -Subject: [PATCH] Fix build with Qt 5.15 (missing QPainterPath include) - ---- - librecad/src/lib/engine/lc_splinepoints.cpp | 1 + - librecad/src/lib/gui/rs_painterqt.h | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/librecad/src/lib/engine/lc_splinepoints.cpp b/librecad/src/lib/engine/lc_splinepoints.cpp -index 5eaed81b..e6324ec1 100644 ---- a/librecad/src/lib/engine/lc_splinepoints.cpp -+++ b/librecad/src/lib/engine/lc_splinepoints.cpp -@@ -21,6 +21,7 @@ along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - **********************************************************************/ - -+#include <QPainterPath> - #include <QPolygonF> - #include "lc_splinepoints.h" - -diff --git a/librecad/src/lib/gui/rs_painterqt.h b/librecad/src/lib/gui/rs_painterqt.h -index 878753cb..a0b432e0 100644 ---- a/librecad/src/lib/gui/rs_painterqt.h -+++ b/librecad/src/lib/gui/rs_painterqt.h -@@ -29,6 +29,7 @@ - #define RS_PAINTERQT_H - - #include <QPainter> -+#include <QPainterPath> - - #include "rs_painter.h" - #include "rs_pen.h" --- -2.26.2 - diff --git a/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch b/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch deleted file mode 100644 index 3caec03b011a..000000000000 --- a/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch +++ /dev/null @@ -1,29 +0,0 @@ -The patch is borrowed from upstream https://github.com/LibreCAD/LibreCAD - -https://github.com/LibreCAD/LibreCAD/commit/6e0f1556bbd554e528295f92597a80a109344607 - -https://bugs.gentoo.org/919822 - -commit 6e0f1556bbd554e528295f92597a80a109344607 -Author: Denis Pronin <dannftk@yandex.ru> -Date: Sun Jun 2 22:23:11 2024 +0300 - - fix compilation with clang and llvm's libcxx - - librecad/src/lib/debug/rs_debug.h requires cstdio to be included because of FILE - type being used - - Signed-off-by: Denis Pronin <dannftk@yandex.ru> - -diff --git a/librecad/src/lib/debug/rs_debug.h b/librecad/src/lib/debug/rs_debug.h -index 23918574..8950efcc 100644 ---- a/librecad/src/lib/debug/rs_debug.h -+++ b/librecad/src/lib/debug/rs_debug.h -@@ -28,6 +28,7 @@ - #ifndef RS_DEBUG_H - #define RS_DEBUG_H - -+#include <cstdio> - #include <iosfwd> - #ifdef __hpux - #include <sys/_size_t.h> diff --git a/media-gfx/librecad/librecad-2.1.3-r7.ebuild b/media-gfx/librecad/librecad-2.1.3-r7.ebuild deleted file mode 100644 index 3edea50eab0b..000000000000 --- a/media-gfx/librecad/librecad-2.1.3-r7.ebuild +++ /dev/null @@ -1,99 +0,0 @@ -# Copyright 1999-2023 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -PLOCALES="ar ca cs da de el en en_au es es_ar es_bo es_cl es_co es_cr es_do es_ec es_gt es_hn es_mx es_ni es_pa es_pe es_pr es_py es_sv es_us es_uy es_ve et eu fi fr gl hi hu id_ID it ja ko lv nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sv ta tr uk zh_cn zh_tw" - -inherit desktop edo plocale qmake-utils - -DESCRIPTION="Generic 2D CAD program" -HOMEPAGE="https://www.librecad.org/" - -if [[ ${PV} == *9999* ]]; then - EGIT_REPO_URI="https://github.com/LibreCAD/LibreCAD.git" - inherit git-r3 -else - SRC_URI="https://github.com/LibreCAD/LibreCAD/archive/${PV/_/}.tar.gz -> ${P}.tar.gz - https://github.com/Fat-Zer/librecad-gentoo-CVE-patches/archive/v${PV/_/}.tar.gz -> librecad-gentoo-CVE-patches-${PV}.tar.gz - " - S="${WORKDIR}/LibreCAD-${PV}" - KEYWORDS="amd64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" -fi - -LICENSE="GPL-2" -SLOT="0" -IUSE="debug doc tools" - -RDEPEND=" - dev-cpp/muParser - dev-libs/boost:= - dev-qt/qtcore:5 - dev-qt/qtgui:5 - dev-qt/qtprintsupport:5 - dev-qt/qtsvg:5 - dev-qt/qtwidgets:5 - media-libs/freetype:2 -" -DEPEND="${RDEPEND} - dev-qt/qthelp:5 - dev-qt/qtxml:5 -" -BDEPEND=" - dev-qt/linguist-tools:5 -" - -PATCHES=( - "${FILESDIR}/${P}-qt-5.11.patch" - "${FILESDIR}/${P}-gcc-9.patch" - "${FILESDIR}/${P}-qt-5.15.patch" - "${FILESDIR}/${P}-boost-1.76.patch" # bug 788706, upstream PR#1345 -) - -src_prepare() { - default - - # Note: the CVE patches are borrowed from debian packaging; some of the - # patches are too big for the tree; move them to a separate repo/ - # see bug #825362 and bug #832210 - eapply "${WORKDIR}/librecad-gentoo-CVE-patches-${PV}" - - # Stock script doesn't work correctly on gentoo (see bug #847394) - # and also it compiles all translations regardles of selected locales. - # To avoid this just comment out locale building and do it manually - sed -i -e '/LRELEASE/s!^!# !' scripts/postprocess-unix.sh || die - - plocale_find_changes 'librecad/ts' 'librecad_' '.ts' -} - -src_configure() { - eqmake5 -r -} - -src_compile() { - default - - build_locale() { - local lrelease="$(qt5_get_bindir)/lrelease" - edo "${lrelease}" "librecad/ts/librecad_${1}.ts" \ - -qm "unix/resources/qm/librecad_${1}.qm" - edo "${lrelease}" "plugins/ts/plugins_${1}.ts" \ - -qm "unix/resources/qm/plugins_${1}.qm" - } - - plocale_for_each_locale build_locale - # We want the en locale to be always present. Otherwise it could - # be impossible to select the English command set which is quite crucial. - has en $(plocale_get_locales) || build_locale en -} - -src_install() { - dobin unix/librecad - use tools && dobin unix/ttf2lff - insinto /usr/share/${PN} - doins -r unix/resources/* - use doc && docinto html && dodoc -r librecad/support/doc/* - insinto /usr/share/metainfo - doins unix/appdata/librecad.appdata.xml - doicon librecad/res/main/${PN}.png - make_desktop_entry ${PN} LibreCAD ${PN} Graphics -} diff --git a/media-gfx/librecad/librecad-2.2.0.ebuild b/media-gfx/librecad/librecad-2.2.1.ebuild index f86b8253e177..c143a61d0fa3 100644 --- a/media-gfx/librecad/librecad-2.2.0.ebuild +++ b/media-gfx/librecad/librecad-2.2.1.ebuild @@ -1,8 +1,8 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PLOCALES="ar ca cs da de el en en_au es es_ar es_bo es_cl es_co es_cr es_do es_ec es_gt es_hn es_mx es_ni es_pa es_pe es_pr es_py es_sv es_us es_uy es_ve et eu fi fr gl hi hu id_ID it ja ko lv mk nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sv ta tr uk zh_cn zh_tw" +PLOCALES="ar ca cs da de el en en_au es es_ar es_bo es_cl es_co es_cr es_do es_ec es_gt es_hn es_mx es_ni es_pa es_pe es_pr es_py es_sv es_us es_uy es_ve et eu fi fr gl he hi hu id_ID it ja ka ko lv mk nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sr sv ta th tr uk zh_cn zh_tw" inherit desktop edo plocale qmake-utils @@ -15,7 +15,7 @@ if [[ ${PV} == *9999* ]]; then else SRC_URI="https://github.com/LibreCAD/LibreCAD/archive/${PV/_/}.tar.gz -> ${P}.tar.gz" S="${WORKDIR}/LibreCAD-${PV}" - KEYWORDS="amd64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux" + KEYWORDS="~amd64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" fi LICENSE="GPL-2" @@ -40,10 +40,6 @@ BDEPEND=" dev-qt/linguist-tools:5 " -PATCHES=( - "${FILESDIR}/${P}-fix-missing-header.patch" -) - src_prepare() { default diff --git a/media-gfx/libredwg/libredwg-0.13.2.ebuild b/media-gfx/libredwg/libredwg-0.13.2.ebuild index 57215dfb3169..33c41174dd0d 100644 --- a/media-gfx/libredwg/libredwg-0.13.2.ebuild +++ b/media-gfx/libredwg/libredwg-0.13.2.ebuild @@ -41,7 +41,7 @@ DEPEND="${RDEPEND} " BDEPEND="|| ( sys-devel/gcc[sanitize] - sys-libs/compiler-rt-sanitizers[asan(-)] + llvm-runtimes/compiler-rt-sanitizers[asan(-)] ) dev-vcs/git " diff --git a/media-gfx/libredwg/libredwg-0.13.3.ebuild b/media-gfx/libredwg/libredwg-0.13.3.ebuild index d29a75a7f99d..1f179a250623 100644 --- a/media-gfx/libredwg/libredwg-0.13.3.ebuild +++ b/media-gfx/libredwg/libredwg-0.13.3.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2024 Gentoo Authors +# Copyright 1999-2025 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{10..12} ) +PYTHON_COMPAT=( python3_{10..13} ) DOCS_BUILDER="doxygen" # File is hardcoded to be run from ../ so we use this instead of DOCS_DIR DOCS_CONFIG_NAME="doc/Doxyfile" @@ -23,12 +23,12 @@ 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} )" +# https://github.com/LibreDWG/libredwg/issues/342 +RESTRICT="test" + RDEPEND=" python? ( ${PYTHON_DEPS} ) perl? ( dev-lang/perl ) @@ -41,7 +41,7 @@ DEPEND="${RDEPEND} " BDEPEND="|| ( sys-devel/gcc[sanitize] - sys-libs/compiler-rt-sanitizers[asan(-)] + llvm-runtimes/compiler-rt-sanitizers[asan(-)] ) dev-vcs/git " diff --git a/media-gfx/libredwg/libredwg-0.13.ebuild b/media-gfx/libredwg/libredwg-0.13.ebuild index 57215dfb3169..33c41174dd0d 100644 --- a/media-gfx/libredwg/libredwg-0.13.ebuild +++ b/media-gfx/libredwg/libredwg-0.13.ebuild @@ -41,7 +41,7 @@ DEPEND="${RDEPEND} " BDEPEND="|| ( sys-devel/gcc[sanitize] - sys-libs/compiler-rt-sanitizers[asan(-)] + llvm-runtimes/compiler-rt-sanitizers[asan(-)] ) dev-vcs/git " diff --git a/media-gfx/libredwg/metadata.xml b/media-gfx/libredwg/metadata.xml index 3ee54dba5bc7..b878dd47ab8e 100644 --- a/media-gfx/libredwg/metadata.xml +++ b/media-gfx/libredwg/metadata.xml @@ -2,8 +2,8 @@ <!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> <pkgmetadata> <maintainer type="person"> - <email>andrewammerlaan@gentoo.org</email> - <name>Andrew Ammerlaan</name> + <email>nowa@gentoo.org</email> + <name>Nowa Ammerlaan</name> </maintainer> <upstream> <remote-id type="github">LibreDWG/libredwg</remote-id> diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-clamp-redefinition.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-clamp-redefinition.patch new file mode 100644 index 000000000000..121a4403b688 --- /dev/null +++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-clamp-redefinition.patch @@ -0,0 +1,18 @@ +diff --git a/src/Libpfs/manip/gamma_levels.cpp b/src/Libpfs/manip/gamma_levels.cpp +index 67975111..c0fb1798 100644 +--- a/src/Libpfs/manip/gamma_levels.cpp ++++ b/src/Libpfs/manip/gamma_levels.cpp +@@ -31,13 +31,6 @@ + + namespace { + +-template <typename T> +-inline T clamp(const T &v, const T &lower_bound, const T &upper_bound) { +- if (v <= lower_bound) return lower_bound; +- if (v >= upper_bound) return upper_bound; +- return v; +-} +- + ////! \note I assume that *in* contains only value between [0,1] + // void gamma_levels_array(const pfs::Array2D* in, pfs::Array2D* out, + // float black_in, float white_in, diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-compilersettings-and-openmp.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-compilersettings-and-openmp.patch new file mode 100644 index 000000000000..3d3d59bb0166 --- /dev/null +++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-compilersettings-and-openmp.patch @@ -0,0 +1,82 @@ +From b44ecdcbfdf4ee1eca2fdb431dfb7dfd63cc8b1f Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Tue, 21 Jan 2025 21:37:28 +0100 +Subject: [PATCH] CMake: Cleanup CompilerSettings.cmake + +>C++11 is a given, so don't tie down to now old standard; +fixes build w/ boost-1.87 + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + build_files/Modules/CompilerSettings.cmake | 49 ++++------------------ + 1 file changed, 8 insertions(+), 41 deletions(-) + +diff --git a/build_files/Modules/CompilerSettings.cmake b/build_files/Modules/CompilerSettings.cmake +index 76dbc219..5e25a718 100644 +--- a/build_files/Modules/CompilerSettings.cmake ++++ b/build_files/Modules/CompilerSettings.cmake +@@ -9,53 +9,20 @@ ADD_DEFINITIONS(-march=core2) + ENDIF() + ENDIF() + +-#Activate C++11 support, when available +-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") +- add_definitions(-DBRANCH_PREDICTION) +- execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) +- if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7) +- message(STATUS "C++11 activated for GCC ${GCC_VERSION}") +- set(CMAKE_CXX_STANDARD 11) +- add_definitions(-DLHDR_CXX11_ENABLED) +- elseif(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3) +- message(WARNING "C++0x activated for GCC ${GCC_VERSION}. If you get any errors update to a compiler that fully supports C++11") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") # add_definitions("-std=gnu++0x") +- add_definitions(-DLHDR_CXX11_ENABLED) +- else() +- message(WARNING "C++11 NOT available. GCC >= 4.3 is needed.") +- endif() +-elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") +- message(STATUS "C++11 activated for Clang") +- set(CMAKE_CXX_STANDARD 11) ++set(CMAKE_CXX_STANDARD 20) ++add_definitions(-DLHDR_CXX11_ENABLED) ++add_definitions(-DBRANCH_PREDICTION) ++if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") + if (APPLE) + set(CMAKE_EXE_LINKER_FLAGS "-lc++abi -stdlib=libc++ -rpath @loader_path/../Frameworks/") +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") + endif() +- add_definitions(-DLHDR_CXX11_ENABLED) +- add_definitions(-DBRANCH_PREDICTION) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnull-dereference -Wdelete-non-virtual-dtor -Wsign-compare -Wswitch") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wreturn-type -Wself-assign -Wunused-argument -Wunused-function -Wtautological-compare") +- #OpenMP support under Linux with clang +- if (UNIX) +- FIND_PACKAGE(OpenMP REQUIRED) +- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") +- endif() +-elseif(MSVC) +- message(STATUS "C++11 is active by default on Microsoft Visual Studio") +- add_definitions(-DLHDR_CXX11_ENABLED) +-else() +- message(WARNING "Your C++ compiler does not support C++11.") + endif() +-#OpenMP Support under Linux, Windows with MSVC & MacOS X with GCC >= 4.3 +-IF(MSVC) +- FIND_PACKAGE(OpenMP REQUIRED) +- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") +- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") +-ELSEIF(CMAKE_COMPILER_IS_GNUCC AND UNIX) +- EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) +- IF(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3) +- MESSAGE(STATUS "GCC >= 4.3") ++ ++OPTION(USE_OPENMP "Use openmp threading support." ON) ++IF(USE_OPENMP) ++ IF(MSVC OR UNIX) + FIND_PACKAGE(OpenMP REQUIRED) + SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") + SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") +-- +2.45.3 + diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-no-qtwebengine.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-no-qtwebengine.patch new file mode 100644 index 000000000000..1d0865875259 --- /dev/null +++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-no-qtwebengine.patch @@ -0,0 +1,213 @@ +From 94f7edf3712b735219eb31eda71b7e188d718bdd Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Tue, 21 Jan 2025 19:35:21 +0100 +Subject: [PATCH 1/2] CMake: UI: Drop bogus Qt5WebKit/Qt5WebEngineWidgets + dependency + +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + src/UI/CMakeLists.txt | 10 +--------- + 1 file changed, 1 insertion(+), 9 deletions(-) + +diff --git a/src/UI/CMakeLists.txt b/src/UI/CMakeLists.txt +index 96df52b4..4f6cb53e 100644 +--- a/src/UI/CMakeLists.txt ++++ b/src/UI/CMakeLists.txt +@@ -50,14 +50,6 @@ QT5_WRAP_CPP(FILES_MOC ${FILES_H}) + QT5_WRAP_UI(FILES_UI_H ${FILES_UI}) + + ADD_LIBRARY(ui STATIC ${FILES_H} ${FILES_CPP} ${FILES_MOC} ${FILES_UI_H}) +-IF(MINGW) +- TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebKitWidgets Qt5::Sql) +-ELSE() +- IF(Qt5WebEngineCore_FOUND) +- TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebEngineWidgets Qt5::Sql) +- ELSE() +- TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebKitWidgets Qt5::Sql) +- ENDIF() +-ENDIF() ++TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::Sql) + SET(FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${FILES_CPP} ${FILES_H} ${FILES_UI} PARENT_SCOPE) + SET(LUMINANCE_MODULES_GUI ${LUMINANCE_MODULES_GUI} ui PARENT_SCOPE) +-- +2.45.3 + + +From d3e354dba3e1e20d5bcf3d97222d951b857bcb23 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <asturm@gentoo.org> +Date: Mon, 20 Jan 2025 18:18:16 +0100 +Subject: [PATCH 2/2] CMake: Hard-disable helpbrowser (with it Qt5WebEngine) + +Gentoo-bug: https://bugs.gentoo.org/926664 +Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org> +--- + CMakeLists.txt | 32 +++++++++++++++++++------------- + src/CMakeLists.txt | 4 +++- + src/MainWindow/MainWindow.cpp | 8 ++++++++ + src/MainWindow/MainWindow.h | 4 ++++ + src/MainWindow/MainWindow.ui | 1 + + 5 files changed, 35 insertions(+), 14 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3c8b093f..5f0aaa6d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -59,6 +59,8 @@ else( HAS_BRANCH_PREDICTION ) + set( BRANCH_PREDICTION 0 ) + endif( HAS_BRANCH_PREDICTION ) + ++option(WITH_HELPBROWSER "Build help browser" ON) ++ + # find and setup Qt5 for this project + + find_package(Qt5Core REQUIRED) +@@ -69,13 +71,15 @@ find_package(Qt5Gui REQUIRED) + # https://wiki.qt.io/New-Features-in-Qt-5.5#Deprecated_Functionality. Unfortunately, + # some Qt distributions still provide QtWebKit instead of QtWebEngine. So first we + # try to find QtWebEngine and if not found, we fall back to QtWebKit. +-find_package(Qt5WebEngineCore QUIET) +-if(Qt5WebEngineCore_FOUND) +- find_package(Qt5WebEngineWidgets REQUIRED) +-else() +- find_package(Qt5WebKit REQUIRED) +- find_package(Qt5WebKitWidgets REQUIRED) +- add_definitions(-DUSE_DEPRECATED_QTWEBKIT) ++if(WITH_HELPBROWSER) ++ find_package(Qt5WebEngineCore QUIET) ++ if(Qt5WebEngineCore_FOUND) ++ find_package(Qt5WebEngineWidgets REQUIRED) ++ else() ++ find_package(Qt5WebKit REQUIRED) ++ find_package(Qt5WebKitWidgets REQUIRED) ++ add_definitions(-DUSE_DEPRECATED_QTWEBKIT) ++ endif() + endif() + find_package(Qt5Xml REQUIRED) + find_package(Qt5Sql REQUIRED) +@@ -96,12 +100,14 @@ set(LIBS ${LIBS} + ${QT_QTCORE_LIBRARIES} ${QT_QTGUI_LIBRARIES} ${QT_QTNETWORK_LIBRARIES} + ${QT_QTXML_LIBRARIES} ${QT_QTSQL_LIBRARIES}) + +-if(Qt5WebEngineCore_FOUND) +- message(STATUS "Building with QtWebEngine") +- set(LIBS ${LIBS} ${QT_QTWEBENGINE_LIBRARIES}) +-else() +- message(STATUS "Building with QtWebKit") +- set(LIBS ${LIBS} ${QT_QTWEBKIT_LIBRARIES}) ++if(WITH_HELPBROWSER) ++ if(Qt5WebEngineCore_FOUND) ++ message(STATUS "Building with QtWebEngine") ++ set(LIBS ${LIBS} ${QT_QTWEBENGINE_LIBRARIES}) ++ else() ++ message(STATUS "Building with QtWebKit") ++ set(LIBS ${LIBS} ${QT_QTWEBKIT_LIBRARIES}) ++ endif() + endif() + + FIND_PACKAGE(Git) +diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt +index a5757bb9..8221c7ec 100644 +--- a/src/CMakeLists.txt ++++ b/src/CMakeLists.txt +@@ -22,7 +22,9 @@ ADD_SUBDIRECTORY(Exif) + ADD_SUBDIRECTORY(Fileformat) + ADD_SUBDIRECTORY(Alignment) + ADD_SUBDIRECTORY(HdrWizard) +-ADD_SUBDIRECTORY(HelpBrowser) ++if(WITH_HELPBROWSER) ++ ADD_SUBDIRECTORY(HelpBrowser) ++endif() + ADD_SUBDIRECTORY(Preferences) + ADD_SUBDIRECTORY(Projection) + ADD_SUBDIRECTORY(Resize) +diff --git a/src/MainWindow/MainWindow.cpp b/src/MainWindow/MainWindow.cpp +index 6459229a..b49d3d14 100644 +--- a/src/MainWindow/MainWindow.cpp ++++ b/src/MainWindow/MainWindow.cpp +@@ -98,7 +98,9 @@ + #include <HdrWizard/AutoAntighosting.h> + #include <HdrWizard/HdrWizard.h> + #include <HdrWizard/WhiteBalance.h> ++#ifdef WITH_HELPBROWSER + #include <HelpBrowser/helpbrowser.h> ++#endif + #include <LibpfsAdditions/formathelper.h> + #include <Preferences/PreferencesDialog.h> + #include <PreviewPanel/PreviewPanel.h> +@@ -208,7 +210,9 @@ int MainWindow::sm_counter = 0; + QMap<int, MainWindow *> MainWindow::sm_mainWindowMap = + QMap<int, MainWindow *>(); + QScopedPointer<UpdateChecker> MainWindow::sm_updateChecker; ++#ifdef WITH_HELPBROWSER + HelpBrowser *MainWindow::sm_helpBrowser = nullptr; ++#endif + + MainWindow::MainWindow(QWidget *parent) + : QMainWindow(parent), +@@ -1059,6 +1063,7 @@ void MainWindow::on_normalSizeAct_triggered() { + } + // Zoom = Viewers (END) + ++#ifdef WITH_HELPBROWSER + void MainWindow::on_documentationAction_triggered() { + if (sm_helpBrowser == nullptr) { + sm_helpBrowser = +@@ -1079,6 +1084,7 @@ void MainWindow::on_documentationAction_triggered() { + void MainWindow::helpBrowserClosed() { + sm_helpBrowser = nullptr; + } ++#endif + + void MainWindow::enterWhatsThis() { QWhatsThis::enterWhatsThisMode(); } + +@@ -1451,9 +1457,11 @@ void MainWindow::closeEvent(QCloseEvent *event) { + } + sm_NumMainWindows--; + if (sm_NumMainWindows == 0) { ++#ifdef WITH_HELPBROWSER + if (sm_helpBrowser) { + sm_helpBrowser->close(); + } ++#endif + } + + if (sm_NumMainWindows == 0) { +diff --git a/src/MainWindow/MainWindow.h b/src/MainWindow/MainWindow.h +index 029cf813..68aa2fd4 100644 +--- a/src/MainWindow/MainWindow.h ++++ b/src/MainWindow/MainWindow.h +@@ -146,7 +146,9 @@ class MainWindow : public QMainWindow { + void on_normalSizeAct_triggered(); + void updateMagnificationButtons(GenericViewer *); + ++#ifdef WITH_HELPBROWSER + void on_documentationAction_triggered(); ++#endif + void enterWhatsThis(); + + void on_OptionsAction_triggered(); +@@ -180,7 +182,9 @@ class MainWindow : public QMainWindow { + void enableCrop(bool); + void disableCrop(); + ++#ifdef WITH_HELPBROWSER + void helpBrowserClosed(); ++#endif + void on_actionDonate_triggered(); + + void onUpdateAvailable(); +diff --git a/src/MainWindow/MainWindow.ui b/src/MainWindow/MainWindow.ui +index 775bfb2c..e4734a43 100644 +--- a/src/MainWindow/MainWindow.ui ++++ b/src/MainWindow/MainWindow.ui +@@ -423,6 +423,7 @@ + </property> + </action> + <action name="documentationAction"> ++ <property name="enabled"><bool>false</bool></property> + <property name="icon"> + <iconset theme="help-contents"> + <normaloff>.</normaloff>.</iconset> +-- +2.45.3 + diff --git a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild index 654ceee61524..31a315e6724e 100644 --- a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild +++ b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild @@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/qtpfsgui/${P/_/.}.tar.bz2" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="amd64" IUSE="cpu_flags_x86_sse2 fits openmp test" RESTRICT="!test? ( test )" diff --git a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild new file mode 100644 index 000000000000..69be0239138b --- /dev/null +++ b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2025 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake toolchain-funcs xdg-utils + +DESCRIPTION="Graphical user interface that provides a workflow for HDR imaging" +HOMEPAGE="http://qtpfsgui.sourceforge.net https://github.com/LuminanceHDR/LuminanceHDR" +SRC_URI="https://downloads.sourceforge.net/qtpfsgui/${P/_/.}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64" +IUSE="fits openmp test" +RESTRICT="!test? ( test )" + +RDEPEND=" + dev-libs/boost:= + dev-qt/qtconcurrent:5 + dev-qt/qtcore:5 + dev-qt/qtdeclarative:5 + dev-qt/qtgui:5 + dev-qt/qtnetwork:5 + dev-qt/qtprintsupport:5 + dev-qt/qtsql:5 + dev-qt/qtsvg:5 + dev-qt/qtwidgets:5 + dev-qt/qtxml:5 + media-gfx/exiv2:= + media-libs/lcms:2 + media-libs/libjpeg-turbo:= + media-libs/libpng:= + media-libs/libraw:= + >=media-libs/openexr-3:0= + media-libs/tiff:= + sci-libs/fftw:3.0=[threads] + sci-libs/gsl:= + fits? ( sci-libs/cfitsio:= ) +" +DEPEND="${RDEPEND} + dev-cpp/eigen:3 + test? ( dev-cpp/gtest ) +" +BDEPEND="dev-qt/linguist-tools:5" + +PATCHES=( + "${FILESDIR}"/${P}-openexr3.patch + "${FILESDIR}"/${P}-fixheaders.patch + "${FILESDIR}"/${PN}-2.6.0-cmake.patch + "${FILESDIR}"/${PN}-2.6.0-no-git.patch + "${FILESDIR}"/${PN}-2.6.0-docs.patch + "${FILESDIR}"/${PN}-2.6.1.1-boost-1.85.patch + # downstream; fix build w/ boost-1.87, openmp automagic + "${FILESDIR}"/${P}-clamp-redefinition.patch + "${FILESDIR}"/${P}-compilersettings-and-openmp.patch + # patch by ArchLinux + "${FILESDIR}"/${P}-exiv2-0.28.patch + # inspired by FreeBSD + "${FILESDIR}"/${P}-no-qtwebengine.patch +) + +pkg_pretend() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +pkg_setup() { + [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp +} + +src_configure() { + local mycmakeargs=( + -DWITH_HELPBROWSER=OFF + $(cmake_use_find_package fits CFITSIO) + -DUSE_OPENMP="$(usex openmp)" + ) + cmake_src_configure +} + +src_install() { + cmake_src_install + + mkdir -p "${D}/usr/share/metainfo" || die + mv "${D}/usr/share/appdata/"* "${D}/usr/share/metainfo/" || die + rmdir "${D}/usr/share/appdata" || die +} + +pkg_postinst() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} + +pkg_postrm() { + xdg_icon_cache_update + xdg_desktop_database_update + xdg_mimeinfo_database_update +} diff --git a/media-gfx/lximage-qt/Manifest b/media-gfx/lximage-qt/Manifest index 91b1d05bf5f2..eca46bfea59f 100644 --- a/media-gfx/lximage-qt/Manifest +++ b/media-gfx/lximage-qt/Manifest @@ -1,2 +1,2 @@ -DIST lximage-qt-1.4.0.tar.xz 841028 BLAKE2B d5f76bfe9763807e8e836de43ff433a1553cea0858b61e76411017ee239fbec6dfd9d3776322b60da6ad8b6b9b1b30c6a02a8c494b62eef440f4d8c5ab9e7143 SHA512 c0dea9418890745de685c7df228ceb849fa21781764c2089481bea89526842e5e8f0972e032ba9c52b07c32202ed284d977f47ace598c44880dff661d76cd125 DIST lximage-qt-2.0.1.tar.xz 848348 BLAKE2B d2484baffaae220436ae157dccda86e126b416101f047133f494cb44d9c3bba007ce797c1aa88d21ba4b242abdf8cacf73706831570943e4d7a36eb02591fc7b SHA512 594e86a4bedf3f9689107d79d852ba1ef4db83f06572b8c077ed5850dc10cc05a33fe79a0c05632f7e7541a6f895919b72c264635306f7a468eac6ecde531ba4 +DIST lximage-qt-2.1.0.tar.xz 852988 BLAKE2B 76b9e5b87ed216474c28b8f9f5ceddb012b83c5239c506ebd51e306c53ffdbe84da44f6c752c17dc26be0705ce6a23d7dcd25d93b608089dfe580b069e37c40c SHA512 f94f6ee07e83524ac37f2377d5e5fec4926e2fdd33af67213cbe91ce1e40215774c2a79b81f16ac9d88e44e8bb55750a48cc4d68266d03d9c8973e1319f393c5 diff --git a/media-gfx/lximage-qt/lximage-qt-1.4.0.ebuild b/media-gfx/lximage-qt/lximage-qt-1.4.0.ebuild deleted file mode 100644 index c2f34e8d274b..000000000000 --- a/media-gfx/lximage-qt/lximage-qt-1.4.0.ebuild +++ /dev/null @@ -1,54 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 - -MY_PV="$(ver_cut 1-2)" - -inherit cmake xdg-utils - -DESCRIPTION="Qt Image Viewer" -HOMEPAGE="https://lxqt-project.org/" - -if [[ ${PV} = *9999* ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/lxqt/${PN}.git" -else - SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz" - KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86" -fi - -LICENSE="GPL-2 GPL-2+" -SLOT="0" - -BDEPEND=" - >=dev-qt/linguist-tools-5.15:5 - >=dev-util/lxqt-build-tools-0.13.0 - virtual/pkgconfig -" -DEPEND=" - dev-libs/glib:2 - >=dev-qt/qtcore-5.15:5 - >=dev-qt/qtdbus-5.15:5 - >=dev-qt/qtgui-5.15:5 - >=dev-qt/qtnetwork-5.15:5 - >=dev-qt/qtprintsupport-5.15:5 - >=dev-qt/qtsvg-5.15:5 - >=dev-qt/qtwidgets-5.15:5 - >=dev-qt/qtx11extras-5.15:5 - media-libs/libexif - =x11-libs/libfm-qt-${MY_PV}*:= - x11-libs/libX11 - x11-libs/libXfixes -" -RDEPEND="${DEPEND}" - -pkg_postinst() { - xdg_desktop_database_update - xdg_icon_cache_update -} - -pkg_postrm() { - xdg_desktop_database_update - xdg_icon_cache_update -} diff --git a/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild b/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild new file mode 100644 index 000000000000..0c866b89aefd --- /dev/null +++ b/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +MY_PV="$(ver_cut 1-2)" + +inher |