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/alembic/Manifest2
-rw-r--r--media-gfx/alembic/alembic-1.8.5.ebuild72
-rw-r--r--media-gfx/alembic/alembic-1.8.6-r1.ebuild (renamed from media-gfx/alembic/alembic-1.8.4.ebuild)19
-rw-r--r--media-gfx/alembic/files/alembic-1.8.0-0001-set-correct-libdir.patch57
-rw-r--r--media-gfx/alembic/files/alembic-1.8.6-py312.patch91
-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/Manifest2
-rw-r--r--media-gfx/asymptote/asymptote-2.89.ebuild4
-rw-r--r--media-gfx/asymptote/asymptote-2.90.ebuild (renamed from media-gfx/asymptote/asymptote-2.86.ebuild)8
-rw-r--r--media-gfx/asymptote/files/asymptote-2.86-without-lsp.patch50
-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-r2.ebuild594
-rw-r--r--media-gfx/blender/blender-4.1.1.ebuild586
-rw-r--r--media-gfx/blender/blender-9999.ebuild218
-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/cairosvg/cairosvg-2.7.1.ebuild4
-rw-r--r--media-gfx/chafa/Manifest1
-rw-r--r--media-gfx/chafa/chafa-1.14.1.ebuild41
-rw-r--r--media-gfx/chafa/metadata.xml5
-rw-r--r--media-gfx/cropgui/Manifest1
-rw-r--r--media-gfx/cropgui/cropgui-0.8.ebuild47
-rw-r--r--media-gfx/curtail/Manifest2
-rw-r--r--media-gfx/curtail/curtail-1.10.0.ebuild (renamed from media-gfx/curtail/curtail-1.8.0-r1.ebuild)16
-rw-r--r--media-gfx/curtail/curtail-1.9.1.ebuild2
-rw-r--r--media-gfx/darktable/Manifest1
-rw-r--r--media-gfx/darktable/darktable-4.6.0.ebuild1
-rw-r--r--media-gfx/darktable/darktable-4.6.1.ebuild1
-rw-r--r--media-gfx/darktable/darktable-4.8.0.ebuild196
-rw-r--r--media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch26
-rw-r--r--media-gfx/darktable/metadata.xml4
-rw-r--r--media-gfx/dawn/Manifest1
-rw-r--r--media-gfx/dawn/dawn-3.90b-r1.ebuild59
-rw-r--r--media-gfx/dawn/files/dawn-3.90b-gcc7.patch21
-rw-r--r--media-gfx/dawn/files/dawn-3.90b-no-interactive.patch158
-rw-r--r--media-gfx/dawn/metadata.xml28
-rw-r--r--media-gfx/digikam/Manifest2
-rw-r--r--media-gfx/digikam/digikam-8.3.0.ebuild2
-rw-r--r--media-gfx/digikam/digikam-8.4.0.ebuild (renamed from media-gfx/digikam/digikam-8.2.0.ebuild)52
-rw-r--r--media-gfx/digikam/files/digikam-8.2.0-akonadi.patch95
-rw-r--r--media-gfx/digikam/files/digikam-8.4.0-cmake.patch (renamed from media-gfx/digikam/files/digikam-8.2.0-cmake.patch)112
-rw-r--r--media-gfx/digikam/files/digikam-8.4.0-fix-find_libheif-regex.patch25
-rw-r--r--media-gfx/digikam/metadata.xml1
-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/entice/Manifest1
-rw-r--r--media-gfx/entice/entice-0.0.1.ebuild44
-rw-r--r--media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild4
-rw-r--r--media-gfx/eom/eom-1.28.0.ebuild2
-rw-r--r--media-gfx/exiv2/Manifest1
-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/exiv2/exiv2-0.28.3.ebuild128
-rw-r--r--media-gfx/fbgrab/metadata.xml5
-rw-r--r--media-gfx/feh/Manifest1
-rw-r--r--media-gfx/feh/feh-3.10.3.ebuild71
-rw-r--r--media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild2
-rw-r--r--media-gfx/fig2dev/fig2dev-3.2.9-r5.ebuild99
-rw-r--r--media-gfx/fig2dev/metadata.xml3
-rw-r--r--media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch174
-rw-r--r--media-gfx/fontforge/files/fontforge-20230101-python3.12-distutils-no-more.patch20
-rw-r--r--media-gfx/fontforge/fontforge-20230101-r2.ebuild112
-rw-r--r--media-gfx/fontforge/fontforge-20230101.ebuild4
-rw-r--r--media-gfx/fotocx/Manifest7
-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.82.ebuild81
-rw-r--r--media-gfx/fotocx/fotocx-24.21-r1.ebuild (renamed from media-gfx/fotocx/fotocx-24.11-r1.ebuild)6
-rw-r--r--media-gfx/fotocx/fotocx-24.30.ebuild (renamed from media-gfx/fotocx/fotocx-24.21.ebuild)2
-rw-r--r--media-gfx/fotocx/fotocx-24.40.ebuild (renamed from media-gfx/fotocx/fotocx-23.70.ebuild)22
-rw-r--r--media-gfx/fotocx/fotocx-24.50.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-boost-175-1.patch22
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch22
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch25
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch29
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch186
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch148
-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-r3.ebuild (renamed from media-gfx/freecad/freecad-0.21.2-r2.ebuild)28
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild14
-rw-r--r--media-gfx/freepv/freepv-0.3.0-r5.ebuild4
-rw-r--r--media-gfx/geeqie/Manifest6
-rw-r--r--media-gfx/geeqie/files/geeqie-2.1-exiv2-0.28.0.patch151
-rw-r--r--media-gfx/geeqie/files/geeqie-2.1-locale.patch22
-rw-r--r--media-gfx/geeqie/files/geeqie-2.1-lua_hpp.patch19
-rw-r--r--media-gfx/geeqie/files/geeqie-2.3-locale.patch11
-rw-r--r--media-gfx/geeqie/geeqie-2.1-r1.ebuild117
-rw-r--r--media-gfx/geeqie/geeqie-2.2.ebuild115
-rw-r--r--media-gfx/geeqie/geeqie-2.3.ebuild119
-rw-r--r--media-gfx/geeqie/geeqie-2.4.ebuild11
-rw-r--r--media-gfx/geeqie/geeqie-9999.ebuild9
-rw-r--r--media-gfx/gifsicle/Manifest1
-rw-r--r--media-gfx/gifsicle/gifsicle-1.95.ebuild26
-rw-r--r--media-gfx/gimp/Manifest1
-rw-r--r--media-gfx/gimp/gimp-2.10.38.ebuild226
-rw-r--r--media-gfx/gimp/gimp-2.99.18-r1.ebuild (renamed from media-gfx/gimp/gimp-2.99.18.ebuild)5
-rw-r--r--media-gfx/gimp/gimp-9999.ebuild2
-rw-r--r--media-gfx/gimp/metadata.xml1
-rw-r--r--media-gfx/gnofract4d/Manifest1
-rw-r--r--media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild78
-rw-r--r--media-gfx/gnome-font-viewer/Manifest1
-rw-r--r--media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild34
-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/graphite2/graphite2-1.3.14_p20210810-r3.ebuild2
-rw-r--r--media-gfx/graphviz/Manifest3
-rw-r--r--media-gfx/graphviz/graphviz-11.0.0.ebuild221
-rw-r--r--media-gfx/graphviz/graphviz-12.0.0.ebuild (renamed from media-gfx/graphviz/graphviz-10.0.1.ebuild)2
-rw-r--r--media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild4
-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/files/boost-1.85-932315.patch25
-rw-r--r--media-gfx/hugin/hugin-2023.0.0-r1.ebuild7
-rw-r--r--media-gfx/hydrus/Manifest1
-rw-r--r--media-gfx/hydrus/hydrus-565-r1.ebuild (renamed from media-gfx/hydrus/hydrus-565.ebuild)2
-rw-r--r--media-gfx/hydrus/hydrus-571.ebuild155
-rw-r--r--media-gfx/img2pdf/Manifest1
-rw-r--r--media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild4
-rw-r--r--media-gfx/img2pdf/img2pdf-0.5.1.ebuild71
-rw-r--r--media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch11
-rw-r--r--media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch91
-rw-r--r--media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch64
-rw-r--r--media-gfx/inkscape/inkscape-1.3.2-r2.ebuild (renamed from media-gfx/inkscape/inkscape-1.3.2-r1.ebuild)4
-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/jp2a/Manifest1
-rw-r--r--media-gfx/jp2a/jp2a-1.2.0.ebuild24
-rw-r--r--media-gfx/jpeginfo/Manifest1
-rw-r--r--media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild34
-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/Manifest1
-rw-r--r--media-gfx/krita/files/krita-5.2.2-fftw.patch18
-rw-r--r--media-gfx/krita/files/krita-5.2.3-tests-optional.patch90
-rw-r--r--media-gfx/krita/krita-5.1.5.ebuild2
-rw-r--r--media-gfx/krita/krita-5.2.3.ebuild134
-rw-r--r--media-gfx/krita/metadata.xml2
-rw-r--r--media-gfx/libbgcode/Manifest1
-rw-r--r--media-gfx/libbgcode/libbgcode-0.0.20240704.ebuild35
-rw-r--r--media-gfx/librecad/Manifest1
-rw-r--r--media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch29
-rw-r--r--media-gfx/librecad/librecad-2.2.0.2.ebuild85
-rw-r--r--media-gfx/librecad/librecad-2.2.0.ebuild6
-rw-r--r--media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-boost-1.85.patch12
-rw-r--r--media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild5
-rw-r--r--media-gfx/lximage-qt/Manifest2
-rw-r--r--media-gfx/lximage-qt/lximage-qt-2.0.1.ebuild (renamed from media-gfx/lximage-qt/lximage-qt-1.3.0.ebuild)20
-rw-r--r--media-gfx/maim/Manifest1
-rw-r--r--media-gfx/maim/maim-5.7.4.ebuild43
-rw-r--r--media-gfx/maim/maim-5.8.0.ebuild2
-rw-r--r--media-gfx/mandelbulber/Manifest1
-rw-r--r--media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild4
-rw-r--r--media-gfx/mandelbulber/mandelbulber-2.31.ebuild83
-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/monica/files/monica-3.7-exit.patch61
-rw-r--r--media-gfx/monica/files/monica-3.7-fprintf.patch46
-rw-r--r--media-gfx/monica/files/monica-3.7-makefile-cleanup.patch (renamed from media-gfx/monica/files/monica-3.6-makefile-cleanup.patch)4
-rw-r--r--media-gfx/monica/monica-3.7-r1.ebuild (renamed from media-gfx/monica/monica-3.7.ebuild)9
-rw-r--r--media-gfx/mscgen/mscgen-0.20.ebuild2
-rw-r--r--media-gfx/mypaint/mypaint-2.0.1-r3.ebuild2
-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/openscad/files/openscad-2021.01-boost-1.85.patch12
-rw-r--r--media-gfx/openscad/openscad-2021.01-r5.ebuild9
-rw-r--r--media-gfx/openscad/openscad-9999.ebuild8
-rw-r--r--media-gfx/openvdb/openvdb-11.0.0.ebuild2
-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/Manifest3
-rw-r--r--media-gfx/plantuml/metadata.xml3
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.3.ebuild33
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.4.ebuild33
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.5-r1.ebuild50
-rw-r--r--media-gfx/pngcheck/pngcheck-3.0.2.ebuild4
-rw-r--r--media-gfx/pngcrush/metadata.xml5
-rw-r--r--media-gfx/pngcrush/pngcrush-1.8.13.ebuild2
-rw-r--r--media-gfx/pngnq/files/pngnq-1.1-gcc14-build-fix.patch34
-rw-r--r--media-gfx/pngnq/pngnq-1.1-r1.ebuild2
-rw-r--r--media-gfx/pngnq/pngnq-1.1-r2.ebuild31
-rw-r--r--media-gfx/pngquant/pngquant-2.18.0.ebuild4
-rw-r--r--media-gfx/povray/povray-3.7.0.0-r5.ebuild (renamed from media-gfx/povray/povray-3.7.0.0-r4.ebuild)62
-rw-r--r--media-gfx/pqstego/pqstego-0.0.1.ebuild4
-rw-r--r--media-gfx/prusaslicer/Manifest4
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.6.0-disable-noisy-asserts.patch14
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch2
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch6
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch2
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.7.4-boost-1.85.patch30
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch19
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch20
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild92
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild4
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.8.0.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild)19
-rw-r--r--media-gfx/prusaslicer/prusaslicer-9999.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild)28
-rw-r--r--media-gfx/pstoedit/pstoedit-3.75.ebuild4
-rw-r--r--media-gfx/qiv/Manifest1
-rw-r--r--media-gfx/qiv/metadata.xml3
-rw-r--r--media-gfx/qiv/qiv-2.3.3.ebuild61
-rw-r--r--media-gfx/qrencode/qrencode-4.1.1-r1.ebuild (renamed from media-gfx/qrencode/qrencode-4.1.1.ebuild)25
-rw-r--r--media-gfx/raw-thumbnailer/Manifest1
-rw-r--r--media-gfx/raw-thumbnailer/files/raw-thumbnailer-0.2.1-libopenraw.patch28
-rw-r--r--media-gfx/raw-thumbnailer/metadata.xml9
-rw-r--r--media-gfx/raw-thumbnailer/raw-thumbnailer-0.2.1-r1.ebuild31
-rw-r--r--media-gfx/rawtherapee/Manifest1
-rw-r--r--media-gfx/rawtherapee/files/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch63
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild5
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild80
-rw-r--r--media-gfx/recoverjpeg/Manifest1
-rw-r--r--media-gfx/recoverjpeg/metadata.xml3
-rw-r--r--media-gfx/recoverjpeg/recoverjpeg-2.6.3.ebuild17
-rw-r--r--media-gfx/rotoscope/rotoscope-0.2-r2.ebuild4
-rw-r--r--media-gfx/sane-airscan/Manifest1
-rw-r--r--media-gfx/sane-airscan/sane-airscan-0.99.29.ebuild43
-rw-r--r--media-gfx/sane-backends/Manifest1
-rw-r--r--media-gfx/sane-backends/files/sane-backends-1.1.1-gcc12-tests.patch78
-rw-r--r--media-gfx/sane-backends/files/sane-backends-1.1.1-genesys-gl845-crash.patch12
-rw-r--r--media-gfx/sane-backends/files/sane-backends-1.1.1-musl.patch34
-rw-r--r--media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild360
-rw-r--r--media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild366
-rw-r--r--media-gfx/sane-backends/sane-backends-1.2.1.ebuild24
-rw-r--r--media-gfx/scrot/Manifest2
-rw-r--r--media-gfx/scrot/scrot-1.11.1.ebuild (renamed from media-gfx/scrot/scrot-1.9.ebuild)13
-rw-r--r--media-gfx/scrot/scrot-9999.ebuild11
-rw-r--r--media-gfx/sfftobmp/files/sfftobmp-3.1.2-boost-1.85.patch63
-rw-r--r--media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild15
-rw-r--r--media-gfx/shotwell/Manifest1
-rw-r--r--media-gfx/shotwell/shotwell-0.32.7.ebuild92
-rw-r--r--media-gfx/simple-scan/Manifest2
-rw-r--r--media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch (renamed from media-gfx/simple-scan/files/40.0-add-control-optional-deps.patch)2
-rw-r--r--media-gfx/simple-scan/simple-scan-46.0.ebuild (renamed from media-gfx/simple-scan/simple-scan-44.0.ebuild)12
-rw-r--r--media-gfx/skanpage/Manifest2
-rw-r--r--media-gfx/skanpage/skanpage-24.05.2.ebuild (renamed from media-gfx/skanpage/skanpage-24.02.2.ebuild)7
-rw-r--r--media-gfx/superslicer/Manifest6
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch40
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch256
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch53
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-dont-install-bundled-angelscript.patch53
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch11
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch36
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch77
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch21
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch54
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch111
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch43
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch20
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch12
-rw-r--r--media-gfx/superslicer/superslicer-2.5.59.10.ebuild109
-rw-r--r--media-gfx/superslicer/superslicer-2.5.59.8.ebuild (renamed from media-gfx/superslicer/superslicer-2.5.59.0-r3.ebuild)29
-rw-r--r--media-gfx/svg2rlg/Manifest2
-rw-r--r--media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild9
-rw-r--r--media-gfx/tintii/tintii-2.10.0-r1.ebuild28
-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/Manifest2
-rw-r--r--media-gfx/tuxpaint/files/tuxpaint-0.9.28-r2-Makefile.patch231
-rw-r--r--media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile-trans.patch30
-rw-r--r--media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile.patch164
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild65
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild (renamed from media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild)11
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild4
-rw-r--r--media-gfx/ueberzug/Manifest2
-rw-r--r--media-gfx/ueberzug/ueberzug-18.2.3.ebuild (renamed from media-gfx/ueberzug/ueberzug-18.2.2.ebuild)26
-rw-r--r--media-gfx/ueberzugpp/Manifest2
-rw-r--r--media-gfx/ueberzugpp/ueberzugpp-2.9.6.ebuild (renamed from media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild)14
-rw-r--r--media-gfx/viewer/viewer-0.8.0-r1.ebuild42
-rw-r--r--media-gfx/vkBasalt/metadata.xml5
-rw-r--r--media-gfx/wings/wings-2.2.6.1.ebuild4
-rw-r--r--media-gfx/xdot/Manifest2
-rw-r--r--media-gfx/xdot/xdot-1.4.ebuild (renamed from media-gfx/xdot/xdot-1.3.ebuild)4
-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/Manifest1
-rw-r--r--media-gfx/xv/files/xv-5.2.0-osx-bsd.patch51
-rw-r--r--media-gfx/xv/metadata.xml6
-rw-r--r--media-gfx/xv/xv-3.10a-r22.ebuild4
-rw-r--r--media-gfx/xv/xv-5.2.0.ebuild53
338 files changed, 7537 insertions, 4983 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/alembic/Manifest b/media-gfx/alembic/Manifest
index 711e1186c6d7..4810c74e5789 100644
--- a/media-gfx/alembic/Manifest
+++ b/media-gfx/alembic/Manifest
@@ -1,3 +1 @@
-DIST alembic-1.8.4.tar.gz 867788 BLAKE2B b7bc5ebcaebc5905a9a2e45be21170a72923fd6af6d9f97b81bdc7e8b80bb037ed3f667ea15a5b96194b33687010fda455e4df8355f92fc29aa000beae32cae8 SHA512 2473f4b9afe3fddbd2d0477bdc85d93697e413410253a7f7f0f030fba919dfb63dabd2d2d13829f59f3f901643ab842d230a9f08fb667e2c16cef0e751a8a687
-DIST alembic-1.8.5.tar.gz 867976 BLAKE2B 715ff6212ab78b2b4d3f5ea3b448468ade488008a8362193b4976671a69ad89337f926082c7736e64a0b07bf71e04d774df5e22abe409f8cfab1a15ccb3c86bb SHA512 89a480970eb09893112bf650011ede852205d1fa3718680a3983392bbcf3eb3f22f4ec01f42d12bfcaf655ce43d7d6f583b764ec03f4c5a84023359502b3636e
DIST alembic-1.8.6.tar.gz 868945 BLAKE2B 1ac30ffa75a4b8bbb3f32820e6f67cebcd894465f16cd12ee0396c88611af821b13973f46228fd59726c6bc0cc8885afd4de81a0cebaa0f94cb30fd9daba9885 SHA512 6371b830242be90d4ea833248df5fd42d9e713e305d15eb1383d04410319acdae5743d48d65e8f75f1cedce777d2af7d969cde095f678b17322c19f1c69f477b
diff --git a/media-gfx/alembic/alembic-1.8.5.ebuild b/media-gfx/alembic/alembic-1.8.5.ebuild
deleted file mode 100644
index 2e12359bdff6..000000000000
--- a/media-gfx/alembic/alembic-1.8.5.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake python-single-r1
-
-DESCRIPTION="Open framework for storing and sharing scene data"
-HOMEPAGE="https://www.alembic.io/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="examples hdf5 python test"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- examples? ( python )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/imath:=
- python? ( dev-libs/imath:=[python,${PYTHON_SINGLE_USEDEP}] )
- hdf5? (
- >=sci-libs/hdf5-1.10.2:=[zlib(+)]
- >=sys-libs/zlib-1.2.11-r1
- )
- python? ( $(python_gen_cond_dep 'dev-libs/boost[python,${PYTHON_USEDEP}]') )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.8.5-set-correct-libdir.patch )
-
-DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt )
-
-src_prepare() {
- cmake_src_prepare
- # Tests are broken with python 3.11. See also: https://github.com/alembic/alembic/issues/411
- cmake_run_in "${S}/python/PyAlembic" cmake_comment_add_subdirectory Tests
-}
-
-src_configure() {
- local mycmakeargs=(
- -DALEMBIC_BUILD_LIBS=ON
- -DALEMBIC_DEBUG_WARNINGS_AS_ERRORS=OFF
- -DALEMBIC_SHARED_LIBS=ON
- # currently does nothing but require doxygen
- -DDOCS_PATH=OFF
- -DUSE_ARNOLD=OFF
- -DUSE_BINARIES=ON
- -DUSE_EXAMPLES=$(usex examples)
- -DUSE_HDF5=$(usex hdf5)
- -DUSE_MAYA=OFF
- -DUSE_PRMAN=OFF
- -DUSE_PYALEMBIC=$(usex python)
- -DUSE_TESTS=$(usex test)
- )
-
- use python && mycmakeargs+=( -DPython3_EXECUTABLE=${PYTHON} )
-
- cmake_src_configure
-}
-
-# some tests may fail if run in parallel mode
-# see https://github.com/alembic/alembic/issues/401
-src_test() {
- cmake_src_test -j1
-}
diff --git a/media-gfx/alembic/alembic-1.8.4.ebuild b/media-gfx/alembic/alembic-1.8.6-r1.ebuild
index f3bfe4a9376b..1c389cb6e29c 100644
--- a/media-gfx/alembic/alembic-1.8.4.ebuild
+++ b/media-gfx/alembic/alembic-1.8.6-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake python-single-r1
@@ -13,14 +13,17 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="examples hdf5 python test"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ examples? ( python )
+"
RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
- dev-libs/imath:=
+ >=dev-libs/imath-3.1.11-r1:=
python? ( dev-libs/imath:=[python,${PYTHON_SINGLE_USEDEP}] )
hdf5? (
>=sci-libs/hdf5-1.10.2:=[zlib(+)]
@@ -30,7 +33,11 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}"/${PN}-1.8.0-0001-set-correct-libdir.patch )
+PATCHES=(
+ "${FILESDIR}/${PN}-1.8.5-set-correct-libdir.patch"
+ "${FILESDIR}/${PN}-1.8.6-py312.patch"
+
+)
DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt )
diff --git a/media-gfx/alembic/files/alembic-1.8.0-0001-set-correct-libdir.patch b/media-gfx/alembic/files/alembic-1.8.0-0001-set-correct-libdir.patch
deleted file mode 100644
index 3216e38d2381..000000000000
--- a/media-gfx/alembic/files/alembic-1.8.0-0001-set-correct-libdir.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 9e877b10c05e9482ef00bda99033508cc64211fd Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Fri, 23 Apr 2021 15:20:15 +0200
-Subject: [PATCH] set correct libdir
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
----
- CMakeLists.txt | 8 ++++----
- lib/Alembic/CMakeLists.txt | 4 ++--
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 69fff1e..97d1e2d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -73,12 +73,12 @@ option(DOCS_PATH
-
- # Set static/dynamic build options
- SET(LIB_TYPE STATIC)
--SET(RUNTIME_INSTALL_DIR lib)
--SET(LIBRARY_INSTALL_DIR lib)
--SET(ARCHIVE_INSTALL_DIR lib)
-+SET(RUNTIME_INSTALL_DIR lib${LIB_SUFFIX})
-+SET(LIBRARY_INSTALL_DIR lib${LIB_SUFFIX})
-+SET(ARCHIVE_INSTALL_DIR lib${LIB_SUFFIX})
- IF (ALEMBIC_SHARED_LIBS)
- SET(LIB_TYPE SHARED)
-- SET(ARCHIVE_INSTALL_DIR lib)
-+ SET(ARCHIVE_INSTALL_DIR lib${LIB_SUFFIX})
- IF (WIN32)
- ADD_DEFINITIONS(-DALEMBIC_DLL)
- ENDIF()
-diff --git a/lib/Alembic/CMakeLists.txt b/lib/Alembic/CMakeLists.txt
-index 20acfed..9859bbe 100644
---- a/lib/Alembic/CMakeLists.txt
-+++ b/lib/Alembic/CMakeLists.txt
-@@ -78,7 +78,7 @@ TARGET_LINK_LIBRARIES(Alembic
- ${ZLIB_LIBRARY}
- )
-
--SET( ALEMBIC_LIB_INSTALL_DIR lib CACHE PATH "Where to install the Alembic libs")
-+SET( ALEMBIC_LIB_INSTALL_DIR lib${LIB_SUFFIX} CACHE PATH "Where to install the Alembic libs")
- INSTALL(TARGETS Alembic
- EXPORT AlembicTargets
- LIBRARY DESTINATION ${ALEMBIC_LIB_INSTALL_DIR}
-@@ -91,7 +91,7 @@ INSTALL(TARGETS Alembic
-
- set(alembic_targets_file "${PROJECT_NAME}Targets.cmake")
-
--SET(ConfigPackageLocation lib/cmake/Alembic CACHE PATH
-+SET(ConfigPackageLocation lib${LIB_SUFFIX}/cmake/Alembic CACHE PATH
- "Where to install the Alembic's cmake files")
-
- INCLUDE(CMakePackageConfigHelpers)
---
-2.31.1
-
diff --git a/media-gfx/alembic/files/alembic-1.8.6-py312.patch b/media-gfx/alembic/files/alembic-1.8.6-py312.patch
new file mode 100644
index 000000000000..499645280d9a
--- /dev/null
+++ b/media-gfx/alembic/files/alembic-1.8.6-py312.patch
@@ -0,0 +1,91 @@
+From 3b6c04d8c02520a973c95b51ca1fa4bd5e7e8e73 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Tue, 4 Jun 2024 14:15:11 +0200
+Subject: [PATCH] python/PyAlembic/Tests: update do python3.12
+
+tests: use assertEqual instead of assertEquals
+tests: use assertRaises instead of failUnlessRaises
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ maya/Tests/AbcExport_dupRoots_test.py | 2 +-
+ python/PyAlembic/Tests/testCollections.py | 4 ++--
+ python/PyAlembic/Tests/testCurves.py | 2 +-
+ python/PyAlembic/Tests/testPropExcept.py | 2 +-
+ python/PyAlembic/Tests/testTypes.py | 2 +-
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/maya/Tests/AbcExport_dupRoots_test.py b/maya/Tests/AbcExport_dupRoots_test.py
+index d532c10..f864281 100644
+--- a/maya/Tests/AbcExport_dupRoots_test.py
++++ b/maya/Tests/AbcExport_dupRoots_test.py
+@@ -48,7 +48,7 @@ class AbcExport_dupRootsTest(unittest.TestCase):
+ MayaCmds.group(n='group1')
+ MayaCmds.duplicate()
+
+- self.failUnlessRaises(RuntimeError, MayaCmds.AbcExport,
++ self.assertRaises(RuntimeError, MayaCmds.AbcExport,
+ j='-root group1|cube -root group2|cube -f dupRoots.abc')
+
+ # the abc file shouldn't exist
+diff --git a/python/PyAlembic/Tests/testCollections.py b/python/PyAlembic/Tests/testCollections.py
+index ab48a54..1745582 100644
+--- a/python/PyAlembic/Tests/testCollections.py
++++ b/python/PyAlembic/Tests/testCollections.py
+@@ -67,14 +67,14 @@ class CollectionTest(unittest.TestCase):
+ prop = group.getSchema().createCollection("prop")
+ prop.setValue(strVec)
+
+- self.assertEquals(group.getSchema().getNumCollections(), 1)
++ self.assertEqual(group.getSchema().getNumCollections(), 1)
+
+ # TODO passing in time sampling here causes a segfault, most likely because
+ # of how createCollection currently takes an Argument &, see #274
+ cool = group.getSchema().createCollection("cool", md)
+ cool.setTimeSampling(ts)
+
+- self.assertEquals(
++ self.assertEqual(
+ group.getSchema().getCollection(1).getMetaData().get("coupe"),
+ "de ville" )
+
+diff --git a/python/PyAlembic/Tests/testCurves.py b/python/PyAlembic/Tests/testCurves.py
+index dba9e1c..956625a 100644
+--- a/python/PyAlembic/Tests/testCurves.py
++++ b/python/PyAlembic/Tests/testCurves.py
+@@ -59,7 +59,7 @@ class CurvesTest(unittest.TestCase):
+ widthSamp, uvSamp )
+
+ knots = curvesSamp.getKnots()
+- self.assertEquals(len(knots), 0)
++ self.assertEqual(len(knots), 0)
+
+ newKnots = FloatArray(4)
+ for ii in range(4):
+diff --git a/python/PyAlembic/Tests/testPropExcept.py b/python/PyAlembic/Tests/testPropExcept.py
+index e1a1dff..2ddf40d 100644
+--- a/python/PyAlembic/Tests/testPropExcept.py
++++ b/python/PyAlembic/Tests/testPropExcept.py
+@@ -70,5 +70,5 @@ class PropExceptTest(unittest.TestCase):
+ p = props.getProperty("myprop")
+ self.assertEqual(p.getName(), "myprop")
+
+- self.failUnlessRaises(KeyError, props.getProperty, "notfound")
++ self.assertRaises(KeyError, props.getProperty, "notfound")
+ self.assertRaises(IndexError, props.getProperty, 99)
+diff --git a/python/PyAlembic/Tests/testTypes.py b/python/PyAlembic/Tests/testTypes.py
+index bad9577..f0e8d26 100644
+--- a/python/PyAlembic/Tests/testTypes.py
++++ b/python/PyAlembic/Tests/testTypes.py
+@@ -60,7 +60,7 @@ class TypesTest(unittest.TestCase):
+ self.assertIsNotNone(POD.kUnknownPOD)
+
+ # If a new POD type is added, this will throw an exception
+- self.assertEquals(POD.kNumPlainOldDataTypes, 14)
++ self.assertEqual(POD.kNumPlainOldDataTypes, 14)
+
+ def testDataTypeWrapper(self):
+ # Default Constructor
+--
+2.45.1
+
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/Manifest b/media-gfx/asymptote/Manifest
index b4bfc5dfb678..ead92a207efb 100644
--- a/media-gfx/asymptote/Manifest
+++ b/media-gfx/asymptote/Manifest
@@ -1,2 +1,2 @@
-DIST asymptote-2.86.src.tgz 15118426 BLAKE2B 305edae6653094a5daa9f136951cfcc3f8ece1dc8e616593710e0bace350a95f61729f8d7a9522a14704300a6cfd15decb1bb634e58dba1626f09c053b6b368b SHA512 9e11dbfca10379f07b50dcce0d63c12b793f47741651b1804cf0825e87604c40b5b94acf343ce7f5ca7da83b5ebb0e213090ada80e0b6ebe4f6cec9db67209d6
DIST asymptote-2.89.src.tgz 15133552 BLAKE2B bde5acd3e76543b3c936e785ccf081c38687d535f336ee0e3da62f5fe078bb040dc162b64f02e94f392129c120bdf497b86e3862059abdb1b4544bab3cce3218 SHA512 a9874f0dc6eb05b95ef551611d85f39222af2a0628d7904160b08bdaf797c2b9ec6d12af7ae26dee69dbc056a5bffad4e450d4846a517d80990d89759e0c47a0
+DIST asymptote-2.90.src.tgz 15154576 BLAKE2B 57e3c4287f2e8a6b6f3d660cdd04bb753b435294d4769bbcf84d6c7bf80c813609528767af7d19853d9f72f4f1ce9e6a8dcc6a75731a2f3d16098d5da5b81b6c SHA512 2d050f7a2cfc34d2d6b5382a48e7bf09031d98a77e61b654b4af84b5e8e11553a9a713a6dea8d09291761427d7134742a3d266e57ac57ffda3587ec0487ecfca
diff --git a/media-gfx/asymptote/asymptote-2.89.ebuild b/media-gfx/asymptote/asymptote-2.89.ebuild
index a0b459eb65fa..8d3f1ada6331 100644
--- a/media-gfx/asymptote/asymptote-2.89.ebuild
+++ b/media-gfx/asymptote/asymptote-2.89.ebuild
@@ -9,11 +9,11 @@ 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"
-KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="amd64 ~ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="+boehm-gc context curl doc emacs examples fftw gsl +imagemagick latex lsp offscreen +opengl python sigsegv svg test vim-syntax X"
RESTRICT="!test? ( test )"
diff --git a/media-gfx/asymptote/asymptote-2.86.ebuild b/media-gfx/asymptote/asymptote-2.90.ebuild
index c90253601777..41e78e722943 100644
--- a/media-gfx/asymptote/asymptote-2.86.ebuild
+++ b/media-gfx/asymptote/asymptote-2.90.ebuild
@@ -3,17 +3,17 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools elisp-common latex-package python-r1
DESCRIPTION="A vector graphics language that provides a framework for technical drawing"
HOMEPAGE="https://asymptote.sourceforge.io/"
-SRC_URI="mirror://sourceforge/asymptote/${P}.src.tgz"
+SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="+boehm-gc context curl doc emacs examples fftw gsl +imagemagick latex lsp offscreen +opengl python sigsegv svg test vim-syntax X"
RESTRICT="!test? ( test )"
@@ -73,8 +73,6 @@ PATCHES=(
# Bug #322473
"${FILESDIR}/${PN}-2.70-info.patch"
-
- "${FILESDIR}/${PN}-2.86-without-lsp.patch"
)
src_prepare() {
diff --git a/media-gfx/asymptote/files/asymptote-2.86-without-lsp.patch b/media-gfx/asymptote/files/asymptote-2.86-without-lsp.patch
deleted file mode 100644
index 2f70cd0d9725..000000000000
--- a/media-gfx/asymptote/files/asymptote-2.86-without-lsp.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 29caaed5ead5a62787475286afd22e40585b8bb8 Mon Sep 17 00:00:00 2001
-From: John Bowman <bowman@ualberta.ca>
-Date: Wed, 14 Jun 2023 22:36:35 -0600
-Subject: [PATCH] Fix --without-lsp (issue #379).
-
----
- common.h | 17 ++++++++---------
- 1 file changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/common.h b/common.h
-index 13f8be106..6ee3d971f 100644
---- a/common.h
-+++ b/common.h
-@@ -17,28 +17,27 @@
- #include "config.h"
- #endif
-
--#ifdef HAVE_LSP
- #if __cplusplus < 201703L
-+
-+#ifdef HAVE_LSP
- #include <boost/optional.hpp>
- #include <boost/none.hpp>
- using boost::optional;
- #define nullopt boost::none
- using boost::make_optional;
- #else
--#include <optional>
--using std::optional;
--using std::nullopt;
--using std::make_optional;
--#endif
--
--#else
--#if __cplusplus < 201703L
- #include "optional.hpp"
- #define boost nonstd
- using nonstd::optional;
- using nonstd::nullopt;
- using nonstd::make_optional;
- #endif
-+
-+#else
-+#include <optional>
-+using std::optional;
-+using std::nullopt;
-+using std::make_optional;
- #endif
-
- using std::make_pair;
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..aa58233b6a81 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
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
IUSE="+bullet +dds +fluid +openexr +tbb \
alembic collada +color-management cuda +cycles \
debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
@@ -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..69f830424c87 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
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
IUSE="+bullet +dds +fluid +openexr +tbb \
alembic collada +color-management cuda +cycles \
debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
@@ -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..f127201b747a 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
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
IUSE="+bullet +dds +fluid +openexr +tbb
alembic collada +color-management cuda +cycles cycles-bin-kernels
debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
@@ -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..79149721f474 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
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
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"
+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-r2.ebuild b/media-gfx/blender/blender-4.1.1-r2.ebuild
new file mode 100644
index 000000000000..3de02e47f35d
--- /dev/null
+++ b/media-gfx/blender/blender-4.1.1-r2.ebuild
@@ -0,0 +1,594 @@
+# 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..18} )
+
+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+ cycles? ( Apache-2.0 )"
+SLOT="${PV%.*}"
+IUSE="
+ alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
+ debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
+ jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp openpgl
+ +opensubdiv +openvdb optix osl +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? (
+ llvm_slot_17? (
+ dev-util/hip:0/5.7
+ )
+ llvm_slot_18? (
+ >=dev-util/hip-6.1:=[llvm_slot_18(-)]
+ )
+ )
+ jack? ( virtual/jack )
+ jemalloc? ( dev-libs/jemalloc:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ ndof? (
+ app-misc/spacenavd
+ dev-libs/libspnav
+ )
+ nls? ( virtual/libiconv )
+ openal? ( media-libs/openal )
+ oidn? ( >=media-libs/oidn-2.1.0 )
+ oneapi? ( dev-libs/intel-compute-runtime[l0] )
+ openexr? (
+ >=dev-libs/imath-3.1.7:=
+ >=media-libs/openexr-3.2.1:0=
+ )
+ openpgl? ( media-libs/openpgl:= )
+ opensubdiv? ( >=media-libs/opensubdiv-3.5.0 )
+ openvdb? (
+ >=media-gfx/openvdb-11.0.0:=[nanovdb?]
+ dev-libs/c-blosc:=
+ )
+ optix? ( dev-libs/optix )
+ osl? (
+ >=media-libs/osl-1.13:=[${LLVM_USEDEP}]
+ media-libs/mesa[${LLVM_USEDEP}]
+ )
+ pdf? ( media-libs/libharu )
+ potrace? ( media-gfx/potrace )
+ pugixml? ( dev-libs/pugixml )
+ pulseaudio? ( media-libs/libpulse )
+ sdl? ( media-libs/libsdl2[sound,joystick] )
+ sndfile? ( media-libs/libsndfile )
+ tbb? ( dev-cpp/tbb:= )
+ tiff? ( media-libs/tiff:= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=dev-libs/wayland-1.12
+ >=dev-libs/wayland-protocols-1.15
+ >=x11-libs/libxkbcommon-0.2.0
+ dev-util/wayland-scanner
+ media-libs/mesa[wayland]
+ sys-apps/dbus
+ )
+ vulkan? (
+ media-libs/shaderc
+ dev-util/spirv-tools
+ dev-util/glslang
+ media-libs/vulkan-loader
+ )
+ otf? (
+ media-libs/harfbuzz
+ )
+ renderdoc? (
+ media-gfx/renderdoc
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXxf86vm
+ )
+"
+
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen[dot]
+ dev-python/sphinx[latex]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+ nls? ( sys-devel/gettext )
+ wayland? (
+ dev-util/wayland-scanner
+ )
+ X? (
+ x11-base/xorg-proto
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.0.2-FindClang.patch"
+ "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
+)
+
+blender_check_requirements() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ if use doc; then
+ CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
+ fi
+}
+
+blender_get_version() {
+ # Get blender version from blender itself.
+ BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
+ if ((${BV:0:1} < 3)) ; then
+ # Add period (290 -> 2.90).
+ BV=${BV:0:1}.${BV:1}
+ else
+ # Add period and skip the middle number (301 -> 3.1)
+ BV=${BV:0:1}.${BV:2}
+ fi
+}
+
+pkg_pretend() {
+ blender_check_requirements
+
+ if use oneapi; then
+ einfo "The Intel oneAPI support is rudimentary."
+ einfo ""
+ einfo "Please report any bugs you find to https://bugs.gentoo.org/"
+ fi
+}
+
+pkg_setup() {
+ if use osl; then
+ llvm-r1_pkg_setup
+ fi
+
+ blender_check_requirements
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]] ; then
+ if ! use test; then
+ EGIT_SUBMODULES+=( '-tests/*' )
+ fi
+ git-r3_src_unpack
+
+ 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-4.1.1.ebuild b/media-gfx/blender/blender-4.1.1.ebuild
new file mode 100644
index 000000000000..66f6aa0684a0
--- /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+ cycles? ( Apache-2.0 )"
+SLOT="${PV%.*}"
+IUSE="
+ alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
+ debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
+ jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp openpgl
+ +opensubdiv +openvdb optix osl +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..77eb9876c615 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..18} )
-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
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
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 )"
+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,19 @@ 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? (
+ llvm_slot_17? (
+ dev-util/hip:0/5.7
+ )
+ llvm_slot_18? (
+ >=dev-util/hip-6.1:=[llvm_slot_18(-)]
+ )
+ )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -86,18 +103,22 @@ 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_USEDEP}]
+ media-libs/mesa[${LLVM_USEDEP}]
+ )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -115,6 +136,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 +157,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
"
BDEPEND="
@@ -141,10 +178,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 +210,45 @@ blender_get_version() {
pkg_pretend() {
blender_check_requirements
+
+ if use oneapi; then
+ einfo "The Intel oneAPI support is rudimentary."
+ einfo ""
+ einfo "Please report any bugs you find to https://bugs.gentoo.org/"
+ fi
}
pkg_setup() {
+ 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 +263,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 +281,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 +316,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 +378,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 +388,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 +423,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 +437,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 +454,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 +465,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 +478,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 +567,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 +588,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/cairosvg/cairosvg-2.7.1.ebuild b/media-gfx/cairosvg/cairosvg-2.7.1.ebuild
index d159435bd6da..b9a4d974a3ba 100644
--- a/media-gfx/cairosvg/cairosvg-2.7.1.ebuild
+++ b/media-gfx/cairosvg/cairosvg-2.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="CairoSVG"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/media-gfx/chafa/Manifest b/media-gfx/chafa/Manifest
index a33fde395387..e71ef6feb138 100644
--- a/media-gfx/chafa/Manifest
+++ b/media-gfx/chafa/Manifest
@@ -1 +1,2 @@
DIST chafa-1.12.5.tar.xz 939792 BLAKE2B 82fbcd7b071dba8534fdd391b6ce22f6de63b1e3eb30228ba1ce6e751c442efbc4a5141d30fa767cc0789b01518da016a4245f9c560837530daa4d92534a9eca SHA512 d0b719294bdc8880f2c65c1bd777ac0eb98d47d48147bc6f883f1917d4f9a6b246c4e9365bc0128b1332d4a268611ac7e479f346f13c49d2e56ff4f446f22d94
+DIST chafa-1.14.1.tar.xz 991656 BLAKE2B 1a7ba4c7d3958396c89b7b2f2873b4c1dfcf5209ae0d53fd0b2e014c3012a316a2d197a2f593c230e02bed01ed3119d6d0659d21b5f5d02dacd7eaaa626f2cb8 SHA512 61872acc3370318ab1a363cd21839978825d722d64225f968fd12acae1b7cf4a9be0f011fa2ab69a62cf61e32f095bb47aaf9d8796b97f25844703e7dfdfea35
diff --git a/media-gfx/chafa/chafa-1.14.1.ebuild b/media-gfx/chafa/chafa-1.14.1.ebuild
new file mode 100644
index 000000000000..06484a9f1cb7
--- /dev/null
+++ b/media-gfx/chafa/chafa-1.14.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="versatile and fast Unicode/ASCII/ANSI graphics renderer"
+HOMEPAGE="https://hpjansson.org/chafa/ https://github.com/hpjansson/chafa"
+SRC_URI="https://hpjansson.org/chafa/releases/${P}.tar.xz"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="+tools webp"
+
+RDEPEND="
+ dev-libs/glib:2
+ tools? ( >=media-libs/freetype-2.0.0 )
+ webp? ( media-libs/libwebp:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ # bug 909429
+ use webp && append-ldflags -lwebp
+
+ econf \
+ --disable-man \
+ $(use_with tools) \
+ $(use_with webp)
+}
+
+src_install() {
+ default
+
+ use tools && doman docs/chafa.1
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/media-gfx/chafa/metadata.xml b/media-gfx/chafa/metadata.xml
index 1e12935358fc..6cc6698618e1 100644
--- a/media-gfx/chafa/metadata.xml
+++ b/media-gfx/chafa/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="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="tools">Build command-line tools</flag>
</use>
diff --git a/media-gfx/cropgui/Manifest b/media-gfx/cropgui/Manifest
index 73b9c62cd373..b18c7e67cdd2 100644
--- a/media-gfx/cropgui/Manifest
+++ b/media-gfx/cropgui/Manifest
@@ -1 +1,2 @@
DIST cropgui-0.7.tar.gz 855705 BLAKE2B d2693034b3e3a4355f58c4d17d355721189da8442b5d49ba4c11dc0033371c74301a99c001613c427375bdb9cd733f56a870186a6a59b631feaae93dbd69b232 SHA512 ea06527bdd80382bf4986ea1eea8d3c0e11ea60c472bebb489fdc3bd8206f087d0377d769e8fe86ec4573f6d510266443fd25134894b91206e1c5c9d6f7cf563
+DIST cropgui-0.8.tar.gz 857102 BLAKE2B 0fb1dd24c282e6c5595de97dc2c52d20e7c1200d7092edb8e3173276873c49512088f1fc8deed0c1e3d6b606009fe06f3c38cf98c7dac15dd74ccbdab2d71539 SHA512 911bea2b989ce53afeaf067fe5d718440b0a15c26b9488259569f1a287c8128cb7244bcb0721b15ec3564644a0ba8e9ed2991d275420bf3e3659cb0be2e8622d
diff --git a/media-gfx/cropgui/cropgui-0.8.ebuild b/media-gfx/cropgui/cropgui-0.8.ebuild
new file mode 100644
index 000000000000..b089224257bf
--- /dev/null
+++ b/media-gfx/cropgui/cropgui-0.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12} )
+inherit python-r1 desktop wrapper xdg-utils
+
+DESCRIPTION="GUI for lossless cropping of jpeg images"
+HOMEPAGE="https://emergent.unpythonic.net/01248401946"
+SRC_URI="https://github.com/jepler/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${PYTHON_DEPS}
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ media-libs/exiftool
+ media-gfx/imagemagick"
+
+install_cropgui_wrapper() {
+ python_domodule cropgtk.py cropgui_common.py filechooser.py cropgui.glade
+ make_wrapper "${PN}.tmp" "${PYTHON} $(python_get_sitedir)/${PN}/cropgtk.py"
+ python_newexe "${ED}/usr/bin/${PN}.tmp" "${PN}"
+ rm "${ED}/usr/bin/${PN}.tmp" || die
+}
+
+src_install() {
+ python_moduleinto "${PN}"
+ python_foreach_impl install_cropgui_wrapper
+
+ domenu "${PN}.desktop"
+ doicon "${PN}.png"
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/media-gfx/curtail/Manifest b/media-gfx/curtail/Manifest
index cdb79f810188..96cc9b80fdfd 100644
--- a/media-gfx/curtail/Manifest
+++ b/media-gfx/curtail/Manifest
@@ -1,2 +1,2 @@
-DIST curtail-1.8.0.tar.gz 228988 BLAKE2B c04ad5aaebe8ceab1215937bb3d76ad6b2ca8cb9331011af2c6d3c8d33ee0a898fe3de0e24c0a6303b54ad0a7dd0d811f9b32321b50bbfea6b8063244be464a3 SHA512 6a8a081c0fe1b780b50c55a90f70c4d4514c49941eb9fd5924897e3961aa718af71010e8d210030e1b6028c2e33d0d19dcca5cbdcf51463b5a24d6d2e86c196c
+DIST curtail-1.10.0.tar.gz 205428 BLAKE2B 7a9d1c56542648cd1c4c6fe1355276896bea96a8f054d03c2e4a174e392867db05c3a6548897d31f078b2416eac8b3695cafd3977236f0b66fd10f3020e35d3a SHA512 6bd76b4cefd693199e25db112e90acaa990d2a8dbc2016bd9d55e8d1857bd9c6e94f9164691855231afeff65ae3b070c646a8dc8b446591a08509683dd4a9fb7
DIST curtail-1.9.1.tar.gz 199785 BLAKE2B 689aa8f61f3c48ed51a85c35bbc6bee136a20064cd2d03c48f630fd80c8c85b64421e77327a71a41f266bd8f9d6f0dcdc197c15657159ae74056e1b52cc8ef12 SHA512 7ff0ff10068c5ff2694f6674376edf84957759b6274740d47d11a584943b026183b13a59b777c27569b6997c3cb358694fa93c55a1136b9d1fab08e768d1a1a4
diff --git a/media-gfx/curtail/curtail-1.8.0-r1.ebuild b/media-gfx/curtail/curtail-1.10.0.ebuild
index 34d23e02e28d..c698273b9338 100644
--- a/media-gfx/curtail/curtail-1.8.0-r1.ebuild
+++ b/media-gfx/curtail/curtail-1.10.0.ebuild
@@ -3,32 +3,36 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..13} )
inherit gnome2-utils meson python-single-r1 xdg
DESCRIPTION="Image compressor, supporting PNG, JPEG and WebP"
HOMEPAGE="https://github.com/Huluti/Curtail/"
-if [[ ${PV} == *9999* ]] ; then
+if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
+
EGIT_REPO_URI="https://github.com/Huluti/${PN^}.git"
else
SRC_URI="https://github.com/Huluti/${PN^}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
- S="${WORKDIR}"/${P^}
+ S="${WORKDIR}/${P^}"
+
KEYWORDS="amd64 ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="test" # Just desktop / schema / appstream file validation (fails).
+RESTRICT="test" # Just desktop / schema / appstream file validation (fails).
RDEPEND="
${PYTHON_DEPS}
gui-libs/gtk:4[introspection]
- $(python_gen_cond_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]')
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
"
BDEPEND="
${RDEPEND}
@@ -46,7 +50,7 @@ RDEPEND+="
DOCS=( CHANGELOG.md README.md )
src_prepare() {
- sed -i "s|@PYTHON@|${PYTHON}|" "${S}"/src/${PN}.in || die
+ sed -i "s|@PYTHON@|${PYTHON}|" "${S}/src/${PN}.in" || die
default
}
diff --git a/media-gfx/curtail/curtail-1.9.1.ebuild b/media-gfx/curtail/curtail-1.9.1.ebuild
index 222e4969754c..036a248fd7e7 100644
--- a/media-gfx/curtail/curtail-1.9.1.ebuild
+++ b/media-gfx/curtail/curtail-1.9.1.ebuild
@@ -18,7 +18,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${P^}"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 ~x86"
fi
LICENSE="GPL-3+"
diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest
index cbf2776ca5d3..e0b1a097eb61 100644
--- a/media-gfx/darktable/Manifest
+++ b/media-gfx/darktable/Manifest
@@ -1,5 +1,6 @@
DIST darktable-4.6.0.tar.xz 6129572 BLAKE2B 170d874f6a35c4fe5a5555f308bc541885968b8b5535402f8087ad4d47ee93f3d22a78c633f9b3e14584d1925a7dd682a5f3e2bd187ef2f58d0dc2a407b9bb27 SHA512 825a63c9b8bd7420f5c4b53a9281587be92088e1cd617faaf1de2b455503092cc7476872803a1d82c7bf57fcc57f85a40fc4af8ca04367e48719030f08726df7
DIST darktable-4.6.1.tar.xz 6240188 BLAKE2B cf0055a4dd5f0a246b8de8ca5a29488fd77162cf2e0d7b681235499da39e4dad69dc5e5f7083f67364171d89aa76e940e8338eadee959f6529fb27658f43b75b SHA512 a5bcbdded7cacbc22d82cc982ad1387dc316cf4c0369f6f215abf9f60906024f2236a988dc025c0553bc2d8d7ca9d7bee9eb28b164fa1d9312eef1a084156fb6
+DIST darktable-4.8.0.tar.xz 6256036 BLAKE2B 386276776a68887c7b439bf71ecc2ba9cd4cf54c247073908eae0cafd1d1db390c39937dfd4a2fcbe5164317b6090e29f2d2caa66fb7da47a702ba8988833ed5 SHA512 cb0535274a2862dfb2c8d36149cfced828662e423e04347970c0e2546e4d70ed7ab52cb80b6d21785165a294dee74fc23ba749086aab0a78386936341eb8216a
DIST darktable-usermanual-4.4.en.pdf 34311705 BLAKE2B 98094ed8288be092ec9c0398bf1719992ce80723aa803e3924e9d28c1c5f2717b120ed618cbec6eebb958be59d15fe107428099efd87926622b5d08110e36b67 SHA512 90e8b8912776b674a436a7e2377d16b0ef374d879ba16501a1c8a0c8407776ef362b747121859884e0aac1d9fc94f3bf0a58bbccdc6fce27cbcaf4cf169d6ef3
DIST darktable-usermanual-4.4.uk.pdf 33796107 BLAKE2B 060218ec9b7fbcec947506ea9fdf355411d0b1242d41b9ffb7abd8dd991ece29e75c06231251d2ec2701e319e1b1e8134c08603649fe7e933d21b4aef597f7c3 SHA512 f2a6837a05114d4254fade358382be5fabcbd980a3c4fad702b1102176c7e261fd8646aeef1c0328001da8f7cb25d50b06c9f1163a54987985f556c616728bf5
DIST darktable-usermanual-4.6.en.pdf 26844087 BLAKE2B 5bdb5e012cd8ba7bace733006136b1f9e510214179e84a9cba0664a3c2e4b19828e2cc54addaf5999579b910b592bf0e9cd9796cf89f3a4e6ae369e8187fbfce SHA512 a1d610c42ae3d1ae4d0bf3e827ed9ccae6faeea20cbc03e7c12d74c3c41175bf3f61d9eba43406b9ba86750edf976c1539357ddf774733f566a076418c34f558
diff --git a/media-gfx/darktable/darktable-4.6.0.ebuild b/media-gfx/darktable/darktable-4.6.0.ebuild
index 437afc9b907f..ac40477450ed 100644
--- a/media-gfx/darktable/darktable-4.6.0.ebuild
+++ b/media-gfx/darktable/darktable-4.6.0.ebuild
@@ -148,6 +148,7 @@ src_configure() {
-DUSE_COLORD=$(usex colord)
-DUSE_GMIC=OFF
-DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
+ -DUSE_HEIF=$(usex heif)
-DUSE_JXL=$(usex jpegxl)
-DUSE_KWALLET=$(usex kwallet)
-DUSE_LIBSECRET=$(usex keyring)
diff --git a/media-gfx/darktable/darktable-4.6.1.ebuild b/media-gfx/darktable/darktable-4.6.1.ebuild
index 4d008c42995f..f3b24a3397c4 100644
--- a/media-gfx/darktable/darktable-4.6.1.ebuild
+++ b/media-gfx/darktable/darktable-4.6.1.ebuild
@@ -149,6 +149,7 @@ src_configure() {
-DUSE_COLORD=$(usex colord)
-DUSE_GMIC=OFF
-DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
+ -DUSE_HEIF=$(usex heif)
-DUSE_JXL=$(usex jpegxl)
-DUSE_KWALLET=$(usex kwallet)
-DUSE_LIBSECRET=$(usex keyring)
diff --git a/media-gfx/darktable/darktable-4.8.0.ebuild b/media-gfx/darktable/darktable-4.8.0.ebuild
new file mode 100644
index 000000000000..a03a32b2d03e
--- /dev/null
+++ b/media-gfx/darktable/darktable-4.8.0.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-4 )
+
+inherit cmake flag-o-matic lua-single toolchain-funcs xdg
+
+DESCRIPTION="A virtual lighttable and darkroom for photographers"
+HOMEPAGE="https://www.darktable.org/"
+S="${WORKDIR}/${P/_/~}"
+LICENSE="GPL-3 CC-BY-3.0"
+SLOT="0"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/darktable-org/${PN}.git"
+
+ LANGS=" af ca cs da de el es fi fr gl he hu it ja nb nl pl pt-BR pt-PT ro ru sk sl sq sv th uk zh-CN zh-TW"
+else
+ #DOC_PV=$(ver_cut 1-2)
+ DOC_PV="4.6"
+ MY_PV="${PV/_/}"
+ MY_P="${P/_/.}"
+
+ SRC_URI="https://github.com/darktable-org/${PN}/releases/download/release-${MY_PV}/${MY_P}.tar.xz
+ doc? (
+ https://docs.darktable.org/usermanual/${DOC_PV}/en/${PN}_user_manual.pdf -> ${PN}-usermanual-${DOC_PV}.en.pdf
+ l10n_uk? (
+ https://docs.darktable.org/usermanual/${DOC_PV}/uk/${PN}_user_manual.pdf
+ -> ${PN}-usermanual-${DOC_PV}.uk.pdf
+ )
+ )"
+
+ KEYWORDS="~amd64 ~arm64 -x86"
+ LANGS=" cs de es fi fr hu it ja nl pl pt-BR ru sl sq uk zh-CN zh-TW"
+fi
+
+IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi nls opencl openmp openexr test tools webp
+ ${LANGS// / l10n_}"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite]
+# in BDEPEND. This has not been done *on purpose*, for the following reason:
+# - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative,
+# in BDEPEND too
+# - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which
+# by default pull in sys-devel/clang
+# - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op
+# (and curiously enough, empirical observations suggest current versions of Portage are
+# more likely to pull in Clang to build darktable with than to request enabling USE=graphite
+# on GCC; that might be a bug though)
+BDEPEND="dev-util/intltool
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ test? ( >=dev-python/jsonschema-3.2.0 )"
+DEPEND="dev-db/sqlite:3
+ dev-libs/icu:=
+ dev-libs/json-glib
+ dev-libs/libxml2:2
+ >=dev-libs/pugixml-1.8:=
+ gnome-base/librsvg:2
+ >=media-gfx/exiv2-0.25-r2:=[xmp]
+ media-libs/lcms:2
+ >=media-libs/lensfun-0.2.3:=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ net-libs/libsoup:2.4
+ net-misc/curl
+ sys-libs/zlib:=
+ x11-libs/cairo
+ >=x11-libs/gtk+-3.22:3
+ x11-libs/pango
+ avif? ( >=media-libs/libavif-0.8.2:= )
+ colord? ( x11-libs/colord-gtk:= )
+ cups? ( net-print/cups )
+ gamepad? ( media-libs/libsdl2 )
+ geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 )
+ keyring? ( >=app-crypt/libsecret-0.18 )
+ gphoto2? ( media-libs/libgphoto2:= )
+ graphicsmagick? ( media-gfx/graphicsmagick )
+ heif? ( media-libs/libheif:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ jpegxl? ( media-libs/libjxl:= )
+ lua? ( ${LUA_DEPS} )
+ midi? ( media-libs/portmidi )
+ opencl? ( virtual/opencl )
+ openexr? ( media-libs/openexr:= )
+ webp? ( media-libs/libwebp:= )"
+RDEPEND="${DEPEND}
+ kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
+ "${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch
+ "${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch
+ "${FILESDIR}"/${PN}-4.8.0_fix-has-attribute-musl.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # Bug #695658
+ if tc-is-gcc; then
+ if ! test-flags-CC -floop-block &> /dev/null; then
+ eerror "Building ${PN} with GCC requires Graphite support."
+ eerror "Please switch to a version of sys-devel/gcc built with USE=graphite, or use a different compiler."
+ die "Selected compiler is sys-devel/gcc[-graphite]"
+ fi
+ fi
+
+ use openmp && tc-check-openmp
+ fi
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ use cpu_flags_x86_avx && append-flags -mavx
+ use cpu_flags_x86_sse3 && append-flags -msse3
+
+ sed -i -e 's:/appdata:/metainfo:g' data/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE="Release"
+ local mycmakeargs=(
+ -DBUILD_CURVE_TOOLS=$(usex tools)
+ -DBUILD_NOISE_TOOLS=$(usex tools)
+ -DBUILD_PRINT=$(usex cups)
+ -DCUSTOM_CFLAGS=ON
+ -DDONT_USE_INTERNAL_LUA=ON
+ -DRAWSPEED_ENABLE_LTO=$(usex lto)
+ -DRAWSPEED_ENABLE_WERROR=OFF
+ -DRAWSPEED_MUSL_SYSTEM=$(usex elibc_musl)
+ -DTESTBUILD_OPENCL_PROGRAMS=OFF
+ -DUSE_AVIF=$(usex avif)
+ -DUSE_CAMERA_SUPPORT=$(usex gphoto2)
+ -DUSE_COLORD=$(usex colord)
+ -DUSE_GMIC=OFF
+ -DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
+ -DUSE_HEIF=$(usex heif)
+ -DUSE_JXL=$(usex jpegxl)
+ -DUSE_KWALLET=$(usex kwallet)
+ -DUSE_LIBSECRET=$(usex keyring)
+ -DUSE_LUA=$(usex lua)
+ -DUSE_MAP=$(usex geolocation)
+ -DUSE_NLS=$(usex nls)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENEXR=$(usex openexr)
+ -DUSE_OPENJPEG=$(usex jpeg2k)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_PORTMIDI=$(usex midi)
+ -DUSE_SDL2=$(usex gamepad)
+ -DUSE_WEBP=$(usex webp)
+ -DWANT_JSON_VALIDATION=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # This USE flag is masked for -9999
+ if use doc; then
+ dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.en.pdf
+ use l10n_uk && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.uk.pdf
+ fi
+
+ if use nls; then
+ for lang in ${LANGS} ; do
+ if ! use l10n_${lang}; then
+ rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog
+ elog "When updating a major version,"
+ elog "please bear in mind that your edits will be preserved during this process,"
+ elog "but it will not be possible to downgrade any more."
+ elog
+ ewarn "It will not be possible to downgrade!"
+ ewarn
+}
diff --git a/media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch b/media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch
new file mode 100644
index 000000000000..f6a474acfd24
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch
@@ -0,0 +1,26 @@
+From 7601d97268bf5f63f7e53d9c114fe439dcc46b0d Mon Sep 17 00:00:00 2001
+From: Markus Meier <maekke@gentoo.org>
+Date: Fri, 21 Jun 2024 20:35:33 +0200
+Subject: [PATCH] fix musl build
+
+See https://bugs.gentoo.org/915596
+---
+ src/common/darktable.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/darktable.h b/src/common/darktable.h
+index a62fd402fe..4d0d571b2b 100644
+--- a/src/common/darktable.h
++++ b/src/common/darktable.h
+@@ -150,7 +150,7 @@ extern "C" {
+ /* Create cloned functions for various CPU SSE generations */
+ /* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */
+ /* TL;DR : use only on SIMD functions containing low-level paralellized/vectorized loops */
+-#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && !defined(__APPLE__)
++#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && !defined(__APPLE__) && defined(__GLIBC__)
+ # if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)
+ #define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
+ # elif defined(__PPC64__)
+--
+2.44.2
+
diff --git a/media-gfx/darktable/metadata.xml b/media-gfx/darktable/metadata.xml
index be183534803a..3abfd9aceb0e 100644
--- a/media-gfx/darktable/metadata.xml
+++ b/media-gfx/darktable/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <maintainer type="person">
<email>maekke@gentoo.org</email>
<name>Markus Meier</name>
</maintainer>
diff --git a/media-gfx/dawn/Manifest b/media-gfx/dawn/Manifest
deleted file mode 100644
index 1cdca1e65ecb..000000000000
--- a/media-gfx/dawn/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dawn_3_90b.tgz 1334732 BLAKE2B 97f4e747b8f9d2eb60d9c8f0e7358fe549052e36a02127f02363c328775f33ae9fd36afd850ef06b365aaaa9723a541d89d7f2fccb37d1dd30f626054d7939b3 SHA512 5ff0b3572442ad1f435d5f894a0f1637efbc8eb3dae4f67dd456ff220a497cc59fe3bdf773cd38a0690d3689e9cda48f49c408ddab56f31efb9c87447d439fea
diff --git a/media-gfx/dawn/dawn-3.90b-r1.ebuild b/media-gfx/dawn/dawn-3.90b-r1.ebuild
deleted file mode 100644
index 8a48d386661e..000000000000
--- a/media-gfx/dawn/dawn-3.90b-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eapi7-ver toolchain-funcs
-
-MY_P=${PN}_$(ver_rs 1 _)
-
-DESCRIPTION="3D geometrical postscript renderer"
-HOMEPAGE="http://geant4.kek.jp/~tanaka/DAWN/About_DAWN.html"
-SRC_URI="http://geant4.kek.jp/~tanaka/src/${MY_P}.tgz"
-
-LICENSE="public-domain"
-SLOT="0"
-
-KEYWORDS="amd64 ~hppa ppc x86"
-IUSE="doc opengl X"
-
-RDEPEND="dev-lang/tk:*
- opengl? ( virtual/opengl )
- X? ( x11-libs/libX11 )"
-DEPEND="${RDEPEND}
- app-shells/tcsh
- doc? ( virtual/latex-base )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-interactive.patch
- "${FILESDIR}"/${P}-gcc7.patch
-)
-
-DOCS=( README.txt )
-
-src_prepare() {
- default
-
- sed -i -e "s/\$(LIB_DIR)/\$(LDFLAGS) &/" \
- -e '/strip/d' Makefile*in || die
-
- if use X; then
- mv -f configure_xwin configure || die
- fi
-
- tc-export CXX
-}
-
-src_install() {
- dodir /usr/bin
-
- if use doc; then
- pdflatex DOC/G4PRIM_FORMAT_24.tex || die "pdf generation failed"
- DOCS+=( DOC/*.pdf )
- HTML_DOCS=( DOC/*.html )
- fi
-
- default
-}
diff --git a/media-gfx/dawn/files/dawn-3.90b-gcc7.patch b/media-gfx/dawn/files/dawn-3.90b-gcc7.patch
deleted file mode 100644
index e144a38df8f0..000000000000
--- a/media-gfx/dawn/files/dawn-3.90b-gcc7.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Bug: https://bugs.gentoo.org/638616
-
---- a/FRString.h
-+++ b/FRString.h
-@@ -137,13 +137,13 @@
- char* p = m_string ;
-
- // skip first blank if any
-- while( isspace(*p) && p != '\0' ) {p++;}
-+ while( isspace(*p) && *p != '\0' ) {p++;}
-
- // skip one word
-- while( !isspace(*p) && p != '\0' ) {p++;}
-+ while( !isspace(*p) && *p != '\0' ) {p++;}
-
- // skip second blank if any
-- while( isspace(*p) && p != '\0' ) {p++;}
-+ while( isspace(*p) && *p != '\0' ) {p++;}
-
- // reset string
- strcpy( tmp, p );
diff --git a/media-gfx/dawn/files/dawn-3.90b-no-interactive.patch b/media-gfx/dawn/files/dawn-3.90b-no-interactive.patch
deleted file mode 100644
index ea8ac7e6a90e..000000000000
--- a/media-gfx/dawn/files/dawn-3.90b-no-interactive.patch
+++ /dev/null
@@ -1,158 +0,0 @@
---- a/configure_xwin
-+++ b/configure_xwin
-@@ -16,17 +16,17 @@
- #----- C++ compiler name
- echo "Input C++ compiler name (e.g. g++, no default)."
- echo -n " :"
--set cpp_compiler=$<
-+set cpp_compiler=
-
- #----- Optimization option of the C++ compiler
- echo "Input optimization option (e.g. -O2, no default)"
- echo -n " :"
--set optimize=$<
-+set optimize=
-
- #----- Input Tcl/Tk window shell name
- echo "Input Tcl/Tk window shell name"
- echo -n " (e.g. wish, no default): "
--set wish=$<
-+set wish=wish
-
-
- #-----
-@@ -34,7 +34,7 @@
- echo " (e.g. -I/usr/X11R6/include) "
- echo " Hit return key if path is already set properly. )"
- echo -n " : "
--set xlib_inc=$<
-+set xlib_inc=
- echo ""
-
-
-@@ -43,17 +43,17 @@
- echo " (e.g. -L/usr/X11R6/lib) "
- echo " Hit return key if path is already set properly.)"
- echo -n " : "
--set xlib_lib=$<
-+set xlib_lib=
- echo ""
-
- #----- Input directory name to install dawn and DAWN_GUI
- echo "Input directory to install executable files"
- echo -n " (e.g. /usr/local/bin, no default ): "
--set install_dir=$<
-+set install_dir=
-
- #----- Input system name
- echo -n "Select a system (0: Defalut, 1: AIX, 2: IRIX, 3: Solaris, 4: RedHat/FedoraCore): "
--set sysid=$<
-+set sysid=0
- switch ($sysid)
- case "0":
- set sysname = "Default"
-@@ -80,7 +80,7 @@
- echo "Do you use remote-visualization function? (y/n, no default)"
- echo " (Select n if your compilation fails for FRClientServer.cc)"
- echo -n " : "
--set ynflag_socket=$<
-+set ynflag_socket=n
- switch ($ynflag_socket)
- case "y":
- set macro_socket = '#define USE_SOCKET'
-@@ -123,14 +123,14 @@
-
- echo "### C++ compiler" >> Makefile
- #echo "ifndef CXX" >> Makefile
--echo "CC = $cpp_compiler" >> Makefile
-+#echo "CC = $cpp_compiler" >> Makefile
- #echo "else" >> Makefile
--#echo 'CC = $(CXX)' >> Makefile
-+echo 'CC = $(CXX)' >> Makefile
- #echo "endif" >> Makefile
- echo "" >> Makefile
-
- echo "### Optimization" >> Makefile
--echo "OPTIMIZE = $optimize" >> Makefile
-+echo 'OPTIMIZE = $(CXXFLAGS)' >> Makefile
- echo "" >> Makefile
-
- echo "### Waring level" >> Makefile
-@@ -152,7 +152,7 @@
- echo "" >> Makefile
-
- echo "### Directory where to install executable files" >> Makefile
--echo "INSTALL_DIR = $install_dir" >> Makefile
-+echo 'INSTALL_DIR = $(DESTDIR)/usr/bin' >> Makefile
- echo "" >> Makefile
-
- echo "### Socket libraries to be linked " >> Makefile
---- a/FRSocketMacro.h
-+++ b/FRSocketMacro.h
-@@ -14,8 +14,8 @@
- #elif defined SOCKET_REDHAT61
- #define CLIENT_ADDR_LENGTH socklen_t
- #else
-- #define CLIENT_ADDR_LENGTH int
--// #define CLIENT_ADDR_LENGTH size_t
-+// #define CLIENT_ADDR_LENGTH int
-+ #define CLIENT_ADDR_LENGTH size_t
- #endif
-
- //----- gethostname
---- a/configure
-+++ b/configure
-@@ -13,22 +13,22 @@
- #----- C++ compiler name
- echo "Input C++ compiler name (e.g. g++, no default)."
- echo -n " :"
--set cpp_compiler=$<
-+set cpp_compiler=
-
- #----- Optimization option of the C++ compiler
- echo "Input optimization option (e.g. -O2, no default)"
- echo -n " :"
--set optimize=$<
-+set optimize=
-
- #----- Input Tcl/Tk window shell name
- echo "Input Tcl/Tk window shell name"
- echo -n " (e.g. wish, no default): "
--set wish=$<
-+set wish=wish
-
- #----- Input directory name to install dawn and DAWN_GUI
- echo "Input directory to install executable files"
- echo -n " (e.g. /usr/local/bin, no default ): "
--set install_dir=$<
-+set install_dir=
-
-
- ##### DELETE #####
-@@ -57,14 +57,14 @@
-
- echo "### C++ compiler" >> Makefile
- #echo "ifndef CXX" >> Makefile
--echo "CC = $cpp_compiler" >> Makefile
-+#echo "CC = $cpp_compiler" >> Makefile
- #echo "else" >> Makefile
--#echo 'CC = $(CXX)' >> Makefile
-+echo 'CC = $(CXX)' >> Makefile
- #echo "endif" >> Makefile
- echo "" >> Makefile
-
- echo "### Optimization" >> Makefile
--echo "OPTIMIZE = $optimize" >> Makefile
-+echo 'OPTIMIZE = $(CXXFLAGS)' >> Makefile
- echo "" >> Makefile
-
- echo "### Waring level" >> Makefile
-@@ -78,7 +78,7 @@
-
-
- echo "### Directory where to install executable files" >> Makefile
--echo "INSTALL_DIR = $install_dir" >> Makefile
-+echo 'INSTALL_DIR = $(DESTDIR)/usr/bin' >> Makefile
- echo "" >> Makefile
-
- echo "" >> Makefile
diff --git a/media-gfx/dawn/metadata.xml b/media-gfx/dawn/metadata.xml
deleted file mode 100644
index 93696a17c1da..000000000000
--- a/media-gfx/dawn/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-physics@gentoo.org</email>
- <name>Gentoo Physics Project</name>
- </maintainer>
- <longdescription lang="en">
- Fukui Renderer DAWN (Drawer for Academic WritiNgs)
- is a renderer, which reads 3D geometrical data and visualize them.
- It is a vectorized 3D PostScript processor with analytical
- hidden line/surface removal.
- It aims at precise technical drawing of complicated objects.
- It performs geometrical hidden line/surface removal and calculates
- out all visible parts of the 3D data before drawing. This drawing
- algorithm realizes device-independent technical high quality of
- vectorized graphics.
-
- 3D Data files should be generated by a modeler or by hands
- separately. If you use DAWN as a visualizer of,
- say, a simulator of physical experiments,
- the simulator application itself is recognized as a modeler.
-
- An important feature of DAWN is that it has been developed to
- visualize 3D data generated by a high-energy experimental detector
- simulator "GEANT4".
- </longdescription>
-</pkgmetadata>
diff --git a/media-gfx/digikam/Manifest b/media-gfx/digikam/Manifest
index 5511dff9e23a..279115e68d32 100644
--- a/media-gfx/digikam/Manifest
+++ b/media-gfx/digikam/Manifest
@@ -1,2 +1,2 @@
-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
+DIST digiKam-8.4.0.tar.xz 58025616 BLAKE2B 33441e023cd9d6edba2e7c01e482a6eea7a6b1972b6bad0fc804fb3e94f97cc62e2663690137b2445fb7043789b7e942d830b71209385de77ccffe57d22d09ff SHA512 4342d18a7c04ab239821de3cf908f8e7d676598778f0174164aa336e8cfdc0a76327d31c64e6c4e47dcf0d6fbef46b01918312e4622ce3359888a9a94948a22b
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/digikam-8.2.0.ebuild b/media-gfx/digikam/digikam-8.4.0.ebuild
index bb933d2192b4..186602176dc1 100644
--- a/media-gfx/digikam/digikam-8.2.0.ebuild
+++ b/media-gfx/digikam/digikam-8.4.0.ebuild
@@ -3,19 +3,18 @@
EAPI=8
-KFMIN=5.106.0
-QTMIN=5.15.9
+KFMIN=5.115.0
+QTMIN=5.15.12
inherit ecm kde.org toolchain-funcs
if [[ ${KDE_BUILD_TYPE} != live ]]; then
+ TARNAME="digiKam-${PV/_/-}"
if [[ ${PV} =~ beta[0-9]$ ]]; then
- SRC_URI="mirror://kde/unstable/${PN}/"
+ SRC_URI="mirror://kde/unstable/${PN}/${TARNAME}.tar.xz"
else
- SRC_URI="mirror://kde/stable/${PN}/${PV}/"
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${TARNAME}.tar.xz"
fi
- SRC_URI+="digiKam-${PV/_/-}.tar.xz"
- KEYWORDS="amd64 ~arm64 ~x86"
- S="${WORKDIR}/${PN}-${PV/_/-}"
+ KEYWORDS="~amd64 ~arm64 ~x86"
fi
DESCRIPTION="Digital photo management application"
@@ -23,7 +22,7 @@ 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"
+IUSE="addressbook calendar geolocation gphoto2 heif +imagemagick jpegxl +lensfun mysql opengl openmp +panorama scanner semantic-desktop spell"
# bug 366505
RESTRICT="test"
@@ -64,7 +63,7 @@ COMMON_DEPEND="
media-libs/tiff:=
x11-libs/libX11
addressbook? (
- >=kde-apps/akonadi-contacts-19.04.3:5
+ >=kde-apps/akonadi-contacts-23.08.3:5
>=kde-frameworks/kcontacts-${KFMIN}:5
)
calendar? ( >=kde-frameworks/kcalendarcore-${KFMIN}:5 )
@@ -74,25 +73,21 @@ COMMON_DEPEND="
media-libs/x265:=
)
imagemagick? ( media-gfx/imagemagick:= )
+ jpegxl? ( media-libs/libjxl:= )
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 )
+ scanner? ( >=kde-apps/libksane-23.08.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 )
+ addressbook? ( >=kde-apps/akonadi-23.08.3:5 )
"
RDEPEND="${COMMON_DEPEND}
media-libs/exiftool
@@ -102,12 +97,16 @@ RDEPEND="${COMMON_DEPEND}
BDEPEND="
sys-devel/gettext
panorama? (
- app-alternatives/yacc
app-alternatives/lex
+ app-alternatives/yacc
)
"
-PATCHES=( "${FILESDIR}"/${P}-{cmake,akonadi}.patch )
+PATCHES=(
+ "${FILESDIR}/${P}-cmake.patch"
+ "${FILESDIR}/${PN}-8.3.0-cmake-addressbook.patch"
+ "${FILESDIR}/${P}-fix-find_libheif-regex.patch" # bug 936507
+)
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
@@ -119,36 +118,23 @@ pkg_setup() {
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)
+ -DENABLE_GEOLOCATION=$(usex geolocation)
$(cmake_use_find_package gphoto2 Gphoto2)
$(cmake_use_find_package heif Libheif)
$(cmake_use_find_package imagemagick ImageMagick)
+ $(cmake_use_find_package jpegxl Libjxl)
$(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)
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.4.0-cmake.patch
index 8ca9e4a3b8d2..4584d23182d1 100644
--- a/media-gfx/digikam/files/digikam-8.2.0-cmake.patch
+++ b/media-gfx/digikam/files/digikam-8.4.0-cmake.patch
@@ -1,20 +1,20 @@
-From 433d0148be1cedea7e318bf3603fd17f906e721c Mon Sep 17 00:00:00 2001
+From c498aad87e42405ca25cb6f2f1b4068ed1862c27 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/RulesKDEFramework.cmake | 60 ++++--------------------
+ core/cmake/rules/RulesQtFramework.cmake | 51 +++++---------------
core/cmake/rules/RulesX11.cmake | 7 +--
- 3 files changed, 19 insertions(+), 88 deletions(-)
+ 3 files changed, 20 insertions(+), 98 deletions(-)
diff --git a/core/cmake/rules/RulesKDEFramework.cmake b/core/cmake/rules/RulesKDEFramework.cmake
-index 9c646d0112..defa399391 100644
+index 775ae32fec..ec438f9673 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
+@@ -26,43 +26,18 @@ find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET
)
if(ENABLE_KFILEMETADATASUPPORT)
@@ -28,26 +28,53 @@ index 9c646d0112..defa399391 100644
+ 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.
+ if(Qt6_FOUND)
+-
+- find_package(KPim${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- Akonadi
+- AkonadiContactCore # For KDE Mail Contacts support.
+- )
+- find_package(KF${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- Contacts # API for contacts/address book data.
+- )
+- find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} QUIET)
+- find_package(KPim${QT_VERSION_MAJOR}AkonadiContactCore ${AKONADI_MIN_VERSION} QUIET)
+-
++ find_package(KPim${QT_VERSION_MAJOR}AkonadiContactCore ${AKONADI_MIN_VERSION} REQUIRED)
+ else()
+-
+- 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(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} QUIET)
+- find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} QUIET)
+-
++ find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} REQUIRED) # For KDE Mail Contacts support.
+ endif()
+-
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.
+ if(Qt6_FOUND)
+@@ -71,17 +46,11 @@ if(Qt6_FOUND)
+
+ else()
+
+- 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.
+
+ endif()
-find_package(KF${QT_VERSION_MAJOR} ${CALENDAR_MIN_VERSION} QUIET
- OPTIONAL_COMPONENTS
@@ -57,11 +84,12 @@ index 9c646d0112..defa399391 100644
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)
+@@ -89,19 +58,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))
+-if(ENABLE_AKONADICONTACTSUPPORT AND
+- (NOT (KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND OR KPim${QT_VERSION_MAJOR}AkonadiContactCore_FOUND) OR NOT KF${QT_VERSION_MAJOR}Contacts_FOUND))
-
- set(ENABLE_AKONADICONTACTSUPPORT OFF)
-
@@ -75,33 +103,21 @@ index 9c646d0112..defa399391 100644
-
# Check if KIO have been compiled with KIOWidgets. digiKam only needs this one.
- if(KF${QT_VERSION_MAJOR}KIO_FOUND)
+ if(ENABLE_KIO)
diff --git a/core/cmake/rules/RulesQtFramework.cmake b/core/cmake/rules/RulesQtFramework.cmake
-index 495ce4f4ef..0c58f3552a 100644
+index 9fa839c414..9267c6651e 100644
--- a/core/cmake/rules/RulesQtFramework.cmake
+++ b/core/cmake/rules/RulesQtFramework.cmake
-@@ -18,48 +18,19 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+@@ -18,38 +18,17 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+ Svg
)
- 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} REQUIRED
+- NO_MODULE
+- COMPONENTS
+- WebEngineWidgets
+-)
++find_package(Qt${QT_VERSION_MAJOR}WebEngineWidgets REQUIRED NO_MODULE)
-find_package(Qt${QT_VERSION_MAJOR}
- OPTIONAL_COMPONENTS
@@ -116,6 +132,7 @@ index 495ce4f4ef..0c58f3552a 100644
- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
- NO_MODULE COMPONENTS
- StateMachine
+- SvgWidgets
- )
-
- find_package(Qt${QT_VERSION_MAJOR}
@@ -124,6 +141,7 @@ index 495ce4f4ef..0c58f3552a 100644
- )
-
+ find_package(Qt${QT_VERSION_MAJOR}StateMachine REQUIRED NO_MODULE)
++ find_package(Qt${QT_VERSION_MAJOR}SvgWidgets REQUIRED NO_MODULE)
+ find_package(Qt${QT_VERSION_MAJOR}OpenGLWidgets)
else()
-
@@ -136,7 +154,7 @@ index 495ce4f4ef..0c58f3552a 100644
endif()
if(ENABLE_DBUS)
-@@ -75,17 +46,9 @@ endif()
+@@ -65,17 +44,9 @@ endif()
# Qt Dependencies For unit tests and CLI test tools
if(BUILD_TESTING)
@@ -159,7 +177,7 @@ index 495ce4f4ef..0c58f3552a 100644
+ 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
+index d7830f3923..4401a57c87 100644
--- a/core/cmake/rules/RulesX11.cmake
+++ b/core/cmake/rules/RulesX11.cmake
@@ -11,12 +11,7 @@ find_package(X11)
@@ -177,5 +195,5 @@ index d7659eed34..9c145970b2 100644
set(HAVE_X11 TRUE)
--
-2.43.0
+2.45.2
diff --git a/media-gfx/digikam/files/digikam-8.4.0-fix-find_libheif-regex.patch b/media-gfx/digikam/files/digikam-8.4.0-fix-find_libheif-regex.patch
new file mode 100644
index 000000000000..cd18ea3ed475
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-8.4.0-fix-find_libheif-regex.patch
@@ -0,0 +1,25 @@
+From a3ff8ad14c1373f7a7d3c1c9aee4e80954e1859e Mon Sep 17 00:00:00 2001
+From: Maik Qualmann <metzpinguin@gmail.com>
+Date: Tue, 23 Jul 2024 12:33:13 +0200
+Subject: [PATCH] escape the input from REGEX MATCHALL CCBUGS: 490690
+
+---
+ core/cmake/modules/FindLibheif.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/core/cmake/modules/FindLibheif.cmake b/core/cmake/modules/FindLibheif.cmake
+index fdaf73a4b9e..38876ecc38a 100644
+--- a/core/cmake/modules/FindLibheif.cmake
++++ b/core/cmake/modules/FindLibheif.cmake
+@@ -54,7 +54,7 @@ else()
+ if(HEIF_INCLUDES_DIR)
+
+ file(STRINGS "${HEIF_INCLUDES_DIR}/libheif/heif_version.h" TMP REGEX "^#define LIBHEIF_VERSION[ \t].*$")
+- string(REGEX MATCHALL "[0-9.]+" HEIF_VERSION ${TMP})
++ string(REGEX MATCHALL "[0-9.]+" HEIF_VERSION "${TMP}")
+
+ endif()
+
+--
+GitLab
+
diff --git a/media-gfx/digikam/metadata.xml b/media-gfx/digikam/metadata.xml
index 4c55a9727c8b..0a9720425415 100644
--- a/media-gfx/digikam/metadata.xml
+++ b/media-gfx/digikam/metadata.xml
@@ -16,7 +16,6 @@
<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="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/entice/Manifest b/media-gfx/entice/Manifest
index 32b2bc3334ea..332a28885576 100644
--- a/media-gfx/entice/Manifest
+++ b/media-gfx/entice/Manifest
@@ -1 +1,2 @@
+DIST entice-0.0.1.tar.xz 3994332 BLAKE2B 38f225a0464b0fcc956b32b02afd0ca9b0923bf0cf70688fe87ee29ef67ef6eda5d81eff957c68927e660f09f2d5b9592c6a5659aa5303a3b8ee88a4af523394 SHA512 2e2dbb24ed1ed97c20683bf93bf4d89afae7d18ed891025fe15a3f70f77e18cefbc5e1430c88cb06a89990def2088a414751407d60227ddbf9a2cb9dfa0609aa
DIST entice-0_pre20220809.tar.gz 7940222 BLAKE2B 8fb23d904e66894f60db94e64f5d9f0f00b82d6409c3c5e3439ecb8cd7835d2aadd7e52280eed4fc81fd0ac92fc02c9ad58c32d263f3081d93986bf21037c04e SHA512 2f6d549d87ca39be3b2d2fa15b488c6ddf0a31fc5164d90e7b4c37343af2fe44c674330b3764f100b048f94da003c7807e28b95ab059e3c04632026e53e5b96b
diff --git a/media-gfx/entice/entice-0.0.1.ebuild b/media-gfx/entice/entice-0.0.1.ebuild
new file mode 100644
index 000000000000..d27098a8b85b
--- /dev/null
+++ b/media-gfx/entice/entice-0.0.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson optfeature xdg
+
+DESCRIPTION="A simple image viewer based on EFL"
+HOMEPAGE="https://git.enlightenment.org/vtorri/entice https://github.com/vtorri/entice"
+SRC_URI="https://git.enlightenment.org/vtorri/entice/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="|| ( dev-libs/efl[X] dev-libs/efl[wayland] )
+ media-libs/libexif"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Image format support:"
+ optfeature "avif support" dev-libs/efl[avif]
+ optfeature "bmp,wbmp support" dev-libs/efl[bmp]
+ optfeature "dds support" dev-libs/efl[dds]
+ optfeature "gif support" dev-libs/efl[gif]
+ optfeature "heif support" dev-libs/efl[heif]
+ optfeature "ico,cur support" dev-libs/efl[ico]
+ optfeature "jp2k support" dev-libs/efl[jpeg2k]
+ optfeature "pdf support" dev-libs/efl[pdf]
+ optfeature "pmaps support" dev-libs/efl[pmaps]
+ optfeature "psd support" dev-libs/efl[psd]
+ optfeature "raw support" dev-libs/efl[raw]
+ optfeature "svg,rsvg support" dev-libs/efl[svg]
+ optfeature "tga support" dev-libs/efl[tga]
+ optfeature "tgv support" dev-libs/efl[tgv]
+ optfeature "tiff support" dev-libs/efl[tiff]
+ optfeature "webp support" dev-libs/efl[webp]
+ optfeature "xcf support" dev-libs/efl[xcf]
+ optfeature "xpm support" dev-libs/efl[xpm]
+}
diff --git a/media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild b/media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild
index a328d90eaa24..c02c12cfafba 100644
--- a/media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild
+++ b/media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org meson python-single-r1
diff --git a/media-gfx/eom/eom-1.28.0.ebuild b/media-gfx/eom/eom-1.28.0.ebuild
index 6985985705ca..931fc3ee8522 100644
--- a/media-gfx/eom/eom-1.28.0.ebuild
+++ b/media-gfx/eom/eom-1.28.0.ebuild
@@ -7,7 +7,7 @@ inherit mate
MINOR=$(($(ver_cut 2) % 2))
if [[ ${MINOR} -eq 0 ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
fi
DESCRIPTION="The MATE image viewer"
diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 4e187fdd9709..d2d876e53ed8 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1 +1,2 @@
DIST exiv2-0.28.2.tar.gz 45224206 BLAKE2B 9d1d05c99804032dfb9b740e543d1e3cceae011b17853c8565ccad87e726ce1d0f410c13bf4fa8839bc8e0fecdf170a3acac568f14aad4628b3b844f6c21dd7e SHA512 197cc607c0271b5731714713283756250031cef81ba7ed5d9c3e222b4c2397966cc2bbdbceaae706598329dde6f8a9729597d0ae4c36ac264c76546942e4e37b
+DIST exiv2-0.28.3.tar.gz 46480702 BLAKE2B 73ebdca376d69514a89261d2f78604c5d7ccbc6e73e5c5d61f8caa596fd6b60dd4d06df19cb9f93e402d9a76f1511955f77cfd74b407310a13952092ecfbf0ef SHA512 c8338a118feefa104d73932890c732247c884ab9ce1d170c43a22ab5884517a0e2a7fd1febde7705b8290fbbbc29e64738610404816e4db2b56a70fc444ca049
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/exiv2/exiv2-0.28.3.ebuild b/media-gfx/exiv2/exiv2-0.28.3.ebuild
new file mode 100644
index 000000000000..ee1fb3e320ce
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.28.3.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="https://exiv2.org/"
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/Exiv2/exiv2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+# Upstream hope to have stable ABI in 1.0. Until then, go off ${PV}.
+# 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 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}] )
+ xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ doc? (
+ ${PYTHON_DEPS}
+ app-text/doxygen
+ dev-libs/libxslt
+ media-gfx/graphviz
+ virtual/pkgconfig
+ )
+ test? ( ${PYTHON_DEPS} )
+ nls? ( sys-devel/gettext )
+"
+
+DOCS=( README.md doc/ChangeLog doc/cmd.txt )
+
+pkg_setup() {
+ if use doc || use test ; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # FIXME @upstream:
+ einfo "Converting doc/cmd.txt to UTF-8"
+ iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
+ mv -f doc/cmd.txt.tmp doc/cmd.txt || die
+
+ cmake_src_prepare
+
+ sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DEXIV2_BUILD_SAMPLES=NO
+ -DEXIV2_ENABLE_BROTLI=$(usex jpegxl)
+ -DEXIV2_ENABLE_NLS=$(usex nls)
+ -DEXIV2_ENABLE_PNG=$(usex png)
+ -DEXIV2_ENABLE_CURL=$(usex webready)
+ -DEXIV2_ENABLE_INIH=ON # must be enabled (bug #921937)
+ -DEXIV2_ENABLE_WEBREADY=$(usex webready)
+ -DEXIV2_ENABLE_XMP=$(usex xmp)
+ -DEXIV2_ENABLE_BMFF=$(usex bmff)
+
+ # We let users control this.
+ -DBUILD_WITH_CCACHE=OFF
+ # Our toolchain sets this by default.
+ -DBUILD_WITH_STACK_PROTECTOR=OFF
+
+ $(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
+ $(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
+ $(multilib_is_native_abi && echo -DEXIV2_BUILD_UNIT_TESTS=$(usex test))
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
+ )
+
+ if use doc || use test ; then
+ mycmakeargs+=(
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if multilib_is_native_abi; then
+ use doc && eninja doc
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ cd "${BUILD_DIR}"/bin || die
+ ./unit_tests || die "Failed to run tests"
+ fi
+}
+
+multilib_src_install_all() {
+ use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
+
+ einstalldocs
+ find "${D}" -name '*.la' -delete || die
+
+ if use examples; then
+ docinto examples
+ dodoc samples/*.cpp
+ fi
+}
diff --git a/media-gfx/fbgrab/metadata.xml b/media-gfx/fbgrab/metadata.xml
index 5db01dff17c5..ad9efed26f60 100644
--- a/media-gfx/fbgrab/metadata.xml
+++ b/media-gfx/fbgrab/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="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">GunnarMonell/fbgrab</remote-id>
</upstream>
diff --git a/media-gfx/feh/Manifest b/media-gfx/feh/Manifest
index 960441a4e01a..5863e64305fb 100644
--- a/media-gfx/feh/Manifest
+++ b/media-gfx/feh/Manifest
@@ -1 +1,2 @@
DIST feh-3.10.2.tar.bz2 2113183 BLAKE2B 0f4662068917628be6046d3f2ebd8177b7cc1699d693de31229d2ebc6188cc7a5170202188a426ec2e3d900f2c8fb34007395aecc151f8f034e5461d287f058f SHA512 698501347224887162631397bb3b6c5da81b88993876f001407dea87fdc4f458290272d75b400aea6c0927d3c53f290483b6a89cd2cb426f56957a4fe6267797
+DIST feh-3.10.3.tar.bz2 2113623 BLAKE2B 052848b222babbcb6a0d9b6c109c7a382052072c03482f47c7784e4b923fba470039d2f75db663b2d70515eb73234141c2871858825489044febea4bf1693b20 SHA512 60f29d463486eca9308037648a1b91b093051878aa2a8671166fd685ac05c217cd46ad2c7df2fde09b5f1d6cd8b3ee2b8f32fbbf6d3b2e4abc4c50b36f237977
diff --git a/media-gfx/feh/feh-3.10.3.ebuild b/media-gfx/feh/feh-3.10.3.ebuild
new file mode 100644
index 000000000000..7996c229ccea
--- /dev/null
+++ b/media-gfx/feh/feh-3.10.3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit toolchain-funcs xdg-utils
+
+DESCRIPTION="A fast, lightweight imageviewer using imlib2"
+HOMEPAGE="https://feh.finalrewind.org/"
+SRC_URI="https://feh.finalrewind.org/${P}.tar.bz2"
+
+LICENSE="feh"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
+IUSE="debug curl exif test xinerama inotify"
+RESTRICT="test" # Tests are broken.
+
+COMMON_DEPEND="
+ media-libs/imlib2[X,text(+)]
+ >=media-libs/libpng-1.2:0=
+ x11-libs/libX11
+ curl? ( net-misc/curl )
+ exif? ( media-libs/libexif )
+ xinerama? ( x11-libs/libXinerama )"
+RDEPEND="${COMMON_DEPEND}
+ media-libs/libjpeg-turbo:0"
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto
+ x11-libs/libXt
+ test? (
+ >=dev-lang/perl-5.10
+ dev-perl/Test-Command
+ media-libs/imlib2[gif,jpeg,png]
+ )"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.2-debug-cflags.patch )
+
+pkg_setup() {
+ use_feh() { usex $1 1 0; }
+
+ fehopts=(
+ PREFIX="${EPREFIX}"/usr
+ doc_dir='${main_dir}'/share/doc/${PF}
+ example_dir='${main_dir}'/share/doc/${PF}/examples
+ curl=$(use_feh curl)
+ debug=$(use_feh debug)
+ xinerama=$(use_feh xinerama)
+ exif=$(use_feh exif)
+ inotify=$(use_feh inotify)
+ )
+}
+
+src_compile() {
+ tc-export CC
+ emake "${fehopts[@]}"
+}
+
+src_install() {
+ emake "${fehopts[@]}" DESTDIR="${D}" install
+}
+
+pkg_postinst() {
+ 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
+}
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/fig2dev/fig2dev-3.2.9-r5.ebuild b/media-gfx/fig2dev/fig2dev-3.2.9-r5.ebuild
new file mode 100644
index 000000000000..68d2d6c66ecb
--- /dev/null
+++ b/media-gfx/fig2dev/fig2dev-3.2.9-r5.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+#MY_P="${PN}.${PV}"
+
+DESCRIPTION="Set of tools for creating TeX documents with graphics"
+HOMEPAGE="https://www.xfig.org/"
+SRC_URI="https://downloads.sourceforge.net/mcj/${P}.tar.xz
+ mirror://gentoo/fig2mpdf-1.1.2.tar.bz2"
+#S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+ghostscript"
+
+RDEPEND="
+ media-libs/libpng
+ media-libs/libjpeg-turbo:=
+ x11-apps/rgb
+ x11-libs/libXpm
+ !media-gfx/transfig
+ ghostscript?
+ (
+ app-text/ghostscript-gpl
+ virtual/imagemagick-tools[jpeg,png,postscript,tiff]
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/rman
+ sys-devel/gcc
+"
+
+DOCS=( README CHANGES NOTES )
+HTML_DOCS=( "${WORKDIR}/fig2mpdf/doc/." )
+
+sed_Imakefile() {
+ # see fig2dev/Imakefile for details
+ vars2subs="BINDIR=${EPREFIX}/usr/bin
+ MANDIR=${EPREFIX}/usr/share/man/man\$\(MANSUFFIX\)
+ XFIGLIBDIR=${EPREFIX}/usr/share/xfig
+ PNGINC=-I${EPREFIX}/usr/include/X11
+ XPMINC=-I${EPREFIX}/usr/include/X11
+ USEINLINE=-DUSE_INLINE
+ RGB=${EPREFIX}/usr/share/X11/rgb.txt
+ FIG2DEV_LIBDIR=${EPREFIX}/usr/share/fig2dev"
+
+ for variable in ${vars2subs} ; do
+ varname=${variable%%=*}
+ varval=${variable##*=}
+ sed -i "s:^\(XCOMM\)*[[:space:]]*${varname}[[:space:]]*=.*$:${varname} = ${varval}:" "$@" || die
+ done
+}
+
+src_configure() {
+ # export IMAKECPP=${IMAKECPP:-${CHOST}-gcc -E}
+ # CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" xmkmf || die
+ econf --enable-transfig
+}
+
+src_compile() {
+ # emake CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" Makefiles
+
+ local myemakeargs=(
+ CC="$(tc-getCC)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ CDEBUGFLAGS="${CFLAGS}"
+ LOCAL_LDFLAGS="${LDFLAGS}"
+ USRLIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ )
+ emake "${myemakeargs[@]}"
+}
+
+src_install() {
+ local myemakeargs=(
+ DESTDIR="${D}"
+ INSTDATFLAGS="-m 644"
+ INSTMANFLAGS="-m 644"
+ )
+ emake "${myemakeargs[@]}" install
+
+ dobin "${WORKDIR}/fig2mpdf/fig2mpdf"
+ doman "${WORKDIR}/fig2mpdf/fig2mpdf.1"
+
+ einstalldocs
+
+ rm "${ED}/usr/share/doc/${PF}/html/"{Makefile,*.lfig,*.pdf,*.tex} || die
+}
+
+pkg_postinst() {
+ elog "Note, that defaults are changed and now if you don't want to ship"
+ elog "personal information into output files, use fig2dev with -a option."
+}
diff --git a/media-gfx/fig2dev/metadata.xml b/media-gfx/fig2dev/metadata.xml
index 78af0f20536c..33ea7d1b9d42 100644
--- a/media-gfx/fig2dev/metadata.xml
+++ b/media-gfx/fig2dev/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <use>
+ <flag name="ghostscript">Require <pkg>app-text/ghostscript-gpl</pkg> to export PDF an bitmap formats</flag>
+ </use>
<upstream>
<remote-id type="sourceforge">mcj</remote-id>
</upstream>
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/files/fontforge-20230101-python3.12-distutils-no-more.patch b/media-gfx/fontforge/files/fontforge-20230101-python3.12-distutils-no-more.patch
new file mode 100644
index 000000000000..c140e7d19955
--- /dev/null
+++ b/media-gfx/fontforge/files/fontforge-20230101-python3.12-distutils-no-more.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/933392
+https://github.com/fontforge/fontforge/pull/5423
+
+From 24968a8bf713396bc4a5dbb8bf3a03a9479b2568 Mon Sep 17 00:00:00 2001
+From: Maxim Iorsh <iorsh@users.sourceforge.net>
+Date: Fri, 24 May 2024 16:48:47 +0300
+Subject: [PATCH 1/3] Use sysconfig for Python module locations
+
+--- a/pyhook/CMakeLists.txt
++++ b/pyhook/CMakeLists.txt
+@@ -21,7 +21,7 @@ target_link_libraries(psMat_pyhook PRIVATE Python3::Module)
+ # So do it ourselves, getting the prefix-relative path instead
+ if(NOT DEFINED PYHOOK_INSTALL_DIR)
+ execute_process(
+- COMMAND "${Python3_EXECUTABLE}" -c "import distutils.sysconfig as sc; print(sc.get_python_lib(prefix='', plat_specific=True,standard_lib=False))"
++ COMMAND "${Python3_EXECUTABLE}" -c "import sysconfig as sc; print(sc.get_path('platlib', sc.get_preferred_scheme('user'), vars={'userbase': '.'}))"
+ RESULT_VARIABLE _pyhook_install_dir_result
+ OUTPUT_VARIABLE PYHOOK_INSTALL_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
diff --git a/media-gfx/fontforge/fontforge-20230101-r2.ebuild b/media-gfx/fontforge/fontforge-20230101-r2.ebuild
new file mode 100644
index 000000000000..91ed53a3dcba
--- /dev/null
+++ b/media-gfx/fontforge/fontforge-20230101-r2.ebuild
@@ -0,0 +1,112 @@
+# 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
+ "${FILESDIR}"/${PN}-20230101-python3.12-distutils-no-more.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..b8ef3b95ca30 100644
--- a/media-gfx/fotocx/Manifest
+++ b/media-gfx/fotocx/Manifest
@@ -1,5 +1,4 @@
-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
+DIST fotocx-24.40-source.tar.gz 16036394 BLAKE2B 570adb3b8579650caa985417008f8eb840b2a29c5355ae3ecb3b2a8e58432ec6688da72d3d3eed98d7f5c046d1cf1fc56049684db5ccd9de6fb3f2dee789ea4f SHA512 28211fa50d48eaee4f4bcaa80a07a34113e3020e8b0e3ef2fe983b93000c2397b41fabb1824dd1921e964d03acd348ef5479e584268052ade120e23639f138ed
+DIST fotocx-24.50-source.tar.gz 16197289 BLAKE2B 468a3cd7ef2cee5a65d2a06283732e0994f9eeb823ed2fd02e319c68f7cb4686a33fbc61e85eaeb8bdd2c7455d1cebada49d0da6004007ad15333b1c39050768 SHA512 3f30b4efb43313980a1be8b92e66c8260484e10a3e50c5351d5462004fe6e5685ecd39be263fbd85bde495a5f1c539bd262124478516d8ddcd40420fa6de699e
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.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.21-r1.ebuild
index 973a6788289e..ace12ae77268 100644
--- a/media-gfx/fotocx/fotocx-24.11-r1.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
@@ -35,7 +35,7 @@ RDEPEND="
x11-misc/xdg-utils
"
-PATCHES=( "${FILESDIR}/${PN}-24.11-documentation.patch" )
+PATCHES=( "${FILESDIR}/${PN}-24.20-documentation.patch" )
DOCS=()
HTML_DOCS=()
@@ -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.21.ebuild b/media-gfx/fotocx/fotocx-24.30.ebuild
index 130da99dcd2c..8eee122865a7 100644
--- a/media-gfx/fotocx/fotocx-24.21.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/fotocx/fotocx-23.70.ebuild b/media-gfx/fotocx/fotocx-24.40.ebuild
index 5ca640ae39ae..ace12ae77268 100644
--- a/media-gfx/fotocx/fotocx-23.70.ebuild
+++ b/media-gfx/fotocx/fotocx-24.40.ebuild
@@ -1,18 +1,18 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
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"
+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"
-IUSE=""
# For required dependencies read doc/README, for required tools read
# data/userguide [INSTALLATION]. xdg-open (x11-misc/xdg-utils) is an
@@ -35,23 +35,21 @@ RDEPEND="
x11-misc/xdg-utils
"
-S="${WORKDIR}/fotoxx"
-
-PATCHES=( "${FILESDIR}/fotoxx-22.18-documentation.patch" )
+PATCHES=( "${FILESDIR}/${PN}-24.20-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
+ 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
+ emake DESTDIR="${D}" PREFIX="/usr" install
rm -f "${D}"/usr/share/doc/${PF}/*.man || die
docompress -x /usr/share/doc
}
@@ -66,8 +64,8 @@ pkg_postinst() {
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 "/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
diff --git a/media-gfx/fotocx/fotocx-24.20.ebuild b/media-gfx/fotocx/fotocx-24.50.ebuild
index 130da99dcd2c..8eee122865a7 100644
--- a/media-gfx/fotocx/fotocx-24.20.ebuild
+++ b/media-gfx/fotocx/fotocx-24.50.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-boost-175-1.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch
new file mode 100644
index 000000000000..cbb78d5bdc94
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch
@@ -0,0 +1,22 @@
+From f555a25f9e67e628e8075fc8599d7c11807eaddd Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Sun, 21 Apr 2024 08:36:16 +0200
+Subject: [PATCH] Fixes #13549: smesh doesn't compile with boost 1.85
+
+---
+ src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
+index d72ff2363f39..f108cbbcb2cf 100644
+--- a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
++++ b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
+@@ -55,7 +55,7 @@ namespace DriverGMF
+
+ bool isExtensionCorrect( const std::string& fileName )
+ {
+- std::string ext = boost::filesystem::extension(fileName);
++ std::string ext = boost::filesystem::path(fileName).extension().string();
+ switch ( ext.size() ) {
+ case 5: return ( ext == ".mesh" || ext == ".solb" );
+ case 6: return ( ext == ".meshb" );
diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch
new file mode 100644
index 000000000000..5f0807028859
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch
@@ -0,0 +1,22 @@
+From aa54ba73df4d42878130c99688be35acf10725a0 Mon Sep 17 00:00:00 2001
+From: ppphp <kevinniub@gmail.com>
+Date: Sat, 30 Mar 2024 13:52:32 +0800
+Subject: [PATCH] fix: c++20 deprecate copy_option
+
+---
+ src/Gui/PreferencePackManager.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
+index e0e6184a3147..e1773a436852 100644
+--- a/src/Gui/PreferencePackManager.cpp
++++ b/src/Gui/PreferencePackManager.cpp
+@@ -224,7 +224,7 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
+ auto savedPreferencePacksDirectory =
+ fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
+ auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
+- fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
++ fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
+ rescan();
+ }
+
diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch
new file mode 100644
index 000000000000..c4c8039dab49
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch
@@ -0,0 +1,25 @@
+From 91457bbdee2422c7f0372688cf72d021cf222073 Mon Sep 17 00:00:00 2001
+From: ppphp <kevinniub@gmail.com>
+Date: Sat, 30 Mar 2024 19:17:56 +0800
+Subject: [PATCH] add version check macro for compatibility
+
+---
+ src/Gui/PreferencePackManager.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
+index e1773a436852..dfc54240c00c 100644
+--- a/src/Gui/PreferencePackManager.cpp
++++ b/src/Gui/PreferencePackManager.cpp
+@@ -224,7 +224,11 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
+ auto savedPreferencePacksDirectory =
+ fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
+ auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
++#if BOOST_VERSION >= 107400
+ fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
++#else
++ fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
++#endif
+ rescan();
+ }
+
diff --git a/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch
new file mode 100644
index 000000000000..0ab999771068
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch
@@ -0,0 +1,29 @@
+From ccaee18917432fd02e4371a7847bdfaf0692edd1 Mon Sep 17 00:00:00 2001
+From: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
+Date: Sun, 19 May 2024 23:23:45 -0300
+Subject: [PATCH] Gui: Fix NaviCube for Qt6
+
+---
+ src/Gui/NaviCube.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/Gui/NaviCube.cpp b/src/Gui/NaviCube.cpp
+index 2d164f196b3c..9e3a62d66c81 100644
+--- a/src/Gui/NaviCube.cpp
++++ b/src/Gui/NaviCube.cpp
+@@ -926,6 +926,7 @@ NaviCubeImplementation::PickId NaviCubeImplementation::pickFace(short x, short y
+ GLubyte pixels[4] = {0};
+ if (m_PickingFramebuffer && std::abs(x) <= m_CubeWidgetSize / 2 &&
+ std::abs(y) <= m_CubeWidgetSize / 2) {
++ static_cast<QtGLWidget*>(m_View3DInventorViewer->viewport())->makeCurrent();
+ m_PickingFramebuffer->bind();
+
+ glViewport(0, 0, m_CubeWidgetSize * 2, m_CubeWidgetSize * 2);
+@@ -936,6 +937,7 @@ NaviCubeImplementation::PickId NaviCubeImplementation::pickFace(short x, short y
+ glReadPixels(2 * x + m_CubeWidgetSize, 2 * y + m_CubeWidgetSize, 1, 1,
+ GL_RGBA, GL_UNSIGNED_BYTE, &pixels);
+ m_PickingFramebuffer->release();
++ static_cast<QtGLWidget*>(m_View3DInventorViewer->viewport())->doneCurrent();
+ }
+ return pixels[3] == 255 ? static_cast<PickId>(pixels[0]) : PickId::None;
+ }
diff --git a/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch
new file mode 100644
index 000000000000..c1fe31ab05ad
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch
@@ -0,0 +1,186 @@
+From 6043c90462e85fbf15e30ea4c7da7d9a22d570f2 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Wed, 7 Feb 2024 15:25:13 +0100
+Subject: [PATCH] Py3.12: harmonize with upstream of PyCXX
+
+---
+ src/CXX/IndirectPythonInterface.cxx | 36 +++++++++++++++------
+ src/CXX/Python3/IndirectPythonInterface.hxx | 6 ++--
+ src/CXX/Python3/cxx_extensions.cxx | 2 +-
+ src/CXX/Python3/cxxextensions.c | 10 ++++++
+ src/CXX/Version.hxx | 2 +-
+ 5 files changed, 42 insertions(+), 14 deletions(-)
+
+diff --git a/src/CXX/IndirectPythonInterface.cxx b/src/CXX/IndirectPythonInterface.cxx
+index 3d810cea88a5..fc9e45cbd64f 100644
+--- a/src/CXX/IndirectPythonInterface.cxx
++++ b/src/CXX/IndirectPythonInterface.cxx
+@@ -122,17 +122,21 @@ static PyTypeObject *ptr__Bytes_Type = NULL;
+ # endif
+
+ # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
++# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
+ static int *ptr_Py_DebugFlag = NULL;
+ static int *ptr_Py_InteractiveFlag = NULL;
+ static int *ptr_Py_OptimizeFlag = NULL;
+ static int *ptr_Py_NoSiteFlag = NULL;
+ static int *ptr_Py_VerboseFlag = NULL;
++# endif
+
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ static const char **ptr__Py_PackageContext = NULL;
+-# else
++# else
+ static char **ptr__Py_PackageContext = NULL;
+-# endif
++# endif
++# endif
+ # endif
+
+ # ifdef Py_REF_DEBUG
+@@ -242,17 +246,21 @@ bool InitialisePythonIndirectInterface()
+ ptr_Py_RefTotal = GetInt_as_IntPointer( "_Py_RefTotal" );
+ # endif
+ # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
++# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
+ ptr_Py_DebugFlag = GetInt_as_IntPointer( "Py_DebugFlag" );
+ ptr_Py_InteractiveFlag = GetInt_as_IntPointer( "Py_InteractiveFlag" );
+ ptr_Py_OptimizeFlag = GetInt_as_IntPointer( "Py_OptimizeFlag" );
+ ptr_Py_NoSiteFlag = GetInt_as_IntPointer( "Py_NoSiteFlag" );
+ ptr_Py_VerboseFlag = GetInt_as_IntPointer( "Py_VerboseFlag" );
++# endif
+
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ ptr__Py_PackageContext = GetConstCharPointer_as_ConstCharPointerPointer( "_Py_PackageContext" );
+-# else
++# else
+ ptr__Py_PackageContext = GetCharPointer_as_CharPointerPointer( "_Py_PackageContext" );
+-# endif
++# endif
++# endif
+ # endif
+
+ # define PYCXX_STANDARD_EXCEPTION( eclass, bclass )
+@@ -397,17 +405,21 @@ PYCXX_EXPORT PyTypeObject *_Bytes_Type() { return ptr__Bytes_Type; }
+ // wrap the Python Flag variables
+ //
+ # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
++# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
+ PYCXX_EXPORT int &_Py_DebugFlag() { return *ptr_Py_DebugFlag; }
+ PYCXX_EXPORT int &_Py_InteractiveFlag() { return *ptr_Py_InteractiveFlag; }
+ PYCXX_EXPORT int &_Py_OptimizeFlag() { return *ptr_Py_OptimizeFlag; }
+ PYCXX_EXPORT int &_Py_NoSiteFlag() { return *ptr_Py_NoSiteFlag; }
+ PYCXX_EXPORT int &_Py_VerboseFlag() { return *ptr_Py_VerboseFlag; }
++# endif
+ # endif
+
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ PYCXX_EXPORT const char *__Py_PackageContext() { return *ptr__Py_PackageContext; }
+-# else
++# else
+ PYCXX_EXPORT char *__Py_PackageContext() { return *ptr__Py_PackageContext; }
++# endif
+ # endif
+
+ # if 0
+@@ -518,15 +530,19 @@ PYCXX_EXPORT PyTypeObject *_Bytes_Type() { return &PyBytes_Type; }
+ // wrap flags
+ //
+ # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
++# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
+ PYCXX_EXPORT int &_Py_DebugFlag() { return Py_DebugFlag; }
+ PYCXX_EXPORT int &_Py_InteractiveFlag() { return Py_InteractiveFlag; }
+ PYCXX_EXPORT int &_Py_OptimizeFlag() { return Py_OptimizeFlag; }
+ PYCXX_EXPORT int &_Py_NoSiteFlag() { return Py_NoSiteFlag; }
+ PYCXX_EXPORT int &_Py_VerboseFlag() { return Py_VerboseFlag; }
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# endif
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ PYCXX_EXPORT const char *__Py_PackageContext() { return _Py_PackageContext; }
+-# else
++# else
+ PYCXX_EXPORT char *__Py_PackageContext() { return _Py_PackageContext; }
++# endif
+ # endif
+ # endif
+
+diff --git a/src/CXX/Python3/IndirectPythonInterface.hxx b/src/CXX/Python3/IndirectPythonInterface.hxx
+index bf2c15c53f9a..eb4ae4fe63b9 100644
+--- a/src/CXX/Python3/IndirectPythonInterface.hxx
++++ b/src/CXX/Python3/IndirectPythonInterface.hxx
+@@ -149,10 +149,12 @@ PYCXX_EXPORT int &_Py_NoSiteFlag();
+ PYCXX_EXPORT int &_Py_TabcheckFlag();
+ PYCXX_EXPORT int &_Py_VerboseFlag();
+
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ PYCXX_EXPORT const char *__Py_PackageContext();
+-# else
++# else
+ PYCXX_EXPORT char *__Py_PackageContext();
++# endif
+ # endif
+ # endif
+
+diff --git a/src/CXX/Python3/cxx_extensions.cxx b/src/CXX/Python3/cxx_extensions.cxx
+index 7371810be4a9..e6eefdafea17 100644
+--- a/src/CXX/Python3/cxx_extensions.cxx
++++ b/src/CXX/Python3/cxx_extensions.cxx
+@@ -152,7 +152,7 @@ PyMethodDef *MethodTable::table()
+ //================================================================================
+ ExtensionModuleBase::ExtensionModuleBase( const char *name )
+ : m_module_name( name )
+-#if defined( Py_LIMITED_API )
++#if defined( Py_LIMITED_API ) || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 12)
+ , m_full_module_name( m_module_name )
+ #else
+ , m_full_module_name( __Py_PackageContext() != NULL ? std::string( __Py_PackageContext() ) : m_module_name )
+diff --git a/src/CXX/Python3/cxxextensions.c b/src/CXX/Python3/cxxextensions.c
+index 3b0f8ef7c588..afb9313ad0a8 100644
+--- a/src/CXX/Python3/cxxextensions.c
++++ b/src/CXX/Python3/cxxextensions.c
+@@ -42,6 +42,14 @@ extern "C"
+ {
+ #endif
+
++#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 13
++PyObject py_object_initializer =
++ {
++ { 1 },
++ NULL // type must be init'ed by user
++ };
++
++#else
+ PyObject py_object_initializer =
+ {
+ _PyObject_EXTRA_INIT
+@@ -49,6 +57,8 @@ PyObject py_object_initializer =
+ NULL // type must be init'ed by user
+ };
+
++#endif
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff --git a/src/CXX/Version.hxx b/src/CXX/Version.hxx
+index e6069aad335e..59fe3c203b86 100644
+--- a/src/CXX/Version.hxx
++++ b/src/CXX/Version.hxx
+@@ -40,7 +40,7 @@
+
+ #define PYCXX_VERSION_MAJOR 7
+ #define PYCXX_VERSION_MINOR 1
+-#define PYCXX_VERSION_PATCH 7
++#define PYCXX_VERSION_PATCH 9
+ #define PYCXX_MAKEVERSION( major, minor, patch ) ((major<<16)|(minor<<8)|(patch))
+ #define PYCXX_VERSION PYCXX_MAKEVERSION( PYCXX_VERSION_MAJOR, PYCXX_VERSION_MINOR, PYCXX_VERSION_PATCH )
+ #endif
diff --git a/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch
new file mode 100644
index 000000000000..505862aa2bf1
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch
@@ -0,0 +1,148 @@
+From ac9a88c2c59a2d2002a7740a1597a05c819220e0 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Sat, 20 Apr 2024 14:02:38 +0200
+Subject: [PATCH] PySide6: Fixes #13533: QSvgWidget is not a child of QtSvg in
+ PySide6
+
+* Create a compatibility module QtSvgWidgets.py to handle PySide2 & PySide6
+* In the Arch and Material modules use the QtSvgWidgets module
+* Since Qt6 the method QFont.setWeight() doesn't accept an int any more but requires an enum. Since the call of QFont.setBold(True) sets
+ a weight of 75 the extra calls of QFont.setWeight(75) can be safely removed
+---
+ cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake | 3 +++
+ src/Mod/Arch/ArchPrecast.py | 8 ++++----
+ src/Mod/Arch/ArchWindow.py | 4 ++--
+ src/Mod/Arch/importIFClegacy.py | 1 -
+ src/Mod/Draft/DraftGui.py | 1 -
+ src/Mod/Material/MaterialEditor.py | 6 +++---
+ 6 files changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake b/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
+index 0569c1fde9f2..fa872e287b59 100644
+--- a/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
++++ b/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
+@@ -91,9 +91,12 @@ macro(SetupShibokenAndPyside)
+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWidgets import *\n")
+ if(PYSIDE_MAJOR_VERSION LESS 6)
+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n")
++ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QGraphicsSvgItem\n"
++ "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QSvgWidget\n")
+ else()
+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n"
+ "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineCore import QWebEnginePage\n")
++ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvgWidgets import *\n")
+ endif()
+ endif()
+
+diff --git a/src/Mod/Arch/ArchPrecast.py b/src/Mod/Arch/ArchPrecast.py
+index 7bb929b10e34..2f482902c1ce 100644
+--- a/src/Mod/Arch/ArchPrecast.py
++++ b/src/Mod/Arch/ArchPrecast.py
+@@ -777,14 +777,14 @@ class _PrecastTaskPanel:
+ def __init__(self):
+
+ import FreeCADGui
+- from PySide import QtCore,QtGui,QtSvg
++ from PySide import QtCore,QtGui,QtSvgWidgets
+ self.form = QtGui.QWidget()
+ self.grid = QtGui.QGridLayout(self.form)
+ self.PrecastTypes = ["Beam","I-Beam","Pillar","Panel","Slab","Stairs"]
+ self.SlabTypes = ["Champagne","Hat"]
+
+ # image display
+- self.preview = QtSvg.QSvgWidget(":/ui/ParametersBeam.svg")
++ self.preview = QtSvgWidgets.QSvgWidget(":/ui/ParametersBeam.svg")
+ self.preview.setMaximumWidth(200)
+ self.preview.setMinimumHeight(120)
+ self.grid.addWidget(self.preview,0,0,1,2)
+@@ -1263,7 +1263,7 @@ class _DentsTaskPanel:
+ def __init__(self):
+
+ import FreeCADGui
+- from PySide import QtCore,QtGui,QtSvg
++ from PySide import QtCore,QtGui,QtSvgWidgets
+ self.form = QtGui.QWidget()
+ self.grid = QtGui.QGridLayout(self.form)
+ self.Rotations = ["N","S","E","O"]
+@@ -1282,7 +1282,7 @@ def __init__(self):
+ self.grid.addWidget(self.buttonRemove,2,1,1,1)
+
+ # image display
+- self.preview = QtSvg.QSvgWidget(":/ui/ParametersDent.svg")
++ self.preview = QtSvgWidgets.QSvgWidget(":/ui/ParametersDent.svg")
+ self.preview.setMaximumWidth(200)
+ self.preview.setMinimumHeight(120)
+ self.grid.addWidget(self.preview,3,0,1,2)
+diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py
+index f3c11c5e9c7a..dc9c84f9a8bf 100644
+--- a/src/Mod/Arch/ArchWindow.py
++++ b/src/Mod/Arch/ArchWindow.py
+@@ -34,7 +34,7 @@
+
+ if FreeCAD.GuiUp:
+ import FreeCADGui
+- from PySide import QtCore, QtGui, QtSvg
++ from PySide import QtCore, QtGui, QtSvgWidgets
+ from draftutils.translate import translate
+ from PySide.QtCore import QT_TRANSLATE_NOOP
+ import draftguitools.gui_trackers as DraftTrackers
+@@ -426,7 +426,7 @@ def taskbox(self):
+ self.pic.hide()
+
+ # SVG display
+- self.im = QtSvg.QSvgWidget(":/ui/ParametersWindowFixed.svg")
++ self.im = QtSvgWidgets.QSvgWidget(":/ui/ParametersWindowFixed.svg")
+ self.im.setMaximumWidth(200)
+ self.im.setMinimumHeight(120)
+ grid.addWidget(self.im,4,0,1,2)
+diff --git a/src/Mod/Arch/importIFClegacy.py b/src/Mod/Arch/importIFClegacy.py
+index 037e889ce5b9..256b29056b33 100644
+--- a/src/Mod/Arch/importIFClegacy.py
++++ b/src/Mod/Arch/importIFClegacy.py
+@@ -1795,7 +1795,6 @@ def explorer(filename,schema="IFC2X3_TC1.exp"):
+ tree.headerItem().setText(1, "")
+ tree.headerItem().setText(2, "Item and Properties")
+ bold = QtGui.QFont()
+- bold.setWeight(75)
+ bold.setBold(True)
+
+ #print(ifc.Entities)
+diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py
+index c6e8584f4a71..2471bb66c61a 100644
+--- a/src/Mod/Draft/DraftGui.py
++++ b/src/Mod/Draft/DraftGui.py
+@@ -312,7 +312,6 @@ def setupToolBar(self,task=False):
+ self.promptlabel = self._label("promptlabel", self.layout, hide=task)
+ self.cmdlabel = self._label("cmdlabel", self.layout, hide=task)
+ boldtxt = QtGui.QFont()
+- boldtxt.setWeight(75)
+ boldtxt.setBold(True)
+ self.cmdlabel.setFont(boldtxt)
+
+diff --git a/src/Mod/Material/MaterialEditor.py b/src/Mod/Material/MaterialEditor.py
+index cbcbde924609..28dbe83bc026 100644
+--- a/src/Mod/Material/MaterialEditor.py
++++ b/src/Mod/Material/MaterialEditor.py
+@@ -27,7 +27,7 @@
+ import os
+ from pathlib import PurePath
+ import sys
+-from PySide import QtCore, QtGui, QtSvg
++from PySide import QtCore, QtGui, QtSvgWidgets
+
+ import FreeCAD
+ import FreeCADGui
+@@ -92,11 +92,11 @@ def __init__(self, obj=None, prop=None, material=None, card_path="", category="S
+ treeView = widget.treeView
+
+ # create preview svg slots
+- self.widget.PreviewRender = QtSvg.QSvgWidget(self.iconPath + "preview-rendered.svg")
++ self.widget.PreviewRender = QtSvgWidgets.QSvgWidget(self.iconPath + "preview-rendered.svg")
+ self.widget.PreviewRender.setMaximumWidth(64)
+ self.widget.PreviewRender.setMinimumHeight(64)
+ self.widget.topLayout.addWidget(self.widget.PreviewRender)
+- self.widget.PreviewVector = QtSvg.QSvgWidget(self.iconPath + "preview-vector.svg")
++ self.widget.PreviewVector = QtSvgWidgets.QSvgWidget(self.iconPath + "preview-vector.svg")
+ self.widget.PreviewVector.setMaximumWidth(64)
+ self.widget.PreviewVector.setMinimumHeight(64)
+ self.widget.topLayout.addWidget(self.widget.PreviewVector)
diff --git a/media-gfx/freecad/files/freecad-0.21.2-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-r3.ebuild
index 9d461dec5d65..bf1b98990bc0 100644
--- a/media-gfx/freecad/freecad-0.21.2-r2.ebuild
+++ b/media-gfx/freecad/freecad-0.21.2-r3.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg
@@ -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
@@ -93,8 +93,8 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2[${PYTHON_USEDEP}]
+ dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken2:=[${PYTHON_USEDEP}]
' python3_{10..11} )
)
qt6? (
@@ -109,8 +109,8 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken6[${PYTHON_USEDEP}]
+ dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken6:=[${PYTHON_USEDEP}]
' )
)
)
@@ -159,11 +159,17 @@ REQUIRED_USE="
designer? ( gui )
inspection? ( points )
path? ( robot )
+ python_single_target_python3_12? ( gui? ( qt6 ) )
"
+# There is no py3.12 support planned for pyside2
PATCHES=(
"${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch
"${FILESDIR}"/${PN}-0.21.1-Gentoo-specific-don-t-check-vcs.patch
+ "${FILESDIR}"/${PN}-0.21.2-vtk9.3-fix.patch
+ "${FILESDIR}"/${PN}-0.21.2-boost-175-1.patch
+ "${FILESDIR}"/${PN}-0.21.2-boost-175-2.patch
+ "${FILESDIR}"/${PN}-0.21.2-boost-175-3.patch
)
DOCS=( CODE_OF_CONDUCT.md README.md )
@@ -187,6 +193,12 @@ src_prepare() {
eapply "${FILESDIR}/${PN}-0.21.2-shiboken-6.7.0.patch"
fi
+ if use qt6; then
+ eapply "${FILESDIR}/${PN}-0.21.2-navcube-qt6.patch"
+ eapply "${FILESDIR}/${PN}-0.21.2-qtsvg-qt6.patch"
+ eapply "${FILESDIR}/${PN}-0.21.2-py312-qt6.patch"
+ fi
+
cmake_src_prepare
}
@@ -335,7 +347,7 @@ src_install() {
# https://github.com/coin3d/coin/issues/451
: \${QT_QPA_PLATFORM:=xcb}
export QT_QPA_PLATFORM
- exec /usr/$(get_libdir)/${PN}/bin/FreeCAD
+ exec /usr/$(get_libdir)/${PN}/bin/FreeCAD \${@}
_EOF_
mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
fi
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index 76f8dae4592e..250c1a1dbbf7 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
@@ -94,8 +94,8 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2[${PYTHON_USEDEP}]
+ dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken2:=[${PYTHON_USEDEP}]
' python3_{10..11} )
)
qt6? (
@@ -109,8 +109,8 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken6[${PYTHON_USEDEP}]
+ dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken6:=[${PYTHON_USEDEP}]
' )
)
)
@@ -333,7 +333,7 @@ src_install() {
# https://github.com/coin3d/coin/issues/451
: \${QT_QPA_PLATFORM:=xcb}
export QT_QPA_PLATFORM
- exec /usr/$(get_libdir)/${PN}/bin/FreeCAD
+ exec /usr/$(get_libdir)/${PN}/bin/FreeCAD \${@}
_EOF_
mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
fi
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/geeqie/Manifest b/media-gfx/geeqie/Manifest
index f2a4ecce649a..a8bb11e9e73c 100644
--- a/media-gfx/geeqie/Manifest
+++ b/media-gfx/geeqie/Manifest
@@ -1,8 +1,2 @@
-DIST geeqie-2.1-docs.tar.xz 333756 BLAKE2B 2e569f4000befdaecebd6df9c94c59b8d9e05743343b1ba2ab647a228cc595b71369173cd0e7b798227a0843d493eb7d59be19b8259015239cfcdf8b5a40d339 SHA512 f1701e1f7550dc58d2d65f35da09284958b1d92f60568a8774831025525c835d2a03a48fd582052d3fca9cd2c15d935e30baf3f6599f624bf3dbccfeb606745d
-DIST geeqie-2.1.tar.xz 1800612 BLAKE2B 60190532eb8830e12acf06e39046dd04ccf28ac5d3679f2063e6f6e102add0d398dfc70a57a758d0c16483d5314ec88cb56b54829103ad938b29ac1500f86fdc SHA512 1812234d349536626433bbb7670cd45ef5ce328bf58f603af8eb4a01f7d3db2557d5a812714b12a9b49559aa1fe1c186ceddf2f632c2b303d64d36ad746a2d2f
-DIST geeqie-2.2-docs.tar.xz 356976 BLAKE2B 3bca2815a6f177a2f38b9a66ff6fa95dba510aa2afb36d5d6c9f6841c0c1b25c4f9aad7d45ef57d911f0caa2a8499a06aba2ccaf7e279382bf4304c88f11ea13 SHA512 0f89995573b02e82c715dcdf4d71a309691885ad785f1297d2fee01aff00f2aed43c9cff6900bddfa1a727598934ba7bb0ced32b0c86c6f1a115271a8a81592a
-DIST geeqie-2.2.tar.xz 2169096 BLAKE2B fe7f21f5842ac7824ec37f0775d31e8dcd05934809f7bdd84d7dcb749d25976055050f42a8cea3cd414fb3c7e60055c9fa32b93cfef2af62de68f4d44af425c8 SHA512 7d03493b463a1949cbc5e377927abc4bc6fa62914e8cdddb30a832cb9c6caad579f5ba5bd2b8b0913b77063300c9c5ac1f7e671ddfb2ce18d8a8d0efcfb51dbe
-DIST geeqie-2.3-docs.tar.xz 362412 BLAKE2B e05adbd6b277cfccae20c2ed7840e447016b32a9bf5c5ad6feb143993b4856fbb623feb6684a21c235ad846923463bed45cf887b1854189f01a46c3961f26a18 SHA512 cab4739adecd1dcb9cde3a58a2e2c2262f4014bc7594ae22af69b8bdbb14f6849b1e2267646301f31ebde76b2b2abc05e75aac3325e35cb88f9dc40703f2d943
-DIST geeqie-2.3.tar.xz 2184604 BLAKE2B dbd2d52d146d373a9694a7371a8ac44571e63895cf6cea7acb549a1135b4cf5869737cdf780ca6afdb14eda1338cb275791eaac1cd7596ed58eb07759cf75778 SHA512 9f45974d12c1f193a4a3624064b967fc06cf9c906c45160a4945a8f6a9d814b929b92c45a35006c7f1b20fa5fe360858f24fd54adbcd8863c3e7d787a3429899
DIST geeqie-2.4-docs.tar.xz 364536 BLAKE2B 688720808c8e4543455259966aef726bf56a821890a78e4757d9d1fd02ce67217461808d9697b331b2a94841bf3581b25242a7e5c9c9a3f5b02209a566b09c16 SHA512 07bca33c347f448ee853ea60daf22c9cdace458b6ce6b3f4ced9b343a965370c51d7a872d5279852b7a83a1de51c8529a668f7d62a031bcec1fdde8b9bfbf9cb
DIST geeqie-2.4.tar.xz 2178572 BLAKE2B df24f0b5d443cbd2033c0b382fe0d846c9073e8966aa736f647e34930e44083b9e44252c554578548a13c12c1b1a5a48bb7795f2fda8b8688a63ef402a257334 SHA512 7e0f5dff21e38a41adf0a793bd82652c5d639e84ab49403517f4b1dae042bfc5f4d02e54b54928e04a2397300acb04b130347df0be5637ee48634f5865ad346b
diff --git a/media-gfx/geeqie/files/geeqie-2.1-exiv2-0.28.0.patch b/media-gfx/geeqie/files/geeqie-2.1-exiv2-0.28.0.patch
deleted file mode 100644
index 13b6a171257d..000000000000
--- a/media-gfx/geeqie/files/geeqie-2.1-exiv2-0.28.0.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From c45cca777aa3477eaf297db99f337e18d9683c61 Mon Sep 17 00:00:00 2001
-From: Kevin Backhouse <kevinbackhouse@github.com>
-Date: Wed, 21 Jun 2023 12:23:33 +0100
-Subject: [PATCH] Add ExifData as extra argument to
- exif_item_get_data_as_text().
-
----
- src/advanced-exif.cc | 2 +-
- src/exif-common.cc | 2 +-
- src/exif.cc | 8 ++++----
- src/exif.h | 2 +-
- src/exiv2.cc | 4 ++--
- 5 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/advanced-exif.cc b/src/advanced-exif.cc
-index 79a54b12..e3d3067a 100644
---- a/src/advanced-exif.cc
-+++ b/src/advanced-exif.cc
-@@ -120,7 +120,7 @@ static void advanced_exif_update(ExifWin *ew)
- tag = g_strdup_printf("0x%04x", exif_item_get_tag_id(item));
- tag_name = exif_item_get_tag_name(item);
- format = exif_item_get_format_name(item, TRUE);
-- text = exif_item_get_data_as_text(item);
-+ text = exif_item_get_data_as_text(item, exif);
- utf8_text = utf8_validate_or_convert(text);
- g_free(text);
- elements = g_strdup_printf("%d", exif_item_get_elements(item));
-diff --git a/src/exif-common.cc b/src/exif-common.cc
-index 6a4c9740..b6f07ca6 100644
---- a/src/exif-common.cc
-+++ b/src/exif-common.cc
-@@ -995,7 +995,7 @@ gchar *exif_get_data_as_text(ExifData *exif, const gchar *key)
- if (key_valid) return text;
-
- item = exif_get_item(exif, key);
-- if (item) return exif_item_get_data_as_text(item);
-+ if (item) return exif_item_get_data_as_text(item, exif);
-
- return nullptr;
- }
-diff --git a/src/exif.cc b/src/exif.cc
-index 8708ff53..cda2cb1a 100644
---- a/src/exif.cc
-+++ b/src/exif.cc
-@@ -1454,7 +1454,7 @@ gchar *exif_item_get_string(ExifItem *item, gint UNUSED(idx))
- return exif_item_get_data_as_text_full(item, METADATA_PLAIN);
- }
-
--gchar *exif_item_get_data_as_text(ExifItem *item)
-+gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif)
- {
- return exif_item_get_data_as_text_full(item, METADATA_FORMATTED);
- }
-@@ -1527,11 +1527,11 @@ gchar *exif_get_tag_description_by_key(const gchar *key)
- return NULL;
- }
-
--static void exif_write_item(FILE *f, ExifItem *item)
-+static void exif_write_item(FILE *f, ExifItem *item, ExifData *exif)
- {
- gchar *text;
-
-- text = exif_item_get_data_as_text(item);
-+ text = exif_item_get_data_as_text(item, exif);
- if (text)
- {
- gchar *tag = exif_item_get_tag_name(item);
-@@ -1578,7 +1578,7 @@ void exif_write_data_list(ExifData *exif, FILE *f, gint human_readable_list)
- item = (ExifItem*)(work->data);
- work = work->next;
-
-- exif_write_item(f, item);
-+ exif_write_item(f, item, exif);
- }
- }
- g_fprintf(f, "----------------------------------------------------\n");
-diff --git a/src/exif.h b/src/exif.h
-index fcc7d8f5..4b03c201 100644
---- a/src/exif.h
-+++ b/src/exif.h
-@@ -136,7 +136,7 @@ gchar *exif_item_get_data(ExifItem *item, guint *data_len);
- gchar *exif_item_get_description(ExifItem *item);
- guint exif_item_get_format_id(ExifItem *item);
- const gchar *exif_item_get_format_name(ExifItem *item, gboolean brief);
--gchar *exif_item_get_data_as_text(ExifItem *item);
-+gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif);
- gint exif_item_get_integer(ExifItem *item, gint *value);
- ExifRational *exif_item_get_rational(ExifItem *item, gint *sign, guint n);
-
-diff --git a/src/exiv2.cc b/src/exiv2.cc
-index 33b779e7..dc62e8e0 100644
---- a/src/exiv2.cc
-+++ b/src/exiv2.cc
-@@ -778,13 +778,13 @@ const char *exif_item_get_format_name(ExifItem *item, gboolean UNUSED(brief))
- }
-
-
--gchar *exif_item_get_data_as_text(ExifItem *item)
-+gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif)
- {
- try {
- if (!item) return nullptr;
- auto metadatum = reinterpret_cast<Exiv2::Metadatum *>(item);
- #if EXIV2_TEST_VERSION(0,17,0)
-- return utf8_validate_or_convert(metadatum->print().c_str());
-+ return utf8_validate_or_convert(metadatum->print(&exif->exifData()).c_str());
- #else
- std::stringstream str;
- Exiv2::Exifdatum *exifdatum;
-From b04f7cd0546976dc4f7ea440648ac0eedd8df3ce Mon Sep 17 00:00:00 2001
-From: Colin Clark <colin.clark@cclark.uk>
-Date: Wed, 21 Jun 2023 14:24:41 +0100
-Subject: [PATCH] Remove exiv2 0.28.0 restriction
-
-https://github.com/BestImageViewer/geeqie/pull/1119
-
-The bug was fixed in the above commit.
----
- meson.build | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index a4cab49c..412399fe 100644
---- a/meson.build
-+++ b/meson.build
-@@ -280,15 +280,7 @@ else
- endif
-
- exiv2_dep = []
--# See https://github.com/BestImageViewer/geeqie/issues/1090
--# for the reason for 0.28.0 exclusion
--req_version = ['>=0.11', '!=0.28.0']
--
--req_version_str = ''
--foreach req_version_str_ : req_version
-- req_version_str += req_version_str_
--endforeach
--
-+req_version = '>=0.11'
- option = get_option('exiv2')
- if not option.disabled()
- exiv2_dep = dependency('exiv2', version : req_version, required : get_option('exiv2'))
-@@ -296,7 +288,7 @@ if not option.disabled()
- conf_data.set('HAVE_EXIV2', 1)
- summary({'exiv2' : ['image metadata processed by exiv2:', true]}, section : 'Configuration', bool_yn : true)
- else
-- summary({'exiv2' : ['exiv2 ' + req_version_str + ' not found - image data not processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
-+ summary({'exiv2' : ['exiv2 ' + req_version + ' not found - image data not processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
- endif
- else
- summary({'exiv2' : ['disabled - image data processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
diff --git a/media-gfx/geeqie/files/geeqie-2.1-locale.patch b/media-gfx/geeqie/files/geeqie-2.1-locale.patch
deleted file mode 100644
index 10ae6b0169c5..000000000000
--- a/media-gfx/geeqie/files/geeqie-2.1-locale.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 01d8762d45a2f3871cfd09176edbccdbe73a6767 Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@gatalith.at>
-Date: Sat, 17 Jun 2023 18:47:28 +0200
-Subject: [PATCH] Add missing header for setlocale().
-
----
- src/misc.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/misc.cc b/src/misc.cc
-index 9942605ce..a2ad3eb69 100644
---- a/src/misc.cc
-+++ b/src/misc.cc
-@@ -18,6 +18,8 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#include <locale.h>
-+
- #include "main.h"
- #include "misc.h"
-
diff --git a/media-gfx/geeqie/files/geeqie-2.1-lua_hpp.patch b/media-gfx/geeqie/files/geeqie-2.1-lua_hpp.patch
deleted file mode 100644
index a0c816b5fb3c..000000000000
--- a/media-gfx/geeqie/files/geeqie-2.1-lua_hpp.patch
+++ /dev/null
@@ -1,19 +0,0 @@
----
- src/lua.cc | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/lua.cc b/src/lua.cc
-index 84aa549a..458b658a 100644
---- a/src/lua.cc
-+++ b/src/lua.cc
-@@ -24,9 +24,7 @@
-
- #define _XOPEN_SOURCE
-
--#include <lua.h>
--#include <lauxlib.h>
--#include <lualib.h>
-+#include <lua.hpp>
-
- #include <stdio.h>
- #include <glib.h>
diff --git a/media-gfx/geeqie/files/geeqie-2.3-locale.patch b/media-gfx/geeqie/files/geeqie-2.3-locale.patch
deleted file mode 100644
index 05f8bdcfdaea..000000000000
--- a/media-gfx/geeqie/files/geeqie-2.3-locale.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff -Naur geeqie-2.3.orig/src/misc.cc geeqie-2.3/src/misc.cc
---- geeqie-2.3.orig/src/misc.cc 2024-03-06 16:56:22.000000000 +0100
-+++ geeqie-2.3/src/misc.cc 2024-03-25 21:03:18.655779225 +0100
-@@ -23,6 +23,7 @@
- #include <sys/stat.h>
- #include <unistd.h>
-
-+#include <clocale>
- #include <cstdio>
- #include <cstdlib>
- #include <cstring>
diff --git a/media-gfx/geeqie/geeqie-2.1-r1.ebuild b/media-gfx/geeqie/geeqie-2.1-r1.ebuild
deleted file mode 100644
index 2a7751b70258..000000000000
--- a/media-gfx/geeqie/geeqie-2.1-r1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit flag-o-matic lua-single meson optfeature xdg
-
-DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://www.geeqie.org"
-SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.tar.xz
- https://dev.gentoo.org/~voyageur/distfiles/${P}-docs.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc x86"
-IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
-
-RDEPEND="gnome-extra/zenity
- virtual/libintl
- x11-libs/gtk+:3
- djvu? ( app-text/djvu )
- exif? ( >=media-gfx/exiv2-0.17:=[xmp?] )
- ffmpegthumbnailer? ( media-video/ffmpegthumbnailer )
- heif? ( >=media-libs/libheif-1.3.2 )
- jpeg2k? ( >=media-libs/openjpeg-2.3.0:2= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpegxl? ( >=media-libs/libjxl-0.3.7:= )
- lcms? ( media-libs/lcms:2 )
- lua? ( ${LUA_DEPS} )
- map? ( media-libs/clutter-gtk
- media-libs/libchamplain:0.12[gtk] )
- pdf? ( >=app-text/poppler-0.62[cairo] )
- raw? ( >=media-libs/libraw-0.20:= )
- spell? ( app-text/gspell )
- tiff? ( media-libs/tiff:= )
- webp? ( gui-libs/gdk-pixbuf-loader-webp:= )
- zip? ( >=app-arch/libarchive-3.4.0 )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- || ( dev-util/xxdi app-editors/vim-core )
- dev-util/glib-utils
- sys-devel/gettext
- virtual/pkgconfig"
-
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-locale.patch
- "${FILESDIR}"/${P}-lua_hpp.patch
- "${FILESDIR}"/${P}-exiv2-0.28.0.patch
-)
-
-pkg_setup() {
- # Do not require setting LUA_SINGLE_TARGET if lua is not used
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Disable doc build - not useful most of the time per upstream
- sed -e "/subdir('doc')/d" -i meson.build || die
-}
-
-src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/585432
- # https://github.com/BestImageViewer/geeqie/issues/1270
- filter-lto
-
- local emesonargs=(
- -Dgq_helpdir="share/doc/${PF}"
- -Dgq_htmldir="share/doc/${PF}/html"
- $(meson_use debug)
- $(meson_feature djvu)
- $(meson_feature exif exiv2)
- $(meson_feature ffmpegthumbnailer videothumbnailer)
- $(meson_feature heif)
- $(meson_feature jpeg)
- $(meson_feature jpeg2k j2k)
- $(meson_feature jpegxl)
- $(meson_feature lcms cms)
- $(meson_feature lua)
- $(meson_feature map gps-map)
- $(meson_feature pdf)
- $(meson_feature raw libraw)
- $(meson_feature spell)
- $(meson_feature tiff)
- $(meson_feature zip archive)
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- # Manually generated ChangeLog
- dodoc "${WORKDIR}"/${P}-docs/*
-
- # The application needs access to some uncompressed doc files.
- docompress -x /usr/share/doc/${PF}/AUTHORS
- docompress -x /usr/share/doc/${PF}/ChangeLog
- docompress -x /usr/share/doc/${PF}/README.md
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "Camera import and tethered photography plugins" media-gfx/gphoto2
- optfeature "Lens ID plugin" media-libs/exiftool
- optfeature "Image crop plugin" "media-libs/exiftool media-gfx/imagemagick"
- optfeature "Image rotate plugin (JPEG)" media-gfx/fbida
- optfeature "Image rotate plugin (TIFF/PNG)" media-gfx/imagemagick
- optfeature "Print preview functionality" app-text/evince
-}
diff --git a/media-gfx/geeqie/geeqie-2.2.ebuild b/media-gfx/geeqie/geeqie-2.2.ebuild
deleted file mode 100644
index db97d02cdbaa..000000000000
--- a/media-gfx/geeqie/geeqie-2.2.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit flag-o-matic lua-single meson optfeature xdg
-
-DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://www.geeqie.org"
-SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.tar.xz
- https://dev.gentoo.org/~voyageur/distfiles/${P}-docs.tar.xz"
-# Doc build:
-# clone git at matching tag
-# mkdir build; ./gen_changelog.sh . build;
-# pandoc README.md -o build/README.html
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
-IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
-
-RDEPEND="gnome-extra/zenity
- virtual/libintl
- x11-libs/gtk+:3
- djvu? ( app-text/djvu )
- exif? ( >=media-gfx/exiv2-0.17:=[xmp?] )
- ffmpegthumbnailer? ( media-video/ffmpegthumbnailer )
- heif? ( >=media-libs/libheif-1.3.2 )
- jpeg2k? ( >=media-libs/openjpeg-2.3.0:2= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpegxl? ( >=media-libs/libjxl-0.3.7:= )
- lcms? ( media-libs/lcms:2 )
- lua? ( ${LUA_DEPS} )
- map? ( media-libs/clutter-gtk
- media-libs/libchamplain:0.12[gtk] )
- pdf? ( >=app-text/poppler-0.62[cairo] )
- raw? ( >=media-libs/libraw-0.20:= )
- spell? ( app-text/gspell )
- tiff? ( media-libs/tiff:= )
- webp? ( gui-libs/gdk-pixbuf-loader-webp:= )
- zip? ( >=app-arch/libarchive-3.4.0 )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- || ( dev-util/xxdi app-editors/vim-core )
- dev-util/glib-utils
- sys-devel/gettext
- virtual/pkgconfig"
-
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
-
-pkg_setup() {
- # Do not require setting LUA_SINGLE_TARGET if lua is not used
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Disable doc build - not useful most of the time per upstream
- sed -e "/subdir('doc')/d" -i meson.build || die
-}
-
-src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/585432
- # https://github.com/BestImageViewer/geeqie/issues/1270
- filter-lto
-
- local emesonargs=(
- -Dgq_helpdir="share/doc/${PF}"
- -Dgq_htmldir="share/doc/${PF}/html"
- $(meson_use debug)
- $(meson_feature djvu)
- $(meson_feature exif exiv2)
- $(meson_feature ffmpegthumbnailer videothumbnailer)
- $(meson_feature heif)
- $(meson_feature jpeg)
- $(meson_feature jpeg2k j2k)
- $(meson_feature jpegxl)
- $(meson_feature lcms cms)
- $(meson_feature lua)
- $(meson_feature map gps-map)
- $(meson_feature pdf)
- $(meson_feature raw libraw)
- $(meson_feature spell)
- $(meson_feature tiff)
- $(meson_feature zip archive)
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- # Manually generated ChangeLog
- dodoc "${WORKDIR}"/${P}-docs/*
-
- # The application needs access to some uncompressed doc files.
- docompress -x /usr/share/doc/${PF}/AUTHORS
- docompress -x /usr/share/doc/${PF}/ChangeLog
- docompress -x /usr/share/doc/${PF}/README.md
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "Camera import and tethered photography plugins" media-gfx/gphoto2
- optfeature "Lens ID plugin" media-libs/exiftool
- optfeature "Image crop plugin" "media-libs/exiftool media-gfx/imagemagick"
- optfeature "Image rotate plugin (JPEG)" media-gfx/fbida
- optfeature "Image rotate plugin (TIFF/PNG)" media-gfx/imagemagick
- optfeature "Print preview functionality" app-text/evince
-}
diff --git a/media-gfx/geeqie/geeqie-2.3.ebuild b/media-gfx/geeqie/geeqie-2.3.ebuild
deleted file mode 100644
index dae22816e4fd..000000000000
--- a/media-gfx/geeqie/geeqie-2.3.ebuild
+++ /dev/null
@@ -1,119 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit flag-o-matic lua-single meson optfeature xdg
-
-DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://www.geeqie.org"
-SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.tar.xz
- https://dev.gentoo.org/~voyageur/distfiles/${P}-docs.tar.xz"
-# Doc build:
-# clone git at matching tag
-# mkdir build; ./gen_changelog.sh . build;
-# pandoc README.md -o build/README.html
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
-IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
-
-RDEPEND="gnome-extra/zenity
- virtual/libintl
- x11-libs/gtk+:3
- djvu? ( app-text/djvu )
- exif? ( >=media-gfx/exiv2-0.17:=[xmp?] )
- ffmpegthumbnailer? ( media-video/ffmpegthumbnailer )
- heif? ( >=media-libs/libheif-1.3.2 )
- jpeg2k? ( >=media-libs/openjpeg-2.3.0:2= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpegxl? ( >=media-libs/libjxl-0.3.7:= )
- lcms? ( media-libs/lcms:2 )
- lua? ( ${LUA_DEPS} )
- map? ( media-libs/clutter-gtk
- media-libs/libchamplain:0.12[gtk] )
- pdf? ( >=app-text/poppler-0.62[cairo] )
- raw? ( >=media-libs/libraw-0.20:= )
- spell? ( app-text/gspell )
- tiff? ( media-libs/tiff:= )
- webp? ( gui-libs/gdk-pixbuf-loader-webp:= )
- zip? ( >=app-arch/libarchive-3.4.0 )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- || ( dev-util/xxdi app-editors/vim-core )
- dev-util/glib-utils
- sys-devel/gettext
- virtual/pkgconfig"
-
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
-
-PATCHES=( "${FILESDIR}"/${PN}-2.3-test-ancillary.patch
- "${FILESDIR}"/${P}-locale.patch
- )
-
-pkg_setup() {
- # Do not require setting LUA_SINGLE_TARGET if lua is not used
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Disable doc build - not useful most of the time per upstream
- sed -e "/subdir('doc')/d" -i meson.build || die
-}
-
-src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/585432
- # https://github.com/BestImageViewer/geeqie/issues/1270
- filter-lto
-
- local emesonargs=(
- -Dgq_helpdir="share/doc/${PF}"
- -Dgq_htmldir="share/doc/${PF}/html"
- $(meson_use debug)
- $(meson_feature djvu)
- $(meson_feature exif exiv2)
- $(meson_feature ffmpegthumbnailer videothumbnailer)
- $(meson_feature heif)
- $(meson_feature jpeg)
- $(meson_feature jpeg2k j2k)
- $(meson_feature jpegxl)
- $(meson_feature lcms cms)
- $(meson_feature lua)
- $(meson_feature map gps-map)
- $(meson_feature pdf)
- $(meson_feature raw libraw)
- $(meson_feature spell)
- $(meson_feature tiff)
- $(meson_feature zip archive)
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- # Manually generated ChangeLog
- dodoc "${WORKDIR}"/${P}-docs/*
-
- # The application needs access to some uncompressed doc files.
- docompress -x /usr/share/doc/${PF}/AUTHORS
- docompress -x /usr/share/doc/${PF}/ChangeLog
- docompress -x /usr/share/doc/${PF}/README.md
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "Camera import and tethered photography plugins" media-gfx/gphoto2
- optfeature "Lens ID plugin" media-libs/exiftool
- optfeature "Image crop plugin" "media-libs/exiftool media-gfx/imagemagick"
- optfeature "Image rotate plugin (JPEG)" media-gfx/fbida
- optfeature "Image rotate plugin (TIFF/PNG)" media-gfx/imagemagick
- optfeature "Print preview functionality" app-text/evince
-}
diff --git a/media-gfx/geeqie/geeqie-2.4.ebuild b/media-gfx/geeqie/geeqie-2.4.ebuild
index 2b9b96fbe6a9..f388de011d32 100644
--- a/media-gfx/geeqie/geeqie-2.4.ebuild
+++ b/media-gfx/geeqie/geeqie-2.4.ebuild
@@ -4,10 +4,10 @@
EAPI=8
LUA_COMPAT=( lua5-{3,4} )
-inherit flag-o-matic lua-single meson optfeature xdg
+inherit lua-single meson optfeature xdg
DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://www.geeqie.org"
+HOMEPAGE="https://www.geeqie.org"
SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.tar.xz
https://dev.gentoo.org/~voyageur/distfiles/${P}-docs.tar.xz"
# Doc build:
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc x86"
IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
RDEPEND="gnome-extra/zenity
@@ -64,11 +64,6 @@ src_prepare() {
}
src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/585432
- # https://github.com/BestImageViewer/geeqie/issues/1270
- filter-lto
-
local emesonargs=(
-Dgq_helpdir="share/doc/${PF}"
-Dgq_htmldir="share/doc/${PF}/html"
diff --git a/media-gfx/geeqie/geeqie-9999.ebuild b/media-gfx/geeqie/geeqie-9999.ebuild
index 739e6f7323f0..54d5d3c640fa 100644
--- a/media-gfx/geeqie/geeqie-9999.ebuild
+++ b/media-gfx/geeqie/geeqie-9999.ebuild
@@ -4,10 +4,10 @@
EAPI=8
LUA_COMPAT=( lua5-{3,4} )
-inherit flag-o-matic git-r3 lua-single meson optfeature xdg
+inherit git-r3 lua-single meson optfeature xdg
DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://www.geeqie.org"
+HOMEPAGE="https://www.geeqie.org"
# Using github mirror, as geeqie.org does not have a valid SSL certificate
EGIT_REPO_URI="https://github.com/BestImageViewer/geeqie.git"
@@ -57,11 +57,6 @@ src_prepare() {
}
src_configure() {
- # -Werror=odr
- # https://bugs.gentoo.org/585432
- # https://github.com/BestImageViewer/geeqie/issues/1270
- filter-lto
-
local emesonargs=(
-Dgq_helpdir="share/doc/${PF}"
-Dgq_htmldir="share/doc/${PF}/html"
diff --git a/media-gfx/gifsicle/Manifest b/media-gfx/gifsicle/Manifest
index f6261fc6b289..1ec51202d6aa 100644
--- a/media-gfx/gifsicle/Manifest
+++ b/media-gfx/gifsicle/Manifest
@@ -1,2 +1,3 @@
DIST gifsicle-1.93.tar.gz 578194 BLAKE2B c5635fc736e2fd97278ab97377663f9702d2891cab5e19b16fa1aa53412ae48945d82ee42e9690208532cb854c99397ec4c1a11d4521454d8d40efd9adfd9d2a SHA512 1ace2c9597a405d69bb9dfa24764a3d7c7dd9864e1832d25a4a7ad2e32780038206b889711846d6e4dbc7189482d0d03874f18d86966ebffbc4ee10569c390d3
DIST gifsicle-1.94.tar.gz 579194 BLAKE2B 0d6a734d6340938579633061cbff1f702c33adf7c206d3120488fa4a14eb69ef2f5838ee42b92cb371fa39398b57114c6315308d83fd951c399d9d6c3b3986d0 SHA512 5dc84332d929bc765b642f31fb79ed2998b193985070513cb3e412bca519c7c6065537c14df13e9860ae09dc5c66a06ca5475b1fdee62cd9509d42a5e2d0c9b6
+DIST gifsicle-1.95.tar.gz 579636 BLAKE2B 32af2f786328b059745828ade184eea216e147abbb8023cb681c2d37a40a4abc9d0f32bb60a322b17f1af03a5e2c566b194e4c6a8d685e0697f90497294a9c81 SHA512 888bb3f4501ce3f12e810045bb432c9e56952df1def565e4a8983529856b00be8e79d9df148858fe2a327d1dd751eb71280e17c8e0426e68290b0dfe02247891
diff --git a/media-gfx/gifsicle/gifsicle-1.95.ebuild b/media-gfx/gifsicle/gifsicle-1.95.ebuild
new file mode 100644
index 000000000000..9d95e9385b78
--- /dev/null
+++ b/media-gfx/gifsicle/gifsicle-1.95.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Create, manipulate, and optimize GIF images and animations"
+HOMEPAGE="https://www.lcdf.org/~eddietwo/gifsicle/ https://github.com/kohler/gifsicle"
+SRC_URI="https://www.lcdf.org/~eddietwo/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="X"
+
+RDEPEND="
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+src_configure() {
+ econf $(use_enable X gifview)
+}
diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest
index b5ca0b16e48e..579449a517b7 100644
--- a/media-gfx/gimp/Manifest
+++ b/media-gfx/gimp/Manifest
@@ -1,3 +1,4 @@
DIST gimp-2.10.34.tar.bz2 31405329 BLAKE2B 0b2d3a81abf89684bb90e2101896db3479a25c5da76738543dba8d0378e64608eee9aeb24888e15f5e347f72fa1df3e9b82aa27e503ee61d1c4d45d44fa7bddc SHA512 4802ce3758daba868570f1ac97a3f1cb41e1130fcc6376f9bf4c999441f8fd25937aa71b6f726d82d7c780f4153b11d2595bb76bc2356a42266909fbcc0bd34a
DIST gimp-2.10.36.tar.bz2 31532334 BLAKE2B d033cd1407df3399b5968b7e3f7838d288143080b516476a5dd46599b6a84ac2efca591521368cef7a1c3d9935b45ed3262fb469e1ae36ccf60a1199f5cfa44d SHA512 dbe6152ea6ff99cca59bbf2c88a64fb4ff6b529d98ace7723eadf5dfb0e10d9cbaf2de1e0d5251e9ecf9abca73da9ae1a501f229997802fd4077fb9594f4ba66
+DIST gimp-2.10.38.tar.bz2 31698453 BLAKE2B 58c29e3e00d873e69a5e5f4e9c3ff4d868ccfb11914570306ef12c54ca7d3ef89a62d8c71fac1f2d1f426ac615dc4caf7a7260351c00301dce2b1aa4193bab6d SHA512 343bf1c3bd14bf8e7c7af79c05920faca213da68549127c1d8af53e2e872e55aeaf39a3cfcf578183a34fdc4f98e1c859be63956b0611067186eefd1fdee2aaa
DIST gimp-2.99.18.tar.xz 25418968 BLAKE2B ccb76bb5c375925d4d71505f3e1546f05ba0e20533859b1b6250a4d9054efb6bec4927a5e0c525272fa24d5a6bdf4fb7881d60a1d34b1210ee38b90e661ef707 SHA512 151ccd0322601e76ed0198b40832ab0b6c138428f2e75806dd558e29c9b3437d9226a243142bf4a86113fa5ea4f5965b99cf7cd0ab0ecb7bdfc48036de35a9c6
diff --git a/media-gfx/gimp/gimp-2.10.38.ebuild b/media-gfx/gimp/gimp-2.10.38.ebuild
new file mode 100644
index 000000000000..3746698cb6e8
--- /dev/null
+++ b/media-gfx/gimp/gimp-2.10.38.ebuild
@@ -0,0 +1,226 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+GNOME2_EAUTORECONF=yes
+WANT_AUTOMAKE=
+
+inherit autotools gnome2 toolchain-funcs virtualx
+
+DESCRIPTION="GNU Image Manipulation Program"
+HOMEPAGE="https://www.gimp.org/"
+SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2"
+LICENSE="GPL-3+ LGPL-3+"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse"
+
+RESTRICT="!test? ( test )"
+
+COMMON_DEPEND="
+ >=app-accessibility/at-spi2-core-2.50.1
+ app-arch/bzip2
+ app-arch/xz-utils
+ >=app-text/poppler-0.50[cairo]
+ >=app-text/poppler-data-0.4.7
+ >=dev-libs/glib-2.56.2:2
+ >=dev-libs/json-glib-1.2.6
+ >=gnome-base/librsvg-2.40.6:2
+ >=media-gfx/mypaint-brushes-2.0.2:=
+ >=media-libs/babl-0.1.98
+ >=media-libs/fontconfig-2.12.4
+ >=media-libs/freetype-2.1.7
+ >=media-libs/gegl-0.4.40:0.4[cairo]
+ >=media-libs/gexiv2-0.10.6
+ >=media-libs/harfbuzz-0.9.19:=
+ >=media-libs/lcms-2.8:2
+ media-libs/libjpeg-turbo:=
+ >=media-libs/libmypaint-1.6.1:=
+ >=media-libs/libpng-1.6.25:0=
+ >=media-libs/tiff-3.5.7:=
+ net-libs/glib-networking[ssl]
+ sys-libs/zlib
+ >=x11-libs/cairo-1.12.2
+ >=x11-libs/gdk-pixbuf-2.31:2
+ >=x11-libs/gtk+-2.24.32:2
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXmu
+ >=x11-libs/pango-1.29.4
+ aalib? ( media-libs/aalib )
+ alsa? ( >=media-libs/alsa-lib-1.0.0 )
+ aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 )
+ heif? ( >=media-libs/libheif-1.9.1:= )
+ jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
+ jpegxl? ( >=media-libs/libjxl-0.7.0:= )
+ mng? ( media-libs/libmng:= )
+ openexr? ( >=media-libs/openexr-1.6.1:= )
+ postscript? ( app-text/ghostscript-gpl:= )
+ udev? ( dev-libs/libgudev )
+ unwind? ( >=sys-libs/libunwind-1.1.0:= )
+ webp? ( >=media-libs/libwebp-0.6.0:= )
+ wmf? ( >=media-libs/libwmf-0.2.8 )
+ xpm? ( x11-libs/libXpm )
+"
+
+RDEPEND="
+ ${COMMON_DEPEND}
+ x11-themes/hicolor-icon-theme
+ gnome? ( gnome-base/gvfs )
+"
+
+DEPEND="
+ ${COMMON_DEPEND}
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+"
+
+BDEPEND="
+ >=dev-build/gtk-doc-am-1
+ >=dev-lang/perl-5.10.0
+ dev-libs/appstream-glib
+ dev-util/gtk-update-icon-cache
+ >=dev-util/intltool-0.40.1
+ >=sys-devel/gettext-0.19.8
+ >=dev-build/libtool-2.2
+ virtual/pkgconfig
+"
+
+DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070)
+ "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148
+ "${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796
+ "${FILESDIR}/${PN}-2.10.36_c99_tiff.patch" #919282
+ "${FILESDIR}/${PN}-2.10.36_c99_metadata.patch" #919282
+)
+
+src_prepare() {
+ sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794
+
+ sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
+ sed 's/-DGIMP_DISABLE_DEPRECATED/-DGIMP_protect_DISABLE_DEPRECATED/g' -i configure.ac || die #615144
+
+ gnome2_src_prepare # calls eautoreconf
+
+ sed 's/-DGIMP_protect_DISABLE_DEPRECATED/-DGIMP_DISABLE_DEPRECATED/g' -i configure || die #615144
+ grep -F -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test
+
+ export CC_FOR_BUILD="$(tc-getBUILD_CC)"
+}
+
+_adjust_sandbox() {
+ # Bugs #569738 and #591214
+ local nv
+ for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do
+ # We do not check for existence as they may show up later
+ # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21
+ addwrite "${nv}"
+ done
+
+ addwrite /dev/dri/ # bugs #574038 and #684886
+ addwrite /dev/ati/ # bug #589198
+ addwrite /proc/mtrr # bug #589198
+}
+
+src_configure() {
+ _adjust_sandbox
+
+ local myconf=(
+ GEGL="${EPREFIX}"/usr/bin/gegl-0.4
+ GDBUS_CODEGEN="${EPREFIX}"/bin/false
+
+ --enable-default-binary
+
+ --disable-check-update
+ --disable-python
+ --enable-mp
+ --with-appdata-test
+ --with-bug-report-url=https://bugs.gentoo.org/
+ --with-xmc
+ --without-libbacktrace
+ --without-webkit
+ --without-xvfb-run
+ $(use_enable cpu_flags_ppc_altivec altivec)
+ $(use_enable cpu_flags_x86_mmx mmx)
+ $(use_enable cpu_flags_x86_sse sse)
+ $(use_enable debug)
+ $(use_enable vector-icons)
+ $(use_with aalib aa)
+ $(use_with alsa)
+ $(use_with !aqua x)
+ $(use_with heif libheif)
+ $(use_with jpeg2k jpeg2000)
+ $(use_with jpegxl)
+ $(use_with mng libmng)
+ $(use_with openexr)
+ $(use_with postscript gs)
+ $(use_with udev gudev)
+ $(use_with unwind libunwind)
+ $(use_with webp)
+ $(use_with wmf)
+ $(use_with xpm libxpm)
+ )
+
+ gnome2_src_configure "${myconf[@]}"
+}
+
+src_compile() {
+ export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004
+ gnome2_src_compile
+}
+
+# for https://bugs.gentoo.org/664938
+_rename_plugins() {
+ einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
+ local prename=gimp-org-
+ (
+ cd "${ED}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die
+ for plugin_slash in $(ls -d1 */); do
+ plugin=${plugin_slash%/}
+ if [[ -f ${plugin}/${plugin} ]]; then
+ # NOTE: Folder and file name need to match for Gimp to load that plug-in
+ # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg"
+ mv ${plugin}/{,${prename}}${plugin} || die
+ mv {,${prename}}${plugin} || die
+ fi
+ done
+ )
+}
+
+src_test() {
+ virtx emake check
+}
+
+src_install() {
+ gnome2_src_install
+
+ # Workaround for bug #321111 to give GIMP the least
+ # precedence on PDF documents by default
+ mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
+
+ find "${ED}" -name '*.la' -type f -delete || die
+
+ # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
+ local gimp_app_version=$(ver_cut 1-2)
+ mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
+
+ # Remove gimp devel-docs html files if user doesn't need it
+ if ! use doc; then
+ rm -r "${ED}"/usr/share/gtk-doc || die
+ fi
+
+ _rename_plugins || die
+}
+
+pkg_postinst() {
+ gnome2_pkg_postinst
+}
+
+pkg_postrm() {
+ gnome2_pkg_postrm
+}
diff --git a/media-gfx/gimp/gimp-2.99.18.ebuild b/media-gfx/gimp/gimp-2.99.18-r1.ebuild
index 48f5c21117db..a206f158550c 100644
--- a/media-gfx/gimp/gimp-2.99.18.ebuild
+++ b/media-gfx/gimp/gimp-2.99.18-r1.ebuild
@@ -16,7 +16,7 @@ SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.xz"
LICENSE="GPL-3+ LGPL-3+"
SLOT="0/3"
-IUSE="X aalib alsa doc gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript python test udev unwind vala vector-icons webp wmf xpm"
+IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript python test udev unwind vala vector-icons webp wmf xpm"
REQUIRED_USE="
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
@@ -57,6 +57,7 @@ COMMON_DEPEND="
>=x11-libs/libXmu-1.1.4
aalib? ( media-libs/aalib )
alsa? ( >=media-libs/alsa-lib-1.0.0 )
+ fits? ( sci-libs/cfitsio )
heif? ( >=media-libs/libheif-1.13.0:= )
javascript? ( dev-libs/gjs )
jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= )
@@ -173,11 +174,13 @@ src_configure() {
-Denable-multiproc=true
-Dappdata-test=disabled
-Dbug-report-url=https://bugs.gentoo.org/
+ -Dilbm=disabled
-Dlibbacktrace=false
-Dwebkit-unmaintained=false
$(meson_feature aalib aa)
$(meson_feature alsa)
$(meson_feature doc gi-docgen)
+ $(meson_feature fits)
$(meson_feature heif)
$(meson_feature javascript)
$(meson_feature jpeg2k jpeg2000)
diff --git a/media-gfx/gimp/gimp-9999.ebuild b/media-gfx/gimp/gimp-9999.ebuild
index 6ed419a59545..122443176973 100644
--- a/media-gfx/gimp/gimp-9999.ebuild
+++ b/media-gfx/gimp/gimp-9999.ebuild
@@ -208,7 +208,7 @@ _rename_plugins() {
einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
local prename=gimp-org-
(
- cd "${ED}"/usr/$(get_libdir)/gimp/2.99/plug-ins || exit 1
+ cd "${ED}"/usr/$(get_libdir)/gimp/3.0/plug-ins || exit 1
for plugin_slash in $(ls -d1 */); do
plugin=${plugin_slash%/}
if [[ -f ${plugin}/${plugin} ]]; then
diff --git a/media-gfx/gimp/metadata.xml b/media-gfx/gimp/metadata.xml
index 7f947b8fb0b5..23efd9862ca5 100644
--- a/media-gfx/gimp/metadata.xml
+++ b/media-gfx/gimp/metadata.xml
@@ -10,6 +10,7 @@
<name>Proxy Maintainers</name>
</maintainer>
<use>
+ <flag name="fits">Enable support for loading/exporting FITS images</flag>
<flag name="vector-icons">Enable support for vector icons (experimental)</flag>
</use>
<upstream>
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..c9482af02943
--- /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/gnome-font-viewer/Manifest b/media-gfx/gnome-font-viewer/Manifest
index a99431d3f46e..8dd47f50c0f8 100644
--- a/media-gfx/gnome-font-viewer/Manifest
+++ b/media-gfx/gnome-font-viewer/Manifest
@@ -1 +1,2 @@
DIST gnome-font-viewer-45.0.tar.xz 300420 BLAKE2B 3cc71c056a1254447a9b0c5e838a8950e0414293b9788373b1de90657e364b55784fcef7749abd4e75e29cc6246b081baab66135276744020695ef1e8952a03f SHA512 94289be78831dbc9be8d73348fd423379ebe691b08cf2547acd2648e0e7b1dafcd6c63ffa2c9ec033786b7b65912187c782bb279cc0fb6227d6ee74c1541701e
+DIST gnome-font-viewer-46.0.tar.xz 304092 BLAKE2B 4128c343d5f139ebae6f342b47ef98c39846ce25561411b0b7821be1f9e985aaea4e9a2fd354328b41972df2771db5383cdc68b21cd6a6987aac24596b2b1d1a SHA512 c97e109c16d59b22afa1b8c9736b99cf687284783691e624e331218d39a5ac509e53555416672bf8967ed8611ac25e7817766f8d5c66ca73cd2309b2405c2ebe
diff --git a/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild b/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild
new file mode 100644
index 000000000000..163cee416bb5
--- /dev/null
+++ b/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit gnome.org meson xdg
+
+DESCRIPTION="Font viewer utility for GNOME"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-font-viewer"
+
+LICENSE="GPL-2+ LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-libs/glib-2.56.0:2
+ >=gui-libs/gtk-4.5.0:4
+ >=gui-libs/libadwaita-1.4_alpha:1
+ >=media-libs/harfbuzz-0.9.9:=
+ media-libs/fontconfig:1.0
+ media-libs/freetype:2
+ gnome-base/gnome-desktop:4=
+ dev-libs/fribidi
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ dev-libs/appstream-glib
+ dev-libs/libxml2:2
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+"
+
+PATCHES=(
+ "${FILESDIR}"/45.0-window-Fix-function-callback-definition.patch
+)
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..1100b2cca2fb
--- /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/graphite2/graphite2-1.3.14_p20210810-r3.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
index 9439faed0363..294ba366f782 100644
--- a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
+++ b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
@@ -5,7 +5,7 @@ EAPI=8
COMMIT=80c52493ef42e6fe605a69dcddd2a691cd8a1380
GENTOO_DEPEND_ON_PERL="no"
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit flag-o-matic perl-module python-any-r1 cmake-multilib
DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest
index 2c366235c70a..956eae36ba7b 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-12.0.0.tar.xz 21279920 BLAKE2B 67d4444dcc31417fd01268b0fdc81538d86e26f961227d106ae57eb3d6d0e4a2e0ba684413a2d1b66f17340e0ad3a244ce5554c180873683e3ad4775f661739d SHA512 b5d4c8e9b565d4268fff28f169e3bfdb9ebf8b809996f7e35887430e5745aeac92c092fe2a9e15b23c9ba3364aa89fe2eeed85ab3fba61acce21634bc9632813
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..40f75c59e1ce
--- /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/graphviz/graphviz-10.0.1.ebuild b/media-gfx/graphviz/graphviz-12.0.0.ebuild
index be0c1a91e64f..3b42788dde34 100644
--- a/media-gfx/graphviz/graphviz-10.0.1.ebuild
+++ b/media-gfx/graphviz/graphviz-12.0.0.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit libtool python-single-r1
DESCRIPTION="Open Source Graph Visualization Software"
diff --git a/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild b/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
index f23d4688e633..c62432895cb6 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"
@@ -58,7 +58,7 @@ BDEPEND="
app-text/djvu[jpeg,tiff]
app-text/poppler[utils]
- app-text/tesseract[-opencl,osd(+),png,tiff]
+ app-text/tesseract[-opencl(-),osd(+),png,tiff]
app-text/unpaper
media-gfx/imagemagick[djvu,jpeg,png,tiff,perl,postscript,truetype]
media-gfx/sane-backends[sane_backends_test]
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/files/boost-1.85-932315.patch b/media-gfx/hugin/files/boost-1.85-932315.patch
new file mode 100644
index 000000000000..e8fc5c2daa1f
--- /dev/null
+++ b/media-gfx/hugin/files/boost-1.85-932315.patch
@@ -0,0 +1,25 @@
+# HG changeset patch
+# User tmodes
+# Date 1710260877 -3600
+# Tue Mar 12 17:27:57 2024 +0100
+# Node ID 4d081490b48aaff820cee7601b8624b37b652c06
+# Parent 4b55f17c4e72d6c2f8b4930e3367ff52e1741b45
+Fixed deprecated boost::filesystem::copy_option enum
+
+diff -r 4b55f17c4e72 -r 4d081490b48a src/hugin_base/hugin_utils/filesystem.h
+--- a/src/hugin_base/hugin_utils/filesystem.h Tue Mar 12 17:27:29 2024 +0100
++++ b/src/hugin_base/hugin_utils/filesystem.h Tue Mar 12 17:27:57 2024 +0100
+@@ -64,6 +64,12 @@
+ #endif
+ #include <boost/filesystem.hpp>
+ namespace fs = boost::filesystem;
+- #define OVERWRITE_EXISTING boost::filesystem::copy_option::overwrite_if_exists
++ #if BOOST_VERSION>=107400
++ // in Boost 1.74 and later filesystem::copy_option is deprecated
++ // use filesystem::copy_options instead
++ #define OVERWRITE_EXISTING boost::filesystem::copy_options::overwrite_existing
++ #else
++ #define OVERWRITE_EXISTING boost::filesystem::copy_option::overwrite_if_exists
++ #endif
+ #endif
+ #endif // _HUGIN_UTILS_FILESYSTEM_H
diff --git a/media-gfx/hugin/hugin-2023.0.0-r1.ebuild b/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
index 093270613d29..40c4d46a93f6 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"
@@ -62,6 +62,9 @@ pkg_setup() {
}
src_prepare() {
+ # Fix build with boost >=1.85
+ eapply "${FILESDIR}/boost-1.85-932315.patch"
+
sed -i \
-e "/COMMAND.*GZIP/d" \
-e "s/\.gz//g" \
diff --git a/media-gfx/hydrus/Manifest b/media-gfx/hydrus/Manifest
index 78d8b5ae805d..c6d9cec6333e 100644
--- a/media-gfx/hydrus/Manifest
+++ b/media-gfx/hydrus/Manifest
@@ -1,3 +1,4 @@
DIST hydrus-3500-mpeg-error.patch 1632 BLAKE2B 9cc969a3a2d476ea606f3f280ecd6e4cc7f628420586e651377945d370a6c50464b118da1c96a577bc55b13bbac946801b9cff251922299f91e4a76dabf7edf9 SHA512 8769d63c7b2a345e1a7bfa0dae200bca03b991ef6a217150e3f50c95f3d1235305242348aa8fabf1183fc3d787498bbead8a96145e4cdd2251f67032469f095c
DIST hydrus-565.tar.gz 46360280 BLAKE2B 7a9492db917b7f7d10fd92c668dff2206111b5734a707ea86e8d3f5c95359126da31e3bd6fdcea64c621527f5a30e608fdf8cd36b7b7b70185a37c3cc7483180 SHA512 442dde4c9e557c162b8a5cc23f22472d8c48d7717513a192875b413a59000897c05b2b050c16ad480cdbb18548485f51b5e8651e44cb2057fc8e6eb1b99e8f26
+DIST hydrus-571.tar.gz 46371027 BLAKE2B b0ca6a4d7fddb79808340c03d6ba6291021af752be95144b8475a12450394f21e76c5fd80a2f6094f21d6f4af25db22f5f8d2eb79fd3494be609d6bdcdb455cb SHA512 3d6b6dec777332128858fcd62f52026fd7a4ab831f7cc0b3a3af76d52b6c6d1ff7b9687554aa5569988386e1eb0b33111172029e25f0acb9f36bb1cd70fcccbc
DIST hydrus-test-fixes.patch 820 BLAKE2B 9d912868142cd3e7763241652e81172236094de6d0cf4df888d7203d34ed37b469c4829401a6e3bda945e3683db9f8e577ef21040cb5d57b0e6c01c2c619655b SHA512 a6a322a77638122fdd1f74ca57c23360aa8d58d97877e9517db9d185c11a8187e807b9478533a97a4654d58342b0541cc7eb89b83075bc4c38ceda0effe06ce0
diff --git a/media-gfx/hydrus/hydrus-565.ebuild b/media-gfx/hydrus/hydrus-565-r1.ebuild
index 1fd94b6ee116..07124a7dd9f9 100644
--- a/media-gfx/hydrus/hydrus-565.ebuild
+++ b/media-gfx/hydrus/hydrus-565-r1.ebuild
@@ -62,7 +62,7 @@ RDEPEND="
dev-python/twisted[${PYTHON_USEDEP}]
dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
- || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyside6] )
+ || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyqt6] )
media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
media-video/ffmpeg
diff --git a/media-gfx/hydrus/hydrus-571.ebuild b/media-gfx/hydrus/hydrus-571.ebuild
new file mode 100644
index 000000000000..07124a7dd9f9
--- /dev/null
+++ b/media-gfx/hydrus/hydrus-571.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="sqlite"
+
+DOCS_BUILDER=mkdocs
+DOCS_DEPEND="dev-python/mkdocs-material dev-python/regex"
+
+inherit python-single-r1 desktop docs optfeature
+
+DESCRIPTION="A booru-like media organizer for the desktop"
+HOMEPAGE="https://hydrusnetwork.github.io/hydrus/ https://github.com/hydrusnetwork/hydrus"
+
+if [[ "${PV}" == "9999" ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/hydrusnetwork/hydrus.git"
+else
+ SRC_URI="
+ https://github.com/hydrusnetwork/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/vaartis/hydrus/commit/5d2505a1eb4721f7750861f7622c46adec31db8b.diff -> hydrus-3500-mpeg-error.patch
+ https://github.com/vaartis/hydrus/commit/dc20196f47ac29568a40cd04a45cf4fc5f237603.diff -> hydrus-test-fixes.patch
+"
+
+ KEYWORDS="~amd64"
+fi
+
+# hydrus itself is WTFPL
+# icons included are CC-BY-2.5
+LICENSE="WTFPL-2 CC-BY-2.5"
+SLOT="0"
+IUSE="test"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RESTRICT="!test? ( test )"
+
+# RDEPEND is sorted as such:
+# Python libraries with no specific requirements
+# Python libraries with specific version, slot, or use requirements
+# Non-python dependencies
+RDEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/cbor2[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/cloudscraper[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},lcms]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/python-mpv[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/send2trash[${PYTHON_USEDEP}]
+ dev-python/service-identity[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+
+ dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
+ || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyqt6] )
+
+ media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
+ media-video/ffmpeg
+ ')
+"
+BDEPEND="
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ test? (
+ dev-python/httmock[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+ ')
+"
+
+PATCHES=(
+ "${FILESDIR}/userpath-in-local-share.patch"
+ "${DISTDIR}/hydrus-3500-mpeg-error.patch"
+ "${DISTDIR}/hydrus-test-fixes.patch"
+)
+
+src_prepare() {
+ default
+
+ # Contains pre-built binaries for other systems and a broken swf renderer for linux
+ rm -r bin/ || die
+ # Python requirements file, not needed
+ rm requirements.txt || die
+ # Remove unneeded additional scripts
+ rm *.command *.sh *.bat || die
+}
+
+src_compile() {
+ python_optimize "${S}"
+ docs_compile
+}
+
+src_test() {
+ # The tests use unittest, but are run with a custom runner script.
+ # QT_QPA_PLATFORM is required to make them run without X
+ local -x QT_QPA_PLATFORM=offscreen
+ "${EPYTHON}" "${S}/hydrus_test.py" || die "Tests failed"
+}
+
+src_install() {
+ local doc="${EPREFIX}/usr/share/doc/${PF}"
+ elog "Hydrus includes an excellent manual, that can either be viewed at"
+ elog "${doc}/html/help/index.html"
+ elog "or accessed through the hydrus help menu."
+
+ mv "help my client will not boot.txt" "help_my_client_will_not_boot.txt" || die
+
+ local DOCS=(COPYING README.md help_my_client_will_not_boot.txt db/)
+ einstalldocs
+
+ # Files only needed for testing
+ rm hydrus_test.py hydrus/hydrus_test_boot.py || die
+ rm -r hydrus/test/ static/testing/ || die
+ # Build files used for CI and development, not actually needed. Has to be deleted after src_compile.
+ # because it contains documentation
+ rm -r static/build_files static/requirements || die
+
+ # ${DOCS[@]} files are copied into doc
+ # ${S}/docs/ is the markdown source code for documentation
+ # .gitignore/.github files aren't needed for the program to work, same with mkdocs files
+ rm -r "${DOCS[@]}" "${S}/docs/" .gitignore .github/ mkdocs.yml mkdocs-gh-pages.yml || die
+ if use doc; then
+ # ${S}/_build = ${DOCS_OUTDIR}/.. , these have already been copied, remove before installation
+ rm -r "${S}/_build" || die
+ # The program expects to find documentation here, so add a symlink to doc
+ dosym "${doc}/html" /opt/hydrus/help
+ fi
+
+ insinto /opt/hydrus
+ doins -r "${S}"/.
+
+ exeinto /usr/bin
+ python_newexe - hydrus-server < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-server" || die)
+ python_newexe - hydrus-client < <(sed "s/python/${EPYTHON}/" "${FILESDIR}/hydrus-client" || die)
+
+ make_desktop_entry "hydrus-client" "Hydrus Client" "/opt/hydrus/static/hydrus_non-transparent.png" \
+ "AudioVideo;FileTools;Graphics;Network;"
+}
+
+pkg_postinst() {
+ optfeature "automatic port forwarding support" "net-libs/miniupnpc"
+ optfeature "memory compression in the client" "dev-python/lz4"
+ optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks"
+ optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]"
+}
diff --git a/media-gfx/img2pdf/Manifest b/media-gfx/img2pdf/Manifest
index 35ac654c914e..73c1d21dd6d9 100644
--- a/media-gfx/img2pdf/Manifest
+++ b/media-gfx/img2pdf/Manifest
@@ -1 +1,2 @@
DIST img2pdf-0.4.4.tar.gz 97796 BLAKE2B d04eae8c02490e4e73339dade92b2521ad410ed741ccc2987961543790589b14a5c8939cb9bbadcc795f5edcbb59a1a43bd522c75948f42dde1acffafb6266e0 SHA512 56943cd965b3e6b0680b7696ca4b5a2ba779474f945dd0d2648fb6f18ab18aab6d74640f9bd8e9c8683e3e641b0657cb84c691054910d84f0c9e8ad733f179e9
+DIST img2pdf-0.5.1.tar.gz 104241 BLAKE2B 1ea89107654c91cea8b5f074c05c7376452dd2ebd40dafaadedb39ac3ee383c3c02c1375b130da73339e1f87eb1a6ffbe0553cdedf6ec997bc0731d1d100327f SHA512 e17a920929f6ab08f501b205c38f9cf2fd5a6bd8d41ac4819a5d7463a3cfbeb5376cd5bbee36ab303248610f1d5c8a71a38ff85b14be564e2f39c6eb537ffcaf
diff --git a/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild b/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild
index eb4877c3bc07..4238d9092f26 100644
--- a/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild
+++ b/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild
@@ -1,10 +1,10 @@
-# 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..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
diff --git a/media-gfx/img2pdf/img2pdf-0.5.1.ebuild b/media-gfx/img2pdf/img2pdf-0.5.1.ebuild
new file mode 100644
index 000000000000..156509f263af
--- /dev/null
+++ b/media-gfx/img2pdf/img2pdf-0.5.1.ebuild
@@ -0,0 +1,71 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Losslessly convert raster images to PDF"
+HOMEPAGE="
+ https://gitlab.mister-muffin.de/josch/img2pdf/
+ https://pypi.org/project/img2pdf/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gui"
+
+BDEPEND="
+ test? (
+ app-text/ghostscript-gpl
+ app-text/mupdf
+ app-text/poppler[cairo,png,tiff]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pdfrw[${PYTHON_USEDEP}]
+ dev-python/pillow[tiff,${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ media-gfx/imagemagick[jpeg,jpeg2k,lcms,png,-q8,-q32,tiff]
+ media-libs/exiftool
+ media-libs/netpbm[jpeg]
+ sys-libs/libfaketime
+ )
+"
+RDEPEND="
+ dev-python/pikepdf[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-libs/icc-profiles-openicc
+ gui? ( $(python_gen_impl_dep tk) )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_python_prepare_all
+
+ # Remove gui executable if there's no demand/support for it.
+ if ! use gui; then
+ sed -i -e '/gui_scripts/d' setup.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # https://gitlab.mister-muffin.de/josch/img2pdf/issues/187
+ src/img2pdf_test.py::test_miff_cmyk8
+ )
+
+ if has_version 'media-gfx/imagemagick[hdri]'; then
+ # https://gitlab.mister-muffin.de/josch/img2pdf/issues/178
+ EPYTEST_DESELECT+=(
+ src/img2pdf_test.py::test_miff_cmyk16
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch
new file mode 100644
index 000000000000..6364c3f88a9e
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch
@@ -0,0 +1,11 @@
+--- a/src/ui/dialog/filter-effects-dialog.cpp
++++ b/src/ui/dialog/filter-effects-dialog.cpp
+@@ -202,7 +202,7 @@
+ template< typename T> class ComboWithTooltip : public Gtk::EventBox
+ {
+ public:
+- ComboWithTooltip<T>(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr)
++ ComboWithTooltip(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr)
+ {
+ if (tip_text) {
+ set_tooltip_text(tip_text);
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch
new file mode 100644
index 000000000000..3c61b1919278
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch
@@ -0,0 +1,91 @@
+From 1798e9c13b786f3d077ba0132592c4d5c1d1fb9b Mon Sep 17 00:00:00 2001
+From: Tavmjong Bah <tavmjong@free.fr>
+Date: Tue, 26 Sep 2023 19:23:27 +0000
+Subject: [PATCH] Up C++ version to C++20.
+
+---
+ CMakeLists.txt | 4 ++--
+ _clang-format | 2 +-
+ src/ui/knot/knot-holder-entity.cpp | 2 +-
+ src/ui/tools/pencil-tool.cpp | 9 ++++++---
+ 4 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fe6b10cda24..de2680bd651 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,9 +18,9 @@ message("Binary Dir: ${CMAKE_CURRENT_BINARY_DIR}")
+ # -----------------------------------------------------------------------------
+ # CMake Configuration
+ # -----------------------------------------------------------------------------
+-set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_STANDARD 20)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+-# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++17 instead of -std=gnu++17
++# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++20 instead of -std=gnu++20
+ # TODO: build currently fails with it as we actually depend on GNU compiler extensions...
+ # mostly use of the non-Standard M_PI et al. TODO: C++20: Use the <numbers> header.
+
+diff --git a/_clang-format b/_clang-format
+index 39396fad65a..48de4d2bd88 100644
+--- a/_clang-format
++++ b/_clang-format
+@@ -103,7 +103,7 @@ SpacesInContainerLiterals: false
+ SpacesInCStyleCastParentheses: false
+ SpacesInParentheses: false
+ SpacesInSquareBrackets: false
+-Standard: c++17
++Standard: c++20
+ StatementMacros: []
+ TypenameMacros: []
+ TabWidth: 4
+diff --git a/src/ui/knot/knot-holder-entity.cpp b/src/ui/knot/knot-holder-entity.cpp
+index 8703f5975f7..add66d2fa29 100644
+--- a/src/ui/knot/knot-holder-entity.cpp
++++ b/src/ui/knot/knot-holder-entity.cpp
+@@ -315,7 +315,7 @@ void PatternKnotHolderEntityScale::knot_set(Geom::Point const &p, Geom::Point co
+ double scale_x = std::clamp(new_extent[X] / _cached_diagonal[X], _cached_min_scale, 1e9);
+ double scale_y = std::clamp(new_extent[Y] / _cached_diagonal[Y], _cached_min_scale, 1e9);
+
+- Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale(lerp(0.5, scale_x, scale_y))
++ Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale((scale_x + scale_y) * 0.5)
+ : Scale(scale_x, scale_y);
+
+ // 2. Calculate offset to keep pattern origin aligned
+diff --git a/src/ui/tools/pencil-tool.cpp b/src/ui/tools/pencil-tool.cpp
+index fd2d08cad0c..7324f7c8515 100644
+--- a/src/ui/tools/pencil-tool.cpp
++++ b/src/ui/tools/pencil-tool.cpp
+@@ -17,7 +17,11 @@
+ * Released under GNU GPL v2+, read the file 'COPYING' for more information.
+ */
+
+-#include <numeric> // For std::accumulate
++#include "pencil-tool.h"
++
++#include <cmath> // std::lerp
++#include <numeric> // std::accumulate
++
+ #include <gdk/gdkkeysyms.h>
+ #include <glibmm/i18n.h>
+
+@@ -26,7 +30,6 @@
+ #include <2geom/sbasis-to-bezier.h>
+ #include <2geom/svg-path-parser.h>
+
+-#include "pencil-tool.h"
+
+ #include "context-fns.h"
+ #include "desktop.h"
+@@ -806,7 +809,7 @@ void PencilTool::_addFreehandPoint(Geom::Point const &p, guint /*state*/, bool l
+ min = max;
+ }
+ double dezoomify_factor = 0.05 * 1000 / _desktop->current_zoom();
+- double const pressure_shrunk = pressure * (max - min) + min; // C++20 -> use std::lerp()
++ double const pressure_shrunk = std::lerp(min, max, pressure);
+ double pressure_computed = std::abs(pressure_shrunk * dezoomify_factor);
+ double pressure_computed_scaled = std::abs(pressure_computed * _desktop->getDocument()->getDocumentScale().inverse()[Geom::X]);
+ if (p != p_array[_npoints - 1]) {
+--
+GitLab
+
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch
new file mode 100644
index 000000000000..bb2764032c44
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch
@@ -0,0 +1,64 @@
+From 96ca7a6c215aa14336b52753f56244dc8796ec43 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <mail@heiko-becker.de>
+Date: Fri, 3 May 2024 14:52:00 +0200
+Subject: [PATCH] Fix build with poppler >= 24.05.0
+
+GooString::hasUnicodeMarkerLE and GooString::hasUnicodeMarker were
+rename and moved to UTF.h [1][2]
+
+[1] https://gitlab.freedesktop.org/poppler/poppler/-/commit/98fabb298b0e8eaef9193bbce68c99c85473a314
+[2] https://gitlab.freedesktop.org/poppler/poppler/-/commit/1f06dca08c32ed18c3030530d98a0e30d41dd7a2
+---
+ src/extension/internal/pdfinput/poppler-transition-api.h | 9 +++++++++
+ src/extension/internal/pdfinput/poppler-utils.cpp | 6 ++++--
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
+index 58aa1ec921d..481aefadf46 100644
+--- a/src/extension/internal/pdfinput/poppler-transition-api.h
++++ b/src/extension/internal/pdfinput/poppler-transition-api.h
+@@ -13,6 +13,15 @@
+ #define SEEN_POPPLER_TRANSITION_API_H
+
+ #include <glib/poppler-features.h>
++#include <poppler/UTF.h>
++
++#if POPPLER_CHECK_VERSION(24, 5, 0)
++#define _POPPLER_HAS_UNICODE_BOM(value) (hasUnicodeByteOrderMark(value->toStr()))
++#define _POPPLER_HAS_UNICODE_BOMLE(value) (hasUnicodeByteOrderMarkLE(value->toStr()))
++#else
++#define _POPPLER_HAS_UNICODE_BOM(value) (value->hasUnicodeMarker())
++#define _POPPLER_HAS_UNICODE_BOMLE(value) (value->hasUnicodeMarkerLE())
++#endif
+
+ #if POPPLER_CHECK_VERSION(24, 3, 0)
+ #define _POPPLER_FUNCTION_TYPE_SAMPLED Function::Type::Sampled
+diff --git a/src/extension/internal/pdfinput/poppler-utils.cpp b/src/extension/internal/pdfinput/poppler-utils.cpp
+index 78d90c66c9d..c02815f64b9 100644
+--- a/src/extension/internal/pdfinput/poppler-utils.cpp
++++ b/src/extension/internal/pdfinput/poppler-utils.cpp
+@@ -12,6 +12,8 @@
+
+ #include "poppler-utils.h"
+
++#include <poppler/UTF.h>
++
+ #include "2geom/affine.h"
+ #include "GfxFont.h"
+ #include "GfxState.h"
+@@ -563,10 +565,10 @@ std::string getDictString(Dict *dict, const char *key)
+ */
+ std::string getString(const GooString *value)
+ {
+- if (value->hasUnicodeMarker()) {
++ if (_POPPLER_HAS_UNICODE_BOM(value)) {
+ return g_convert(value->getCString () + 2, value->getLength () - 2,
+ "UTF-8", "UTF-16BE", NULL, NULL, NULL);
+- } else if (value->hasUnicodeMarkerLE()) {
++ } else if (_POPPLER_HAS_UNICODE_BOMLE(value)) {
+ return g_convert(value->getCString () + 2, value->getLength () - 2,
+ "UTF-8", "UTF-16LE", NULL, NULL, NULL);
+ }
+--
+GitLab
+
diff --git a/media-gfx/inkscape/inkscape-1.3.2-r1.ebuild b/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild
index 305c099e01eb..a47b5b9d4390 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}]
@@ -111,6 +112,9 @@ DEPEND="${COMMON_DEPEND}
PATCHES=(
"${FILESDIR}"/${P}-libxml2-2.12.patch
"${FILESDIR}"/${P}-poppler-24.03.patch
+ "${FILESDIR}"/${P}-poppler-24.05.patch # bug 931917
+ "${FILESDIR}"/${P}-cxx20.patch # bug 931917
+ "${FILESDIR}"/${P}-cxx20-2.patch # bug 933216
)
pkg_pretend() {
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/jp2a/Manifest b/media-gfx/jp2a/Manifest
index ee52e4002079..1ba4dcd9f1d3 100644
--- a/media-gfx/jp2a/Manifest
+++ b/media-gfx/jp2a/Manifest
@@ -1 +1,2 @@
DIST jp2a-1.1.1.tar.bz2 525678 BLAKE2B 82e4717acb27596ca789681d288767cd602207b56e4f4afbffe5a1a107d67e0bc2b61dadd3769963eff34d3d8a1546741a069cfa7dfe40c9d3486cac6ccb29d6 SHA512 92234100e43c542f468ce586fb1c3f975c2492b80062ea5871f0eb02351b26b7f56bd5567d4d2e3bcec1ea66ebae22623d7d973c3bc794dd99c819efcae983cd
+DIST jp2a-1.2.0.tar.bz2 444270 BLAKE2B 819101f7df242b869de0e91b6b6fd6c7d6f7d4bfb1f69a5b0477c9d34a08a46d9f05ad79926b66c2b0fe2ad785a340250bf1493ea8832bf7e40a621cb6b6afa2 SHA512 3f523e0c369b77323d512ff14944c70011280bf75b99e9b1abc0dcfefa706bf56bf0b6bed46c78194bd22c2b98dded65c551777dc75f5f217ebb6513d0a56d60
diff --git a/media-gfx/jp2a/jp2a-1.2.0.ebuild b/media-gfx/jp2a/jp2a-1.2.0.ebuild
new file mode 100644
index 000000000000..e3915d86ca7b
--- /dev/null
+++ b/media-gfx/jp2a/jp2a-1.2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="JPEG/PNG image to ASCII art converter"
+HOMEPAGE="https://github.com/Talinx/jp2a/"
+SRC_URI="https://github.com/Talinx/jp2a/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="curl"
+
+# TODO: restore ncurses support?
+# See https://github.com/gentoo/gentoo/pull/24218#issuecomment-1043795319
+RDEPEND="media-libs/libjpeg-turbo:=
+ media-libs/libpng
+ curl? ( net-misc/curl )"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf $(use_enable curl)
+}
diff --git a/media-gfx/jpeginfo/Manifest b/media-gfx/jpeginfo/Manifest
index 5f4cc5abda64..d0cd10cf2b36 100644
--- a/media-gfx/jpeginfo/Manifest
+++ b/media-gfx/jpeginfo/Manifest
@@ -1 +1,2 @@
DIST jpeginfo-1.6.1.tar.gz 64856 BLAKE2B 5d9748a4af26087e45f2ae3fa709bb2099547f22aaeaf1fde529d92d633b1bc665dfde301a9ecaf4a8e4fa190ef637126d6f4ee43118bb31f5782a402d4a08d1 SHA512 9cc9367b8b3e38ba46bff9477b8f61e63b55bd41a67ea2895cca9c097abba2a7a3ae068c235ecfea72c99af52bba91cbb1eb92feb019ba4eb08e826a7083c68b
+DIST jpeginfo-1.7.1.tar.gz 448213 BLAKE2B 4fa8a875a14b85b6b04bb8cd436dd5b6f68867ad10324ca56da24d247c46b6051fa566ac5f13c469cf90ffcdbc3f16bf6296cdda3f3c794e0986468971b5f31b SHA512 16c670b4f7eb2355fa2e1a665225d45bc135021565b4a950f8193bd0dbc1f55eed7af4e37ca71ea7df325aeb0c13ee52b0cc71e71b06ed39b013cc3377eca63b
diff --git a/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild b/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild
new file mode 100644
index 000000000000..8ff1d8261abe
--- /dev/null
+++ b/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Prints information and tests integrity of JPEG/JFIF files"
+HOMEPAGE="https://www.kokkonen.net/tjko/projects.html"
+SRC_URI="https://www.kokkonen.net/tjko/src/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="media-libs/libjpeg-turbo:="
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ # Clang 16
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+ econf
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ dodoc README
+}
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/Manifest b/media-gfx/krita/Manifest
index a0de04766714..a82d45e70405 100644
--- a/media-gfx/krita/Manifest
+++ b/media-gfx/krita/Manifest
@@ -1,2 +1,3 @@
DIST krita-5.1.5-exiv2-0.28.patch.xz 4664 BLAKE2B e364325be3d8e40e293a7d268136be3737ce5d2b9b5607f140b30ba3e687dc8d86545f4463348587711150f1652b521f87efc859a1bf2bc3b5ed704cf3236781 SHA512 130ba9cce7d6c0138f7ef6dab1445816c2e29752aa16643c32a7d9c00d7a156ac88f01afdb782ab03fc1e0822660a070f74c02e7cde4dfbcec30baaf3c3dba7f
DIST krita-5.1.5.tar.xz 184981952 BLAKE2B 3d8d26849d8508dc040fb3ac5ab4d0ce724f670bf7d5782b37702b55afe5063543e6aa564a1c9326c90fb16f7905941e3f1ffd4296efd6f8a1c7cb34c0b41716 SHA512 b745eb9f51bb08df0948d6b97b85aee6a74b496df3e8423fb9107d79551daadb21960b4bb5c438348f662c67d0ec5b2fa6da18cfa5feb418659881cddd24d8f1
+DIST krita-5.2.3.tar.xz 186685456 BLAKE2B 42943e7ebffdb46b9da085b2069701895e37ad9c457273b9217a095f1dfdf15c715cde0b88d440abb2d73dee656730da38844f11f27022885f87bb9cc9adab26 SHA512 69a0477e3119765dd53e0502fe5a64fcdc921dfcba3ddc5dec5c1bc4342a77b172b38276f134cc56f79741e6c47b51ef51786aadf0d178ce3955e24a9fd27b74
diff --git a/media-gfx/krita/files/krita-5.2.2-fftw.patch b/media-gfx/krita/files/krita-5.2.2-fftw.patch
new file mode 100644
index 000000000000..b805be6a21c6
--- /dev/null
+++ b/media-gfx/krita/files/krita-5.2.2-fftw.patch
@@ -0,0 +1,18 @@
+Disable the cmake find_package method. It will instead fallback to use pkgconfig.
+Without this, it will fail to find fftw3 and error out.
+
+--- a/cmake/modules/FindFFTW3.cmake 2023-11-24 19:59:45.904059240 +0100
++++ b/cmake/modules/FindFFTW3.cmake 2023-11-24 20:00:17.029563107 +0100
+@@ -74,9 +74,9 @@
+ endforeach()
+ mark_as_advanced(PKG_FFTW_CONFIG_DIR)
+
+-find_package(FFTW3 QUIET NO_MODULE
+- HINTS ${PKG_FFTW_CONFIG_DIR} /usr/lib/cmake/fftw3 /usr/local/lib/cmake/fftw3
+-)
++#find_package(FFTW3 QUIET NO_MODULE
++# HINTS ${PKG_FFTW_CONFIG_DIR} /usr/lib/cmake/fftw3 /usr/local/lib/cmake/fftw3
++#)
+ mark_as_advanced(FFTW3_DIR)
+
+ # if we found the FFTW3 CMake package then we can start
diff --git a/media-gfx/krita/files/krita-5.2.3-tests-optional.patch b/media-gfx/krita/files/krita-5.2.3-tests-optional.patch
new file mode 100644
index 000000000000..48d9e314a295
--- /dev/null
+++ b/media-gfx/krita/files/krita-5.2.3-tests-optional.patch
@@ -0,0 +1,90 @@
+From 2e9369281d44a2701ac7364568d381cca0d92ec5 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 12 Jul 2020 18:55:31 +0200
+Subject: [PATCH] KritaAddBrokenUnitTest.cmake, MacroKritaAddBenchmark.cmake:
+ Skip ecm_add_test early if Qt5::Test is not available
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ cmake/modules/KritaAddBrokenUnitTest.cmake | 4 ++++
+ cmake/modules/MacroKritaAddBenchmark.cmake | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/cmake/modules/KritaAddBrokenUnitTest.cmake b/cmake/modules/KritaAddBrokenUnitTest.cmake
+index b7d0e8d852..901a0a1f99 100644
+--- a/cmake/modules/KritaAddBrokenUnitTest.cmake
++++ b/cmake/modules/KritaAddBrokenUnitTest.cmake
+@@ -23,6 +23,10 @@ function(KRITA_ADD_BROKEN_UNIT_TEST)
+ message(FATAL_ERROR "ecm_add_test() called with multiple source files but without setting \"TEST_NAME\"")
+ endif()
+
++ if(NOT TARGET Qt5::Test)
++ return()
++ endif()
++
+ set(_testname ${ARG_NAME_PREFIX}${_targetname})
+
+ # add test to the global list of disabled tests
+diff --git a/cmake/modules/MacroKritaAddBenchmark.cmake b/cmake/modules/MacroKritaAddBenchmark.cmake
+index c748d8e319..f804d9b8f4 100644
+--- a/cmake/modules/MacroKritaAddBenchmark.cmake
++++ b/cmake/modules/MacroKritaAddBenchmark.cmake
+@@ -23,6 +23,10 @@ macro (KRITA_ADD_BENCHMARK _test_NAME)
+ set(_nogui "NOGUI")
+ endif()
+
++ if(NOT TARGET Qt5::Test)
++ return()
++ endif()
++
+ add_executable( ${_test_NAME} ${_srcList} )
+ ecm_mark_as_test(${_test_NAME})
+
+--
+2.27.0
+
+From 3c9fe10e25e94bdb1eb5e7b07ac2696635fdc5a3 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Wed, 17 Jun 2020 20:18:28 +0200
+Subject: [PATCH] Don't build tests when testing not requested
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+
+diff --git a/libs/flake/CMakeLists.txt b/libs/flake/CMakeLists.txt
+index cbdac265d2..1a50c1620a 100644
+--- a/libs/flake/CMakeLists.txt
++++ b/libs/flake/CMakeLists.txt
+@@ -9,8 +9,10 @@ include_directories(
+ )
+
+ add_subdirectory(styles)
+-add_subdirectory(tests)
+-add_subdirectory(resources/tests)
++if(BUILD_TESTING)
++ add_subdirectory(tests)
++ add_subdirectory(resources/tests)
++endif()
+
+ set(kritaflake_SRCS
+ KoGradientHelper.cpp
+diff --git a/libs/image/tiles3/CMakeLists.txt b/libs/image/tiles3/CMakeLists.txt
+index 88c0516360..01f2383ddb 100644
+--- a/libs/image/tiles3/CMakeLists.txt
++++ b/libs/image/tiles3/CMakeLists.txt
+@@ -1 +1,3 @@
+-add_subdirectory(tests)
++if(BUILD_TESTING)
++ add_subdirectory(tests)
++endif()
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1246,7 +1246,9 @@
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
++if(BUILD_TESTING)
+ add_subdirectory(sdk/tests)
++endif()
+
+ add_subdirectory(libs)
+ add_subdirectory(plugins)
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/krita/krita-5.2.3.ebuild b/media-gfx/krita/krita-5.2.3.ebuild
new file mode 100644
index 000000000000..c95734e0ad9a
--- /dev/null
+++ b/media-gfx/krita/krita-5.2.3.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+PYTHON_COMPAT=( python3_{10..12} )
+KFMIN=5.115.0
+QTMIN=5.15.12
+inherit ecm kde.org python-single-r1
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~riscv"
+fi
+
+DESCRIPTION="Free digital painting application. Digital Painting, Creative Freedom!"
+HOMEPAGE="https://apps.kde.org/krita/ https://krita.org/en/"
+
+LICENSE="GPL-3"
+SLOT="5"
+IUSE="color-management fftw gif +gsl heif jpeg2k jpegxl +mypaint-brush-engine openexr pdf media +raw +xsimd webp"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# bug 630508
+RESTRICT="test"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-libs/boost:=
+ dev-libs/libunibreak:=
+ dev-libs/quazip:0=[qt5(+)]
+ $(python_gen_cond_dep '
+ dev-python/PyQt5[declarative,gui,widgets,${PYTHON_USEDEP}]
+ dev-python/sip:=[${PYTHON_USEDEP}]
+ ')
+ >=dev-qt/qtconcurrent-${QTMIN}:5
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5=[-gles2-only]
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtprintsupport-${QTMIN}:5
+ >=dev-qt/qtsql-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/kcompletion-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kitemmodels-${KFMIN}:5
+ >=kde-frameworks/kitemviews-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ media-gfx/exiv2:=
+ media-libs/lcms
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXi
+ color-management? ( >=media-libs/opencolorio-2.0.0 )
+ fftw? ( sci-libs/fftw:3.0= )
+ gif? ( media-libs/giflib )
+ gsl? ( sci-libs/gsl:= )
+ jpeg2k? ( media-libs/openjpeg:= )
+ jpegxl? ( >=media-libs/libjxl-0.7.0_pre20220825:= )
+ heif? ( >=media-libs/libheif-1.11:=[x265] )
+ media? ( media-libs/mlt:= )
+ mypaint-brush-engine? ( media-libs/libmypaint:= )
+ openexr? ( media-libs/openexr:= )
+ pdf? ( app-text/poppler[qt5] )
+ raw? ( kde-apps/libkdcraw:5 )
+ webp? ( >=media-libs/libwebp-1.2.0:= )
+ xsimd? ( >=dev-cpp/xsimd-13.0.0 )
+
+"
+DEPEND="${RDEPEND}
+ dev-libs/immer
+ dev-libs/lager
+ dev-libs/zug
+"
+BDEPEND="
+ dev-cpp/eigen:3
+ dev-lang/perl
+ sys-devel/gettext
+"
+
+PATCHES=(
+ # downstream
+ "${FILESDIR}"/${P}-tests-optional.patch
+ "${FILESDIR}"/${PN}-5.2.2-fftw.patch # bug 913518
+ # git master
+ "${FILESDIR}"/${PN}-5.1.5-sip-6.8.patch # bug 919139
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ ecm_pkg_setup
+}
+
+src_configure() {
+ # Prevent sandbox violation from FindPyQt5.py module
+ # See Gentoo-bug 655918
+ addpredict /dev/dri
+
+ local mycmakeargs=(
+ -DENABLE_UPDATERS=OFF
+ -DKRITA_ENABLE_PCH=OFF # big mess.
+ -DCMAKE_DISABLE_FIND_PACKAGE_KSeExpr=ON # not packaged
+ $(cmake_use_find_package color-management OpenColorIO)
+ $(cmake_use_find_package fftw FFTW3)
+ $(cmake_use_find_package gif GIF)
+ $(cmake_use_find_package gsl GSL)
+ $(cmake_use_find_package heif HEIF)
+ $(cmake_use_find_package jpeg2k OpenJPEG)
+ $(cmake_use_find_package jpegxl JPEGXL)
+ $(cmake_use_find_package media Mlt7)
+ $(cmake_use_find_package mypaint-brush-engine LibMyPaint)
+ $(cmake_use_find_package openexr OpenEXR)
+ $(cmake_use_find_package pdf Poppler)
+ $(cmake_use_find_package raw KF5KDcraw)
+ $(cmake_use_find_package webp WebP)
+ $(cmake_use_find_package xsimd xsimd)
+ )
+
+ ecm_src_configure
+}
diff --git a/media-gfx/krita/metadata.xml b/media-gfx/krita/metadata.xml
index ff6c095b3acd..c586507e3736 100644
--- a/media-gfx/krita/metadata.xml
+++ b/media-gfx/krita/metadata.xml
@@ -10,7 +10,9 @@
</upstream>
<use>
<flag name="color-management">Enable color management via <pkg>media-libs/opencolorio</pkg></flag>
+ <flag name="media">Enable sound support for animations via <pkg>media-libs/mlt</pkg></flag>
<flag name="mypaint-brush-engine">Enable MyPaint brush engine support <pkg>media-libs/libmypaint</pkg></flag>
<flag name="qtmedia">Enable sound support for animations via <pkg>dev-qt/qtmultimedia</pkg></flag>
+ <flag name="xsimd">Enable usage of SIMD instructions via <pkg>dev-cpp/xsimd</pkg></flag>
</use>
</pkgmetadata>
diff --git a/media-gfx/libbgcode/Manifest b/media-gfx/libbgcode/Manifest
index 363dcfc43d1d..d4546905b98a 100644
--- a/media-gfx/libbgcode/Manifest
+++ b/media-gfx/libbgcode/Manifest
@@ -1 +1,2 @@
DIST libbgcode-0.0.20240328.tar.gz 456463 BLAKE2B 7b9995e94d8f5081723ef435ef9bfe5ca75fbd09d2a8f5e6ff786fb5c4c9d6079a7f5a0b0d537b3b8a044c7126258e31ac411ef6a5aff287bf490672257506ee SHA512 13d5fe20b1faee5068a3c385041a680de5cdcec7fc34bc3f28c52bdab4d6b9e6170ad5ce5bb78399e956fc7f3fb5409e8e4adf0ff4850be686b3caf4d76ee3aa
+DIST libbgcode-0.0.20240704.tar.gz 456516 BLAKE2B 26f0a6f01a937da0fc4e4a4db715759967eb235f004daa9140841d7b0040a04dc86627c07265f5eb0cb7b34a9c6b43ec97ee1c59b53319ab95a9f3cb965fe906 SHA512 ed45cad28b15f5ac4b2cc340159f591c2cfb2560e8fa96f67bb122a2f7337a2fd67e632550fae8c07b36aad523ebe91334776f132291c4f84ff63d0f4a3b583e
diff --git a/media-gfx/libbgcode/libbgcode-0.0.20240704.ebuild b/media-gfx/libbgcode/libbgcode-0.0.20240704.ebuild
new file mode 100644
index 000000000000..8338365c1a3c
--- /dev/null
+++ b/media-gfx/libbgcode/libbgcode-0.0.20240704.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+LIBBGCODE_COMMIT=dcb8f7b6d91f1d490022083be09a76dc2bc9c51f
+
+DESCRIPTION="Prusa Block & Binary G-code reader / writer / converter"
+HOMEPAGE="https://github.com/prusa3d/libbgcode"
+SRC_URI="https://github.com/prusa3d/libbgcode/archive/${LIBBGCODE_COMMIT}.tar.gz -> ${P}.tar.gz"
+
+S="${WORKDIR}/${PN}-${LIBBGCODE_COMMIT}"
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/heatshrink-0.4.1
+ >=sys-libs/zlib-1.0
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ test? ( =dev-cpp/catch-2*:0 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DLibBGCode_BUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/media-gfx/librecad/Manifest b/media-gfx/librecad/Manifest
index 293932e7bd13..a19d2a8beb34 100644
--- a/media-gfx/librecad/Manifest
+++ b/media-gfx/librecad/Manifest
@@ -1,3 +1,4 @@
DIST librecad-2.1.3.tar.gz 22415288 BLAKE2B fb920113a7e4b2e9e7e3425f77364c36f6be676a3cd109798786b06d31698fd11437bc7f50cb843ca02d761730e83db7fde475d1bce6a65336a845b5b0114918 SHA512 246cffcc1ea3389997b4a738ab5e3d78e8c1096817ecb1ca28f38d601bc5d1a95f60798ac82308914a34da7b5dbc302b8363cf8b58a97221fdc8ee63010adc6c
+DIST librecad-2.2.0.2.tar.gz 13645528 BLAKE2B 43a9ada4d6fe8c0cb96dc1003a9e7aa3b4d21619ce9776de1e6d273dd884f2313f9e90abed9cadcd44aaac2131bb62ffb0105bc0d8a097513ac42b9886107021 SHA512 054c6e6cf35a30099e71dd022574864c42d99db8bfa73b544113573723f8e6db2c92f9b7a827b947528f8ad9c743bca73a77a81bc50a9dc66f290480bb38db05
DIST librecad-2.2.0.tar.gz 13837301 BLAKE2B ede9181b6805455d10773b70a8262ffb5a1c48f353dbfd1b80f705ba3194be700e9a486cdf528c4e8015b327a75a29c81b832186024d48229a6cc5fd9ca2dc12 SHA512 df33eac311b5232d6fc0480be1b1c9d257a33ba22f9b7897af4c1761978c87c07a962ae3ea37e8728661a788152157fc621aae65d60d44ae37b2028919cc96a2
DIST librecad-gentoo-CVE-patches-2.1.3.tar.gz 11687 BLAKE2B 4676fa60033e6d0ace35bbebfae569366a50ec46c2dc5b90bace9564e1f6c2020f733f63981788b6f5288fb0c57760215e7b35f294656c21787ebdefa8447fa0 SHA512 b485b41ab1d6eb61750c11a9b327fc70d28cd0cf689b3cd815b4982d3d800737f402522d9c3d416f1e43422166e7de4f97055de238cc2fe80cc45f11fa3377e6
diff --git a/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch b/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch
new file mode 100644
index 000000000000..3caec03b011a
--- /dev/null
+++ b/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch
@@ -0,0 +1,29 @@
+The patch is borrowed from upstream https://github.com/LibreCAD/LibreCAD
+
+https://github.com/LibreCAD/LibreCAD/commit/6e0f1556bbd554e528295f92597a80a109344607
+
+https://bugs.gentoo.org/919822
+
+commit 6e0f1556bbd554e528295f92597a80a109344607
+Author: Denis Pronin <dannftk@yandex.ru>
+Date: Sun Jun 2 22:23:11 2024 +0300
+
+ fix compilation with clang and llvm's libcxx
+
+ librecad/src/lib/debug/rs_debug.h requires cstdio to be included because of FILE
+ type being used
+
+ Signed-off-by: Denis Pronin <dannftk@yandex.ru>
+
+diff --git a/librecad/src/lib/debug/rs_debug.h b/librecad/src/lib/debug/rs_debug.h
+index 23918574..8950efcc 100644
+--- a/librecad/src/lib/debug/rs_debug.h
++++ b/librecad/src/lib/debug/rs_debug.h
+@@ -28,6 +28,7 @@
+ #ifndef RS_DEBUG_H
+ #define RS_DEBUG_H
+
++#include <cstdio>
+ #include <iosfwd>
+ #ifdef __hpux
+ #include <sys/_size_t.h>
diff --git a/media-gfx/librecad/librecad-2.2.0.2.ebuild b/media-gfx/librecad/librecad-2.2.0.2.ebuild
new file mode 100644
index 000000000000..6da50e9fe6f7
--- /dev/null
+++ b/media-gfx/librecad/librecad-2.2.0.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PLOCALES="ar ca cs da de el en en_au es es_ar es_bo es_cl es_co es_cr es_do es_ec es_gt es_hn es_mx es_ni es_pa es_pe es_pr es_py es_sv es_us es_uy es_ve et eu fi fr gl hi hu id_ID it ja ko lv mk nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sv ta tr uk zh_cn zh_tw"
+
+inherit desktop edo plocale qmake-utils
+
+DESCRIPTION="Generic 2D CAD program"
+HOMEPAGE="https://www.librecad.org/"
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/LibreCAD/LibreCAD.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/LibreCAD/LibreCAD/archive/${PV/_/}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/LibreCAD-${PV}"
+ KEYWORDS="~amd64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug doc tools"
+
+RDEPEND="
+ dev-cpp/muParser
+ dev-libs/boost:=
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ media-libs/freetype:2
+"
+DEPEND="${RDEPEND}
+ dev-qt/qthelp:5
+ dev-qt/qtxml:5
+"
+BDEPEND="
+ dev-qt/linguist-tools:5
+"
+
+src_prepare() {
+ default
+
+ # Stock script doesn't work correctly on gentoo (see bug #847394)
+ # and also it compiles all translations regardles of selected locales.
+ # To avoid this just comment out locale building and do it manually
+ sed -i -e '/LRELEASE/s!^!# !' scripts/postprocess-unix.sh || die
+
+ plocale_find_changes 'librecad/ts' 'librecad_' '.ts'
+}
+
+src_configure() {
+ eqmake5 -r
+}
+
+src_compile() {
+ default
+
+ build_locale() {
+ local lrelease="$(qt5_get_bindir)/lrelease"
+ edo "${lrelease}" "librecad/ts/librecad_${1}.ts" \
+ -qm "unix/resources/qm/librecad_${1}.qm"
+ edo "${lrelease}" "plugins/ts/plugins_${1}.ts" \
+ -qm "unix/resources/qm/plugins_${1}.qm"
+ }
+
+ plocale_for_each_locale build_locale
+ # We want the en locale to be always present. Otherwise it could
+ # be impossible to select the English command set which is quite crucial.
+ has en $(plocale_get_locales) || build_locale en
+}
+
+src_install() {
+ dobin unix/librecad
+ use tools && dobin unix/ttf2lff
+ insinto /usr/share/${PN}
+ doins -r unix/resources/*
+ use doc && docinto html && dodoc -r librecad/support/doc/*
+ insinto /usr/share/metainfo
+ doins unix/appdata/org.librecad.librecad.appdata.xml
+ doicon librecad/res/main/${PN}.png
+ make_desktop_entry ${PN} LibreCAD ${PN} Graphics
+}
diff --git a/media-gfx/librecad/librecad-2.2.0.ebuild b/media-gfx/librecad/librecad-2.2.0.ebuild
index 092799ec110b..f86b8253e177 100644
--- a/media-gfx/librecad/librecad-2.2.0.ebuild
+++ b/media-gfx/librecad/librecad-2.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -40,6 +40,10 @@ BDEPEND="
dev-qt/linguist-tools:5
"
+PATCHES=(
+ "${FILESDIR}/${P}-fix-missing-header.patch"
+)
+
src_prepare() {
default
diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-boost-1.85.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-boost-1.85.patch
new file mode 100644
index 000000000000..7a49dc80b66b
--- /dev/null
+++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-boost-1.85.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/932335
+https://github.com/LuminanceHDR/LuminanceHDR/issues/283#issuecomment-2132239165
+--- a/src/Libpfs/manip/resize.hxx
++++ b/src/Libpfs/manip/resize.hxx
+@@ -23,6 +23,7 @@
+ #define PFS_RESIZE_HXX
+
+ #include <boost/math/constants/constants.hpp>
++#include <boost/numeric/conversion/bounds.hpp>
+ #include "copy.h"
+ #include "resize.h"
+ #include "../../sleef.c"
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..654ceee61524 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"
@@ -52,6 +52,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.6.0-no-git.patch
"${FILESDIR}"/${PN}-2.6.0-docs.patch
"${FILESDIR}"/${PN}-2.5.1-openmp-automagic.patch
+ "${FILESDIR}"/${PN}-2.6.1.1-boost-1.85.patch
# patch by ArchLinux
"${FILESDIR}"/${P}-exiv2-0.28.patch
)
diff --git a/media-gfx/lximage-qt/Manifest b/media-gfx/lximage-qt/Manifest
index 1fc5b47bfacd..91b1d05bf5f2 100644
--- a/media-gfx/lximage-qt/Manifest
+++ b/media-gfx/lximage-qt/Manifest
@@ -1,2 +1,2 @@
-DIST lximage-qt-1.3.0.tar.xz 838632 BLAKE2B eceee2fcdd6eae2360c8c7d27417d4e165520155050dae6c0fadfa22184634372582ac52c6233924b54b9d94e814967eb0abdd8ee3e7c719cdfde85840b51400 SHA512 c3fc8e24f78a9cd65736ba1af07b7fd5ba241eab233a595f7b05982d64a0a7a88d81c60eafea632779faa44f76cdb3bb501d2dc3b3758e3f6256fe2da10c37ac
DIST lximage-qt-1.4.0.tar.xz 841028 BLAKE2B d5f76bfe9763807e8e836de43ff433a1553cea0858b61e76411017ee239fbec6dfd9d3776322b60da6ad8b6b9b1b30c6a02a8c494b62eef440f4d8c5ab9e7143 SHA512 c0dea9418890745de685c7df228ceb849fa21781764c2089481bea89526842e5e8f0972e032ba9c52b07c32202ed284d977f47ace598c44880dff661d76cd125
+DIST lximage-qt-2.0.1.tar.xz 848348 BLAKE2B d2484baffaae220436ae157dccda86e126b416101f047133f494cb44d9c3bba007ce797c1aa88d21ba4b242abdf8cacf73706831570943e4d7a36eb02591fc7b SHA512 594e86a4bedf3f9689107d79d852ba1ef4db83f06572b8c077ed5850dc10cc05a33fe79a0c05632f7e7541a6f895919b72c264635306f7a468eac6ecde531ba4
diff --git a/media-gfx/lximage-qt/lximage-qt-1.3.0.ebuild b/media-gfx/lximage-qt/lximage-qt-2.0.1.ebuild
index 38f748262166..d369079f6c01 100644
--- a/media-gfx/lximage-qt/lximage-qt-1.3.0.ebuild
+++ b/media-gfx/lximage-qt/lximage-qt-2.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,32 +10,26 @@ inherit cmake xdg-utils
DESCRIPTION="Qt Image Viewer"
HOMEPAGE="https://lxqt-project.org/"
-if [[ ${PV} = *9999* ]]; then
+if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
else
SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+ KEYWORDS="~amd64 ~arm64 ~riscv"
fi
LICENSE="GPL-2 GPL-2+"
SLOT="0"
BDEPEND="
- >=dev-qt/linguist-tools-5.15:5
- >=dev-util/lxqt-build-tools-0.13.0
+ >=dev-qt/qttools-6.6:6[linguist]
+ >=dev-util/lxqt-build-tools-2.0.0
virtual/pkgconfig
"
DEPEND="
dev-libs/glib:2
- >=dev-qt/qtcore-5.15:5
- >=dev-qt/qtdbus-5.15:5
- >=dev-qt/qtgui-5.15:5
- >=dev-qt/qtnetwork-5.15:5
- >=dev-qt/qtprintsupport-5.15:5
- >=dev-qt/qtsvg-5.15:5
- >=dev-qt/qtwidgets-5.15:5
- >=dev-qt/qtx11extras-5.15:5
+ >=dev-qt/qtbase-6.6:6[dbus,gui,network,widgets]
+ >=dev-qt/qtsvg-6.6:6
media-libs/libexif
=x11-libs/libfm-qt-${MY_PV}*:=
x11-libs/libX11
diff --git a/media-gfx/maim/Manifest b/media-gfx/maim/Manifest
index 7ac309105d41..a3ee3b49f9b7 100644
--- a/media-gfx/maim/Manifest
+++ b/media-gfx/maim/Manifest
@@ -1,2 +1 @@
-DIST maim-5.7.4.tar.gz 41663 BLAKE2B beb6cb327ae0cf022a90c095bf56b307870d3d7bd281f0e060d9cf7d49ba604cf4cbdfd9270b0e185295f0e3d2a151fbb8ba69398034145a08fc2721cc93740e SHA512 f91ba00e436514d2d0eecc664c02dd45c53750045b5bc4abbc2cfbf64159085e83736e820c54fa819b4d82b0905a3cfe76a5227db49dd54238f655fd4899cd6c
DIST maim-5.8.0.tar.gz 42224 BLAKE2B 572743db1d59d802ed7eb7e259a5cb4a4d2147d95169bbb40adf6d36b849562e8f1756b082bc076bc46d2449827ac3b02f0b539ce86760c755920b4e35b6762d SHA512 418725b1950f9374c2ff7508e1c52f6986b253ea1c155ef28604e514f1cf0753185eea43cde76a65b9de80bb8dd65ced48b49ce5dfccaf20f5caa49f41743f5b
diff --git a/media-gfx/maim/maim-5.7.4.ebuild b/media-gfx/maim/maim-5.7.4.ebuild
deleted file mode 100644
index b20fa8d524f9..000000000000
--- a/media-gfx/maim/maim-5.7.4.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake
-
-DESCRIPTION="Commandline tool to take screenshots of the desktop"
-HOMEPAGE="https://github.com/naelstrof/maim"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- 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"
-fi
-
-LICENSE="GPL-3+ MIT"
-SLOT="0"
-IUSE="icu"
-
-DEPEND="
- media-libs/libjpeg-turbo:=
- media-libs/libpng:0=
- media-libs/libwebp:=
- virtual/opengl
- x11-libs/libX11
- x11-libs/libXcomposite
- x11-libs/libXext
- x11-libs/libXfixes
- x11-libs/libXrandr
- x11-libs/libXrender
- >=x11-misc/slop-7.5:=
- icu? ( dev-libs/icu:= )"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- -DMAIM_UNICODE=$(usex icu)
- )
- cmake_src_configure
-}
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/Manifest b/media-gfx/mandelbulber/Manifest
index 36c34c6e78d8..d5ac10ad346d 100644
--- a/media-gfx/mandelbulber/Manifest
+++ b/media-gfx/mandelbulber/Manifest
@@ -1 +1,2 @@
DIST mandelbulber2-2.28.tar.gz 122800825 BLAKE2B a1bc8b3b743687003aeccaea7763b8100736b03dcd5044e43193f07bb519a7e78075c63cd0466373e8240a317fc2bbb6481bc07b51b137241cbb477e679093c3 SHA512 9bb2ecdcc2a2976efb6af930d49f067462713c6fd48f54631477102f3153479df6336b43b160c98c4e01f00d48188b314ccc86a84055a05cac5eb009db4e52e2
+DIST mandelbulber2-2.31.tar.gz 133379945 BLAKE2B c7b4cfa151f3bf0161b5871d0b22cd05567edc5a7145d64f38c4059b1f4b6f19f1ac3285d7a60cfb2979cd98f10041b7c7dd9100dab9ec93258e567034a03d63 SHA512 cf70c73f80c89731da6711af6ad6e1be33d43d7b014e16a6516eabf22d39b49469ee3e7b4ecc5e5adad3a1b26c8c1892c1a82d5891fe2b71fe524cdd1c3460c7
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/mandelbulber/mandelbulber-2.31.ebuild b/media-gfx/mandelbulber/mandelbulber-2.31.ebuild
new file mode 100644
index 000000000000..97b894bb80c0
--- /dev/null
+++ b/media-gfx/mandelbulber/mandelbulber-2.31.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}2-${PV}"
+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 https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="CC-BY-4.0 GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="joystick opencl openexr sndfile tiff"
+
+RDEPEND="
+ dev-libs/lzo
+ dev-qt/qtcore:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5[qml]
+ dev-qt/qtnetwork:5
+ dev-qt/qttest:5
+ dev-qt/qtwidgets:5
+ media-libs/libpng:=
+ sci-libs/gsl:=
+ joystick? ( dev-qt/qtgamepad:5 )
+ opencl? (
+ dev-cpp/clhpp
+ virtual/opencl
+ )
+ openexr? (
+ dev-libs/imath:=
+ media-libs/openexr:=
+ )
+ sndfile? ( media-libs/libsndfile )
+ tiff? ( media-libs/tiff:= )
+"
+DEPEND="${RDEPEND}
+ dev-qt/designer:5
+"
+BDEPEND="virtual/pkgconfig"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ use joystick || sed -i -e "s/qtHaveModule(gamepad)/false/" makefiles/common.pri || die
+ use openexr || sed -i -e "s/packagesExist(OpenEXR)/false/" makefiles/common.pri || die
+ use sndfile || sed -i -e "s/packagesExist(sndfile)/false/" makefiles/common.pri || die
+ use tiff || sed -i -e "s/packagesExist(libtiff-4)/false/" makefiles/common.pri || die
+}
+
+src_configure() {
+ if use opencl; then
+ eqmake5 makefiles/${PN}-opencl.pro
+ else
+ eqmake5 makefiles/${PN}.pro
+ fi
+}
+
+src_install() {
+ dobin ${PN}2
+
+ dodoc README NEWS usr/share/doc/${PN}2/Mandelbulber_Manual.pdf
+
+ insinto /usr/share/${PN}2
+ doins -r usr/share/${PN}2/*
+
+ domenu ${PN}2.desktop
+
+ newicon -s 256 qt/icons/${PN}.png ${PN}2.png
+}
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/monica/files/monica-3.7-exit.patch b/media-gfx/monica/files/monica-3.7-exit.patch
new file mode 100644
index 000000000000..afd347c28257
--- /dev/null
+++ b/media-gfx/monica/files/monica-3.7-exit.patch
@@ -0,0 +1,61 @@
+--- monica-3.7.orig/monica.cpp 2024-06-15 10:17:52.270992952 -0700
++++ monica-3.7/monica.cpp 2024-06-15 10:53:54.255394576 -0700
+@@ -1276,7 +1276,7 @@
+ int bcheck = system("echo $SHELL | grep bash");
+ if (bcheck) {
+ fl_alert("Monica senses that BASH is not\nyour login shell...\n\nSince Monica uses bash init scripts to \nimplement gamma corrections on system login, \nyou will have to paste the call to monicarc \ninto your startup scripts by hand.\n\nAlternatively, you can make a direct call \nto xgamma in your X config file.");
+- __builtin_exit (0);
++ exit (0);
+ }
+
+ fn_r = get_shell_rc_path();
+@@ -1563,13 +1563,13 @@
+ }
+ //---------------------------------------------------------------------
+ void exit_cb(Fl_Widget *, void *) {
+- __builtin_exit(0);
++ exit(0);
+ }
+ //---------------------------------------------------------------------
+ void exit_save_cb(Fl_Widget *, void *s) {
+ int res = write_monicarc((Sliders*)s);
+ if (res) res = add_monicarc_to_startup();
+- __builtin_exit(0);
++ exit(0);
+ }
+ //---------------------------------------------------------------------
+
+@@ -1704,7 +1704,7 @@
+ // if (no_ati_gamma && no_x_gamma) {
+ if (no_x_gamma) {
+ fl_alert("Monica cannot detect the presence\n of xgamma on your machine...\n\nIt is distributed with all versions of XFree86 \nand Xorg to date, so if you have X installed, \nit should be around or something might be \nwrong with your installation.\n\nXgamma is needed for Monica to function.");
+- __builtin_exit (0);
++ exit (0);
+ }
+ //-- set global value of "xgamma" command string, accomodating ATI's fglrx_xgamma ---
+ // if ( ! no_ati_gamma ) {
+@@ -1739,13 +1739,13 @@
+ printf("Copyright (C) 2005 Paul Sherman\n\n");
+ printf("Copyright (C) 2002 Tilo Riemer\n\n");
+ printf("Monica is published under a BSD like licence.\nSee Monica -l\n\n");
+- __builtin_exit(0);
++ exit(0);
+ }
+ if ( (strcmp(argv[i], "-l") == 0)
+ || (strcmp(argv[i], "--licence") == 0)
+ || (strcmp(argv[i], "--license") == 0) ) {
+ printf("\n%s\n\n", LICENCE);
+- __builtin_exit(0);
++ exit(0);
+ }
+ if ( (strcmp(argv[i], "-h") == 0) || (strcmp(argv[i], "--help") == 0) ) {
+ printf("\nUsage: Monica [options]\nwhere options are:\n");
+@@ -1766,7 +1766,7 @@
+ printf("\t-s[cheme] scheme\n");
+ printf("\t-t[itle] windowtitle\n\n");
+
+- __builtin_exit(0);
++ exit(0);
+ }
+ if ( (strcmp(argv[i], "-o") == 0) || (strcmp(argv[i], "--onthefly") == 0) ) {
+ g_toggle_apply_on_the_fly_checkbox = 1;
diff --git a/media-gfx/monica/files/monica-3.7-fprintf.patch b/media-gfx/monica/files/monica-3.7-fprintf.patch
new file mode 100644
index 000000000000..55959e246f43
--- /dev/null
+++ b/media-gfx/monica/files/monica-3.7-fprintf.patch
@@ -0,0 +1,46 @@
+--- monica-3.7.orig/monica.cpp 2024-06-15 10:16:59.594465873 -0700
++++ monica-3.7/monica.cpp 2024-06-15 10:17:18.277749251 -0700
+@@ -1301,9 +1301,9 @@
+ while (fgets (buffer, BUF_SIZE, f_r)) {
+ if (strstr(buffer, ". .monicarc")) {//skip old entries
+ continue;
+- } else fprintf(f_w, buffer);
++ } else fprintf(f_w, "%s", buffer);
+ }
+- fprintf(f_w, ". .monicarc #monitor calibration");
++ fprintf(f_w, "%s", ". .monicarc #monitor calibration");
+ fclose(f_w);
+ // script edited, so back up the original and put the ".tmp" in its place
+ rename(fn_r.c_str(), fn_old.c_str());
+@@ -1348,18 +1348,18 @@
+ while (fgets (buffer, BUF_SIZE, f_r)) {
+ if (buffer[0] != '#') {
+ if (!wrote_monicarc) {//add line for calling .monicarc
+- fprintf(f_w, "$HOME/.monicarc #monitor calibration\n");
++ fprintf(f_w, "%s", "$HOME/.monicarc #monitor calibration\n");
+ wrote_monicarc = 1;
+ }
+ if (strstr(buffer, "xgamma")) {
+ strcpy(mod_buffer, "#");
+ strncat(mod_buffer, buffer, BUF_SIZE);
+ mod_buffer[BUF_SIZE + 1] = '\0';
+- fprintf(f_w, mod_buffer);
++ fprintf(f_w, "%s", mod_buffer);
+ } else if (strstr(buffer, "$HOME/.monicarc")) {//skip old entries of .monicarc
+ continue;
+- } else fprintf(f_w, buffer);
+- } else fprintf(f_w, buffer);
++ } else fprintf(f_w, "%s", buffer);
++ } else fprintf(f_w, "%s", buffer);
+ }
+
+ fclose(f_w);
+@@ -1395,7 +1395,7 @@
+ if (strstr(buffer, str_to_remove.c_str())) {
+ continue;
+ } else {
+- fprintf(f_w, buffer);
++ fprintf(f_w, "%s", buffer);
+ line_count += 1;
+ }
+ }
diff --git a/media-gfx/monica/files/monica-3.6-makefile-cleanup.patch b/media-gfx/monica/files/monica-3.7-makefile-cleanup.patch
index 21881db24971..4d7501254ada 100644
--- a/media-gfx/monica/files/monica-3.6-makefile-cleanup.patch
+++ b/media-gfx/monica/files/monica-3.7-makefile-cleanup.patch
@@ -8,9 +8,9 @@ diff -Nuar monica-3.6.orig/Makefile monica-3.6/Makefile
-CXXFLAGS = `fltk-config --cxxflags` -Wall -O2
-LDFLAGS = `fltk-config --ldflags`
+CXXFLAGS = -Wall -O2
-+FLTK_CXXFLAGS = `fltk-config --cxxflags`
++FLTK_CXXFLAGS = $(shell fltk-config --cxxflags)
+LDFLAGS =
-+FLTK_LDFLAGS = `fltk-config --ldflags`
++FLTK_LDFLAGS = $(shell fltk-config --ldflags)
TARGET = monica
-DESTINATION = /usr/bin
+DESTINATION = $(DESTDIR)/usr/bin
diff --git a/media-gfx/monica/monica-3.7.ebuild b/media-gfx/monica/monica-3.7-r1.ebuild
index 08697029c232..b6be41461371 100644
--- a/media-gfx/monica/monica-3.7.ebuild
+++ b/media-gfx/monica/monica-3.7-r1.ebuild
@@ -1,18 +1,17 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
DESCRIPTION="Monica is a Monitor Calibration Tool"
-HOMEPAGE="http://freshmeat.sourceforge.net/projects/monica"
+HOMEPAGE="https://web.archive.org/web/20201111203551/http://freshmeat.sourceforge.net/projects/monica https://web.archive.org/web/20051016203856/http://www.pcbypaul.com:80/linux/monica.html"
SRC_URI="mirror://gentoo/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ppc x86"
-IUSE=""
DEPEND=">=x11-libs/fltk-1.1:1"
RDEPEND="${DEPEND}
@@ -20,8 +19,10 @@ RDEPEND="${DEPEND}
DOCS=( authors ChangeLog news readme )
PATCHES=(
- "${FILESDIR}"/${PN}-3.6-makefile-cleanup.patch
+ "${FILESDIR}"/${PN}-3.7-makefile-cleanup.patch
"${FILESDIR}"/${P}-gcc44.patch
+ "${FILESDIR}"/${P}-fprintf.patch
+ "${FILESDIR}"/${P}-exit.patch
)
src_compile() {
diff --git a/media-gfx/mscgen/mscgen-0.20.ebuild b/media-gfx/mscgen/mscgen-0.20.ebuild
index abd147c84d29..f39af35db010 100644
--- a/media-gfx/mscgen/mscgen-0.20.ebuild
+++ b/media-gfx/mscgen/mscgen-0.20.ebuild
@@ -9,7 +9,7 @@ DESCRIPTION="Message sequence chart generator"
HOMEPAGE="https://www.mcternan.me.uk/mscgen/"
SRC_URI="https://www.mcternan.me.uk/${PN}/software/${PN}-src-${PV}.tar.gz"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 x86 ~x64-solaris"
+KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~riscv x86 ~x64-solaris"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild b/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
index 3ddd273019c8..8f03d4e44e6c 100644
--- a/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
+++ b/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_SINGLE_IMPL=1
inherit desktop distutils-r1 xdg
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/openscad/files/openscad-2021.01-boost-1.85.patch b/media-gfx/openscad/files/openscad-2021.01-boost-1.85.patch
new file mode 100644
index 000000000000..e3370f32fc38
--- /dev/null
+++ b/media-gfx/openscad/files/openscad-2021.01-boost-1.85.patch
@@ -0,0 +1,12 @@
+diff '--color=auto' -ur openscad-2021.01-orig/src/FileModule.cc openscad-2021.01/src/FileModule.cc
+--- openscad-2021.01-orig/src/FileModule.cc 2021-01-31 21:17:41.000000000 +0100
++++ openscad-2021.01/src/FileModule.cc 2024-05-20 07:50:31.746487490 +0200
+@@ -65,7 +65,7 @@
+ auto ext = fs::path(path).extension().generic_string();
+
+ if (boost::iequals(ext, ".otf") || boost::iequals(ext, ".ttf")) {
+- if (fs::is_regular(path)) {
++ if (fs::is_regular_file(path)) {
+ FontCache::instance()->register_font_file(path);
+ } else {
+ LOG(message_group::Error,Location::NONE,"","Can't read font with path '%1$s'",path);
diff --git a/media-gfx/openscad/openscad-2021.01-r5.ebuild b/media-gfx/openscad/openscad-2021.01-r5.ebuild
index 39b12ee55322..3e4af4844ba7 100644
--- a/media-gfx/openscad/openscad-2021.01-r5.ebuild
+++ b/media-gfx/openscad/openscad-2021.01-r5.ebuild
@@ -3,12 +3,12 @@
EAPI=8
-inherit elisp-common qmake-utils xdg
+inherit elisp-common flag-o-matic qmake-utils xdg
SITEFILE="50${PN}-gentoo.el"
DESCRIPTION="The Programmers Solid 3D CAD Modeller"
-HOMEPAGE="https://www.openscad.org/"
+HOMEPAGE="https://openscad.org/"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
@@ -67,9 +67,14 @@ PATCHES=(
"${FILESDIR}"/${P}-CGAL-build-fix-v5.4-renames-projection-traits-header.patch
"${FILESDIR}"/${P}-Fix-build-issue-with-overloaded-join.patch
"${FILESDIR}"/${P}-Remove-double-quoting-of-the-output-file-parameter-f.patch
+ "${FILESDIR}"/${P}-boost-1.85.patch
)
src_configure() {
+ # -Werror=odr
+ # https://github.com/openscad/openscad/issues/5239
+ filter-lto
+
if has ccache ${FEATURES}; then
eqmake5 "PREFIX = ${ESYSROOT}/usr" "CONFIG += ccache" "${PN}.pro"
else
diff --git a/media-gfx/openscad/openscad-9999.ebuild b/media-gfx/openscad/openscad-9999.ebuild
index 2322d4b21967..4cfaae64dfac 100644
--- a/media-gfx/openscad/openscad-9999.ebuild
+++ b/media-gfx/openscad/openscad-9999.ebuild
@@ -8,10 +8,10 @@
EAPI=8
-inherit cmake git-r3 optfeature xdg
+inherit cmake flag-o-matic git-r3 optfeature xdg
DESCRIPTION="The Programmers Solid 3D CAD Modeller"
-HOMEPAGE="https://www.openscad.org/"
+HOMEPAGE="https://openscad.org/"
SRC_URI=""
EGIT_REPO_URI="https://github.com/openscad/openscad.git"
@@ -82,6 +82,10 @@ DOCS=(
)
src_configure() {
+ # -Werror=odr
+ # https://github.com/openscad/openscad/issues/5239
+ filter-lto
+
local mycmakeargs=(
-DCLANG_TIDY=OFF
-DENABLE_CAIRO=$(usex cairo)
diff --git a/media-gfx/openvdb/openvdb-11.0.0.ebuild b/media-gfx/openvdb/openvdb-11.0.0.ebuild
index ff01eb449a31..f8b4c535dd04 100644
--- a/media-gfx/openvdb/openvdb-11.0.0.ebuild
+++ b/media-gfx/openvdb/openvdb-11.0.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.g
LICENSE="MPL-2.0"
OPENVDB_ABI=$(ver_cut 1)
SLOT="0/$PV"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="abi$((OPENVDB_ABI + 1))-compat +abi${OPENVDB_ABI}-compat abi$((OPENVDB_ABI - 1))-compat abi$((OPENVDB_ABI - 2))-compat alembic ax +blosc cpu_flags_x86_avx cpu_flags_x86_sse4_2
cuda doc examples jpeg +nanovdb numpy openexr png python static-libs test utils zlib"
RESTRICT="!test? ( test )"
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..06478a5b0e80
--- /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..2c06054fed4d 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
+DIST plantuml-1.2024.5.tar.gz 12119170 BLAKE2B 97fd8f48aa04d9d8b089547871abd954b8b1c189d32b844f1de4ac33678dabe2968a3307fb573f571adf541dbbbfd5eb5c21839b14f3cb9ed2e86ac7b447bb87 SHA512 20b9502a3d6ac9ceccb667943f8ea70990102f778175001852b1fcd2b9b7fa570f5b7a7fb237b6831c0411667c3e986f2b0ea09ce2602b5c1ca98694b37c20a5
diff --git a/media-gfx/plantuml/metadata.xml b/media-gfx/plantuml/metadata.xml
index e6cce2ef5e7b..0d377a268e92 100644
--- a/media-gfx/plantuml/metadata.xml
+++ b/media-gfx/plantuml/metadata.xml
@@ -19,4 +19,7 @@
<remote-id type="sourceforge">plantuml</remote-id>
<remote-id type="github">plantuml/plantuml</remote-id>
</upstream>
+ <use>
+ <flag name="ant-task">Provides classes used to manage PlantUML Ant task</flag>
+ </use>
</pkgmetadata>
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.ebuild b/media-gfx/plantuml/plantuml-1.2024.4.ebuild
deleted file mode 100644
index 141aa1f0ffdc..000000000000
--- a/media-gfx/plantuml/plantuml-1.2024.4.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.5-r1.ebuild b/media-gfx/plantuml/plantuml-1.2024.5-r1.ebuild
new file mode 100644
index 000000000000..5fd769605c36
--- /dev/null
+++ b/media-gfx/plantuml/plantuml-1.2024.5-r1.ebuild
@@ -0,0 +1,50 @@
+# 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"
+IUSE="ant-task"
+
+DEPEND=">=virtual/jdk-1.8:*
+ ant-task? ( >=dev-java/ant-1.10.14-r3:0 )"
+RDEPEND=">=virtual/jre-1.8:*
+ media-gfx/graphviz
+ ant-task? ( >=dev-java/ant-1.10.14-r3:0 )"
+
+JAVA_AUTOMATIC_MODULE_NAME="net.sourceforge.plantuml"
+JAVA_MAIN_CLASS="net.sourceforge.plantuml.Run"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ if use ant-task; then
+ # src/net/sourceforge/plantuml/ant/readme.md
+ JAVA_GENTOO_CLASSPATH+="ant"
+ else
+ rm src/net/sourceforge/plantuml/ant/{CheckZip,PlantUml}Task.java || die
+ fi
+
+ # 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
+}
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/metadata.xml b/media-gfx/pngcrush/metadata.xml
index 162e13ab9df4..2de20b6ffac3 100644
--- a/media-gfx/pngcrush/metadata.xml
+++ b/media-gfx/pngcrush/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="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<maintainer status="active">
<email>glennrp@gmail.com</email>
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/files/pngnq-1.1-gcc14-build-fix.patch b/media-gfx/pngnq/files/pngnq-1.1-gcc14-build-fix.patch
new file mode 100644
index 000000000000..aa8c1a624cdd
--- /dev/null
+++ b/media-gfx/pngnq/files/pngnq-1.1-gcc14-build-fix.patch
@@ -0,0 +1,34 @@
+Bug: https://bugs.gentoo.org/919210
+Reported upstream: https://sourceforge.net/p/pngnq/patches/7/
+--- a/src/pngcomp.c
++++ b/src/pngcomp.c
+@@ -503,7 +503,7 @@ void printstats(struct statistics* stats, struct blockstats* bstats){
+ printf("Mean pixel color error: %f \n",stats->mean_error);
+ printf("Maximum pixel color error: %f \n",stats->max_error);
+ printf("Standard Deviation of error: %f\n",stats->stddev_error);
+- printf("Image Dimensions %ld x %ld \n",image1_info.width,image1_info.height);
++ printf("Image Dimensions %lld x %lld \n", (long long int)image1_info.width, (long long int)image1_info.height);
+ printf("Number of pixels: %ld \n",stats->n_pixels);
+ printf("Number of exact pixels: %ld\n",stats->correct_pixels);
+ printf("Percentage correct pixels: %f\n",(float)stats->correct_pixels/(float)stats->n_pixels*100.0);
+--- a/src/rwpng.h
++++ b/src/rwpng.h
+@@ -29,6 +29,7 @@
+
+ ---------------------------------------------------------------------------*/
+
++#include "pngconf.h"
+ #ifndef TRUE
+ # define TRUE 1
+ # define FALSE 0
+@@ -65,8 +66,8 @@ typedef struct _rwpng_color_struct {
+
+ typedef struct _mainprog_info {
+ double gamma;
+- ulg width; /* read/write */
+- ulg height; /* read/write */
++ png_uint_32 width; /* read/write */
++ png_uint_32 height; /* read/write */
+ ulg rowbytes; /* read */
+ void *png_ptr; /* read/write */
+ void *info_ptr; /* read/write */
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/pngnq/pngnq-1.1-r2.ebuild b/media-gfx/pngnq/pngnq-1.1-r2.ebuild
new file mode 100644
index 000000000000..cdfa4f9281af
--- /dev/null
+++ b/media-gfx/pngnq/pngnq-1.1-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Pngnq is a tool for quantizing PNG images in RGBA format"
+HOMEPAGE="https://pngnq.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+
+LICENSE="BSD pngnq rwpng"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="media-libs/libpng:0="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0-libpng14.patch
+ "${FILESDIR}"/${PN}-1.0-libpng15.patch
+ "${FILESDIR}"/${PN}-1.0-Wimplicit-function-declaration.patch
+ "${FILESDIR}"/${PN}-1.1-autoconf-quoting.patch
+ "${FILESDIR}"/${PN}-1.1-gcc14-build-fix.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/media-gfx/pngquant/pngquant-2.18.0.ebuild b/media-gfx/pngquant/pngquant-2.18.0.ebuild
index ae8a0c8e0e3b..2766272258e4 100644
--- a/media-gfx/pngquant/pngquant-2.18.0.ebuild
+++ b/media-gfx/pngquant/pngquant-2.18.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/kornelski/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3 HPND rwpng"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
IUSE="cpu_flags_x86_sse2 debug lcms openmp test"
REQUIRED_USE="test? ( lcms )"
diff --git a/media-gfx/povray/povray-3.7.0.0-r4.ebuild b/media-gfx/povray/povray-3.7.0.0-r5.ebuild
index 8fbfdb6ab113..7b8e8d9ca6d5 100644
--- a/media-gfx/povray/povray-3.7.0.0-r4.ebuild
+++ b/media-gfx/povray/povray-3.7.0.0-r5.ebuild
@@ -1,13 +1,13 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit autotools eapi7-ver flag-o-matic virtualx
+inherit autotools flag-o-matic virtualx
POVRAY_MAJOR_VER=$(ver_cut 1-3)
POVRAY_MINOR_VER=$(ver_cut 4)
-if [ -n "$POVRAY_MINOR_VER" ]; then
+if [[ -n ${POVRAY_MINOR_VER} ]]; then
POVRAY_MINOR_VER=${POVRAY_MINOR_VER/rc/RC}
MY_PV="${POVRAY_MAJOR_VER}.${POVRAY_MINOR_VER}"
else
@@ -18,10 +18,11 @@ DESCRIPTION="The Persistence of Vision Raytracer"
HOMEPAGE="https://www.povray.org/"
SRC_URI="https://github.com/POV-Ray/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://dev.gentoo.org/~soap/distfiles/${P}_p20160914-fix-c++14.patch.bz2"
+S=${WORKDIR}/${PN}-${MY_PV}
-LICENSE="AGPL-3"
+LICENSE="AGPL-3+ CC-BY-SA-3.0 CC-BY-NC-SA-2.5"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="debug +io-restrictions tiff X"
DEPEND="
@@ -30,12 +31,10 @@ DEPEND="
media-libs/libpng:=
sys-libs/zlib
tiff? ( media-libs/tiff:= )
- X? ( media-libs/libsdl )"
+ X? ( media-libs/libsdl )
+"
RDEPEND="${DEPEND}"
-DEPEND="${DEPEND}
- dev-build/autoconf-archive"
-
-S=${WORKDIR}/${PN}-${MY_PV}
+BDEPEND="dev-build/autoconf-archive"
PATCHES=(
"${FILESDIR}"/${P}-user-conf.patch
@@ -107,25 +106,26 @@ src_configure() {
# but the code compiles using incorrect [default] paths
# (based on /usr/local...), so povray will not find the system
# config files without the following fix:
- append-cppflags -DPOVLIBDIR=\\\""${EROOT}"usr/share/${PN}\\\" -DPOVCONFDIR=\\\""${EROOT}"etc/${PN}\\\"
+ append-cppflags -DPOVLIBDIR=\\\""${EROOT}"/usr/share/${PN}\\\" -DPOVCONFDIR=\\\""${EROOT}"/etc/${PN}\\\"
# TODO: Restore OpenEXR if upstream start to support OpenEXR 3/imath
- econf \
- COMPILED_BY="Portage (Gentoo $(uname)) on $(hostname -f)" \
- $(use_enable debug) \
- $(use_enable io-restrictions) \
- --without-openexr \
- $(use_with tiff libtiff "${EPREFIX}/usr/$(get_libdir)") \
- $(use_with X libsdl "${EPREFIX}/usr/$(get_libdir)") \
- $(use_with X x "${EPREFIX}/usr/$(get_libdir)") \
- $(usex tiff "" "NON_REDISTRIBUTABLE_BUILD=yes") \
- --with-boost-libdir="${EPREFIX}/usr/$(get_libdir)" \
- --without-libmkl \
- --disable-pipe \
- --disable-static \
- --disable-strip \
- --disable-optimiz \
+ local myeconfargs=(
+ COMPILED_BY="Portage (Gentoo $(uname)) on $(hostname -f)"
+ $(use_enable debug)
+ $(use_enable io-restrictions)
+ --without-openexr
+ $(use_with tiff libtiff "${EPREFIX}/usr/$(get_libdir)")
+ $(use_with X libsdl "${EPREFIX}/usr/$(get_libdir)")
+ $(use_with X x "${EPREFIX}/usr/$(get_libdir)")
+ $(usex tiff "" "NON_REDISTRIBUTABLE_BUILD=yes")
+ --with-boost-libdir="${EPREFIX}/usr/$(get_libdir)"
+ --without-libmkl
+ --disable-pipe
+ --disable-strip
+ --disable-optimiz
--disable-optimiz-arch
+ )
+ econf "${myeconfargs[@]}"
}
src_test() {
@@ -138,11 +138,11 @@ pkg_preinst() {
# This way, they can be treated by CONFIG_PROTECT as normal.
local conf_file version_dir
for conf_file in "${ED}"/etc/"${PN}"/*; do
- if [ ! -e "${EROOT}etc/${PN}/${conf_file}" ]; then
- for version_dir in $(echo "${EROOT}"etc/"${PN}"/* | grep "^[0-9]" | sort -rn); do
- if [ -e "${EROOT}etc/${PN}/${version_dir}/${conf_file}" ]; then
- mv "${EROOT}etc/${PN}/${version_dir}/${conf_file}" "${EROOT}etc/${PN}" || die
- elog "Note: ${conf_file} moved from ${EROOT}etc/povray/${version_dir}/ to ${EROOT}etc/povray/"
+ if [[ ! -e "${EROOT}/etc/${PN}/${conf_file}" ]]; then
+ for version_dir in $(echo "${EROOT}"/etc/"${PN}"/* | grep "^[0-9]" | sort -rn); do
+ if [ -e "${EROOT}/etc/${PN}/${version_dir}/${conf_file}" ]; then
+ mv "${EROOT}/etc/${PN}/${version_dir}/${conf_file}" "${EROOT}/etc/${PN}" || die
+ elog "Note: ${conf_file} moved from ${EROOT}/etc/povray/${version_dir}/ to ${EROOT}/etc/povray/"
break
fi
done
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..96bff41a9c8d 100644
--- a/media-gfx/prusaslicer/Manifest
+++ b/media-gfx/prusaslicer/Manifest
@@ -1,4 +1,2 @@
-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
+DIST prusaslicer-2.8.0.tar.gz 69806919 BLAKE2B b87c63ae411814dbffc8ae96c243bf06018d600db732ef32f7c766ce6bdf156b0aca6da90868482f39b9c6421c6a386bccc9f69e23218dadc07f1bcdb21b9793 SHA512 d98b43e9e1a6da9cbab46b2564da02fc0f8521d84a4df915d0ffd0878ee1a25afebe7078e38b124ec8565782379c51a7f9564462652ef1a7d9819d29297c1937
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-disable-noisy-asserts.patch b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-disable-noisy-asserts.patch
deleted file mode 100644
index 0e3d1d340572..000000000000
--- a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-disable-noisy-asserts.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
-index e855b6290..2479bf054 100644
---- a/src/slic3r/GUI/GUI_App.cpp
-+++ b/src/slic3r/GUI/GUI_App.cpp
-@@ -1128,6 +1128,9 @@ bool GUI_App::OnInit()
-
- bool GUI_App::on_init_inner()
- {
-+ // Disable the wxWidgets asserts breakpoints, end users have no use for them.
-+ wxSizerFlags::DisableConsistencyChecks();
-+
- // Set initialization of image handlers before any UI actions - See GH issue #7469
- wxInitAllImageHandlers();
-
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch
index b949d3b5a897..1d36fcbb7b57 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch
@@ -1,5 +1,3 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 50eccfc84..d0f9205b3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -115,9 +115,6 @@ if (SLIC3R_GUI)
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch
index 23006a2ceedf..4a93da994bd7 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch
@@ -3,12 +3,6 @@ From: Malte kleine Piening <mkl.piening@gmail.com>
Date: Tue, 18 Apr 2023 22:29:04 +0200
Subject: [PATCH] fixed double definition of target libexpat described in #9581
----
- cmake/modules/FindEXPAT.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindEXPAT.cmake b/cmake/modules/FindEXPAT.cmake
-index de204c60f7e..5863e136ec5 100644
--- a/cmake/modules/FindEXPAT.cmake
+++ b/cmake/modules/FindEXPAT.cmake
@@ -25,7 +25,7 @@ if (NOT EXPAT_FOUND)
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch b/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch
index 3c97ead5c6b2..296c0366e34a 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch
@@ -1,5 +1,3 @@
-diff --git a/src/occt_wrapper/CMakeLists.txt b/src/occt_wrapper/CMakeLists.txt
-index d8dd8e1..d27055f 100644
--- a/src/occt_wrapper/CMakeLists.txt
+++ b/src/occt_wrapper/CMakeLists.txt
@@ -22,11 +22,8 @@ generate_export_header(OCCTWrapper)
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.7.4-boost-1.85.patch b/media-gfx/prusaslicer/files/prusaslicer-2.7.4-boost-1.85.patch
new file mode 100644
index 000000000000..4ccaff8f6b17
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.7.4-boost-1.85.patch
@@ -0,0 +1,30 @@
+--- PrusaSlicer-version_2.7.4.old/src/slic3r/Config/Snapshot.cpp
++++ PrusaSlicer-version_2.7.4/src/slic3r/Config/Snapshot.cpp
+@@ -12,6 +12,7 @@
+ #include <boost/property_tree/ini_parser.hpp>
+ #include <boost/property_tree/ptree_fwd.hpp>
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/log/trivial.hpp>
+
+ #include "libslic3r/PresetBundle.hpp"
+--- PrusaSlicer-version_2.7.4.old/src/slic3r/Config/Version.cpp
++++ PrusaSlicer-version_2.7.4/src/slic3r/Config/Version.cpp
+@@ -7,6 +7,7 @@
+ #include <cctype>
+
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/nowide/fstream.hpp>
+
+ #include "libslic3r/libslic3r.h"
+--- PrusaSlicer-version_2.7.4.old/src/slic3r/GUI/RemovableDriveManager.cpp
++++ PrusaSlicer-version_2.7.4/src/slic3r/GUI/RemovableDriveManager.cpp
+@@ -35,7 +35,6 @@
+ #include <pwd.h>
+ #include <boost/filesystem.hpp>
+ #include <boost/system/error_code.hpp>
+-#include <boost/filesystem/convenience.hpp>
+ #include <boost/process.hpp>
+ #endif
+
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch
new file mode 100644
index 000000000000..33ab6256d6b0
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch
@@ -0,0 +1,19 @@
+--- a/src/slic3r/CMakeLists.txt
++++ b/src/slic3r/CMakeLists.txt
+@@ -376,6 +376,7 @@ set(SLIC3R_GUI_SOURCES
+ )
+
+ find_package(NanoSVG REQUIRED)
++find_package(OpenSSL REQUIRED)
+
+ if (APPLE)
+ list(APPEND SLIC3R_GUI_SOURCES
+@@ -404,7 +405,7 @@ endforeach()
+
+ encoding_check(libslic3r_gui)
+
+-target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui libvgcode GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES} NanoSVG::nanosvg NanoSVG::nanosvgrast)
++target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui libvgcode GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES} NanoSVG::nanosvg NanoSVG::nanosvgrast OpenSSL::SSL OpenSSL::Crypto)
+
+ if (MSVC)
+ target_link_libraries(libslic3r_gui Setupapi.lib)
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch
new file mode 100644
index 000000000000..9d13876b607b
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch
@@ -0,0 +1,20 @@
+--- a/src/slic3r/Config/Version.cpp
++++ b/src/slic3r/Config/Version.cpp
+@@ -7,6 +7,7 @@
+ #include <cctype>
+
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/nowide/fstream.hpp>
+
+ #include "libslic3r/libslic3r.h"
+--- a/src/slic3r/GUI/UserAccountCommunication.cpp
++++ b/src/slic3r/GUI/UserAccountCommunication.cpp
+@@ -13,6 +13,7 @@
+ #include <boost/filesystem.hpp>
+ #include <boost/nowide/cstdio.hpp>
+ #include <boost/nowide/fstream.hpp>
++#include <boost/nowide/convert.hpp>
+ #include <curl/curl.h>
+ #include <string>
+
diff --git a/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild
deleted file mode 100644
index 89862b5ef9ad..000000000000
--- a/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-WX_GTK_VER="3.2-gtk3"
-MY_PN="PrusaSlicer"
-MY_PV="$(ver_rs 3 -)"
-
-inherit cmake wxwidgets xdg
-
-DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
-HOMEPAGE="https://www.prusa3d.com/prusaslicer/"
-SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-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"
-
-RDEPEND="
- dev-cpp/eigen:3
- dev-cpp/tbb:=
- dev-libs/boost:=[nls]
- dev-libs/cereal
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/gmp:=
- dev-libs/mpfr:=
- media-gfx/openvdb:=
- net-misc/curl[adns]
- media-libs/glew:0=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:0=
- media-libs/qhull:=
- sci-libs/libigl
- sci-libs/nlopt
- sci-libs/opencascade:=
- sci-mathematics/cgal:=
- sys-apps/dbus
- sys-libs/zlib:=
- virtual/opengl
- x11-libs/gtk+:3
- >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
- media-libs/nanosvg:=
-"
-DEPEND="${RDEPEND}
- media-libs/qhull[static-libs]
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.6.0-libexpat-double-definition-fix.patch"
- "${FILESDIR}/${PN}-2.6.0-disable-noisy-asserts.patch"
- "${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
-)
-
-src_prepare() {
- if has_version ">=sci-libs/opencascade-7.8.0"; then
- eapply "${FILESDIR}/prusaslicer-2.7.2-opencascade-7.8.0.patch"
- fi
-
- sed -i -e 's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g' version.inc || die
-
- sed -i -e 's/find_package(OpenCASCADE 7.6.2 REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \
- src/occt_wrapper/CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- CMAKE_BUILD_TYPE="Release"
-
- setup-wxwidgets
-
- local mycmakeargs=(
- -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB"
-
- -DSLIC3R_BUILD_TESTS=$(usex test)
- -DSLIC3R_FHS=ON
- -DSLIC3R_GTK=3
- -DSLIC3R_GUI=ON
- -DSLIC3R_PCH=OFF
- -DSLIC3R_STATIC=OFF
- -DSLIC3R_WX_STABLE=ON
- -Wno-dev
- )
-
- cmake_src_configure
-}
diff --git a/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild b/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild
index a4ea9747ee33..3745d41a4e8d 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild
@@ -17,7 +17,7 @@ S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
@@ -51,11 +51,13 @@ RDEPEND="
"
DEPEND="${RDEPEND}
media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
"
PATCHES=(
"${FILESDIR}/${PN}-2.6.0-libexpat-double-definition-fix.patch"
"${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.7.4-boost-1.85.patch"
)
src_prepare() {
diff --git a/media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild b/media-gfx/prusaslicer/prusaslicer-2.8.0.ebuild
index a4ea9747ee33..2bb72a7c183f 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.7.2.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-2.8.0.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 )"
@@ -46,16 +51,18 @@ RDEPEND="
sys-libs/zlib:=
virtual/opengl
x11-libs/gtk+:3
- >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl,webkit]
media-libs/nanosvg:=
"
DEPEND="${RDEPEND}
media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
"
PATCHES=(
- "${FILESDIR}/${PN}-2.6.0-libexpat-double-definition-fix.patch"
"${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.8.0-missing-includes.patch"
+ "${FILESDIR}/${PN}-2.8.0-fixed-linking.patch"
)
src_prepare() {
diff --git a/media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
index 4784511aea1f..2bb72a7c183f 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
@@ -9,18 +9,23 @@ 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"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-cpp/eigen:3
@@ -46,16 +51,18 @@ RDEPEND="
sys-libs/zlib:=
virtual/opengl
x11-libs/gtk+:3
- >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl,webkit]
media-libs/nanosvg:=
"
DEPEND="${RDEPEND}
media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
"
PATCHES=(
- "${FILESDIR}/${PN}-2.6.0-libexpat-double-definition-fix.patch"
"${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.8.0-missing-includes.patch"
+ "${FILESDIR}/${PN}-2.8.0-fixed-linking.patch"
)
src_prepare() {
@@ -90,3 +97,10 @@ src_configure() {
cmake_src_configure
}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ "^libslic3r_tests$"
+ )
+ cmake_src_test
+}
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/qiv/Manifest b/media-gfx/qiv/Manifest
index fb4484480faf..3b37f705993e 100644
--- a/media-gfx/qiv/Manifest
+++ b/media-gfx/qiv/Manifest
@@ -1 +1,2 @@
DIST qiv-2.3.2.tgz 133614 BLAKE2B f06f36524db8cdde1baf3e118e8ceeeb654dd49a674b55d661255734c0bedaa765fcf8bb77b03d3c2bac8d75a9088b3290f1d802d670393b6795fee85dd4f778 SHA512 c4636591f79e8e4c13807433a4101a461e614439e497a5637b958bd9d0937b04515854483d4060d9b1004d6c6060b437d634fdbe491eb0747a660ba65240472d
+DIST qiv-2.3.3.tgz 139301 BLAKE2B 0167e074f859ef028e3b343a8e521573f953ba43b7bd78f58e8b337a558b0d48a3c857cccafa2d55384fb48afdc0735949d873de878eff18658f09b98700c61c SHA512 95b5f3759c03648dea1ea1eacaf3d38d808a6eff4d26edf711df0e20a741fc22a0c16bcd84b8740f1455f5d35db9c2b04392dff8b4e030ec3d3c05cd01886759
diff --git a/media-gfx/qiv/metadata.xml b/media-gfx/qiv/metadata.xml
index 115e9d64a669..0d624e24b0a5 100644
--- a/media-gfx/qiv/metadata.xml
+++ b/media-gfx/qiv/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="codeberg">ciberandy/qiv</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-gfx/qiv/qiv-2.3.3.ebuild b/media-gfx/qiv/qiv-2.3.3.ebuild
new file mode 100644
index 000000000000..4f8d62d74f7e
--- /dev/null
+++ b/media-gfx/qiv/qiv-2.3.3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop toolchain-funcs xdg
+
+DESCRIPTION="Quick Image Viewer"
+HOMEPAGE="https://spiegl.de/qiv/ https://codeberg.org/ciberandy/qiv"
+SRC_URI="https://spiegl.de/qiv/download/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~mips ~x86"
+IUSE="exif lcms magic"
+
+RDEPEND="
+ media-libs/imlib2[X]
+ >=x11-libs/gtk+-2.12:2
+ exif? ( media-libs/libexif )
+ lcms? (
+ media-libs/lcms:2
+ media-libs/libjpeg-turbo:=
+ media-libs/tiff:=
+ )
+ magic? ( sys-apps/file )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's:$(CC) $(CFLAGS):$(CC) $(LDFLAGS) $(CFLAGS):' \
+ Makefile || die
+
+ if ! use exif ; then
+ sed -i 's/^EXIF =/#\0/' Makefile || die
+ fi
+
+ if ! use lcms ; then
+ sed -i 's/^LCMS =/#\0/' Makefile || die
+ fi
+
+ if ! use magic ; then
+ sed -i 's/^MAGIC =/#\0/' Makefile || die
+ fi
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ dobin qiv
+ doman qiv.1
+ dodoc Changelog contrib/qiv-command.example README README.TODO
+
+ domenu qiv.desktop
+ doicon qiv.png
+}
diff --git a/media-gfx/qrencode/qrencode-4.1.1.ebuild b/media-gfx/qrencode/qrencode-4.1.1-r1.ebuild
index da06e19dcc0f..6bf83b4101c3 100644
--- a/media-gfx/qrencode/qrencode-4.1.1.ebuild
+++ b/media-gfx/qrencode/qrencode-4.1.1-r1.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+inherit multilib-minimal
DESCRIPTION="C library for encoding data in a QR Code symbol"
HOMEPAGE="https://fukuchi.org/works/qrencode/"
@@ -13,28 +15,29 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
IUSE="png test"
RESTRICT="!test? ( test )"
-RDEPEND="
- png? ( media-libs/libpng:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+RDEPEND="png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
-src_configure() {
+multilib_src_configure() {
local myconf=(
+ $(multilib_native_with tools)
$(use_with png)
$(use_with test tests)
# TODO: figure out how to make SDL check fail as the SDL test
# program is not useful
)
- econf "${myconf[@]}"
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
-src_test() {
+multilib_src_test() {
+ cp "${S}"/tests/test_basic.sh "${BUILD_DIR}"/tests || die
cd tests || die
./test_basic.sh || die
}
-src_install() {
+multilib_src_install() {
default
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/media-gfx/raw-thumbnailer/Manifest b/media-gfx/raw-thumbnailer/Manifest
deleted file mode 100644
index 1b7498948d52..000000000000
--- a/media-gfx/raw-thumbnailer/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST raw-thumbnailer-0.2.1.tar.gz 89468 BLAKE2B 8041cfee56f9be900c6f7bfa6dfb9b21b482ee8eb7dacb83ed37603c32edf6e1dee122de3e98b06d158b6725a1900c73c7e1aee1b8e6a53545428ff7aca47b53 SHA512 cc3c107b060add00b4af811bb548b597493ff0d54d863c530d183970ac8bdd4f6b9f4c25cf978e1d2bf80b11424dbbfb20e73c6dd1abeff3a15a08843bcd41e1
diff --git a/media-gfx/raw-thumbnailer/files/raw-thumbnailer-0.2.1-libopenraw.patch b/media-gfx/raw-thumbnailer/files/raw-thumbnailer-0.2.1-libopenraw.patch
deleted file mode 100644
index 1106493622a2..000000000000
--- a/media-gfx/raw-thumbnailer/files/raw-thumbnailer-0.2.1-libopenraw.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8711d72122e2e67641cc9a0166c1c35ce64719b2 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Sun, 14 Jan 2018 18:50:17 +0100
-Subject: [PATCH] Use pkgconfig name "libopenraw-0.1" to support recent
- libopenraw
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7562e2b..ef14d87 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -12,8 +12,8 @@ AC_PROG_CXX
- AC_PROG_INSTALL
-
- # Checks for libraries.
--PKG_CHECK_MODULES(OPENRAW, libopenraw-1.0 >= 0.0.4, HAVE_OPENRAW=yes)
--PKG_CHECK_MODULES(OPENRAWGNOME, libopenraw-gnome-1.0, HAVE_OPENRAWGNOME=yes)
-+PKG_CHECK_MODULES(OPENRAW, libopenraw-0.1 >= 0.1.0, HAVE_OPENRAW=yes)
-+PKG_CHECK_MODULES(OPENRAWGNOME, libopenraw-gnome-0.1, HAVE_OPENRAWGNOME=yes)
- PKG_CHECK_MODULES(GDK, gdk-pixbuf-2.0, HAVE_GDK=yes)
-
- AC_SUBST(OPENRAW_CFLAGS)
---
-2.16.0.rc1
-
diff --git a/media-gfx/raw-thumbnailer/metadata.xml b/media-gfx/raw-thumbnailer/metadata.xml
deleted file mode 100644
index 987c50f39bce..000000000000
--- a/media-gfx/raw-thumbnailer/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="google-code">raw-thumbnailer</remote-id>
- <remote-id type="github">erlendd/raw-thumbnailer</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/media-gfx/raw-thumbnailer/raw-thumbnailer-0.2.1-r1.ebuild b/media-gfx/raw-thumbnailer/raw-thumbnailer-0.2.1-r1.ebuild
deleted file mode 100644
index 5cfeb0d302e5..000000000000
--- a/media-gfx/raw-thumbnailer/raw-thumbnailer-0.2.1-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="A lightweight and fast raw image thumbnailer"
-HOMEPAGE="https://github.com/erlendd/raw-thumbnailer"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE=""
-
-RDEPEND=">=media-libs/libopenraw-0.1:=[gtk]
- x11-libs/gtk+:2
- !media-gfx/gnome-raw-thumbnailer"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( AUTHORS ChangeLog )
-PATCHES=(
- "${FILESDIR}"/${P}-libopenraw.patch # bug 609972
-)
-
-src_prepare() {
- default
- eautoreconf
-}
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/files/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch b/media-gfx/rawtherapee/files/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch
new file mode 100644
index 000000000000..f65309fc64e6
--- /dev/null
+++ b/media-gfx/rawtherapee/files/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch
@@ -0,0 +1,63 @@
+From efdc5bce3b9794847093baeb040937ab55eba86e Mon Sep 17 00:00:00 2001
+From: Richard E Barber <kd6kxr@gmail.com>
+Date: Sun, 19 May 2024 04:27:10 -0700
+Subject: [PATCH] Fix linking with jpeg-turbo
+
+patch via Termux PR
+https://github.com/termux-user-repository/tur/pull/1027
+---
+ rtengine/jdatasrc.cc | 28 ++--------------------------
+ 1 file changed, 2 insertions(+), 26 deletions(-)
+
+diff --git a/rtengine/jdatasrc.cc b/rtengine/jdatasrc.cc
+index fa13b9dd13..a0d12657f2 100644
+--- a/rtengine/jdatasrc.cc
++++ b/rtengine/jdatasrc.cc
+@@ -247,20 +247,6 @@ my_error_exit (j_common_ptr cinfo)
+ #endif
+ }
+
+-
+-#ifdef _WIN32
+-#define JVERSION "6b 27-Mar-1998"
+-#define JCOPYRIGHT_SHORT "(C) 1998, Thomas G. Lane"
+-#define JMESSAGE(code,string) string ,
+-
+-const char * const jpeg_std_message_table[] = {
+-#include "jerror.h"
+- NULL
+-};
+-#else
+-extern const char * const jpeg_std_message_table[];
+-#endif
+-
+ /*
+ * Actual output of an error or trace message.
+ * Applications may override this method to send JPEG messages somewhere
+@@ -409,24 +395,14 @@ reset_error_mgr (j_common_ptr cinfo)
+ GLOBAL(struct jpeg_error_mgr *)
+ my_jpeg_std_error (struct jpeg_error_mgr * err)
+ {
++ err = jpeg_std_error(err);
+
++ /* override these functions */
+ err->error_exit = my_error_exit;
+ err->emit_message = emit_message;
+ err->output_message = output_message;
+ err->format_message = format_message;
+ err->reset_error_mgr = reset_error_mgr;
+
+- err->trace_level = 0; /* default = no tracing */
+- err->num_warnings = 0; /* no warnings emitted yet */
+- err->msg_code = 0; /* may be useful as a flag for "no error" */
+-
+- /* Initialize message table pointers */
+- err->jpeg_message_table = jpeg_std_message_table;
+- err->last_jpeg_message = (int) JMSG_LASTMSGCODE - 1;
+-
+- err->addon_message_table = nullptr;
+- err->first_addon_message = 0; /* for safety */
+- err->last_addon_message = 0;
+-
+ return err;
+ }
diff --git a/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild b/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild
index 37ad5a9abaaf..bc3e9aa37d1b 100644
--- a/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild
+++ b/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild
@@ -9,10 +9,11 @@ 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"
+S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
IUSE="openmp tcmalloc"
RDEPEND="
@@ -40,7 +41,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/${MY_P}"
+PATCHES=( "${FILESDIR}"/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch )
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
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/recoverjpeg/Manifest b/media-gfx/recoverjpeg/Manifest
index c22bf78839fa..d7c6b001a23e 100644
--- a/media-gfx/recoverjpeg/Manifest
+++ b/media-gfx/recoverjpeg/Manifest
@@ -1 +1,2 @@
DIST recoverjpeg-2.2.3.tar.gz 91672 BLAKE2B bb324b7810b5aa3103ad0a9a67df9f855ea1a479b9b9651cb4b7d1a4c511a87e8fd891664d76049b450b5077355fb718489904d3d7daaca3865a451b41980f4f SHA512 67f923193c9b012302ad4e374141803992bfa4e4ac4c2384c8d44df29927c06a5224caefc936e30cef3fe1ca6dcf9f3544fc5171e4f76d17a83df974d0253c23
+DIST recoverjpeg-2.6.3.tar.gz 128243 BLAKE2B 5ed55959fc69150ee386e18e3519a21520e6be63a8e9ac90b27ce5bda5c78c6b4d23c218119d7822d295d7c55709d4e2e96125f1b9081ba253b49d8f117ba760 SHA512 2ad016d337b965ddad38117d82ccc3b41b9f38afa20509c4fa1ca503ad10d009ffb8d21287a19d76c5f0eaf11da1986d5a417b762a4813db164f9198b2aae51b
diff --git a/media-gfx/recoverjpeg/metadata.xml b/media-gfx/recoverjpeg/metadata.xml
index 85e4ed814fa2..8127aa58dc3b 100644
--- a/media-gfx/recoverjpeg/metadata.xml
+++ b/media-gfx/recoverjpeg/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">samueltardieu/recoverjpeg</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-gfx/recoverjpeg/recoverjpeg-2.6.3.ebuild b/media-gfx/recoverjpeg/recoverjpeg-2.6.3.ebuild
new file mode 100644
index 000000000000..4dc456b28b63
--- /dev/null
+++ b/media-gfx/recoverjpeg/recoverjpeg-2.6.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Recover JPEG pictures from a possibly corrupted disk image"
+HOMEPAGE="https://rfc1149.net/devel/recoverjpeg.html
+ https://github.com/samueltardieu/recoverjpeg"
+SRC_URI="https://rfc1149.net/download/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="media-gfx/exif
+ virtual/imagemagick-tools"
+RDEPEND="${DEPEND}"
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/sane-airscan/Manifest b/media-gfx/sane-airscan/Manifest
index 8f0c6165eac5..7ab733ee18c9 100644
--- a/media-gfx/sane-airscan/Manifest
+++ b/media-gfx/sane-airscan/Manifest
@@ -1 +1,2 @@
DIST sane-airscan-0.99.27.tar.gz 198418 BLAKE2B bcf2aff08feb90a65c10a4abaca67939874ad7c9376745b572f18ebfdaf7bff3e344d1379b00c73904a6892731a75f4632a90ea7c20f7cb4e30eab43413b829d SHA512 a35a92e26a4e3831f127e59bc520248abde8a7b304eb63ecf1d68092f51a8bc49bbc7503bead47ac84d0333d59ae0045d6d7a9f7b89d95f3ddfa2458f3781256
+DIST sane-airscan-0.99.29.tar.gz 211753 BLAKE2B 35f0df4d5df57d2651e6d0195046e703a5f4a49b8d50345d749b570892b0c865cf7b1ed7313fba27ce9586cededffd5d85ce211ca767b50f59fe752c2f869d4c SHA512 a75a3db66aa1c77508a946dc7647f322d0be9c8defc6b4b6fdf1015f5a81ea02209efb7aa2c5284813e257bc2b8727a430804385368c8c7b97df24d61adda483
diff --git a/media-gfx/sane-airscan/sane-airscan-0.99.29.ebuild b/media-gfx/sane-airscan/sane-airscan-0.99.29.ebuild
new file mode 100644
index 000000000000..786dff0320a0
--- /dev/null
+++ b/media-gfx/sane-airscan/sane-airscan-0.99.29.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="SANE backend for AirScan (eSCL) and WSD document scanners"
+HOMEPAGE="https://github.com/alexpevzner/sane-airscan"
+SRC_URI="https://github.com/alexpevzner/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-libs/libxml2
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ net-dns/avahi
+ net-libs/gnutls:=
+"
+RDEPEND="${DEPEND}
+ media-gfx/sane-backends
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.99.27-makefile-fixes.patch"
+)
+
+src_compile() {
+ emake \
+ CFLAGS="${CFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" COMPRESS= STRIP= install
+}
diff --git a/media-gfx/sane-backends/Manifest b/media-gfx/sane-backends/Manifest
index cb3d569a9c23..d77bbff58364 100644
--- a/media-gfx/sane-backends/Manifest
+++ b/media-gfx/sane-backends/Manifest
@@ -1,2 +1 @@
-DIST sane-backends-1.1.1.tar.gz 7447569 BLAKE2B 02ac1822beabb12f19ce2d7c053f0f727313d13e0f9380325492a2f0048094f78a118f7659b4c6e39b60c4ea319d862a242f8866a67c84e5649d9ae2691d9473 SHA512 25bd9f90d550cfe6a6d01c48e83716a53f4b0e3a294287e455ecb5e5b80c8fe1699f45c6c87f694475cceb85745c70597e18a7b1094669d5091c5fb183dfe94d
DIST sane-backends-1.2.1.tar.gz 7308040 BLAKE2B 8448a66e70548f159cfac63501e52417fb1d0599008ce7bf26bf2e7a25a946e688968f01ae64b72c3d5efce67cfbdc0e8e04d8ab3bc92dae0a7e01bc81bf0140 SHA512 3ffce67e409caa5d32684290a56a46a68fef6991a14858d89cbab5aeb364fbbfd6d7c85bcbc4932c9167073a3a6ba682b4730f11fb320f0c4de53a7e7d3edba1
diff --git a/media-gfx/sane-backends/files/sane-backends-1.1.1-gcc12-tests.patch b/media-gfx/sane-backends/files/sane-backends-1.1.1-gcc12-tests.patch
deleted file mode 100644
index 25a1e4db265e..000000000000
--- a/media-gfx/sane-backends/files/sane-backends-1.1.1-gcc12-tests.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-https://bugs.gentoo.org/840137
-https://gitlab.com/sane-project/backends/-/commit/6b99447f5b12758ff015b5c360a6dcbcf9b0a72d
-https://gitlab.com/sane-project/backends/-/issues/597
-https://gitlab.com/sane-project/backends/-/issues/557
-
-From edfc90450ee06149537fadb3095ba4b215c5c4fa Mon Sep 17 00:00:00 2001
-From: Ralph Little <skelband@gmail.com>
-Date: Sun, 2 Oct 2022 18:14:25 -0700
-Subject: [PATCH] genesys: corrections to include file order.
-
-minigtest.h has items that require the definitions in tests_printers.h.
-Pre-GCC-12, this didn't seem to matter but GCC12 seems to have a
-problem with this and requires the template definitions to have already
-appeared.
---- a/testsuite/backend/genesys/minigtest.cpp
-+++ b/testsuite/backend/genesys/minigtest.cpp
-@@ -18,10 +18,10 @@
- along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
--#include "minigtest.h"
--
- #define DEBUG_DECLARE_ONLY
-
-+#include "minigtest.h"
-+
- size_t s_num_successes = 0;
- size_t s_num_failures = 0;
-
---- a/testsuite/backend/genesys/tests_image.cpp
-+++ b/testsuite/backend/genesys/tests_image.cpp
-@@ -21,8 +21,8 @@
- #define DEBUG_DECLARE_ONLY
-
- #include "tests.h"
--#include "minigtest.h"
- #include "tests_printers.h"
-+#include "minigtest.h"
-
- #include "../../../backend/genesys/image.h"
- #include "../../../backend/genesys/image_pipeline.h"
---- a/testsuite/backend/genesys/tests_image_pipeline.cpp
-+++ b/testsuite/backend/genesys/tests_image_pipeline.cpp
-@@ -21,8 +21,8 @@
- #define DEBUG_DECLARE_ONLY
-
- #include "tests.h"
--#include "minigtest.h"
- #include "tests_printers.h"
-+#include "minigtest.h"
-
- #include "../../../backend/genesys/image_pipeline.h"
-
---- a/testsuite/backend/genesys/tests_motor.cpp
-+++ b/testsuite/backend/genesys/tests_motor.cpp
-@@ -21,8 +21,8 @@
- #define DEBUG_DECLARE_ONLY
-
- #include "tests.h"
--#include "minigtest.h"
- #include "tests_printers.h"
-+#include "minigtest.h"
-
- #include "../../../backend/genesys/low.h"
- #include "../../../backend/genesys/enums.h"
---- a/testsuite/backend/genesys/tests_utilities.cpp
-+++ b/testsuite/backend/genesys/tests_utilities.cpp
-@@ -21,8 +21,8 @@
- #define DEBUG_DECLARE_ONLY
-
- #include "tests.h"
--#include "minigtest.h"
- #include "tests_printers.h"
-+#include "minigtest.h"
-
- #include "../../../backend/genesys/utilities.h"
-
-GitLab
diff --git a/media-gfx/sane-backends/files/sane-backends-1.1.1-genesys-gl845-crash.patch b/media-gfx/sane-backends/files/sane-backends-1.1.1-genesys-gl845-crash.patch
deleted file mode 100644
index f63a8e2100b9..000000000000
--- a/media-gfx/sane-backends/files/sane-backends-1.1.1-genesys-gl845-crash.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/backend/genesys/genesys.cpp b/backend/genesys/genesys.cpp
-index 9552fa9..c95de7b 100644
---- a/backend/genesys/genesys.cpp
-+++ b/backend/genesys/genesys.cpp
-@@ -367,6 +367,7 @@ void sanei_genesys_create_default_gamma_table(Genesys_Device* dev,
- }
- max = size - 1;
- } else if (dev->model->asic_type == AsicType::GL124 ||
-+ dev->model->asic_type == AsicType::GL845 ||
- dev->model->asic_type == AsicType::GL846 ||
- dev->model->asic_type == AsicType::GL847) {
- size = 257;
diff --git a/media-gfx/sane-backends/files/sane-backends-1.1.1-musl.patch b/media-gfx/sane-backends/files/sane-backends-1.1.1-musl.patch
deleted file mode 100644
index 8aebb50672a1..000000000000
--- a/media-gfx/sane-backends/files/sane-backends-1.1.1-musl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-https://gitlab.com/sane-project/backends/-/commit/12560890a6e298091bd63b8093a35604416eb92a
-
-From 12560890a6e298091bd63b8093a35604416eb92a Mon Sep 17 00:00:00 2001
-From: David Ward <david.ward@gatech.edu>
-Date: Thu, 21 Apr 2022 23:37:33 -0400
-Subject: [PATCH] Fix header file used for poll()
-
-POSIX specifies the header to include is <poll.h>, not <sys/poll.h>.
-This results in a compiler warning with musl libc (on Alpine Linux).
---- a/configure.ac
-+++ b/configure.ac
-@@ -202,7 +202,7 @@ AC_HEADER_STDC
- AC_CHECK_HEADERS(fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \
- sys/time.h sys/shm.h sys/ipc.h sys/scanio.h os2.h \
- sys/socket.h sys/io.h sys/hw.h sys/types.h linux/ppdev.h \
-- dev/ppbus/ppi.h machine/cpufunc.h sys/sem.h sys/poll.h \
-+ dev/ppbus/ppi.h machine/cpufunc.h sys/sem.h poll.h \
- windows.h be/kernel/OS.h limits.h sys/ioctl.h asm/types.h\
- netinet/in.h tiffio.h ifaddrs.h pwd.h getopt.h)
- AC_CHECK_HEADERS([asm/io.h],,,[#include <sys/types.h>])
---- a/frontend/saned.c
-+++ b/frontend/saned.c
-@@ -84,8 +84,8 @@
-
- #include "lgetopt.h"
-
--#if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL)
--# include <sys/poll.h>
-+#if defined(HAVE_POLL_H) && defined(HAVE_POLL)
-+# include <poll.h>
- #else
- /*
- * This replacement poll() using select() is only designed to cover
-GitLab
diff --git a/media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild b/media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild
deleted file mode 100644
index 7cda923f849d..000000000000
--- a/media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild
+++ /dev/null
@@ -1,360 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 )
-
-# python-any-r1 required for a script in
-# backends/pixma/scripts/
-inherit autotools flag-o-matic multilib-minimal optfeature python-any-r1 systemd toolchain-funcs udev
-
-# gphoto and v4l are handled by their usual USE flags.
-# The pint backend was disabled because I could not get it to compile.
-IUSE_SANE_BACKENDS=(
- abaton
- agfafocus
- apple
- artec
- artec_eplus48u
- as6e
- avision
- bh
- canon
- canon630u
- canon_dr
- canon_lide70
- canon_pp
- cardscan
- coolscan
- coolscan2
- coolscan3
- dc210
- dc240
- dc25
- dell1600n_net
- dmc
- epjitsu
- epson
- epson2
- escl
- fujitsu
- genesys
- gt68xx
- hp
- hp3500
- hp3900
- hp4200
- hp5400
- hp5590
- hpljm1005
- hpsj5s
- hs2p
- ibm
- kodak
- kodakaio
- kvs1025
- kvs20xx
- kvs40xx
- leo
- lexmark
- ma1509
- magicolor
- matsushita
- microtek
- microtek2
- mustek
- mustek_pp
- mustek_usb
- mustek_usb2
- nec
- net
- niash
- p5
- pie
- pieusb
- pixma
- plustek
- plustek_pp
- pnm
- qcam
- ricoh
- ricoh2
- rts8891
- s9036
- sceptre
- sharp
- sm3600
- sm3840
- snapscan
- sp15c
- st400
- stv680
- tamarack
- teco1
- teco2
- teco3
- test
- u12
- umax
- umax1220u
- umax_pp
- xerox_mfp
-)
-
-IUSE="gphoto2 ipv6 snmp systemd threads usb v4l xinetd +zeroconf"
-
-for GBACKEND in ${IUSE_SANE_BACKENDS[@]}; do
- case ${GBACKEND} in
- # Disable backends that require parallel ports as no one has those anymore.
- canon_pp|hpsj5s|mustek_pp|\
- pnm|mustek_usb2|kvs40xx)
- IUSE+=" sane_backends_${GBACKEND}"
- ;;
- *)
- IUSE+=" +sane_backends_${GBACKEND}"
- esac
-done
-
-REQUIRED_USE="
- sane_backends_escl? ( zeroconf )
- sane_backends_kvs40xx? ( threads )
- sane_backends_mustek_usb2? ( threads )
-"
-
-DESCRIPTION="Scanner Access Now Easy - Backends"
-HOMEPAGE="http://www.sane-project.org/"
-SRC_URI="https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/${P}.tar.gz"
-
-LICENSE="GPL-2 public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build
-RDEPEND="
- acct-user/saned
- gphoto2? (
- media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
- >=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}]
- )
- sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_dc210? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- sane_backends_dc240? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- sane_backends_dell1600n_net? (
- media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
- >=media-libs/tiff-3.9.7-r1:=[${MULTILIB_USEDEP}]
- )
- sane_backends_escl? (
- app-text/poppler[cairo]
- || (
- net-dns/avahi[dbus]
- net-dns/avahi[gtk]
- )
- net-dns/avahi[${MULTILIB_USEDEP}]
- net-misc/curl[${MULTILIB_USEDEP}]
- )
- sane_backends_hpsj5s? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_mustek_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_pixma? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- snmp? ( net-analyzer/net-snmp:= )
- systemd? ( sys-apps/systemd:= )
- usb? ( >=virtual/libusb-1-r1:1=[${MULTILIB_USEDEP}] )
- v4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
- xinetd? ( sys-apps/xinetd )
- zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
-"
-
-DEPEND="${RDEPEND}
- dev-libs/libxml2
- v4l? ( sys-kernel/linux-headers )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-build/autoconf-archive
- sys-devel/gettext
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.24-saned_pidfile_location.patch
- "${FILESDIR}"/${PN}-1.0.27-disable-usb-tests.patch
- "${FILESDIR}"/${PN}-1.0.30-add_hpaio_epkowa_dll.conf.patch
- # https://gitlab.com/sane-project/backends/-/merge_requests/688
- "${FILESDIR}"/${PN}-1.1.1-genesys-gl845-crash.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/sane-config
-)
-
-src_prepare() {
- default
-
- eautoreconf
-
- # don't bleed user LDFLAGS into pkgconfig files
- sed 's|@LDFLAGS@ ||' -i tools/*.pc.in || die
-
- # Needed for udev rules generation/installation
- multilib_copy_sources
-}
-
-src_configure() {
- # From Fedora
- append-flags -fno-strict-aliasing
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # the blank is intended - an empty string would result in building ALL backends.
- local lbackends=" "
-
- use gphoto2 && lbackends="gphoto2"
- use v4l && lbackends+=" v4l"
- use sane_backends_escl && multilib_is_native_abi && lbackends+=" escl"
- local backend
- for backend in ${IUSE_SANE_BACKENDS[@]} ; do
- if use "sane_backends_${backend}" && [[ "${backend}" != pnm ]] && [[ "${backend}" != escl ]] ; then
- lbackends+=" ${backend}"
- fi
- done
-
- local myconf=(
- $(use_with usb)
- $(multilib_native_use_with snmp)
-
- $(multilib_native_use_with sane_backends_escl poppler-glib)
- # you can only enable this backend, not disable it...
- $(usex sane_backends_pnm --enable-pnm-backend '')
- $(usex sane_backends_mustek_pp --enable-parport-directio '')
- )
-
- if ! { use sane_backends_canon_pp || use sane_backends_hpsj5s || use sane_backends_mustek_pp ; } ; then
- myconf+=( sane_cv_use_libieee1284=no )
- fi
-
- # relative path must be used for tests to work properly
- # All distributions pass --disable-locking because /var/lock/sane/ would be a world-writable directory
- # that break in many ways, bug #636202, #668232, #668350
- # People can refer to the "Programmer's Documentation" at http://www.sane-project.org/docs.html
- myconf+=(
- --disable-locking
- $(use_with gphoto2)
- $(multilib_native_use_with systemd)
- $(use_with v4l)
- $(use_enable ipv6)
- $(use_enable threads pthread)
- $(use_with zeroconf avahi)
- )
- ECONF_SOURCE="${S}" \
- SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \
- BACKENDS="${lbackends}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- emake VARTEXFONTS="${T}/fonts"
-
- if tc-is-cross-compiler ; then
- pushd "${BUILD_DIR}"/tools >/dev/null || die
-
- # The build system sucks and doesn't handle this properly.
- # https://alioth.debian.org/tracker/index.php?func=detail&aid=314236&group_id=30186&atid=410366
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
- -I. -I../include -I"${S}"/include \
- "${S}"/sanei/sanei_config.c "${S}"/sanei/sanei_constrain_value.c \
- "${S}"/sanei/sanei_init_debug.c "${S}"/tools/sane-desc.c -o sane-desc || die
- local dirs=( hal hotplug hotplug-ng udev )
- local targets=(
- hal/libsane.fdi
- hotplug/libsane.usermap
- hotplug-ng/libsane.db
- udev/libsane.rules
- )
- mkdir -p "${dirs[@]}" || die
- emake "${targets[@]}"
-
- popd >/dev/null || die
- fi
-
- if use usb ; then
- sed -i -e '/^$/d' \
- tools/hotplug/libsane.usermap || die
- fi
-}
-
-multilib_src_install() {
- emake INSTALL_LOCKPATH="" DESTDIR="${D}" install \
- docdir="${EPREFIX}"/usr/share/doc/${PF}
-
- if multilib_is_native_abi ; then
- if use usb ; then
- insinto /etc/hotplug/usb
- doins tools/hotplug/libsane.usermap
- fi
-
- insinto "/usr/share/pkgconfig"
- doins tools/sane-backends.pc
-
- # From Fedora and Arch, prevent permission conflicts
- # https://github.com/OpenPrinting/cups/issues/314
- # https://gitlab.com/sane-project/backends/-/issues/546
- #
- # Generate udev udev+hwdb, not needing scanner group
- install -vdm 755 "${ED}/$(get_udevdir)/rules.d/" || die
- tools/sane-desc -m udev+hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die
- tools/sane-desc -m udev+hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die
- # generate udev hwdb
- install -vdm 755 "${ED}/$(get_udevdir)/hwdb.d/" || die
- tools/sane-desc -m hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb"
- # NOTE: an empty new line is required between the two .desc collections
- printf "\n" >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die
- tools/sane-desc -m hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die
- # udev rule for saned (SANE scanning daemon) to be able to write on usb port
- udev_dorules "${FILESDIR}/66-saned.rules"
- fi
-}
-
-multilib_src_install_all() {
- dodir /etc/env.d
-
- if use systemd ; then
- systemd_newunit "${FILESDIR}"/saned_at.service "saned@.service"
- systemd_newunit "${FILESDIR}"/saned.socket saned.socket
- fi
-
- if use usb ; then
- exeinto /etc/hotplug/usb
- doexe tools/hotplug/libusbscanner
- newdoc tools/hotplug/README README.hotplug
- fi
-
- dodoc NEWS AUTHORS PROBLEMS README README.linux
- find "${ED}" -name '*.la' -delete || die
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- doins "${FILESDIR}"/saned
- fi
-
- newinitd "${FILESDIR}"/saned.initd saned
- newconfd "${FILESDIR}"/saned.confd saned
-}
-
-pkg_postinst() {
- optfeature "Network scanner backend" media-gfx/sane-airscan
- optfeature "Epson-specific backend" media-gfx/iscan
- optfeature "HP-specific backend" net-print/hplip
-
- if use xinetd ; then
- elog "If you want remote clients to connect, edit"
- elog "/etc/sane.d/saned.conf and /etc/hosts.allow"
- fi
-
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild b/media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild
deleted file mode 100644
index cc8ec2c60f74..000000000000
--- a/media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild
+++ /dev/null
@@ -1,366 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 )
-
-# python-any-r1 required for a script in
-# backends/pixma/scripts/
-inherit autotools flag-o-matic multilib-minimal optfeature python-any-r1 systemd toolchain-funcs udev
-
-# gphoto and v4l are handled by their usual USE flags.
-# The pint backend was disabled because I could not get it to compile.
-IUSE_SANE_BACKENDS=(
- abaton
- agfafocus
- apple
- artec
- artec_eplus48u
- as6e
- avision
- bh
- canon
- canon630u
- canon_dr
- canon_lide70
- canon_pp
- cardscan
- coolscan
- coolscan2
- coolscan3
- dc210
- dc240
- dc25
- dell1600n_net
- dmc
- epjitsu
- epson
- epson2
- epsonds
- escl
- fujitsu
- genesys
- gt68xx
- hp
- hp3500
- hp3900
- hp4200
- hp5400
- hp5590
- hpljm1005
- hpsj5s
- hs2p
- ibm
- kodak
- kodakaio
- kvs1025
- kvs20xx
- kvs40xx
- leo
- lexmark
- ma1509
- magicolor
- matsushita
- microtek
- microtek2
- mustek
- mustek_pp
- mustek_usb
- mustek_usb2
- nec
- net
- niash
- p5
- pie
- pieusb
- pixma
- plustek
- plustek_pp
- pnm
- qcam
- ricoh
- ricoh2
- rts8891
- s9036
- sceptre
- sharp
- sm3600
- sm3840
- snapscan
- sp15c
- st400
- stv680
- tamarack
- teco1
- teco2
- teco3
- test
- u12
- umax
- umax1220u
- umax_pp
- xerox_mfp
-)
-
-IUSE="gphoto2 snmp systemd threads usb v4l xinetd +zeroconf"
-
-for GBACKEND in ${IUSE_SANE_BACKENDS[@]}; do
- case ${GBACKEND} in
- # Disable backends that require parallel ports as no one has those anymore.
- canon_pp|hpsj5s|mustek_pp|\
- pnm|mustek_usb2|kvs40xx)
- IUSE+=" sane_backends_${GBACKEND}"
- ;;
- *)
- IUSE+=" +sane_backends_${GBACKEND}"
- esac
-done
-
-REQUIRED_USE="
- sane_backends_escl? ( zeroconf )
- sane_backends_kvs40xx? ( threads )
- sane_backends_mustek_usb2? ( threads )
-"
-
-DESCRIPTION="Scanner Access Now Easy - Backends"
-HOMEPAGE="http://www.sane-project.org/"
-SRC_URI="https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/${P}.tar.gz"
-
-LICENSE="GPL-2 public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build
-RDEPEND="
- acct-user/saned
- acct-group/scanner
- gphoto2? (
- >=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}]
- media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
- )
- sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_dc210? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- sane_backends_dc240? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- sane_backends_dell1600n_net? (
- >=media-libs/tiff-3.9.7-r1:=[${MULTILIB_USEDEP}]
- media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
- )
- sane_backends_escl? (
- app-text/poppler[cairo]
- || (
- net-dns/avahi[dbus]
- net-dns/avahi[gtk]
- )
- net-dns/avahi[${MULTILIB_USEDEP}]
- net-misc/curl[${MULTILIB_USEDEP}]
- )
- sane_backends_hpsj5s? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_mustek_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_pixma? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- snmp? ( net-analyzer/net-snmp:= )
- systemd? ( sys-apps/systemd:= )
- usb? ( >=virtual/libusb-1-r1:1=[${MULTILIB_USEDEP}] )
- v4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
- xinetd? ( sys-apps/xinetd )
- zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
-"
-
-DEPEND="${RDEPEND}
- dev-libs/libxml2
- v4l? ( sys-kernel/linux-headers )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-build/autoconf-archive
- sys-devel/gettext
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.24-saned_pidfile_location.patch
- "${FILESDIR}"/${PN}-1.0.27-disable-usb-tests.patch
- "${FILESDIR}"/${PN}-1.0.30-add_hpaio_epkowa_dll.conf.patch
- # https://gitlab.com/sane-project/backends/-/merge_requests/688
- "${FILESDIR}"/${PN}-1.1.1-genesys-gl845-crash.patch
- "${FILESDIR}"/${P}-gcc12-tests.patch
- "${FILESDIR}"/${PN}-1.1.1-configure-clang16.patch
- "${FILESDIR}"/${P}-musl.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/sane-config
-)
-
-src_prepare() {
- default
-
- eautoreconf
-
- # don't bleed user LDFLAGS into pkgconfig files
- sed 's|@LDFLAGS@ ||' -i tools/*.pc.in || die
-
- # Needed for udev rules generation/installation
- multilib_copy_sources
-}
-
-src_configure() {
- # From Fedora
- append-flags -fno-strict-aliasing
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # the blank is intended - an empty string would result in building ALL backends.
- local lbackends=" "
-
- use gphoto2 && lbackends="gphoto2"
- use v4l && lbackends+=" v4l"
- use sane_backends_escl && multilib_is_native_abi && lbackends+=" escl"
- local backend
- for backend in ${IUSE_SANE_BACKENDS[@]} ; do
- if use "sane_backends_${backend}" && [[ "${backend}" != pnm ]] && [[ "${backend}" != escl ]] ; then
- lbackends+=" ${backend}"
- fi
- done
-
- local myconf=(
- $(use_with usb)
- $(multilib_native_use_with snmp)
-
- $(multilib_native_use_with sane_backends_escl poppler-glib)
- # you can only enable this backend, not disable it...
- $(usex sane_backends_pnm --enable-pnm-backend '')
- $(usex sane_backends_mustek_pp --enable-parport-directio '')
- )
-
- if ! { use sane_backends_canon_pp || use sane_backends_hpsj5s || use sane_backends_mustek_pp ; } ; then
- myconf+=( sane_cv_use_libieee1284=no )
- fi
-
- # relative path must be used for tests to work properly
- # All distributions pass --disable-locking because /var/lock/sane/ would be a world-writable directory
- # that break in many ways, bug #636202, #668232, #668350
- # People can refer to the "Programmer's Documentation" at http://www.sane-project.org/docs.html
- myconf+=(
- --enable-ipv6
- --disable-locking
- $(use_with gphoto2)
- $(multilib_native_use_with systemd)
- $(use_with v4l)
- $(use_enable threads pthread)
- $(use_with zeroconf avahi)
- )
-
- ECONF_SOURCE="${S}" \
- SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \
- BACKENDS="${lbackends}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- emake VARTEXFONTS="${T}/fonts"
-
- if tc-is-cross-compiler ; then
- pushd "${BUILD_DIR}"/tools >/dev/null || die
-
- # The build system sucks and doesn't handle this properly.
- # https://alioth.debian.org/tracker/index.php?func=detail&aid=314236&group_id=30186&atid=410366
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
- -I. -I../include -I"${S}"/include \
- "${S}"/sanei/sanei_config.c "${S}"/sanei/sanei_constrain_value.c \
- "${S}"/sanei/sanei_init_debug.c "${S}"/tools/sane-desc.c -o sane-desc || die
- local dirs=( hal hotplug hotplug-ng udev )
- local targets=(
- hal/libsane.fdi
- hotplug/libsane.usermap
- hotplug-ng/libsane.db
- udev/libsane.rules
- )
- mkdir -p "${dirs[@]}" || die
- emake "${targets[@]}"
-
- popd >/dev/null || die
- fi
-
- if use usb ; then
- sed -i -e '/^$/d' \
- tools/hotplug/libsane.usermap || die
- fi
-}
-
-multilib_src_install() {
- emake INSTALL_LOCKPATH="" DESTDIR="${D}" install \
- docdir="${EPREFIX}"/usr/share/doc/${PF}
-
- if multilib_is_native_abi ; then
- if use usb ; then
- insinto /etc/hotplug/usb
- doins tools/hotplug/libsane.usermap
- fi
-
- insinto "/usr/share/pkgconfig"
- doins tools/sane-backends.pc
-
- # From Fedora and Arch, prevent permission conflicts
- # https://github.com/OpenPrinting/cups/issues/314
- # https://gitlab.com/sane-project/backends/-/issues/546
- #
- # Generate udev udev+hwdb, not needing scanner group
- install -vdm 755 "${ED}/$(get_udevdir)/rules.d/" || die
- tools/sane-desc -m udev+hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die
- tools/sane-desc -m udev+hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die
- # generate udev hwdb
- install -vdm 755 "${ED}/$(get_udevdir)/hwdb.d/" || die
- tools/sane-desc -m hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb"
- # NOTE: an empty new line is required between the two .desc collections
- printf "\n" >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die
- tools/sane-desc -m hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die
- # udev rule for saned (SANE scanning daemon) to be able to write on usb port
- udev_newrules "${FILESDIR}/66-saned.rules-r1" 66-saned.rules
- fi
-}
-
-multilib_src_install_all() {
- dodir /etc/env.d
-
- if use systemd ; then
- systemd_newunit "${FILESDIR}"/saned_at.service-r1 "saned@.service"
- systemd_newunit "${FILESDIR}"/saned.socket saned.socket
- fi
-
- if use usb ; then
- exeinto /etc/hotplug/usb
- doexe tools/hotplug/libusbscanner
- newdoc tools/hotplug/README README.hotplug
- fi
-
- dodoc NEWS AUTHORS PROBLEMS README README.linux
- find "${ED}" -name '*.la' -delete || die
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- doins "${FILESDIR}"/saned
- fi
-
- newinitd "${FILESDIR}"/saned.initd saned
- newconfd "${FILESDIR}"/saned.confd saned
-}
-
-pkg_postrm() {
- udev_reload
-}
-
-pkg_postinst() {
- udev_reload
-
- optfeature "Network scanner backend" media-gfx/sane-airscan
- optfeature "Epson-specific backend" media-gfx/iscan
- optfeature "HP-specific backend" net-print/hplip
-
- if use xinetd ; then
- elog "If you want remote clients to connect, edit"
- elog "/etc/sane.d/saned.conf and /etc/hosts.allow"
- fi
-}
diff --git a/media-gfx/sane-backends/sane-backends-1.2.1.ebuild b/media-gfx/sane-backends/sane-backends-1.2.1.ebuild
index 2b69e30c7d17..cec6801c00ca 100644
--- a/media-gfx/sane-backends/sane-backends-1.2.1.ebuild
+++ b/media-gfx/sane-backends/sane-backends-1.2.1.ebuild
@@ -3,11 +3,19 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
# python-any-r1 required for a script in backends/pixma/scripts/
inherit autotools flag-o-matic multilib-minimal optfeature python-any-r1 systemd toolchain-funcs udev
+DESCRIPTION="Scanner Access Now Easy - Backends"
+HOMEPAGE="http://www.sane-project.org/"
+SRC_URI="https://gitlab.com/sane-project/backends/uploads/110fc43336d0fb5e514f1fdc7360dd87/${P}.tar.gz"
+
+LICENSE="GPL-2 public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
# gphoto and v4l are handled by their usual USE flags.
# The pint backend was disabled because I could not get it to compile.
IUSE_SANE_BACKENDS=(
@@ -122,14 +130,6 @@ REQUIRED_USE="
sane_backends_mustek_usb2? ( threads )
"
-DESCRIPTION="Scanner Access Now Easy - Backends"
-HOMEPAGE="http://www.sane-project.org/"
-SRC_URI="https://gitlab.com/sane-project/backends/uploads/110fc43336d0fb5e514f1fdc7360dd87/${P}.tar.gz"
-
-LICENSE="GPL-2 public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build
RDEPEND="
acct-user/saned
@@ -164,13 +164,11 @@ RDEPEND="
xinetd? ( sys-apps/xinetd )
zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
"
-DEPEND="
- ${RDEPEND}
+DEPEND="${RDEPEND}
dev-libs/libxml2
v4l? ( sys-kernel/linux-headers )
"
-BDEPEND="
- ${PYTHON_DEPS}
+BDEPEND="${PYTHON_DEPS}
dev-build/autoconf-archive
sys-devel/gettext
virtual/pkgconfig
diff --git a/media-gfx/scrot/Manifest b/media-gfx/scrot/Manifest
index 62b926c21a11..1e7abddd6265 100644
--- a/media-gfx/scrot/Manifest
+++ b/media-gfx/scrot/Manifest
@@ -1,2 +1,2 @@
DIST scrot-1.10.tar.bz2 156519 BLAKE2B ca1441823521d14559afe49ed36853bb5448cc5c2ee345ddb617324b63e8f599678cbdc94b862938017a62d2f5ceea3cae03f80e473e86cafc76dd34144d41bb SHA512 7a72b6d7ae350b0ec27b949934ff67cb8800f731f3dfc783bfdf66c4316b318118b8b46d98aca05543144b757c659791f4a9aeae43364277501238a405eda57d
-DIST scrot-1.9.tar.bz2 158710 BLAKE2B d823c0875a260ee9741e1c9038fe743e69d0afa83220448857d109dd3ebad9977f07871b25c6a4a979efdf2abd246a2facec91c5b0af01c47307dc6266c801d3 SHA512 ace3bcb26ecebc5bb139a6e011a562287be8f676f21211b540dd937ab2d4487047d3565d0aec84e099bd2c5c9b037d9044924b031f930dc45a3040df399a3312
+DIST scrot-1.11.1.tar.bz2 158007 BLAKE2B e0c8f166444bfdfbed41a5588036b861973c90d057e302f7bd35cf9630a9f0311735977632ba068c1b3542baed251a3d682da7d8f56c114880a425b3056a0692 SHA512 6a6435c6e0562a367d895f2d1c7a03b050f6588a5843376c5e33a5b8ef1b0b684390530f8c61c340b3f0928caeefb95d9df1f8fe0b145768c336685b1c8d8deb
diff --git a/media-gfx/scrot/scrot-1.9.ebuild b/media-gfx/scrot/scrot-1.11.1.ebuild
index 81c77df2463a..d383d2bfa6bc 100644
--- a/media-gfx/scrot/scrot-1.9.ebuild
+++ b/media-gfx/scrot/scrot-1.11.1.ebuild
@@ -3,16 +3,17 @@
EAPI=8
-inherit bash-completion-r1
+inherit shell-completion
DESCRIPTION="Screen capture utility using imlib2 library"
HOMEPAGE="https://github.com/resurrecting-open-source-projects/scrot"
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/resurrecting-open-source-projects/${PN}"
inherit autotools git-r3
+ LIVE_BDEPEND="dev-build/autoconf-archive"
else
SRC_URI="https://github.com/resurrecting-open-source-projects/${PN}/releases/download/${PV}/${P}.tar.bz2"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="feh"
@@ -34,15 +35,14 @@ RDEPEND="
DEPEND="
${RDEPEND}
x11-base/xorg-proto
- elibc_musl? ( sys-libs/queue-standalone )
"
BDEPEND="
- dev-build/autoconf-archive
+ ${LIVE_BDEPEND}
virtual/pkgconfig
"
DOCS=(
- AUTHORS ChangeLog README.md
+ AUTHORS ChangeLog README.md FAQ.md
)
src_prepare() {
@@ -54,5 +54,6 @@ src_prepare() {
src_install() {
default
- newbashcomp "${FILESDIR}"/${PN}-1.7.bash-completion ${PN}
+ dozshcomp etc/zsh-completion/_scrot
+ dobashcomp etc/bash-completion/scrot
}
diff --git a/media-gfx/scrot/scrot-9999.ebuild b/media-gfx/scrot/scrot-9999.ebuild
index 092a65896df9..d383d2bfa6bc 100644
--- a/media-gfx/scrot/scrot-9999.ebuild
+++ b/media-gfx/scrot/scrot-9999.ebuild
@@ -3,13 +3,14 @@
EAPI=8
-inherit bash-completion-r1
+inherit shell-completion
DESCRIPTION="Screen capture utility using imlib2 library"
HOMEPAGE="https://github.com/resurrecting-open-source-projects/scrot"
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/resurrecting-open-source-projects/${PN}"
inherit autotools git-r3
+ LIVE_BDEPEND="dev-build/autoconf-archive"
else
SRC_URI="https://github.com/resurrecting-open-source-projects/${PN}/releases/download/${PV}/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
@@ -34,15 +35,14 @@ RDEPEND="
DEPEND="
${RDEPEND}
x11-base/xorg-proto
- elibc_musl? ( sys-libs/queue-standalone )
"
BDEPEND="
- dev-build/autoconf-archive
+ ${LIVE_BDEPEND}
virtual/pkgconfig
"
DOCS=(
- AUTHORS ChangeLog README.md
+ AUTHORS ChangeLog README.md FAQ.md
)
src_prepare() {
@@ -54,5 +54,6 @@ src_prepare() {
src_install() {
default
- newbashcomp "${FILESDIR}"/${PN}-1.7.bash-completion ${PN}
+ dozshcomp etc/zsh-completion/_scrot
+ dobashcomp etc/bash-completion/scrot
}
diff --git a/media-gfx/sfftobmp/files/sfftobmp-3.1.2-boost-1.85.patch b/media-gfx/sfftobmp/files/sfftobmp-3.1.2-boost-1.85.patch
new file mode 100644
index 000000000000..9fac13880922
--- /dev/null
+++ b/media-gfx/sfftobmp/files/sfftobmp-3.1.2-boost-1.85.patch
@@ -0,0 +1,63 @@
+https://www.boost.org/doc/libs/1_85_0/libs/filesystem/doc/deprecated.html
+--- a/src/cmdline.cpp
++++ b/src/cmdline.cpp
+@@ -41,7 +41,6 @@
+ #include <iostream>
+
+ #include <boost/filesystem/operations.hpp>
+-#include <boost/filesystem/convenience.hpp>
+
+ #include <tiff.h>
+
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -41,7 +41,6 @@
+
+ #include <boost/filesystem/path.hpp>
+ #include <boost/filesystem/operations.hpp>
+-#include <boost/filesystem/convenience.hpp>
+
+ extern "C"
+ {
+@@ -172,10 +171,10 @@ int main( int argc, char *argv[] )
+ if (pathOutFileName.string().length()) {
+ // A fixed name was given, so use it as a base name
+ outPath = pathOutFileName;
+- std::string orgExt = fs::extension(outPath);
++ std::string orgExt = outPath.extension().string();
+ if (nFileCountOut > 1) {
+ sprintf(acNumber, "_%03d", nPage+1);
+- outPath = fs::change_extension(outPath, acNumber);
++ outPath.replace_extension(acNumber);
+ if (orgExt.length()) {
+ std::string strTemp = outPath.string();
+ strTemp += orgExt;
+@@ -184,15 +183,15 @@ int main( int argc, char *argv[] )
+ }
+ } else {
+ // Otherwise construct output filename from input filename
+- outPath = pathOutDirectory / pathInFileName.leaf();
++ outPath = pathOutDirectory / pathInFileName.filename();
+ if (nFileCountOut > 1) {
+ sprintf(acNumber, "_%03d", nPage+1);
+- outPath = fs::change_extension(outPath, acNumber);
++ outPath.replace_extension(acNumber);
+ std::string strTemp = outPath.string();
+ strTemp += pOut->GetExtension();
+ outPath = fs::path(strTemp);
+ } else {
+- outPath = fs::change_extension(outPath, pOut->GetExtension());
++ outPath.replace_extension(pOut->GetExtension());
+ }
+ }
+ if (!proc.doOverwrite() && !((nPage > 0) && (nFileCountOut == 1)) && fs::exists(outPath)) {
+--- a/src/output.cpp
++++ b/src/output.cpp
+@@ -42,7 +42,6 @@
+ #include <iostream>
+
+ #include <boost/filesystem/path.hpp>
+-#include <boost/filesystem/convenience.hpp>
+
+ #ifdef WIN32
+ #include <io.h>
diff --git a/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild b/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
index 8b7d82f45951..6b9a92e6cfc2 100644
--- a/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
+++ b/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit autotools flag-o-matic
+inherit autotools
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"
@@ -19,7 +19,8 @@ KEYWORDS="amd64 ~hppa ppc x86"
RDEPEND="
dev-libs/boost:=
media-libs/libjpeg-turbo:=
- media-libs/tiff:="
+ media-libs/tiff:=
+"
DEPEND="${RDEPEND}"
BDEPEND="app-arch/unzip"
@@ -27,6 +28,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.1.1-gcc44-and-boost-1_37.patch
"${FILESDIR}"/${PN}-3.1.2-boost_fs3.patch
"${FILESDIR}"/${PN}-3.1.2-Wformat.patch
+ "${FILESDIR}"/${PN}-3.1.2-boost-1.85.patch
)
src_prepare() {
@@ -34,11 +36,6 @@ src_prepare() {
eautoreconf
}
-src_configure() {
- append-cppflags -DBOOST_FILESYSTEM_VERSION=3
- default
-}
-
src_install() {
default
dodoc doc/{changes,credits,readme}
diff --git a/media-gfx/shotwell/Manifest b/media-gfx/shotwell/Manifest
index efa888300c4e..171c15be589a 100644
--- a/media-gfx/shotwell/Manifest
+++ b/media-gfx/shotwell/Manifest
@@ -1 +1,2 @@
DIST shotwell-0.32.4.tar.xz 35335296 BLAKE2B 32be135643f165f32f315c332a4f0b34cd724285e7239eadbb250253b27ce97fb15d314f68a5392d88224a0b97f7f6ef8789c1f6c40051c26a25b9012e860b90 SHA512 516ab26d6620429175097886a1874d2eaf0513f6ef732bef5ee07ef8cd200028b34d98f4eb09b47a621f5313de42a5f415185d76853de478e0b5e0c4e89eea69
+DIST shotwell-0.32.7.tar.xz 35339216 BLAKE2B db87ee9c161f57dad638b47c37fb2737c95645e987e2bab81697895d9a28f14ab22b4669f218ea0baadfc0e1115f45fb9b094f546299083d83d2486fa1c15f98 SHA512 3cb9c9f2981ead8410f42680f6b4976d3b2efcfe7ded4d5217d28ebb8e5c968062a004ad3353affa13e94d996208ebf26c01f4beaf03a2ef6a1bc43960488d14
diff --git a/media-gfx/shotwell/shotwell-0.32.7.ebuild b/media-gfx/shotwell/shotwell-0.32.7.ebuild
new file mode 100644
index 000000000000..3f297331f776
--- /dev/null
+++ b/media-gfx/shotwell/shotwell-0.32.7.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org gnome2-utils meson optfeature vala xdg
+
+DESCRIPTION="Open source photo manager for GNOME"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/shotwell"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
+IUSE="opencv udev"
+
+DEPEND="
+ >=x11-libs/gtk+-3.22.0:3
+ >=dev-libs/glib-2.40.0:2
+ >=dev-libs/libgee-0.8.5:0.8=
+ >=net-libs/webkit-gtk-2.26:4.1
+ net-libs/libsoup:3.0
+ >=dev-libs/json-glib-0.7.6
+ >=dev-libs/libxml2-2.6.32:2
+ x11-libs/gdk-pixbuf:2
+ >=dev-db/sqlite-3.5.9:3
+ >=media-libs/gstreamer-1.20:1.0
+ >=media-libs/gst-plugins-base-1.20:1.0
+ >=media-libs/libgphoto2-2.5:=
+ udev? ( >=dev-libs/libgudev-145:= )
+ >=media-libs/gexiv2-0.12.3
+ >=media-libs/libraw-0.13.2:=
+ >=media-libs/libexif-0.6.16
+ app-crypt/libsecret
+ >=dev-libs/libportal-0.5:=[gtk]
+ media-libs/libwebp:=
+
+ >=app-crypt/gcr-3:0=[gtk]
+ x11-libs/cairo
+ opencv? ( >=media-libs/opencv-4.0.0:= )
+"
+RDEPEND="${DEPEND}
+ media-plugins/gst-plugins-gdkpixbuf:1.0
+ media-plugins/gst-plugins-meta:1.0
+"
+BDEPEND="
+ $(vala_depend)
+ dev-libs/appstream-glib
+ dev-libs/glib
+ dev-util/gdbus-codegen
+ dev-util/itstool
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ net-libs/libsoup:3.0[vala]
+ media-libs/gexiv2[vala]
+ app-crypt/gcr:0[vala]
+"
+
+src_prepare() {
+ default
+ vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dunity_support=false
+ # -Dpublishers # In 0.30.2 all get compiled in anyways, even if restricted list, affects only runtime support
+ #trace
+ #measure
+ -Ddupe_detection=true
+ $(meson_use udev)
+ -Dinstall_apport_hook=false
+ $(meson_use opencv face_detection)
+ -Dfatal_warnings=false
+ )
+ meson_src_configure
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+
+ optfeature "Enable support for the AVIF format" media-libs/libavif[gdk-pixbuf]
+ optfeature "Enable support for the HEIF format" media-libs/libheif[gdk-pixbuf]
+ optfeature "Enable support for the JPEG format" x11-libs/gdk-pixbuf[jpeg]
+ optfeature "Enable support for the TIFF format" x11-libs/gdk-pixbuf[tiff]
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/media-gfx/simple-scan/Manifest b/media-gfx/simple-scan/Manifest
index cdd154e673d1..242ccf8b0145 100644
--- a/media-gfx/simple-scan/Manifest
+++ b/media-gfx/simple-scan/Manifest
@@ -1 +1 @@
-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/40.0-add-control-optional-deps.patch b/media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch
index 5ea8f56323fa..18e17c2315e0 100644
--- a/media-gfx/simple-scan/files/40.0-add-control-optional-deps.patch
+++ b/media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch
@@ -54,7 +54,7 @@ index 3f699eb..0c8965e 100644
+++ b/src/meson.build
@@ -1,16 +1,20 @@
vala_args = [ '--pkg=posix', '--vapidir=' + meson.current_source_dir () ]
- dependencies = [ glib_dep, gtk_dep, libhandy_dep, zlib_dep, cairo_dep, gdk_pixbuf_dep, gusb_dep, sane_dep ]
+ 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' ]
diff --git a/media-gfx/simple-scan/simple-scan-44.0.ebuild b/media-gfx/simple-scan/simple-scan-46.0.ebuild
index 153058476d65..8476bab6e786 100644
--- a/media-gfx/simple-scan/simple-scan-44.0.ebuild
+++ b/media-gfx/simple-scan/simple-scan-46.0.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
DESCRIPTION="Simple document scanning utility"
@@ -15,8 +15,8 @@ IUSE="colord webp"
DEPEND="
>=dev-libs/glib-2.38:2
- >=x11-libs/gtk+-3.24:3
- >=gui-libs/libhandy-1.6.0:1
+ >=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
@@ -35,14 +35,14 @@ BDEPEND="
dev-util/itstool
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
- gui-libs/libhandy:1[vala]
+ gui-libs/libadwaita:1[vala]
dev-libs/libgusb[vala]
colord? ( x11-misc/colord[vala] )
"
PATCHES=(
# Add control for optional dependencies
- "${FILESDIR}"/40.0-add-control-optional-deps.patch
+ "${FILESDIR}"/"${PV}"-add-control-optional-deps.patch
)
src_prepare() {
diff --git a/media-gfx/skanpage/Manifest b/media-gfx/skanpage/Manifest
index e8fc36e293c2..e9d63e01bad1 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.05.2.tar.xz 1332884 BLAKE2B 11d66fec7f13a658d652ca2c70d7f46e50d6c965903573ecfd9ffb4d259c7dd4fc9d2155297c9ffff928ae3c22d67b5642f8c4a31852b1b3f582675bcbb8459b SHA512 aa5dcde24a72332986ca68fbb457097ba08fae04c186654094dbff2ebd0f9b22688370f8a87eed54f0e16265a42adb297d189856a276d8cf56227b90dd7c6ab8
diff --git a/media-gfx/skanpage/skanpage-24.02.2.ebuild b/media-gfx/skanpage/skanpage-24.05.2.ebuild
index e0570e462b5f..89428258adfb 100644
--- a/media-gfx/skanpage/skanpage-24.02.2.ebuild
+++ b/media-gfx/skanpage/skanpage-24.05.2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
KDE_ORG_CATEGORY="utilities"
PVCUT=$(ver_cut 1-3)
-KFMIN=6.0.0
+KFMIN=6.3.0
QTMIN=6.6.2
inherit ecm gear.kde.org
@@ -14,12 +14,13 @@ HOMEPAGE="https://apps.kde.org/skanpage/"
LICENSE="|| ( GPL-2 GPL-3 ) CC0-1.0"
SLOT="6"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
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/superslicer/Manifest b/media-gfx/superslicer/Manifest
index 006a776d5fba..3fa62116d439 100644
--- a/media-gfx/superslicer/Manifest
+++ b/media-gfx/superslicer/Manifest
@@ -1,4 +1,6 @@
-DIST superslicer-2.5.59.0-profiles.tar.gz 15322406 BLAKE2B cfa89697e832e0601746cb21250e258617bcc0966dd111c82ae43a9720b3ffb760f57827a1f35c8ad57a23a7ffb4c78e48ec76d6e40b364f321d0f83c4d10939 SHA512 bbdc6bfa8e21a4bdbca903a367f033f9cb5a1966bd0688bcc81314ba9ee45fee37cb892c82be35e865137c4df7c1fabceb8e6de46316338df2af4a590de91c76
-DIST superslicer-2.5.59.0.tar.gz 45360646 BLAKE2B da65610270ed4c7d55b5bc495d9970812af94f424345088782b3a45b97fcf0f4b58bdc0417b89ed49e21d8c250535baa7cb74344f43438fbde8daf1b3acfacdd SHA512 1d2c0316c91bf0d65fb366806e9ea868bc93fae33deb580a324ce065fd3789ff1b600e9ace400db4988b371b1c36ef0c3ea2b52cde0d48984f312dd8d7ef3a1c
+DIST superslicer-2.5.59.10-profiles.tar.gz 17933533 BLAKE2B d11e8660a9c04221ece8352695a78b302d0d934fca4cc26c17b44ba74d99271aa2f0088de4f36f718827f22073f5bdd90d1163c44d0fe0139b73e55929019ec8 SHA512 43dfe882fb52840abdcbc6c3c4441f7a02b2f21bfa986594e2c6399823508433a29d7372cdf28dab442ae831c0b89d1792e349944e797c899aaffeaf6b738ad6
+DIST superslicer-2.5.59.10.tar.gz 46034708 BLAKE2B 7d30b7e365d336725606f298b0b8ecbf56170e822c8d00a323d45bdf93ae399fb0a312e542ebde51642b7404820604338bd3606add60aad5c3e492e73ef5a28f SHA512 44f46a739f8e1769dd1883dd8ff88c6b3f0efbea2abcf9281cca22e48693ca8643a911c24325f0b8df7c66e3d32ad2e51854f09a67a4f2738ce0673c19485f1b
DIST superslicer-2.5.59.2-profiles.tar.gz 16253775 BLAKE2B 20c99b14ba8ee26ea2a210962e78ea21928a5f32b1e799cbdbe60a3ef587ae1368efce885f5d253468ee9974af6a4419890e56d7df33761732bcefe8dbbc019e SHA512 c20ec66a95d5ec3e1e4fd8b1936bf1a4fc32fbad2c3d78774d5c2480be8a9dcacba5e561c57774a2c761d5189466083e7b6bd9b021a4ca7676e6a5e9676439d7
DIST superslicer-2.5.59.2.tar.gz 45622782 BLAKE2B ff2fecf233d2710d706b64eb2191bfac39df3f631634de5f9eb1bca6ca712e94b0283beb7c6e9f3b293dc308b50240871ef8651a5355a4d7c5ea6092ac1a836b SHA512 af8878bd8e0c3e0dd5247ce01bdbd2b42b6766d81efbde11b71c6642787a12dfeaea91e653ac928066b9610cd911ea1f4dc77cf4823639030b3c104d955b8cbd
+DIST superslicer-2.5.59.8-profiles.tar.gz 17931886 BLAKE2B 953a777dd12971c355a5f48148d4c3831b9435cf08f1baecb32ff0ef6245678f81c53bf5078cc4d6d04642e9ee18e1023d5d1578ebdf1384c7c1ce44a1153c50 SHA512 2e4561de7c57308a91c8964c8a957bc10c5e4cedc47c5fc37633bbcf78e3576ed1eaa6d7126485e94eb0aa593940c73a460f3d5ad65f33001d32953caa2fb4e1
+DIST superslicer-2.5.59.8.tar.gz 46021260 BLAKE2B 04abffd1a9cdf417d544539d5cde9b3559f2da7c1cb24cfa0e4a5d11359bca53cb25a90a3a14b26ee10e33e283ba4774d404265e6740b5457f82110be2a44af9 SHA512 57ef6c129c24378d6f4f78d34a60ed15668a8c5c266fa706937edebbd7b52d145657aae1e46a7b1d19dabaf403465bc5af50a94fa70205456bfc87a1458bac6e
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch
deleted file mode 100644
index 1cb0d9f1afff..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/src/slic3r/GUI/PrintHostDialogs.cpp 2022-12-21 10:21:43.583075853 +1100
-+++ b/src/slic3r/GUI/PrintHostDialogs.cpp 2022-12-21 10:23:03.902694287 +1100
-@@ -79,8 +79,8 @@ PrintHostSendDialog::PrintHostSendDialog
- if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos)
- m_valid_suffix = recent_path.substr(extension_start);
- // .gcode suffix control
-- auto validate_path = [this](const wxString &path) -> bool {
-- if (! path.Lower().EndsWith(m_valid_suffix.Lower())) {
-+ auto validate_path = [this](const std::wstring &path) -> bool {
-+ if (! wxString(path).Lower().EndsWith(m_valid_suffix.Lower())) {
- MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO);
- if (msg_wingow.ShowModal() == wxID_NO)
- return false;
-@@ -90,7 +90,7 @@ PrintHostSendDialog::PrintHostSendDialog
-
- auto* btn_ok = add_button(wxID_OK, true, _L("Upload"));
- btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::None;
- EndDialog(wxID_OK);
- }
-@@ -100,7 +100,7 @@ PrintHostSendDialog::PrintHostSendDialog
- if (post_actions.has(PrintHostPostUploadAction::StartPrint)) {
- auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print"));
- btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::StartPrint;
- EndDialog(wxID_OK);
- }
-@@ -111,7 +111,7 @@ PrintHostSendDialog::PrintHostSendDialog
- // Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here.
- auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate"));
- btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::StartSimulation;
- EndDialog(wxID_OK);
- }
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch
deleted file mode 100644
index 4f847aaacb92..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-diff --git a/src/hints/HintsToPot.cpp b/src/hints/HintsToPot.cpp
-index 7c8029cde..4791f0612 100644
---- a/src/hints/HintsToPot.cpp
-+++ b/src/hints/HintsToPot.cpp
-@@ -9,7 +9,7 @@
-
- bool write_to_pot(boost::filesystem::path path, const std::vector<std::pair<std::string, std::string>>& data)
- {
-- boost::filesystem::ofstream file(std::move(path), std::ios_base::app);
-+ boost::nowide::ofstream file(path.string(), std::ios_base::app);
- for (const auto& element : data)
- {
- //Example of .pot element
-diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp
-index f029b3d72..18dc7396e 100644
---- a/src/libslic3r/AppConfig.cpp
-+++ b/src/libslic3r/AppConfig.cpp
-@@ -1,3 +1,4 @@
-+#include <boost/filesystem.hpp>
- #include "libslic3r/libslic3r.h"
- #include "libslic3r/Utils.hpp"
- #include "AppConfig.hpp"
-diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp
-index d811ddcc2..1a7023061 100644
---- a/src/libslic3r/AppConfig.hpp
-+++ b/src/libslic3r/AppConfig.hpp
-@@ -5,6 +5,7 @@
- #include <map>
- #include <string>
-
-+#include <boost/filesystem/path.hpp>
- #include <boost/algorithm/string/trim_all.hpp>
-
- #include "libslic3r/Config.hpp"
-diff --git a/src/libslic3r/LocalesUtils.cpp b/src/libslic3r/LocalesUtils.cpp
-index 5bf520568..7b870520b 100644
---- a/src/libslic3r/LocalesUtils.cpp
-+++ b/src/libslic3r/LocalesUtils.cpp
-@@ -1,3 +1,4 @@
-+#include <boost/lexical_cast.hpp>
- #include "LocalesUtils.hpp"
-
- #ifdef _WIN32
-diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp
-index 9e9fcda4f..d889e2abf 100644
---- a/src/libslic3r/Preset.cpp
-+++ b/src/libslic3r/Preset.cpp
-@@ -84,7 +84,7 @@ ConfigFileType guess_config_file_type(const ptree &tree)
- VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, bool load_all)
- {
- ptree tree;
-- boost::filesystem::ifstream ifs(path);
-+ boost::nowide::ifstream ifs(path.string());
- boost::property_tree::read_ini(ifs, tree);
- return VendorProfile::from_ini(tree, path, load_all);
- }
-diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp
-index f525c9837..839f0f5e9 100644
---- a/src/libslic3r/Utils.hpp
-+++ b/src/libslic3r/Utils.hpp
-@@ -7,6 +7,7 @@
- #include <type_traits>
- #include <system_error>
-
-+#include <boost/filesystem.hpp>
- #include <boost/system/error_code.hpp>
-
- #include "libslic3r.h"
-diff --git a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-index 89212f27f..be157eafa 100644
---- a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-+++ b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-@@ -18,6 +18,11 @@
- #include <wx/notebook.h>
- #include "Notebook.hpp"
-
-+#include <boost/filesystem.hpp>
-+#include <boost/property_tree/ptree.hpp>
-+#include <boost/property_tree/ini_parser.hpp>
-+#include <boost/log/trivial.hpp>
-+
- #include "MainFrame.hpp"
- #include "wxExtensions.hpp"
-
-diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
-index fcb7472e6..866ebaef5 100644
---- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp
-+++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
-@@ -14,6 +14,7 @@
- #include <boost/log/trivial.hpp>
- #include <boost/dll/runtime_symbol_info.hpp>
- #include <boost/algorithm/string/replace.hpp>
-+#include <boost/nowide/fstream.hpp>
-
- #include <wx/filename.h>
- #include <wx/stattext.h>
-@@ -503,4 +504,4 @@ DesktopIntegrationDialog::~DesktopIntegrationDialog()
-
- } // namespace GUI
- } // namespace Slic3r
--#endif // __linux__
-\ No newline at end of file
-+#endif // __linux__
-diff --git a/src/slic3r/GUI/FreeCADDialog.cpp b/src/slic3r/GUI/FreeCADDialog.cpp
-index 271e3ef2d..6bbdf3907 100644
---- a/src/slic3r/GUI/FreeCADDialog.cpp
-+++ b/src/slic3r/GUI/FreeCADDialog.cpp
-@@ -38,6 +38,7 @@
- #include <boost/log/trivial.hpp>
- #include <boost/property_tree/ptree.hpp>
- #include <boost/property_tree/json_parser.hpp>
-+#include <boost/nowide/fstream.hpp>
-
- // hack for process.hpp : it uses pid_t to set it as alias of int, but vc_x64_lib (wx thingy) as a '#define pid_t int'
- // and so boost/process has a line 'typedef int int'instead of 'typedef int pid_t' that makes it crash
-@@ -322,7 +323,7 @@ bool FreeCADDialog::load_text_from_file(const boost::filesystem::path &path) {
- try {
- std::locale loc = boost::locale::generator()("en_US.UTF-8");
- // Open the stream to 'lock' the file.
-- boost::filesystem::ifstream in;
-+ boost::nowide::ifstream in;
- in.imbue(loc);
- in.open(path);
- // Obtain the size of the file.
-@@ -369,7 +370,7 @@ bool FreeCADDialog::write_text_in_file(const wxString &towrite, const boost::fil
- boost::filesystem::create_directories(file.parent_path());
- std::locale loc = boost::locale::generator()("en_US.UTF-8");
- // Open the stream to 'lock' the file.
-- boost::filesystem::ofstream out;
-+ boost::nowide::ofstream out;
- out.imbue(loc);
- out.open(file);
- out << towrite;
-diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
-index 4cf21a36c..75b2a8e94 100644
---- a/src/slic3r/GUI/GUI_App.cpp
-+++ b/src/slic3r/GUI/GUI_App.cpp
-@@ -19,6 +19,7 @@
- #include <boost/lexical_cast.hpp>
- #include <boost/log/trivial.hpp>
- #include <boost/nowide/convert.hpp>
-+#include <boost/nowide/fstream.hpp>
-
- #include <wx/stdpaths.h>
- #include <wx/imagpng.h>
-diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp
-index 32916303f..3a984bf38 100644
---- a/src/slic3r/GUI/HintNotification.cpp
-+++ b/src/slic3r/GUI/HintNotification.cpp
-@@ -14,12 +14,14 @@
- #include "libslic3r/Config.hpp"
- #include "libslic3r/PrintConfig.hpp"
-
-+#include <map>
-+
- #include <boost/algorithm/string/replace.hpp>
- #include <boost/filesystem.hpp>
- #include <boost/nowide/fstream.hpp>
- #include <boost/log/trivial.hpp>
- #include <boost/property_tree/ini_parser.hpp>
--#include <map>
-+
- #include <cereal/archives/binary.hpp>
- #include <cereal/types/string.hpp>
- #include <cereal/types/vector.hpp>
-@@ -65,7 +67,7 @@ inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, f
-
- void write_used_binary(const std::vector<std::string>& ids)
- {
-- boost::filesystem::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary);
-+ boost::nowide::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal").string(), std::ios::binary);
- cereal::BinaryOutputArchive archive(file);
- HintsCerealData cd { ids };
- try
-@@ -84,7 +86,7 @@ void read_used_binary(std::vector<std::string>& ids)
- BOOST_LOG_TRIVIAL(warning) << "Failed to load to hints.cereal. File does not exists. " << path.string();
- return;
- }
-- boost::filesystem::ifstream file(path);
-+ boost::nowide::ifstream file(path.string());
- cereal::BinaryInputArchive archive(file);
- HintsCerealData cd;
- try
-diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp
-index ffc600b0e..c8080d112 100644
---- a/src/slic3r/GUI/Preferences.cpp
-+++ b/src/slic3r/GUI/Preferences.cpp
-@@ -12,6 +12,7 @@
- #include "OG_CustomCtrl.hpp"
- #include "wxExtensions.hpp"
-
-+#include <boost/algorithm/string/split.hpp>
- #include <boost/filesystem.hpp>
- #include <boost/filesystem/path.hpp>
-
-diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp
-index 4565d1aec..6738cada9 100644
---- a/src/slic3r/GUI/ScriptExecutor.cpp
-+++ b/src/slic3r/GUI/ScriptExecutor.cpp
-@@ -4,6 +4,13 @@
- #include "Tab.hpp"
- #include "libslic3r/PresetBundle.hpp"
- #include "libslic3r/Print.hpp"
-+#include <boost/log/trivial.hpp>
-+#include <boost/lexical_cast.hpp>
-+#include <boost/algorithm/string/trim_all.hpp>
-+#include <boost/algorithm/string/erase.hpp>
-+#include <boost/algorithm/string/split.hpp>
-+#include <boost/filesystem.hpp>
-+#include <boost/filesystem/string_file.hpp>
-
- #include <string>
-
-diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
-index 173f0f762..a3eb553c8 100644
---- a/src/slic3r/GUI/Tab.cpp
-+++ b/src/slic3r/GUI/Tab.cpp
-@@ -36,6 +36,8 @@
- #include <boost/filesystem.hpp>
- #include <boost/filesystem/path.hpp>
- #include <boost/lexical_cast.hpp>
-+#include <boost/nowide/fstream.hpp>
-+#include <boost/log/trivial.hpp>
-
- #include "wxExtensions.hpp"
- #include "PresetComboBoxes.hpp"
-@@ -1692,7 +1694,7 @@ std::vector<Slic3r::GUI::PageShp> Tab::create_pages(std::string setting_type_nam
-
- //read file
- //std::ifstream filestream(ui_layout_file.c_str());
-- boost::filesystem::ifstream filestream(ui_layout_file);
-+ boost::nowide::ifstream filestream(ui_layout_file);
- std::string full_line;
- while (std::getline(filestream, full_line)) {
- //remove spaces
-diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp
-index 9bab91860..47568721a 100644
---- a/src/slic3r/Utils/Http.cpp
-+++ b/src/slic3r/Utils/Http.cpp
-@@ -11,6 +11,7 @@
- #include <boost/filesystem.hpp>
- #include <boost/format.hpp>
- #include <boost/log/trivial.hpp>
-+#include <boost/nowide/fstream.hpp>
-
- #include <curl/curl.h>
-
-@@ -52,7 +53,7 @@ namespace Slic3r {
- % error;
- })
- .on_complete([&](std::string body, unsigned /* http_status */) {
-- boost::filesystem::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc);
-+ boost::nowide::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc);
- file.write(body.c_str(), body.size());
- file.close();
- boost::filesystem::rename(tmp_path, target_path);
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch
deleted file mode 100644
index 6557d6653640..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 549d06f0d..bffb63d9b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -496,6 +496,9 @@ endif ()
-
- # Find the Cereal serialization library
- find_package(cereal REQUIRED)
-+if (NOT TARGET cereal::cereal)
-+ add_library(cereal::cereal ALIAS cereal)
-+endif ()
-
- # l10n
- set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index ec44417fa..9aae6dc11 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -141,7 +141,7 @@ if (NOT WIN32)
- set_target_properties(Slic3r PROPERTIES OUTPUT_NAME "${SLIC3R_APP_CMD}")
- endif ()
-
--target_link_libraries(Slic3r libslic3r cereal)
-+target_link_libraries(Slic3r libslic3r cereal::cereal)
- if (APPLE)
- # add_compile_options(-stdlib=libc++)
- # add_definitions(-DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_NO_CXX11_RVALUE_REFERENCES -DBOOST_THREAD_USES_MOVE)
-diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt
-index c8f22a482..832149338 100644
---- a/src/libslic3r/CMakeLists.txt
-+++ b/src/libslic3r/CMakeLists.txt
-@@ -399,7 +399,7 @@ target_include_directories(libslic3r PUBLIC ${EXPAT_INCLUDE_DIRS})
- target_link_libraries(libslic3r
- libnest2d
- admesh
-- cereal
-+ cereal::cereal
- libigl
- miniz
- boost_libs
-diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
-index f71b809b3..c64a2c5a9 100644
---- a/src/slic3r/CMakeLists.txt
-+++ b/src/slic3r/CMakeLists.txt
-@@ -302,7 +302,7 @@ target_compile_definitions(libslic3r_gui PRIVATE $<$<BOOL:${SLIC3R_ALPHA}>:SLIC3
-
- encoding_check(libslic3r_gui)
-
--target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi exif angelscript libcurl ${wxWidgets_LIBRARIES})
-+target_link_libraries(libslic3r_gui libslic3r avrdude cereal::cereal imgui GLEW::GLEW OpenGL::GL hidapi exif angelscript libcurl ${wxWidgets_LIBRARIES})
-
- if (MSVC)
- target_link_libraries(libslic3r_gui Setupapi.lib)
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-dont-install-bundled-angelscript.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-dont-install-bundled-angelscript.patch
deleted file mode 100644
index 603a96ac67a5..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-dont-install-bundled-angelscript.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff --git a/src/angelscript/CMakeLists.txt b/src/angelscript/CMakeLists.txt
-index fed80a0ad..a65d9f8d5 100644
---- a/src/angelscript/CMakeLists.txt
-+++ b/src/angelscript/CMakeLists.txt
-@@ -202,48 +202,3 @@ endif()
-
- # Don't override the default runtime output path to avoid conflicts when building for multiple target platforms
- #set(RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
--
--#See https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#creating-packages for a detailed explanation about this part
--install(TARGETS ${ANGELSCRIPT_LIBRARY_NAME} EXPORT AngelscriptTargets
-- RUNTIME DESTINATION bin
-- LIBRARY DESTINATION lib
-- ARCHIVE DESTINATION lib
-- INCLUDES DESTINATION include
--)
--
--install(FILES
-- ${CMAKE_CURRENT_SOURCE_DIR}/include/angelscript.h
-- DESTINATION include
-- COMPONENT Devel
--)
--
--include(CMakePackageConfigHelpers)
--write_basic_package_version_file(
-- "${CMAKE_CURRENT_BINARY_DIR}/Angelscript/AngelscriptConfigVersion.cmake"
-- VERSION ${PROJECT_VERSION}
-- COMPATIBILITY AnyNewerVersion
--)
--
--export(EXPORT AngelscriptTargets
-- FILE "${CMAKE_CURRENT_BINARY_DIR}/Angelscript/AngelscriptTargets.cmake"
-- NAMESPACE Angelscript::
--)
--configure_file(cmake/AngelscriptConfig.cmake
-- "${CMAKE_CURRENT_BINARY_DIR}/Angelscript/AngelscriptConfig.cmake"
-- COPYONLY
--)
--
--set(ConfigPackageLocation lib/cmake/Angelscript)
--install(EXPORT AngelscriptTargets
-- FILE AngelscriptTargets.cmake
-- NAMESPACE Angelscript::
-- DESTINATION ${ConfigPackageLocation}
--)
--install(
-- FILES
-- cmake/AngelscriptConfig.cmake
-- "${CMAKE_CURRENT_BINARY_DIR}/Angelscript/AngelscriptConfigVersion.cmake"
-- DESTINATION ${ConfigPackageLocation}
-- COMPONENT Devel
--)
--
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch
deleted file mode 100644
index 5a5c9960cc00..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 9aae6dc11..75835903e 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -299,5 +299,5 @@ else ()
- install(TARGETS Slic3r RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
-
- # Install the symlink for gcodeviewer
-- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink slic3r ${GCODEVIEWER_APP_CMD} WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})")
-+ install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SLIC3R_APP_CMD} ${GCODEVIEWER_APP_CMD} WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})")
- endif ()
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch
deleted file mode 100644
index 27f29fa9f6f1..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp
-index 18dc7396e..95483e844 100644
---- a/src/libslic3r/AppConfig.cpp
-+++ b/src/libslic3r/AppConfig.cpp
-@@ -1,6 +1,7 @@
- #include <boost/filesystem.hpp>
- #include "libslic3r/libslic3r.h"
- #include "libslic3r/Utils.hpp"
-+#include "libslic3r/I18N.hpp"
- #include "AppConfig.hpp"
- #include "Exception.hpp"
- #include "LocalesUtils.hpp"
-diff --git a/src/libslic3r/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp
-index d7401f3fb..a95b7749d 100644
---- a/src/libslic3r/PerimeterGenerator.hpp
-+++ b/src/libslic3r/PerimeterGenerator.hpp
-@@ -1,6 +1,7 @@
- #ifndef slic3r_PerimeterGenerator_hpp_
- #define slic3r_PerimeterGenerator_hpp_
-
-+#include "ClipperUtils.hpp"
- #include "libslic3r.h"
- #include <vector>
- #include "ExPolygonCollection.hpp"
-diff --git a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-index be157eafa..d63eb110e 100644
---- a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-+++ b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-@@ -40,6 +40,7 @@
- #include <wx/odcombo.h>
- #include <wx/textctrl.h>
- #include <wx/wrapsizer.h>
-+#include <wx/rawbmp.h>
- #include "wxExtensions.hpp"
-
- #include <boost/filesystem/path.hpp>
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch
deleted file mode 100644
index 8ae71c13f4d3..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/cmake/modules/FindOpenVDB.cmake b/cmake/modules/FindOpenVDB.cmake
-index 4fde5fa4a..566e73a5e 100644
---- a/cmake/modules/FindOpenVDB.cmake
-+++ b/cmake/modules/FindOpenVDB.cmake
-@@ -347,28 +347,10 @@ macro(just_fail msg)
- return()
- endmacro()
-
--find_package(IlmBase QUIET)
--if(NOT IlmBase_FOUND)
-- pkg_check_modules(IlmBase QUIET IlmBase)
--endif()
--if (IlmBase_FOUND AND NOT TARGET IlmBase::Half)
-- message(STATUS "Falling back to IlmBase found by pkg-config...")
--
-- find_library(IlmHalf_LIBRARY NAMES Half)
-- if(IlmHalf_LIBRARY-NOTFOUND OR NOT IlmBase_INCLUDE_DIRS)
-- just_fail("IlmBase::Half can not be found!")
-- endif()
--
-- add_library(IlmBase::Half UNKNOWN IMPORTED)
-- set_target_properties(IlmBase::Half PROPERTIES
-- IMPORTED_LOCATION "${IlmHalf_LIBRARY}"
-- INTERFACE_INCLUDE_DIRECTORIES "${IlmBase_INCLUDE_DIRS}")
--elseif(NOT IlmBase_FOUND)
-- just_fail("IlmBase::Half can not be found!")
--endif()
- find_package(TBB ${_quiet} ${_required} COMPONENTS tbb)
- find_package(ZLIB ${_quiet} ${_required})
- find_package(Boost ${_quiet} ${_required} COMPONENTS iostreams system )
-+find_package(Imath CONFIG)
-
- # Use GetPrerequisites to see which libraries this OpenVDB lib has linked to
- # which we can query for optional deps. This basically runs ldd/otoll/objdump
-@@ -419,7 +401,7 @@ foreach(PREREQUISITE ${_OPENVDB_PREREQUISITE_LIST})
- set(OpenVDB_USES_LOG4CPLUS ON)
- endif()
-
-- string(FIND ${PREREQUISITE} "IlmImf" _HAS_DEP)
-+ string(FIND ${PREREQUISITE} "OpenEXR" _HAS_DEP)
- if(NOT ${_HAS_DEP} EQUAL -1)
- set(OpenVDB_USES_ILM ON)
- endif()
-@@ -450,11 +432,7 @@ if(OpenVDB_USES_LOG4CPLUS)
- find_package(Log4cplus ${_quiet} ${_required})
- endif()
-
--if(OpenVDB_USES_ILM)
-- find_package(IlmBase ${_quiet} ${_required})
--endif()
--
--if(OpenVDB_USES_EXR)
-+if(OpenVDB_USES_ILM OR OpenVDB_USES_EXR)
- find_package(OpenEXR ${_quiet} ${_required})
- endif()
-
-@@ -471,7 +449,7 @@ endif()
- set(_OPENVDB_VISIBLE_DEPENDENCIES
- Boost::iostreams
- Boost::system
-- IlmBase::Half
-+ Imath::Imath
- )
-
- set(_OPENVDB_DEFINITIONS)
-@@ -481,10 +459,7 @@ endif()
-
- if(OpenVDB_USES_EXR)
- list(APPEND _OPENVDB_VISIBLE_DEPENDENCIES
-- IlmBase::IlmThread
-- IlmBase::Iex
-- IlmBase::Imath
-- OpenEXR::IlmImf
-+ OpenEXR::OpenEXR
- )
- list(APPEND _OPENVDB_DEFINITIONS "-DOPENVDB_TOOLS_RAYTRACER_USE_EXR")
- endif()
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch
deleted file mode 100644
index abe4d7bf60cc..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp
-index ccd3cc083..be8bbe5cd 100644
---- a/src/slic3r/GUI/GUI.cpp
-+++ b/src/slic3r/GUI/GUI.cpp
-@@ -33,6 +33,16 @@ class AppConfig;
-
- namespace GUI {
-
-+// wxgtk3 is broken on wayland: https://trac.wxwidgets.org/ticket/17702
-+#ifdef __WXGTK3__
-+struct ForceX11 {
-+ ForceX11() {
-+ setenv("GDK_BACKEND", "x11", 1);
-+ }
-+};
-+static struct ForceX11 forcex11;
-+#endif
-+
- #if __APPLE__
- IOPMAssertionID assertionID;
- #endif
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch b/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch
new file mode 100644
index 000000000000..8d9f11d3897d
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/936144
+https://github.com/supermerill/SuperSlicer/commit/75d4bee84740a8dcc9e4e2113795fd67107d03d1
+
+From 75d4bee84740a8dcc9e4e2113795fd67107d03d1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hejl?= <hejl.lukas@gmail.com>
+Date: Wed, 3 Jan 2024 23:55:02 +0100
+Subject: [PATCH] Replace some deprecated boost functions.
+
+Actually, all those deprecated functions were internally called those new functions. So there isn't any risk to use them directly.
+---
+ src/libslic3r/PrintBase.cpp | 2 +-
+ src/libslic3r/utils.cpp | 2 +-
+ src/slic3r/GUI/RemovableDriveManager.cpp | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/libslic3r/PrintBase.cpp b/src/libslic3r/PrintBase.cpp
+index 29bdc1301d0..60e40644cb8 100644
+--- a/src/libslic3r/PrintBase.cpp
++++ b/src/libslic3r/PrintBase.cpp
+@@ -123,7 +123,7 @@ std::string PrintBase::output_filename(const std::string &format, const std::str
+ filepath = filename + extension;
+ }
+ if (filepath.extension().empty())
+- filepath = boost::filesystem::change_extension(filepath, default_ext);
++ filepath.replace_extension(default_ext);
+ return filepath.string();
+ } catch (std::runtime_error &err) {
+ throw Slic3r::PlaceholderParserError(L("Failed processing of the output_filename_format template.") + "\n" + err.what());
+diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp
+index 71089ceea64..6eac962b20e 100644
+--- a/src/libslic3r/utils.cpp
++++ b/src/libslic3r/utils.cpp
+@@ -836,7 +836,7 @@ CopyFileResult copy_file_inner(const boost::filesystem::path& source, const boos
+ // That may happen when copying on some exotic file system, for example Linux on Chrome.
+ copy_file_linux(source, target, ec);
+ #else // __linux__
+- boost::filesystem::copy_file(source, target, boost::filesystem::copy_option::overwrite_if_exists, ec);
++ boost::filesystem::copy_file(source, target, boost::filesystem::copy_options::overwrite_existing, ec);
+ #endif // __linux__
+ if (ec) {
+ error_message = ec.message();
+diff --git a/src/slic3r/GUI/RemovableDriveManager.cpp b/src/slic3r/GUI/RemovableDriveManager.cpp
+index 5fb8b013210..2f8ac96a1a2 100644
+--- a/src/slic3r/GUI/RemovableDriveManager.cpp
++++ b/src/slic3r/GUI/RemovableDriveManager.cpp
+@@ -202,7 +202,7 @@ namespace search_for_drives_internal
+ stat(path.c_str(), &buf);
+ uid_t uid = buf.st_uid;
+ if (getuid() == uid)
+- out.emplace_back(DriveData{ boost::filesystem::basename(boost::filesystem::path(path)), path });
++ out.emplace_back(DriveData{ boost::filesystem::path(path).stem().string(), path });
+ }
+ }
+ }
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch
new file mode 100644
index 000000000000..1ccef804d0b4
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch
@@ -0,0 +1,111 @@
+diff --git a/src/libslic3r/Extruder.hpp b/src/libslic3r/Extruder.hpp
+index e4e16d263..629fd6e0b 100644
+--- a/src/libslic3r/Extruder.hpp
++++ b/src/libslic3r/Extruder.hpp
+@@ -3,6 +3,7 @@
+
+ #include "libslic3r.h"
+ #include "Point.hpp"
++#include <optional>
+
+ namespace Slic3r {
+
+diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp
+index 10cae794d..c82969e20 100644
+--- a/src/slic3r/GUI/Field.cpp
++++ b/src/slic3r/GUI/Field.cpp
+@@ -20,6 +20,7 @@
+ #include <wx/tglbtn.h>
+ #endif
+ #include <wx/tokenzr.h>
++#include <boost/algorithm/string.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/log/trivial.hpp>
+ #include "OG_CustomCtrl.hpp"
+diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp
+index ab6039ff0..be01e890a 100644
+--- a/src/slic3r/GUI/Preferences.cpp
++++ b/src/slic3r/GUI/Preferences.cpp
+@@ -8,6 +8,7 @@
+
+ #include <wx/notebook.h>
+ #include <wx/scrolwin.h>
++#include <wx/display.h>
+ #include "Notebook.hpp"
+ #include "ButtonsDescription.hpp"
+ #include "OG_CustomCtrl.hpp"
+diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
+index a6c7b580e..1e1566f37 100644
+--- a/src/slic3r/GUI/Tab.cpp
++++ b/src/slic3r/GUI/Tab.cpp
+@@ -29,6 +29,7 @@
+ #include <wx/settings.h>
+ #include <wx/filedlg.h>
+
++#include <boost/algorithm/string.hpp>
+ #include <boost/algorithm/string/split.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/algorithm/string/replace.hpp>
+diff --git a/src/libslic3r/ObjectID.hpp b/src/libslic3r/ObjectID.hpp
+index 782c58741..08dfba661 100644
+--- a/src/libslic3r/ObjectID.hpp
++++ b/src/libslic3r/ObjectID.hpp
+@@ -2,6 +2,7 @@
+ #define slic3r_ObjectID_hpp_
+
+ #include <cereal/access.hpp>
++#include <cereal/types/base_class.hpp>
+
+ namespace Slic3r {
+
+diff --git a/src/libslic3r/Format/BBConfig.hpp b/src/libslic3r/Format/BBConfig.hpp
+index a4b27675c..8d821bed5 100644
+--- a/src/libslic3r/Format/BBConfig.hpp
++++ b/src/libslic3r/Format/BBConfig.hpp
+@@ -2,6 +2,13 @@
+ #define slic3r_Format_BBconfig_hpp_
+
+ #include "miniz_extension.hpp"
++#include <fstream>
++#include <map>
++#include "libslic3r/Config.hpp"
++#include <boost/algorithm/string/replace.hpp>
++#include <boost/log/trivial.hpp>
++#include <boost/property_tree/ptree.hpp>
++#include <boost/property_tree/ini_parser.hpp>
+
+ #ifdef __APPLE__
+ #include <boost/filesystem.hpp>
+diff --git a/src/libslic3r/GCode/FanMover.cpp b/src/libslic3r/GCode/FanMover.cpp
+index 8a39d92c5..68e8c9254 100644
+--- a/src/libslic3r/GCode/FanMover.cpp
++++ b/src/libslic3r/GCode/FanMover.cpp
+@@ -13,9 +13,8 @@
+ #include "../PrintConfig.hpp"
+ #include "../Utils.hpp"
+ #include "Print.hpp"
+-
+-#include <boost/log/trivial.hpp>
+ */
++#include <boost/log/trivial.hpp>
+
+
+ namespace Slic3r {
+diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp
+index f1570b7a4..777f1d722 100644
+--- a/src/libslic3r/Format/bbs_3mf.cpp
++++ b/src/libslic3r/Format/bbs_3mf.cpp
+@@ -43,11 +43,13 @@
+ #include <boost/property_tree/ptree.hpp>
+ #include <boost/property_tree/xml_parser.hpp>
+ #include <boost/foreach.hpp>
++#include <boost/thread/mutex.hpp>
+ //#include <openssl/md5.h>
+
+ namespace pt = boost::property_tree;
+
+ #include <tbb/parallel_reduce.h>
++#include <tbb/parallel_for.h>
+
+ #include <expat.h>
+ #include <Eigen/Dense>
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch
new file mode 100644
index 000000000000..9b948ed9c0c4
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch
@@ -0,0 +1,43 @@
+diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp
+index f32e44204..272af5ec3 100644
+--- a/src/slic3r/GUI/ScriptExecutor.cpp
++++ b/src/slic3r/GUI/ScriptExecutor.cpp
+@@ -5,8 +5,11 @@
+ #include "libslic3r/PresetBundle.hpp"
+ #include "libslic3r/Print.hpp"
+
++#include <fstream>
+ #include <string>
+
++#include <boost/filesystem.hpp>
++
+ #include <angelscript/source/as_config.h>
+ #include <angelscript/add_on/autowrapper/aswrappedcall.h>
+ #include <angelscript/add_on/scriptarray/scriptarray.h>
+@@ -616,6 +619,17 @@ bool as_is_enabled(std::string &key)
+ return f->is_enabled();
+ }
+
++inline
++void load_string_file(const boost::filesystem::path& p, std::string& str)
++{
++ std::ifstream file;
++ file.exceptions(std::ifstream::failbit | std::ifstream::badbit);
++ file.open(p, std::ios_base::binary);
++ std::size_t sz = static_cast<std::size_t>(boost::filesystem::file_size(p));
++ str.resize(sz, '\0');
++ file.read(&str[0], sz);
++}
++
+ //function to reset a field
+ void as_back_initial_value(std::string& key) {
+ current_script->add_to_reset(key);
+@@ -745,7 +759,7 @@ void ScriptContainer::init(const std::string& tab_key, Tab* tab)
+ //res = builder.AddSectionFromFile(ui_script_file.string().c_str()); //seems to be problematic on cyrillic locale
+ {
+ std::string all_file;
+- boost::filesystem::load_string_file(ui_script_file, all_file);
++ load_string_file(ui_script_file, all_file);
+ res = builder.AddSectionFromMemory(ui_script_file.string().c_str(), all_file.c_str(), (unsigned int)(all_file.length()), 0);
+ }
+ if (res < 0) throw CompileErrorException("Error, can't build the script for tab " + tab_key);
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch
new file mode 100644
index 000000000000..5574340bce63
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch
@@ -0,0 +1,20 @@
+# https://github.com/prusa3d/PrusaSlicer/commit/4aa7366fafb7a3f91cc68d4a808f5195a4aa3dcf
+diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp
+index d76bf468c7f..22232573953 100644
+--- a/src/libslic3r/MeshBoolean.cpp
++++ b/src/libslic3r/MeshBoolean.cpp
+@@ -152,12 +152,12 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh)
+ const auto &vertices = cgalmesh.vertices();
+ int vsize = int(vertices.size());
+
+- for (auto &vi : vertices) {
++ for (const auto &vi : vertices) {
+ auto &v = cgalmesh.point(vi); // Don't ask...
+ its.vertices.emplace_back(to_vec3f(v));
+ }
+
+- for (auto &face : faces) {
++ for (const auto &face : faces) {
+ auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face));
+
+ int i = 0;
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch
new file mode 100644
index 000000000000..441f647b037e
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch
@@ -0,0 +1,12 @@
+diff --git a/src/libnest2d/CMakeLists.txt b/src/libnest2d/CMakeLists.txt
+index c18dc31cb..852d26d5e 100644
+--- a/src/libnest2d/CMakeLists.txt
++++ b/src/libnest2d/CMakeLists.txt
+@@ -24,5 +24,6 @@ set(LIBNEST2D_SRCFILES
+ add_library(libnest2d STATIC ${LIBNEST2D_SRCFILES})
+
+ target_include_directories(libnest2d PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include)
+-target_link_libraries(libnest2d PUBLIC NLopt::nlopt TBB::tbb Boost::boost libslic3r)
++target_link_libraries(libnest2d PUBLIC NLopt::nlopt TBB::tbb Boost::boost
++ libslic3r xcb)
+ target_compile_definitions(libnest2d PUBLIC LIBNEST2D_THREADING_tbb LIBNEST2D_STATIC LIBNEST2D_OPTIMIZER_nlopt LIBNEST2D_GEOMETRIES_libslic3r)
diff --git a/media-gfx/superslicer/superslicer-2.5.59.10.ebuild b/media-gfx/superslicer/superslicer-2.5.59.10.ebuild
new file mode 100644
index 000000000000..b1c347c004cc
--- /dev/null
+++ b/media-gfx/superslicer/superslicer-2.5.59.10.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.0-gtk3"
+MY_PN="SuperSlicer"
+SLICER_PROFILES_COMMIT="ca25c7ec55dcc6073da61e39692c321cdb6497dc"
+
+inherit cmake wxwidgets xdg flag-o-matic
+
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
+HOMEPAGE="https://github.com/supermerill/SuperSlicer/"
+SRC_URI="
+ https://github.com/supermerill/SuperSlicer/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/slic3r/slic3r-profiles/archive/${SLICER_PROFILES_COMMIT}.tar.gz -> ${P}-profiles.tar.gz
+"
+
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+
+RESTRICT="test"
+
+# No dep on sci-libs/libigl, in-tree version cannot build
+# static library currently. Using bundled one.
+RDEPEND="
+ dev-cpp/eigen:3
+ dev-cpp/tbb:=
+ dev-libs/boost:=[nls]
+ dev-libs/cereal
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/gmp:=
+ dev-libs/mpfr:=
+ dev-libs/imath:=
+ >=media-gfx/openvdb-8.2:=
+ net-misc/curl[adns]
+ media-libs/glew:0=
+ media-libs/libpng:0=
+ media-libs/qhull:=
+ sci-libs/nlopt
+ sci-libs/opencascade:=
+ >=sci-mathematics/cgal-5.0:=
+ sys-apps/dbus
+ sys-libs/zlib:=
+ virtual/glu
+ virtual/opengl
+ x11-libs/gtk+:3
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+"
+DEPEND="${RDEPEND}
+ media-libs/qhull[static-libs]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.5.59.2-boost.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-cereal.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-dont-install-angelscript.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-gcodeviewer-symlink-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-missing-includes-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-openexr3.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-wxgtk3-wayland-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-relax-OpenCASCADE-dep.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-link-occtwrapper-statically.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-additional-imports-fixes.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-fix-compilation-error-gnu17.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-libnest2d-link-xcb.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-boost-replace-load-string-file.patch"
+ "${FILESDIR}/${PN}-2.5.59.10-boost-1.85.patch"
+)
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_unpack() {
+ default
+
+ mv slic3r-profiles-*/* "${S}"/resources/profiles/ || die
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE="Release"
+
+ append-flags -fno-strict-aliasing
+
+ setup-wxwidgets
+
+ local mycmakeargs=(
+ -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB"
+
+ -DSLIC3R_BUILD_TESTS=$(usex test)
+ -DSLIC3R_FHS=ON
+ -DSLIC3R_GTK=3
+ -DSLIC3R_GUI=ON
+ -DSLIC3R_PCH=OFF
+ -DSLIC3R_STATIC=OFF
+ -DSLIC3R_WX_STABLE=ON
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ rm "${ED}/usr/lib/udev/rules.d/90-3dconnexion.rules" || die
+}
diff --git a/media-gfx/superslicer/superslicer-2.5.59.0-r3.ebuild b/media-gfx/superslicer/superslicer-2.5.59.8.ebuild
index 7cdeaa9cc284..b43862a3db67 100644
--- a/media-gfx/superslicer/superslicer-2.5.59.0-r3.ebuild
+++ b/media-gfx/superslicer/superslicer-2.5.59.8.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
WX_GTK_VER="3.0-gtk3"
MY_PN="SuperSlicer"
-SLICER_PROFILES_COMMIT="748fbdfd2ac077e4e415868e7bc963740b92aa8e"
+SLICER_PROFILES_COMMIT="8f3bb94a9c60be9a3b40d88a36ff05ba5cf2d6a8"
inherit cmake wxwidgets xdg flag-o-matic
@@ -18,7 +18,7 @@ SRC_URI="
LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="test"
@@ -41,6 +41,7 @@ RDEPEND="
media-libs/libpng:0=
media-libs/qhull:=
sci-libs/nlopt
+ sci-libs/opencascade:=
>=sci-mathematics/cgal-5.0:=
sys-apps/dbus
sys-libs/zlib:=
@@ -54,14 +55,20 @@ DEPEND="${RDEPEND}
"
PATCHES=(
- "${FILESDIR}/${P}-openexr3.patch"
- "${FILESDIR}/${P}-wxgtk3-wayland.patch"
- "${FILESDIR}/${P}-cereal.patch"
- "${FILESDIR}/${P}-boost.patch"
- "${FILESDIR}/${P}-boost-1.81-std-wxString-to-std-wstring.patch"
- "${FILESDIR}/${P}-missing-includes.patch"
- "${FILESDIR}/${P}-dont-install-bundled-angelscript.patch"
- "${FILESDIR}/${P}-fix-gcodeviewer-symlink.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-boost.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-cereal.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-dont-install-angelscript.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-gcodeviewer-symlink-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-missing-includes-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-openexr3.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-wxgtk3-wayland-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-relax-OpenCASCADE-dep.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-link-occtwrapper-statically.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch"
+ "${FILESDIR}/${P}-additional-imports-fixes.patch"
+ "${FILESDIR}/${P}-fix-compilation-error-gnu17.patch"
+ "${FILESDIR}/${P}-libnest2d-link-xcb.patch"
+ "${FILESDIR}/${P}-boost-replace-load-string-file.patch"
)
S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/media-gfx/svg2rlg/Manifest b/media-gfx/svg2rlg/Manifest
index 90d6bb2a4348..4d6515ae8efa 100644
--- a/media-gfx/svg2rlg/Manifest
+++ b/media-gfx/svg2rlg/Manifest
@@ -1 +1 @@
-DIST svg2rlg-0.4.0.tar.gz 504861 BLAKE2B bfd147d824d5a49f8621e705f6bdeefdaa571918db94afea8e839d048d2089a8c8ebf8e2763caa9866f55a7142e1bb3522b01f53eaf5b8343164a08ee0983ef3 SHA512 e3813a22784c2199a1df69574c64093347a153fa2b7a40e2f38f52e5d46d7ca8d6e8e3bbe54ab59381f6c7246352c016ff3e19b1278c6f2c8dcfbe8bd7017b12
+DIST svg2rlg-0.4.0.gh.tar.gz 504861 BLAKE2B bfd147d824d5a49f8621e705f6bdeefdaa571918db94afea8e839d048d2089a8c8ebf8e2763caa9866f55a7142e1bb3522b01f53eaf5b8343164a08ee0983ef3 SHA512 e3813a22784c2199a1df69574c64093347a153fa2b7a40e2f38f52e5d46d7ca8d6e8e3bbe54ab59381f6c7246352c016ff3e19b1278c6f2c8dcfbe8bd7017b12
diff --git a/media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild b/media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild
index 61629741ac37..9b6fffa1c06a 100644
--- a/media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild
+++ b/media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# 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..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -19,7 +19,10 @@ if [[ ${PV} = 9999* ]]; then
EGIT_BRANCH="master"
inherit git-r3
else
- SRC_URI="https://github.com/sarnold/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="
+ https://github.com/sarnold/svg2rlg/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
fi
diff --git a/media-gfx/tintii/tintii-2.10.0-r1.ebuild b/media-gfx/tintii/tintii-2.10.0-r1.ebuild
deleted file mode 100644
index ccb7a70d89da..000000000000
--- a/media-gfx/tintii/tintii-2.10.0-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER="3.0-gtk3"
-inherit wxwidgets
-
-DESCRIPTION="Photo editor for selective color, saturation, and hue shift adjustments"
-HOMEPAGE="https://www.indii.org/software/tintii/"
-SRC_URI="https://www.indii.org/files/tint/releases/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- x11-libs/wxGTK:${WX_GTK_VER}[X]
-"
-DEPEND="${RDEPEND}
- dev-libs/boost
-"
-BDEPEND="app-alternatives/bc"
-
-src_prepare() {
- default
- setup-wxwidgets
-}
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/Manifest b/media-gfx/tuxpaint/Manifest
index 50d41b326b2a..5a7935a9caa0 100644
--- a/media-gfx/tuxpaint/Manifest
+++ b/media-gfx/tuxpaint/Manifest
@@ -1,3 +1 @@
-DIST tuxpaint-0.9.28.tar.gz 14802638 BLAKE2B 7f7a8f3d61faf052d9872b5af775a6becdefae7cee1207ebcbb5db108fc381b0fa5ba8b7a8facd55ba6dcfca59886125cba7837d2de432fd5c75d2c40b509c41 SHA512 038f92f8d7ee8d85b1c9b18f7781e814ee55067e090fbfa597028e2d13218911157d00f312de2be9db29754a07c5706fc3c3e0e6ea3c71a15f80c37bb2eceb34
-DIST tuxpaint-0.9.29.tar.gz 17144658 BLAKE2B db00b14862ca139b0ee2851b7f57bda0df12d09ae516649dab25eb260bfc65fef35c968ab39593a71c173f196dc24426c5d4be79eee230c7139a7832d5508171 SHA512 9642c7145d32848e663b69428d7ff046e6109b292f3c3104dc40f8fcbf4152ab39815cf7dd3a217b0a6bd26ea50c57e0b14b186a23157fbac091ee10436646b3
DIST tuxpaint-0.9.31.tar.gz 21733142 BLAKE2B 00041eacd062ac4e535451d4b4a6ac6d92fb7a0b6328dad4c7424b1bf0b95f0d3d2915e5ed7392cbf2f36174e56ceff5fadcf795c3368b3f2a958d794ce0b66a SHA512 7a3df8dce3e354cc22af34d55546de6e033e8ed4f44530b89986c3e1a07961e5e1a132f12f2d3fc5b699c500e7b9e7ab3503d2bafc5041d9fb2dbc8d1479b79f
diff --git a/media-gfx/tuxpaint/files/tuxpaint-0.9.28-r2-Makefile.patch b/media-gfx/tuxpaint/files/tuxpaint-0.9.28-r2-Makefile.patch
deleted file mode 100644
index 6ea373620e3e..000000000000
--- a/media-gfx/tuxpaint/files/tuxpaint-0.9.28-r2-Makefile.patch
+++ /dev/null
@@ -1,231 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -73,7 +73,7 @@ endif
- # <HOSTROOT> is the directory containing support files for building for <HOST>:
- # <HOSTROOT>/include Header files.
- # <HOSTROOT>/lib Library files.
--# <HOSTROOT>/lib/pkgconfig *.pc files.
-+# <HOSTROOT>/pkgconfig *.pc files.
- #
- ifdef HOST
- ifdef HOSTROOT
-@@ -104,7 +104,7 @@ ifdef HOST
- # We set PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH because we want to
- # *change* where pkg-config looks for .pc files instead of adding to the
- # default path which may have libraries that aren't for HOST.
-- export PKG_CONFIG_LIBDIR:=$(HOSTROOT)/lib/pkgconfig
-+ export PKG_CONFIG_LIBDIR:=$(HOSTROOT)/$(GENTOO_LIBDIR)/pkgconfig
- endif
- endif
-
-@@ -170,14 +170,14 @@ windows_ARCH_CFLAGS:=
- macos_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -headerpad_max_install_names -DHAVE_STRCASESTR
- ios_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -fPIC -DHAVE_STRCASESTR -DUNLINK_ONLY
- beos_ARCH_CFLAGS:=
--linux_ARCH_CFLAGS:=
-+linux_ARCH_CFLAGS:=${CFLAGS}
- ARCH_CFLAGS:=$($(OS)_ARCH_CFLAGS)
-
- windows_ARCH_LDFLAGS:=
- macos_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS))
- ios_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS))
- beos_ARCH_LDFLAGS:=
--linux_ARCH_LDFLAGS:=
-+linux_ARCH_LDFLAGS:=${LDFLAGS}
- ARCH_LDFLAGS:=$($(OS)_ARCH_LDFLAGS)
- LDFLAGS:=$(ARCH_LDFLAGS)
-
-@@ -206,7 +206,7 @@ ARCH_HEADERS:=$($(OS)_ARCH_HEADERS)
- windows_PREFIX:=/usr/local
- macos_PREFIX:=Resources
- ios_PREFIX:=.
--linux_PREFIX:=/usr/local
-+linux_PREFIX:=/usr
- PREFIX:=$($(OS)_PREFIX)
-
- # Root directory to place files when creating packages.
-@@ -240,11 +240,11 @@ LIBDIR=$(PREFIX)
-
- # Magic Tool plug-ins
- INCLUDE_PREFIX:=$(DESTDIR)$(PREFIX)/include
--MAGIC_PREFIX:=$(DESTDIR)$(LIBDIR)/lib$(LIBDIRSUFFIX)/tuxpaint/plugins
-+MAGIC_PREFIX:=$(DESTDIR)$(LIBDIR)/${GENTOO_LIBDIR}/tuxpaint/plugins
-
- # Docs and man page:
--DOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/tuxpaint-$(VER_VERSION)
--DEVDOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/tuxpaint-$(VER_VERSION)/tuxpaint-dev
-+DOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/${PF}
-+DEVDOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/${PF}/tuxpaint-dev
- MAN_PREFIX:=$(DESTDIR)$(PREFIX)/share/man
- DEVMAN_PREFIX:=$(DESTDIR)$(PREFIX)/share/man
-
-@@ -359,7 +359,7 @@ MOUSE_CFLAGS:=-Isrc/$(MOUSEDIR) -D$(CURSOR_SHAPES)_CURSOR_SHAPES
- # are 132x80. On larger screens, they will be bigger (since the New dialog
- # is always 4x4 thumbnails); therefore, generating larger thumbs, which can
- # be still be scaled down fairly quickly (esp. complicated SVG ones).
--CONVERT_OPTS:=-alpha Background -alpha Off +depth -resize !264x160 -background white -interlace none
-+CONVERT_OPTS:=-resize 264x160 -background white -extent 0x0 -interlace none
-
- .SUFFIXES:
-
-@@ -447,7 +447,7 @@ INSTALLED_MODIRS:=$(patsubst trans/%.mo,$(LOCALE_PREFIX)/%/LC_MESSAGES,$(MOFILES
-
- $(INSTALLED_MODIRS): $(LOCALE_PREFIX)/%/LC_MESSAGES: trans/%.mo
- install -d -m 755 $@
--$(INSTALLED_MOFILES): $(LOCALE_PREFIX)/%/LC_MESSAGES/tuxpaint.mo: trans/%.mo
-+$(INSTALLED_MOFILES): $(LOCALE_PREFIX)/%/LC_MESSAGES/tuxpaint.mo: trans/%.mo $(INSTALLED_MODIRS)
- install -m 644 $< $@
-
- .PHONY: uninstall-i18n
-@@ -526,7 +526,7 @@ endif
-
- # Build the translation files for gettext
-
--$(MOFILES): trans/%.mo: src/po/%.po
-+$(MOFILES): trans/%.mo: src/po/%.po trans
- msgfmt -o $@ $<
-
- .PHONY: translations
-@@ -551,7 +551,7 @@ trans:
- windows_ARCH_INSTALL:=
- macos_ARCH_INSTALL:=install-macbundle
- ios_ARCH_INSTALL:=install-iosbundle
--linux_ARCH_INSTALL:=install-xdg install-man install-importscript install-bash-completion
-+linux_ARCH_INSTALL:=install-man install-importscript install-bash-completion
- ARCH_INSTALL:=$($(OS)_ARCH_INSTALL)
-
- # "make install" installs all of the various parts
-@@ -627,7 +627,7 @@ install-magic-plugins:
- $(DATA_PREFIX)/sounds/magic/*.ogg
-
- .PHONY: install-magic-plugins
--install-magic-plugin-dev: src/tp_magic_api.h
-+install-magic-plugin-dev: src/tp_magic_api.h install-bin
- @echo
- @echo "...Installing Magic Tool plug-in development files and docs..."
- @cp tp-magic-config $(BIN_PREFIX)
-@@ -719,12 +719,12 @@ uninstall: uninstall-i18n
- -rm $(BIN_PREFIX)/tuxpaint-import
- -rm -r $(DATA_PREFIX)
- -rm -r $(DOC_PREFIX)
-- -rm $(MAN_PREFIX)/man1/tuxpaint.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tuxpaint.1.gz
-- -rm $(MAN_PREFIX)/man1/tuxpaint-import.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tuxpaint-import.1.gz
-- -rm $(MAN_PREFIX)/man1/tp-magic-config.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tp-magic-config.1.gz
-+ -rm $(MAN_PREFIX)/man1/tuxpaint.1
-+ -rm $(MAN_PREFIX)/*/man1/tuxpaint.1
-+ -rm $(MAN_PREFIX)/man1/tuxpaint-import.1
-+ -rm $(MAN_PREFIX)/*/man1/tuxpaint-import.1
-+ -rm $(MAN_PREFIX)/man1/tp-magic-config.1
-+ -rm $(MAN_PREFIX)/*/man1/tp-magic-config.1
- -rm -f -r $(CONFDIR)
- -rm $(COMPLETIONDIR)/tuxpaint-completion.bash
- -rm -r $(MAGIC_PREFIX)
-@@ -783,7 +783,7 @@ install-example-stamps:
- STARTERS:=$(wildcard starters/*.*)
- INSTALLED_STARTERS:=$(patsubst %,$(DATA_PREFIX)/%,$(STARTERS))
-
--$(INSTALLED_STARTERS): $(DATA_PREFIX)/%: %
-+$(INSTALLED_STARTERS): $(DATA_PREFIX)/%: % install-example-starters-dirs
- install -m 644 $< $@
-
- install-example-starters-dirs:
-@@ -817,14 +817,14 @@ $(THUMB_STARTERS):
- @mkdir -p starters/.thumbs
- @if [ "x" != "x"$(STARTER_BACK_NAME) ] ; \
- then \
-- composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png ; \
-- convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ 2> /dev/null ; \
-+ gm composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png 2> /dev/null ; \
-+ gm convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ || echo "($@ failed)" ; \
- rm obj/tmp_$(notdir $(STARTER_NAME)).png ; \
- else \
-- convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-+ gm convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
- fi
-
--$(INSTALLED_THUMB_STARTERS): $(DATA_PREFIX)/%: %
-+$(INSTALLED_THUMB_STARTERS): $(DATA_PREFIX)/%: % install-example-starters-dirs
- @install -D -m 644 $< $@ || ( echo "NO THUMB $<" )
-
- .PHONY: echo-thumb-starters
-@@ -849,7 +849,7 @@ install-thumb-starters: echo-install-thumb-starters $(INSTALLED_THUMB_STARTERS)
- TEMPLATES:=$(wildcard templates/*.*)
- INSTALLED_TEMPLATES:=$(patsubst %,$(DATA_PREFIX)/%,$(TEMPLATES))
-
--$(INSTALLED_TEMPLATES): $(DATA_PREFIX)/%: %
-+$(INSTALLED_TEMPLATES): $(DATA_PREFIX)/%: % install-example-template-dirs
- install -m 644 $< $@
-
- install-example-template-dirs:
-@@ -876,7 +876,7 @@ TEMPLATE_NAME=$(or $(wildcard $(subst templates/.thumbs,templates,$(@:-t.png=.sv
- $(THUMB_TEMPLATES):
- @printf "."
- @mkdir -p templates/.thumbs
-- @convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-+ @gm convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-
- $(INSTALLED_THUMB_TEMPLATES): $(DATA_PREFIX)/%: %
- @install -D -m 644 $< $@ || ( echo "NO THUMB $<" )
-@@ -988,9 +988,9 @@ install-dlls:
- @cp -R win32/etc/ $(BIN_PREFIX)
- @echo
- @echo "...Installing Library Modules..."
-- @mkdir -p $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-- @cp $(MINGW_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-- @strip -s $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
-+ @mkdir -p $(BIN_PREFIX)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders
-+ @cp $(MINGW_DIR)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-+ @strip -s $(BIN_PREFIX)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
-
- # Install symlink:
- .PHONY: install-haiku
-@@ -1001,7 +1001,7 @@ install-haiku:
-
- # Install the import script:
- .PHONY: install-importscript
--install-importscript:
-+install-importscript: install-bin
- @echo
- @echo "...Installing 'tuxpaint-import' script..."
- @cp src/tuxpaint-import.sh $(BIN_PREFIX)/tuxpaint-import
-@@ -1065,24 +1065,20 @@ install-man:
- @install -d $(MAN_PREFIX)/man1
- @# tuxpaint.1
- @cp man/en/tuxpaint.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tuxpaint.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint.1
- @# tuxpaint-import.1
- @cp man/en/tuxpaint-import.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tuxpaint-import.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint-import.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint-import.1
- @# tp-magic-config.1
- @cp man/en/tp-magic-config.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tp-magic-config.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tp-magic-config.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tp-magic-config.1
- @echo
- for l in `ls -d man/*.UTF-8 | cut -d '/' -f 2`; do \
- DEST=$(MAN_PREFIX)/$$l/man1 ; \
- echo "...Installing $$l man pages into $$DEST..." ; \
- install -d $$DEST ; \
- cp man/$$l/tuxpaint.1 $$DEST ; \
-- gzip -f $$DEST/tuxpaint.1 ; \
-- chmod a+rx,g-w,o-w $$DEST/tuxpaint.1.gz ; \
-+ chmod a+rx,g-w,o-w $$DEST/tuxpaint.1 ; \
- done
- @# FIXME: The other man pages aren't localizable yet -bjk 2021.08.14
-
-@@ -1382,7 +1378,7 @@ SHARED_FLAGS:=-shared -fpic -lm
- MAGIC_C:=$(wildcard magic/src/*.c)
- MAGIC_SO:=$(patsubst magic/src/%.c,magic/%.$(SO_TYPE),$(MAGIC_C))
-
--$(MAGIC_SO): magic/%.$(SO_TYPE): magic/src/%.c
-+$(MAGIC_SO): magic/%.$(SO_TYPE): magic/src/%.c src/tp_magic_api.h
- $(CC) $(MAGIC_CFLAGS) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $< $(PLUGIN_LIBS)
- # Probably should separate the various flags like the following:
- # $(CC) $(PLUG_CPPFLAGS) $(PLUG_CFLAGS) $(PLUG_LDFLAGS) -o $@ $< $(PLUG_LIBS)
diff --git a/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile-trans.patch b/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile-trans.patch
deleted file mode 100644
index 20868602f65b..000000000000
--- a/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile-trans.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-# Sometimes the trans directory isn't created before
-# accessing it.
-# Upstream commit b452d84d2544a38eca1d2e4e9686a8eaef197d0f
-# fixes this.
---- a/Makefile
-+++ b/Makefile
-@@ -535,6 +535,7 @@ endif
- # Build the translation files for gettext
-
- $(MOFILES): trans/%.mo: src/po/%.po
-+ @-mkdir -p trans
- msgfmt -o $@ $<
-
- %.desktop: %.desktop.in $(POTFILES)
-@@ -552,14 +553,9 @@ translations: trans
- @echo "Install gettext to run Tux Paint in non-U.S. English modes."
- @echo "--------------------------------------------------------------"
- else
--translations: trans $(MOFILES) src/tuxpaint.desktop src/tuxpaint-fullscreen.desktop src/org.tuxpaint.Tuxpaint.appdata.xml
-+translations: $(MOFILES) src/tuxpaint.desktop src/tuxpaint-fullscreen.desktop src/org.tuxpaint.Tuxpaint.appdata.xml
- endif
-
--trans:
-- @echo
-- @echo "...Preparing translation files..."
-- @mkdir trans
--
- ######
-
- windows_ARCH_INSTALL:=
diff --git a/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile.patch b/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile.patch
deleted file mode 100644
index e0b1c43a03bb..000000000000
--- a/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-diff --git a/Makefile.old b/Makefile
-index 88d0d02..ab71f97 100644
---- a/Makefile.old
-+++ b/Makefile
-@@ -74,7 +74,7 @@ endif
- # <HOSTROOT> is the directory containing support files for building for <HOST>:
- # <HOSTROOT>/include Header files.
- # <HOSTROOT>/lib Library files.
--# <HOSTROOT>/lib/pkgconfig *.pc files.
-+# <HOSTROOT>/pkgconfig *.pc files.
- #
- ifdef HOST
- ifdef HOSTROOT
-@@ -105,7 +105,7 @@ ifdef HOST
- # We set PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH because we want to
- # *change* where pkg-config looks for .pc files instead of adding to the
- # default path which may have libraries that aren't for HOST.
-- export PKG_CONFIG_LIBDIR:=$(HOSTROOT)/lib/pkgconfig
-+ export PKG_CONFIG_LIBDIR:=$(HOSTROOT)/$(GENTOO_LIBDIR)/pkgconfig
- endif
- endif
-
-@@ -171,14 +171,14 @@ windows_ARCH_CFLAGS:=
- macos_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -headerpad_max_install_names -DHAVE_STRCASESTR
- ios_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -fPIC -DHAVE_STRCASESTR -DUNLINK_ONLY
- beos_ARCH_CFLAGS:=
--linux_ARCH_CFLAGS:=
-+linux_ARCH_CFLAGS:=${CFLAGS}
- ARCH_CFLAGS:=$($(OS)_ARCH_CFLAGS)
-
- windows_ARCH_LDFLAGS:=
- macos_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS))
- ios_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS))
- beos_ARCH_LDFLAGS:=
--linux_ARCH_LDFLAGS:=
-+linux_ARCH_LDFLAGS:=${LDFLAGS}
- ARCH_LDFLAGS:=$($(OS)_ARCH_LDFLAGS)
- LDFLAGS:=$(ARCH_LDFLAGS)
-
-@@ -207,7 +207,7 @@ ARCH_HEADERS:=$($(OS)_ARCH_HEADERS)
- windows_PREFIX:=/usr/local
- macos_PREFIX:=Resources
- ios_PREFIX:=.
--linux_PREFIX:=/usr/local
-+linux_PREFIX:=/usr
- PREFIX:=$($(OS)_PREFIX)
-
- # Root directory to place files when creating packages.
-@@ -241,10 +241,10 @@ LIBDIR=$(PREFIX)
-
- # Magic Tool plug-ins
- INCLUDE_PREFIX:=$(DESTDIR)$(PREFIX)/include
--MAGIC_PREFIX:=$(DESTDIR)$(LIBDIR)/lib$(LIBDIRSUFFIX)/tuxpaint/plugins
-+MAGIC_PREFIX:=$(DESTDIR)$(LIBDIR)/${GENTOO_LIBDIR}/tuxpaint/plugins
-
- # Docs and man page:
--DOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/tuxpaint-$(VER_VERSION)
-+DOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/${PF}
- MAN_PREFIX:=$(DESTDIR)$(PREFIX)/share/man
- DEVMAN_PREFIX:=$(DESTDIR)$(PREFIX)/share/man
-
-@@ -367,7 +367,7 @@ MOUSE_CFLAGS:=-Isrc/$(MOUSEDIR) -D$(CURSOR_SHAPES)_CURSOR_SHAPES
- # are 132x80. On larger screens, they will be bigger (since the New dialog
- # is always 4x4 thumbnails); therefore, generating larger thumbs, which can
- # be still be scaled down fairly quickly (esp. complicated SVG ones).
--CONVERT_OPTS:=-alpha Background -alpha Off +depth -resize !264x160 -background white -interlace none
-+CONVERT_OPTS:=-resize 264x160 -background white -extent 0x0 -interlace none
-
- .SUFFIXES:
-
-@@ -551,7 +551,7 @@ trans:
- windows_ARCH_INSTALL:=
- macos_ARCH_INSTALL:=install-macbundle
- ios_ARCH_INSTALL:=install-iosbundle
--linux_ARCH_INSTALL:=install-xdg install-man install-importscript install-bash-completion
-+linux_ARCH_INSTALL:=install-man install-importscript install-bash-completion
- ARCH_INSTALL:=$($(OS)_ARCH_INSTALL)
-
- # "make install" installs all of the various parts
-@@ -719,12 +719,12 @@ uninstall: uninstall-i18n
- -rm $(BIN_PREFIX)/tuxpaint-import
- -rm -r $(DATA_PREFIX)
- -rm -r $(DOC_PREFIX)
-- -rm $(MAN_PREFIX)/man1/tuxpaint.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tuxpaint.1.gz
-- -rm $(MAN_PREFIX)/man1/tuxpaint-import.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tuxpaint-import.1.gz
-- -rm $(MAN_PREFIX)/man1/tp-magic-config.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tp-magic-config.1.gz
-+ -rm $(MAN_PREFIX)/man1/tuxpaint.1
-+ -rm $(MAN_PREFIX)/*/man1/tuxpaint.1
-+ -rm $(MAN_PREFIX)/man1/tuxpaint-import.1
-+ -rm $(MAN_PREFIX)/*/man1/tuxpaint-import.1
-+ -rm $(MAN_PREFIX)/man1/tp-magic-config.1
-+ -rm $(MAN_PREFIX)/*/man1/tp-magic-config.1
- -rm -f -r $(CONFDIR)
- -rm $(COMPLETIONDIR)/tuxpaint-completion.bash
- -rm -r $(MAGIC_PREFIX)
-@@ -855,11 +855,11 @@ $(THUMB_STARTERS):
- @mkdir -p starters/.thumbs
- @if [ "x" != "x"$(STARTER_BACK_NAME) ] ; \
- then \
-- composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png ; \
-- convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ 2> /dev/null ; \
-+ gm composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png 2> /dev/null ; \
-+ gm convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ || echo "($@ failed)" ; \
- rm obj/tmp_$(notdir $(STARTER_NAME)).png ; \
- else \
-- convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-+ gm convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
- fi
-
- $(INSTALLED_THUMB_STARTERS): $(DATA_PREFIX)/%: % install-example-starters-dirs
-@@ -876,7 +876,7 @@ TEMPLATE_NAME=$(or $(wildcard $(subst templates/.thumbs,templates,$(@:-t.png=.sv
- $(THUMB_TEMPLATES):
- @printf "."
- @mkdir -p templates/.thumbs
-- @convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-+ @gm convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-
- $(INSTALLED_THUMB_TEMPLATES): $(DATA_PREFIX)/%: %
- @install -D -m 644 $< $@ || ( echo "NO THUMB $<" )
-@@ -988,9 +988,9 @@ install-dlls:
- @cp -R win32/etc/ $(BIN_PREFIX)
- @echo
- @echo "...Installing Library Modules..."
-- @mkdir -p $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-- @cp $(MINGW_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-- @strip -s $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
-+ @mkdir -p $(BIN_PREFIX)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders
-+ @cp $(MINGW_DIR)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-+ @strip -s $(BIN_PREFIX)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
-
- # Install symlink:
- .PHONY: install-haiku
-@@ -1065,24 +1065,20 @@ install-man:
- @install -d $(MAN_PREFIX)/man1
- @# tuxpaint.1
- @cp man/en/tuxpaint.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tuxpaint.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint.1
- @# tuxpaint-import.1
- @cp man/en/tuxpaint-import.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tuxpaint-import.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint-import.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint-import.1
- @# tp-magic-config.1
- @cp man/en/tp-magic-config.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tp-magic-config.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tp-magic-config.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tp-magic-config.1
- @echo
- for l in `ls -d man/*.UTF-8 | cut -d '/' -f 2`; do \
- DEST=$(MAN_PREFIX)/$$l/man1 ; \
- echo "...Installing $$l man pages into $$DEST..." ; \
- install -d $$DEST ; \
- cp man/$$l/tuxpaint.1 $$DEST ; \
-- gzip -f $$DEST/tuxpaint.1 ; \
-- chmod a+rx,g-w,o-w $$DEST/tuxpaint.1.gz ; \
-+ chmod a+rx,g-w,o-w $$DEST/tuxpaint.1 ; \
- done
- @# FIXME: The other man pages aren't localizable yet -bjk 2021.08.14
-
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild
deleted file mode 100644
index 4f052a0122e2..000000000000
--- a/media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2023 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="mirror://sourceforge/${PN}/${P}-sdl1.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/${P}-sdl1
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-RDEPEND="
- app-text/libpaper:=
- dev-libs/fribidi
- gnome-base/librsvg:2
- >=media-libs/libpng-1.2:0=
- >=media-libs/freetype-2:2
- media-libs/libsdl[X,joystick]
- media-libs/sdl-image[png]
- media-libs/sdl-mixer
- media-libs/sdl-pango
- media-libs/sdl-ttf
- media-libs/sdl-gfx:=
- media-gfx/libimagequant
- sys-libs/zlib
- x11-libs/cairo
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/gperf
- media-gfx/graphicsmagick[jpeg,png,svg]
- sys-devel/gettext
-"
-
-PATCHES=(
- "${FILESDIR}"/${PF}-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.29.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild
index 2c871dc42c61..1be1e1d0fdb1 100644
--- a/media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild
+++ b/media-gfx/tuxpaint/tuxpaint-0.9.31-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,12 +7,12 @@ 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"
SLOT="0"
-KEYWORDS="amd64 ppc x86"
+KEYWORDS="amd64 ~ppc ~x86"
RDEPEND="
app-text/libpaper:=
@@ -33,13 +33,12 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gperf
- media-gfx/graphicsmagick[jpeg,png,svg]
+ media-gfx/graphicsmagick[jpeg,png]
sys-devel/gettext
"
PATCHES=(
- "${FILESDIR}"/${PF}-Makefile.patch
- "${FILESDIR}"/${PF}-Makefile-trans.patch
+ "${FILESDIR}"/${P}-Makefile.patch
)
src_compile() {
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/ueberzug/Manifest b/media-gfx/ueberzug/Manifest
index 526b930ecc55..165aecc0a633 100644
--- a/media-gfx/ueberzug/Manifest
+++ b/media-gfx/ueberzug/Manifest
@@ -1 +1 @@
-DIST ueberzug-18.2.2.tar.gz 56773 BLAKE2B dd3fdfe3820ac7344c574ab2031f0217b17a4b4ec4cd59f2447968abb6605a57ee77bab45f943f6d2501ad9c6e5ee3bf4c677f990814d676641bfe314e301dd4 SHA512 027d3b92711981d2334ba000cef9b424b01d962516432defaa287e2ca22d496a1f29c663f155838d74d91f26c355ac6af54c6513c33258676f315f9560e7256a
+DIST ueberzug-18.2.3.tar.gz 57640 BLAKE2B c174f39cb20a24c07f12088e595492960319a9fd5079e0a23e9632353fa7c93762621224a3fde4b2462931647239e3614ed9a1dffc635fea7a51c58d2b846b68 SHA512 6f8f342b4a593e857f70c053fc5b9e75bc2c3a063221ca64850acb8c325323bee50c9d471fe55de6bbb484d8c958d5bf3037e836b52734d617f1cea4be509a08
diff --git a/media-gfx/ueberzug/ueberzug-18.2.2.ebuild b/media-gfx/ueberzug/ueberzug-18.2.3.ebuild
index 5a026a9cbace..2f812a2152f9 100644
--- a/media-gfx/ueberzug/ueberzug-18.2.2.ebuild
+++ b/media-gfx/ueberzug/ueberzug-18.2.3.ebuild
@@ -1,16 +1,19 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Command line util to draw images on terminals by using child windows"
HOMEPAGE="https://github.com/ueber-devel/ueberzug/"
-SRC_URI="https://github.com/ueber-devel/ueberzug/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="
+ https://github.com/ueber-devel/ueberzug/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
LICENSE="GPL-3"
SLOT="0"
@@ -19,24 +22,19 @@ KEYWORDS="amd64 x86"
COMMON_DEPEND="
x11-libs/libX11
x11-libs/libXext
- x11-libs/libXres"
+ x11-libs/libXres
+"
RDEPEND="
${COMMON_DEPEND}
dev-python/attrs[${PYTHON_USEDEP}]
dev-python/docopt[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
- !media-gfx/ueberzugpp"
+ !media-gfx/ueberzugpp
+"
DEPEND="
${COMMON_DEPEND}
- x11-base/xorg-proto"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # fix version
- [[ ${PV} == 18.2.2 ]] || die "drop version workaround"
- sed -i "/^__version__/s/18.2.1/${PV}/" ueberzug/__init__.py || die
-}
+ x11-base/xorg-proto
+"
python_install() {
distutils-r1_python_install
diff --git a/media-gfx/ueberzugpp/Manifest b/media-gfx/ueberzugpp/Manifest
index e49d5e6986a0..88fcaf5db155 100644
--- a/media-gfx/ueberzugpp/Manifest
+++ b/media-gfx/ueberzugpp/Manifest
@@ -1 +1 @@
-DIST ueberzugpp-2.9.4.tar.gz 67825 BLAKE2B 185919717cbbe97b98a44c2b91e244cf72bd760033b1a9d82e0d2f06db1d9b6d57557f57f4cedec8408d61e16658e90977569a63eb17a38afb36b134ff21889b SHA512 3d47874ecde4cc9030490c878851a21d94554538200ba41e87dd9f3aa760a6ed511aad573b820798492a82e4c49219cd4cdc79f5c99c6a80c322d09e618f82a6
+DIST ueberzugpp-2.9.6.tar.gz 69379 BLAKE2B 86d29724ff768536bef2385d456d61509db58c8e83fe0c9711684f86b70e1e45d1d1bb7b970a036c408f575e8d31659b336111cfcc0dc39f7867010e56d9e79b SHA512 bb70933cbc887cc3967c6011f0616d056f5723f333f6cfd70e7a3dd785791b83b9855c0b3d0c901efc59d65ba113462946bc0f08d57cf845ec6c59ec861da874
diff --git a/media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild b/media-gfx/ueberzugpp/ueberzugpp-2.9.6.ebuild
index d37875aaaff8..1cb4d698e37a 100644
--- a/media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild
+++ b/media-gfx/ueberzugpp/ueberzugpp-2.9.6.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/"
@@ -15,7 +15,7 @@ SRC_URI="
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64"
-IUSE="X opencv opengl wayland xcb-errors"
+IUSE="X dbus opencv opengl wayland xcb-errors"
REQUIRED_USE="xcb-errors? ( X )"
RDEPEND="
@@ -25,7 +25,6 @@ RDEPEND="
dev-libs/openssl:=
dev-libs/spdlog:=
media-gfx/chafa
- media-libs/libexif
media-libs/libsixel
media-libs/vips:=
X? (
@@ -33,6 +32,7 @@ RDEPEND="
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 )
@@ -54,10 +54,18 @@ BDEPEND="
"
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
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/vkBasalt/metadata.xml b/media-gfx/vkBasalt/metadata.xml
index 27df3f93f60e..8e173854dd87 100644
--- a/media-gfx/vkBasalt/metadata.xml
+++ b/media-gfx/vkBasalt/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="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">DadSchoorse/vkBasalt</remote-id>
</upstream>
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..28ef33da829e 100644
--- a/media-gfx/xdot/Manifest
+++ b/media-gfx/xdot/Manifest
@@ -1 +1 @@
-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.4.ebuild
index 6aa87e23e299..5592a37dd4f3 100644
--- a/media-gfx/xdot/xdot-1.3.ebuild
+++ b/media-gfx/xdot/xdot-1.4.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/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/Manifest b/media-gfx/xv/Manifest
index 0dba1fc6c996..2b0fc9216a39 100644
--- a/media-gfx/xv/Manifest
+++ b/media-gfx/xv/Manifest
@@ -1,3 +1,4 @@
DIST xv-3.10a-jumbo-patches-20070520.tar.gz 1363802 BLAKE2B 1a9f77b950dfa817aa861d9b2b6898d6e378b4a61a57c746a8822793a8e11e54165faf859e073ef99c9fbea5aa0c4c8caa4608ef03f553003b779a4bf59c3ab6 SHA512 e2ac5a3b4d743bf142c162b00815dd9d8dcaf345d0649016b2c6441fe2329879471b19453808e677c1a0b8eeb3468295dba160b1f30eacb2a7a9d8524ce03e75
DIST xv-3.10a.png.bz2 3082 BLAKE2B 05f56053fc0a77bba155db306ae181f5404bced3b2c22a33b3a0a0750b84461ffec98934d3dbabd764fbb6ec95ce2851f4cf3959682a315fe6e6653cbaaa5ae4 SHA512 41e81c34e74a034292c2a8f525d1452614a2b42e980a1a2c93e3fcf990db528853d633496815e5fb2c897a780a2da171af590f436e2c7ef181eea00eb6922e9b
DIST xv-3.10a.tar.gz 2259124 BLAKE2B 42cea578a879c819be8f42ffb1d247643904d8b462a4d6faa208185e49566798605c89006cbc190725fa6356b87da3375cf04d2ba86b559419cf8f7471c867e5 SHA512 5b8c5890503e2796638921cabae8967e458c73e332acea8561b1025ed13c771bc44c0e309b4592852e33726eeaa9784f933d1312073b0ba2e0b8c0cedabcaa3f
+DIST xv-5.2.0.tar.gz 4785784 BLAKE2B 46dc637cbbeabfe1c034c34e73040de6efebbf5f423fe429028ebfeefd2fce5af0fdaff1c52db4807b8eb88de89dae6b7f0e2c8a3522a3d9b103d5777783a52d SHA512 0af7ff6db152be849c27be9fba116513595deeca9e3eb42ec6fd74a4756d0c525b55a40de49aa37dd5d2ea4a29e6d644c8c4c709f0e1ec0a98cbc0ae7221b110
diff --git a/media-gfx/xv/files/xv-5.2.0-osx-bsd.patch b/media-gfx/xv/files/xv-5.2.0-osx-bsd.patch
new file mode 100644
index 000000000000..27059386446d
--- /dev/null
+++ b/media-gfx/xv/files/xv-5.2.0-osx-bsd.patch
@@ -0,0 +1,51 @@
+diff '--color=auto' -ur a/src/vdcomp.c b/src/vdcomp.c
+--- a/src/vdcomp.c 2024-07-17 09:37:04.957769272 -0500
++++ b/src/vdcomp.c 2024-07-17 09:44:30.582594953 -0500
+@@ -130,6 +130,8 @@
+
+ # if defined(hp300) || defined(hp800) || defined(NeXT)
+ # include <sys/malloc.h> /* it's in "sys" on HPs and NeXT */
++# elif defined(__APPLE__)
++# include <malloc/malloc.h>
+ # else
+ # include <malloc.h> /* FIXME: should explicitly list systems that NEED this, not everyone that doesn't */
+ # endif
+diff '--color=auto' -ur a/src/xv.h b/src/xv.h
+--- a/src/xv.h 2024-07-17 09:37:04.957769272 -0500
++++ b/src/xv.h 2024-07-17 09:41:42.912041683 -0500
+@@ -183,7 +183,7 @@
+
+ #ifndef VMS
+ # include <errno.h>
+-# ifndef __NetBSD__
++# if !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__APPLE__)
+ # if !(defined(__GLIBC__) && __GLIBC__ >= 2) && !defined(__OpenBSD__)
+ extern int errno; /* SHOULD be in errno.h, but often isn't */
+ # ifndef XV_HAVE_SYSERRLISTDECL
+@@ -199,7 +199,7 @@
+ # ifdef VMS
+ # define ERRSTR(x) strerror(x, vaxc$errno)
+ # else
+-# if defined(__BEOS__) || defined(__linux__) /* or all modern/glibc systems? */
++# if defined(__BEOS__) || defined(__linux__) || defined(__APPLE__) /* or all modern/glibc systems? */
+ # define ERRSTR(x) strerror(x)
+ # else
+ # define ERRSTR(x) sys_errlist[x]
+@@ -236,6 +236,8 @@
+ #ifdef NEED_MALLOC_H
+ # if defined(hp300) || defined(hp800) || defined(NeXT)
+ # include <sys/malloc.h> /* it's in "sys" on HPs and NeXT */
++# elif defined(__APPLE__)
++# include <malloc/malloc.h>
+ # else
+ # include <malloc.h>
+ # endif
+@@ -399,7 +401,7 @@
+ * them later. */
+ #ifndef VMS /* VMS hates multi-line definitions */
+ # if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || \
+- defined(__bsdi__)
++ defined(__FreeBSD__) || defined(__bsdi__) || defined(__APPLE__)
+ # ifndef USE_MKSTEMP
+ # define USE_MKSTEMP /* use 'mkstemp()' instead of 'mktemp()' */
+ # endif /* >> SECURITY ISSUE << */
diff --git a/media-gfx/xv/metadata.xml b/media-gfx/xv/metadata.xml
index 03458a5affcb..6f2f9f849997 100644
--- a/media-gfx/xv/metadata.xml
+++ b/media-gfx/xv/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>bkohler@gentoo.org</email>
+ <name>Ben Kohler</name>
+ </maintainer>
<upstream>
<remote-id type="sourceforge">png-mng</remote-id>
+ <remote-id type="github">jasper-software/xv</remote-id>
</upstream>
</pkgmetadata>
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"
diff --git a/media-gfx/xv/xv-5.2.0.ebuild b/media-gfx/xv/xv-5.2.0.ebuild
new file mode 100644
index 000000000000..49af68754450
--- /dev/null
+++ b/media-gfx/xv/xv-5.2.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop
+
+JUMBOV=20070520
+DESCRIPTION="Interactive image manipulation program supporting a wide variety of formats"
+HOMEPAGE="https://github.com/jasper-software/xv/"
+SRC_URI="https://github.com/jasper-software/xv/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ mirror://gentoo/xv-3.10a.png.bz2"
+
+LICENSE="xv"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="jpeg tiff png webp"
+
+DEPEND="
+ x11-libs/libXt
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ tiff? ( media-libs/tiff:= )
+ png? (
+ >=media-libs/libpng-1.2:=
+ sys-libs/zlib
+ )
+ webp? ( media-libs/libwebp:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/xv-5.2.0-osx-bsd.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -DXV_ENABLE_JPEG=$(usex jpeg)
+ -DXV_ENABLE_JP2K=OFF
+ -DXV_ENABLE_PNG=$(usex png)
+ -DXV_ENABLE_TIFF=$(usex tiff)
+ -DXV_ENABLE_WEBP=$(usex webp)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ newicon "${WORKDIR}"/xv-3.10a.png ${PN}.png
+ make_desktop_entry xv "" "" "Graphics;Viewer"
+}