summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/aewan/aewan-1.0.01-r1.ebuild4
-rw-r--r--media-gfx/aewan/aewan-1.0.01-r2.ebuild4
-rw-r--r--media-gfx/apng2gif/apng2gif-1.8.ebuild4
-rw-r--r--media-gfx/apngdis/apngdis-2.9.ebuild4
-rw-r--r--media-gfx/apngopt/apngopt-1.4-r1.ebuild4
-rw-r--r--media-gfx/argyllcms/Manifest1
-rw-r--r--media-gfx/argyllcms/argyllcms-3.2.0.ebuild96
-rw-r--r--media-gfx/arss/arss-0.2.3-r1.ebuild2
-rw-r--r--media-gfx/asymptote/asymptote-2.86.ebuild2
-rw-r--r--media-gfx/asymptote/asymptote-2.89.ebuild2
-rw-r--r--media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild4
-rw-r--r--media-gfx/aview/aview-1.3.0_rc1-r3.ebuild4
-rw-r--r--media-gfx/blender/Manifest1
-rw-r--r--media-gfx/blender/blender-3.3.15.ebuild4
-rw-r--r--media-gfx/blender/blender-3.3.8.ebuild4
-rw-r--r--media-gfx/blender/blender-3.6.8.ebuild4
-rw-r--r--media-gfx/blender/blender-4.0.2-r1.ebuild (renamed from media-gfx/blender/blender-4.0.2.ebuild)209
-rw-r--r--media-gfx/blender/blender-4.1.1.ebuild586
-rw-r--r--media-gfx/blender/blender-9999.ebuild210
-rw-r--r--media-gfx/blender/files/blender-4.0.1-openvdb-11.patch2
-rw-r--r--media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch14
-rw-r--r--media-gfx/blender/files/blender-4.0.2-FindClang.patch14
-rw-r--r--media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch342
-rw-r--r--media-gfx/blender/metadata.xml10
-rw-r--r--media-gfx/digikam/Manifest1
-rw-r--r--media-gfx/digikam/digikam-8.2.0.ebuild162
-rw-r--r--media-gfx/digikam/digikam-8.3.0.ebuild2
-rw-r--r--media-gfx/digikam/files/digikam-8.2.0-akonadi.patch95
-rw-r--r--media-gfx/digikam/files/digikam-8.2.0-cmake.patch181
-rw-r--r--media-gfx/digikam/metadata.xml2
-rw-r--r--media-gfx/enblend/Manifest1
-rw-r--r--media-gfx/enblend/enblend-4.2.0_p20240424.ebuild92
-rw-r--r--media-gfx/enblend/files/enblend-4.2.0_p20240424-doc-install-dir-fix.patch45
-rw-r--r--media-gfx/exiv2/exiv2-0.28.2-r1.ebuild (renamed from media-gfx/exiv2/exiv2-0.28.2.ebuild)13
-rw-r--r--media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild2
-rw-r--r--media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch174
-rw-r--r--media-gfx/fontforge/fontforge-20230101-r1.ebuild111
-rw-r--r--media-gfx/fontforge/fontforge-20230101.ebuild4
-rw-r--r--media-gfx/fotocx/Manifest5
-rw-r--r--media-gfx/fotocx/files/fotocx-24.11-documentation.patch27
-rw-r--r--media-gfx/fotocx/files/fotoxx-22.18-documentation.patch23
-rw-r--r--media-gfx/fotocx/files/fotoxx-22.82-documentation.patch27
-rw-r--r--media-gfx/fotocx/fotocx-23.70.ebuild81
-rw-r--r--media-gfx/fotocx/fotocx-23.82.ebuild81
-rw-r--r--media-gfx/fotocx/fotocx-24.11-r1.ebuild79
-rw-r--r--media-gfx/fotocx/fotocx-24.21-r1.ebuild (renamed from media-gfx/fotocx/fotocx-24.21.ebuild)4
-rw-r--r--media-gfx/fotocx/fotocx-24.30.ebuild (renamed from media-gfx/fotocx/fotocx-24.20.ebuild)2
-rw-r--r--media-gfx/fotowall/metadata.xml5
-rw-r--r--media-gfx/freecad/files/freecad-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch23
-rw-r--r--media-gfx/freecad/files/freecad-0.19.4-Gentoo-specific-don-t-check-vcs.patch20
-rw-r--r--media-gfx/freecad/files/freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch22
-rw-r--r--media-gfx/freecad/files/freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch93
-rw-r--r--media-gfx/freecad/files/freecad-0.20.2-libE57Format-fix-compile-using-gcc13.patch24
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch33
-rw-r--r--media-gfx/freecad/freecad-0.21.2-r2.ebuild5
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild4
-rw-r--r--media-gfx/freepv/freepv-0.3.0-r5.ebuild4
-rw-r--r--media-gfx/gnofract4d/Manifest1
-rw-r--r--media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild78
-rw-r--r--media-gfx/gnuclad/gnuclad-0.2.4-r1.ebuild2
-rw-r--r--media-gfx/gnuclad/gnuclad-0.2.4.ebuild35
-rw-r--r--media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild4
-rw-r--r--media-gfx/gphotofs/gphotofs-0.5-r1.ebuild4
-rw-r--r--media-gfx/gphotofs/gphotofs-0.5-r2.ebuild4
-rw-r--r--media-gfx/gpicview/gpicview-0.2.5-r2.ebuild4
-rw-r--r--media-gfx/gpicview/gpicview-0.2.5-r3.ebuild4
-rw-r--r--media-gfx/graphicsmagick/Manifest2
-rw-r--r--media-gfx/graphicsmagick/files/graphicsmagick-1.3.43-bashism.patch12
-rw-r--r--media-gfx/graphicsmagick/graphicsmagick-1.3.42.ebuild6
-rw-r--r--media-gfx/graphicsmagick/graphicsmagick-1.3.43-r1.ebuild161
-rw-r--r--media-gfx/graphicsmagick/graphicsmagick-1.3.43.ebuild163
-rw-r--r--media-gfx/graphicsmagick/graphicsmagick-9999.ebuild20
-rw-r--r--media-gfx/graphicsmagick/metadata.xml1
-rw-r--r--media-gfx/graphviz/Manifest1
-rw-r--r--media-gfx/graphviz/graphviz-11.0.0.ebuild221
-rw-r--r--media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild2
-rw-r--r--media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild4
-rw-r--r--media-gfx/gthumb/Manifest3
-rw-r--r--media-gfx/gthumb/gthumb-3.12.3.ebuild110
-rw-r--r--media-gfx/gthumb/gthumb-3.12.4.ebuild110
-rw-r--r--media-gfx/gthumb/gthumb-3.12.5.ebuild107
-rw-r--r--media-gfx/gthumb/gthumb-3.12.6.ebuild2
-rw-r--r--media-gfx/hugin/hugin-2023.0.0-r1.ebuild4
-rw-r--r--media-gfx/inkscape/inkscape-1.3.2-r2.ebuild (renamed from media-gfx/inkscape/inkscape-1.3.2-r1.ebuild)1
-rw-r--r--media-gfx/inkscape/inkscape-9999.ebuild1
-rw-r--r--media-gfx/jhead/Manifest1
-rw-r--r--media-gfx/jhead/files/jhead-3.06.0.1-CVE-2021-34055.patch108
-rw-r--r--media-gfx/jhead/files/jhead-3.06.0.1-mkstemp-fix-makefile.patch52
-rw-r--r--media-gfx/jhead/files/jhead-3.08-fix-makefile.patch4
-rw-r--r--media-gfx/jhead/jhead-3.06.0.1-r1.ebuild27
-rw-r--r--media-gfx/jhead/jhead-3.08-r1.ebuild (renamed from media-gfx/jhead/jhead-3.08.ebuild)8
-rw-r--r--media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild4
-rw-r--r--media-gfx/kgraphviewer/Manifest1
-rw-r--r--media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild41
-rw-r--r--media-gfx/krita/krita-5.1.5.ebuild2
-rw-r--r--media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild4
-rw-r--r--media-gfx/maim/maim-5.8.0.ebuild2
-rw-r--r--media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild4
-rw-r--r--media-gfx/mcomix/mcomix-2.1.1-r1.ebuild4
-rw-r--r--media-gfx/mcomix/mcomix-2.2.1.ebuild6
-rw-r--r--media-gfx/mcomix/mcomix-3.0.0-r1.ebuild6
-rw-r--r--media-gfx/mcomix/mcomix-3.1.0.ebuild4
-rw-r--r--media-gfx/nomacs/metadata.xml5
-rw-r--r--media-gfx/okularpart/files/okularpart-23.08.5-implicit-vasprintf.patch29
-rw-r--r--media-gfx/okularpart/okularpart-23.08.5-r1.ebuild3
-rw-r--r--media-gfx/opencsg/files/opencsg-1.6.0-cmake.patch61
-rw-r--r--media-gfx/opencsg/opencsg-1.6.0-r1.ebuild36
-rw-r--r--media-gfx/optipng/optipng-0.7.8.ebuild4
-rw-r--r--media-gfx/oxipng/oxipng-9.0.0.ebuild10
-rw-r--r--media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild2
-rw-r--r--media-gfx/photopc/photopc-3.07.ebuild4
-rw-r--r--media-gfx/photoqt/metadata.xml5
-rw-r--r--media-gfx/phototonic/metadata.xml5
-rw-r--r--media-gfx/pinta/Manifest1
-rw-r--r--media-gfx/pinta/pinta-2.1.1-r1.ebuild2
-rw-r--r--media-gfx/pinta/pinta-2.1.2.ebuild137
-rw-r--r--media-gfx/pixels2pgf/pixels2pgf-0.1.ebuild17
-rw-r--r--media-gfx/plantuml/Manifest1
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.3.ebuild33
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.4-r1.ebuild43
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.4.ebuild2
-rw-r--r--media-gfx/pngcheck/pngcheck-3.0.2.ebuild4
-rw-r--r--media-gfx/pngcrush/pngcrush-1.8.13.ebuild2
-rw-r--r--media-gfx/pngnq/pngnq-1.1-r1.ebuild2
-rw-r--r--media-gfx/pqstego/pqstego-0.0.1.ebuild4
-rw-r--r--media-gfx/prusaslicer/Manifest1
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild1
-rw-r--r--media-gfx/prusaslicer/prusaslicer-9999.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild)14
-rw-r--r--media-gfx/pstoedit/pstoedit-3.75.ebuild4
-rw-r--r--media-gfx/rawtherapee/Manifest1
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild2
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild80
-rw-r--r--media-gfx/rotoscope/rotoscope-0.2-r2.ebuild4
-rw-r--r--media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild4
-rw-r--r--media-gfx/simple-scan/Manifest1
-rw-r--r--media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch82
-rw-r--r--media-gfx/simple-scan/simple-scan-46.0.ebuild71
-rw-r--r--media-gfx/skanpage/Manifest2
-rw-r--r--media-gfx/skanpage/skanpage-24.04.90.ebuild (renamed from media-gfx/skanpage/skanpage-24.02.2.ebuild)3
-rw-r--r--media-gfx/transfig/transfig-3.2.5e-r2.ebuild2
-rw-r--r--media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild4
-rw-r--r--media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild4
-rw-r--r--media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.ebuild4
-rw-r--r--media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild2
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.28-r3.ebuild (renamed from media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild)6
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.29-r1.ebuild (renamed from media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild)6
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild65
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild4
-rw-r--r--media-gfx/ueberzugpp/Manifest1
-rw-r--r--media-gfx/ueberzugpp/files/ueberzugpp-2.9.4-libcxx18.patch11
-rw-r--r--media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild13
-rw-r--r--media-gfx/ueberzugpp/ueberzugpp-2.9.5.ebuild79
-rw-r--r--media-gfx/viewer/viewer-0.8.0-r1.ebuild42
-rw-r--r--media-gfx/wings/wings-2.2.6.1.ebuild4
-rw-r--r--media-gfx/xdot/Manifest1
-rw-r--r--media-gfx/xdot/xdot-1.3.ebuild1
-rw-r--r--media-gfx/xdot/xdot-1.4.ebuild45
-rw-r--r--media-gfx/xdot/xdot-9999.ebuild4
-rw-r--r--media-gfx/xpaint/xpaint-3.1.4-r4.ebuild2
-rw-r--r--media-gfx/xv/xv-3.10a-r22.ebuild4
160 files changed, 3350 insertions, 1959 deletions
diff --git a/media-gfx/aewan/aewan-1.0.01-r1.ebuild b/media-gfx/aewan/aewan-1.0.01-r1.ebuild
index fcf73c326bb8..f0234388da34 100644
--- a/media-gfx/aewan/aewan-1.0.01-r1.ebuild
+++ b/media-gfx/aewan/aewan-1.0.01-r1.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=7
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="A curses-based editor for ASCII art"
HOMEPAGE="https://aewan.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/aewan/aewan-1.0.01-r2.ebuild b/media-gfx/aewan/aewan-1.0.01-r2.ebuild
index e13be3d11d22..2819bef88cc6 100644
--- a/media-gfx/aewan/aewan-1.0.01-r2.ebuild
+++ b/media-gfx/aewan/aewan-1.0.01-r2.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
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="A curses-based editor for ASCII art"
HOMEPAGE="https://aewan.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${P}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/apng2gif/apng2gif-1.8.ebuild b/media-gfx/apng2gif/apng2gif-1.8.ebuild
index fdd53201bacd..df53afbe8762 100644
--- a/media-gfx/apng2gif/apng2gif-1.8.ebuild
+++ b/media-gfx/apng2gif/apng2gif-1.8.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
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Create a GIF from an APNG"
HOMEPAGE="https://sourceforge.net/projects/apng2gif/"
-SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}-src.zip"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PV}/${P}-src.zip"
S="${WORKDIR}"
LICENSE="ZLIB"
diff --git a/media-gfx/apngdis/apngdis-2.9.ebuild b/media-gfx/apngdis/apngdis-2.9.ebuild
index ed2eec75f412..ce76d760c3d8 100644
--- a/media-gfx/apngdis/apngdis-2.9.ebuild
+++ b/media-gfx/apngdis/apngdis-2.9.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
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Extract PNG frames from an APNG"
HOMEPAGE="https://sourceforge.net/projects/apngdis/"
-SRC_URI="mirror://sourceforge/${PN}/${PV}/${P}-src.zip"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PV}/${P}-src.zip"
S="${WORKDIR}"
LICENSE="ZLIB"
diff --git a/media-gfx/apngopt/apngopt-1.4-r1.ebuild b/media-gfx/apngopt/apngopt-1.4-r1.ebuild
index 9a1255fc6ef8..1ded8a73cf7d 100644
--- a/media-gfx/apngopt/apngopt-1.4-r1.ebuild
+++ b/media-gfx/apngopt/apngopt-1.4-r1.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
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Optimize APNG images"
HOMEPAGE="https://sourceforge.net/projects/apng/"
-SRC_URI="mirror://sourceforge/apng/${P}-src.zip"
+SRC_URI="https://downloads.sourceforge.net/apng/${P}-src.zip"
S="${WORKDIR}"
LICENSE="LGPL-2.1 ZLIB"
diff --git a/media-gfx/argyllcms/Manifest b/media-gfx/argyllcms/Manifest
index 510cfe47b065..04a7bec81851 100644
--- a/media-gfx/argyllcms/Manifest
+++ b/media-gfx/argyllcms/Manifest
@@ -1,3 +1,4 @@
DIST Argyll_V2.1.2_src.zip 13837056 BLAKE2B cf6181549e37b1deda11bdd4a63b27e101180a1e82b132ea8dca5af6830a74d5e2f940633f5aecf9a8d62fe8c2b0cdce8f2af44124ce7432b33d2a1bdbaa2c21 SHA512 f49b588c5f0a39edcc30a068a8bde8c7b74611d3feb15d07d4a61b205ed1231c288629f65e1a5a60a3921d552a28e075667ada555401a0d9694fd882bddd4b06
DIST Argyll_V2.3.1_src.zip 14098636 BLAKE2B 0f215d5852c3ad383833dd643d78729a03e178b2bfad1a955a4ca8108a7b33b5a98507436c2a3bfa9f030ad968787e933e50940a0a7cc045b1082f4c8d519c6a SHA512 a8c2b02638569727015ad8e6e16999e398214fa5d11656bae0a9fe0b3268e81674621e3a7de96b727c578c5fc612ada39b37a94ca8b62f4221c56917654a22e8
DIST Argyll_V3.1.0_src.zip 14671869 BLAKE2B a2cf0fa2f4d7924d847c56a6a30b5751576d9298736b751bb644317952c366f9f9be40668d5855417c3852dd39ba3dcfffeed5384b187a3164f1d9485ad8d8aa SHA512 a39e107327c89af46af3101a58ab796bc5e37ca979b93626f635ec66e32e099d0d1ebc14559133a804c0b4898fa4a93cbc25b5c5cf06ea7963025a1946ab619d
+DIST Argyll_V3.2.0_src.zip 14690714 BLAKE2B a2bd45883c213c0906ce94be525f6d7fa6e7378925ad08cb8577819fb2d1b5f6a16b6600a9d4b15972df6048323726fbe8fd16a23010c4dc7461007e45f20362 SHA512 17e73e74d0581bf2c0bab17598bcaf8c2cc556e675e944a315cccc9ddf8c3a0b946c7d88f87b1e4d29d9edba222bc76a497f570affe1d15d08c5ceec2b1b995d
diff --git a/media-gfx/argyllcms/argyllcms-3.2.0.ebuild b/media-gfx/argyllcms/argyllcms-3.2.0.ebuild
new file mode 100644
index 000000000000..daa1311058c2
--- /dev/null
+++ b/media-gfx/argyllcms/argyllcms-3.2.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic multiprocessing toolchain-funcs udev
+
+MY_P="Argyll_V${PV}"
+
+DESCRIPTION="Open source, ICC compatible color management system"
+HOMEPAGE="http://www.argyllcms.com/"
+SRC_URI="http://www.argyllcms.com/${MY_P}_src.zip"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~loong ~mips ~riscv ~x86"
+IUSE="doc"
+
+RDEPEND="
+ dev-libs/openssl:=
+ media-libs/libjpeg-turbo:=
+ media-libs/tiff:=
+ sys-libs/zlib
+ x11-libs/libX11
+ x11-libs/libXScrnSaver
+ x11-libs/libXau
+ x11-libs/libXdmcp
+ x11-libs/libXext
+ x11-libs/libXinerama
+ x11-libs/libXrandr
+ x11-libs/libXxf86vm
+"
+DEPEND="${RDEPEND}"
+BDEPEND="app-arch/unzip
+ dev-util/ftjam"
+
+src_compile() {
+ # Make it respect LDFLAGS
+ echo "LINKFLAGS += ${LDFLAGS} ;" >> Jamtop
+
+ # Evil hack to get --as-needed working. The build system unfortunately lists all
+ # the shared libraries by default on the command line _before_ the object to be built...
+ echo "STDLIBS += -ldl -lrt -lX11 -lXext -lXxf86vm -lXinerama -lXrandr -lXau -lXdmcp -lXss -ltiff -ljpeg ;" >> Jamtop
+
+ append-cflags -DUNIX -D_THREAD_SAFE
+
+ sed \
+ -e 's:CCFLAGS:CFLAGS:g' \
+ -i Jambase || die
+
+ tc-export CC RANLIB
+ export AR="$(tc-getAR) ruscU"
+
+ jam -dx -fJambase "-j$(makeopts_jobs)" || die
+}
+
+src_install() {
+ jam -dx -fJambase install || die
+
+ rm bin/License.txt || die
+
+ pushd bin > /dev/null
+ local binname
+ for binname in * ; do
+ newbin ${binname} argyll-${binname}
+ done
+ popd > /dev/null
+
+ dodoc log.txt ReadMe.txt
+ if use doc; then
+ docinto html
+ dodoc doc/*html doc/*jpg doc/*gif
+ fi
+
+ insinto /usr/share/${PN}
+ doins -r ref
+
+ udev_dorules usb/55-Argyll.rules
+}
+
+pkg_postinst() {
+ udev_reload
+
+ elog "If you have a Spyder2 you need to extract the firmware"
+ elog "from the CVSpyder.dll of the windows driver package"
+ elog "and store it as /usr/share/color/spyd2PLD.bin"
+ echo
+ elog "For further info on setting up instrument access read"
+ elog "http://www.argyllcms.com/doc/Installing_Linux.html"
+ echo
+}
+
+pkg_postrm() {
+ udev_reload
+}
diff --git a/media-gfx/arss/arss-0.2.3-r1.ebuild b/media-gfx/arss/arss-0.2.3-r1.ebuild
index 4edb3cef494b..3624e2a82e94 100644
--- a/media-gfx/arss/arss-0.2.3-r1.ebuild
+++ b/media-gfx/arss/arss-0.2.3-r1.ebuild
@@ -9,7 +9,7 @@ inherit cmake flag-o-matic
DESCRIPTION="Analysis & Resynthesis Sound Spectrograph"
HOMEPAGE="https://arss.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}/src"
LICENSE="GPL-2+"
diff --git a/media-gfx/asymptote/asymptote-2.86.ebuild b/media-gfx/asymptote/asymptote-2.86.ebuild
index c90253601777..521d51dbce85 100644
--- a/media-gfx/asymptote/asymptote-2.86.ebuild
+++ b/media-gfx/asymptote/asymptote-2.86.ebuild
@@ -9,7 +9,7 @@ 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="mirror://sourceforge/asymptote/${P}.src.tgz"
+SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/asymptote/asymptote-2.89.ebuild b/media-gfx/asymptote/asymptote-2.89.ebuild
index a0b459eb65fa..41e78e722943 100644
--- a/media-gfx/asymptote/asymptote-2.89.ebuild
+++ b/media-gfx/asymptote/asymptote-2.89.ebuild
@@ -9,7 +9,7 @@ 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="mirror://sourceforge/asymptote/${P}.src.tgz"
+SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild b/media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild
index 1de66eca64d0..e7fa26e0d0f3 100644
--- a/media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild
+++ b/media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.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
@@ -7,7 +7,7 @@ inherit cmake
DESCRIPTION="SIFT algorithm for automatic panorama creation in C"
HOMEPAGE="https://hugin.sourceforge.net/ http://user.cs.tu-berlin.de/~nowozin/autopano-sift/"
-SRC_URI="mirror://sourceforge/hugin/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/hugin/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/aview/aview-1.3.0_rc1-r3.ebuild b/media-gfx/aview/aview-1.3.0_rc1-r3.ebuild
index df9349646162..34ad3cda4da5 100644
--- a/media-gfx/aview/aview-1.3.0_rc1-r3.ebuild
+++ b/media-gfx/aview/aview-1.3.0_rc1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ MY_P=${P/_/}
DESCRIPTION="ASCII Image Viewer"
HOMEPAGE="https://aa-project.sourceforge.net/aview/"
-SRC_URI="mirror://sourceforge/aa-project/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/aa-project/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P/rc*/}"
LICENSE="GPL-2+"
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 9fd976b345d2..d1ef07dd9e00 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -2,3 +2,4 @@ DIST blender-3.3.15.tar.xz 41928632 BLAKE2B d93d7d47183fcd7afa547b8d3f0bd7240ea2
DIST blender-3.3.8.tar.xz 41915180 BLAKE2B 7fb24afe2151bba53d8c25160bd697145aced74a8cd9a7ac92b2f66bc0ab59e995009f20f9e9bb622b05d614919137153805a2e233de5b0bb0a41a2ac3405a76 SHA512 63aef1e543a9c8bbc5f8838292ad2e8d0d9a8ee6fd2d71a419c1edc1a0ee1f59f7e9eab59bc20bf32ca56ba440bab1534c6c94c6ca2c5ab964e80bd452b7e519
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
diff --git a/media-gfx/blender/blender-3.3.15.ebuild b/media-gfx/blender/blender-3.3.15.ebuild
index ff1e6ffd66d6..1582fb82925a 100644
--- a/media-gfx/blender/blender-3.3.15.ebuild
+++ b/media-gfx/blender/blender-3.3.15.ebuild
@@ -22,8 +22,8 @@ else
KEYWORDS="~amd64 ~arm ~arm64"
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
+SLOT="${PV%.*}"
IUSE="+bullet +dds +fluid +openexr +tbb \
alembic collada +color-management cuda +cycles \
debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
@@ -94,7 +94,7 @@ RDEPEND="${PYTHON_DEPS}
)
opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
openvdb? (
- >=media-gfx/openvdb-9.0.0:=[nanovdb?]
+ <media-gfx/openvdb-11.0.0:=[nanovdb?]
dev-libs/c-blosc:=
)
optix? ( <dev-libs/optix-7.5.0 )
diff --git a/media-gfx/blender/blender-3.3.8.ebuild b/media-gfx/blender/blender-3.3.8.ebuild
index a6bf20c9427b..89b057d5fd30 100644
--- a/media-gfx/blender/blender-3.3.8.ebuild
+++ b/media-gfx/blender/blender-3.3.8.ebuild
@@ -22,8 +22,8 @@ else
KEYWORDS="amd64 ~arm ~arm64"
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
+SLOT="${PV%.*}"
IUSE="+bullet +dds +fluid +openexr +tbb \
alembic collada +color-management cuda +cycles \
debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
@@ -94,7 +94,7 @@ RDEPEND="${PYTHON_DEPS}
)
opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
openvdb? (
- >=media-gfx/openvdb-9.0.0:=[nanovdb?]
+ <media-gfx/openvdb-11.0.0:=[nanovdb?]
dev-libs/c-blosc:=
)
optix? ( <dev-libs/optix-7.5.0 )
diff --git a/media-gfx/blender/blender-3.6.8.ebuild b/media-gfx/blender/blender-3.6.8.ebuild
index 4d93c8e6c515..12092454eb33 100644
--- a/media-gfx/blender/blender-3.6.8.ebuild
+++ b/media-gfx/blender/blender-3.6.8.ebuild
@@ -23,8 +23,8 @@ else
KEYWORDS="amd64 ~arm ~arm64"
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
+SLOT="${PV%.*}"
IUSE="+bullet +dds +fluid +openexr +tbb
alembic collada +color-management cuda +cycles cycles-bin-kernels
debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
@@ -89,7 +89,7 @@ RDEPEND="${PYTHON_DEPS}
openpgl? ( media-libs/openpgl:0/0.5 )
opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
openvdb? (
- >=media-gfx/openvdb-9.0.0:=[nanovdb?]
+ <media-gfx/openvdb-11.0.0:=[nanovdb?]
dev-libs/c-blosc:=
)
optix? ( <dev-libs/optix-7.5.0 )
diff --git a/media-gfx/blender/blender-4.0.2.ebuild b/media-gfx/blender/blender-4.0.2-r1.ebuild
index 5cb0b8edb57f..29465c4df628 100644
--- a/media-gfx/blender/blender-4.0.2.ebuild
+++ b/media-gfx/blender/blender-4.0.2-r1.ebuild
@@ -4,40 +4,50 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
+# matches media-libs/osl
+LLVM_COMPAT=( {15..17} )
-inherit check-reqs cmake cuda flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
+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
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
+ EGIT_LFS="yes"
+ inherit git-r3
EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
+ EGIT_SUBMODULES=( '*' '-lib/*' )
ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
+ RESTRICT="!test? ( test )"
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="
+ 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
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +fluid +openexr +tbb
- alembic collada +color-management cuda +cycles cycles-bin-kernels
- debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
- man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
- +sndfile test +tiff valgrind wayland +webp X"
-RESTRICT="test"
+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
+ 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 )
@@ -45,7 +55,7 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
test? ( color-management )"
# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
+# build_files/build_environment/cmake/versions.cmake
RDEPEND="${PYTHON_DEPS}
app-arch/zstd
dev-libs/boost:=[nls?]
@@ -70,10 +80,12 @@ RDEPEND="${PYTHON_DEPS}
collada? ( >=media-libs/opencollada-1.6.68 )
color-management? ( media-libs/opencolorio:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.13.0:=[raymask] )
+ 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 )
+ gnome? ( gui-libs/libdecor )
+ hip? ( >=dev-util/hip-5.7:= )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -83,7 +95,8 @@ RDEPEND="${PYTHON_DEPS}
)
nls? ( virtual/libiconv )
openal? ( media-libs/openal )
- oidn? ( >=media-libs/oidn-1.4.0 )
+ oidn? ( >=media-libs/oidn-2.1.0 )
+ oneapi? ( dev-libs/intel-compute-runtime[l0] )
openexr? (
>=dev-libs/imath-3.1.4-r2:=
>=media-libs/openexr-3:0=
@@ -91,11 +104,17 @@ RDEPEND="${PYTHON_DEPS}
openpgl? ( media-libs/openpgl:0/0.5 )
opensubdiv? ( >=media-libs/opensubdiv-3.5.0 )
openvdb? (
- >=media-gfx/openvdb-10.0.0:=[nanovdb?]
+ >=media-gfx/openvdb-11.0.0:=[nanovdb?]
dev-libs/c-blosc:=
)
- optix? ( <dev-libs/optix-7.5.0 )
- osl? ( <media-libs/osl-1.13:= )
+ 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}]
+ ')
+ )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -113,6 +132,15 @@ RDEPEND="${PYTHON_DEPS}
media-libs/mesa[wayland]
sys-apps/dbus
)
+ vulkan? (
+ media-libs/shaderc
+ dev-util/spirv-tools
+ dev-util/glslang
+ media-libs/vulkan-loader
+ )
+ renderdoc? (
+ media-gfx/renderdoc
+ )
X? (
x11-libs/libX11
x11-libs/libXi
@@ -122,6 +150,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
"
BDEPEND="
@@ -139,10 +171,17 @@ BDEPEND="
wayland? (
dev-util/wayland-scanner
)
+ X? (
+ x11-base/xorg-proto
+ )
"
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"
)
blender_check_requirements() {
@@ -170,35 +209,36 @@ pkg_pretend() {
}
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
git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
-
- if use test; then
- TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests
- subversion_fetch ${TESTS_SVN_URL} ../lib/tests
- fi
- ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets
- subversion_fetch ${ASSETS_SVN_URL} ../lib/assets
else
default
+
if use test; then
- #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests
- mkdir -p lib || die
- mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die
+ 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
@@ -213,14 +253,17 @@ src_prepare() {
-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 ${PV}|" \
+ -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
@@ -228,11 +271,17 @@ src_prepare() {
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/Modules/GTestTesting.cmake || 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
}
@@ -257,43 +306,51 @@ src_configure() {
-DWITH_ALEMBIC=$(usex alembic)
-DWITH_BOOST=yes
-DWITH_BULLET=$(usex bullet)
- -DWITH_CLANG=$(usex osl)
-DWITH_CODEC_FFMPEG=$(usex ffmpeg)
-DWITH_CODEC_SNDFILE=$(usex sndfile)
+
-DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_CUDA_BINARIES=$(usex cuda $(usex cycles-bin-kernels))
- -DWITH_CYCLES_DEVICE_ONEAPI=no
+
-DWITH_CYCLES_DEVICE_CUDA=$(usex cuda)
- -DWITH_CYCLES_DEVICE_HIP=no
+ -DWITH_CYCLES_CUDA_BINARIES="$(usex cuda $(usex cycles-bin-kernels))"
-DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
- -DWITH_CYCLES_EMBREE=$(usex embree)
- -DWITH_CYCLES_HIP_BINARIES=no
- -DWITH_CYCLES_ONEAPI_BINARIES=no
+
+ -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_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=no
- -DWITH_GHOST_WAYLAND_LIBDECOR=no
+ -DWITH_GHOST_WAYLAND_DYNLOAD="$(usex gnome)" # https://bugs.gentoo.org/930412 fixed in 4.1 # no
+ -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
-DWITH_GHOST_X11=$(usex X)
-DWITH_GMP=$(usex gmp)
-DWITH_GTESTS=$(usex test)
-DWITH_HARU=$(usex pdf)
-DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON)
- -DWITH_INSTALL_PORTABLE=no
+ -DWITH_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_LLVM=$(usex osl)
- -DWITH_MATERIALX=no
+ -DWITH_MATERIALX="no" # TODO: Package MaterialX
-DWITH_MEM_JEMALLOC=$(usex jemalloc)
-DWITH_MEM_VALGRIND=$(usex valgrind)
-DWITH_MOD_FLUID=$(usex fluid)
@@ -311,9 +368,9 @@ src_configure() {
-DWITH_PUGIXML=$(usex pugixml)
-DWITH_PULSEAUDIO=$(usex pulseaudio)
-DWITH_PYTHON_INSTALL=no
- -DWITH_DRACO=no
-DWITH_PYTHON_INSTALL_NUMPY=no
-DWITH_PYTHON_INSTALL_ZSTANDARD=no
+ -DWITH_RENDERDOC="$(usex renderdoc)"
-DWITH_SDL=$(usex sdl)
-DWITH_STATIC_LIBS=no
-DWITH_STRICT_BUILD_OPTIONS=yes
@@ -321,13 +378,30 @@ src_configure() {
-DWITH_SYSTEM_FREETYPE=yes
-DWITH_SYSTEM_LZO=yes
-DWITH_TBB=$(usex tbb)
-
- -DWITH_USD=no
- -DWITH_HYDRA=no
-
+ -DWITH_USD="no" # TODO: Package USD
+ -DWITH_VULKAN_BACKEND="$(usex vulkan)"
-DWITH_XR_OPENXR=no
)
+ # 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+=(
+ -DHIP_HIPCC_FLAGS="-fcf-protection=none"
+ )
+ fi
+
if use optix; then
mycmakeargs+=(
-DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
@@ -338,8 +412,8 @@ src_configure() {
# 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')
+ 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.
@@ -352,18 +426,25 @@ src_configure() {
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_GTESTS=yes
- -DWITH_OPENGL_DRAW_TESTS=yes
- -DWITH_OPENGL_RENDER_TESTS=yes
+ -DWITH_GPU_DRAW_TESTS=yes
+ -DWITH_GPU_RENDER_TESTS=yes
)
fi
@@ -373,7 +454,7 @@ 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 "$@"
+ DESTDIR="${T}" cmake_build install
blender_get_version
# Define custom blender data/script file paths not be able to find them otherwise during testing.
@@ -386,10 +467,20 @@ src_test() {
[ -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!"
+ if use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/renderD128"
+ addwrite "/dev/char/"
+ fi
+
+ if use X; then
+ xdg_environment_reset
+ fi
+
cmake_src_test
# Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
+ rm -fr "${T}/usr" || die
}
src_install() {
@@ -489,7 +580,7 @@ pkg_postrm() {
ewarn ""
ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
+ ewarn "~/.config/${PN}/${BV}/cache/"
ewarn "It may contain extra render kernels not tracked by portage"
ewarn ""
}
diff --git a/media-gfx/blender/blender-4.1.1.ebuild b/media-gfx/blender/blender-4.1.1.ebuild
new file mode 100644
index 000000000000..94e2599fa018
--- /dev/null
+++ b/media-gfx/blender/blender-4.1.1.ebuild
@@ -0,0 +1,586 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..12} )
+# matches media-libs/osl
+LLVM_COMPAT=( {15..17} )
+
+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/*' )
+ ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
+ 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 BL )"
+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 +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 )
+ gnome? ( gui-libs/libdecor )
+ hip? ( >=dev-util/hip-5.7:= )
+ 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 )
+ 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_gen_dep '
+ >=media-libs/osl-1.13[llvm_slot_${LLVM_SLOT}]
+ media-libs/mesa[llvm_slot_${LLVM_SLOT}]
+ ')
+ )
+ 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"
+)
+
+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
+
+ use oneapi && einfo "The Intel oneAPI support is rudimentary. Please report any bugs you find to https://bugs.gentoo.org/"
+}
+
+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
+
+ git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
+ git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
+ 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_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_EXPERIMENTAL_FEATURES="$(usex experimental)"
+ -DWITH_FFTW3=$(usex fftw)
+ -DWITH_GHOST_WAYLAND=$(usex wayland)
+ -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
+ -DWITH_GHOST_WAYLAND_DYNLOAD="no"
+ -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
+ -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
+ )
+
+ # 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
+
+ # 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
+ # 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!"
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/renderD128"
+ addwrite "/dev/char/"
+ fi
+
+ if use X; then
+ xdg_environment_reset
+ fi
+
+ 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_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 dc32da73f1bd..94e2599fa018 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-9999.ebuild
@@ -4,8 +4,10 @@
EAPI=8
PYTHON_COMPAT=( python3_{11..12} )
+# matches media-libs/osl
+LLVM_COMPAT=( {15..17} )
-inherit check-reqs cmake cuda flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
+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"
@@ -14,30 +16,37 @@ if [[ ${PV} = *9999* ]] ; then
EGIT_LFS="yes"
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="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="
+ 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
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +fluid +openexr +tbb
- alembic collada +color-management cuda +cycles cycles-bin-kernels
- debug doc +embree +ffmpeg +fftw +gmp hip jack jemalloc jpeg2k
- man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
- +sndfile test +tiff valgrind wayland +webp X"
-RESTRICT="!test? ( test )"
+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 +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 )
@@ -62,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
@@ -71,11 +80,12 @@ RDEPEND="${PYTHON_DEPS}
collada? ( >=media-libs/opencollada-1.6.68 )
color-management? ( media-libs/opencolorio:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.13.0:=[raymask] )
+ 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 )
- hip? ( >=dev-util/hip-5.7.1 )
+ gnome? ( gui-libs/libdecor )
+ hip? ( >=dev-util/hip-5.7:= )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -86,18 +96,25 @@ RDEPEND="${PYTHON_DEPS}
nls? ( virtual/libiconv )
openal? ( media-libs/openal )
oidn? ( >=media-libs/oidn-2.1.0 )
+ 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:= )
opensubdiv? ( >=media-libs/opensubdiv-3.5.0 )
openvdb? (
- >=media-gfx/openvdb-10.1.0:=[nanovdb?]
+ >=media-gfx/openvdb-11.0.0:=[nanovdb?]
dev-libs/c-blosc:=
)
- optix? ( <dev-libs/optix-7.5.0 )
- osl? ( media-libs/osl:= )
+ 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}]
+ ')
+ )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -115,6 +132,18 @@ RDEPEND="${PYTHON_DEPS}
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
@@ -124,6 +153,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
"
BDEPEND="
@@ -141,10 +174,14 @@ BDEPEND="
wayland? (
dev-util/wayland-scanner
)
+ X? (
+ x11-base/xorg-proto
+ )
"
PATCHES=(
- "${FILESDIR}/${PN}-4.0.1-openvdb-11.patch"
+ "${FILESDIR}/${PN}-4.0.2-FindClang.patch"
+ "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
)
blender_check_requirements() {
@@ -169,35 +206,41 @@ blender_get_version() {
pkg_pretend() {
blender_check_requirements
+
+ use oneapi && einfo "The Intel oneAPI support is rudimentary. Please report any bugs you find to https://bugs.gentoo.org/"
}
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
git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
- # TODO
- #if use test; then
-
- #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
+ 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
@@ -212,14 +255,17 @@ src_prepare() {
-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 ${PV}|" \
+ -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
@@ -227,12 +273,18 @@ src_prepare() {
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() {
@@ -256,43 +308,51 @@ src_configure() {
-DWITH_ALEMBIC=$(usex alembic)
-DWITH_BOOST=yes
-DWITH_BULLET=$(usex bullet)
- -DWITH_CLANG=$(usex osl)
-DWITH_CODEC_FFMPEG=$(usex ffmpeg)
-DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CPU_CHECK=no
+
-DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_CUDA_BINARIES=$(usex cuda $(usex cycles-bin-kernels))
- -DWITH_CYCLES_DEVICE_ONEAPI=no
+
-DWITH_CYCLES_DEVICE_CUDA=$(usex cuda)
- -DWITH_CYCLES_DEVICE_HIP=$(usex hip)
+ -DWITH_CYCLES_CUDA_BINARIES="$(usex cuda $(usex cycles-bin-kernels))"
-DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
- -DWITH_CYCLES_EMBREE=$(usex embree)
+
+ -DWITH_CYCLES_DEVICE_HIP="$(usex hip)"
-DWITH_CYCLES_HIP_BINARIES=$(usex hip $(usex cycles-bin-kernels))
- -DWITH_CYCLES_ONEAPI_BINARIES=no
+
+ -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_EXPERIMENTAL_FEATURES="$(usex experimental)"
-DWITH_FFTW3=$(usex fftw)
-DWITH_GHOST_WAYLAND=$(usex wayland)
-DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
- -DWITH_GHOST_WAYLAND_DYNLOAD=no
- -DWITH_GHOST_WAYLAND_LIBDECOR=no
+ -DWITH_GHOST_WAYLAND_DYNLOAD="no"
+ -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
-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_INSTALL_PORTABLE=no
+ -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_LLVM=$(usex osl)
- -DWITH_MATERIALX=no
+ -DWITH_MATERIALX="no" # TODO: Package MaterialX
-DWITH_MEM_JEMALLOC=$(usex jemalloc)
-DWITH_MEM_VALGRIND=$(usex valgrind)
-DWITH_MOD_FLUID=$(usex fluid)
@@ -310,9 +370,9 @@ src_configure() {
-DWITH_PUGIXML=$(usex pugixml)
-DWITH_PULSEAUDIO=$(usex pulseaudio)
-DWITH_PYTHON_INSTALL=no
- -DWITH_DRACO=no
-DWITH_PYTHON_INSTALL_NUMPY=no
-DWITH_PYTHON_INSTALL_ZSTANDARD=no
+ -DWITH_RENDERDOC="$(usex renderdoc)"
-DWITH_SDL=$(usex sdl)
-DWITH_STATIC_LIBS=no
-DWITH_STRICT_BUILD_OPTIONS=yes
@@ -320,13 +380,31 @@ src_configure() {
-DWITH_SYSTEM_FREETYPE=yes
-DWITH_SYSTEM_LZO=yes
-DWITH_TBB=$(usex tbb)
-
- -DWITH_USD=no
- -DWITH_HYDRA=no
-
+ -DWITH_USD="no" # TODO: Package USD
+ -DWITH_VULKAN_BACKEND="$(usex vulkan)"
-DWITH_XR_OPENXR=no
)
+ # 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
@@ -337,8 +415,8 @@ src_configure() {
# 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')
+ 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.
@@ -351,6 +429,13 @@ src_configure() {
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
@@ -361,9 +446,8 @@ src_configure() {
mycmakeargs+=(
-DCYCLES_TEST_DEVICES:STRING="$(local IFS=";"; echo "${CYCLES_TEST_DEVICES[*]}")"
-DWITH_COMPOSITOR_REALTIME_TESTS=yes
- -DWITH_GTESTS=yes
- -DWITH_OPENGL_DRAW_TESTS=yes
- -DWITH_OPENGL_RENDER_TESTS=yes
+ -DWITH_GPU_DRAW_TESTS=yes
+ -DWITH_GPU_RENDER_TESTS=yes
)
fi
@@ -373,7 +457,7 @@ 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 "$@"
+ DESTDIR="${T}" cmake_build install
blender_get_version
# Define custom blender data/script file paths not be able to find them otherwise during testing.
@@ -386,10 +470,20 @@ src_test() {
[ -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!"
+ if use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/renderD128"
+ addwrite "/dev/char/"
+ fi
+
+ if use X; then
+ xdg_environment_reset
+ fi
+
cmake_src_test
# Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
+ rm -fr "${T}/usr" || die
}
src_install() {
@@ -465,11 +559,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
@@ -486,7 +580,7 @@ pkg_postrm() {
ewarn ""
ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
+ ewarn "~/.config/${PN}/${BV}/cache/"
ewarn "It may contain extra render kernels not tracked by portage"
ewarn ""
}
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
index d9455222c6a7..1f1561e8e7db 100644
--- a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
+++ b/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
@@ -1,3 +1,5 @@
+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 @@
diff --git a/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch b/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch
new file mode 100644
index 000000000000..f476756424e0
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch
@@ -0,0 +1,14 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+insert CUDA_NVCC_FLAGS into the custom nvcc call so we can use CUDAHOSTCXX, e.g. a different gcc version for cuda code
+diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
+index 604ccb8..160ee20 100644
+--- a/intern/cycles/kernel/CMakeLists.txt
++++ b/intern/cycles/kernel/CMakeLists.txt
+@@ -752,6 +752,7 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
+ -I "${CMAKE_CURRENT_SOURCE_DIR}/device/cuda"
+ --use_fast_math
+ -Wno-deprecated-gpu-targets
++ ${CUDA_NVCC_FLAGS}
+ -o ${output})
+
+ if(WITH_NANOVDB)
diff --git a/media-gfx/blender/files/blender-4.0.2-FindClang.patch b/media-gfx/blender/files/blender-4.0.2-FindClang.patch
new file mode 100644
index 000000000000..2c7a404c3bc6
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-FindClang.patch
@@ -0,0 +1,14 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+look for the merged clang library so we can find clang
+diff --git a/build_files/cmake/Modules/FindClang.cmake b/build_files/cmake/Modules/FindClang.cmake
+index 1957c63..5620b84 100644
+--- a/build_files/cmake/Modules/FindClang.cmake
++++ b/build_files/cmake/Modules/FindClang.cmake
+@@ -85,6 +85,7 @@ set(_CLANG_FIND_COMPONENTS
+ clangAST
+ clangLex
+ clangBasic
++ clang-cpp
+ )
+
+ set(_CLANG_LIBRARIES)
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
new file mode 100644
index 000000000000..064abf21c6a6
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
@@ -0,0 +1,342 @@
+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 b062bde863c4..e9c0f2846ae7 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -51,6 +51,9 @@
<flag name="embree">
Use embree to accelerate certain areas of the Cycles render engine.
</flag>
+ <flag name="experimental">
+ Build Experimental Blender Modules
+ </flag>
<flag name="fluid">
Adds fluid simulation support via the built-in Mantaflow library.
</flag>
@@ -64,6 +67,7 @@
Enable NDOF input devices (SpaceNavigator and friends).
</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">
@@ -85,8 +89,14 @@
<flag name="pugixml">
Enable PugiXML support (Used for OpenImageIO, Grease Pencil SVG export)
</flag>
+ <flag name="renderdoc">
+ Build Blender with renderdoc support
+ </flag>
<flag name="tbb">
Use threading building blocks library from <pkg>dev-cpp/tbb</pkg>.
</flag>
+ <flag name="vulkan">
+ Add support for the experimental Vulkan viewport backend
+ </flag>
</use>
</pkgmetadata>
diff --git a/media-gfx/digikam/Manifest b/media-gfx/digikam/Manifest
index 5511dff9e23a..a19232ea2344 100644
--- a/media-gfx/digikam/Manifest
+++ b/media-gfx/digikam/Manifest
@@ -1,2 +1 @@
-DIST digiKam-8.2.0.tar.xz 48172600 BLAKE2B 436f8dcd905ff993cfde3e358e27ac23cb4ad49d24a6328cda209a742874e9fcbc12da507095e2f75a167b653bb1d9e579438bf517e2911f2cb32705230023f1 SHA512 a34c5bde0e579b5f6de1fe90977e01bc385e5c28155d24db09e3cdfe7958c979d2e27cbce402d6c5b70f952fc0ead88318dfa025bb67e540c4d763cb139db7bb
DIST digiKam-8.3.0-1.tar.xz 55664168 BLAKE2B 46b0f26bb781d370c1046fd6de6afb0a0878175f9722a2fc9ed23aad89eb0671f8b219bb7c169ccd22d440ce493d958304a5a527a733862fe4e2c5cd07da8a21 SHA512 c2fdcecafa68641f08b31286d1b9c44828164a0a0bea607fb64a71c73ff53417cdfefa110245adab164fae8ea0980ea86cd69d693dcd43a96bb188197dc78fcd
diff --git a/media-gfx/digikam/digikam-8.2.0.ebuild b/media-gfx/digikam/digikam-8.2.0.ebuild
deleted file mode 100644
index bb933d2192b4..000000000000
--- a/media-gfx/digikam/digikam-8.2.0.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KFMIN=5.106.0
-QTMIN=5.15.9
-inherit ecm kde.org toolchain-funcs
-
-if [[ ${KDE_BUILD_TYPE} != live ]]; then
- if [[ ${PV} =~ beta[0-9]$ ]]; then
- SRC_URI="mirror://kde/unstable/${PN}/"
- else
- SRC_URI="mirror://kde/stable/${PN}/${PV}/"
- fi
- SRC_URI+="digiKam-${PV/_/-}.tar.xz"
- KEYWORDS="amd64 ~arm64 ~x86"
- S="${WORKDIR}/${PN}-${PV/_/-}"
-fi
-
-DESCRIPTION="Digital photo management application"
-HOMEPAGE="https://www.digikam.org/"
-
-LICENSE="GPL-2"
-SLOT="5"
-IUSE="addressbook calendar gphoto2 heif +imagemagick +lensfun marble mysql opengl openmp +panorama scanner semantic-desktop spell"
-
-# bug 366505
-RESTRICT="test"
-
-COMMON_DEPEND="
- dev-libs/expat
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5[-gles2-only]
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtnetworkauth-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtsql-${QTMIN}:5[mysql?]
- >=dev-qt/qtwebengine-${QTMIN}:5[widgets]
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtx11extras-${QTMIN}:5
- >=dev-qt/qtxml-${QTMIN}:5
- >=dev-qt/qtxmlpatterns-${QTMIN}: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/knotifications-${KFMIN}:5
- >=kde-frameworks/knotifyconfig-${KFMIN}:5
- >=kde-frameworks/kservice-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kwindowsystem-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- >=kde-frameworks/solid-${KFMIN}:5
- >=media-gfx/exiv2-0.27.1:=[xmp]
- media-libs/lcms:2
- media-libs/libjpeg-turbo:=
- media-libs/liblqr
- media-libs/libpng:=
- >=media-libs/opencv-3.3.0:=[contrib,contribdnn,features2d]
- media-libs/tiff:=
- x11-libs/libX11
- addressbook? (
- >=kde-apps/akonadi-contacts-19.04.3:5
- >=kde-frameworks/kcontacts-${KFMIN}:5
- )
- calendar? ( >=kde-frameworks/kcalendarcore-${KFMIN}:5 )
- gphoto2? ( media-libs/libgphoto2:= )
- heif? (
- media-libs/libheif:=
- media-libs/x265:=
- )
- imagemagick? ( media-gfx/imagemagick:= )
- lensfun? ( media-libs/lensfun )
- marble? (
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=kde-apps/marble-19.04.3:5
- >=kde-frameworks/kbookmarks-${KFMIN}:5
- )
- opengl? (
- >=dev-qt/qtopengl-${QTMIN}:5
- virtual/opengl
- )
- panorama? ( >=kde-frameworks/threadweaver-${KFMIN}:5 )
- scanner? ( >=kde-apps/libksane-19.04.3:5 )
- semantic-desktop? ( >=kde-frameworks/kfilemetadata-${KFMIN}:5 )
- spell? ( >=kde-frameworks/sonnet-${KFMIN}:5 )
-"
-DEPEND="${COMMON_DEPEND}
- dev-cpp/eigen:3
- dev-libs/boost
- addressbook? ( >=kde-apps/akonadi-19.04.3:5 )
-"
-RDEPEND="${COMMON_DEPEND}
- media-libs/exiftool
- mysql? ( virtual/mysql[server(+)] )
- panorama? ( media-gfx/hugin )
-"
-BDEPEND="
- sys-devel/gettext
- panorama? (
- app-alternatives/yacc
- app-alternatives/lex
- )
-"
-
-PATCHES=( "${FILESDIR}"/${P}-{cmake,akonadi}.patch )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- ecm_pkg_pretend
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- ecm_pkg_setup
-}
-
-src_prepare() {
- ecm_src_prepare
- if has_version ">=kde-apps/akonadi-contacts-23.08.0"; then
- sed -e "/KF5[:]*Akonadi/s/KF5/KPim5/" \
- -i core/CMakeLists.txt \
- core/utilities/extrasupport/CMakeLists.txt \
- core/utilities/extrasupport/addressbook/CMakeLists.txt \
- core/app/DigikamCoreTarget.cmake \
- core/cmake/rules/RulesKDEFramework.cmake || die
- fi
-}
-
-# FIXME: Unbundle libraw (libs/rawengine/libraw)
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_CCACHE=OFF
- -DBUILD_WITH_QT6=OFF # KF6 not stable upstream yet
- -DBUILD_TESTING=OFF # bug 698192
- -DENABLE_APPSTYLES=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
- -DENABLE_MEDIAPLAYER=OFF # bug 758641; bundled as of 8.0, KDE-bug 448681
- -DENABLE_SHOWFOTO=ON # built unconditionally so far, new option since 8.0
- -DENABLE_QWEBENGINE=ON
- -DENABLE_AKONADICONTACTSUPPORT=$(usex addressbook)
- $(cmake_use_find_package calendar KF5CalendarCore)
- $(cmake_use_find_package gphoto2 Gphoto2)
- $(cmake_use_find_package heif Libheif)
- $(cmake_use_find_package imagemagick ImageMagick)
- $(cmake_use_find_package lensfun LensFun)
- $(cmake_use_find_package marble Marble)
- -DENABLE_MYSQLSUPPORT=$(usex mysql)
- -DENABLE_INTERNALMYSQL=$(usex mysql)
- $(cmake_use_find_package opengl OpenGL)
- $(cmake_use_find_package panorama KF5ThreadWeaver)
- $(cmake_use_find_package scanner KF5Sane)
- $(cmake_use_find_package spell KF5Sonnet)
- -DENABLE_KFILEMETADATASUPPORT=$(usex semantic-desktop)
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/digikam/digikam-8.3.0.ebuild b/media-gfx/digikam/digikam-8.3.0.ebuild
index 887be4124f06..fd35ed4e3572 100644
--- a/media-gfx/digikam/digikam-8.3.0.ebuild
+++ b/media-gfx/digikam/digikam-8.3.0.ebuild
@@ -14,7 +14,7 @@ if [[ ${KDE_BUILD_TYPE} != live ]]; then
else
SRC_URI="mirror://kde/stable/${PN}/${PV}/${TARNAME}.tar.xz"
fi
- KEYWORDS="~amd64 ~arm64 ~x86"
+ KEYWORDS="amd64 ~arm64 ~x86"
fi
DESCRIPTION="Digital photo management application"
diff --git a/media-gfx/digikam/files/digikam-8.2.0-akonadi.patch b/media-gfx/digikam/files/digikam-8.2.0-akonadi.patch
deleted file mode 100644
index 4e2954d0f0de..000000000000
--- a/media-gfx/digikam/files/digikam-8.2.0-akonadi.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 90e00bb17bea76030c3b532c2156d040e202c4a2 Mon Sep 17 00:00:00 2001
-From: Antonio Rojas <arojas@archlinux.org>
-Date: Fri, 1 Dec 2023 23:22:53 +0100
-Subject: [PATCH] Fix build against >=akonadi-contacts-23.08
-
----
- core/CMakeLists.txt | 2 +-
- core/app/DigikamCoreTarget.cmake | 6 +++---
- core/utilities/extrasupport/CMakeLists.txt | 2 +-
- core/utilities/extrasupport/addressbook/CMakeLists.txt | 10 +++++-----
- 4 files changed, 10 insertions(+), 10 deletions(-)
-
-diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
-index 8115ddc6ca..c5940b1d6e 100644
---- a/core/CMakeLists.txt
-+++ b/core/CMakeLists.txt
-@@ -270,7 +270,7 @@ PRINT_OPTIONAL_LIBRARY_STATUS("bison" "https://www.gnu.org/software/
- PRINT_OPTIONAL_LIBRARY_STATUS("doxygen" "https://github.com/doxygen/doxygen" "(version >= 1.8.0)" "digiKam will be compiled without API documentation building support." Doxygen_FOUND)
- PRINT_OPTIONAL_LIBRARY_STATUS("ccache" "https://ccache.dev" "(version >= 3.0.0)" "digiKam will be compiled without CCACHE build support." HAVE_CCACHE)
- PRINT_OPTIONAL_LIBRARY_STATUS("flex" "https://github.com/westes/flex" "(version >= 2.5.0)" "digiKam will be compiled without Panorama support." FLEX_FOUND)
--PRINT_OPTIONAL_LIBRARY_STATUS("libakonadicontact" "https://invent.kde.org/pim/akonadi-contacts" "(version >= ${AKONADI_MIN_VERSION})" "digiKam will be compiled without KDE desktop address book support." KF${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-+PRINT_OPTIONAL_LIBRARY_STATUS("libakonadicontact" "https://invent.kde.org/pim/akonadi-contacts" "(version >= ${AKONADI_MIN_VERSION})" "digiKam will be compiled without KDE desktop address book support." KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND)
- PRINT_OPTIONAL_LIBRARY_STATUS("libimagemagick" "https://github.com/ImageMagick/ImageMagick.git" "(version >= 6.7.0)" "digiKam will be compiled without ImageMagick codecs." HAVE_IMAGE_MAGICK)
- PRINT_OPTIONAL_LIBRARY_STATUS("libeigen3" "https://github.com/eigenteam/eigen-git-mirror" "(version >= 3.0.0)" "digiKam will be compiled without Refocus tool support." Eigen3_FOUND)
- PRINT_OPTIONAL_LIBRARY_STATUS("libgphoto2" "https://github.com/gphoto/libgphoto2" "(version >= 2.4.0)" "digiKam will be compiled without GPhoto2 camera drivers support." Gphoto2_FOUND)
-diff --git a/core/app/DigikamCoreTarget.cmake b/core/app/DigikamCoreTarget.cmake
-index 5ba888e259..2cc8807079 100644
---- a/core/app/DigikamCoreTarget.cmake
-+++ b/core/app/DigikamCoreTarget.cmake
-@@ -81,7 +81,7 @@ if(KF${QT_VERSION_MAJOR}FileMetaData_FOUND)
-
- endif()
-
--if(KF${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-+if(KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-
- set(DIGIKAMCORE_OBJECTS
- ${DIGIKAMCORE_OBJECTS}
-@@ -395,11 +395,11 @@ if(KF${QT_VERSION_MAJOR}FileMetaData_FOUND)
-
- endif()
-
--if(KF${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-+if(KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-
- target_link_libraries(digikamcore
- PRIVATE
-- KF${QT_VERSION_MAJOR}::AkonadiContact
-+ KPim${QT_VERSION_MAJOR}::AkonadiContact
- )
-
- endif()
-diff --git a/core/utilities/extrasupport/CMakeLists.txt b/core/utilities/extrasupport/CMakeLists.txt
-index 910961937e..f911522b58 100644
---- a/core/utilities/extrasupport/CMakeLists.txt
-+++ b/core/utilities/extrasupport/CMakeLists.txt
-@@ -4,7 +4,7 @@
- # SPDX-License-Identifier: BSD-3-Clause
- #
-
--if(KF${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-+if(KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND)
- add_subdirectory(addressbook)
- endif()
-
-diff --git a/core/utilities/extrasupport/addressbook/CMakeLists.txt b/core/utilities/extrasupport/addressbook/CMakeLists.txt
-index e44a67d4dd..8ecc8fee4e 100644
---- a/core/utilities/extrasupport/addressbook/CMakeLists.txt
-+++ b/core/utilities/extrasupport/addressbook/CMakeLists.txt
-@@ -14,9 +14,9 @@ include_directories($<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Widgets,INTERFACE_I
- $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::I18n,INTERFACE_INCLUDE_DIRECTORIES>
- )
-
--if(KF${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-+if(KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND)
- include_directories(
-- $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::AkonadiCore,INTERFACE_INCLUDE_DIRECTORIES>
-+ $<TARGET_PROPERTY:KPim${QT_VERSION_MAJOR}::AkonadiCore,INTERFACE_INCLUDE_DIRECTORIES>
- $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::Contacts,INTERFACE_INCLUDE_DIRECTORIES>
-
- $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::CoreAddons,INTERFACE_INCLUDE_DIRECTORIES>
-@@ -35,7 +35,7 @@ add_library(akonadiiface STATIC $<TARGET_OBJECTS:core_akonadiiface_obj>)
-
- target_link_libraries(akonadiiface PRIVATE Qt${QT_VERSION_MAJOR}::Core KF${QT_VERSION_MAJOR}::I18n)
-
--if(KF${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-- target_include_directories(core_akonadiiface_obj PRIVATE $<TARGET_PROPERTY:KF${QT_VERSION_MAJOR}::AkonadiContact,INTERFACE_INCLUDE_DIRECTORIES>)
-- target_link_libraries(akonadiiface PRIVATE KF${QT_VERSION_MAJOR}::AkonadiContact KF${QT_VERSION_MAJOR}::Contacts)
-+if(KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND)
-+ target_include_directories(core_akonadiiface_obj PRIVATE $<TARGET_PROPERTY:KPim${QT_VERSION_MAJOR}::AkonadiContact,INTERFACE_INCLUDE_DIRECTORIES>)
-+ target_link_libraries(akonadiiface PRIVATE KPim${QT_VERSION_MAJOR}::AkonadiContact KF${QT_VERSION_MAJOR}::Contacts)
- endif()
---
-2.43.0
-
diff --git a/media-gfx/digikam/files/digikam-8.2.0-cmake.patch b/media-gfx/digikam/files/digikam-8.2.0-cmake.patch
deleted file mode 100644
index 8ca9e4a3b8d2..000000000000
--- a/media-gfx/digikam/files/digikam-8.2.0-cmake.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-From 433d0148be1cedea7e318bf3603fd17f906e721c Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
-Date: Sun, 17 Feb 2019 23:51:03 +0100
-Subject: [PATCH] Un-break optional Qt/KF detection
-
-And if we enable an option, make the necessary libraries REQUIRED.
----
- core/cmake/rules/RulesKDEFramework.cmake | 41 +++-------------
- core/cmake/rules/RulesQtFramework.cmake | 59 +++++-------------------
- core/cmake/rules/RulesX11.cmake | 7 +--
- 3 files changed, 19 insertions(+), 88 deletions(-)
-
-diff --git a/core/cmake/rules/RulesKDEFramework.cmake b/core/cmake/rules/RulesKDEFramework.cmake
-index 9c646d0112..defa399391 100644
---- a/core/cmake/rules/RulesKDEFramework.cmake
-+++ b/core/cmake/rules/RulesKDEFramework.cmake
-@@ -26,35 +26,20 @@ find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET
- )
-
- if(ENABLE_KFILEMETADATASUPPORT)
--
-- find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- FileMetaData # For Plasma desktop file indexer support.
-- )
--
-+ # For Plasma desktop file indexer support.
-+ find_package(KF${QT_VERSION_MAJOR}FileMetaData ${KF${QT_VERSION_MAJOR}_MIN_VERSION} REQUIRED)
- endif()
-
-
- if(ENABLE_AKONADICONTACTSUPPORT)
--
-- find_package(KF${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- Akonadi
-- AkonadiContact # For KDE Mail Contacts support.
-- Contacts # API for contacts/address book data.
-- )
--
-+ find_package(KF${QT_VERSION_MAJOR}Contacts ${KF${QT_VERSION_MAJOR}_MIN_VERSION} REQUIRED) # API for contacts/address book data.
-+ find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} REQUIRED)
-+ find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} REQUIRED) # For KDE Mail Contacts support.
- endif()
-
--find_package(KF${QT_VERSION_MAJOR} ${KSANE_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- Sane # For digital scanner support.
--)
-+find_package(KF${QT_VERSION_MAJOR}Sane ${KSANE_MIN_VERSION} QUIET) # For digital scanner support.
-
--find_package(KF${QT_VERSION_MAJOR} ${CALENDAR_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- CalendarCore # For Calendar tool.
--)
-+find_package(KF${QT_VERSION_MAJOR}CalendarCore ${CALENDAR_MIN_VERSION} QUIET) # For Calendar tool.
-
- if ("${KF${QT_VERSION_MAJOR}CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
-
-@@ -62,18 +47,6 @@ if ("${KF${QT_VERSION_MAJOR}CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
-
- endif()
-
--if(ENABLE_AKONADICONTACTSUPPORT AND (NOT KF${QT_VERSION_MAJOR}AkonadiContact_FOUND OR NOT KF${QT_VERSION_MAJOR}Contacts_FOUND))
--
-- set(ENABLE_AKONADICONTACTSUPPORT OFF)
--
--endif()
--
--if(ENABLE_KFILEMETADATASUPPORT AND NOT KF${QT_VERSION_MAJOR}FileMetaData_FOUND)
--
-- set(ENABLE_KFILEMETADATASUPPORT OFF)
--
--endif()
--
- # Check if KIO have been compiled with KIOWidgets. digiKam only needs this one.
-
- if(KF${QT_VERSION_MAJOR}KIO_FOUND)
-diff --git a/core/cmake/rules/RulesQtFramework.cmake b/core/cmake/rules/RulesQtFramework.cmake
-index 495ce4f4ef..0c58f3552a 100644
---- a/core/cmake/rules/RulesQtFramework.cmake
-+++ b/core/cmake/rules/RulesQtFramework.cmake
-@@ -18,48 +18,19 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
- )
-
- if(ENABLE_QWEBENGINE)
--
-- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-- NO_MODULE
-- COMPONENTS
-- WebEngineWidgets
-- )
--
-+ find_package(Qt${QT_VERSION_MAJOR}WebEngineWidgets REQUIRED NO_MODULE)
- else()
--
-- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-- NO_MODULE
-- COMPONENTS
-- WebKitWidgets
-- )
--
-+ find_package(Qt${QT_VERSION_MAJOR}WebKitWidgets REQUIRED NO_MODULE)
- endif()
-
--find_package(Qt${QT_VERSION_MAJOR}
-- OPTIONAL_COMPONENTS
-- DBus
-- OpenGL
--)
-+find_package(Qt${QT_VERSION_MAJOR}DBus)
-+find_package(Qt${QT_VERSION_MAJOR}OpenGL)
-
- if(Qt6_FOUND)
--
-- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-- NO_MODULE COMPONENTS
-- StateMachine
-- )
--
-- find_package(Qt${QT_VERSION_MAJOR}
-- OPTIONAL_COMPONENTS
-- OpenGLWidgets
-- )
--
-+ find_package(Qt${QT_VERSION_MAJOR}StateMachine REQUIRED NO_MODULE)
-+ find_package(Qt${QT_VERSION_MAJOR}OpenGLWidgets)
- else()
--
-- find_package(Qt${QT_VERSION_MAJOR}
-- OPTIONAL_COMPONENTS
-- XmlPatterns # For Rajce plugin
-- )
--
-+ find_package(Qt${QT_VERSION_MAJOR}XmlPatterns) # For Rajce plugin
- endif()
-
- if(ENABLE_DBUS)
-@@ -75,17 +46,9 @@ endif()
- # Qt Dependencies For unit tests and CLI test tools
-
- if(BUILD_TESTING)
-+ find_package(Qt${QT_VERSION_MAJOR}Test REQUIRED NO_MODULE)
-
-- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-- NO_MODULE
-- COMPONENTS
-- Test
-- )
--
-- find_package(Qt${QT_VERSION_MAJOR}
-- QUIET
-- OPTIONAL_COMPONENTS
-- Qml WebView # Optional, for 'sialis' O2 library test tool.
-- )
--
-+ # Optional, for 'sialis' O2 library test tool.
-+ find_package(Qt${QT_VERSION_MAJOR}Qml QUIET NO_MODULE)
-+ find_package(Qt${QT_VERSION_MAJOR}WebView QUIET NO_MODULE)
- endif()
-diff --git a/core/cmake/rules/RulesX11.cmake b/core/cmake/rules/RulesX11.cmake
-index d7659eed34..9c145970b2 100644
---- a/core/cmake/rules/RulesX11.cmake
-+++ b/core/cmake/rules/RulesX11.cmake
-@@ -11,12 +11,7 @@ find_package(X11)
- if(X11_FOUND)
-
- if(NOT Qt6_FOUND)
--
-- find_package(Qt5 ${QT_MIN_VERSION} NO_MODULE
-- COMPONENTS
-- X11Extras
-- )
--
-+ find_package(Qt5X11Extras ${QT_MIN_VERSION} NO_MODULE)
- endif()
-
- set(HAVE_X11 TRUE)
---
-2.43.0
-
diff --git a/media-gfx/digikam/metadata.xml b/media-gfx/digikam/metadata.xml
index 4c55a9727c8b..13d34044a893 100644
--- a/media-gfx/digikam/metadata.xml
+++ b/media-gfx/digikam/metadata.xml
@@ -15,8 +15,8 @@
<use>
<flag name="addressbook">Enable akonadi contact integration</flag>
<flag name="imagemagick">Enable support for additional image formats such as XCF, FITS, HEIC etc.</flag>
+ <flag name="mediaplayer">Enable integrated video player</flag>
<flag name="lensfun">Enable support for <pkg>media-libs/lensfun</pkg></flag>
- <flag name="marble">Enable support for geolocation using <pkg>kde-apps/marble</pkg></flag>
<flag name="panorama">Build the panorama plugin which requires <pkg>media-gfx/hugin</pkg></flag>
<flag name="semantic-desktop">Enable <pkg>kde-frameworks/kfilemetadata</pkg> support</flag>
</use>
diff --git a/media-gfx/enblend/Manifest b/media-gfx/enblend/Manifest
index 566364e01dce..9ce037e033f6 100644
--- a/media-gfx/enblend/Manifest
+++ b/media-gfx/enblend/Manifest
@@ -1 +1,2 @@
DIST enblend-4.2.0_p20161007.tar.xz 494060 BLAKE2B 8842dd70a1400a27170794246cb5c89d60b6798373e3a9d63e88738ad569e1174cb4303ccb5a2bc79846651e982e05f8cb9ac3e09b83ee33958b6ccf043ebda9 SHA512 ede037f19a7c3b358f533ecfb235f70824261eaf189d0bdcde6f9cedaa5952be2a6940884e688418b725cb3a67fc1b7d366483a76b7c62326ca857b8efe3a3f3
+DIST enblend-4.2.0_p20240424.tar.xz 505928 BLAKE2B 49a9cfd2cb332573a1d3882ce6d50513008ee71d7235f69bb7920fc9b71f6c0c6e5e7ae88de4c5879d4cb2ee94d437b1752d6c13117c07ad81a6832b45985684 SHA512 1eed2cac0dd6d0ddec41097c4d21ebbad01981e6abbb5fe3db69fc4ef50728ce997faad73dc17255997e8eee9af9d540e38bc2bdf106eb6ca338ef1650680894
diff --git a/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild b/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild
new file mode 100644
index 000000000000..8dfc5ef79971
--- /dev/null
+++ b/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Image Blending with Multiresolution Splines"
+HOMEPAGE="http://enblend.sourceforge.net/"
+SRC_URI="https://dev.gentoo.org/~dilfridge/distfiles/${P}.tar.xz"
+
+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 )"
+
+BDEPEND="
+ sys-apps/help2man
+ virtual/pkgconfig
+ doc? (
+ app-text/ghostscript-gpl
+ app-text/texlive
+ dev-lang/perl
+ dev-perl/Readonly
+ dev-tex/hevea
+ gnome-base/librsvg
+ media-gfx/graphviz
+ >=media-gfx/fig2dev-3.2.9-r1
+ sci-visualization/gnuplot[cairo,gd]
+ virtual/imagemagick-tools[tiff]
+ )
+"
+RDEPEND="
+ media-libs/lcms:2
+ media-libs/openexr:=
+ media-libs/tiff:=
+ media-libs/vigra[openexr]
+ sci-libs/gsl:=
+ debug? ( dev-libs/dmalloc[threads] )
+ tcmalloc? ( dev-util/google-perftools )
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ media-libs/libpng:0
+ media-libs/libjpeg-turbo:=
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-doc-install-dir-fix.patch
+ "${FILESDIR}"/${PN}-4.2.0_p20161007-cmake.patch
+ "${FILESDIR}"/${PN}-4.2.0_p20161007-gcc-10.patch
+ "${FILESDIR}"/${PN}-4.2.0_p20161007-doc-scaleable-fonts.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ sed -i -e "s:share/doc/enblend:share/doc/${PF}:" doc/CMakeLists.txt || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_SSE2=$(usex cpu_flags_x86_sse2)
+ -DENABLE_DMALLOC=$(usex debug)
+ -DDOC=$(usex doc)
+ -DENABLE_OPENMP=$(usex openmp)
+ -DENABLE_TCMALLOC=$(usex tcmalloc)
+ )
+ if use doc; then
+ mycmakeargs+=(
+ -DINSTALL_HTML_DOC=ON
+ -DINSTALL_PDF_DOC=ON
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_compile() {
+ # To allow icon resizing with renderers (no way to disable)
+ addpredict /dev/dri
+
+ # To compile fonts in the temp directory
+ export VARTEXFONTS="${T}/fonts"
+
+ # forcing -j1 as every parallel compilation process needs about 1 GB RAM.
+ cmake_src_compile -j1
+}
diff --git a/media-gfx/enblend/files/enblend-4.2.0_p20240424-doc-install-dir-fix.patch b/media-gfx/enblend/files/enblend-4.2.0_p20240424-doc-install-dir-fix.patch
new file mode 100644
index 000000000000..7d3a24f72ce5
--- /dev/null
+++ b/media-gfx/enblend/files/enblend-4.2.0_p20240424-doc-install-dir-fix.patch
@@ -0,0 +1,45 @@
+diff -ruN enblend.orig/CMakeLists.txt enblend/CMakeLists.txt
+--- enblend.orig/CMakeLists.txt 2024-04-24 14:42:26.000000000 +1100
++++ enblend/CMakeLists.txt 2024-04-24 14:52:10.533011199 +1100
+@@ -15,9 +15,6 @@
+ endif()
+
+ project(enblend)
+-IF(NOT MSVC)
+- SET(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel" FORCE)
+-ENDIF(NOT MSVC)
+ # where to look first for cmake modules, before ${CMAKE_ROOT}/Modules/
+ # is checked
+ # For now, reuse the hugin modules directory
+@@ -140,7 +137,6 @@
+ ENDIF()
+
+ IF(CMAKE_COMPILER_IS_GNUCXX)
+- SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3 -ffast-math -DNDEBUG -Wall")
+ IF(APPLE AND CMAKE_MAJOR_VERSION EQUAL 2 AND CMAKE_MINOR_VERSION LESS 5)
+ ## Add needed Compiler and Linker flags for OSX
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flat_namespace -undefined suppress")
+diff -ruN enblend.orig/doc/CMakeLists.txt enblend/doc/CMakeLists.txt
+--- enblend.orig/doc/CMakeLists.txt 2024-04-24 14:42:26.000000000 +1100
++++ enblend/doc/CMakeLists.txt 2024-04-24 14:52:10.533011199 +1100
+@@ -406,7 +406,7 @@
+ "${CMAKE_BINARY_DIR}/doc/enfuse.html"
+ ${ENBLEND_PNGFILES}
+ ${ENFUSE_PNGFILES}
+- DESTINATION ${DocumentsDirectory}
++ DESTINATION ${DocumentsDirectory}/html
+ )
+ endif()
+
+diff -ruN enblend.orig/src/CMakeLists.txt enblend/src/CMakeLists.txt
+--- enblend.orig/src/CMakeLists.txt 2024-04-24 14:42:26.000000000 +1100
++++ enblend/src/CMakeLists.txt 2024-04-24 14:55:27.323912752 +1100
+@@ -141,7 +141,7 @@
+ set_target_properties(enblend PROPERTIES LINK_FLAGS "/DELAYLOAD:opencl.dll")
+ set_target_properties(enfuse PROPERTIES LINK_FLAGS "/DELAYLOAD:opencl.dll")
+ endif()
+-install(TARGETS enblend enfuse DESTINATION bin CONFIGURATIONS Release RelWithDebInfo MinSizeRel)
++install(TARGETS enblend enfuse DESTINATION bin)
+
+ IF(ENABLE_OPENCL AND NOT ${PREFER_SEPARATE_OPENCL_SOURCE})
+ add_dependencies(enblend cl_sources)
diff --git a/media-gfx/exiv2/exiv2-0.28.2.ebuild b/media-gfx/exiv2/exiv2-0.28.2-r1.ebuild
index d7813a403043..2bb992bdcaab 100644
--- a/media-gfx/exiv2/exiv2-0.28.2.ebuild
+++ b/media-gfx/exiv2/exiv2-0.28.2-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake-multilib python-any-r1
DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
@@ -22,20 +22,19 @@ LICENSE="GPL-2"
# We may be able to change it to $(ver_cut 1-2) once e.g.
# https://github.com/Exiv2/exiv2/pull/917 is merged.
SLOT="0/$(ver_cut 1-2)"
-IUSE="+bmff doc examples nls +png test webready +xmp"
+IUSE="+bmff doc examples jpegxl nls +png test webready +xmp"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/inih[${MULTILIB_USEDEP}]
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ jpegxl? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
- webready? (
- net-misc/curl[${MULTILIB_USEDEP}]
- )
+ webready? ( net-misc/curl[${MULTILIB_USEDEP}] )
xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
"
-DEPEND="${DEPEND}
+DEPEND="${RDEPEND}
test? ( dev-cpp/gtest )
"
BDEPEND="
@@ -74,7 +73,7 @@ src_prepare() {
multilib_src_configure() {
local mycmakeargs=(
-DEXIV2_BUILD_SAMPLES=NO
- -DEXIV2_ENABLE_BROTLI=OFF
+ -DEXIV2_ENABLE_BROTLI=$(usex jpegxl)
-DEXIV2_ENABLE_NLS=$(usex nls)
-DEXIV2_ENABLE_PNG=$(usex png)
-DEXIV2_ENABLE_CURL=$(usex webready)
diff --git a/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild b/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild
index e886fa78c3e4..d8dda8e975c8 100644
--- a/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild
+++ b/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild
@@ -9,7 +9,7 @@ inherit toolchain-funcs
DESCRIPTION="Set of tools for creating TeX documents with graphics"
HOMEPAGE="https://www.xfig.org/"
-SRC_URI="mirror://sourceforge/mcj/${P}.tar.xz
+SRC_URI="https://downloads.sourceforge.net/mcj/${P}.tar.xz
mirror://gentoo/fig2mpdf-1.1.2.tar.bz2"
#S="${WORKDIR}/${MY_P}"
diff --git a/media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch b/media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch
new file mode 100644
index 000000000000..e61f2b8d3633
--- /dev/null
+++ b/media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch
@@ -0,0 +1,174 @@
+https://github.com/fontforge/fontforge/commit/216eb14b558df344b206bf82e2bdaf03a1f2f429
+
+From 216eb14b558df344b206bf82e2bdaf03a1f2f429 Mon Sep 17 00:00:00 2001
+From: Peter Kydas <pk@canva.com>
+Date: Tue, 6 Feb 2024 20:03:04 +1100
+Subject: [PATCH] fix splinefont shell command injection (#5367)
+
+--- a/fontforge/splinefont.c
++++ b/fontforge/splinefont.c
+@@ -788,11 +788,14 @@ return( name );
+
+ char *Unarchive(char *name, char **_archivedir) {
+ char *dir = getenv("TMPDIR");
+- char *pt, *archivedir, *listfile, *listcommand, *unarchivecmd, *desiredfile;
++ char *pt, *archivedir, *listfile, *desiredfile;
+ char *finalfile;
+ int i;
+ int doall=false;
+ static int cnt=0;
++ gchar *command[5];
++ gchar *stdoutresponse = NULL;
++ gchar *stderrresponse = NULL;
+
+ *_archivedir = NULL;
+
+@@ -827,18 +830,30 @@ return( NULL );
+ listfile = malloc(strlen(archivedir)+strlen("/" TOC_NAME)+1);
+ sprintf( listfile, "%s/" TOC_NAME, archivedir );
+
+- listcommand = malloc( strlen(archivers[i].unarchive) + 1 +
+- strlen( archivers[i].listargs) + 1 +
+- strlen( name ) + 3 +
+- strlen( listfile ) +4 );
+- sprintf( listcommand, "%s %s %s > %s", archivers[i].unarchive,
+- archivers[i].listargs, name, listfile );
+- if ( system(listcommand)!=0 ) {
+- free(listcommand); free(listfile);
+- ArchiveCleanup(archivedir);
+-return( NULL );
+- }
+- free(listcommand);
++ command[0] = archivers[i].unarchive;
++ command[1] = archivers[i].listargs;
++ command[2] = name;
++ command[3] = NULL; // command args need to be NULL-terminated
++
++ if ( g_spawn_sync(
++ NULL,
++ command,
++ NULL,
++ G_SPAWN_SEARCH_PATH,
++ NULL,
++ NULL,
++ &stdoutresponse,
++ &stderrresponse,
++ NULL,
++ NULL
++ ) == FALSE) { // did not successfully execute
++ ArchiveCleanup(archivedir);
++ return( NULL );
++ }
++ // Write out the listfile to be read in later
++ FILE *fp = fopen(listfile, "wb");
++ fwrite(stdoutresponse, strlen(stdoutresponse), 1, fp);
++ fclose(fp);
+
+ desiredfile = ArchiveParseTOC(listfile, archivers[i].ars, &doall);
+ free(listfile);
+@@ -847,22 +862,28 @@ return( NULL );
+ return( NULL );
+ }
+
+- /* I tried sending everything to stdout, but that doesn't work if the */
+- /* output is a directory file (ufo, sfdir) */
+- unarchivecmd = malloc( strlen(archivers[i].unarchive) + 1 +
+- strlen( archivers[i].listargs) + 1 +
+- strlen( name ) + 1 +
+- strlen( desiredfile ) + 3 +
+- strlen( archivedir ) + 30 );
+- sprintf( unarchivecmd, "( cd %s ; %s %s %s %s ) > /dev/null", archivedir,
+- archivers[i].unarchive,
+- archivers[i].extractargs, name, doall ? "" : desiredfile );
+- if ( system(unarchivecmd)!=0 ) {
+- free(unarchivecmd); free(desiredfile);
+- ArchiveCleanup(archivedir);
+-return( NULL );
++ command[0] = archivers[i].unarchive;
++ command[1] = archivers[i].extractargs;
++ command[2] = name;
++ command[3] = doall ? "" : desiredfile;
++ command[4] = NULL;
++
++ if ( g_spawn_sync(
++ (gchar*)archivedir,
++ command,
++ NULL,
++ G_SPAWN_SEARCH_PATH,
++ NULL,
++ NULL,
++ &stdoutresponse,
++ &stderrresponse,
++ NULL,
++ NULL
++ ) == FALSE) { // did not successfully execute
++ free(desiredfile);
++ ArchiveCleanup(archivedir);
++ return( NULL );
+ }
+- free(unarchivecmd);
+
+ finalfile = malloc( strlen(archivedir) + 1 + strlen(desiredfile) + 1);
+ sprintf( finalfile, "%s/%s", archivedir, desiredfile );
+@@ -885,20 +906,54 @@ struct compressors compressors[] = {
+
+ char *Decompress(char *name, int compression) {
+ char *dir = getenv("TMPDIR");
+- char buf[1500];
+ char *tmpfn;
+-
++ gchar *command[4];
++ gint stdout_pipe;
++ gchar buffer[4096];
++ gssize bytes_read;
++ GByteArray *binary_data = g_byte_array_new();
++
+ if ( dir==NULL ) dir = P_tmpdir;
+ tmpfn = malloc(strlen(dir)+strlen(GFileNameTail(name))+2);
+ strcpy(tmpfn,dir);
+ strcat(tmpfn,"/");
+ strcat(tmpfn,GFileNameTail(name));
+ *strrchr(tmpfn,'.') = '\0';
+- snprintf( buf, sizeof(buf), "%s < %s > %s", compressors[compression].decomp, name, tmpfn );
+- if ( system(buf)==0 )
+-return( tmpfn );
+- free(tmpfn);
+-return( NULL );
++
++ command[0] = compressors[compression].decomp;
++ command[1] = "-c";
++ command[2] = name;
++ command[3] = NULL;
++
++ // Have to use async because g_spawn_sync doesn't handle nul-bytes in the output (which happens with binary data)
++ if (g_spawn_async_with_pipes(
++ NULL,
++ command,
++ NULL,
++ G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH,
++ NULL,
++ NULL,
++ NULL,
++ NULL,
++ &stdout_pipe,
++ NULL,
++ NULL) == FALSE) {
++ //command has failed
++ return( NULL );
++ }
++
++ // Read binary data from pipe and output to file
++ while ((bytes_read = read(stdout_pipe, buffer, sizeof(buffer))) > 0) {
++ g_byte_array_append(binary_data, (guint8 *)buffer, bytes_read);
++ }
++ close(stdout_pipe);
++
++ FILE *fp = fopen(tmpfn, "wb");
++ fwrite(binary_data->data, sizeof(gchar), binary_data->len, fp);
++ fclose(fp);
++ g_byte_array_free(binary_data, TRUE);
++
++ return(tmpfn);
+ }
+
+ static char *ForceFileToHaveName(FILE *file, char *exten) {
diff --git a/media-gfx/fontforge/fontforge-20230101-r1.ebuild b/media-gfx/fontforge/fontforge-20230101-r1.ebuild
new file mode 100644
index 000000000000..261c8f986c79
--- /dev/null
+++ b/media-gfx/fontforge/fontforge-20230101-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 2004-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-single-r1 xdg cmake
+
+DESCRIPTION="postscript font editor and converter"
+HOMEPAGE="https://fontforge.org/"
+SRC_URI="https://github.com/fontforge/fontforge/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="BSD GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc truetype-debugger gif gtk jpeg png +python readline test tiff svg woff2 X"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/glib-2.67:2
+ dev-libs/libltdl:0
+ dev-libs/libxml2:2=
+ >=media-libs/freetype-2.3.7:2=
+ gif? ( media-libs/giflib:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ png? ( media-libs/libpng:= )
+ tiff? ( media-libs/tiff:= )
+ truetype-debugger? ( >=media-libs/freetype-2.3.8:2[fontforge,-bindist(-)] )
+ gtk? ( >=x11-libs/gtk+-3.10:3 )
+ !gtk? (
+ X? (
+ >=x11-libs/cairo-1.6:0=
+ >=x11-libs/pango-1.10:0=[X]
+ x11-libs/libX11:=
+ x11-libs/libXi:=
+ )
+ )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ woff2? ( media-libs/woff2:0= )
+"
+DEPEND="${RDEPEND}
+ !gtk? ( X? ( x11-base/xorg-proto ) )
+"
+BDEPEND="
+ sys-devel/gettext
+ doc? ( >=dev-python/sphinx-2 )
+ python? ( ${PYTHON_DEPS} )
+ test? ( ${RDEPEND} )
+"
+
+PATCHES=(
+ "${FILESDIR}"/fontforge-doc-no-warn-error.patch
+ "${FILESDIR}"/${PN}-20230101-workaround-broken-translations.patch
+ "${FILESDIR}"/${PN}-20230101-fix-splinefont-shell-command-injection.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DOCS=$(usex doc ON OFF)
+ -DENABLE_LIBGIF=$(usex gif ON OFF)
+ -DENABLE_LIBJPEG=$(usex jpeg ON OFF)
+ -DENABLE_LIBPNG=$(usex png ON OFF)
+ -DENABLE_LIBREADLINE=$(usex readline ON OFF)
+ -DENABLE_LIBSPIRO=OFF # No package in Gentoo
+ -DENABLE_LIBTIFF=$(usex tiff ON OFF)
+ -DENABLE_MAINTAINER_TOOLS=OFF
+ -DENABLE_PYTHON_EXTENSION=$(usex python ON OFF)
+ -DENABLE_PYTHON_SCRIPTING=$(usex python ON OFF)
+ -DENABLE_TILE_PATH=ON
+ -DENABLE_WOFF2=$(usex woff2 ON OFF)
+ )
+
+ if use gtk || use X; then
+ mycmakeargs+=(
+ -DENABLE_GUI=ON
+ # Prefer GTK over X11 if both USE flage are enabled
+ -DENABLE_X11=$(usex gtk OFF ON)
+ )
+ else
+ mycmakeargs+=( -DENABLE_GUI=OFF )
+ fi
+
+ if use python; then
+ python_setup
+ mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
+ fi
+
+ if use truetype-debugger ; then
+ local ft2="${ESYSROOT}/usr/include/freetype2"
+ local ft2i="${ft2}/internal4fontforge"
+ mycmakeargs+=(
+ -DENABLE_FREETYPE_DEBUGGER="${ft2}"
+ -DFreeTypeSource_INCLUDE_DIRS="${ft2};${ft2i}/include;${ft2i}/include/freetype;${ft2i}/src/truetype"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ docompress -x /usr/share/doc/${PF}/html
+ einstalldocs
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/media-gfx/fontforge/fontforge-20230101.ebuild b/media-gfx/fontforge/fontforge-20230101.ebuild
index 001bb06fc921..f9af4d4aad6b 100644
--- a/media-gfx/fontforge/fontforge-20230101.ebuild
+++ b/media-gfx/fontforge/fontforge-20230101.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2004-2023 Gentoo Authors
+# Copyright 2004-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..12} )
inherit python-single-r1 xdg cmake
DESCRIPTION="postscript font editor and converter"
diff --git a/media-gfx/fotocx/Manifest b/media-gfx/fotocx/Manifest
index 8fd9174da806..c299d7cf60b6 100644
--- a/media-gfx/fotocx/Manifest
+++ b/media-gfx/fotocx/Manifest
@@ -1,5 +1,2 @@
-DIST fotocx-24.11-source.tar.gz 16322678 BLAKE2B 08ef6407c02d7f81717cf798f2cfec39521c60bd59a4f832c2df86fad509fadeb874348cf1cb7446f087fcb2f85c83648a1a5ace3ab4de4fea3409f1465e69d3 SHA512 fb350a17128d52974ebde9672df9919ac5b2d12eb45d61266c2af4bf0ce247b13d62fce576d477f4345186e0674ca46b0d72e97eaee71d08a0303d32d164d5ac
-DIST fotocx-24.20-source.tar.gz 16619855 BLAKE2B d4bcf0fc6aa1be31bb0bff52cf8c0eae6446b929f2c081498504fee6b55fc219adf0ce6856f3b1a57d0e553362311e25bb3c9278e9444c19e8000f0aafd7a66f SHA512 8f95912f8d4c9adcdc1f0eec0540531e1e26cff2a21f8c56737cc2e472b7307bfc925477491ec4c30cf102e8a396287a8c0ff7e0ad3f946672e6fd495a4fb369
DIST fotocx-24.21-source.tar.gz 16618357 BLAKE2B 43029d080cc843a03475b474c0807e0f2192bc6c64d20c5d41e90218f0b1f88db48aefb7622e8b521f06792a57a9d685d9c57107a309becc39d710ff5aa720a3 SHA512 2945fbaab800a115a1e0c718019ee1e66816cadf794a01db4f8238e7ba74ea033b6e9f24b4e42fe8105242f6df8861de7b00d32e81aae73577f5aa7f38c07f7f
-DIST fotoxx-23.70-source.tar.gz 16130595 BLAKE2B d5cd0453c7cc568ddc5a8d66d5f79f4a907a52aa0d635cb32701a4293a210d703e05056a1140287d20434c636f5acffc869af135cf8a3f3762ca55e10e102a05 SHA512 3616f3e90e973c872b25607951ebd41f851df45b715cb3c2df982c1f74387d9cbf0ee5fc14f3de4ecb4e3251ba25affe6cd3b5e118bce31ff01c14637d588c5d
-DIST fotoxx-23.82-source.tar.gz 16257916 BLAKE2B b985d999003ebf53dea5f4f21bca7ecd451d89a14c98aa5269f892f183e28f01a81a33bf2a92e6cef98a466069b20622e829eee897d5d818a6f27c493de48734 SHA512 1c6ded03207eaf2e890fa642ff6d9e0bfaae551e9ec1169b30f3ef8a4763cda01dddc7e0c62e7da29a397ad22c4702c0613d383804563b065ce334918381bd2d
+DIST fotocx-24.30-source.tar.gz 16103870 BLAKE2B 3261b9f4fb0345b37b146e443216e21d57ab9b11a1b77be9b9d94247cc8ae74442b75219fbf3d12f67ba16cee0cf772d3ba83d9e2b5ae38ddbbfd5bd42ea9c52 SHA512 39a4c8526e8fe7e49f4c85953e843243577b9a5b34b89030c452336f51c0ca6e381c38ba60ee39e6ee58b528d824240a821487e5e95a04dd44dabfe38e43f131
diff --git a/media-gfx/fotocx/files/fotocx-24.11-documentation.patch b/media-gfx/fotocx/files/fotocx-24.11-documentation.patch
deleted file mode 100644
index 85ca1093d186..000000000000
--- a/media-gfx/fotocx/files/fotocx-24.11-documentation.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/Makefile b/Makefile
-index 4098035..345a8a2 100644
---- a/Makefile
-+++ b/Makefile
-@@ -128,8 +128,7 @@ install: fotocx uninstall
- cp -f -R images/* $(DESTDIR)$(IMAGEDIR)
- cp -f metainfo/* $(DESTDIR)$(METAINFODIR)
- # man page
-- gzip -fk -9 man/fotocx.man
-- mv -f man/fotocx.man.gz $(DESTDIR)$(MANDIR)/fotocx.1.gz
-+ cp man/fotocx.man $(DESTDIR)$(MANDIR)/fotocx.1
- # desktop file and icon
- cp -f fotocx.desktop $(DESTDIR)$(MENUDIR)
- cp -f fotocx.png $(DESTDIR)$(ICONDIR)
-diff --git a/zfuncs.cc b/zfuncs.cc
-index 3aa6766..1fbedb9 100644
---- a/zfuncs.cc
-+++ b/zfuncs.cc
-@@ -6122,7 +6122,7 @@ int zinitapp(ch *appvers, int argc, ch *argv[])
-
- strncatv(zdatadir,199,zprefix,"/share/",zappname,"/data",null); // /prefix/share/appname/data
- strncatv(zimagedir,199,zprefix,"/share/",zappname,"/images",null); // /prefix/share/appname/images
-- strncatv(zdocdir,199,zprefix,"/share/doc/",zappname,null); // /prefix/share/doc/appname
-+ strncatv(zdocdir,199,zprefix,"/share/doc/",zappvers,null); // /prefix/share/doc/appname
-
- ch_time = zstrdup(build_date_time,"zinitapp");
- if (ch_time[4] == ' ') ch_time[4] = '0'; // replace month day ' d' with '0d'
diff --git a/media-gfx/fotocx/files/fotoxx-22.18-documentation.patch b/media-gfx/fotocx/files/fotoxx-22.18-documentation.patch
deleted file mode 100644
index 23d9509458d9..000000000000
--- a/media-gfx/fotocx/files/fotoxx-22.18-documentation.patch
+++ /dev/null
@@ -1,23 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -122,8 +123,7 @@
- cp -f -R data/* $(DESTDIR)$(DATADIR)
- cp -f -R images/* $(DESTDIR)$(IMAGEDIR)
- # man page
-- gzip -fk -9 man/fotoxx.man
-- mv -f man/fotoxx.man.gz $(DESTDIR)$(MANDIR)/fotoxx.1.gz
-+ cp man/fotoxx.man $(DESTDIR)$(MANDIR)/fotoxx.1
- # desktop file and icon
- cp -f fotoxx.desktop $(DESTDIR)$(MENUDIR)
- cp -f fotoxx.png $(DESTDIR)$(ICONDIR)
---- a/zfuncs.cc
-+++ b/zfuncs.cc
-@@ -6106,7 +6106,7 @@
-
- strncatv(zdatadir,199,zprefix,"/share/",zappname,"/data",null); // /prefix/share/appname/data
- strncatv(zimagedir,199,zprefix,"/share/",zappname,"/images",null); // /prefix/share/appname/images
-- strncatv(zdocdir,199,zprefix,"/share/doc/",zappname,null); // /prefix/share/doc/appname
-+ strncatv(zdocdir,199,zprefix,"/share/doc/",zappvers,null); // /prefix/share/doc/appname
-
- ch_time = zstrdup(build_date_time,"zinitapp");
- if (ch_time[4] == ' ') ch_time[4] = '0'; // replace month day ' d' with '0d'
diff --git a/media-gfx/fotocx/files/fotoxx-22.82-documentation.patch b/media-gfx/fotocx/files/fotoxx-22.82-documentation.patch
deleted file mode 100644
index 80910d4331d9..000000000000
--- a/media-gfx/fotocx/files/fotoxx-22.82-documentation.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-diff --git a/Makefile b/Makefile
-index f80e166..8c1e794 100644
---- a/Makefile
-+++ b/Makefile
-@@ -128,8 +128,7 @@ install: fotoxx uninstall
- cp -f -R images/* $(DESTDIR)$(IMAGEDIR)
- cp -f metainfo/* $(DESTDIR)$(METAINFODIR)
- # man page
-- gzip -fk -9 man/fotoxx.man
-- mv -f man/fotoxx.man.gz $(DESTDIR)$(MANDIR)/fotoxx.1.gz
-+ cp man/fotoxx.man $(DESTDIR)$(MANDIR)/fotoxx.1
- # desktop file and icon
- cp -f fotoxx.desktop $(DESTDIR)$(MENUDIR)
- cp -f fotoxx.png $(DESTDIR)$(ICONDIR)
-diff --git a/zfuncs.cc b/zfuncs.cc
-index 3ecf485..23f8d2d 100644
---- a/zfuncs.cc
-+++ b/zfuncs.cc
-@@ -6123,7 +6123,7 @@ int zinitapp(ch *appvers, int argc, ch *argv[])
-
- strncatv(zdatadir,199,zprefix,"/share/",zappname,"/data",null); // /prefix/share/appname/data
- strncatv(zimagedir,199,zprefix,"/share/",zappname,"/images",null); // /prefix/share/appname/images
-- strncatv(zdocdir,199,zprefix,"/share/doc/",zappname,null); // /prefix/share/doc/appname
-+ strncatv(zdocdir,199,zprefix,"/share/doc/",zappvers,null); // /prefix/share/doc/appname-version
-
- ch_time = zstrdup(build_date_time,"zinitapp");
- if (ch_time[4] == ' ') ch_time[4] = '0'; // replace month day ' d' with '0d'
diff --git a/media-gfx/fotocx/fotocx-23.70.ebuild b/media-gfx/fotocx/fotocx-23.70.ebuild
deleted file mode 100644
index 5ca640ae39ae..000000000000
--- a/media-gfx/fotocx/fotocx-23.70.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit optfeature xdg-utils
-
-DESCRIPTION="Program for improving image files made with a digital camera"
-HOMEPAGE="https://kornelix.net/fotoxx/fotoxx.html"
-SRC_URI="https://kornelix.net/downloads/downloads/fotoxx-${PV}-source.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE=""
-
-# 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
-"
-
-S="${WORKDIR}/fotoxx"
-
-PATCHES=( "${FILESDIR}/fotoxx-22.18-documentation.patch" )
-
-DOCS=()
-HTML_DOCS=()
-
-src_prepare() {
- sed -i -e "/^DOCDIR/ s/fotoxx$/${PF}/" Makefile || die
- sed -i -e "/^Icon/ s/\.png$//" fotoxx.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}" 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/fotoxx/data/userguide and after running fotoxx a copy will"
- elog "be placed at /home/<user>/.fotoxx/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-23.82.ebuild b/media-gfx/fotocx/fotocx-23.82.ebuild
deleted file mode 100644
index cd89c8d333dc..000000000000
--- a/media-gfx/fotocx/fotocx-23.82.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit optfeature xdg-utils
-
-DESCRIPTION="Program for improving image files made with a digital camera"
-HOMEPAGE="https://kornelix.net/fotoxx/fotoxx.html"
-SRC_URI="https://kornelix.net/downloads/downloads/fotoxx-${PV}-source.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE=""
-
-# 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
-"
-
-S="${WORKDIR}/fotoxx"
-
-PATCHES=( "${FILESDIR}/fotoxx-22.82-documentation.patch" )
-
-DOCS=()
-HTML_DOCS=()
-
-src_prepare() {
- sed -i -e "/^DOCDIR/ s/fotoxx$/${PF}/" Makefile || die
- sed -i -e "/^Icon/ s/\.png$//" fotoxx.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}" 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/fotoxx/data/userguide and after running fotoxx a copy will"
- elog "be placed at /home/<user>/.fotoxx/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-24.11-r1.ebuild b/media-gfx/fotocx/fotocx-24.11-r1.ebuild
deleted file mode 100644
index 973a6788289e..000000000000
--- a/media-gfx/fotocx/fotocx-24.11-r1.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# 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.11-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}" 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-24.21.ebuild b/media-gfx/fotocx/fotocx-24.21-r1.ebuild
index 130da99dcd2c..ace12ae77268 100644
--- a/media-gfx/fotocx/fotocx-24.21.ebuild
+++ b/media-gfx/fotocx/fotocx-24.21-r1.ebuild
@@ -12,7 +12,7 @@ S="${WORKDIR}/${PN}"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+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
@@ -49,7 +49,7 @@ src_prepare() {
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}" install
+ emake DESTDIR="${D}" PREFIX="/usr" install
rm -f "${D}"/usr/share/doc/${PF}/*.man || die
docompress -x /usr/share/doc
}
diff --git a/media-gfx/fotocx/fotocx-24.20.ebuild b/media-gfx/fotocx/fotocx-24.30.ebuild
index 130da99dcd2c..8eee122865a7 100644
--- a/media-gfx/fotocx/fotocx-24.20.ebuild
+++ b/media-gfx/fotocx/fotocx-24.30.ebuild
@@ -49,7 +49,7 @@ src_prepare() {
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}" install
+ emake DESTDIR="${D}" PREFIX="/usr" install
rm -f "${D}"/usr/share/doc/${PF}/*.man || die
docompress -x /usr/share/doc
}
diff --git a/media-gfx/fotowall/metadata.xml b/media-gfx/fotowall/metadata.xml
index 77e7cc3a50ec..06573d32398d 100644
--- a/media-gfx/fotowall/metadata.xml
+++ b/media-gfx/fotowall/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="webcam">Enable webcam support</flag>
</use>
diff --git a/media-gfx/freecad/files/freecad-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch b/media-gfx/freecad/files/freecad-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
deleted file mode 100644
index 8e875c1811f5..000000000000
--- a/media-gfx/freecad/files/freecad-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From 74664bf8c9142320be335ab91dca53cb1a1187a2 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Fri, 12 Mar 2021 23:55:09 +0100
-Subject: [PATCH] [Gentoo specific] Remove ccache usage
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -8,11 +8,6 @@ if (POLICY CMP0072)
- cmake_policy(SET CMP0072 OLD)
- endif(POLICY CMP0072)
-
--find_program(CCACHE_PROGRAM ccache) #This check should occur before project()
--if(CCACHE_PROGRAM)
-- set_property(GLOBAL PROPERTY RULE_LAUNCH_COMPILE "${CCACHE_PROGRAM}")
--endif()
--
- project(FreeCAD)
-
- set(PACKAGE_VERSION_NAME "Vulcan")
---
-2.30.1
-
diff --git a/media-gfx/freecad/files/freecad-0.19.4-Gentoo-specific-don-t-check-vcs.patch b/media-gfx/freecad/files/freecad-0.19.4-Gentoo-specific-don-t-check-vcs.patch
deleted file mode 100644
index 62ae92392adf..000000000000
--- a/media-gfx/freecad/files/freecad-0.19.4-Gentoo-specific-don-t-check-vcs.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From 60ba533d21302b8a4c11ac06adb53b4041754b02 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Tue, 1 Mar 2022 18:22:00 +0100
-Subject: [PATCH] [Gentoo specific] don't check vcs
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/src/Tools/SubWCRev.py
-+++ b/src/Tools/SubWCRev.py
-@@ -455,7 +455,7 @@ def main():
- if o in ("-b", "--bindir"):
- bindir = a
-
-- vcs=[GitControl(), DebianGitHub(), BazaarControl(), Subversion(), MercurialControl(), DebianChangelog(), UnknownControl()]
-+ vcs=[UnknownControl()]
- for i in vcs:
- if i.extractInfo(srcdir, bindir):
- # Open the template file and the version file
---
-2.35.1
-
diff --git a/media-gfx/freecad/files/freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch b/media-gfx/freecad/files/freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch
deleted file mode 100644
index 44d49ca3bf94..000000000000
--- a/media-gfx/freecad/files/freecad-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/FreeCAD/FreeCAD/commit/c7a21ecbeecefe7c2dfc9e950b3d6bb42351d476
-
-From c7a21ecbeecefe7c2dfc9e950b3d6bb42351d476 Mon Sep 17 00:00:00 2001
-From: wmayer <wmayer@users.sourceforge.net>
-Date: Sat, 11 Feb 2023 17:47:49 +0100
-Subject: [PATCH 02/51] Fixes #8206: FreeCAD segfaults being run with
- parameters (e.g .desktop file has /usr/bin/freecad --single-instance)
-
---- a/src/Base/Interpreter.cpp
-+++ b/src/Base/Interpreter.cpp
-@@ -563,7 +563,7 @@ void initInterpreter(int argc,char *argv[])
- {
- PyStatus status;
- PyConfig config;
-- PyConfig_InitPythonConfig(&config);
-+ PyConfig_InitIsolatedConfig(&config);
-
- status = PyConfig_SetBytesArgv(&config, argc, argv);
- if (PyStatus_Exception(status)) {
---
-2.39.1
-
diff --git a/media-gfx/freecad/files/freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch b/media-gfx/freecad/files/freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch
deleted file mode 100644
index 402c84ee4d28..000000000000
--- a/media-gfx/freecad/files/freecad-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-https://github.com/FreeCAD/FreeCAD/commit/8b056f156fd087b3df36a5223fc5ca6900649a83
-
-From 8b056f156fd087b3df36a5223fc5ca6900649a83 Mon Sep 17 00:00:00 2001
-From: Uwe <donovaly@users.noreply.github.com>
-Date: Wed, 17 Aug 2022 12:32:02 +0200
-Subject: [PATCH 0008/1678] [Netgen] add headers to support recent Netgen
-
-- as reported here: https://forum.freecadweb.org/viewtopic.php?p=618174#p618174
-- also fix compiler warnings about unsafe bool handling
---- a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp
-+++ b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_Mesher.cpp
-@@ -50,7 +50,9 @@
-
- #include <utilities.h>
-
-+#include <BRepBndLib.hxx>
- #include <BRepBuilderAPI_Copy.hxx>
-+#include <BRepMesh_IncrementalMesh.hxx>
- #include <BRep_Tool.hxx>
- #include <Bnd_B3d.hxx>
- #include <NCollection_Map.hxx>
-@@ -66,6 +68,7 @@
- #include <TopTools_DataMapOfShapeShape.hxx>
- #include <TopTools_MapOfShape.hxx>
- #include <TopoDS.hxx>
-+#include <TopoDS_Solid.hxx>
-
- #ifdef _MSC_VER
- #pragma warning(disable : 4067)
-@@ -3027,7 +3030,7 @@ bool NETGENPlugin_Mesher::Compute()
- }
- }
- }
-- if (!err && mparams.secondorder > 0)
-+ if (!err && mparams.secondorder)
- {
- try
- {
-@@ -3302,7 +3305,7 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
- // calculate total nb of segments and length of edges
- double fullLen = 0.0;
- int fullNbSeg = 0;
-- int entity = mparams.secondorder > 0 ? SMDSEntity_Quad_Edge : SMDSEntity_Edge;
-+ int entity = mparams.secondorder ? SMDSEntity_Quad_Edge : SMDSEntity_Edge;
- TopTools_DataMapOfShapeInteger Edge2NbSeg;
- for (TopExp_Explorer exp(_shape, TopAbs_EDGE); exp.More(); exp.Next())
- {
-@@ -3340,7 +3343,7 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
- {
- vector<int>& aVec = aResMap[_mesh->GetSubMesh(Edge2NbSegIt.Key())];
- if ( aVec[ entity ] > 1 && aVec[ SMDSEntity_Node ] == 0 )
-- aVec[SMDSEntity_Node] = mparams.secondorder > 0 ? 2*aVec[ entity ]-1 : aVec[ entity ]-1;
-+ aVec[SMDSEntity_Node] = mparams.secondorder ? 2*aVec[ entity ]-1 : aVec[ entity ]-1;
-
- fullNbSeg += aVec[ entity ];
- Edge2NbSeg( Edge2NbSegIt.Key() ) = aVec[ entity ];
-@@ -3386,7 +3389,7 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
- int nbNodes = tooManyElems ? hugeNb : (( nbFaces*3 - (nb1d-1)*2 ) / 6 + 1 );
-
- vector<int> aVec(SMDSEntity_Last, 0);
-- if( mparams.secondorder > 0 ) {
-+ if (mparams.secondorder) {
- int nb1d_in = (nbFaces*3 - nb1d) / 2;
- aVec[SMDSEntity_Node] = nbNodes + nb1d_in;
- aVec[SMDSEntity_Quad_Triangle] = nbFaces;
-@@ -3428,11 +3431,11 @@ bool NETGENPlugin_Mesher::Evaluate(MapShapeNbElems& aResMap)
- if ( tooManyElems ) // avoid FPE
- {
- aVec[SMDSEntity_Node] = hugeNb;
-- aVec[ mparams.secondorder > 0 ? SMDSEntity_Quad_Tetra : SMDSEntity_Tetra] = hugeNb;
-+ aVec[ mparams.secondorder ? SMDSEntity_Quad_Tetra : SMDSEntity_Tetra] = hugeNb;
- }
- else
- {
-- if( mparams.secondorder > 0 ) {
-+ if (mparams.secondorder) {
- aVec[SMDSEntity_Node] = nb1d_in/3 + 1 + nb1d_in;
- aVec[SMDSEntity_Quad_Tetra] = nbVols;
- }
---- a/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp
-+++ b/src/3rdParty/salomesmesh/src/NETGENPlugin/NETGENPlugin_NETGEN_2D_ONLY.cpp
-@@ -39,6 +39,8 @@
- #include <StdMeshers_MaxElementArea.hxx>
- #include <StdMeshers_QuadranglePreference.hxx>
- #include <StdMeshers_ViscousLayers2D.hxx>
-+#include <TopExp.hxx>
-+#include <TopExp_Explorer.hxx>
-
- #include <Precision.hxx>
- #include <Standard_ErrorHandler.hxx>
---
-2.39.1
-
diff --git a/media-gfx/freecad/files/freecad-0.20.2-libE57Format-fix-compile-using-gcc13.patch b/media-gfx/freecad/files/freecad-0.20.2-libE57Format-fix-compile-using-gcc13.patch
deleted file mode 100644
index c26c8db4e867..000000000000
--- a/media-gfx/freecad/files/freecad-0.20.2-libE57Format-fix-compile-using-gcc13.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-https://github.com/FreeCAD/FreeCAD/commit/f91ad00ed23e92c81fff2bd0073c662291efad32
-https://bugs.gentoo.org/905451
-
-From f91ad00ed23e92c81fff2bd0073c662291efad32 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= <adrian@suse.de>
-Date: Mon, 27 Mar 2023 11:45:20 +0200
-Subject: [PATCH 011/420] libE57Format: fix compile using gcc13
-
-Adding missing header file. Also submitted this upstream here:
-
-https://github.com/asmaloney/libE57Format/pull/243
---- a/src/3rdParty/libE57Format/include/E57Format.h
-+++ b/src/3rdParty/libE57Format/include/E57Format.h
-@@ -33,6 +33,7 @@
-
- #include <cfloat>
- #include <memory>
-+#include <cstdint>
- #include <vector>
-
- #include "E57Exception.h"
---
-2.40.1
-
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
new file mode 100644
index 000000000000..b41e3618f55f
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch
@@ -0,0 +1,33 @@
+# 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/freecad-0.21.2-r2.ebuild b/media-gfx/freecad/freecad-0.21.2-r2.ebuild
index 9d461dec5d65..b0f1d3fac470 100644
--- a/media-gfx/freecad/freecad-0.21.2-r2.ebuild
+++ b/media-gfx/freecad/freecad-0.21.2-r2.ebuild
@@ -73,8 +73,8 @@ RDEPEND="
net-misc/curl
)
fem? (
- !qt6? ( <sci-libs/vtk-9.3.0:=[qt5,rendering] )
- qt6? ( <sci-libs/vtk-9.3.0:=[-qt5,qt6,rendering] )
+ !qt6? ( sci-libs/vtk:=[qt5,rendering] )
+ qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] )
)
gui? (
>=media-libs/coin-4.0.0
@@ -164,6 +164,7 @@ REQUIRED_USE="
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
)
DOCS=( CODE_OF_CONDUCT.md README.md )
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index 76f8dae4592e..ad9a9580164b 100644
--- a/media-gfx/freecad/freecad-9999.ebuild
+++ b/media-gfx/freecad/freecad-9999.ebuild
@@ -74,8 +74,8 @@ RDEPEND="
net-misc/curl
)
fem? (
- !qt6? ( <sci-libs/vtk-9.3.0:=[qt5,rendering] )
- qt6? ( <sci-libs/vtk-9.3.0:=[-qt5,qt6,rendering] )
+ !qt6? ( sci-libs/vtk:=[qt5,rendering] )
+ qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] )
)
gui? (
>=media-libs/coin-4.0.0
diff --git a/media-gfx/freepv/freepv-0.3.0-r5.ebuild b/media-gfx/freepv/freepv-0.3.0-r5.ebuild
index 8dd676af17ad..2c5a61b7a3b9 100644
--- a/media-gfx/freepv/freepv-0.3.0-r5.ebuild
+++ b/media-gfx/freepv/freepv-0.3.0-r5.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
@@ -6,7 +6,7 @@ inherit cmake flag-o-matic xdg
DESCRIPTION="Panorama viewer (Quicktime, PangeaVR, GLPanoView formats)"
HOMEPAGE="https://freepv.sourceforge.net/"
-SRC_URI="mirror://sourceforge/freepv/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/freepv/${P}.tar.gz"
LICENSE="LGPL-2.1"
SLOT="0"
diff --git a/media-gfx/gnofract4d/Manifest b/media-gfx/gnofract4d/Manifest
index a72b7ece14c3..56a01a89d483 100644
--- a/media-gfx/gnofract4d/Manifest
+++ b/media-gfx/gnofract4d/Manifest
@@ -1,2 +1,3 @@
DIST gnofract4d-4.3_p20221125.tar.gz 18275177 BLAKE2B 24fcd71818a98a3137b485046f295b523884d05ece694e37cf871e1fdaba7b26ac870675895a7a361e5d1fe142b0ae68c720c6e39615226951e8e1af6f57c848 SHA512 75d8d12441a0e2024f0ef125fee5cbe8dcc10c4c48ba366d5529644ae743928b998f85369aafc6e737cb994a82ebdcbe941e11c916c0d0996e785a146469e359
DIST gnofract4d-4.3_p20230717.tar.gz 18275492 BLAKE2B 0bc8834c6f3ed3ec48bf4ee49ad563ce6842485dd32eb568c580d74528d062dcad6f8da4a67434c3784497883d0a73d4fa050a346ef970ac348db58bc6e7ea39 SHA512 c427c42e75b830dcf95012346d2db3a9b63be4e5431e7eae5ec74b915f5eedd857d8fa56d5ec37e8d245c3a77dc413c72115700d614205bdd62b916e6865f749
+DIST gnofract4d-4.3_p20240324.tar.gz 18274057 BLAKE2B 183bf96e0429fa676f1c6fca4ae6466c489d0fe5ffee09ae161e01d0f22b4e77165f846416702c026f5d73a27833dfebd49f5c3131c621c9b1abd2ee9fc5529d SHA512 a174683b659347e4a7203d78d309ab41971d105131d40ea60490871477e80109624405f7012e455389ccc9325e08f224a1d3ea2d4e0c23fc9c5ca4fb83f9dfaa
diff --git a/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild b/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild
new file mode 100644
index 000000000000..47a8800ec72a
--- /dev/null
+++ b/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson optfeature python-single-r1 virtualx xdg
+
+COMMIT="06e34bbf920692828bfd816ab5fb93e7ea9c51c2"
+
+DESCRIPTION="A program for drawing beautiful mathematically-based images known as fractals"
+HOMEPAGE="https://fract4d.github.io/gnofract4d/"
+SRC_URI="https://github.com/fract4d/gnofract4d/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ media-libs/libjpeg-turbo:0=
+ media-libs/libpng:0="
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ gui-libs/gtk:4[introspection]"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ media-video/ffmpeg[vpx,zlib]
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )"
+
+src_prepare() {
+ sed -i "s:4.3:${PV}:" meson.build || die
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Dstrip=false
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}"/usr/bin/gnofract4d
+}
+
+src_test() {
+ local EPYTEST_IGNORE=(
+ # test_regress.py does not provide pytest with any tests and inspecting it requires dev-python/pillow
+ test_regress.py
+ )
+ local EPYTEST_DESELECT=(
+ # terminate called after throwing an instance of 'std::exception'
+ test_fract4d.py::Test::testFDSite
+ )
+ use x86 && EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/890796
+ test_fractal.py::Test::testDiagonal
+ test_fractal.py::Test::testRecolor
+ )
+ TMPDIR="${T}" virtx epytest
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "creating videos" media-video/ffmpeg[vpx,zlib]
+}
diff --git a/media-gfx/gnuclad/gnuclad-0.2.4-r1.ebuild b/media-gfx/gnuclad/gnuclad-0.2.4-r1.ebuild
index b7c62a8e14c1..70909ef8351a 100644
--- a/media-gfx/gnuclad/gnuclad-0.2.4-r1.ebuild
+++ b/media-gfx/gnuclad/gnuclad-0.2.4-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://launchpad.net/gnuclad/trunk/$(ver_cut 1-2)/+download/${P}.tar.g
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64"
IUSE="examples"
PATCHES=(
diff --git a/media-gfx/gnuclad/gnuclad-0.2.4.ebuild b/media-gfx/gnuclad/gnuclad-0.2.4.ebuild
deleted file mode 100644
index 37032049bba1..000000000000
--- a/media-gfx/gnuclad/gnuclad-0.2.4.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools eapi7-ver
-
-DESCRIPTION="Cladogram tree generator mainly used by the GNU/Linux distro timeline project"
-HOMEPAGE="https://launchpad.net/gnuclad/"
-SRC_URI="http://launchpad.net/gnuclad/trunk/$(ver_cut 1-2)/+download/${P}.tar.gz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="examples"
-
-DEPEND=""
-RDEPEND=""
-
-PATCHES=(
- "${FILESDIR}/${P}"-werror.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_install() {
- default
-
- doman doc/man/gnuclad.1
-
- use examples && dodoc -r example
-}
diff --git a/media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild b/media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild
index 2ac9eca09aa2..634fbfe666c8 100644
--- a/media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild
+++ b/media-gfx/gphoto2/gphoto2-2.5.28-r1.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
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Free, redistributable digital camera software application"
HOMEPAGE="http://www.gphoto.org/"
-SRC_URI="mirror://sourceforge/gphoto/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/gphoto/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/gphotofs/gphotofs-0.5-r1.ebuild b/media-gfx/gphotofs/gphotofs-0.5-r1.ebuild
index 70e41b60a411..803ce5ec8985 100644
--- a/media-gfx/gphotofs/gphotofs-0.5-r1.ebuild
+++ b/media-gfx/gphotofs/gphotofs-0.5-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="FUSE file system for interfacing with digital cameras using gphoto2"
HOMEPAGE="http://www.gphoto.org/"
-SRC_URI="mirror://sourceforge/gphoto/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/gphoto/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/gphotofs/gphotofs-0.5-r2.ebuild b/media-gfx/gphotofs/gphotofs-0.5-r2.ebuild
index 5fe6dbff0ba6..fc65ac960d60 100644
--- a/media-gfx/gphotofs/gphotofs-0.5-r2.ebuild
+++ b/media-gfx/gphotofs/gphotofs-0.5-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="FUSE file system for interfacing with digital cameras using gphoto2"
HOMEPAGE="http://www.gphoto.org/"
-SRC_URI="mirror://sourceforge/gphoto/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/gphoto/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/gpicview/gpicview-0.2.5-r2.ebuild b/media-gfx/gpicview/gpicview-0.2.5-r2.ebuild
index 2f1cbc4091d0..baef4b43f9b8 100644
--- a/media-gfx/gpicview/gpicview-0.2.5-r2.ebuild
+++ b/media-gfx/gpicview/gpicview-0.2.5-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit xdg
DESCRIPTION="A Simple and Fast Image Viewer for X"
HOMEPAGE="http://lxde.sourceforge.net/gpicview"
-SRC_URI="mirror://sourceforge/lxde/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/gpicview/gpicview-0.2.5-r3.ebuild b/media-gfx/gpicview/gpicview-0.2.5-r3.ebuild
index 10c2520eb5ed..09ecbb0b6501 100644
--- a/media-gfx/gpicview/gpicview-0.2.5-r3.ebuild
+++ b/media-gfx/gpicview/gpicview-0.2.5-r3.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
@@ -7,7 +7,7 @@ inherit xdg
DESCRIPTION="A Simple and Fast Image Viewer for X"
HOMEPAGE="http://lxde.sourceforge.net/gpicview"
-SRC_URI="mirror://sourceforge/lxde/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/lxde/${P}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/graphicsmagick/Manifest b/media-gfx/graphicsmagick/Manifest
index 6afe88883471..064922e59397 100644
--- a/media-gfx/graphicsmagick/Manifest
+++ b/media-gfx/graphicsmagick/Manifest
@@ -1,2 +1,4 @@
DIST GraphicsMagick-1.3.42.tar.xz 5553692 BLAKE2B f8f0d7d420375262b7db8ffcc1c9eb4e372fb20a7c5e55f566d965183bb9a8d3a20a43c249a0b05235caaa0883c58885329d5c8d1967f464c0b757d40d6fc825 SHA512 b512c9c4c06ec60f7d31e140da08f2bc16d492a2dab82778f1b38c074a25340159e59bfbaa30b2997a6fbd10a500ae1bda527e3c3854e4462bcae837e818428a
DIST GraphicsMagick-1.3.42.tar.xz.asc 228 BLAKE2B 723f8d1ca13bd5b32a12d69bb46f4991df6e7963f0d4c12ddaf60167a9ade4c6fa36819cce1df202437143bc55e17dd6f2cff821412dafceeb3ab5e3dbf3dc7b SHA512 de5d90c748376e7e480a066e9354ac1771f15cb2d8c6e5c9249672fd811b7bbe06f97b3348240538fa8d0d7c11150f57fb5148285214712944f7535afb943bd0
+DIST GraphicsMagick-1.3.43.tar.xz 5657460 BLAKE2B caa4fa6546acb4cdaaa421030ccc5cd2b628ae723e07f84700f65e26e1f3e59039cf92fda259ee44ba1e1fa90e9c469844fb5289cc73d50c42bb50fb39358ca2 SHA512 15b4d90119f25fd45f16d50218d51d543841dd3cdaf0c585bce2c18592106bc41573ed1011d7176ff5882fa0cded8f46bfd1e639c26063571109911e22098757
+DIST GraphicsMagick-1.3.43.tar.xz.asc 228 BLAKE2B cb1290af98ea92de948df0421b7de101a713f0b8ce4a07959269d5edd10eb26f088585e1a8272482a9b219ee388ae8f040fc047ca76d5f752f04a7b57987c89c SHA512 3bd62bc64dd1b6f2d7a17f1281d8dc4c67c474860b4d95bfaf5fb4be93d0ee156b54c2a6ef4166687854e5458a6e43e61816a5fd508e4702f693a9d1e43984bf
diff --git a/media-gfx/graphicsmagick/files/graphicsmagick-1.3.43-bashism.patch b/media-gfx/graphicsmagick/files/graphicsmagick-1.3.43-bashism.patch
new file mode 100644
index 000000000000..060959ae6e87
--- /dev/null
+++ b/media-gfx/graphicsmagick/files/graphicsmagick-1.3.43-bashism.patch
@@ -0,0 +1,12 @@
+Sent upstream by email on 2024-04-23.
+--- a/configure.ac
++++ b/configure.ac
+@@ -1720,7 +1720,7 @@ AC_SUBST([LIB_MTMALLOC])
+ # Find OpenMP library (no pkg-config support!)
+ #
+ LIB_OMP=''
+-if test "${OPENMP_ENABLED}" == 'yes'
++if test "${OPENMP_ENABLED}" = 'yes'
+ then
+ if test "${GCC}" = "yes"
+ then
diff --git a/media-gfx/graphicsmagick/graphicsmagick-1.3.42.ebuild b/media-gfx/graphicsmagick/graphicsmagick-1.3.42.ebuild
index e95dedd071e0..2164e7fb17c6 100644
--- a/media-gfx/graphicsmagick/graphicsmagick-1.3.42.ebuild
+++ b/media-gfx/graphicsmagick/graphicsmagick-1.3.42.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
@@ -16,8 +16,8 @@ else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bobfriesenhahn.asc
inherit verify-sig
- SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.xz"
- SRC_URI+=" verify-sig? ( mirror://sourceforge/${PN}/${MY_P}.tar.xz.asc )"
+ SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://downloads.sourceforge.net/${PN}/${MY_P}.tar.xz.asc )"
S="${WORKDIR}/${MY_P}"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
diff --git a/media-gfx/graphicsmagick/graphicsmagick-1.3.43-r1.ebuild b/media-gfx/graphicsmagick/graphicsmagick-1.3.43-r1.ebuild
new file mode 100644
index 000000000000..74cddef1ebc4
--- /dev/null
+++ b/media-gfx/graphicsmagick/graphicsmagick-1.3.43-r1.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+MY_P=${P/graphicsm/GraphicsM}
+DESCRIPTION="Collection of tools and libraries for many image formats"
+HOMEPAGE="http://www.graphicsmagick.org/ https://foss.heptapod.net/graphicsmagick/graphicsmagick"
+
+if [[ ${PV} == 9999 ]] ; then
+ EHG_REPO_URI="https://foss.heptapod.net/${PN}/${PN}"
+ inherit mercurial
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bobfriesenhahn.asc
+ inherit verify-sig
+
+ SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}-history/$(ver_cut 1-2)/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://downloads.sourceforge.net/project/${PN}/${PN}-history/$(ver_cut 1-2)/${MY_P}.tar.xz.asc )"
+ S="${WORKDIR}/${MY_P}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bobfriesenhahn )"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV%.*}"
+IUSE="bzip2 +cxx debug dynamic-loading fpx heif imagemagick jbig jpeg jpeg2k jpegxl lcms lzma"
+IUSE+=" openmp perl png postscript q16 q32 static-libs tcmalloc tiff truetype"
+IUSE+=" webp wmf X zlib zstd"
+
+RDEPEND="
+ dev-libs/libltdl
+ bzip2? ( app-arch/bzip2 )
+ fpx? ( media-libs/libfpx )
+ heif? ( media-libs/libheif:= )
+ imagemagick? ( !media-gfx/imagemagick )
+ jbig? ( media-libs/jbigkit )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/jasper:= )
+ jpegxl? ( media-libs/libjxl:= )
+ lcms? ( media-libs/lcms:2 )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl:= )
+ png? ( media-libs/libpng:= )
+ postscript? ( app-text/ghostscript-gpl )
+ tcmalloc? ( dev-util/google-perftools:= )
+ tiff? ( media-libs/tiff:= )
+ truetype? (
+ media-fonts/urw-fonts
+ >=media-libs/freetype-2
+ )
+ webp? ( media-libs/libwebp:= )
+ wmf? ( media-libs/libwmf )
+ X? (
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ zlib? ( sys-libs/zlib )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND+=" virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.41-flags.patch
+ "${FILESDIR}"/${PN}-1.3.41-perl.patch
+ "${FILESDIR}"/${PN}-1.3.43-bashism.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local depth=8
+
+ use q16 && depth=16
+ use q32 && depth=32
+
+ local myeconfargs=(
+ --enable-largefile
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable debug prof)
+ $(use_enable debug gcov)
+ $(use_enable imagemagick magick-compat)
+ $(use_enable openmp)
+ --with-threads
+ $(use_with dynamic-loading modules)
+ --with-quantum-depth=${depth}
+ --without-frozenpaths
+ $(use_with cxx magick-plus-plus)
+ $(use_with heif)
+ $(use_with jpegxl jxl)
+ $(use_with perl)
+ --with-perl-options=INSTALLDIRS=vendor
+ $(use_with bzip2 bzlib)
+ $(use_with postscript dps)
+ $(use_with fpx)
+ $(use_with jbig)
+ $(use_with webp)
+ $(use_with jpeg)
+ $(use_with jpeg2k jp2)
+ $(use_with lcms lcms2)
+ $(use_with lzma)
+ $(use_with png)
+ $(use_with tcmalloc)
+ $(use_with tiff)
+ --without-trio
+ $(use_with truetype ttf)
+ $(use_with wmf)
+ --with-fontpath="${EPREFIX}"/usr/share/fonts
+ --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
+ --with-windows-font-dir="${EPREFIX}"/usr/share/fonts/corefonts
+ $(use_with zlib)
+ $(use_with zstd)
+ $(use_with X x)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ use perl && emake perl-build
+}
+
+src_test() {
+ # Some perl tests fail when DISPLAY is set
+ unset DISPLAY
+
+ default
+}
+
+src_install() {
+ default
+
+ if use perl ; then
+ emake -C PerlMagick DESTDIR="${D}" install
+
+ find "${ED}" -type f -name perllocal.pod -exec rm -f {} + || die
+ find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} + || die
+ fi
+
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} + || die
+}
diff --git a/media-gfx/graphicsmagick/graphicsmagick-1.3.43.ebuild b/media-gfx/graphicsmagick/graphicsmagick-1.3.43.ebuild
new file mode 100644
index 000000000000..0c2ec447af58
--- /dev/null
+++ b/media-gfx/graphicsmagick/graphicsmagick-1.3.43.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+MY_P=${P/graphicsm/GraphicsM}
+DESCRIPTION="Collection of tools and libraries for many image formats"
+HOMEPAGE="http://www.graphicsmagick.org/ https://hg.osdn.net/view/graphicsmagick/GM"
+
+if [[ ${PV} == 9999 ]] ; then
+ EHG_REPO_URI="http://hg.code.sf.net/p/${PN}/code"
+ inherit mercurial
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bobfriesenhahn.asc
+ inherit verify-sig
+
+ SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://downloads.sourceforge.net/${PN}/${MY_P}.tar.xz.asc )"
+ S="${WORKDIR}/${MY_P}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bobfriesenhahn )"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV%.*}"
+IUSE="bzip2 +cxx debug dynamic-loading fpx heif imagemagick jbig jpeg jpegxl lcms lzma"
+IUSE+=" openmp perl png postscript q16 q32 static-libs svg tcmalloc tiff truetype"
+IUSE+=" webp wmf X zlib zstd"
+
+RDEPEND="
+ dev-libs/libltdl
+ bzip2? ( app-arch/bzip2 )
+ fpx? ( media-libs/libfpx )
+ heif? ( media-libs/libheif:= )
+ imagemagick? ( !media-gfx/imagemagick )
+ jbig? ( media-libs/jbigkit )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpegxl? ( media-libs/libjxl:= )
+ lcms? ( media-libs/lcms:2 )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl:= )
+ png? ( media-libs/libpng:= )
+ postscript? ( app-text/ghostscript-gpl )
+ svg? ( dev-libs/libxml2 )
+ tcmalloc? ( dev-util/google-perftools:= )
+ tiff? ( media-libs/tiff:= )
+ truetype? (
+ media-fonts/urw-fonts
+ >=media-libs/freetype-2
+ )
+ webp? ( media-libs/libwebp:= )
+ wmf? ( media-libs/libwmf )
+ X? (
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ zlib? ( sys-libs/zlib )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND+=" virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.41-flags.patch
+ "${FILESDIR}"/${PN}-1.3.41-perl.patch
+ "${FILESDIR}"/${PN}-1.3.43-bashism.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local depth=8
+
+ use q16 && depth=16
+ use q32 && depth=32
+
+ local myeconfargs=(
+ --enable-largefile
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable debug prof)
+ $(use_enable debug gcov)
+ $(use_enable imagemagick magick-compat)
+ $(use_enable openmp)
+ --with-threads
+ $(use_with dynamic-loading modules)
+ --with-quantum-depth=${depth}
+ --without-frozenpaths
+ $(use_with cxx magick-plus-plus)
+ $(use_with heif)
+ $(use_with jpegxl jxl)
+ $(use_with perl)
+ --with-perl-options=INSTALLDIRS=vendor
+ $(use_with bzip2 bzlib)
+ $(use_with postscript dps)
+ $(use_with fpx)
+ $(use_with jbig)
+ $(use_with webp)
+ $(use_with jpeg)
+ # Needs last-rited/unpackaged jasper
+ --without-jp2
+ $(use_with lcms lcms2)
+ $(use_with lzma)
+ $(use_with png)
+ $(use_with tcmalloc)
+ $(use_with tiff)
+ --without-trio
+ $(use_with truetype ttf)
+ $(use_with wmf)
+ --with-fontpath="${EPREFIX}"/usr/share/fonts
+ --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
+ --with-windows-font-dir="${EPREFIX}"/usr/share/fonts/corefonts
+ $(use_with svg xml)
+ $(use_with zlib)
+ $(use_with zstd)
+ $(use_with X x)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ use perl && emake perl-build
+}
+
+src_test() {
+ # Some perl tests fail when DISPLAY is set
+ unset DISPLAY
+
+ default
+}
+
+src_install() {
+ default
+
+ if use perl ; then
+ emake -C PerlMagick DESTDIR="${D}" install
+
+ find "${ED}" -type f -name perllocal.pod -exec rm -f {} + || die
+ find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} + || die
+ fi
+
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} + || die
+}
diff --git a/media-gfx/graphicsmagick/graphicsmagick-9999.ebuild b/media-gfx/graphicsmagick/graphicsmagick-9999.ebuild
index 8ae904f0cb83..fd1d7bcb1476 100644
--- a/media-gfx/graphicsmagick/graphicsmagick-9999.ebuild
+++ b/media-gfx/graphicsmagick/graphicsmagick-9999.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
@@ -7,17 +7,17 @@ inherit autotools toolchain-funcs
MY_P=${P/graphicsm/GraphicsM}
DESCRIPTION="Collection of tools and libraries for many image formats"
-HOMEPAGE="http://www.graphicsmagick.org/ https://hg.osdn.net/view/graphicsmagick/GM"
+HOMEPAGE="http://www.graphicsmagick.org/ https://foss.heptapod.net/graphicsmagick/graphicsmagick"
if [[ ${PV} == 9999 ]] ; then
- EHG_REPO_URI="http://hg.code.sf.net/p/${PN}/code"
+ EHG_REPO_URI="https://foss.heptapod.net/${PN}/${PN}"
inherit mercurial
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bobfriesenhahn.asc
inherit verify-sig
- SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.xz"
- SRC_URI+=" verify-sig? ( mirror://sourceforge/${PN}/${MY_P}.tar.xz.asc )"
+ SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}-history/$(ver_cut 1-2)/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://downloads.sourceforge.net/project/${PN}/${PN}-history/$(ver_cut 1-2)/${MY_P}.tar.xz.asc )"
S="${WORKDIR}/${MY_P}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
@@ -27,8 +27,8 @@ fi
LICENSE="MIT"
SLOT="0/${PV%.*}"
-IUSE="bzip2 +cxx debug dynamic-loading fpx heif imagemagick jbig jpeg jpegxl lcms lzma"
-IUSE+=" openmp perl png postscript q16 q32 static-libs svg tcmalloc tiff truetype"
+IUSE="bzip2 +cxx debug dynamic-loading fpx heif imagemagick jbig jpeg jpeg2k jpegxl lcms lzma"
+IUSE+=" openmp perl png postscript q16 q32 static-libs tcmalloc tiff truetype"
IUSE+=" webp wmf X zlib zstd"
RDEPEND="
@@ -39,13 +39,13 @@ RDEPEND="
imagemagick? ( !media-gfx/imagemagick )
jbig? ( media-libs/jbigkit )
jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/jasper:= )
jpegxl? ( media-libs/libjxl:= )
lcms? ( media-libs/lcms:2 )
lzma? ( app-arch/xz-utils )
perl? ( dev-lang/perl:= )
png? ( media-libs/libpng:= )
postscript? ( app-text/ghostscript-gpl )
- svg? ( dev-libs/libxml2 )
tcmalloc? ( dev-util/google-perftools:= )
tiff? ( media-libs/tiff:= )
truetype? (
@@ -113,8 +113,7 @@ src_configure() {
$(use_with jbig)
$(use_with webp)
$(use_with jpeg)
- # Needs last-rited/unpackaged jasper
- --without-jp2
+ $(use_with jpeg2k jp2)
$(use_with lcms lcms2)
$(use_with lzma)
$(use_with png)
@@ -126,7 +125,6 @@ src_configure() {
--with-fontpath="${EPREFIX}"/usr/share/fonts
--with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
--with-windows-font-dir="${EPREFIX}"/usr/share/fonts/corefonts
- $(use_with svg xml)
$(use_with zlib)
$(use_with zstd)
$(use_with X x)
diff --git a/media-gfx/graphicsmagick/metadata.xml b/media-gfx/graphicsmagick/metadata.xml
index 77c1abede762..99ba429c7cac 100644
--- a/media-gfx/graphicsmagick/metadata.xml
+++ b/media-gfx/graphicsmagick/metadata.xml
@@ -26,5 +26,6 @@
</use>
<upstream>
<remote-id type="sourceforge">graphicsmagick</remote-id>
+ <remote-id type="heptapod">graphicsmagick/graphicsmagick</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest
index 2c366235c70a..800c975d3a03 100644
--- a/media-gfx/graphviz/Manifest
+++ b/media-gfx/graphviz/Manifest
@@ -1,2 +1,3 @@
DIST graphviz-10.0.1.tar.xz 21297808 BLAKE2B f420e6ca01720e6e1ecd9d4330b10659e8a4069e94b0d97fdbcda91d73e9cc679a3d351a5eeb9f86f67eb907eb5d4caf932de79318bb38712a3107ddab14bf08 SHA512 5e6a195357d38aa93fbd231c854b25e4ae4b0efd011de1e37550bc77b2137c98d72fdf7b0df0e8f3e9ba70849461e85cbd591b0064eccfc8788fcf532b7ae2c1
+DIST graphviz-11.0.0.tar.xz 21306368 BLAKE2B c424b2d81180513f2a03210b5a5febfbf80e5c9912ad020d7015be69fdae6579d44108d22f99450ae3384560b610dbaac49a50fe8cac9dbd4e80b8761a8b65a8 SHA512 e95c9ed491c5f09190ca0f085aba2b9a3f6703371d62f6a275f41ddfceef7d79956e1fb0ccfda6c21f2e57afc3a88e37d7091af724911fe3e900ee90a7a811cf
DIST graphviz-9.0.0.tar.xz 21412796 BLAKE2B a1fd4e0d8d25ade263fdc0d357078cd8bb7847e88746561a0cfe07d129d193c309c7f4cb25f41cebca9549c8486aae2b1e3ebca0eaca57a41cbe2304a418dbd3 SHA512 912f31a4a90e21de9601ffcf8a85d2650d46f07e61aeb0e5124e5a91c67f444d08d40d49f15f2e4078d53d01fb9ca6f54dc9d18c1c08406da91b8ba9ad61416c
diff --git a/media-gfx/graphviz/graphviz-11.0.0.ebuild b/media-gfx/graphviz/graphviz-11.0.0.ebuild
new file mode 100644
index 000000000000..be0c1a91e64f
--- /dev/null
+++ b/media-gfx/graphviz/graphviz-11.0.0.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2024 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
+
+DESCRIPTION="Open Source Graph Visualization Software"
+HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
+# Unfortunately upstream uses an "artifact" store for the pre-generated
+# tarball now, which makes predictable URLs impossible.
+SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${PV}/${P}.tar.xz"
+
+LICENSE="CPL-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~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 )
+ pdf? ( cairo )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Requires ksh, tests against installed package, missing files and directory
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/expat-2
+ >=dev-libs/glib-2.11.1:2
+ dev-libs/libltdl
+ >=media-libs/freetype-2.1.10
+ >=media-libs/gd-2.0.34:=[fontconfig,jpeg,png,truetype,zlib]
+ media-libs/libjpeg-turbo:=
+ >=media-libs/libpng-1.2:=
+ sys-libs/zlib
+ virtual/libiconv
+ cairo? (
+ >=x11-libs/cairo-1.1.10[svg(+)]
+ >=x11-libs/pango-1.12
+ )
+ devil? ( media-libs/devil[png,jpeg] )
+ gtk2? (
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:2
+ )
+ gts? ( sci-libs/gts )
+ guile? ( dev-scheme/guile )
+ 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
+ )
+ ruby? ( dev-lang/ruby:* )
+ svg? ( gnome-base/librsvg )
+ tcl? ( >=dev-lang/tcl-8.3:= )
+ webp? ( media-libs/libwebp:= )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ app-alternatives/lex
+ dev-build/libtool
+ virtual/pkgconfig
+ doc? (
+ app-text/ghostscript-gpl
+ sys-apps/groff
+ )
+ guile? (
+ dev-lang/swig
+ dev-scheme/guile
+ )
+ nls? ( >=sys-devel/gettext-0.14.5 )
+ perl? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+ ruby? ( dev-lang/swig )
+ tcl? ( dev-lang/swig )"
+
+# Dependency description / Maintainer info:
+
+# Rendering is done via the following plugins (/plugins):
+# - core, dot_layout, neato_layout, gd , dot
+# the ones which are always compiled in, depend on zlib, gd
+# - gtk
+# Directly depends on gtk-2.
+# needs 'pangocairo' enabled in graphviz configuration
+# gtk-2 depends on pango, cairo and libX11 directly.
+# - gdk-pixbuf
+# Directly depends on gtk-2 and gdk-pixbuf.
+# needs 'pangocairo' enabled in graphviz configuration
+# - ming
+# flash plugin via -Tswf requires media-libs/ming-0.4. Disabled as it's
+# incomplete.
+# - cairo/pango:
+# Needs pango for text layout, uses cairo methods to draw stuff
+# - xlib:
+# needs cairo+pango,
+# can make use of gnomeui and inotify support (??? unsure),
+# needs libXaw for UI
+# UI also links directly against libX11, libXmu, and libXt
+# and uses libXpm if available so we make sure it always is
+
+# There can be swig-generated bindings for the following languages (/tclpkg/gv):
+# - c-sharp (disabled)
+# - scheme (enabled via guile) ... no longer broken on ~x86
+# - go (disabled)
+# - io (disabled)
+# - lua (enabled via lua)
+# - ocaml (enabled via ocaml)
+# - perl (enabled via perl) *1
+# - php (enabled via php) *2
+# - python (enabled via python) *1
+# - ruby (enabled via ruby) *1
+# - tcl (enabled via tcl)
+# *1 = The ${P}-bindings.patch takes care that those bindings are installed to the right location
+# *2 = Those bindings don't build because the paths for the headers/libs aren't
+# detected correctly and/or the options passed to swig are wrong (-php instead of -php4/5)
+
+# There are several other tools in /tclpkg:
+# gdtclft, tcldot, tclhandle, tclpathplan, tclstubs ; enabled with: --with-tcl
+# tkspline, tkstubs ; enabled with: --with-tk
+
+# And the commands (/cmd):
+# - dot, gvedit, gvpr, smyrna, tools/* :)
+# sci-libs/gts can be used for some of these
+# - gvedit (via 'qt5'):
+# based on ./configure it needs qt-core and qt-gui only
+# - smyrna : experimental opengl front-end (via 'smyrna')
+# currently disabled -- it segfaults a lot
+# needs x11-libs/gtkglext, gnome-base/libglade, media-libs/freeglut
+# sci-libs/gts, x11-libs/gtk. Also needs 'gtk','glade','glut','gts' and 'png'
+# with flags enabled at configure time
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ local myconf=(
+ # Speeds up the libltdl configure
+ --cache-file="${S}"/config.cache
+ --enable-ltdl
+ $(use_enable doc man-pdfs)
+ $(use_with cairo pangocairo)
+ $(use_with examples demos '$(docdir)/examples')
+ $(use_with devil)
+ $(use_with gtk2 gdk)
+ $(use_with gtk2 gdk-pixbuf)
+ $(use_with gtk2)
+ $(use_with gts)
+ $(use_with qt5 qt)
+ $(use_with lasi)
+ $(use_with pdf poppler)
+ $(use_with postscript ghostscript)
+ $(use_with svg rsvg)
+ $(use_with webp)
+ $(use_with X x)
+ --with-digcola
+ --with-freetype2
+ --with-ipsepcola
+ --with-libgd
+ --with-sfdp
+ --without-ming
+ # New/experimental features, to be tested, disable for now
+ --without-ipsepcola
+ --without-smyrna
+ # Bindings
+ $(use_enable guile)
+ $(use_enable perl)
+ $(use_enable python python3)
+ $(use_enable ruby)
+ $(use_enable tcl)
+ --disable-go
+ --disable-lua
+ --disable-java
+ --disable-ocaml
+ --disable-php
+ --disable-python
+ --disable-r
+ --disable-sharp
+ # libtool file collision, bug #276609
+ --without-included-ltdl
+ --disable-ltdl-install
+ QMAKE=$(usev qt5 qmake5)
+ )
+ # XXX: Temporary bash for bug #926600. It's been reverted upstream
+ # on master already:
+ # https://gitlab.com/graphviz/graphviz/-/merge_requests/3636
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ use python && python_optimize \
+ "${D}"$(python_get_sitedir) \
+ "${ED}"/usr/$(get_libdir)/graphviz/python3
+}
+
+pkg_postinst() {
+ # We need to register all plugins before they become usable
+ dot -c || die
+}
+
+pkg_postrm() {
+ # Remove cruft, bug #547344
+ rm -rf "${EROOT}"/usr/$(get_libdir)/graphviz/config{,6} || die
+}
diff --git a/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild b/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
index f23d4688e633..656fdc789c77 100644
--- a/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
+++ b/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
@@ -9,7 +9,7 @@ inherit optfeature perl-module virtualx xdg-utils
DESCRIPTION="Scan documents, perform OCR, produce PDFs and DjVus"
HOMEPAGE="http://gscan2pdf.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild b/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild
index 21f36a314c88..8b113cf10656 100644
--- a/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild
+++ b/media-gfx/gscan2pdf/gscan2pdf-2.13.2.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
@@ -9,7 +9,7 @@ inherit optfeature perl-module virtualx xdg-utils
DESCRIPTION="Scan documents, perform OCR, produce PDFs and DjVus"
HOMEPAGE="http://gscan2pdf.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/gthumb/Manifest b/media-gfx/gthumb/Manifest
index 6169f309f8d4..783f7460c84e 100644
--- a/media-gfx/gthumb/Manifest
+++ b/media-gfx/gthumb/Manifest
@@ -1,4 +1 @@
-DIST gthumb-3.12.3.tar.xz 7604504 BLAKE2B 1db5007a8ea659d59d8ac1b3c3c07c494db719788678588e801560796c0453ccf83abbfb2c9976a7977d19e6fbb2d4540cc5c6675629219e8aba3a031acb61be SHA512 d538d7b306dac391283229147eccc2eef8933107676c0645b08371754d5956729d3747a5b7393366e25967924dee73255fde3d96d3d8e2fc8e7d47a91ceafa94
-DIST gthumb-3.12.4.tar.xz 7617528 BLAKE2B 2119692d460d12351273b8e7a9e14cf97c486cf283331f3e5d842cdc3c8b42edf4cdaf87d19962c1a162b956682a7aed34dba7e43130d49603d30441c5f8d12c SHA512 0a15f78e65c7dc8e45b6410052a2ebd480247828e48dbb59d80447d97f2d83a3914fa513b1cf5a9f3a0ce620fb49245a919e3ca5b61cf8a144806c724e14a747
-DIST gthumb-3.12.5.tar.xz 7618720 BLAKE2B beeac0c62934555dd306ab2319598de7703a10f01498972e7d177286b5f298070274e44977abc665c5e33e996ae884ffb0dfe80641a396425bdf549252c8832d SHA512 acdaef8cddcd68d9dd269bf1c000c50ab8dcb359df18337de243398448407beef1fe6daaeb99e161486a5a5575919779eb7d335c38ea4a4196c2a32d46aa5517
DIST gthumb-3.12.6.tar.xz 7616560 BLAKE2B b1ccf4c76bc0edc5e8f60027357c8e48327fffa44d7ae3792c48701cc74d0338f2a7e6433bbe0e6e86c1bc522fffb8e9d614552a4ea9cf68562415a9cc9f7878 SHA512 cfbb901779b78b382ca3abefb7aed5a737a323cc3a7b6d94f5b84d524028c9584761e9001d845508f544f4989eb56563c25f2c64bce60ca84d2d9645f6c0d041
diff --git a/media-gfx/gthumb/gthumb-3.12.3.ebuild b/media-gfx/gthumb/gthumb-3.12.3.ebuild
deleted file mode 100644
index 69cc7d97c322..000000000000
--- a/media-gfx/gthumb/gthumb-3.12.3.ebuild
+++ /dev/null
@@ -1,110 +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 gnome.org gnome2-utils meson python-any-r1 xdg
-
-DESCRIPTION="Image viewer and browser for Gnome"
-HOMEPAGE="https://wiki.gnome.org/Apps/Gthumb"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="cdr colord exif keyring gstreamer heif jpegxl lcms raw slideshow svg tiff webkit webp"
-
-# libX11 dep is a workaround. See files/3.12.2-link-with-x11.patch
-RDEPEND="
- x11-libs/libX11
-
- >=dev-libs/glib-2.54.0:2
- >=x11-libs/gtk+-3.16.0:3
- exif? ( >=media-gfx/exiv2-0.21:= )
- slideshow? (
- >=media-libs/clutter-1.12.0:1.0
- >=media-libs/clutter-gtk-1:1.0
- )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- media-plugins/gst-plugins-gtk:1.0
- )
- raw? (
- >=media-libs/libraw-0.14:=
- )
- webkit? (
- >=net-libs/libsoup-2.42.0:2.4
- >=dev-libs/json-glib-0.15.0
- >=net-libs/webkit-gtk-1.10.0:4
- )
- keyring? ( >=app-crypt/libsecret-0.11 )
- cdr? ( >=app-cdr/brasero-3.2.0 )
- svg? ( >=gnome-base/librsvg-2.34:2 )
- webp? ( >=media-libs/libwebp-0.2.0:= )
- jpegxl? (
- >=media-libs/libjxl-0.3.0
- <media-libs/libjxl-0.9
- )
- heif? ( >=media-libs/libheif-1.11:= )
- lcms? ( >=media-libs/lcms-2.6:2 )
- colord? (
- >=x11-misc/colord-1.3
- >=media-libs/lcms-2.6:2
- )
-
- sys-libs/zlib
- media-libs/libjpeg-turbo:=
- tiff? ( media-libs/tiff:= )
- media-libs/libpng:0=
- >=gnome-base/gsettings-desktop-schemas-0.1.4
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/appstream-0.14.6
- dev-util/glib-utils
- dev-util/itstool
- app-alternatives/yacc
- app-alternatives/lex
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- -Drun-in-place=false
- $(meson_use exif exiv2)
- $(meson_use slideshow clutter)
- $(meson_use gstreamer)
- -Dlibchamplain=false # Upstream still doesn't seem to consider this ready
- $(meson_use colord)
- $(meson_use tiff libtiff)
- $(meson_use webp libwebp)
- $(meson_use jpegxl libjxl)
- $(meson_use heif libheif)
- $(meson_use raw libraw)
- $(meson_use svg librsvg)
- $(meson_use keyring libsecret)
- $(meson_use webkit webservices)
- $(meson_use cdr libbrasero)
- )
-
- # colord pulls in lcms2 anyway, so enable lcms with USE="colord -lcms";
- # some of upstream HAVE_COLORD code depends on HAVE_LCMS2
- if use lcms || use colord; then
- emesonargs+=( -Dlcms2=true )
- else
- emesonargs+=( -Dlcms2=false )
- fi
- meson_src_configure
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/media-gfx/gthumb/gthumb-3.12.4.ebuild b/media-gfx/gthumb/gthumb-3.12.4.ebuild
deleted file mode 100644
index 84b1bafa5aeb..000000000000
--- a/media-gfx/gthumb/gthumb-3.12.4.ebuild
+++ /dev/null
@@ -1,110 +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 gnome.org gnome2-utils meson python-any-r1 xdg
-
-DESCRIPTION="Image viewer and browser for Gnome"
-HOMEPAGE="https://wiki.gnome.org/Apps/Gthumb"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cdr colord exif keyring gstreamer heif jpegxl lcms raw slideshow svg tiff webkit webp"
-
-# libX11 dep is a workaround. See files/3.12.2-link-with-x11.patch
-RDEPEND="
- x11-libs/libX11
-
- >=dev-libs/glib-2.54.0:2
- >=x11-libs/gtk+-3.16.0:3
- exif? ( >=media-gfx/exiv2-0.21:= )
- slideshow? (
- >=media-libs/clutter-1.12.0:1.0
- >=media-libs/clutter-gtk-1:1.0
- )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- media-plugins/gst-plugins-gtk:1.0
- )
- raw? (
- >=media-libs/libraw-0.14:=
- )
- webkit? (
- >=net-libs/libsoup-2.42.0:2.4
- >=dev-libs/json-glib-0.15.0
- >=net-libs/webkit-gtk-1.10.0:4
- )
- keyring? ( >=app-crypt/libsecret-0.11 )
- cdr? ( >=app-cdr/brasero-3.2.0 )
- svg? ( >=gnome-base/librsvg-2.34:2 )
- webp? ( >=media-libs/libwebp-0.2.0:= )
- jpegxl? (
- >=media-libs/libjxl-0.3.0:=
- <media-libs/libjxl-0.9
- )
- heif? ( >=media-libs/libheif-1.11:= )
- lcms? ( >=media-libs/lcms-2.6:2 )
- colord? (
- >=x11-misc/colord-1.3
- >=media-libs/lcms-2.6:2
- )
-
- sys-libs/zlib
- media-libs/libjpeg-turbo:=
- tiff? ( media-libs/tiff:= )
- media-libs/libpng:0=
- >=gnome-base/gsettings-desktop-schemas-0.1.4
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/appstream-0.14.6
- dev-util/glib-utils
- dev-util/itstool
- app-alternatives/yacc
- app-alternatives/lex
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- -Drun-in-place=false
- $(meson_use exif exiv2)
- $(meson_use slideshow clutter)
- $(meson_use gstreamer)
- -Dlibchamplain=false # Upstream still doesn't seem to consider this ready
- $(meson_use colord)
- $(meson_use tiff libtiff)
- $(meson_use webp libwebp)
- $(meson_use jpegxl libjxl)
- $(meson_use heif libheif)
- $(meson_use raw libraw)
- $(meson_use svg librsvg)
- $(meson_use keyring libsecret)
- $(meson_use webkit webservices)
- $(meson_use cdr libbrasero)
- )
-
- # colord pulls in lcms2 anyway, so enable lcms with USE="colord -lcms";
- # some of upstream HAVE_COLORD code depends on HAVE_LCMS2
- if use lcms || use colord; then
- emesonargs+=( -Dlcms2=true )
- else
- emesonargs+=( -Dlcms2=false )
- fi
- meson_src_configure
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/media-gfx/gthumb/gthumb-3.12.5.ebuild b/media-gfx/gthumb/gthumb-3.12.5.ebuild
deleted file mode 100644
index ad298e9c5a78..000000000000
--- a/media-gfx/gthumb/gthumb-3.12.5.ebuild
+++ /dev/null
@@ -1,107 +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 gnome.org gnome2-utils meson python-any-r1 xdg
-
-DESCRIPTION="Image viewer and browser for Gnome"
-HOMEPAGE="https://wiki.gnome.org/Apps/Gthumb"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="cdr colord exif keyring gstreamer heif jpegxl lcms raw slideshow svg tiff webkit webp"
-
-# libX11 dep is a workaround. See files/3.12.2-link-with-x11.patch
-RDEPEND="
- x11-libs/libX11
-
- >=dev-libs/glib-2.54.0:2
- >=x11-libs/gtk+-3.16.0:3
- exif? ( >=media-gfx/exiv2-0.21:= )
- slideshow? (
- >=media-libs/clutter-1.12.0:1.0
- >=media-libs/clutter-gtk-1:1.0
- )
- gstreamer? (
- media-libs/gstreamer:1.0
- media-libs/gst-plugins-base:1.0
- media-plugins/gst-plugins-gtk:1.0
- )
- raw? (
- >=media-libs/libraw-0.14:=
- )
- webkit? (
- >=net-libs/libsoup-2.42.0:2.4
- >=dev-libs/json-glib-0.15.0
- >=net-libs/webkit-gtk-1.10.0:4
- )
- keyring? ( >=app-crypt/libsecret-0.11 )
- cdr? ( >=app-cdr/brasero-3.2.0 )
- svg? ( >=gnome-base/librsvg-2.34:2 )
- webp? ( >=media-libs/libwebp-0.2.0:= )
- jpegxl? ( >=media-libs/libjxl-0.3.0:= )
- heif? ( >=media-libs/libheif-1.11:= )
- lcms? ( >=media-libs/lcms-2.6:2 )
- colord? (
- >=x11-misc/colord-1.3
- >=media-libs/lcms-2.6:2
- )
-
- sys-libs/zlib
- media-libs/libjpeg-turbo:=
- tiff? ( media-libs/tiff:= )
- media-libs/libpng:0=
- >=gnome-base/gsettings-desktop-schemas-0.1.4
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/appstream-0.14.6
- dev-util/glib-utils
- dev-util/itstool
- app-alternatives/yacc
- app-alternatives/lex
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- -Drun-in-place=false
- $(meson_use exif exiv2)
- $(meson_use slideshow clutter)
- $(meson_use gstreamer)
- -Dlibchamplain=false # Upstream still doesn't seem to consider this ready
- $(meson_use colord)
- $(meson_use tiff libtiff)
- $(meson_use webp libwebp)
- $(meson_use jpegxl libjxl)
- $(meson_use heif libheif)
- $(meson_use raw libraw)
- $(meson_use svg librsvg)
- $(meson_use keyring libsecret)
- $(meson_use webkit webservices)
- $(meson_use cdr libbrasero)
- )
-
- # colord pulls in lcms2 anyway, so enable lcms with USE="colord -lcms";
- # some of upstream HAVE_COLORD code depends on HAVE_LCMS2
- if use lcms || use colord; then
- emesonargs+=( -Dlcms2=true )
- else
- emesonargs+=( -Dlcms2=false )
- fi
- meson_src_configure
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/media-gfx/gthumb/gthumb-3.12.6.ebuild b/media-gfx/gthumb/gthumb-3.12.6.ebuild
index 56d00179eb19..718683c42b47 100644
--- a/media-gfx/gthumb/gthumb-3.12.6.ebuild
+++ b/media-gfx/gthumb/gthumb-3.12.6.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Gthumb"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux"
IUSE="cdr colord exif keyring gstreamer heif jpegxl lcms raw slideshow svg tiff webkit webp"
# libX11 dep is a workaround. See files/3.12.2-link-with-x11.patch
diff --git a/media-gfx/hugin/hugin-2023.0.0-r1.ebuild b/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
index 093270613d29..4587f91ae7d5 100644
--- a/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
+++ b/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
@@ -4,13 +4,13 @@
EAPI=7
WX_GTK_VER="3.2-gtk3"
-PYTHON_COMPAT=( python3_{9..12} )
+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="mirror://sourceforge/${PN}/${P/_/}.tar.bz2"
+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"
diff --git a/media-gfx/inkscape/inkscape-1.3.2-r1.ebuild b/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild
index 305c099e01eb..f746f1a32d60 100644
--- a/media-gfx/inkscape/inkscape-1.3.2-r1.ebuild
+++ b/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild
@@ -64,6 +64,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
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}]
diff --git a/media-gfx/inkscape/inkscape-9999.ebuild b/media-gfx/inkscape/inkscape-9999.ebuild
index 94b4d2fb3a70..b91ba44ceda8 100644
--- a/media-gfx/inkscape/inkscape-9999.ebuild
+++ b/media-gfx/inkscape/inkscape-9999.ebuild
@@ -64,6 +64,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
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}]
diff --git a/media-gfx/jhead/Manifest b/media-gfx/jhead/Manifest
index d2f781c90eac..6a884cfb9bdd 100644
--- a/media-gfx/jhead/Manifest
+++ b/media-gfx/jhead/Manifest
@@ -1,2 +1 @@
-DIST jhead-3.06.0.1.tgz 1144608 BLAKE2B 100eaddd8585e8845e83c3eb24aefb0a0a2d477f0ee818c212cc39ad88f39cbac5532979dbe7ee8c4d7b9475fdf4cce4257679d996e4fae14ef1902ef2f8e5a2 SHA512 7804f4bab1b07eb08ed981364b3634b1c25e0657d57651871aede640254c33f9d2307ba7c9fb3bc81eb06b71ba5d27437275a3fe53859e9e9457e37e12545db9
DIST jhead-3.08.tgz 1146535 BLAKE2B 8e53fed1988c12be40b804fd3c8aa51d71ddaa11d97ed11479ec100f26585cc4a19b3b29249642e1cdb5afbf612b6b4281c4f0ec3ad10ad1a6e6fdffc6729740 SHA512 eb50e487eaacf2b489ce5e76f09730c8bb0c50a0e2d7c854ebe8bd204ead8f6256e052c49c72af179dc46dd5372c1eff32ff549b947637b242dc7bbe8c7b20d5
diff --git a/media-gfx/jhead/files/jhead-3.06.0.1-CVE-2021-34055.patch b/media-gfx/jhead/files/jhead-3.06.0.1-CVE-2021-34055.patch
deleted file mode 100644
index 1669eb6f089f..000000000000
--- a/media-gfx/jhead/files/jhead-3.06.0.1-CVE-2021-34055.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From f4f57913fff5de97da347a22558bbb74a1166369 Mon Sep 17 00:00:00 2001
-From: matthias wandel <matthias@woodgears.ca>
-Date: Wed, 1 Sep 2021 18:59:15 -0300
-Subject: [PATCH] If exif header is complete garbage, don't keep it. Fixes
- issue 36
-
-(cherry picked from commit c761620767ae72e5d61c697a73de262aebe0b591)
----
- exif.c | 12 +++++++-----
- jhead.h | 2 +-
- jpgfile.c | 5 ++++-
- 3 files changed, 12 insertions(+), 7 deletions(-)
-
-diff --git a/exif.c b/exif.c
-index ba066b5..d250a8d 100755
---- a/exif.c
-+++ b/exif.c
-@@ -1005,7 +1005,7 @@ void Clear_EXIF ()
- // Process a EXIF marker
- // Describes all the drivel that most digital cameras include...
- //--------------------------------------------------------------------------
--void process_EXIF (unsigned char * ExifSection, int length)
-+int process_EXIF (unsigned char * ExifSection, int length)
- {
- int FirstOffset;
-
-@@ -1020,7 +1020,7 @@ void process_EXIF (unsigned char * ExifSection, int length)
- static uchar ExifHeader[] = "Exif\0\0";
- if (memcmp(ExifSection+2, ExifHeader,6)){
- ErrNonfatal("Incorrect Exif header",0,0);
-- return;
-+ return 0;
- }
- }
-
-@@ -1033,21 +1033,21 @@ void process_EXIF (unsigned char * ExifSection, int length)
- MotorolaOrder = 1;
- }else{
- ErrNonfatal("Invalid Exif alignment marker.",0,0);
-- return;
-+ return 0;
- }
- }
-
- // Check the next value for correctness.
- if (Get16u(ExifSection+10) != 0x2a){
- ErrNonfatal("Invalid Exif start (1)",0,0);
-- return;
-+ return 0;
- }
-
- FirstOffset = (int)Get32u(ExifSection+12);
- if (FirstOffset < 8 || FirstOffset > 16){
- if (FirstOffset < 16 || FirstOffset > length-16 || length < 16){
- ErrNonfatal("invalid offset for first Exif IFD value",0,0);
-- return;
-+ return 0;
- }
- // Usually set to 8, but other values valid too.
- ErrNonfatal("Suspicious offset of first Exif IFD value",0,0);
-@@ -1086,6 +1086,7 @@ void process_EXIF (unsigned char * ExifSection, int length)
- ImageInfo.FocalLength35mmEquiv = (int)(ImageInfo.FocalLength/ImageInfo.CCDWidth*36 + 0.5);
- }
- }
-+ return 1;
- }
-
-
-@@ -1235,6 +1236,7 @@ void create_EXIF(void)
- const char * ClearOrientation(void)
- {
- int a;
-+
- if (NumOrientations == 0) return NULL;
-
- for (a=0;a<NumOrientations;a++){
-diff --git a/jhead.h b/jhead.h
-index 3d620d9..03987e2 100644
---- a/jhead.h
-+++ b/jhead.h
-@@ -163,7 +163,7 @@ void FileTimeAsString(char * TimeStr);
- // Prototypes for exif.c functions.
- int Exif2tm(struct tm * timeptr, char * ExifTime);
- void Clear_EXIF();
--void process_EXIF (unsigned char * CharBuf, int length);
-+int process_EXIF (unsigned char * CharBuf, int length);
- void ShowImageInfo(int ShowFileInfo);
- void ShowConciseImageInfo(void);
- const char * ClearOrientation(void);
-diff --git a/jpgfile.c b/jpgfile.c
-index 097d2f1..af2d7bc 100644
---- a/jpgfile.c
-+++ b/jpgfile.c
-@@ -286,7 +286,10 @@ int ReadJpegSections (FILE * infile, ReadMode_t ReadMode)
- // There can be different section using the same marker.
- if (ReadMode & READ_METADATA){
- if (memcmp(Data+2, "Exif", 4) == 0){
-- process_EXIF(Data, itemlen);
-+ if (!process_EXIF(Data, itemlen)){
-+ // malformatted exif sections, discard.
-+ free(Sections[--SectionsRead].Data);
-+ }
- break;
- }else if (memcmp(Data+2, "http:", 5) == 0){
- Sections[SectionsRead-1].Type = M_XMP; // Change tag for internal purposes.
---
-2.39.2
-
diff --git a/media-gfx/jhead/files/jhead-3.06.0.1-mkstemp-fix-makefile.patch b/media-gfx/jhead/files/jhead-3.06.0.1-mkstemp-fix-makefile.patch
deleted file mode 100644
index d25323d4ab38..000000000000
--- a/media-gfx/jhead/files/jhead-3.06.0.1-mkstemp-fix-makefile.patch
+++ /dev/null
@@ -1,52 +0,0 @@
-diff -ruN jhead-3.06.0.1.orig/jhead.c jhead-3.06.0.1/jhead.c
---- jhead-3.06.0.1.orig/jhead.c 2021-04-14 14:02:45.000000000 +0200
-+++ jhead-3.06.0.1/jhead.c 2022-10-09 00:25:03.812585996 +0200
-@@ -377,7 +377,7 @@
- // as mktemp - that is, that between getting the random name, and making the file
- // some other program could snatch that exact same name!
- // also, not all platforms support mkstemp.
-- mktemp(TempName);
-+ mkstemp(TempName);
-
-
- if(!TempName[0]) {
-diff -ruN jhead-3.06.0.1.orig/makefile jhead-3.06.0.1/makefile
---- jhead-3.06.0.1.orig/makefile 2021-04-14 14:02:45.000000000 +0200
-+++ jhead-3.06.0.1/makefile 2022-10-09 00:27:28.659543801 +0200
-@@ -3,10 +3,14 @@
- #--------------------------------
- OBJ=obj
- SRC=.
--CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
--LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
-+LFLAGS = -fPIC -shared -Wl,-soname,libjhead.so.1
-
--all: objdir jhead
-+TARGET = libjhead.so.1.0.0
-+TARGET0 = libjhead.so
-+TARGET1 = libjhead.so.1
-+TARGET2 = libjhead.so.1.0
-+
-+all: objdir jhead $(TARGET)
-
- objdir:
- @mkdir -p obj
-@@ -15,7 +19,7 @@
- $(OBJ)/exif.o $(OBJ)/iptc.o $(OBJ)/gpsinfo.o $(OBJ)/makernote.o
-
- $(OBJ)/%.o:$(SRC)/%.c
-- ${CC} $(CFLAGS) -c $< -o $@
-+ ${CC} -fPIC $(CFLAGS) -c $< -o $@
-
- jhead: $(objs) jhead.h
- ${CC} $(LDFLAGS) -o jhead $(objs) -lm
-@@ -26,3 +30,9 @@
- install:
- mkdir -p ${DESTDIR}/usr/bin/
- cp jhead ${DESTDIR}/usr/bin/
-+
-+$(TARGET): $(objs) jhead
-+ ${CC} $(LDFLAGS) $(LFLAGS) -o $(TARGET) $(objs)
-+ ln -s ${TARGET} ${TARGET0}
-+ ln -s ${TARGET} ${TARGET1}
-+ ln -s ${TARGET} ${TARGET2}
diff --git a/media-gfx/jhead/files/jhead-3.08-fix-makefile.patch b/media-gfx/jhead/files/jhead-3.08-fix-makefile.patch
index 7f4e80be57ea..edf19da410dc 100644
--- a/media-gfx/jhead/files/jhead-3.08-fix-makefile.patch
+++ b/media-gfx/jhead/files/jhead-3.08-fix-makefile.patch
@@ -10,7 +10,7 @@
-LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
-endif
+CFLAGS ?= -O2
-+LDFLAGS += -fPIC -shared -Wl,-soname,libjhead.so.1
++LFLAGS += -fPIC -shared -Wl,-soname,libjhead.so.1
+
+TARGET = libjhead.so.1.0.0
+TARGET0 = libjhead.so
@@ -36,7 +36,7 @@
install -m 0644 jhead.1 $(MANDIR)
+
+$(TARGET): $(objs) jhead
-+ ${CC} $(LDFLAGS) $(LFLAGS) -o $(TARGET) $(objs)
++ ${CC} $(CFLAGS) $(LDFLAGS) $(LFLAGS) -o $(TARGET) $(objs)
+ ln -s ${TARGET} ${TARGET0}
+ ln -s ${TARGET} ${TARGET1}
+ ln -s ${TARGET} ${TARGET2}
diff --git a/media-gfx/jhead/jhead-3.06.0.1-r1.ebuild b/media-gfx/jhead/jhead-3.06.0.1-r1.ebuild
deleted file mode 100644
index 4a79de66ceee..000000000000
--- a/media-gfx/jhead/jhead-3.06.0.1-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DESCRIPTION="Exif Jpeg camera setting parser and thumbnail remover"
-HOMEPAGE="http://www.sentex.net/~mwandel/jhead"
-SRC_URI="https://github.com/Matthias-Wandel/jhead/archive/refs/tags/${PV}.tar.gz -> ${P}.tgz"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86"
-
-PATCHES=(
- "${FILESDIR}/${P}-mkstemp-fix-makefile.patch"
- "${FILESDIR}/${P}-CVE-2021-34055.patch"
-)
-
-src_install() {
- dobin ${PN}
- dodoc *.txt
- docinto html
- dodoc *.html
- doman ${PN}.1
- doheader ${PN}.h
- dolib.so lib${PN}.so*
-}
diff --git a/media-gfx/jhead/jhead-3.08.ebuild b/media-gfx/jhead/jhead-3.08-r1.ebuild
index c933270e140a..3522816be291 100644
--- a/media-gfx/jhead/jhead-3.08.ebuild
+++ b/media-gfx/jhead/jhead-3.08-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/Matthias-Wandel/jhead/archive/refs/tags/${PV}.tar.gz
LICENSE="public-domain"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~ia64 ppc ppc64 sparc x86"
PATCHES=(
"${FILESDIR}"/${PN}-3.08-fix-makefile.patch
@@ -25,6 +25,12 @@ src_compile() {
emake CC="$(tc-getCC)"
}
+src_test() {
+ # TODO: Add an example file we change & compare checksum?
+ # Trivial smoketest (which would've found bug #931225)
+ ./jhead -V || die
+}
+
src_install() {
dobin ${PN}
dodoc *.txt
diff --git a/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild b/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild
index 50019568af9d..e540930d599f 100644
--- a/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild
+++ b/media-gfx/jpegtoavi/jpegtoavi-1.5.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
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="JPEG to AVI/MJPEG animation command-line conversion tool"
HOMEPAGE="https://sourceforge.net/projects/jpegtoavi/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/media-gfx/kgraphviewer/Manifest b/media-gfx/kgraphviewer/Manifest
index 1680fa0d5e40..913884586af4 100644
--- a/media-gfx/kgraphviewer/Manifest
+++ b/media-gfx/kgraphviewer/Manifest
@@ -1 +1,2 @@
DIST kgraphviewer-2.4.3.tar.xz 1491328 BLAKE2B b51cf825ad4763538139f917a7d16d15a7244c19b3cab9c79bbd938ee3dd80e4e35e37012199e1256bcc9a9404d756cdb0f5ffb975484d527577c208ecf1d3fa SHA512 d18146ba380efe73e1ec716dd1cc310fe1eac23eccb10e2a699b107451637b9332cc25d62a4de762df4706cea182c9474ba1e885801c9832e1bb9bff1648e72d
+DIST kgraphviewer-2.5.0.tar.xz 1571364 BLAKE2B 77a749f6b2c7707e26993685445fac679067b1188a5e2bf974d99ddc89844eeea19de9fbdf86b9c0738a95515c3a5155743df4232167e24350c8d356ea96f6e3 SHA512 80056703cd42b709925b771fe4bafe17771954705a607d6c352a0818c726bc7b48d299fffd7f3d2f75ac498059f79923d4de468db20f8538554c4d6b8baffedb
diff --git a/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild b/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild
new file mode 100644
index 000000000000..d8fd97400f04
--- /dev/null
+++ b/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+KFMIN=6.1.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Graphviz dot graph file viewer"
+HOMEPAGE="https://apps.kde.org/kgraphviewer/"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2 GPL-2+ LGPL-2+ LGPL-2.1+ handbook? ( FDL-1.2 )"
+SLOT="0"
+IUSE=""
+
+COMMON_DEPEND="
+ >=dev-qt/qt5compat-${QTMIN}:6
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kparts-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=media-gfx/graphviz-2.30
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/boost
+"
+RDEPEND="${COMMON_DEPEND}
+ !${CATEGORY}/${PN}:5
+"
diff --git a/media-gfx/krita/krita-5.1.5.ebuild b/media-gfx/krita/krita-5.1.5.ebuild
index 3c49122dc318..854bb12e9593 100644
--- a/media-gfx/krita/krita-5.1.5.ebuild
+++ b/media-gfx/krita/krita-5.1.5.ebuild
@@ -4,7 +4,7 @@
EAPI=8
ECM_TEST="forceoptional"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
KFMIN=5.82.0
QTMIN=5.15.5
VIRTUALX_REQUIRED="test"
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 ab363c98a273..c3db9e692f75 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
@@ -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
@@ -7,7 +7,7 @@ inherit cmake toolchain-funcs flag-o-matic 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="mirror://sourceforge/qtpfsgui/${P/_/.}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/qtpfsgui/${P/_/.}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/maim/maim-5.8.0.ebuild b/media-gfx/maim/maim-5.8.0.ebuild
index 081088fee93f..bee0980ae8d2 100644
--- a/media-gfx/maim/maim-5.8.0.ebuild
+++ b/media-gfx/maim/maim-5.8.0.ebuild
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://github.com/naelstrof/maim.git"
else
SRC_URI="https://github.com/naelstrof/maim/archive/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 ~x86"
fi
LICENSE="GPL-3+ MIT"
diff --git a/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild b/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild
index ded4b6d39d7f..35bcd7fe3da4 100644
--- a/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild
+++ b/media-gfx/mandelbulber/mandelbulber-2.28-r1.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
@@ -8,7 +8,7 @@ inherit desktop qmake-utils toolchain-funcs xdg
DESCRIPTION="Tool to render 3D fractals"
HOMEPAGE="https://www.mandelbulber.com"
-SRC_URI="https://github.com/buddhi1980/${PN}2/releases/download/${PV}/${MY_P}.tar.gz mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+SRC_URI="https://github.com/buddhi1980/${PN}2/releases/download/${PV}/${MY_P}.tar.gz https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="CC-BY-4.0 GPL-3"
diff --git a/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild b/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
index 18951f7211ec..9a8a0c7c2d69 100644
--- a/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
+++ b/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
@@ -4,12 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-2.2.1.ebuild b/media-gfx/mcomix/mcomix-2.2.1.ebuild
index 551f116a31bc..bb0e9bf360e6 100644
--- a/media-gfx/mcomix/mcomix-2.2.1.ebuild
+++ b/media-gfx/mcomix/mcomix-2.2.1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild b/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
index 36393dfcddd5..744b6d793e84 100644
--- a/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
+++ b/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit desktop distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-3.1.0.ebuild b/media-gfx/mcomix/mcomix-3.1.0.ebuild
index d6fa2ffcfe75..c84c65e17656 100644
--- a/media-gfx/mcomix/mcomix-3.1.0.ebuild
+++ b/media-gfx/mcomix/mcomix-3.1.0.ebuild
@@ -4,12 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit desktop distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/nomacs/metadata.xml b/media-gfx/nomacs/metadata.xml
index 2d46cae87ec6..45360b811a6c 100644
--- a/media-gfx/nomacs/metadata.xml
+++ b/media-gfx/nomacs/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<bugs-to>https://nomacs.org/redmine/projects/nomacs</bugs-to>
<remote-id type="github">nomacs/nomacs</remote-id>
diff --git a/media-gfx/okularpart/files/okularpart-23.08.5-implicit-vasprintf.patch b/media-gfx/okularpart/files/okularpart-23.08.5-implicit-vasprintf.patch
new file mode 100644
index 000000000000..685da3112291
--- /dev/null
+++ b/media-gfx/okularpart/files/okularpart-23.08.5-implicit-vasprintf.patch
@@ -0,0 +1,29 @@
+From a0f57bf7f984289c5b0ceefa2a784f97cd58428a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Germ=C3=A1n=20Poo-Caama=C3=B1o?= <gpoo@gnome.org>
+Date: Sat, 30 May 2020 16:15:27 -0400
+Subject: [PATCH] Fix implicit declaration of vasprintf
+
+Fix build when compiling with `-Werror=implicit-function-declaration`.
+---
+ core/synctex/synctex_parser.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/core/synctex/synctex_parser.c b/core/synctex/synctex_parser.c
+index 9eed566b3..a67006d39 100644
+--- a/core/synctex/synctex_parser.c
++++ b/core/synctex/synctex_parser.c
+@@ -55,6 +55,11 @@
+ * First level objects are sheets and forms, containing boxes, glues, kerns...
+ * The third tree allows to browse leaves according to tag and line.
+ */
++/* Declare _GNU_SOURCE for accessing vasprintf. For MSC compiler, vasprintf is
++ * defined in this file
++ */
++#define _GNU_SOURCE
++
+ #if defined(SYNCTEX_USE_LOCAL_HEADER)
+ #include "synctex_parser_local.h"
+ #else
+--
+2.44.0
+
diff --git a/media-gfx/okularpart/okularpart-23.08.5-r1.ebuild b/media-gfx/okularpart/okularpart-23.08.5-r1.ebuild
index 1f3ea8ff546d..ae6a4d671d88 100644
--- a/media-gfx/okularpart/okularpart-23.08.5-r1.ebuild
+++ b/media-gfx/okularpart/okularpart-23.08.5-r1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="https://okular.kde.org https://apps.kde.org/okular/"
LICENSE="GPL-2" # TODO: CHECK
SLOT="5"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
IUSE="djvu epub mobi +pdf +postscript +tiff"
# slot op: Uses Qt5::CorePrivate
@@ -61,6 +61,7 @@ PATCHES=(
"${FILESDIR}/${P}-tests.patch" # bug 734138
"${FILESDIR}/${P}-only.patch"
"${FILESDIR}/${P}-crashfix.patch" # KDE-bug 476207
+ "${FILESDIR}/${P}-implicit-vasprintf.patch" # bug 927683; pending upstream
)
src_configure() {
diff --git a/media-gfx/opencsg/files/opencsg-1.6.0-cmake.patch b/media-gfx/opencsg/files/opencsg-1.6.0-cmake.patch
new file mode 100644
index 000000000000..19866126da08
--- /dev/null
+++ b/media-gfx/opencsg/files/opencsg-1.6.0-cmake.patch
@@ -0,0 +1,61 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+new file mode 100644
+index 0000000..0ba23fe
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,12 @@
++cmake_minimum_required(VERSION 3.16)
++project(opencsg VERSION 1.6.0 LANGUAGES CXX)
++
++option(BUILD_EXAMPLE "Build example program" ON)
++option(BUILD_SHARED_LIBS "Build using shared libraries" ON)
++
++include(GNUInstallDirs)
++
++add_subdirectory(src)
++if(BUILD_EXAMPLE)
++ add_subdirectory(example)
++endif()
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+new file mode 100644
+index 0000000..323a491
+--- /dev/null
++++ b/src/CMakeLists.txt
+@@ -0,0 +1,37 @@
++add_library(opencsg
++ area.cpp area.h
++ batch.cpp batch.h
++ channelManager.cpp channelManager.h
++ context.cpp context.h
++ frameBufferObject.cpp frameBufferObject.h
++ frameBufferObjectExt.cpp frameBufferObjectExt.h
++ glad/include/KHR/khrplatform.h
++ glad/include/glad/gl.h
++ glad/src/gl.cpp
++ occlusionQuery.cpp occlusionQuery.h
++ offscreenBuffer.h
++ opencsgConfig.h
++ opencsgRender.cpp opencsgRender.h
++ openglExt.h
++ openglHelper.cpp openglHelper.h
++ primitive.cpp
++ primitiveHelper.cpp primitiveHelper.h
++ renderGoldfeather.cpp
++ renderSCS.cpp
++ scissorMemo.cpp scissorMemo.h
++ settings.cpp settings.h
++)
++target_include_directories(opencsg PUBLIC
++ ${CMAKE_SOURCE_DIR}/include
++)
++
++set_target_properties(opencsg PROPERTIES
++ VERSION ${PROJECT_VERSION}
++ SOVERSION ${PROJECT_VERSION_MAJOR}
++ PUBLIC_HEADER ${CMAKE_SOURCE_DIR}/include/opencsg.h
++)
++
++install(TARGETS opencsg
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}
++)
diff --git a/media-gfx/opencsg/opencsg-1.6.0-r1.ebuild b/media-gfx/opencsg/opencsg-1.6.0-r1.ebuild
new file mode 100644
index 000000000000..020597e9a1b0
--- /dev/null
+++ b/media-gfx/opencsg/opencsg-1.6.0-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+MY_P="OpenCSG-${PV}"
+
+DESCRIPTION="The Constructive Solid Geometry rendering library"
+HOMEPAGE="https://www.opencsg.org"
+SRC_URI="https://www.opencsg.org/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2+"
+SLOT="0/1.6"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="doc"
+RESTRICT="test"
+
+DOCS=( build.txt changelog.txt )
+
+PATCHES=( "${FILESDIR}"/${PN}-1.6.0-cmake.patch )
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_EXAMPLE=OFF
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ use doc && local HTML_DOCS=( doc/. )
+ einstalldocs
+}
diff --git a/media-gfx/optipng/optipng-0.7.8.ebuild b/media-gfx/optipng/optipng-0.7.8.ebuild
index e2e923f9ee4f..6233e5a07d97 100644
--- a/media-gfx/optipng/optipng-0.7.8.ebuild
+++ b/media-gfx/optipng/optipng-0.7.8.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
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Compress PNG files without affecting image quality"
HOMEPAGE="https://optipng.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
diff --git a/media-gfx/oxipng/oxipng-9.0.0.ebuild b/media-gfx/oxipng/oxipng-9.0.0.ebuild
index 25caeb74adb9..dc57177ddd22 100644
--- a/media-gfx/oxipng/oxipng-9.0.0.ebuild
+++ b/media-gfx/oxipng/oxipng-9.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Auto-Generated by cargo-ebuild 0.5.4-r1
@@ -92,7 +92,7 @@ CRATES="
zopfli@0.8.0
"
-inherit cargo flag-o-matic
+inherit cargo
DESCRIPTION="Multithreaded lossless PNG compression optimizer written in Rust"
HOMEPAGE="https://github.com/shssoichiro/oxipng"
@@ -107,16 +107,12 @@ LICENSE="
|| ( MIT Unlicense )
"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
BDEPEND=">=virtual/rust-1.66.0"
QA_FLAGS_IGNORED="usr/bin/${PN}"
-src_configure() {
- filter-lto # 860063 file format not recognized with cloudflare-zlib-sys
-}
-
src_install() {
cargo_src_install
diff --git a/media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild b/media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild
index 0fd924a44a06..bcfcf0708aef 100644
--- a/media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild
+++ b/media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild
@@ -44,7 +44,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
SRC_URI+=" ${NUGET_URIS} "
diff --git a/media-gfx/photopc/photopc-3.07.ebuild b/media-gfx/photopc/photopc-3.07.ebuild
index a2e80fb2afd2..6348b8d031d8 100644
--- a/media-gfx/photopc/photopc-3.07.ebuild
+++ b/media-gfx/photopc/photopc-3.07.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Utility to control digital cameras based on Sierra Imaging firmware"
HOMEPAGE="http://photopc.sourceforge.net"
-SRC_URI="mirror://sourceforge/photopc/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/photopc/${P}.tar.gz"
LICENSE="photopc"
SLOT="0"
diff --git a/media-gfx/photoqt/metadata.xml b/media-gfx/photoqt/metadata.xml
index 8f1e7db6c6e3..1b717b781d4d 100644
--- a/media-gfx/photoqt/metadata.xml
+++ b/media-gfx/photoqt/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="devil">Support additional image formats using <pkg>media-libs/devil</pkg></flag>
<flag name="freeimage">Support additional image formats using <pkg>media-libs/freeimage</pkg></flag>
diff --git a/media-gfx/phototonic/metadata.xml b/media-gfx/phototonic/metadata.xml
index 0ddc007a7139..f05b374d7585 100644
--- a/media-gfx/phototonic/metadata.xml
+++ b/media-gfx/phototonic/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">oferkv/phototonic</remote-id>
</upstream>
diff --git a/media-gfx/pinta/Manifest b/media-gfx/pinta/Manifest
index 2531f13ef84c..88ede15c3d45 100644
--- a/media-gfx/pinta/Manifest
+++ b/media-gfx/pinta/Manifest
@@ -41,6 +41,7 @@ DIST pangosharp.3.24.24.38.nupkg 142957 BLAKE2B 32bd1ae7a805d5b76da89b7b3ab02bc9
DIST paragonclipper.6.4.2.nupkg 34425 BLAKE2B 0ec1b586bae777b0f05bee929347fafecb81b1df3ddd8243a92ff39864e791410935ced8a2783b95d1392723ea5a5a75531d7ad599d9fdab8477fbcb7b3f62a3 SHA512 c9f311b519bc419c82f8446fc8138f1b4cea9600acb1c3be07705032312b1c16cd87813d09950e6330650764f7f1b3da1356a306c071ff9bac7189edf6e9819d
DIST perfolizer.0.2.1.nupkg 51987 BLAKE2B 2e01e7673ae420136e6194d89c406fca31af85b7f90b460a53ebbe0fef82c38ba3be3821d9e1a7b9b2bf5d117bb9f2f4f91767796bffb51ac14e5cb9f472d873 SHA512 9db50cdcf13a85737c275a0aa3dc4a98b97e7d23e7aca1c9b27df28e454b0d4587315bd62f7181dc03e0257a83d79c7af2e90733eafda70afe5a956c92c20a9a
DIST pinta-2.1.1.tar.gz 7569972 BLAKE2B 792d62a889ac7b37f9e491c5dc12f1f4bee2520e3e9ee605f11b95ebaeaf159a41d24476fa55f00acb5a2a77e6e2d92f0dcfd32b7201e174f4224087995919f2 SHA512 d322411d91dbb40f9775333e7930cc2d89f816fe00ad5f358bcdd439c7f17493098416c5835b82ea5ff2fd4dfb93589416f26f9e8c5137fc750edc2857529780
+DIST pinta-2.1.2.tar.gz 7571286 BLAKE2B 02ba85add6e1da57826803ed318da2db854ba193169d4d8d3a1d7481337beb43e2461da9a71795dc3ab594607e25e5f7db6e06ab5b4a856441a8f572d71864fc SHA512 1c3d5591ac5d867961fc1037dad39d2a6ca1b4178bcadca3f380e7cd0e6ef6171ea2b4b0f5958fc1d893004911923fc144e0dd5774e41794c1d5db613e47b445
DIST sharpziplib.1.4.1.nupkg 732730 BLAKE2B 25d18d8dab8f91c39f65aef00c930d90c6c978d6b829039f077af9dce92a179220fab8ee005f222d792a1ac22e2ef998dc1a6fe58ccdba58eb0a8e8e9dca5758 SHA512 3f051f41f91577291da0d317d210547752251aae07f5060c1f8ff71917477f44ade9674f9862d6ce76d3c2a7a57b700165ee573286054d6dee1ea825f383f59e
DIST system.codedom.6.0.0.nupkg 197501 BLAKE2B bd626f958d3c36129ec319e69b0c057736d94027e2440aa87fcef5aa5d0767d7a52bb8ace5b93fe6af263c1b09238670dc16c9f5a1c1b7e9cc0e6d343d520324 SHA512 2b911b7c9bc524c86562a26547dfc92a8c774ed5937993a4a22e8a9ca1b146151aeaeaf15e4271ff6fe6cf20af634815aa1485a5a4c48d24acf39b2a6bc3cf27
DIST system.collections.immutable.1.5.0.nupkg 804405 BLAKE2B f11cab8fc6e1543d09bb65aec905d8a7b56318fc1f6e4ba723fc5ef393340fe3e29cb8f5d3e788d31b61a80661367371af90065432a63b3a954c39b68b8ecf16 SHA512 4f95c64257078443bbe50c77f061825033dd9389ffef2ad1993832e32733cc957c6a53c76b13d4e794c10b6505ae4438d9bbb7e2c64f7cad1d53e9d665438424
diff --git a/media-gfx/pinta/pinta-2.1.1-r1.ebuild b/media-gfx/pinta/pinta-2.1.1-r1.ebuild
index aaef9d59313c..17049a054f72 100644
--- a/media-gfx/pinta/pinta-2.1.1-r1.ebuild
+++ b/media-gfx/pinta/pinta-2.1.1-r1.ebuild
@@ -81,7 +81,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${P^}"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
SRC_URI+=" ${NUGET_URIS} "
diff --git a/media-gfx/pinta/pinta-2.1.2.ebuild b/media-gfx/pinta/pinta-2.1.2.ebuild
new file mode 100644
index 000000000000..8580cd61204d
--- /dev/null
+++ b/media-gfx/pinta/pinta-2.1.2.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+atksharp@3.24.24.38
+benchmarkdotnet.annotations@0.13.2
+benchmarkdotnet@0.13.2
+cairosharp@3.24.24.38
+commandlineparser@2.4.3
+gdksharp@3.24.24.38
+giosharp@3.24.24.38
+glibsharp@3.24.24.38
+gtksharp@3.24.24.38
+iced@1.17.0
+microsoft.bcl.asyncinterfaces@1.1.0
+microsoft.bcl.asyncinterfaces@6.0.0
+microsoft.codeanalysis.analyzers@2.6.2-beta2
+microsoft.codeanalysis.common@3.0.0
+microsoft.codeanalysis.csharp@3.0.0
+microsoft.codecoverage@17.4.1
+microsoft.diagnostics.netcore.client@0.2.251802
+microsoft.diagnostics.runtime@2.2.332302
+microsoft.diagnostics.tracing.traceevent@3.0.2
+microsoft.dotnet.platformabstractions@3.1.6
+microsoft.extensions.configuration.abstractions@2.1.1
+microsoft.extensions.configuration.binder@2.1.1
+microsoft.extensions.configuration@2.1.1
+microsoft.extensions.dependencyinjection.abstractions@2.1.1
+microsoft.extensions.logging.abstractions@2.1.1
+microsoft.extensions.logging@2.1.1
+microsoft.extensions.options@2.1.1
+microsoft.extensions.primitives@2.1.1
+microsoft.net.test.sdk@17.4.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.platforms@2.0.0
+microsoft.testplatform.objectmodel@17.4.1
+microsoft.testplatform.testhost@17.4.1
+netstandard.library@2.0.0
+newtonsoft.json@13.0.1
+ngettext@0.6.7
+nuget.frameworks@5.11.0
+nunit3testadapter@4.3.1
+nunit@3.13.3
+pangosharp@3.24.24.38
+paragonclipper@6.4.2
+perfolizer@0.2.1
+sharpziplib@1.4.1
+system.codedom@6.0.0
+system.collections.immutable@1.5.0
+system.collections.immutable@5.0.0
+system.management@6.0.0
+system.memory@4.5.1
+system.memory@4.5.3
+system.reflection.emit.lightweight@4.7.0
+system.reflection.emit@4.7.0
+system.reflection.metadata@1.6.0
+system.runtime.compilerservices.unsafe@4.5.0
+system.runtime.compilerservices.unsafe@4.5.3
+system.runtime.compilerservices.unsafe@5.0.0
+system.security.principal.windows@4.7.0
+system.text.encoding.codepages@4.5.0
+system.threading.tasks.extensions@4.5.4
+tmds.dbus@0.11.0
+"
+
+inherit autotools dotnet-pkg xdg
+
+DESCRIPTION="Pinta is a free, open source program for drawing and image editing"
+HOMEPAGE="https://www.pinta-project.com/
+ https://github.com/PintaProject/Pinta/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/PintaProject/${PN^}.git"
+else
+ SRC_URI="https://github.com/PintaProject/${PN^}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${P^}"
+
+ KEYWORDS="~amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ x11-libs/gtk+:3[introspection]
+"
+BDEPEND="
+ ${RDEPEND}
+ dev-util/intltool
+"
+
+src_unpack() {
+ dotnet-pkg_src_unpack
+
+ if [[ -n "${EGIT_REPO_URI}" ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ dotnet-pkg_src_prepare
+
+ eautoreconf
+}
+
+src_configure() {
+ econf
+
+ dotnet-pkg_src_configure
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install
+
+ local -r pinta_home="/usr/$(get_libdir)/${PN}"
+
+ mv "${ED}/usr/bin/pinta" "${ED}/${pinta_home}" || die
+ sed -e 's|dotnet|${DOTNET_ROOT}/dotnet|g' \
+ -i "${ED}/${pinta_home}/pinta" \
+ || die
+ dotnet-pkg-base_dolauncher "${pinta_home}/${PN}" "${PN}"
+
+ rm "${ED}/usr/share/man/man1/${PN}.1.gz" || die
+ doman "./xdg/${PN}.1"
+}
diff --git a/media-gfx/pixels2pgf/pixels2pgf-0.1.ebuild b/media-gfx/pixels2pgf/pixels2pgf-0.1.ebuild
deleted file mode 100644
index 6969a8a7acf3..000000000000
--- a/media-gfx/pixels2pgf/pixels2pgf-0.1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-DESCRIPTION="Convert pixel images (e.g. QRCode) to PGF/Tikz rectangles"
-HOMEPAGE="https://github.com/projg2/pixels2pgf/"
-SRC_URI="https://github.com/projg2/pixels2pgf/releases/download/${P}/${P}.tar.bz2"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="media-libs/libsdl:0=
- media-libs/sdl-image:0="
-DEPEND="${RDEPEND}"
diff --git a/media-gfx/plantuml/Manifest b/media-gfx/plantuml/Manifest
index 72f547718700..719c8f7800e2 100644
--- a/media-gfx/plantuml/Manifest
+++ b/media-gfx/plantuml/Manifest
@@ -1,2 +1 @@
-DIST plantuml-1.2024.3.tar.gz 12035326 BLAKE2B 38ee1a8ad29c5f22e00977a0716b17fa4385373ea23a9384bcb388cc714b1ea48742485225e864e8d4fbbf2fb5264e51e16288361e3a18291511cddd3046c5e7 SHA512 85a8f4043ef10e66de2b88892076a7cd0cc645a117bdf354a028a2ab0b17c8fb12d40ca5be44c87871daabe75b3172b2b01d63f158e22eb9cdeff557409855b9
DIST plantuml-1.2024.4.tar.gz 12061228 BLAKE2B b6edf25c99fecab5a463ddc3f330b28ecad1b60a595f833e4af4ec5e4db3489456f5df4be997879ef38c4053da75b790ae9b942bf28b77a8f73413fbe9289b9a SHA512 cb51e44691eb0a206de3f23e0bf1ba08f8a9d111d838c8b5f2ef2e7b7bae61294deb935bd0c0f2798fdc51d7a0a3e54d40d201075964e109a7f0781010933e91
diff --git a/media-gfx/plantuml/plantuml-1.2024.3.ebuild b/media-gfx/plantuml/plantuml-1.2024.3.ebuild
deleted file mode 100644
index f152e68ad17d..000000000000
--- a/media-gfx/plantuml/plantuml-1.2024.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-inherit java-pkg-2 java-ant-2 desktop xdg
-
-DESCRIPTION="Draw UML diagrams using a simple and human readable text description"
-HOMEPAGE="https://plantuml.com"
-SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- >=dev-java/ant-1.10.14-r1:0
- media-gfx/graphviz"
-
-EANT_BUILD_TARGET="dist"
-EANT_GENTOO_CLASSPATH="ant"
-JAVA_ANT_REWRITE_CLASSPATH="true"
-
-src_install() {
- java-pkg_dojar ${PN}.jar
- java-pkg_dolauncher ${PN} --jar ${PN}.jar
- use source && java-pkg_dosrc src/*
-
- make_desktop_entry plantuml PlantUML
-}
diff --git a/media-gfx/plantuml/plantuml-1.2024.4-r1.ebuild b/media-gfx/plantuml/plantuml-1.2024.4-r1.ebuild
new file mode 100644
index 000000000000..303ce0fb9f18
--- /dev/null
+++ b/media-gfx/plantuml/plantuml-1.2024.4-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+inherit java-pkg-2 java-pkg-simple desktop xdg
+
+DESCRIPTION="Draw UML diagrams using a simple and human readable text description"
+HOMEPAGE="https://plantuml.com"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*
+ >=dev-java/ant-1.10.14-r1:0"
+RDEPEND=">=virtual/jre-1.8:*
+ media-gfx/graphviz"
+
+JAVA_AUTOMATIC_MODULE_NAME="net.sourceforge.plantuml"
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_MAIN_CLASS="net.sourceforge.plantuml.Run"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # java-pkg-simple wants resources in a separate directory
+ cp -r src res || die
+ cp -r skin stdlib svg themes res || die
+ find res -type f \( -name '*.java' -o -iname 'readme.md' \
+ -o -name '*.ttf' -o -name '*.html' -o -name 'data.txt' \
+ -o -name '.editorconfig' \) -exec rm -rf {} + || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ make_desktop_entry plantuml PlantUML
+}
diff --git a/media-gfx/plantuml/plantuml-1.2024.4.ebuild b/media-gfx/plantuml/plantuml-1.2024.4.ebuild
index 141aa1f0ffdc..f152e68ad17d 100644
--- a/media-gfx/plantuml/plantuml-1.2024.4.ebuild
+++ b/media-gfx/plantuml/plantuml-1.2024.4.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://plantuml.com"
SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
DEPEND=">=virtual/jdk-1.8:*"
diff --git a/media-gfx/pngcheck/pngcheck-3.0.2.ebuild b/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
index 660faab0b47c..ca87c90889f4 100644
--- a/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
+++ b/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Verifies the integrity of PNG, JNG and MNG files with internal checksums"
HOMEPAGE="http://www.libpng.org/pub/png/apps/pngcheck.html"
-SRC_URI="mirror://sourceforge/png-mng/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/png-mng/${P}.tar.gz"
LICENSE="HPND GPL-2+"
SLOT="0"
diff --git a/media-gfx/pngcrush/pngcrush-1.8.13.ebuild b/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
index f6de7f55156d..27787e17634f 100644
--- a/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
+++ b/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Portable Network Graphics (PNG) optimizing utility"
HOMEPAGE="https://pmt.sourceforge.io/pngcrush/"
-SRC_URI="mirror://sourceforge/pmt/${P}-nolib.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/pmt/${P}-nolib.tar.xz"
LICENSE="pngcrush"
SLOT="0"
diff --git a/media-gfx/pngnq/pngnq-1.1-r1.ebuild b/media-gfx/pngnq/pngnq-1.1-r1.ebuild
index ee0a6de62dfe..c446224f6674 100644
--- a/media-gfx/pngnq/pngnq-1.1-r1.ebuild
+++ b/media-gfx/pngnq/pngnq-1.1-r1.ebuild
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Pngnq is a tool for quantizing PNG images in RGBA format"
HOMEPAGE="http://pngnq.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD pngnq rwpng"
SLOT="0"
diff --git a/media-gfx/pqstego/pqstego-0.0.1.ebuild b/media-gfx/pqstego/pqstego-0.0.1.ebuild
index 61c82756ef45..83795f3cb314 100644
--- a/media-gfx/pqstego/pqstego-0.0.1.ebuild
+++ b/media-gfx/pqstego/pqstego-0.0.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Tools for Perturbed Quantization Steganography"
HOMEPAGE="https://sourceforge.net/projects/pqstego/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest
index 6e339d81f0a9..de04fd64840a 100644
--- a/media-gfx/prusaslicer/Manifest
+++ b/media-gfx/prusaslicer/Manifest
@@ -1,4 +1,3 @@
DIST prusaslicer-2.6.1.tar.gz 58479800 BLAKE2B d5bfe09a76c5e1e5d3f5fae350db27db61e1f90465db42b5573314c58d77c89d3c04e67b45c449374570b7c1a0ee13bf7984b011f751a71e3b1414759cc921e9 SHA512 2b04eeff4feca2afd560b2fb6a5bbdaae6cabed2180d1416f2e4c7c385a50f859ec334c864a737b7c09eb3fd88f80af68655a0ef25ce9216b16549b16b3020b0
DIST prusaslicer-2.7.1.tar.gz 64975776 BLAKE2B 7683e2c97458da6b6f2b0e826f538d556f011e4580246277a926df55a71c5a4668089235b8b13379646e1730d301c446cd5d9116e236986cb29bb322390ba94f SHA512 20037164b8a8853e2f30a5ed613e0da1d02d6fa581c21ef67a51e90af3c33a98eb75e0b3a203adfb8ed7bc67f32de7ea598f3f0ab9c68341738db0c1c1974b3d
-DIST prusaslicer-2.7.2.tar.gz 64915607 BLAKE2B 25f531df0e1ed941cd5f15f6e30938dceb89148d4166b4042db60e587b5277d02e310738a9b368e9f3b88aea3abb9c9d5e2be89b5774b42191b7cae0589ce5c8 SHA512 74467cc353fd611133b0b0bc7b8026dc67bce0c7f1d14a47368dd5bac6c33b6400f73e2ecc46b7b43e8c724f0ec6e5f509bafed04c2c7349e5ffb1022af2f4db
DIST prusaslicer-2.7.4.tar.gz 65396083 BLAKE2B 658c9c623e9b25ba2590f3b816987776050b25849dab2b52500ed1673434f016007b6f40944afe412df4a517351785db15de8c8b8e633d7765d656e35014aa69 SHA512 fa876160ec641ecaed20339d66c01971ca1ad73fdfba3b19bae4169e81020175aa5b99a8a7f4f01bf15d112b817cde8226c01bb4bdfb077f387a2d27f92e5d6b
diff --git a/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild b/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild
index a4ea9747ee33..48092fb26071 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild
@@ -51,6 +51,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}
media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
"
PATCHES=(
diff --git a/media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
index a4ea9747ee33..5f7e18907896 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
@@ -9,15 +9,20 @@ MY_PV="$(ver_rs 3 -)"
inherit cmake wxwidgets xdg
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/prusa3d/prusaslicer.git"
+else
+ SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
+fi
+
DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
HOMEPAGE="https://www.prusa3d.com/prusaslicer/"
-SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -51,6 +56,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}
media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
"
PATCHES=(
diff --git a/media-gfx/pstoedit/pstoedit-3.75.ebuild b/media-gfx/pstoedit/pstoedit-3.75.ebuild
index e866acb3c778..6ec8c7b5d1aa 100644
--- a/media-gfx/pstoedit/pstoedit-3.75.ebuild
+++ b/media-gfx/pstoedit/pstoedit-3.75.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Translate PostScript and PDF graphics into other vector formats"
HOMEPAGE="https://sourceforge.net/projects/pstoedit/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/rawtherapee/Manifest b/media-gfx/rawtherapee/Manifest
index 173500760c5d..23e17c128f5e 100644
--- a/media-gfx/rawtherapee/Manifest
+++ b/media-gfx/rawtherapee/Manifest
@@ -1,2 +1 @@
DIST rawtherapee-5.10.tar.xz 16943724 BLAKE2B 2d1250a03f2902ffcff666514f9785036c808e9883957f674bfdb9545b2feac8f2313ab819e0cb64f39196bd3db36e8084b52bda6194de9197215824e695809c SHA512 79d6d54f90fec6006d3dff53aca00ccd385c398ebede2f06a223905d69e1045c6ab772bd5aca4bde01d9086c3c03183be22c0df521166b1af63b60bd7d0e1cfc
-DIST rawtherapee-5.9.tar.xz 16219076 BLAKE2B 32039d6927eb4a4efbb49f3ad2bd019bd9f73c92a5e7125b7c560aaf7b6a42a5f1a2f67b24a713e4b255867539eda2bf63ea4e988453ec9634c917a11432a7fb SHA512 0d848a36293eb5cac3212910eaf1d011315269c6bbe780c4c2e5f91719721e25a7d1678a7e4453fa4a9694618978b04828612dc03e1d50cb9c11ad4d238e7ca8
diff --git a/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild b/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild
index 37ad5a9abaaf..96a46d2ad16f 100644
--- a/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild
+++ b/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://rawtherapee.com/shared/source/${MY_P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
IUSE="openmp tcmalloc"
RDEPEND="
diff --git a/media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild b/media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild
deleted file mode 100644
index 199a2170f1e1..000000000000
--- a/media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P=${P/_rc/-rc}
-inherit cmake flag-o-matic toolchain-funcs xdg-utils
-
-DESCRIPTION="A powerful cross-platform raw image processing program"
-HOMEPAGE="https://www.rawtherapee.com/"
-SRC_URI="https://rawtherapee.com/shared/source/${MY_P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="openmp tcmalloc"
-
-RDEPEND="
- dev-cpp/atkmm:0
- dev-cpp/cairomm:0
- dev-cpp/glibmm:2
- dev-cpp/gtkmm:3.0
- dev-cpp/pangomm:1.4
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/libsigc++:2
- gnome-base/librsvg:2
- media-libs/lcms:2
- media-libs/lensfun
- media-libs/libcanberra[gtk3]
- media-libs/libiptcdata
- media-libs/libjpeg-turbo:=
- media-libs/libpng:0=
- media-libs/tiff:=
- sci-libs/fftw:3.0=
- sys-libs/zlib
- x11-libs/gtk+:3
- tcmalloc? ( dev-util/google-perftools )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_configure() {
- # upstream tested that "fast-math" give wrong results, so filter it
- # https://bugs.gentoo.org/show_bug.cgi?id=606896#c2
- filter-flags -ffast-math
- # -Ofast enable "fast-math" both in gcc and clang
- replace-flags -Ofast -O3
- # In case we add an ebuild for klt we can (i)use that one,
- # see http://cecas.clemson.edu/~stb/klt/
- local mycmakeargs=(
- -DOPTION_OMP=$(usex openmp)
- -DDOCDIR=/usr/share/doc/${PF}
- -DCREDITSDIR=/usr/share/${PN}
- -DLICENCEDIR=/usr/share/${PN}
- -DCACHE_NAME_SUFFIX=""
- -DWITH_SYSTEM_KLT="off"
- -DENABLE_TCMALLOC=$(usex tcmalloc)
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
diff --git a/media-gfx/rotoscope/rotoscope-0.2-r2.ebuild b/media-gfx/rotoscope/rotoscope-0.2-r2.ebuild
index 78b21e66e105..c822244c2d15 100644
--- a/media-gfx/rotoscope/rotoscope-0.2-r2.ebuild
+++ b/media-gfx/rotoscope/rotoscope-0.2-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Graphics program that can be used to give photos a cartoon-like appearance"
HOMEPAGE="http://www.toonyphotos.com https://sourceforge.net/projects/rotoscope/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}.orig.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}_${PV}.orig.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild b/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
index 8b7d82f45951..236b6a7b496a 100644
--- a/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
+++ b/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ MY_P=${PN}${PV//./_}
DESCRIPTION="sff to bmp converter"
HOMEPAGE="https://sfftools.sourceforge.io/"
-SRC_URI="mirror://sourceforge/sfftools/${MY_P}_src.zip"
+SRC_URI="https://downloads.sourceforge.net/sfftools/${MY_P}_src.zip"
S="${WORKDIR}/${MY_P}"
LICENSE="HPND MIT"
diff --git a/media-gfx/simple-scan/Manifest b/media-gfx/simple-scan/Manifest
index cdd154e673d1..19180b8a9e11 100644
--- a/media-gfx/simple-scan/Manifest
+++ b/media-gfx/simple-scan/Manifest
@@ -1 +1,2 @@
DIST simple-scan-44.0.tar.xz 1198824 BLAKE2B 2bc9ea19a99b02d6acdb21036558bd2d42751699a89d41ec4da3336c061ecc7ad249b34ab0b30c6a6fc162fb7f6538859d1c29b2c9a843f2c2a8785dadc8a086 SHA512 8543b687eafec4f2460efa446146b4fe3a0ad469e5dcc5fcd19a02484cbfac5bce80741b488217af44c580720a01577a8e78479a4d2e96307da3de9dcfa467c6
+DIST simple-scan-46.0.tar.xz 1136672 BLAKE2B 0ee2dd5392ed1a888948183e9efbd8943287baad66dd45351cbbb32a9a4c17903415676b3e6e00203d8a3572e90397b51bc23ecec2ad6cfa6597a10ffdd5bcf4 SHA512 f7c4433536f59c71f066cdae51b0de1b0dcf9b8af00f3bedb4c1be281d09f9ce122666ed849bd88de8868042429f14bb7b01409f8a006360ce4285000fd30bdc
diff --git a/media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch b/media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch
new file mode 100644
index 000000000000..18e17c2315e0
--- /dev/null
+++ b/media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch
@@ -0,0 +1,82 @@
+From a5f01beb41a81f483d90eb4dd785822a8615f65f Mon Sep 17 00:00:00 2001
+From: Gilles Dartiguelongue <eva@gentoo.org>
+Date: Wed, 30 May 2018 08:44:18 +0200
+Subject: [PATCH] build: Add control for optional dependencies
+
+---
+ meson.build | 18 ++++++++++++++----
+ meson_options.txt | 3 +++
+ src/meson.build | 12 ++++++++----
+ 3 files changed, 25 insertions(+), 8 deletions(-)
+ create mode 100644 meson_options.txt
+
+diff --git a/meson.build b/meson.build
+index 1e1522c..45d7ed7 100644
+--- a/meson.build
++++ b/meson.build
+@@ -34,10 +34,20 @@ zlib_dep = dependency ('zlib')
+ cairo_dep = dependency ('cairo')
+ gdk_pixbuf_dep = dependency ('gdk-pixbuf-2.0')
+ gusb_dep = dependency ('gusb', version: '>= 0.2.7')
+-colord_dep = dependency ('colord', required: false)
+-packagekit_dep = dependency ('packagekit-glib2', version: '>= 1.1.5', required: false)
+-webp_dep = dependency ('libwebp', required: false)
+-webpmux_dep = dependency ('libwebpmux', required: false)
++
++if get_option('colord')
++ colord_dep = dependency ('colord')
++endif
++
++if get_option('packagekit')
++ packagekit_dep = dependency ('packagekit-glib2', version: '>= 1.1.5')
++endif
++
++if get_option('webp')
++ webp_dep = dependency ('libwebp')
++ webpmux_dep = dependency ('libwebpmux')
++endif
++
+ sane_dep = dependency ('sane-backends')
+ msgfmt = find_program ('msgfmt')
+ itstool = find_program ('itstool')
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 0000000..570ecdd
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1,3 @@
++option('colord', type: 'boolean', value: false)
++option('packagekit', type: 'boolean', value: false)
++option('webp', type: 'boolean', value: false)
+diff --git a/src/meson.build b/src/meson.build
+index 3f699eb..0c8965e 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -1,16 +1,20 @@
+ vala_args = [ '--pkg=posix', '--vapidir=' + meson.current_source_dir () ]
+ dependencies = [ glib_dep, gtk_dep, libadwaita_dep, zlib_dep, cairo_dep, gdk_pixbuf_dep, gusb_dep, sane_dep ]
+-if colord_dep.found ()
++if get_option('colord')
+ vala_args += [ '-D', 'HAVE_COLORD' ]
+ dependencies += colord_dep
+ endif
+-if packagekit_dep.found ()
++if get_option('packagekit')
+ vala_args += [ '-D', 'HAVE_PACKAGEKIT' ]
+ dependencies += packagekit_dep
+ endif
+-if webp_dep.found () and (not colord_dep.found () or webpmux_dep.found ()) # Webpmux only required if colord
++if get_option('webp')
+ vala_args += [ '-D', 'HAVE_WEBP' ]
+- dependencies += [ webp_dep, webpmux_dep ]
++ dependencies += [ webp_dep ]
++ # Webpmux only required if colord
++ if get_option('colord')
++ dependencies += [ webpmux_dep ]
++ endif
+ endif
+
+ simple_scan = executable ('simple-scan',
+--
+2.26.3
+
diff --git a/media-gfx/simple-scan/simple-scan-46.0.ebuild b/media-gfx/simple-scan/simple-scan-46.0.ebuild
new file mode 100644
index 000000000000..765098e7a253
--- /dev/null
+++ b/media-gfx/simple-scan/simple-scan-46.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
+
+DESCRIPTION="Simple document scanning utility"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/simple-scan"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="colord webp"
+
+DEPEND="
+ >=dev-libs/glib-2.38:2
+ >=gui-libs/gtk-4.10.0:4
+ >=gui-libs/libadwaita-1.2.0:1
+ >=sys-libs/zlib-1.2.3.1:=
+ x11-libs/cairo
+ x11-libs/gdk-pixbuf:2
+ >=dev-libs/libgusb-0.2.7
+ colord? ( >=x11-misc/colord-0.1.24:=[udev(+)] )
+ webp? ( media-libs/libwebp:= )
+ >=media-gfx/sane-backends-1.0.20
+"
+RDEPEND="${DEPEND}
+ x11-misc/xdg-utils
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ $(vala_depend)
+ dev-libs/libxml2:2
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ gui-libs/libhandy:1[vala]
+ dev-libs/libgusb[vala]
+ colord? ( x11-misc/colord[vala] )
+"
+
+PATCHES=(
+ # Add control for optional dependencies
+ "${FILESDIR}"/"${PV}"-add-control-optional-deps.patch
+)
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ $(meson_use colord)
+ -Dpackagekit=false
+ $(meson_use webp)
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/media-gfx/skanpage/Manifest b/media-gfx/skanpage/Manifest
index e8fc36e293c2..a901d5e57ae2 100644
--- a/media-gfx/skanpage/Manifest
+++ b/media-gfx/skanpage/Manifest
@@ -1,2 +1,2 @@
DIST skanpage-23.08.5.tar.xz 1317292 BLAKE2B 2ee8e7db4e08c9f6ecac93789b20fcb862f56da8d44d5540268dd71f5e1e79c93c7d67455c534f2b0a50f4f2f99bcfdc1989dfd6ecafb7bd3c5a7bc15ab8880d SHA512 d5ddd8a52ad42421d79a6817eb3430996a9d968b2f824ca3c5adaf9bef69c60f6270b72a9d87308834b79f3038b6347b242c8fa635fd8c28953533061e21d158
-DIST skanpage-24.02.2.tar.xz 1322688 BLAKE2B 3a15bfd8555f8e32046d98c89955cd9de6853a3bdf1a87f2383b53a0921b9d4e179952d4acdae10692b6cc5c32dd6274f509ff0337faad73de89a2485231105c SHA512 5d9020e1ed8a94eee4d6ae21ea220f28287ab6ce6dadffcbd6887233acce0d6a37bece072fa8037fb7fc6901084b46734d065f0daa4d180802c1eaec17db7cee
+DIST skanpage-24.04.90.tar.xz 1331856 BLAKE2B 9774ea6d2688a287247917a5a46e2644d18f44a7cb0b2c9507620a671cf30c7ec15bb6693cd09b02b25ed3dbfc09915760eb3876e0e34413f686c395fdbfa580 SHA512 89f1c28a9a0fba138635d9487237bfcc051c2cbf3ebfdcbd42b3ca8aea65cee03c469badf476ab89b2e5a3fa0ccdbed577ad028f1f23ec66cf591fd5cddaae0e
diff --git a/media-gfx/skanpage/skanpage-24.02.2.ebuild b/media-gfx/skanpage/skanpage-24.04.90.ebuild
index e0570e462b5f..3a2f60a0cff1 100644
--- a/media-gfx/skanpage/skanpage-24.02.2.ebuild
+++ b/media-gfx/skanpage/skanpage-24.04.90.ebuild
@@ -20,6 +20,7 @@ IUSE="ocr"
DEPEND="
>=dev-qt/qtbase-${QTMIN}:6[concurrent,gui,network,widgets]
>=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtwebengine-${QTMIN}:6[pdfium]
>=kde-frameworks/kconfig-${KFMIN}:6
>=kde-frameworks/kcoreaddons-${KFMIN}:6
>=kde-frameworks/kcrash-${KFMIN}:6
@@ -33,7 +34,7 @@ DEPEND="
media-libs/kquickimageeditor:6
>=media-libs/ksanecore-${PVCUT}:6
ocr? (
- app-text/tesseract:=
+ >=app-text/tesseract-5:=
media-libs/leptonica:=
)
"
diff --git a/media-gfx/transfig/transfig-3.2.5e-r2.ebuild b/media-gfx/transfig/transfig-3.2.5e-r2.ebuild
index ebb7a376390f..3aa1cb9bbdf4 100644
--- a/media-gfx/transfig/transfig-3.2.5e-r2.ebuild
+++ b/media-gfx/transfig/transfig-3.2.5e-r2.ebuild
@@ -9,7 +9,7 @@ MY_P="${PN}.${PV}"
DESCRIPTION="Set of tools for creating TeX documents with graphics"
HOMEPAGE="https://www.xfig.org/"
-SRC_URI="mirror://sourceforge/mcj/${MY_P}.tar.gz
+SRC_URI="https://downloads.sourceforge.net/mcj/${MY_P}.tar.gz
mirror://gentoo/fig2mpdf-1.1.2.tar.bz2
https://dev.gentoo.org/~sultan/distfiles/media-gfx/transfig/${P}-gentoo-patchset-r1.tar.bz2"
S="${WORKDIR}/${MY_P}"
diff --git a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild
index d235d332f2d0..77e7bbc0e46b 100644
--- a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild
+++ b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ MY_P=${PN}-${PV:0:4}.${PV:4:2}.${PV:6:2}
DESCRIPTION="Set of 'Rubber Stamp' images which can be used within Tux Paint"
HOMEPAGE="http://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/tuxpaint/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/tuxpaint/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild
index 1120a4741b3c..927e0bd4c4a5 100644
--- a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild
+++ b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ MY_P=${PN}-${PV:0:4}.${PV:4:2}.${PV:6:2}
DESCRIPTION="Set of 'Rubber Stamp' images which can be used within Tux Paint"
HOMEPAGE="http://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/tuxpaint/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/tuxpaint/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
diff --git a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.ebuild b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.ebuild
index 58b34931ec63..0cf7868ad5bf 100644
--- a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.ebuild
+++ b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.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
@@ -7,7 +7,7 @@ MY_P=${PN}-${PV:0:4}.${PV:4:2}.${PV:6:2}
DESCRIPTION="Set of 'Rubber Stamp' images which can be used within Tux Paint"
HOMEPAGE="https://www.tuxpaint.org/stamps"
-SRC_URI="mirror://sourceforge/tuxpaint/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/tuxpaint/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
diff --git a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild
index 86ec92677d83..0cf7868ad5bf 100644
--- a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild
+++ b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild
@@ -7,7 +7,7 @@ MY_P=${PN}-${PV:0:4}.${PV:4:2}.${PV:6:2}
DESCRIPTION="Set of 'Rubber Stamp' images which can be used within Tux Paint"
HOMEPAGE="https://www.tuxpaint.org/stamps"
-SRC_URI="mirror://sourceforge/tuxpaint/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/tuxpaint/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.28-r3.ebuild
index 4f052a0122e2..460469ada58d 100644
--- a/media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild
+++ b/media-gfx/tuxpaint/tuxpaint-0.9.28-r3.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
@@ -7,7 +7,7 @@ inherit desktop optfeature toolchain-funcs xdg
DESCRIPTION="Drawing program designed for young children"
HOMEPAGE="https://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}-sdl1.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}-sdl1.tar.gz -> ${P}.tar.gz"
S="${WORKDIR}"/${P}-sdl1
LICENSE="GPL-2"
@@ -33,7 +33,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gperf
- media-gfx/graphicsmagick[jpeg,png,svg]
+ media-gfx/graphicsmagick[jpeg,png]
sys-devel/gettext
"
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.29-r1.ebuild
index 2c871dc42c61..3b3a59f7cfb6 100644
--- a/media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild
+++ b/media-gfx/tuxpaint/tuxpaint-0.9.29-r1.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
@@ -7,7 +7,7 @@ inherit desktop optfeature toolchain-funcs xdg
DESCRIPTION="Drawing program designed for young children"
HOMEPAGE="https://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
S="${WORKDIR}"/${P}
LICENSE="GPL-2"
@@ -33,7 +33,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gperf
- media-gfx/graphicsmagick[jpeg,png,svg]
+ media-gfx/graphicsmagick[jpeg,png]
sys-devel/gettext
"
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild
new file mode 100644
index 000000000000..33f527fd82ac
--- /dev/null
+++ b/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop optfeature toolchain-funcs xdg
+
+DESCRIPTION="Drawing program designed for young children"
+HOMEPAGE="https://www.tuxpaint.org/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+S="${WORKDIR}"/${P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+RDEPEND="
+ app-text/libpaper:=
+ dev-libs/fribidi
+ gnome-base/librsvg:2
+ media-gfx/libimagequant
+ >=media-libs/freetype-2:2
+ >=media-libs/libpng-1.2:0=
+ media-libs/libsdl2[X,joystick]
+ media-libs/sdl2-gfx
+ media-libs/sdl2-image[png]
+ media-libs/sdl2-mixer
+ media-libs/sdl2-pango
+ media-libs/sdl2-ttf
+ sys-libs/zlib
+ x11-libs/cairo
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-util/gperf
+ media-gfx/graphicsmagick[jpeg,png]
+ sys-devel/gettext
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-Makefile.patch
+)
+
+src_compile() {
+ emake CC="$(tc-getCC)" GENTOO_LIBDIR="$(get_libdir)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" GENTOO_LIBDIR="$(get_libdir)" install
+ local file size
+ for file in data/images/icon[0-9]*x[0-9]*.png; do
+ size=${file##*/icon}
+ size=${size%%x*}
+ newicon -s "${size}" "${file}" tux4kids-tuxpaint.png
+ done
+ newmenu src/tuxpaint.desktop tux4kids-tuxpaint.desktop
+ docinto /usr/share/doc/${PF}
+ dodoc docs/*.txt
+ dodoc docs/en/*.txt
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "additional graphic stamps" media-gfx/tuxpaint-stamps
+}
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild
index 2f22fa74dacd..ff77b85852e0 100644
--- a/media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild
+++ b/media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild
@@ -7,7 +7,7 @@ inherit desktop optfeature toolchain-funcs xdg
DESCRIPTION="Drawing program designed for young children"
HOMEPAGE="https://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
S="${WORKDIR}"/${P}
LICENSE="GPL-2"
@@ -33,7 +33,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gperf
- media-gfx/graphicsmagick[jpeg,png,svg]
+ media-gfx/graphicsmagick[jpeg,png]
sys-devel/gettext
"
diff --git a/media-gfx/ueberzugpp/Manifest b/media-gfx/ueberzugpp/Manifest
index e49d5e6986a0..654a26a0ca94 100644
--- a/media-gfx/ueberzugpp/Manifest
+++ b/media-gfx/ueberzugpp/Manifest
@@ -1 +1,2 @@
DIST ueberzugpp-2.9.4.tar.gz 67825 BLAKE2B 185919717cbbe97b98a44c2b91e244cf72bd760033b1a9d82e0d2f06db1d9b6d57557f57f4cedec8408d61e16658e90977569a63eb17a38afb36b134ff21889b SHA512 3d47874ecde4cc9030490c878851a21d94554538200ba41e87dd9f3aa760a6ed511aad573b820798492a82e4c49219cd4cdc79f5c99c6a80c322d09e618f82a6
+DIST ueberzugpp-2.9.5.tar.gz 69268 BLAKE2B 9a31c7d5135ca0c5b85e250f9cbb5fb10e22344a7c6bf5393a04ec928580844470b24b0471aa609a83a0f1cbfed17944aabdec9ee5d6ddffe90720fa46bf80ad SHA512 43576ba504ec66a909c170122db808a8ae55535d54cad09172590af2790c981b1bfba6ba0f749a5ca9881a15cfdcdb0c34fbb2533f72011a786fd1413d1f91c4
diff --git a/media-gfx/ueberzugpp/files/ueberzugpp-2.9.4-libcxx18.patch b/media-gfx/ueberzugpp/files/ueberzugpp-2.9.4-libcxx18.patch
new file mode 100644
index 000000000000..ccd808e5b5f1
--- /dev/null
+++ b/media-gfx/ueberzugpp/files/ueberzugpp-2.9.4-libcxx18.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/930977
+https://github.com/jstkdng/ueberzugpp/issues/179
+--- a/src/canvas/wayland/config/dummy.hpp
++++ b/src/canvas/wayland/config/dummy.hpp
+@@ -20,4 +20,6 @@
+ #include "../config.hpp"
+
++#include <string>
++
+ class DummyWaylandConfig : public WaylandConfig
+ {
diff --git a/media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild b/media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild
index d37875aaaff8..44c32b0c573f 100644
--- a/media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild
+++ b/media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic toolchain-funcs
DESCRIPTION="Drop in replacement for ueberzug written in C++"
HOMEPAGE="https://github.com/jstkdng/ueberzugpp/"
@@ -53,7 +53,18 @@ BDEPEND="
)
"
+PATCHES=(
+ "${FILESDIR}"/${P}-libcxx18.patch
+)
+
src_configure() {
+ if use X && tc-is-clang && has_version sys-libs/libcxx; then
+ # X support makes use of C++20's std::jthread which is currently
+ # marked experimental (at least) in <=libcxx-18 (should limit
+ # version in above libcxx check whenever this becomes unnecessary)
+ append-cxxflags $(test-flags-CXX -fexperimental-library)
+ fi
+
# TODO?: wayfire plugin is skipped for now (needs wlroots which is
# likely to be messier), but could be handled if there is a demand
diff --git a/media-gfx/ueberzugpp/ueberzugpp-2.9.5.ebuild b/media-gfx/ueberzugpp/ueberzugpp-2.9.5.ebuild
new file mode 100644
index 000000000000..d3d4f397c2d9
--- /dev/null
+++ b/media-gfx/ueberzugpp/ueberzugpp-2.9.5.ebuild
@@ -0,0 +1,79 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic toolchain-funcs
+
+DESCRIPTION="Drop in replacement for ueberzug written in C++"
+HOMEPAGE="https://github.com/jstkdng/ueberzugpp/"
+SRC_URI="
+ https://github.com/jstkdng/ueberzugpp/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="X dbus opencv opengl wayland xcb-errors"
+REQUIRED_USE="xcb-errors? ( X )"
+
+RDEPEND="
+ dev-cpp/tbb:=
+ dev-libs/glib:2
+ dev-libs/libfmt:=
+ dev-libs/openssl:=
+ dev-libs/spdlog:=
+ media-gfx/chafa
+ media-libs/libsixel
+ media-libs/vips:=
+ X? (
+ x11-libs/libxcb:=
+ x11-libs/xcb-util-image
+ xcb-errors? ( x11-libs/xcb-util-errors )
+ )
+ dbus? ( sys-apps/dbus )
+ opencv? ( media-libs/opencv:= )
+ opengl? ( media-libs/libglvnd )
+ wayland? ( dev-libs/wayland )
+ !media-gfx/ueberzug
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/cli11
+ dev-cpp/nlohmann_json
+ dev-cpp/range-v3
+ X? ( x11-base/xorg-proto )
+ wayland? ( dev-libs/wayland-protocols )
+"
+BDEPEND="
+ wayland? (
+ dev-util/wayland-scanner
+ kde-frameworks/extra-cmake-modules
+ )
+"
+
+src_configure() {
+ if use X && tc-is-clang && has_version sys-libs/libcxx; then
+ # X support makes use of C++20's std::jthread which is currently
+ # marked experimental (at least) in <=libcxx-18 (should limit
+ # version in above libcxx check whenever this becomes unnecessary)
+ append-cxxflags $(test-flags-CXX -fexperimental-library)
+ fi
+
+ # TODO?: wayfire plugin is skipped for now (needs wlroots which is
+ # likely to be messier), but could be handled if there is a demand
+
+ local mycmakeargs=(
+ -DENABLE_DBUS=$(usex dbus)
+ -DENABLE_OPENCV=$(usex opencv)
+ -DENABLE_OPENGL=$(usex opengl)
+ -DENABLE_TURBOBASE64=no # not packaged
+ -DENABLE_WAYLAND=$(usex wayland)
+ -DENABLE_X11=$(usex X)
+ -DENABLE_XCB_ERRORS=$(usex xcb-errors)
+ -DFETCHCONTENT_FULLY_DISCONNECTED=yes
+ )
+
+ cmake_src_configure
+}
diff --git a/media-gfx/viewer/viewer-0.8.0-r1.ebuild b/media-gfx/viewer/viewer-0.8.0-r1.ebuild
deleted file mode 100644
index af6ffbddc1dc..000000000000
--- a/media-gfx/viewer/viewer-0.8.0-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="A stereo pair image viewer (supports ppm's only)"
-HOMEPAGE="http://www-users.cs.umn.edu/~wburdick/geowall/viewer.html"
-# SRC_URI="ftp://ftp.cs.umn.edu/dept/users/wburdick/geowall/${P}.tar.gz"
-SRC_URI="http://www-users.cs.umn.edu/~wburdick/ftp/geowall/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-
-KEYWORDS="~amd64 ~x86"
-DEPEND="virtual/opengl
- media-libs/freeglut
- x11-libs/libXmu
- x11-libs/libXt
- x11-libs/libICE
- x11-libs/libSM"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- default
- sed -i configure.in \
- -e "s|/usr/X11R6/lib|/usr/$(get_libdir)/X11|g" \
- -e 's|/usr/X11R6/include|/usr/include/X11|g' || die
- eautoreconf
-}
-
-src_compile() {
- emake LDFLAGS="${LDFLAGS}" CFLAGS="${CFLAGS}"
-}
-
-src_install() {
- dobin viewer
- doman viewer.1
-
- dodoc AUTHORS ChangeLog README
-}
diff --git a/media-gfx/wings/wings-2.2.6.1.ebuild b/media-gfx/wings/wings-2.2.6.1.ebuild
index e27096cf47fe..261b738b994b 100644
--- a/media-gfx/wings/wings-2.2.6.1.ebuild
+++ b/media-gfx/wings/wings-2.2.6.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ inherit toolchain-funcs
DESCRIPTION="Wings 3D is an advanced subdivision modeler"
HOMEPAGE="http://www.wings3d.com/"
-SRC_URI="mirror://sourceforge/wings/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/wings/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
diff --git a/media-gfx/xdot/Manifest b/media-gfx/xdot/Manifest
index c9d87a4a1fbe..76f29d6dde1e 100644
--- a/media-gfx/xdot/Manifest
+++ b/media-gfx/xdot/Manifest
@@ -1 +1,2 @@
DIST xdot-1.3.tar.gz 144187 BLAKE2B 38e89a8c47dd519a79221634ed3e451cc5ba9c0448545802561e92876c06af599b3327d2ab808d5f81842826baddc42d3921da9c6885a2b6485e39c79de80c9f SHA512 8d66a64182970b968adbb5031d17f0b2b3709d4daa0f6d32ba0e3616177be1e43bcaa62a3133a3a0d92f8468dbc12147918d04b5d543b94b5df6d39b7af31e17
+DIST xdot-1.4.tar.gz 144405 BLAKE2B bcca54099ad88ebbf82dc168d837f7343f527d8aff63d27e315e60267b4edecca97c2f69e47a6bd5889e9da7bd801ba38950f5f01ff1f0e40389551c6ded2890 SHA512 36065ca840ea0f3ffeca3d7bb16aa3f68b79ef3c7d43f0ba80d100d198f89edee1ca9cb3baff378a63c53a527c37dcccbd7262fd1aa26b7c61bc9e2c55c6e3ed
diff --git a/media-gfx/xdot/xdot-1.3.ebuild b/media-gfx/xdot/xdot-1.3.ebuild
index 6aa87e23e299..2d99d3cb2ca2 100644
--- a/media-gfx/xdot/xdot-1.3.ebuild
+++ b/media-gfx/xdot/xdot-1.3.ebuild
@@ -10,7 +10,6 @@ EGIT_REPO_URI="https://github.com/jrfonseca/${MY_PN}"
if [[ ${PV} = 9999* ]]; then
GIT_ECLASS="git-r3"
- SRC_URI=""
else
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
MY_P="${MY_PN}-${PV}"
diff --git a/media-gfx/xdot/xdot-1.4.ebuild b/media-gfx/xdot/xdot-1.4.ebuild
new file mode 100644
index 000000000000..bfd164986323
--- /dev/null
+++ b/media-gfx/xdot/xdot-1.4.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+MY_PN=xdot.py
+EGIT_REPO_URI="https://github.com/jrfonseca/${MY_PN}"
+
+if [[ ${PV} = 9999* ]]; then
+ GIT_ECLASS="git-r3"
+else
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ MY_P="${MY_PN}-${PV}"
+ S="${WORKDIR}/${MY_P}"
+ SRC_URI="https://github.com/jrfonseca/${MY_PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+fi
+
+inherit ${GIT_ECLASS} distutils-r1 virtualx
+
+DESCRIPTION="Interactive viewer for Graphviz dot files"
+HOMEPAGE="https://github.com/jrfonseca/xdot.py"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ test? ( x11-libs/gtk+:3[X] )
+"
+RDEPEND="${DEPEND}"
+
+run_test() {
+ cd tests && "${EPYTHON}" ../test.py *.dot graphs/*.gv
+ return "${?}"
+}
+
+python_test() {
+ virtx run_test
+}
diff --git a/media-gfx/xdot/xdot-9999.ebuild b/media-gfx/xdot/xdot-9999.ebuild
index dc0e15d5f30b..bfd164986323 100644
--- a/media-gfx/xdot/xdot-9999.ebuild
+++ b/media-gfx/xdot/xdot-9999.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
@@ -10,7 +10,6 @@ EGIT_REPO_URI="https://github.com/jrfonseca/${MY_PN}"
if [[ ${PV} = 9999* ]]; then
GIT_ECLASS="git-r3"
- SRC_URI=""
else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
MY_P="${MY_PN}-${PV}"
@@ -28,6 +27,7 @@ SLOT="0"
DEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
media-gfx/graphviz
diff --git a/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild b/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild
index 36ae35639ba2..0a239d8a1b67 100644
--- a/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild
+++ b/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild
@@ -7,7 +7,7 @@ inherit autotools desktop toolchain-funcs xdg
DESCRIPTION="Image editor with tiff, jpeg and png support"
HOMEPAGE="https://sf-xpaint.sourceforge.net/"
-SRC_URI="mirror://sourceforge/sf-xpaint/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/sf-xpaint/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/xv/xv-3.10a-r22.ebuild b/media-gfx/xv/xv-3.10a-r22.ebuild
index cab75f7acfc4..6349d9814431 100644
--- a/media-gfx/xv/xv-3.10a-r22.ebuild
+++ b/media-gfx/xv/xv-3.10a-r22.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ inherit desktop flag-o-matic toolchain-funcs
JUMBOV=20070520
DESCRIPTION="Interactive image manipulation program supporting a wide variety of formats"
HOMEPAGE="http://www.trilon.com/xv/index.html http://www.sonic.net/~roelofs/greg_xv.html"
-SRC_URI="mirror://sourceforge/png-mng/${P}-jumbo-patches-${JUMBOV}.tar.gz
+SRC_URI="https://downloads.sourceforge.net/png-mng/${P}-jumbo-patches-${JUMBOV}.tar.gz
ftp://ftp.cis.upenn.edu/pub/xv/${P}.tar.gz
mirror://gentoo/${P}.png.bz2"