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/alembic-1.8.6.ebuild2
-rw-r--r--media-gfx/alembic/metadata.xml4
-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.ebuild18
-rw-r--r--media-gfx/asymptote/Manifest1
-rw-r--r--media-gfx/asymptote/asymptote-2.86.ebuild2
-rw-r--r--media-gfx/asymptote/asymptote-2.89.ebuild243
-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/Manifest10
-rw-r--r--media-gfx/blender/blender-3.3.15.ebuild (renamed from media-gfx/blender/blender-3.3.6-r1.ebuild)26
-rw-r--r--media-gfx/blender/blender-3.3.8.ebuild13
-rw-r--r--media-gfx/blender/blender-3.4.1-r3.ebuild441
-rw-r--r--media-gfx/blender/blender-3.6.0.ebuild444
-rw-r--r--media-gfx/blender/blender-3.6.8.ebuild (renamed from media-gfx/blender/blender-3.6.5.ebuild)17
-rw-r--r--media-gfx/blender/blender-4.0.2-r1.ebuild (renamed from media-gfx/blender/blender-4.0.1-r1.ebuild)220
-rw-r--r--media-gfx/blender/blender-4.1.1.ebuild (renamed from media-gfx/blender/blender-3.5.1-r1.ebuild)310
-rw-r--r--media-gfx/blender/blender-9999.ebuild233
-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.xml14
-rw-r--r--media-gfx/chafa/chafa-1.12.5-r1.ebuild2
-rw-r--r--media-gfx/converseen/converseen-0.12.0.1.ebuild2
-rw-r--r--media-gfx/curtail/Manifest2
-rw-r--r--media-gfx/curtail/curtail-1.8.0-r1.ebuild (renamed from media-gfx/curtail/curtail-1.8.0.ebuild)2
-rw-r--r--media-gfx/curtail/curtail-1.9.1.ebuild (renamed from media-gfx/curtail/curtail-1.7.0.ebuild)9
-rw-r--r--media-gfx/darktable/darktable-4.6.1.ebuild2
-rw-r--r--media-gfx/darktable/files/darktable-3.0.2_cmake-march-autodetection.patch26
-rw-r--r--media-gfx/darktable/files/darktable-4.2.1-exiv2-0.28.patch215
-rw-r--r--media-gfx/digikam/Manifest3
-rw-r--r--media-gfx/digikam/digikam-8.2.0.ebuild162
-rw-r--r--media-gfx/digikam/digikam-8.3.0.ebuild (renamed from media-gfx/digikam/digikam-8.1.0-r1.ebuild)42
-rw-r--r--media-gfx/digikam/files/digikam-8.1.0-cmake.patch180
-rw-r--r--media-gfx/digikam/files/digikam-8.1.0-fix-config-for-scaling-high-res-icons.patch45
-rw-r--r--media-gfx/digikam/files/digikam-8.2.0-akonadi.patch95
-rw-r--r--media-gfx/digikam/files/digikam-8.3.0-cmake-addressbook.patch26
-rw-r--r--media-gfx/digikam/files/digikam-8.3.0-cmake.patch (renamed from media-gfx/digikam/files/digikam-8.2.0-cmake.patch)49
-rw-r--r--media-gfx/digikam/metadata.xml3
-rw-r--r--media-gfx/enblend/Manifest1
-rw-r--r--media-gfx/enblend/enblend-4.2.0_p20240424.ebuild (renamed from media-gfx/enblend/enblend-4.2.0_p20161007-r5.ebuild)21
-rw-r--r--media-gfx/enblend/files/enblend-4.2.0_p20240424-doc-install-dir-fix.patch45
-rw-r--r--media-gfx/entangle/entangle-3.0-r3.ebuild6
-rw-r--r--media-gfx/eog/Manifest2
-rw-r--r--media-gfx/eog/eog-45.3.ebuild (renamed from media-gfx/eog/eog-45.2.ebuild)0
-rw-r--r--media-gfx/eom/Manifest2
-rw-r--r--media-gfx/eom/eom-1.28.0.ebuild (renamed from media-gfx/eom/eom-1.27.1.ebuild)4
-rw-r--r--media-gfx/exact-image/Manifest1
-rw-r--r--media-gfx/exact-image/exact-image-1.2.1-r1.ebuild97
-rw-r--r--media-gfx/exact-image/files/exact-image-1.2.1-gcc6.patch32
-rw-r--r--media-gfx/exif/Manifest2
-rw-r--r--media-gfx/exif/exif-0.6.22-r1.ebuild4
-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.1-r2.ebuild)17
-rw-r--r--media-gfx/exiv2/exiv2-0.28.2.ebuild131
-rw-r--r--media-gfx/exiv2/files/exiv2-0.28.1-exiv2lib.patch31
-rw-r--r--media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild2
-rw-r--r--media-gfx/flameshot/flameshot-12.1.0-r2.ebuild12
-rw-r--r--media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch174
-rw-r--r--media-gfx/fontforge/fontforge-20230101-r1.ebuild111
-rw-r--r--media-gfx/fontforge/fontforge-20230101.ebuild4
-rw-r--r--media-gfx/fotocx/Manifest5
-rw-r--r--media-gfx/fotocx/files/fotocx-24.20-documentation.patch (renamed from media-gfx/fotocx/files/fotocx-24.11-documentation.patch)30
-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-23.70.ebuild)22
-rw-r--r--media-gfx/fotocx/fotocx-24.30.ebuild (renamed from media-gfx/fotocx/fotocx-24.11.ebuild)10
-rw-r--r--media-gfx/fotowall/metadata.xml5
-rw-r--r--media-gfx/freecad/Manifest1
-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-shiboken-6.7.0.patch8
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch33
-rw-r--r--media-gfx/freecad/freecad-0.20.2-r1.ebuild325
-rw-r--r--media-gfx/freecad/freecad-0.20.2-r2.ebuild324
-rw-r--r--media-gfx/freecad/freecad-0.20.2.ebuild307
-rw-r--r--media-gfx/freecad/freecad-0.21.2-r2.ebuild (renamed from media-gfx/freecad/freecad-0.21.2-r1.ebuild)28
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild17
-rw-r--r--media-gfx/freecad/metadata.xml4
-rw-r--r--media-gfx/freepv/freepv-0.3.0-r5.ebuild4
-rw-r--r--media-gfx/geeqie/Manifest4
-rw-r--r--media-gfx/geeqie/files/geeqie-2.3-locale.patch11
-rw-r--r--media-gfx/geeqie/files/geeqie-2.3-test-ancillary.patch13
-rw-r--r--media-gfx/geeqie/geeqie-2.1-r1.ebuild7
-rw-r--r--media-gfx/geeqie/geeqie-2.2.ebuild7
-rw-r--r--media-gfx/geeqie/geeqie-2.3.ebuild119
-rw-r--r--media-gfx/geeqie/geeqie-2.4.ebuild117
-rw-r--r--media-gfx/geeqie/geeqie-9999.ebuild11
-rw-r--r--media-gfx/gifsicle/gifsicle-1.94.ebuild4
-rw-r--r--media-gfx/gimp/Manifest2
-rw-r--r--media-gfx/gimp/files/gimp-2.10.36_c99_metadata.patch27
-rw-r--r--media-gfx/gimp/files/gimp-2.10.36_c99_tiff.patch27
-rw-r--r--media-gfx/gimp/gimp-2.10.34-r1.ebuild213
-rw-r--r--media-gfx/gimp/gimp-2.10.36-r2.ebuild (renamed from media-gfx/gimp/gimp-2.10.36-r1.ebuild)2
-rw-r--r--media-gfx/gimp/gimp-2.99.18.ebuild (renamed from media-gfx/gimp/gimp-2.99.16.ebuild)23
-rw-r--r--media-gfx/gimp/gimp-9999.ebuild19
-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-44.0.ebuild30
-rw-r--r--media-gfx/gnuclad/gnuclad-0.2.4-r1.ebuild (renamed from media-gfx/gnuclad/gnuclad-0.2.4.ebuild)15
-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.ebuild163
-rw-r--r--media-gfx/graphicsmagick/graphicsmagick-9999.ebuild6
-rw-r--r--media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild20
-rw-r--r--media-gfx/graphviz/Manifest3
-rw-r--r--media-gfx/graphviz/graphviz-10.0.1.ebuild (renamed from media-gfx/graphviz/graphviz-8.1.0.ebuild)14
-rw-r--r--media-gfx/graphviz/graphviz-11.0.0.ebuild221
-rw-r--r--media-gfx/graphviz/graphviz-9.0.0.ebuild9
-rw-r--r--media-gfx/graphviz/metadata.xml2
-rw-r--r--media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild2
-rw-r--r--media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild4
-rw-r--r--media-gfx/gthumb/Manifest4
-rw-r--r--media-gfx/gthumb/files/3.12.2-date-format.patch32
-rw-r--r--media-gfx/gthumb/files/3.12.2-libraw-0.21.patch55
-rw-r--r--media-gfx/gthumb/files/3.12.2-link-with-x11.patch14
-rw-r--r--media-gfx/gthumb/gthumb-3.12.2-r5.ebuild113
-rw-r--r--media-gfx/gthumb/gthumb-3.12.4.ebuild107
-rw-r--r--media-gfx/gthumb/gthumb-3.12.6.ebuild (renamed from media-gfx/gthumb/gthumb-3.12.3.ebuild)2
-rw-r--r--media-gfx/hugin/Manifest1
-rw-r--r--media-gfx/hugin/files/hugin-2022.0.0-exiv2-0.28.patch99
-rw-r--r--media-gfx/hugin/hugin-2022.0.0-r1.ebuild103
-rw-r--r--media-gfx/hugin/hugin-2022.0.0.ebuild99
-rw-r--r--media-gfx/hugin/hugin-2023.0.0-r1.ebuild (renamed from media-gfx/hugin/hugin-2023.0.0.ebuild)9
-rw-r--r--media-gfx/hugin/hugin-9999.ebuild3
-rw-r--r--media-gfx/hydrus/Manifest5
-rw-r--r--media-gfx/hydrus/files/userpath-in-local-share.patch13
-rw-r--r--media-gfx/hydrus/hydrus-534.ebuild150
-rw-r--r--media-gfx/hydrus/hydrus-565.ebuild (renamed from media-gfx/hydrus/hydrus-538.ebuild)10
-rw-r--r--media-gfx/imagemagick/Manifest4
-rw-r--r--media-gfx/imagemagick/files/imagemagick-7.1.1.24-c99.patch47
-rw-r--r--media-gfx/imagemagick/files/policy-hardening.snippet9
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.12.89-r1.ebuild271
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.13.2.ebuild246
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild2
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.11.ebuild281
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.24.ebuild253
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.25.ebuild2
-rw-r--r--media-gfx/imageworsener/files/imageworsener-1.3.5-runtest-exit-code.patch24
-rw-r--r--media-gfx/imageworsener/imageworsener-1.3.5.ebuild8
-rw-r--r--media-gfx/imv/Manifest1
-rw-r--r--media-gfx/imv/imv-4.4.0-r1.ebuild83
-rw-r--r--media-gfx/imv/imv-4.5.0.ebuild2
-rw-r--r--media-gfx/inkscape/Manifest1
-rw-r--r--media-gfx/inkscape/files/inkscape-1.2.2-fix-compile.patch46
-rw-r--r--media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch61
-rw-r--r--media-gfx/inkscape/inkscape-1.2.2-r4.ebuild195
-rw-r--r--media-gfx/inkscape/inkscape-1.3.2-r2.ebuild (renamed from media-gfx/inkscape/inkscape-1.3.2.ebuild)20
-rw-r--r--media-gfx/inkscape/inkscape-9999.ebuild15
-rw-r--r--media-gfx/iscan/metadata.xml12
-rw-r--r--media-gfx/jhead/Manifest2
-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.patch42
-rw-r--r--media-gfx/jhead/jhead-3.06.0.1-r1.ebuild27
-rw-r--r--media-gfx/jhead/jhead-3.08-r1.ebuild42
-rw-r--r--media-gfx/jp2a/Manifest2
-rw-r--r--media-gfx/jp2a/jp2a-1.1.1.ebuild4
-rw-r--r--media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild4
-rw-r--r--media-gfx/kgraphviewer/Manifest1
-rw-r--r--media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild41
-rw-r--r--media-gfx/krita/krita-5.1.5.ebuild2
-rw-r--r--media-gfx/libbgcode/Manifest2
-rw-r--r--media-gfx/libbgcode/libbgcode-0.0.20240328.ebuild (renamed from media-gfx/libbgcode/libbgcode-0.0.20231116.ebuild)26
-rw-r--r--media-gfx/libimagequant/Manifest31
-rw-r--r--media-gfx/libimagequant/libimagequant-2.18.0.ebuild4
-rw-r--r--media-gfx/libimagequant/libimagequant-4.2.0-r2.ebuild79
-rw-r--r--media-gfx/libimagequant/libimagequant-4.2.2.ebuild4
-rw-r--r--media-gfx/libimagequant/libimagequant-4.3.0.ebuild (renamed from media-gfx/libimagequant/libimagequant-4.2.1.ebuild)44
-rw-r--r--media-gfx/libredwg/Manifest1
-rw-r--r--media-gfx/libredwg/libredwg-0.13.3.ebuild111
-rw-r--r--media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild4
-rw-r--r--media-gfx/maim/Manifest1
-rw-r--r--media-gfx/maim/maim-5.8.0.ebuild44
-rw-r--r--media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild4
-rw-r--r--media-gfx/mcomix/mcomix-2.1.1-r1.ebuild4
-rw-r--r--media-gfx/mcomix/mcomix-2.2.1.ebuild6
-rw-r--r--media-gfx/mcomix/mcomix-3.0.0-r1.ebuild6
-rw-r--r--media-gfx/mcomix/mcomix-3.1.0.ebuild4
-rw-r--r--media-gfx/meshlab/meshlab-2020.12-r3.ebuild (renamed from media-gfx/meshlab/meshlab-2020.12-r2.ebuild)7
-rw-r--r--media-gfx/metapixel/metapixel-1.0.2-r1.ebuild44
-rw-r--r--media-gfx/metapixel/metapixel-1.0.2-r2.ebuild4
-rw-r--r--media-gfx/mypaint/mypaint-2.0.1-r3.ebuild6
-rw-r--r--media-gfx/netgen/metadata.xml4
-rw-r--r--media-gfx/nomacs/metadata.xml5
-rw-r--r--media-gfx/nomacs/nomacs-3.16.224-r5.ebuild92
-rw-r--r--media-gfx/okularpart/Manifest1
-rw-r--r--media-gfx/okularpart/files/okularpart-23.08.5-crashfix.patch86
-rw-r--r--media-gfx/okularpart/files/okularpart-23.08.5-implicit-vasprintf.patch29
-rw-r--r--media-gfx/okularpart/files/okularpart-23.08.5-only.patch56
-rw-r--r--media-gfx/okularpart/files/okularpart-23.08.5-tests.patch48
-rw-r--r--media-gfx/okularpart/metadata.xml17
-rw-r--r--media-gfx/okularpart/okularpart-23.08.5-r1.ebuild95
-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/metadata.xml4
-rw-r--r--media-gfx/openscad/openscad-2021.01-r5.ebuild (renamed from media-gfx/openscad/openscad-2021.01-r4.ebuild)2
-rw-r--r--media-gfx/openscad/openscad-9999.ebuild2
-rw-r--r--media-gfx/openvdb/metadata.xml4
-rw-r--r--media-gfx/openvdb/openvdb-10.0.1.ebuild8
-rw-r--r--media-gfx/openvdb/openvdb-11.0.0.ebuild17
-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-r1.ebuild (renamed from media-gfx/pixels2pgf/pixels2pgf-0.1.ebuild)11
-rw-r--r--media-gfx/pixels2pgf/pixels2pgf-9999.ebuild13
-rw-r--r--media-gfx/plantuml/Manifest3
-rw-r--r--media-gfx/plantuml/plantuml-1.2023.13.ebuild33
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.4-r1.ebuild43
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.4.ebuild (renamed from media-gfx/plantuml/plantuml-1.2024.3.ebuild)2
-rw-r--r--media-gfx/pngcheck/pngcheck-3.0.2.ebuild4
-rw-r--r--media-gfx/pngcrush/pngcrush-1.8.13.ebuild2
-rw-r--r--media-gfx/pngnq/pngnq-1.1-r1.ebuild2
-rw-r--r--media-gfx/pngtools/pngtools-0.4_p20220314.ebuild13
-rw-r--r--media-gfx/potrace/files/potrace-1.16-lto.patch18
-rw-r--r--media-gfx/potrace/potrace-1.16-r1.ebuild48
-rw-r--r--media-gfx/povray/povray-3.7.0.0-r4.ebuild8
-rw-r--r--media-gfx/pqiv/Manifest1
-rw-r--r--media-gfx/pqiv/pqiv-2.11.ebuild76
-rw-r--r--media-gfx/pqstego/pqstego-0.0.1.ebuild4
-rw-r--r--media-gfx/prusaslicer/Manifest3
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.5.0_alpha2-boost-fixes.patch93
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch40
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch48
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-fix-tests.patch14
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.5.2-fix-slicing.patch76
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch18
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.5.2-r1.ebuild89
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild10
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild10
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.6.0-r1.ebuild)25
-rw-r--r--media-gfx/pstoedit/pstoedit-3.75.ebuild4
-rw-r--r--media-gfx/qrencode/metadata.xml4
-rw-r--r--media-gfx/rawtherapee/Manifest1
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild (renamed from media-gfx/rawtherapee/rawtherapee-5.10.ebuild)4
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild80
-rw-r--r--media-gfx/renderdoc/Manifest8
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.18-system-compress.patch142
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.22-r1-system-glslang.patch215
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.29-r2-system-compress.patch144
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.29-r2-system-glslang.patch268
-rw-r--r--media-gfx/renderdoc/files/renderdoc-1.31-lld.patch23
-rw-r--r--media-gfx/renderdoc/metadata.xml3
-rw-r--r--media-gfx/renderdoc/renderdoc-1.27-r1.ebuild202
-rw-r--r--media-gfx/renderdoc/renderdoc-1.30-r2.ebuild (renamed from media-gfx/renderdoc/renderdoc-1.29-r2.ebuild)32
-rw-r--r--media-gfx/renderdoc/renderdoc-1.31.ebuild (renamed from media-gfx/renderdoc/renderdoc-1.30-r1.ebuild)19
-rw-r--r--media-gfx/renderdoc/renderdoc-1.32.ebuild (renamed from media-gfx/renderdoc/renderdoc-1.30.ebuild)31
-rw-r--r--media-gfx/ristretto/ristretto-0.13.0.ebuild2
-rw-r--r--media-gfx/ristretto/ristretto-0.13.2.ebuild2
-rw-r--r--media-gfx/rotoscope/rotoscope-0.2-r2.ebuild4
-rw-r--r--media-gfx/sane-airscan/files/sane-airscan-0.99.27-c99-fixes.patch61
-rw-r--r--media-gfx/sane-airscan/sane-airscan-0.99.27-r1.ebuild43
-rw-r--r--media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild11
-rw-r--r--media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild11
-rw-r--r--media-gfx/sane-backends/sane-backends-1.2.1.ebuild14
-rw-r--r--media-gfx/scour/Manifest2
-rw-r--r--media-gfx/scour/metadata.xml1
-rw-r--r--media-gfx/scour/scour-0.38.2-r1.ebuild19
-rw-r--r--media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild4
-rw-r--r--media-gfx/shotwell/Manifest2
-rw-r--r--media-gfx/shotwell/shotwell-0.32.2.ebuild92
-rw-r--r--media-gfx/shotwell/shotwell-0.32.3.ebuild92
-rw-r--r--media-gfx/simple-scan/Manifest1
-rw-r--r--media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch82
-rw-r--r--media-gfx/simple-scan/simple-scan-46.0.ebuild71
-rw-r--r--media-gfx/skanpage/Manifest2
-rw-r--r--media-gfx/skanpage/skanpage-23.08.4.ebuild54
-rw-r--r--media-gfx/skanpage/skanpage-23.08.5.ebuild2
-rw-r--r--media-gfx/skanpage/skanpage-24.02.2.ebuild48
-rw-r--r--media-gfx/svg2rlg/metadata.xml1
-rw-r--r--media-gfx/sxiv/metadata.xml2
-rw-r--r--media-gfx/sxiv/sxiv-26.ebuild8
-rw-r--r--media-gfx/sxiv/sxiv-9999.ebuild8
-rw-r--r--media-gfx/transfig/transfig-3.2.5e-r2.ebuild2
-rw-r--r--media-gfx/ttfautohint/metadata.xml4
-rw-r--r--media-gfx/ttygif/metadata.xml5
-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.ebuild6
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild4
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild4
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild4
-rw-r--r--media-gfx/ueberzugpp/Manifest3
-rw-r--r--media-gfx/ueberzugpp/files/ueberzugpp-2.9.4-libcxx18.patch11
-rw-r--r--media-gfx/ueberzugpp/ueberzugpp-2.9.4.ebuild (renamed from media-gfx/ueberzugpp/ueberzugpp-2.9.2.ebuild)16
-rw-r--r--media-gfx/ueberzugpp/ueberzugpp-2.9.5.ebuild79
-rw-r--r--media-gfx/viewer/viewer-0.8.0-r2.ebuild (renamed from media-gfx/viewer/viewer-0.8.0-r1.ebuild)13
-rw-r--r--media-gfx/vkBasalt/Manifest1
-rw-r--r--media-gfx/vkBasalt/metadata.xml11
-rw-r--r--media-gfx/vkBasalt/vkBasalt-0.3.2.10.ebuild21
-rw-r--r--media-gfx/wings/wings-2.2.6.1.ebuild4
-rw-r--r--media-gfx/word_cloud/Manifest3
-rw-r--r--media-gfx/word_cloud/word_cloud-1.9.3.ebuild (renamed from media-gfx/word_cloud/word_cloud-1.8.2.2-r1.ebuild)16
-rw-r--r--media-gfx/xdot/Manifest1
-rw-r--r--media-gfx/xdot/xdot-1.3.ebuild1
-rw-r--r--media-gfx/xdot/xdot-1.4.ebuild45
-rw-r--r--media-gfx/xdot/xdot-9999.ebuild4
-rw-r--r--media-gfx/xpaint/xpaint-3.1.4-r4.ebuild2
-rw-r--r--media-gfx/xv/xv-3.10a-r22.ebuild4
324 files changed, 4856 insertions, 8559 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/alembic-1.8.6.ebuild b/media-gfx/alembic/alembic-1.8.6.ebuild
index a541e2e622df..de6bc765bcef 100644
--- a/media-gfx/alembic/alembic-1.8.6.ebuild
+++ b/media-gfx/alembic/alembic-1.8.6.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="examples hdf5 python test"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
diff --git a/media-gfx/alembic/metadata.xml b/media-gfx/alembic/metadata.xml
index 7dec64f8ad94..b90cd74547ec 100644
--- a/media-gfx/alembic/metadata.xml
+++ b/media-gfx/alembic/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>waebbl-gentoo@posteo.net</email>
- <name>Bernd Waibel</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
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 a194c54b448f..3624e2a82e94 100644
--- a/media-gfx/arss/arss-0.2.3-r1.ebuild
+++ b/media-gfx/arss/arss-0.2.3-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
CMAKE_IN_SOURCE_BUILD="true"
MY_P="${P}-src"
-inherit cmake
+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+"
@@ -22,3 +22,15 @@ RDEPEND="${DEPEND}"
PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
DOCS=( ../AUTHORS ../ChangeLog )
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/859604
+ # Upstream is on sourceforge, inactive since 2009. No bug filed.
+ #
+ # Do not trust it for LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ cmake_src_configure
+}
diff --git a/media-gfx/asymptote/Manifest b/media-gfx/asymptote/Manifest
index 805af350f4cc..b4bfc5dfb678 100644
--- a/media-gfx/asymptote/Manifest
+++ b/media-gfx/asymptote/Manifest
@@ -1 +1,2 @@
DIST asymptote-2.86.src.tgz 15118426 BLAKE2B 305edae6653094a5daa9f136951cfcc3f8ece1dc8e616593710e0bace350a95f61729f8d7a9522a14704300a6cfd15decb1bb634e58dba1626f09c053b6b368b SHA512 9e11dbfca10379f07b50dcce0d63c12b793f47741651b1804cf0825e87604c40b5b94acf343ce7f5ca7da83b5ebb0e213090ada80e0b6ebe4f6cec9db67209d6
+DIST asymptote-2.89.src.tgz 15133552 BLAKE2B bde5acd3e76543b3c936e785ccf081c38687d535f336ee0e3da62f5fe078bb040dc162b64f02e94f392129c120bdf497b86e3862059abdb1b4544bab3cce3218 SHA512 a9874f0dc6eb05b95ef551611d85f39222af2a0628d7904160b08bdaf797c2b9ec6d12af7ae26dee69dbc056a5bffad4e450d4846a517d80990d89759e0c47a0
diff --git a/media-gfx/asymptote/asymptote-2.86.ebuild b/media-gfx/asymptote/asymptote-2.86.ebuild
index c90253601777..521d51dbce85 100644
--- a/media-gfx/asymptote/asymptote-2.86.ebuild
+++ b/media-gfx/asymptote/asymptote-2.86.ebuild
@@ -9,7 +9,7 @@ inherit autotools elisp-common latex-package python-r1
DESCRIPTION="A vector graphics language that provides a framework for technical drawing"
HOMEPAGE="https://asymptote.sourceforge.io/"
-SRC_URI="mirror://sourceforge/asymptote/${P}.src.tgz"
+SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/asymptote/asymptote-2.89.ebuild b/media-gfx/asymptote/asymptote-2.89.ebuild
new file mode 100644
index 000000000000..41e78e722943
--- /dev/null
+++ b/media-gfx/asymptote/asymptote-2.89.ebuild
@@ -0,0 +1,243 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools elisp-common latex-package python-r1
+
+DESCRIPTION="A vector graphics language that provides a framework for technical drawing"
+HOMEPAGE="https://asymptote.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="+boehm-gc context curl doc emacs examples fftw gsl +imagemagick latex lsp offscreen +opengl python sigsegv svg test vim-syntax X"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ offscreen? ( opengl )
+ doc? ( boehm-gc )"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.4-r5:0=
+ >=sys-libs/readline-4.3-r5:0=
+ net-libs/libtirpc:=
+ imagemagick? ( media-gfx/imagemagick[png] )
+ opengl? ( media-libs/mesa[X(+)] media-libs/freeglut media-libs/glew:0 media-libs/glm )
+ offscreen? ( media-libs/mesa[osmesa] )
+ svg? ( app-text/dvisvgm )
+ sigsegv? ( dev-libs/libsigsegv )
+ boehm-gc? ( >=dev-libs/boehm-gc-7.0[cxx,threads] )
+ fftw? ( >=sci-libs/fftw-3.0.1:= )
+ gsl? ( sci-libs/gsl:= )
+ python? ( ${PYTHON_DEPS} )
+ curl? ( net-misc/curl )
+ lsp? (
+ dev-libs/boost
+ dev-libs/rapidjson
+ dev-libs/utfcpp
+ )
+ X? (
+ ${PYTHON_DEPS}
+ dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets,svg]
+ dev-python/cson
+ dev-python/numpy
+ >=gnome-base/librsvg-2.40
+ )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ )
+ context? ( dev-texlive/texlive-context )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ doc? (
+ media-gfx/imagemagick[png]
+ virtual/texi2dvi
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ app-text/ghostscript-gpl )
+ test? ( app-text/ghostscript-gpl )"
+
+TEXMF=/usr/share/texmf-site
+
+PATCHES=(
+ # Changing pdf, ps, image viewers to xdg-open
+ "${FILESDIR}/${PN}-2.85-xdg-utils.patch"
+
+ # Bug #322473
+ "${FILESDIR}/${PN}-2.70-info.patch"
+)
+
+src_prepare() {
+ sed -e "s:Datadir/doc/asymptote:Datadir/doc/${PF}:" \
+ -i configure.ac \
+ || die "sed configure.ac failed"
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # for the CPPFLAGS see
+ # https://sourceforge.net/forum/forum.php?thread_id=1683277&forum_id=409349
+ econf \
+ CPPFLAGS=-DHAVE_SYS_TYPES_H \
+ CFLAGS="${CXXFLAGS}" \
+ --disable-gc-debug \
+ --disable-gc-full-debug \
+ --with-latex=/usr/share/texmf-site/tex/latex \
+ --with-context=/usr/share/texmf-site/tex/context \
+ $(use_enable boehm-gc gc system) \
+ $(use_enable curl) \
+ $(use_enable lsp) \
+ $(use_enable fftw) \
+ $(use_enable gsl) \
+ $(use_enable opengl gl) \
+ $(use_enable offscreen) \
+ $(use_enable sigsegv)
+}
+
+src_compile() {
+ default
+
+ cd doc || die
+ emake asy.1
+ einfo "Making info"
+ cd png || die
+ emake ${PN}.info
+ cd .. || die
+ if use doc; then
+ cd FAQ || die
+ emake
+ cd .. || die
+ # pdf
+ einfo "Making pdf docs"
+ export VARTEXFONTS="${T}"/fonts
+ # see bug #260606
+ emake -j1 asymptote.pdf
+ emake CAD.pdf asy-latex.pdf asyRefCard.pdf
+ fi
+ cd .. || die
+
+ if use emacs; then
+ einfo "Compiling emacs lisp files"
+ elisp-compile base/*.el
+ fi
+}
+
+src_install() {
+ # the program
+ dobin asy
+
+ # .asy files
+ insinto /usr/share/${PN}
+ doins -r base/*.asy base/*.js base/*.sh base/*.ps base/shaders base/webgl
+ chmod 755 "${D}"/usr/share/${PN}/shaders/*
+
+ # documentation
+ dodoc README ReleaseNotes ChangeLog
+ cd doc || die
+ doman asy.1
+ doinfo png/${PN}.info
+ if use doc; then
+ dodoc FAQ/asy-faq.ascii
+ dodoc CAD.pdf asy-latex.pdf asyRefCard.pdf asymptote.pdf
+ fi
+ cd .. || die
+
+ # asymptote.py
+ if use python; then
+ python_moduleinto ${PN}
+ python_foreach_impl python_domodule aspy.py
+ python_foreach_impl python_domodule base/${PN}.py
+ fi
+
+ # X GUI
+ if use X; then
+ cd GUI || die
+ python_setup
+ sed -e 1d -i xasy.py
+ echo "#!/usr/bin/env ${EPYTHON}" > xasy1
+ cat xasy1 xasy.py > xasy
+ rm xasy1 xasy.py
+ mv xasy xasy.py
+ cd .. || die
+ python_domodule GUI
+ chmod 755 "${D}/$(python_get_sitedir)/${PN}/GUI/xasy.py"
+ dosym "$(python_get_sitedir)/${PN}/GUI/xasy.py" /usr/bin/xasy
+ doman doc/xasy.1x
+ fi
+
+ # examples
+ if use examples; then
+ docinto examples
+ dodoc \
+ examples/*.asy \
+ examples/*.views \
+ examples/*.dat \
+ examples/*.bib \
+ examples/*.png \
+ examples/*.pdb1 \
+ doc/*.asy \
+ doc/*.csv \
+ doc/*.dat \
+ doc/pixel.pdf \
+ doc/extra/*.asy
+ docinto examples/animations
+ dodoc examples/animations/*.asy
+ fi
+
+ # LaTeX style
+ if use latex; then
+ cd doc || die
+ insinto "${TEXMF}"/tex/latex/${PN}
+ doins *.sty latexmkrc
+ if use examples; then
+ docinto examples
+ dodoc latexusage.tex externalprc.tex
+ docinto examples/animations
+ dodoc ../examples/animations/*.tex
+ fi
+ cd .. || die
+ fi
+
+ # ConTeXt
+ if use context; then
+ insinto /usr/share/texmf-site/tex/context
+ doins doc/colo-asy.tex
+ fi
+
+ # emacs mode
+ if use emacs; then
+ elisp-install ${PN} base/*.el base/*.elc asy-keywords.el
+ elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el
+ fi
+
+ # vim syntax
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins base/asy.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins base/asy_filetype.vim
+ fi
+}
+
+pkg_postinst() {
+ use latex && latex-package_rehash
+ use emacs && elisp-site-regen
+
+ elog 'Use the variable ASYMPTOTE_PSVIEWER to set the postscript viewer'
+ elog 'Use the variable ASYMPTOTE_PDFVIEWER to set the PDF viewer'
+}
+
+pkg_postrm() {
+ use latex && latex-package_rehash
+ use emacs && elisp-site-regen
+}
diff --git a/media-gfx/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 0d2630aac5f1..d1ef07dd9e00 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -1,7 +1,5 @@
-DIST blender-3.3.6.tar.xz 41912972 BLAKE2B 94f9dd1a7993f399d612275ed3cfc1d482b0778d2d0b50ae40b73714b6afce93e036915a5b8ea415b6642b1e2d0a281db15ba8addd95c23771c381050722aac7 SHA512 db453b9c7c0ad508e04f603c970e111afb577f3dc0bd25f2ce47312e8560223dcf0307b0a306014dd79adda76de49b6d26e6e63400cade1430568332fe5b2d57
+DIST blender-3.3.15.tar.xz 41928632 BLAKE2B d93d7d47183fcd7afa547b8d3f0bd7240ea204dcce885f42d79d29352ebacac43a2f92e380f576c2688d2d90d910caff069484e22669847b0eea71079a8bdc7e SHA512 d55223b7b9ae9f9c6fdbf5ed2988e997693fcb8262196acb08bbe58bae86f9f34474ed1cf5a213ee0247225601726265ded3cb4ad4d89910fc247f9cf5fec1ff
DIST blender-3.3.8.tar.xz 41915180 BLAKE2B 7fb24afe2151bba53d8c25160bd697145aced74a8cd9a7ac92b2f66bc0ab59e995009f20f9e9bb622b05d614919137153805a2e233de5b0bb0a41a2ac3405a76 SHA512 63aef1e543a9c8bbc5f8838292ad2e8d0d9a8ee6fd2d71a419c1edc1a0ee1f59f7e9eab59bc20bf32ca56ba440bab1534c6c94c6ca2c5ab964e80bd452b7e519
-DIST blender-3.4.1.tar.xz 53666296 BLAKE2B ec5b2771c1b55ecdf3c2c86a413ae5599545800fc072eff45cf212b32c74af60fc3d650ad931fff221c1073adb2b447df3287a965f884a4760a5d972c9877aee SHA512 d6de3ec9cd1a1e4d4e4a838af0cfc113c91c3c1b66703027e0ed61bd818dafc4e4304fd041738ddea32fc76b1ad9b7737cbdcf74d56a0406a87c457375d907ab
-DIST blender-3.5.1.tar.xz 69780800 BLAKE2B 6961280b9d5fb606a35137ce355bf07b4dc16908d5d52cfd3a914907721da16108b8780b1894413a69ab69d455f5d1575697079a24c2bdcecb17174cf7a7c7c7 SHA512 7c9c03de8532884f8ab39fecf1450f8be4bc937a018bd14240ace81a89e422625aba9c4865f6efbb8371f5f01e930932fa5cf03c9d14d44c5312db33e3c56131
-DIST blender-3.6.0.tar.xz 70428872 BLAKE2B a43f2c0a2db6fa624b1bd96264462312d31f2e3983c463da9d17b0c793d0d344dfbbc13acfb8bab53cc37f5b5b3479d60b8046475aa6c977074ef35414640eaf SHA512 5fbb7a48d1f18e5cc6430bdefb4d7d9e8a52d387cf92a319c7fbc8836a3f5a6f90fab13f152be49c3558a8f70ed9f0d1f7aeddb264a938496a2f93254bb569cb
-DIST blender-3.6.5.tar.xz 70447868 BLAKE2B efa366b8aff5c8870c9ed060063eba1115a9ae50b0345c56fbaaab228976afad6f4c6b9c374f22d146fe88db6e0e7aab3d61b1797e71f30f6adfc594599ea2be SHA512 d07e53c708a1e6df18853eb5f0dc032459c74ef43f9559880720170f98ac8729064edb143835f8cec411ab6de42619bed3f0ef1143b288f2a2eb6f05fdfc32ae
-DIST blender-4.0.1.tar.xz 73278416 BLAKE2B 06c3397e8c28f544ec5d207db195e33824e9ddeb1b468342e4e7c18773b00b6b42282e8318a7ae96c7a7c81c7e0626e666953d00bf78bf64922047bd563d625a SHA512 288e5a04f274ab351c8517e6de2195f414e618a82fb2a3b2aede5f9120aa6a41f20bc2c4e5190c47b69da841bb1ebe15e9ffee737c1cc2b5979a28b0e1f4c5ae
+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.6-r1.ebuild b/media-gfx/blender/blender-3.3.15.ebuild
index 7f36b281370f..1582fb82925a 100644
--- a/media-gfx/blender/blender-3.3.6-r1.ebuild
+++ b/media-gfx/blender/blender-3.3.15.ebuild
@@ -19,11 +19,11 @@ else
# Update these between major releases.
TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
#SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
- KEYWORDS="amd64 ~arm ~arm64"
+ KEYWORDS="~amd64 ~arm ~arm64"
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
+SLOT="${PV%.*}"
IUSE="+bullet +dds +fluid +openexr +tbb \
alembic collada +color-management cuda +cycles \
debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
@@ -68,7 +68,7 @@ RDEPEND="${PYTHON_DEPS}
collada? ( >=media-libs/opencollada-1.6.68 )
color-management? ( <media-libs/opencolorio-2.3.0:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.10.0[raymask] )
+ embree? ( >=media-libs/embree-3.10.0:=[raymask] )
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp )
@@ -94,11 +94,11 @@ 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 )
- osl? ( >=media-libs/osl-1.11.16.0-r3:= )
+ osl? ( <media-libs/osl-1.13:= )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -177,7 +177,7 @@ src_unpack() {
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
+ mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die
fi
fi
@@ -202,9 +202,9 @@ src_prepare() {
sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- mv release/freedesktop/icons/scalable/apps/blender.svg release/freedesktop/icons/scalable/apps/blender-${BV}.svg || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg || die
- mv release/freedesktop/blender.desktop release/freedesktop/blender-${BV}.desktop || die
+ mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
+ mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
+ mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die
if use test; then
# Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
@@ -214,6 +214,11 @@ src_prepare() {
}
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)
@@ -288,6 +293,9 @@ src_configure() {
)
fi
+ # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
+ use arm64 && append-flags -flax-vector-conversions
+
append-flags $(usex debug '-DDEBUG' '-DNDEBUG')
if tc-is-gcc ; then
diff --git a/media-gfx/blender/blender-3.3.8.ebuild b/media-gfx/blender/blender-3.3.8.ebuild
index fb5b111de13e..89b057d5fd30 100644
--- a/media-gfx/blender/blender-3.3.8.ebuild
+++ b/media-gfx/blender/blender-3.3.8.ebuild
@@ -22,8 +22,8 @@ else
KEYWORDS="amd64 ~arm ~arm64"
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
+SLOT="${PV%.*}"
IUSE="+bullet +dds +fluid +openexr +tbb \
alembic collada +color-management cuda +cycles \
debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
@@ -68,7 +68,7 @@ RDEPEND="${PYTHON_DEPS}
collada? ( >=media-libs/opencollada-1.6.68 )
color-management? ( <media-libs/opencolorio-2.3.0:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.10.0[raymask] )
+ embree? ( >=media-libs/embree-3.10.0:=[raymask] )
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp )
@@ -94,11 +94,11 @@ 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 )
- osl? ( >=media-libs/osl-1.11.16.0-r3:= )
+ osl? ( <media-libs/osl-1.13:= )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -214,6 +214,11 @@ src_prepare() {
}
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)
diff --git a/media-gfx/blender/blender-3.4.1-r3.ebuild b/media-gfx/blender/blender-3.4.1-r3.ebuild
deleted file mode 100644
index 9e1598a6230f..000000000000
--- a/media-gfx/blender/blender-3.4.1-r3.ebuild
+++ /dev/null
@@ -1,441 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 python3_11 )
-
-inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="3D Creation/Animation/Publishing System"
-HOMEPAGE="https://www.blender.org"
-
-if [[ ${PV} = *9999* ]] ; then
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
- EGIT_REPO_URI="https://git.blender.org/blender.git"
-else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- # Update these between major releases.
- TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- #SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
- KEYWORDS="~amd64 ~arm ~arm64"
-fi
-
-SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +dds +fluid +openexr +tbb \
- alembic collada +color-management cuda +cycles \
- debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k \
- man +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \
- test +tiff valgrind wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- alembic? ( openexr )
- cuda? ( cycles )
- cycles? ( openexr tiff openimageio )
- fluid? ( tbb )
- openvdb? ( tbb )
- optix? ( cuda )
- osl? ( cycles )
- test? ( color-management )"
-
-# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
-RDEPEND="${PYTHON_DEPS}
- dev-libs/boost:=[nls?]
- dev-libs/lzo:2=
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/zstandard[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
- media-libs/freetype:=[brotli]
- media-libs/libepoxy:=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/libsamplerate
- sys-libs/zlib:=
- virtual/glu
- virtual/libintl
- virtual/opengl
- alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] )
- collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.3.0:= )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.10.0[raymask] )
- ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
- fftw? ( sci-libs/fftw:3.0= )
- gmp? ( dev-libs/gmp )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- ndof? (
- app-misc/spacenavd
- dev-libs/libspnav
- )
- nls? ( virtual/libiconv )
- openal? ( media-libs/openal )
- oidn? ( >=media-libs/oidn-1.4.1 )
- openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= )
- openexr? (
- >=dev-libs/imath-3.1.4-r2:=
- >=media-libs/openexr-3:0=
- )
- opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
- openvdb? (
- >=media-gfx/openvdb-9.0.0:=[nanovdb?]
- dev-libs/c-blosc:=
- )
- optix? ( <dev-libs/optix-7.5.0 )
- osl? ( >=media-libs/osl-1.11.16.0-r3:= )
- pdf? ( media-libs/libharu )
- potrace? ( media-gfx/potrace )
- pugixml? ( dev-libs/pugixml )
- pulseaudio? ( media-libs/libpulse )
- sdl? ( media-libs/libsdl2[sound,joystick] )
- sndfile? ( media-libs/libsndfile )
- tbb? ( dev-cpp/tbb:= )
- tiff? ( media-libs/tiff:= )
- valgrind? ( dev-debug/valgrind )
- wayland? (
- >=dev-libs/wayland-1.12
- >=dev-libs/wayland-protocols-1.15
- >=x11-libs/libxkbcommon-0.2.0
- media-libs/mesa[wayland]
- sys-apps/dbus
- )
- X? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-text/doxygen[dot]
- dev-python/sphinx[latex]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- nls? ( sys-devel/gettext )
- wayland? (
- dev-util/wayland-scanner
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.3.0-fix-build-with-boost-1.81.patch"
- "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.patch"
-)
-
-blender_check_requirements() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
- if use doc; then
- CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
- fi
-}
-
-blender_get_version() {
- # Get blender version from blender itself.
- BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
- if ((${BV:0:1} < 3)) ; then
- # Add period (290 -> 2.90).
- BV=${BV:0:1}.${BV:1}
- else
- # Add period and skip the middle number (301 -> 3.1)
- BV=${BV:0:1}.${BV:2}
- fi
-}
-
-pkg_pretend() {
- blender_check_requirements
-}
-
-pkg_setup() {
- blender_check_requirements
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- if use test; then
- TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests
- subversion_fetch ${TESTS_SVN_URL} ../lib/tests
- fi
- else
- default
- if use test; then
- #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests
- mkdir -p lib || die
- mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die
- fi
- fi
-
-}
-
-src_prepare() {
- cmake_src_prepare
-
- blender_get_version
-
- # Disable MS Windows help generation. The variable doesn't do what it
- # it sounds like.
- sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \
- -i doc/doxygen/Doxyfile || die
-
- # Prepare icons and .desktop files for slotting.
- sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die
-
- sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
-
- mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
- mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die
-
- if use test; then
- # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
- sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # Workaround for bug #922600
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- append-lfs-flags
- blender_get_version
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DPYTHON_VERSION="${EPYTHON/python/}"
- -DWITH_ALEMBIC=$(usex alembic)
- -DWITH_ASSERT_ABORT=$(usex debug)
- -DWITH_BOOST=ON
- -DWITH_BULLET=$(usex bullet)
- -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
- -DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CXX_GUARDEDALLOC=$(usex debug)
- -DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
- -DWITH_CYCLES_EMBREE=$(usex embree)
- -DWITH_CYCLES_OSL=$(usex osl)
- -DWITH_CYCLES_PATH_GUIDING=OFF
- -DWITH_CYCLES_STANDALONE=OFF
- -DWITH_CYCLES_STANDALONE_GUI=OFF
- -DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_FFTW3=$(usex fftw)
- -DWITH_GHOST_WAYLAND=$(usex wayland)
- -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
- -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland)
- -DWITH_GHOST_WAYLAND_DYNLOAD=OFF
- -DWITH_GHOST_WAYLAND_LIBDECOR=OFF
- -DWITH_GHOST_X11=$(usex X)
- -DWITH_GMP=$(usex gmp)
- -DWITH_GTESTS=$(usex test)
- -DWITH_HARU=$(usex pdf)
- -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON)
- -DWITH_INSTALL_PORTABLE=OFF
- -DWITH_IMAGE_DDS=$(usex dds)
- -DWITH_IMAGE_OPENEXR=$(usex openexr)
- -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
- -DWITH_IMAGE_TIFF=$(usex tiff)
- -DWITH_INPUT_NDOF=$(usex ndof)
- -DWITH_INTERNATIONAL=$(usex nls)
- -DWITH_JACK=$(usex jack)
- -DWITH_MEM_JEMALLOC=$(usex jemalloc)
- -DWITH_MEM_VALGRIND=$(usex valgrind)
- -DWITH_MOD_FLUID=$(usex fluid)
- -DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_NANOVDB=$(usex nanovdb)
- -DWITH_OPENAL=$(usex openal)
- -DWITH_OPENCOLLADA=$(usex collada)
- -DWITH_OPENCOLORIO=$(usex color-management)
- -DWITH_OPENIMAGEDENOISE=$(usex oidn)
- -DWITH_OPENIMAGEIO=$(usex openimageio)
- -DWITH_OPENMP=$(usex openmp)
- -DWITH_OPENSUBDIV=$(usex opensubdiv)
- -DWITH_OPENVDB=$(usex openvdb)
- -DWITH_OPENVDB_BLOSC=$(usex openvdb)
- -DWITH_POTRACE=$(usex potrace)
- -DWITH_PUGIXML=$(usex pugixml)
- -DWITH_PULSEAUDIO=$(usex pulseaudio)
- -DWITH_PYTHON_INSTALL=OFF
- -DWITH_SDL=$(usex sdl)
- -DWITH_STATIC_LIBS=OFF
- -DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_FREETYPE=ON
- -DWITH_SYSTEM_LZO=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_USD=OFF
- -DWITH_XR_OPENXR=OFF
- )
-
- if use optix; then
- mycmakeargs+=(
- -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
- -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
- )
- fi
-
- # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
- use arm64 && append-flags -flax-vector-conversions
-
- append-flags $(usex debug '-DDEBUG' '-DNDEBUG')
-
- if tc-is-gcc ; then
- # These options only exist when GCC is detected.
- # We disable these to respect the user's choice of linker.
- mycmakeargs+=(
- -DWITH_LINKER_GOLD=OFF
- -DWITH_LINKER_LLD=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- # A lot of tests needs to have access to the installed data files.
- # So install them into the image directory now.
- DESTDIR="${T}" cmake_build install
-
- blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles"
-
- # Sanity check that the script and datafile path is valid.
- # If they are not vaild, blender will fallback to the default path which is not what we want.
- [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
- [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
-
- cmake_src_test
-
- # Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
-}
-
-src_install() {
- blender_get_version
-
- # Pax mark blender for hardened support.
- pax-mark m "${BUILD_DIR}"/bin/blender
-
- cmake_src_install
-
- if use man; then
- # Slot the man page
- mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
- fi
-
- if use doc; then
- # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
-
- # Workaround for binary drivers.
- addpredict /dev/ati
- addpredict /dev/dri
- addpredict /dev/nvidiactl
-
- einfo "Generating Blender C/C++ API docs ..."
- cd "${CMAKE_USE_DIR}"/doc/doxygen || die
- doxygen -u Doxyfile || die
- doxygen || die "doxygen failed to build API docs."
-
- cd "${CMAKE_USE_DIR}" || die
- einfo "Generating (BPY) Blender Python API docs ..."
- "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
-
- cd "${CMAKE_USE_DIR}"/doc/python_api || die
- sphinx-build sphinx-in BPY_API || die "sphinx failed."
-
- docinto "html/API/python"
- dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
-
- docinto "html/API/blender"
- dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
- fi
-
- # Fix doc installdir
- docinto html
- dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
- rm -r "${ED}"/usr/share/doc/blender || die
-
- python_optimize "${ED}/usr/share/blender/${BV}/scripts"
-
- mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die
- mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die
-}
-
-pkg_postinst() {
- elog
- elog "Blender uses python integration. As such, may have some"
- elog "inherent risks with running unknown python scripts."
- elog
- elog "It is recommended to change your blender temp directory"
- elog "from /tmp to /home/user/tmp or another tmp file under your"
- elog "home directory. This can be done by starting blender, then"
- elog "changing the 'Temporary Files' directory in Blender preferences."
- elog
-
- if use osl; then
- ewarn ""
- ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to"
- ewarn "an other LLVM version than what OSL is linked to."
- ewarn "See https://bugs.gentoo.org/880671 for more details"
- ewarn ""
- fi
-
- if ! use python_single_target_python3_10; then
- elog "You are building Blender with a newer python version than"
- elog "supported by this version upstream."
- elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
- elog "Bug: https://bugs.gentoo.org/737388"
- elog
- fi
-
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-
- ewarn ""
- ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
- ewarn "It may contain extra render kernels not tracked by portage"
- ewarn ""
-}
diff --git a/media-gfx/blender/blender-3.6.0.ebuild b/media-gfx/blender/blender-3.6.0.ebuild
deleted file mode 100644
index 49ca6280a4dd..000000000000
--- a/media-gfx/blender/blender-3.6.0.ebuild
+++ /dev/null
@@ -1,444 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 python3_11 )
-
-inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="3D Creation/Animation/Publishing System"
-HOMEPAGE="https://www.blender.org"
-
-if [[ ${PV} = *9999* ]] ; then
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
- EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
- ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
-else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- # Update these between major releases.
- TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
- KEYWORDS="~amd64 ~arm ~arm64"
-fi
-
-SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +dds +fluid +openexr +tbb
- alembic collada +color-management cuda +cycles cycles-bin-kernels
- debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
- man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
- +sndfile test +tiff valgrind wayland X"
-RESTRICT="!test? ( test )"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- alembic? ( openexr )
- cuda? ( cycles )
- cycles? ( openexr tiff )
- fluid? ( tbb )
- openvdb? ( tbb )
- optix? ( cuda )
- osl? ( cycles )
- test? ( color-management )"
-
-# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
-RDEPEND="${PYTHON_DEPS}
- dev-libs/boost:=[nls?]
- dev-libs/lzo:2=
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/zstandard[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
- media-libs/freetype:=[brotli]
- media-libs/libepoxy:=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/libsamplerate
- >=media-libs/openimageio-2.4.6.0:=
- sys-libs/zlib:=
- virtual/glu
- virtual/libintl
- virtual/opengl
- alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] )
- collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.3.0:= )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.10.0[raymask] )
- ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
- fftw? ( sci-libs/fftw:3.0= )
- gmp? ( dev-libs/gmp )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- ndof? (
- app-misc/spacenavd
- dev-libs/libspnav
- )
- nls? ( virtual/libiconv )
- openal? ( media-libs/openal )
- oidn? ( >=media-libs/oidn-1.4.1 )
- openexr? (
- >=dev-libs/imath-3.1.4-r2:=
- >=media-libs/openexr-3:0=
- )
- openpgl? ( media-libs/openpgl )
- opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
- openvdb? (
- >=media-gfx/openvdb-9.0.0:=[nanovdb?]
- dev-libs/c-blosc:=
- )
- optix? ( <dev-libs/optix-7.5.0 )
- osl? ( >=media-libs/osl-1.11.16.0-r3:= )
- pdf? ( media-libs/libharu )
- potrace? ( media-gfx/potrace )
- pugixml? ( dev-libs/pugixml )
- pulseaudio? ( media-libs/libpulse )
- sdl? ( media-libs/libsdl2[sound,joystick] )
- sndfile? ( media-libs/libsndfile )
- tbb? ( dev-cpp/tbb:= )
- tiff? ( media-libs/tiff:= )
- valgrind? ( dev-debug/valgrind )
- wayland? (
- >=dev-libs/wayland-1.12
- >=dev-libs/wayland-protocols-1.15
- >=x11-libs/libxkbcommon-0.2.0
- media-libs/mesa[wayland]
- sys-apps/dbus
- )
- X? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-text/doxygen[dot]
- dev-python/sphinx[latex]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- nls? ( sys-devel/gettext )
- wayland? (
- dev-util/wayland-scanner
- )
-"
-
-blender_check_requirements() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
- if use doc; then
- CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
- fi
-}
-
-blender_get_version() {
- # Get blender version from blender itself.
- BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
- if ((${BV:0:1} < 3)) ; then
- # Add period (290 -> 2.90).
- BV=${BV:0:1}.${BV:1}
- else
- # Add period and skip the middle number (301 -> 3.1)
- BV=${BV:0:1}.${BV:2}
- fi
-}
-
-pkg_pretend() {
- blender_check_requirements
-}
-
-pkg_setup() {
- blender_check_requirements
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
-
- git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
- git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
-
- if use test; then
- TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests
- subversion_fetch ${TESTS_SVN_URL} ../lib/tests
- fi
- ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets
- subversion_fetch ${ASSETS_SVN_URL} ../lib/assets
- else
- default
- if use test; then
- #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests
- mkdir -p lib || die
- mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die
- fi
- fi
-
-}
-
-src_prepare() {
- cmake_src_prepare
-
- blender_get_version
-
- # Disable MS Windows help generation. The variable doesn't do what it
- # it sounds like.
- sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \
- -i doc/doxygen/Doxyfile || die
-
- # Prepare icons and .desktop files for slotting.
- sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die
-
- sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
-
- mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
- mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die
-
- if use test; then
- # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
- sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # Workaround for bug #922600
- append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
-
- append-lfs-flags
- blender_get_version
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DPYTHON_VERSION="${EPYTHON/python/}"
- -DWITH_ALEMBIC=$(usex alembic)
- -DWITH_ASSERT_ABORT=$(usex debug)
- -DWITH_BOOST=ON
- -DWITH_BULLET=$(usex bullet)
- -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
- -DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CXX_GUARDEDALLOC=$(usex debug)
- -DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels)
- -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
- -DWITH_CYCLES_EMBREE=$(usex embree)
- -DWITH_CYCLES_OSL=$(usex osl)
- -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl)
- -DWITH_CYCLES_STANDALONE=OFF
- -DWITH_CYCLES_STANDALONE_GUI=OFF
- -DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_FFTW3=$(usex fftw)
- -DWITH_GHOST_WAYLAND=$(usex wayland)
- -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
- -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland)
- -DWITH_GHOST_WAYLAND_DYNLOAD=OFF
- -DWITH_GHOST_WAYLAND_LIBDECOR=OFF
- -DWITH_GHOST_X11=$(usex X)
- -DWITH_GMP=$(usex gmp)
- -DWITH_GTESTS=$(usex test)
- -DWITH_HARU=$(usex pdf)
- -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON)
- -DWITH_INSTALL_PORTABLE=OFF
- -DWITH_IMAGE_DDS=$(usex dds)
- -DWITH_IMAGE_OPENEXR=$(usex openexr)
- -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
- -DWITH_IMAGE_TIFF=$(usex tiff)
- -DWITH_INPUT_NDOF=$(usex ndof)
- -DWITH_INTERNATIONAL=$(usex nls)
- -DWITH_JACK=$(usex jack)
- -DWITH_MEM_JEMALLOC=$(usex jemalloc)
- -DWITH_MEM_VALGRIND=$(usex valgrind)
- -DWITH_MOD_FLUID=$(usex fluid)
- -DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_NANOVDB=$(usex nanovdb)
- -DWITH_OPENAL=$(usex openal)
- -DWITH_OPENCOLLADA=$(usex collada)
- -DWITH_OPENCOLORIO=$(usex color-management)
- -DWITH_OPENIMAGEDENOISE=$(usex oidn)
- -DWITH_OPENMP=$(usex openmp)
- -DWITH_OPENSUBDIV=$(usex opensubdiv)
- -DWITH_OPENVDB=$(usex openvdb)
- -DWITH_OPENVDB_BLOSC=$(usex openvdb)
- -DWITH_POTRACE=$(usex potrace)
- -DWITH_PUGIXML=$(usex pugixml)
- -DWITH_PULSEAUDIO=$(usex pulseaudio)
- -DWITH_PYTHON_INSTALL=OFF
- -DWITH_SDL=$(usex sdl)
- -DWITH_STATIC_LIBS=OFF
- -DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_FREETYPE=ON
- -DWITH_SYSTEM_LZO=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_USD=OFF
- -DWITH_XR_OPENXR=OFF
- )
-
- if use optix; then
- mycmakeargs+=(
- -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
- -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
- )
- fi
-
- # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
- use arm64 && append-flags -flax-vector-conversions
-
- append-flags $(usex debug '-DDEBUG' '-DNDEBUG')
-
- if tc-is-gcc ; then
- # These options only exist when GCC is detected.
- # We disable these to respect the user's choice of linker.
- mycmakeargs+=(
- -DWITH_LINKER_GOLD=OFF
- -DWITH_LINKER_LLD=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- # A lot of tests needs to have access to the installed data files.
- # So install them into the image directory now.
- DESTDIR="${T}" cmake_build install
-
- blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles"
-
- # Sanity check that the script and datafile path is valid.
- # If they are not vaild, blender will fallback to the default path which is not what we want.
- [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
- [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
-
- cmake_src_test
-
- # Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
-}
-
-src_install() {
- blender_get_version
-
- # Pax mark blender for hardened support.
- pax-mark m "${BUILD_DIR}"/bin/blender
-
- cmake_src_install
-
- if use man; then
- # Slot the man page
- mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
- fi
-
- if use doc; then
- # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
-
- # Workaround for binary drivers.
- addpredict /dev/ati
- addpredict /dev/dri
- addpredict /dev/nvidiactl
-
- einfo "Generating Blender C/C++ API docs ..."
- cd "${CMAKE_USE_DIR}"/doc/doxygen || die
- doxygen -u Doxyfile || die
- doxygen || die "doxygen failed to build API docs."
-
- cd "${CMAKE_USE_DIR}" || die
- einfo "Generating (BPY) Blender Python API docs ..."
- "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
-
- cd "${CMAKE_USE_DIR}"/doc/python_api || die
- sphinx-build sphinx-in BPY_API || die "sphinx failed."
-
- docinto "html/API/python"
- dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
-
- docinto "html/API/blender"
- dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
- fi
-
- # Fix doc installdir
- docinto html
- dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
- rm -r "${ED}"/usr/share/doc/blender || die
-
- python_optimize "${ED}/usr/share/blender/${BV}/scripts"
-
- mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die
- mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die
-}
-
-pkg_postinst() {
- elog
- elog "Blender uses python integration. As such, may have some"
- elog "inherent risks with running unknown python scripts."
- elog
- elog "It is recommended to change your blender temp directory"
- elog "from /tmp to /home/user/tmp or another tmp file under your"
- elog "home directory. This can be done by starting blender, then"
- elog "changing the 'Temporary Files' directory in Blender preferences."
- elog
-
- if use osl; then
- ewarn ""
- ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to"
- ewarn "an other LLVM version than what OSL is linked to."
- ewarn "See https://bugs.gentoo.org/880671 for more details"
- ewarn ""
- fi
-
- if ! use python_single_target_python3_10; then
- elog "You are building Blender with a newer python version than"
- elog "supported by this version upstream."
- elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
- elog "Bug: https://bugs.gentoo.org/737388"
- elog
- fi
-
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-
- ewarn ""
- ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
- ewarn "It may contain extra render kernels not tracked by portage"
- ewarn ""
-}
diff --git a/media-gfx/blender/blender-3.6.5.ebuild b/media-gfx/blender/blender-3.6.8.ebuild
index 8dc4de747a8c..12092454eb33 100644
--- a/media-gfx/blender/blender-3.6.5.ebuild
+++ b/media-gfx/blender/blender-3.6.8.ebuild
@@ -20,11 +20,11 @@ else
# Update these between major releases.
TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
# SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
- KEYWORDS="~amd64 ~arm ~arm64"
+ KEYWORDS="amd64 ~arm ~arm64"
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
+SLOT="${PV%.*}"
IUSE="+bullet +dds +fluid +openexr +tbb
alembic collada +color-management cuda +cycles cycles-bin-kernels
debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
@@ -68,7 +68,7 @@ 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.10.0[raymask] )
+ embree? ( >=media-libs/embree-3.10.0:=[raymask] )
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp )
@@ -86,14 +86,14 @@ RDEPEND="${PYTHON_DEPS}
>=dev-libs/imath-3.1.4-r2:=
>=media-libs/openexr-3:0=
)
- openpgl? ( media-libs/openpgl )
+ 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 )
- osl? ( >=media-libs/osl-1.11.16.0-r3:= )
+ osl? ( <media-libs/osl-1.13:= )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -222,6 +222,11 @@ src_prepare() {
}
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)
diff --git a/media-gfx/blender/blender-4.0.1-r1.ebuild b/media-gfx/blender/blender-4.0.2-r1.ebuild
index 5f4042e3652f..29465c4df628 100644
--- a/media-gfx/blender/blender-4.0.1-r1.ebuild
+++ b/media-gfx/blender/blender-4.0.2-r1.ebuild
@@ -4,49 +4,58 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..11} )
+# matches media-libs/osl
+LLVM_COMPAT=( {15..17} )
-inherit check-reqs cmake cuda flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
+inherit check-reqs cmake cuda flag-o-matic llvm-r1 pax-utils python-single-r1 toolchain-funcs xdg-utils
DESCRIPTION="3D Creation/Animation/Publishing System"
HOMEPAGE="https://www.blender.org"
if [[ ${PV} = *9999* ]] ; then
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
+ EGIT_LFS="yes"
+ inherit git-r3
EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
+ EGIT_SUBMODULES=( '*' '-lib/*' )
ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
+ RESTRICT="!test? ( test )"
else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- # Update these between major releases.
- TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
+ SRC_URI="
+ https://download.blender.org/source/${P}.tar.xz
+ "
+ # test? (
+ # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz
+ # )
+ # "
KEYWORDS="~amd64 ~arm ~arm64"
+ RESTRICT="test" # the test archive returns LFS references.
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +fluid +openexr +tbb
- alembic collada +color-management cuda +cycles cycles-bin-kernels
- debug doc +embree +ffmpeg +fftw +gmp 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"
+SLOT="${PV%.*}"
+IUSE="
+ alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
+ debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
+ jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp openpgl
+ +opensubdiv +openvdb optix osl +pdf +potrace +pugixml pulseaudio
+ renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X
+"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
alembic? ( openexr )
cuda? ( cycles )
- cycles? ( openexr tiff )
+ cycles? ( openexr tiff tbb )
fluid? ( tbb )
+ gnome? ( wayland )
hip? ( cycles )
nanovdb? ( openvdb )
- openvdb? ( tbb )
+ openvdb? ( tbb openexr )
optix? ( cuda )
- osl? ( cycles )
+ osl? ( cycles pugixml )
test? ( color-management )"
# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
+# build_files/build_environment/cmake/versions.cmake
RDEPEND="${PYTHON_DEPS}
app-arch/zstd
dev-libs/boost:=[nls?]
@@ -71,11 +80,12 @@ RDEPEND="${PYTHON_DEPS}
collada? ( >=media-libs/opencollada-1.6.68 )
color-management? ( media-libs/opencolorio:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.13.0[raymask] )
+ embree? ( media-libs/embree:=[raymask] )
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp )
- hip? ( >=dev-util/hip-5.7.1 )
+ gnome? ( gui-libs/libdecor )
+ hip? ( >=dev-util/hip-5.7:= )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -85,19 +95,26 @@ 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=
)
- openpgl? ( >=media-libs/openpgl-0.5.0 )
+ openpgl? ( media-libs/openpgl:0/0.5 )
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-1.11.16.0-r3:= )
+ optix? ( dev-libs/optix )
+ osl? (
+ >=media-libs/osl-1.13:=
+ $(llvm_gen_dep '
+ >=media-libs/osl-1.13[llvm_slot_${LLVM_SLOT}]
+ media-libs/mesa[llvm_slot_${LLVM_SLOT}]
+ ')
+ )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -115,6 +132,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
@@ -124,6 +150,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
"
BDEPEND="
@@ -141,11 +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() {
@@ -173,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
@@ -216,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
@@ -231,15 +271,26 @@ 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
}
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)
@@ -257,39 +308,49 @@ src_configure() {
-DWITH_BULLET=$(usex bullet)
-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=$(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_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_MATERIALX=no
+ -DWITH_MATERIALX="no" # TODO: Package MaterialX
-DWITH_MEM_JEMALLOC=$(usex jemalloc)
-DWITH_MEM_VALGRIND=$(usex valgrind)
-DWITH_MOD_FLUID=$(usex fluid)
@@ -307,22 +368,40 @@ 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
-DWITH_SYSTEM_EIGEN3=yes
-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
@@ -333,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.
@@ -346,7 +425,8 @@ src_configure() {
# Ease compiling with required gcc similar to cuda_sanitize but for cmake
use cuda && use cycles-bin-kernels && mycmakeargs+=( -DCUDA_HOST_COMPILER="$(cuda_gccdir)" )
fi
- if tc-is-clang ; then
+
+ if tc-is-clang || use osl; then
mycmakeargs+=(
-DWITH_CLANG=yes
-DWITH_LLVM=yes
@@ -363,9 +443,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
@@ -375,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.
@@ -388,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() {
@@ -400,11 +489,14 @@ src_install() {
# Pax mark blender for hardened support.
pax-mark m "${BUILD_DIR}"/bin/blender
- cmake_src_install
-
if use man; then
+ # XXX: Stupid temporary hack for bug #925254
+ cmake_src_install -j1
+
# Slot the man page
mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
+ else
+ cmake_src_install
fi
if use doc; then
@@ -488,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-3.5.1-r1.ebuild b/media-gfx/blender/blender-4.1.1.ebuild
index 49ca6280a4dd..94e2599fa018 100644
--- a/media-gfx/blender/blender-3.5.1-r1.ebuild
+++ b/media-gfx/blender/blender-4.1.1.ebuild
@@ -3,51 +3,61 @@
EAPI=8
-PYTHON_COMPAT=( python3_10 python3_11 )
+PYTHON_COMPAT=( python3_{11..12} )
+# matches media-libs/osl
+LLVM_COMPAT=( {15..17} )
-inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
+inherit check-reqs cmake cuda flag-o-matic llvm-r1 pax-utils python-single-r1 toolchain-funcs xdg-utils
DESCRIPTION="3D Creation/Animation/Publishing System"
HOMEPAGE="https://www.blender.org"
if [[ ${PV} = *9999* ]] ; then
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
+ EGIT_LFS="yes"
+ inherit git-r3
EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
+ EGIT_SUBMODULES=( '*' '-lib/*' )
ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
+ RESTRICT="!test? ( test )"
else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- # Update these between major releases.
- TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
+ SRC_URI="
+ https://download.blender.org/source/${P}.tar.xz
+ "
+ # test? (
+ # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz
+ # )
+ # "
KEYWORDS="~amd64 ~arm ~arm64"
+ RESTRICT="test" # the test archive returns LFS references.
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +dds +fluid +openexr +tbb
- alembic collada +color-management cuda +cycles cycles-bin-kernels
- debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
- man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
- +sndfile test +tiff valgrind wayland X"
-RESTRICT="!test? ( test )"
+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 )
+ cycles? ( openexr tiff tbb )
fluid? ( tbb )
- openvdb? ( tbb )
+ gnome? ( wayland )
+ hip? ( cycles )
+ nanovdb? ( openvdb )
+ openvdb? ( tbb openexr )
optix? ( cuda )
- osl? ( cycles )
+ osl? ( cycles pugixml )
test? ( color-management )"
# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
+# 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 '
@@ -61,19 +71,21 @@ 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
virtual/opengl
alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] )
collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.3.0:= )
+ color-management? ( media-libs/opencolorio:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.10.0[raymask] )
+ 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,19 +95,26 @@ RDEPEND="${PYTHON_DEPS}
)
nls? ( virtual/libiconv )
openal? ( media-libs/openal )
- oidn? ( >=media-libs/oidn-1.4.1 )
+ 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.4.0 )
+ openpgl? ( media-libs/openpgl:= )
+ opensubdiv? ( >=media-libs/opensubdiv-3.5.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 )
- osl? ( >=media-libs/osl-1.11.16.0-r3:= )
+ 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 )
@@ -109,9 +128,22 @@ RDEPEND="${PYTHON_DEPS}
>=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
@@ -121,6 +153,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
"
BDEPEND="
@@ -138,8 +174,16 @@ BDEPEND="
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
@@ -162,38 +206,41 @@ blender_get_version() {
pkg_pretend() {
blender_check_requirements
+
+ use oneapi && einfo "The Intel oneAPI support is rudimentary. Please report any bugs you find to https://bugs.gentoo.org/"
}
pkg_setup() {
+ if use osl; then
+ llvm-r1_pkg_setup
+ fi
+
blender_check_requirements
python-single-r1_pkg_setup
}
src_unpack() {
if [[ ${PV} = *9999* ]] ; then
+ if ! use test; then
+ EGIT_SUBMODULES+=( '-tests/*' )
+ fi
git-r3_src_unpack
git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
-
- 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
@@ -204,26 +251,48 @@ src_prepare() {
-i doc/doxygen/Doxyfile || die
# Prepare icons and .desktop files for slotting.
- sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die
-
- sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
-
- mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
+ 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/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
}
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)
@@ -231,46 +300,59 @@ src_configure() {
blender_get_version
local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
+ -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_ASSERT_ABORT=$(usex debug)
- -DWITH_BOOST=ON
+ -DWITH_BOOST=yes
-DWITH_BULLET=$(usex bullet)
-DWITH_CODEC_FFMPEG=$(usex ffmpeg)
-DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CXX_GUARDEDALLOC=$(usex debug)
+
-DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels)
- -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
+
+ -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda)
+ -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_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=OFF
- -DWITH_CYCLES_STANDALONE_GUI=OFF
+ -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=OFF
- -DWITH_GHOST_WAYLAND_LIBDECOR=OFF
+ -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=OFF
- -DWITH_IMAGE_DDS=$(usex dds)
+ -DWITH_HYDRA="no" # TODO: Package Hydra
-DWITH_IMAGE_OPENEXR=$(usex openexr)
-DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
- -DWITH_IMAGE_TIFF=$(usex tiff)
+ -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)
@@ -287,17 +369,42 @@ src_configure() {
-DWITH_POTRACE=$(usex potrace)
-DWITH_PUGIXML=$(usex pugixml)
-DWITH_PULSEAUDIO=$(usex pulseaudio)
- -DWITH_PYTHON_INSTALL=OFF
+ -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=OFF
- -DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_FREETYPE=ON
- -DWITH_SYSTEM_LZO=ON
+ -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=OFF
- -DWITH_XR_OPENXR=OFF
+ -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
@@ -308,14 +415,39 @@ 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-flags $(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.
# We disable these to respect the user's choice of linker.
mycmakeargs+=(
- -DWITH_LINKER_GOLD=OFF
- -DWITH_LINKER_LLD=OFF
+ -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
@@ -338,10 +470,20 @@ src_test() {
[ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
[ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
+ if use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/renderD128"
+ addwrite "/dev/char/"
+ fi
+
+ if use X; then
+ xdg_environment_reset
+ fi
+
cmake_src_test
# Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
+ rm -fr "${T}/usr" || die
}
src_install() {
@@ -417,11 +559,11 @@ pkg_postinst() {
ewarn ""
fi
- if ! use python_single_target_python3_10; then
+ if ! use python_single_target_python3_11; then
elog "You are building Blender with a newer python version than"
elog "supported by this version upstream."
elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
+ elog "python_single_target_python3_11 instead."
elog "Bug: https://bugs.gentoo.org/737388"
elog
fi
@@ -438,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-9999.ebuild b/media-gfx/blender/blender-9999.ebuild
index d54fb423595c..94e2599fa018 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-9999.ebuild
@@ -3,50 +3,59 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..12} )
+# matches media-libs/osl
+LLVM_COMPAT=( {15..17} )
-inherit check-reqs cmake cuda flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
+inherit check-reqs cmake cuda flag-o-matic llvm-r1 pax-utils python-single-r1 toolchain-funcs xdg-utils
DESCRIPTION="3D Creation/Animation/Publishing System"
HOMEPAGE="https://www.blender.org"
if [[ ${PV} = *9999* ]] ; then
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
+ EGIT_LFS="yes"
+ inherit git-r3
EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
+ EGIT_SUBMODULES=( '*' '-lib/*' )
ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
+ RESTRICT="!test? ( test )"
else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- # Update these between major releases.
- TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
+ SRC_URI="
+ https://download.blender.org/source/${P}.tar.xz
+ "
+ # test? (
+ # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz
+ # )
+ # "
KEYWORDS="~amd64 ~arm ~arm64"
+ RESTRICT="test" # the test archive returns LFS references.
fi
-SLOT="${PV%.*}"
LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +fluid +openexr +tbb
- alembic collada +color-management cuda +cycles cycles-bin-kernels
- debug doc +embree +ffmpeg +fftw +gmp hip jack jemalloc jpeg2k
- man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
- +sndfile test +tiff valgrind wayland +webp X"
-RESTRICT="!test? ( test )"
+SLOT="${PV%.*}"
+IUSE="
+ alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
+ debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
+ jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp openpgl
+ +opensubdiv +openvdb optix osl +otf +pdf +potrace +pugixml pulseaudio
+ renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X
+"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
alembic? ( openexr )
cuda? ( cycles )
- cycles? ( openexr tiff )
+ cycles? ( openexr tiff tbb )
fluid? ( tbb )
+ gnome? ( wayland )
hip? ( cycles )
nanovdb? ( openvdb )
- openvdb? ( tbb )
+ openvdb? ( tbb openexr )
optix? ( cuda )
- osl? ( cycles )
+ osl? ( cycles pugixml )
test? ( color-management )"
# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
+# build_files/build_environment/cmake/versions.cmake
RDEPEND="${PYTHON_DEPS}
app-arch/zstd
dev-libs/boost:=[nls?]
@@ -62,7 +71,7 @@ RDEPEND="${PYTHON_DEPS}
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/libsamplerate
- >=media-libs/openimageio-2.4.6.0:=
+ >=media-libs/openimageio-2.5.6.0:=
sys-libs/zlib:=
virtual/glu
virtual/libintl
@@ -71,11 +80,12 @@ RDEPEND="${PYTHON_DEPS}
collada? ( >=media-libs/opencollada-1.6.68 )
color-management? ( media-libs/opencolorio:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.13.0[raymask] )
+ embree? ( media-libs/embree:=[raymask] )
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp )
- hip? ( >=dev-util/hip-5.7.1 )
+ gnome? ( gui-libs/libdecor )
+ hip? ( >=dev-util/hip-5.7:= )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -85,19 +95,26 @@ 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=
+ >=dev-libs/imath-3.1.7:=
+ >=media-libs/openexr-3.2.1:0=
)
- openpgl? ( >=media-libs/openpgl-0.5.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-1.11.16.0-r3:= )
+ optix? ( dev-libs/optix )
+ osl? (
+ >=media-libs/osl-1.13:=
+ $(llvm_gen_dep '
+ >=media-libs/osl-1.13[llvm_slot_${LLVM_SLOT}]
+ media-libs/mesa[llvm_slot_${LLVM_SLOT}]
+ ')
+ )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -115,6 +132,18 @@ RDEPEND="${PYTHON_DEPS}
media-libs/mesa[wayland]
sys-apps/dbus
)
+ vulkan? (
+ media-libs/shaderc
+ dev-util/spirv-tools
+ dev-util/glslang
+ media-libs/vulkan-loader
+ )
+ otf? (
+ media-libs/harfbuzz
+ )
+ renderdoc? (
+ media-gfx/renderdoc
+ )
X? (
x11-libs/libX11
x11-libs/libXi
@@ -124,6 +153,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
"
BDEPEND="
@@ -141,10 +174,14 @@ BDEPEND="
wayland? (
dev-util/wayland-scanner
)
+ X? (
+ x11-base/xorg-proto
+ )
"
PATCHES=(
- "${FILESDIR}/${PN}-4.0.1-openvdb-11.patch"
+ "${FILESDIR}/${PN}-4.0.2-FindClang.patch"
+ "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
)
blender_check_requirements() {
@@ -169,38 +206,41 @@ blender_get_version() {
pkg_pretend() {
blender_check_requirements
+
+ use oneapi && einfo "The Intel oneAPI support is rudimentary. Please report any bugs you find to https://bugs.gentoo.org/"
}
pkg_setup() {
+ if use osl; then
+ llvm-r1_pkg_setup
+ fi
+
blender_check_requirements
python-single-r1_pkg_setup
}
src_unpack() {
if [[ ${PV} = *9999* ]] ; then
+ if ! use test; then
+ EGIT_SUBMODULES+=( '-tests/*' )
+ fi
git-r3_src_unpack
git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
-
- 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
@@ -215,14 +255,17 @@ src_prepare() {
-e "s|blender.svg|blender-${BV}.svg|" \
-e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" \
-e "s|blender.desktop|blender-${BV}.desktop|" \
+ -e "s|org.blender.Blender.metainfo.xml|blender-${BV}.metainfo.xml|" \
-i source/creator/CMakeLists.txt || die
sed \
- -e "s|Name=Blender|Name=Blender ${PV}|" \
+ -e "s|Name=Blender|Name=Blender ${BV}|" \
-e "s|Exec=blender|Exec=blender-${BV}|" \
-e "s|Icon=blender|Icon=blender-${BV}|" \
-i release/freedesktop/blender.desktop || die
+ sed -e "s|\${CMAKE_INSTALL_PREFIX}/\${BLENDER_BIN}|${T}/usr/\${BLENDER_BIN}|g" -i source/creator/CMakeLists.txt || die
+
mv \
release/freedesktop/icons/scalable/apps/blender.svg \
"release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
@@ -230,15 +273,26 @@ 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
}
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)
@@ -256,39 +310,49 @@ src_configure() {
-DWITH_BULLET=$(usex bullet)
-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=$(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_DBUS=$(usex wayland)
- -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_MATERIALX=no
+ -DWITH_MATERIALX="no" # TODO: Package MaterialX
-DWITH_MEM_JEMALLOC=$(usex jemalloc)
-DWITH_MEM_VALGRIND=$(usex valgrind)
-DWITH_MOD_FLUID=$(usex fluid)
@@ -306,22 +370,41 @@ 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
-DWITH_SYSTEM_EIGEN3=yes
-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
@@ -332,8 +415,8 @@ src_configure() {
# This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
use arm64 && append-flags -flax-vector-conversions
- append-cflags $(usex debug '-DDEBUG' '-DNDEBUG')
- append-cppflags $(usex debug '-DDEBUG' '-DNDEBUG')
+ append-cflags "$(usex debug '-DDEBUG' '-DNDEBUG')"
+ append-cppflags "$(usex debug '-DDEBUG' '-DNDEBUG')"
if tc-is-gcc ; then
# These options only exist when GCC is detected.
@@ -345,7 +428,8 @@ src_configure() {
# Ease compiling with required gcc similar to cuda_sanitize but for cmake
use cuda && use cycles-bin-kernels && mycmakeargs+=( -DCUDA_HOST_COMPILER="$(cuda_gccdir)" )
fi
- if tc-is-clang ; then
+
+ if tc-is-clang || use osl; then
mycmakeargs+=(
-DWITH_CLANG=yes
-DWITH_LLVM=yes
@@ -362,9 +446,8 @@ src_configure() {
mycmakeargs+=(
-DCYCLES_TEST_DEVICES:STRING="$(local IFS=";"; echo "${CYCLES_TEST_DEVICES[*]}")"
-DWITH_COMPOSITOR_REALTIME_TESTS=yes
- -DWITH_GTESTS=yes
- -DWITH_OPENGL_DRAW_TESTS=yes
- -DWITH_OPENGL_RENDER_TESTS=yes
+ -DWITH_GPU_DRAW_TESTS=yes
+ -DWITH_GPU_RENDER_TESTS=yes
)
fi
@@ -374,7 +457,7 @@ src_configure() {
src_test() {
# A lot of tests needs to have access to the installed data files.
# So install them into the image directory now.
- DESTDIR="${T}" cmake_build install "$@"
+ DESTDIR="${T}" cmake_build install
blender_get_version
# Define custom blender data/script file paths not be able to find them otherwise during testing.
@@ -387,10 +470,20 @@ src_test() {
[ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
[ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
+ if use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/renderD128"
+ addwrite "/dev/char/"
+ fi
+
+ if use X; then
+ xdg_environment_reset
+ fi
+
cmake_src_test
# Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
+ rm -fr "${T}/usr" || die
}
src_install() {
@@ -466,11 +559,11 @@ pkg_postinst() {
ewarn ""
fi
- if ! use python_single_target_python3_10; then
+ if ! use python_single_target_python3_11; then
elog "You are building Blender with a newer python version than"
elog "supported by this version upstream."
elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
+ elog "python_single_target_python3_11 instead."
elog "Bug: https://bugs.gentoo.org/737388"
elog
fi
@@ -487,7 +580,7 @@ pkg_postrm() {
ewarn ""
ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
+ ewarn "~/.config/${PN}/${BV}/cache/"
ewarn "It may contain extra render kernels not tracked by portage"
ewarn ""
}
diff --git a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch b/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
index d9455222c6a7..1f1561e8e7db 100644
--- a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
+++ b/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
@@ -1,3 +1,5 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Change lookup for OpenVDB-11
--- a/intern/cycles/scene/image_vdb.cpp 2023-11-23 14:42:38.772685628 +0100
+++ b/intern/cycles/scene/image_vdb.cpp 2023-11-23 15:19:55.475804922 +0100
@@ -11,7 +11,14 @@
diff --git a/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch b/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch
new file mode 100644
index 000000000000..f476756424e0
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch
@@ -0,0 +1,14 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+insert CUDA_NVCC_FLAGS into the custom nvcc call so we can use CUDAHOSTCXX, e.g. a different gcc version for cuda code
+diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
+index 604ccb8..160ee20 100644
+--- a/intern/cycles/kernel/CMakeLists.txt
++++ b/intern/cycles/kernel/CMakeLists.txt
+@@ -752,6 +752,7 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
+ -I "${CMAKE_CURRENT_SOURCE_DIR}/device/cuda"
+ --use_fast_math
+ -Wno-deprecated-gpu-targets
++ ${CUDA_NVCC_FLAGS}
+ -o ${output})
+
+ if(WITH_NANOVDB)
diff --git a/media-gfx/blender/files/blender-4.0.2-FindClang.patch b/media-gfx/blender/files/blender-4.0.2-FindClang.patch
new file mode 100644
index 000000000000..2c7a404c3bc6
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-FindClang.patch
@@ -0,0 +1,14 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+look for the merged clang library so we can find clang
+diff --git a/build_files/cmake/Modules/FindClang.cmake b/build_files/cmake/Modules/FindClang.cmake
+index 1957c63..5620b84 100644
+--- a/build_files/cmake/Modules/FindClang.cmake
++++ b/build_files/cmake/Modules/FindClang.cmake
+@@ -85,6 +85,7 @@ set(_CLANG_FIND_COMPONENTS
+ clangAST
+ clangLex
+ clangBasic
++ clang-cpp
+ )
+
+ set(_CLANG_LIBRARIES)
diff --git a/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch b/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
new file mode 100644
index 000000000000..064abf21c6a6
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
@@ -0,0 +1,342 @@
+From 798a0b301e640e73ae12e6f8a36a66746893bff1 Mon Sep 17 00:00:00 2001
+From: Brecht Van Lommel <brecht@blender.org>
+Date: Sun, 10 Dec 2023 17:08:47 +0100
+Subject: [PATCH] Cycles: update OSL to work with version 1.13.5
+
+This keeps compatibility with older stable versions, but not
+older unreleased versions in the 1.13.x series.
+
+Ref #113157
+
+Pull Request: https://projects.blender.org/blender/blender/pulls/116004
+---
+ intern/cycles/device/cpu/device_impl.cpp | 2 +-
+ .../device/cpu/kernel_thread_globals.cpp | 6 ++-
+ .../cycles/device/cpu/kernel_thread_globals.h | 3 +-
+ intern/cycles/kernel/device/cpu/globals.h | 1 +
+ intern/cycles/kernel/osl/closures.cpp | 52 ++++++++++++++++++-
+ intern/cycles/kernel/osl/globals.cpp | 3 +-
+ intern/cycles/kernel/osl/globals.h | 4 +-
+ intern/cycles/kernel/osl/osl.h | 5 ++
+ intern/cycles/kernel/osl/services.cpp | 27 ++++++++--
+ intern/cycles/kernel/osl/services.h | 21 +++++++-
+ intern/cycles/kernel/osl/types.h | 4 +-
+ 11 files changed, 115 insertions(+), 13 deletions(-)
+
+diff --git a/intern/cycles/device/cpu/device_impl.cpp b/intern/cycles/device/cpu/device_impl.cpp
+index cbbdb844323..ba838233855 100644
+--- a/intern/cycles/device/cpu/device_impl.cpp
++++ b/intern/cycles/device/cpu/device_impl.cpp
+@@ -313,7 +313,7 @@ void CPUDevice::get_cpu_kernel_thread_globals(
+ kernel_thread_globals.clear();
+ void *osl_memory = get_cpu_osl_memory();
+ for (int i = 0; i < info.cpu_threads; i++) {
+- kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler);
++ kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler, i);
+ }
+ }
+
+diff --git a/intern/cycles/device/cpu/kernel_thread_globals.cpp b/intern/cycles/device/cpu/kernel_thread_globals.cpp
+index 546061a5086..998a63aa334 100644
+--- a/intern/cycles/device/cpu/kernel_thread_globals.cpp
++++ b/intern/cycles/device/cpu/kernel_thread_globals.cpp
+@@ -12,14 +12,16 @@ CCL_NAMESPACE_BEGIN
+
+ CPUKernelThreadGlobals::CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals,
+ void *osl_globals_memory,
+- Profiler &cpu_profiler)
++ Profiler &cpu_profiler,
++ const int thread_index)
+ : KernelGlobalsCPU(kernel_globals), cpu_profiler_(cpu_profiler)
+ {
+ clear_runtime_pointers();
+
+ #ifdef WITH_OSL
+- OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory));
++ OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory), thread_index);
+ #else
++ (void)thread_index;
+ (void)osl_globals_memory;
+ #endif
+
+diff --git a/intern/cycles/device/cpu/kernel_thread_globals.h b/intern/cycles/device/cpu/kernel_thread_globals.h
+index dc4b693702a..3dbc35fefa3 100644
+--- a/intern/cycles/device/cpu/kernel_thread_globals.h
++++ b/intern/cycles/device/cpu/kernel_thread_globals.h
+@@ -23,7 +23,8 @@ class CPUKernelThreadGlobals : public KernelGlobalsCPU {
+ * without OSL support. Will avoid need to those unnamed pointers and casts. */
+ CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals,
+ void *osl_globals_memory,
+- Profiler &cpu_profiler);
++ Profiler &cpu_profiler,
++ const int thread_index);
+
+ ~CPUKernelThreadGlobals();
+
+diff --git a/intern/cycles/kernel/device/cpu/globals.h b/intern/cycles/kernel/device/cpu/globals.h
+index 90a274b2bcf..d0495883e27 100644
+--- a/intern/cycles/kernel/device/cpu/globals.h
++++ b/intern/cycles/kernel/device/cpu/globals.h
+@@ -49,6 +49,7 @@ typedef struct KernelGlobalsCPU {
+ OSLGlobals *osl = nullptr;
+ OSLShadingSystem *osl_ss = nullptr;
+ OSLThreadData *osl_tdata = nullptr;
++ int osl_thread_index = 0;
+ #endif
+
+ #ifdef __PATH_GUIDING__
+diff --git a/intern/cycles/kernel/osl/closures.cpp b/intern/cycles/kernel/osl/closures.cpp
+index 808e13f48d6..4a5906873af 100644
+--- a/intern/cycles/kernel/osl/closures.cpp
++++ b/intern/cycles/kernel/osl/closures.cpp
+@@ -110,7 +110,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
+ if (sd->object == OBJECT_NONE && sd->lamp == LAMP_NONE) {
+ /* background */
+ if (kg->osl->background_state) {
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->background_state),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->background_state), *globals);
++#endif
+ }
+ }
+ else {
+@@ -150,8 +160,18 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
+ globals->dPdy = TO_VEC3(tmp_dP.dy);
+ }
+
+- /* execute bump shader */
++/* execute bump shader */
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->bump_state[shader]),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->bump_state[shader]), *globals);
++#endif
+
+ /* reset state */
+ sd->P = P;
+@@ -164,7 +184,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
+
+ /* surface shader */
+ if (kg->osl->surface_state[shader]) {
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->surface_state[shader]),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->surface_state[shader]), *globals);
++#endif
+ }
+ }
+
+@@ -208,7 +238,17 @@ void osl_eval_nodes<SHADER_TYPE_VOLUME>(const KernelGlobalsCPU *kg,
+ int shader = sd->shader & SHADER_MASK;
+
+ if (kg->osl->volume_state[shader]) {
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->volume_state[shader]),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->volume_state[shader]), *globals);
++#endif
+ }
+
+ /* flatten closure tree */
+@@ -245,7 +285,17 @@ void osl_eval_nodes<SHADER_TYPE_DISPLACEMENT>(const KernelGlobalsCPU *kg,
+ int shader = sd->shader & SHADER_MASK;
+
+ if (kg->osl->displacement_state[shader]) {
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->displacement_state[shader]),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->displacement_state[shader]), *globals);
++#endif
+ }
+
+ /* get back position */
+diff --git a/intern/cycles/kernel/osl/globals.cpp b/intern/cycles/kernel/osl/globals.cpp
+index c4f055af7f7..573ddb6f362 100644
+--- a/intern/cycles/kernel/osl/globals.cpp
++++ b/intern/cycles/kernel/osl/globals.cpp
+@@ -14,7 +14,7 @@
+
+ CCL_NAMESPACE_BEGIN
+
+-void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals)
++void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals, const int thread_index)
+ {
+ /* no osl used? */
+ if (!osl_globals->use) {
+@@ -37,6 +37,7 @@ void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals)
+
+ kg->osl_ss = (OSLShadingSystem *)ss;
+ kg->osl_tdata = tdata;
++ kg->osl_thread_index = thread_index;
+ }
+
+ void OSLGlobals::thread_free(KernelGlobalsCPU *kg)
+diff --git a/intern/cycles/kernel/osl/globals.h b/intern/cycles/kernel/osl/globals.h
+index 9656ef08306..cf24c62613b 100644
+--- a/intern/cycles/kernel/osl/globals.h
++++ b/intern/cycles/kernel/osl/globals.h
+@@ -45,7 +45,9 @@ struct OSLGlobals {
+ }
+
+ /* per thread data */
+- static void thread_init(struct KernelGlobalsCPU *kg, OSLGlobals *osl_globals);
++ static void thread_init(struct KernelGlobalsCPU *kg,
++ OSLGlobals *osl_globals,
++ const int thread_init);
+ static void thread_free(struct KernelGlobalsCPU *kg);
+
+ bool use;
+diff --git a/intern/cycles/kernel/osl/osl.h b/intern/cycles/kernel/osl/osl.h
+index 347b635632a..3238eb5096b 100644
+--- a/intern/cycles/kernel/osl/osl.h
++++ b/intern/cycles/kernel/osl/osl.h
+@@ -52,6 +52,11 @@ ccl_device_inline void shaderdata_to_shaderglobals(KernelGlobals kg,
+
+ /* shader data to be used in services callbacks */
+ globals->renderstate = sd;
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ globals->shadingStateUniform = nullptr;
++ globals->thread_index = 0;
++ globals->shade_index = 0;
++#endif
+
+ /* hacky, we leave it to services to fetch actual object matrix */
+ globals->shader2common = sd;
+diff --git a/intern/cycles/kernel/osl/services.cpp b/intern/cycles/kernel/osl/services.cpp
+index 02dc1cd1aec..93595b0a458 100644
+--- a/intern/cycles/kernel/osl/services.cpp
++++ b/intern/cycles/kernel/osl/services.cpp
+@@ -1165,7 +1165,18 @@ bool OSLRenderServices::get_userdata(
+ return false; /* disabled by lockgeom */
+ }
+
+-#if OSL_LIBRARY_VERSION_CODE >= 11100
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename,
++ OSL::ShadingContext *context,
++ const TextureOpt *opt)
++{
++ return get_texture_handle(to_ustring(filename), context, opt);
++}
++
++TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSL::ustring filename,
++ OSL::ShadingContext *,
++ const TextureOpt *)
++#elif OSL_LIBRARY_VERSION_CODE >= 11100
+ TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename,
+ OSL::ShadingContext *)
+ #else
+@@ -1616,7 +1627,17 @@ bool OSLRenderServices::environment(OSLUStringHash filename,
+ return status;
+ }
+
+-#if OSL_LIBRARY_VERSION_CODE >= 11100
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
++ TextureHandle *texture_handle,
++ TexturePerthread *texture_thread_info,
++ OSL::ShaderGlobals *,
++ int subimage,
++ OSLUStringHash dataname,
++ TypeDesc datatype,
++ void *data,
++ OSLUStringHash *)
++#elif OSL_LIBRARY_VERSION_CODE >= 11100
+ bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
+ TextureHandle *texture_handle,
+ TexturePerthread *texture_thread_info,
+@@ -1627,7 +1648,7 @@ bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
+ void *data,
+ OSLUStringHash *)
+ #else
+-bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *sg,
++bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *,
+ OSLUStringHash filename,
+ TextureHandle *texture_handle,
+ int subimage,
+diff --git a/intern/cycles/kernel/osl/services.h b/intern/cycles/kernel/osl/services.h
+index b674fa7c7a7..62d8a4c5416 100644
+--- a/intern/cycles/kernel/osl/services.h
++++ b/intern/cycles/kernel/osl/services.h
+@@ -189,7 +189,14 @@ class OSLRenderServices : public OSL::RendererServices {
+ void *val,
+ bool derivatives) override;
+
+-#if OSL_LIBRARY_VERSION_CODE >= 11100
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ TextureSystem::TextureHandle *get_texture_handle(OSL::ustring filename,
++ OSL::ShadingContext *context,
++ const TextureOpt *options) override;
++ TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename,
++ OSL::ShadingContext *context,
++ const TextureOpt *options) override;
++#elif OSL_LIBRARY_VERSION_CODE >= 11100
+ TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename,
+ OSL::ShadingContext *context) override;
+ #else
+@@ -245,7 +252,17 @@ class OSLRenderServices : public OSL::RendererServices {
+ float *dresultdt,
+ OSLUStringHash *errormessage) override;
+
+-#if OSL_LIBRARY_VERSION_CODE >= 11100
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ bool get_texture_info(OSLUStringHash filename,
++ TextureHandle *texture_handle,
++ TexturePerthread *texture_thread_info,
++ OSL::ShaderGlobals *sg,
++ int subimage,
++ OSLUStringHash dataname,
++ TypeDesc datatype,
++ void *data,
++ OSLUStringHash *errormessage) override;
++#elif OSL_LIBRARY_VERSION_CODE >= 11100
+ bool get_texture_info(OSLUStringHash filename,
+ TextureHandle *texture_handle,
+ TexturePerthread *texture_thread_info,
+diff --git a/intern/cycles/kernel/osl/types.h b/intern/cycles/kernel/osl/types.h
+index 71c808ff91b..8cb5779961a 100644
+--- a/intern/cycles/kernel/osl/types.h
++++ b/intern/cycles/kernel/osl/types.h
+@@ -86,8 +86,10 @@ struct ShaderGlobals {
+ ccl_private void *tracedata;
+ ccl_private void *objdata;
+ void *context;
+-#if OSL_LIBRARY_VERSION_CODE >= 11302
++#if OSL_LIBRARY_VERSION_CODE >= 11304
+ void *shadingStateUniform;
++ int thread_index;
++ int shade_index;
+ #endif
+ void *renderer;
+ ccl_private void *object2common;
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index 533ef36d911a..e9c0f2846ae7 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>agrigo2001@yahoo.com.au</email>
- <name>Adrian Grigo</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<maintainer type="person" proxied="yes">
<email>darkdefende@gmail.com</email>
@@ -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/chafa/chafa-1.12.5-r1.ebuild b/media-gfx/chafa/chafa-1.12.5-r1.ebuild
index 4b51255e826d..5086db9e3356 100644
--- a/media-gfx/chafa/chafa-1.12.5-r1.ebuild
+++ b/media-gfx/chafa/chafa-1.12.5-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://hpjansson.org/chafa/releases/${P}.tar.xz"
LICENSE="LGPL-3+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc x86"
IUSE="+tools webp"
RDEPEND="
diff --git a/media-gfx/converseen/converseen-0.12.0.1.ebuild b/media-gfx/converseen/converseen-0.12.0.1.ebuild
index 92a8857d6b3e..0535af0f44b8 100644
--- a/media-gfx/converseen/converseen-0.12.0.1.ebuild
+++ b/media-gfx/converseen/converseen-0.12.0.1.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/Faster3ck/Converseen/archive/v${PV}.tar.gz -> ${P}.t
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="graphicsmagick debug"
RDEPEND="
diff --git a/media-gfx/curtail/Manifest b/media-gfx/curtail/Manifest
index d642c5ec08dc..cdb79f810188 100644
--- a/media-gfx/curtail/Manifest
+++ b/media-gfx/curtail/Manifest
@@ -1,2 +1,2 @@
-DIST curtail-1.7.0.tar.gz 217253 BLAKE2B 3d32bf01fbada5ec6b52ccd15f3d941f1e2e017c482ebb02bbb8aec72144009284499f041ff10303742476d94569c4b3cd83297f37442bca19f005d15de78613 SHA512 360ec398bd6f56e9b6664e446f85eea49552d9d24cb59527599dd0f3c0265e7495c3052ec7b77c7373cbb23983b392641b003c0ad29d8fc63f7bf94ff971f7f4
DIST curtail-1.8.0.tar.gz 228988 BLAKE2B c04ad5aaebe8ceab1215937bb3d76ad6b2ca8cb9331011af2c6d3c8d33ee0a898fe3de0e24c0a6303b54ad0a7dd0d811f9b32321b50bbfea6b8063244be464a3 SHA512 6a8a081c0fe1b780b50c55a90f70c4d4514c49941eb9fd5924897e3961aa718af71010e8d210030e1b6028c2e33d0d19dcca5cbdcf51463b5a24d6d2e86c196c
+DIST curtail-1.9.1.tar.gz 199785 BLAKE2B 689aa8f61f3c48ed51a85c35bbc6bee136a20064cd2d03c48f630fd80c8c85b64421e77327a71a41f266bd8f9d6f0dcdc197c15657159ae74056e1b52cc8ef12 SHA512 7ff0ff10068c5ff2694f6674376edf84957759b6274740d47d11a584943b026183b13a59b777c27569b6997c3cb358694fa93c55a1136b9d1fab08e768d1a1a4
diff --git a/media-gfx/curtail/curtail-1.8.0.ebuild b/media-gfx/curtail/curtail-1.8.0-r1.ebuild
index c60211abeb15..34d23e02e28d 100644
--- a/media-gfx/curtail/curtail-1.8.0.ebuild
+++ b/media-gfx/curtail/curtail-1.8.0-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome2-utils meson python-single-r1 xdg
diff --git a/media-gfx/curtail/curtail-1.7.0.ebuild b/media-gfx/curtail/curtail-1.9.1.ebuild
index da8cd30f56a5..222e4969754c 100644
--- a/media-gfx/curtail/curtail-1.7.0.ebuild
+++ b/media-gfx/curtail/curtail-1.9.1.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_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome2-utils meson python-single-r1 xdg
@@ -16,8 +16,9 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://github.com/Huluti/${PN^}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
- S="${WORKDIR}"/${P^}
- KEYWORDS="amd64 ~x86"
+ S="${WORKDIR}/${P^}"
+
+ KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-3+"
diff --git a/media-gfx/darktable/darktable-4.6.1.ebuild b/media-gfx/darktable/darktable-4.6.1.ebuild
index 99e89a9019b5..4d008c42995f 100644
--- a/media-gfx/darktable/darktable-4.6.1.ebuild
+++ b/media-gfx/darktable/darktable-4.6.1.ebuild
@@ -3,7 +3,6 @@
EAPI=8
-CMAKE_BUILD_TYPE="Release"
LUA_COMPAT=( lua5-4 )
inherit cmake flag-o-matic lua-single toolchain-funcs xdg
@@ -134,6 +133,7 @@ src_prepare() {
}
src_configure() {
+ CMAKE_BUILD_TYPE="Release"
local mycmakeargs=(
-DBUILD_CURVE_TOOLS=$(usex tools)
-DBUILD_NOISE_TOOLS=$(usex tools)
diff --git a/media-gfx/darktable/files/darktable-3.0.2_cmake-march-autodetection.patch b/media-gfx/darktable/files/darktable-3.0.2_cmake-march-autodetection.patch
deleted file mode 100644
index 8ad4f0e9329f..000000000000
--- a/media-gfx/darktable/files/darktable-3.0.2_cmake-march-autodetection.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Darktable and RawSpeed upstream support two build modes: if BINARY_PACKAGE_BUILD==1
-they pass -mtune=generic to the compiler, otherwise they use -march=native.
-In either case, these options override externally set CFLAGS.
-
-Disable this behaviour so that the users' settings provided to the ebuild by Portage
-are respected.
-
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -521,7 +521,7 @@
- set(DT_REQ_INSTRUCTIONS "-msse2")
- endif()
-
-- include(march-mtune)
-+ set(MARCH "")
-
- #if(NOT BUILD_SSE2_CODEPATHS)
- # set(MARCH "${MARCH} -mno-sse2 -D__DISABLE_SSE2__ -U__SSE2__ -D__DISABLE_SSE__ -U__SSE__")
---- a/src/external/rawspeed/cmake/compiler-flags.cmake
-+++ b/src/external/rawspeed/cmake/compiler-flags.cmake
-@@ -1,5 +1,4 @@
- include(CheckCXXCompilerFlag)
--include(CpuMarch)
- include(CheckCXXCompilerFlagAndEnableIt)
-
- # yes, need to keep both the CMAKE_CXX_FLAGS and CMAKE_CXX_STANDARD.
diff --git a/media-gfx/darktable/files/darktable-4.2.1-exiv2-0.28.patch b/media-gfx/darktable/files/darktable-4.2.1-exiv2-0.28.patch
deleted file mode 100644
index 1be8577ae369..000000000000
--- a/media-gfx/darktable/files/darktable-4.2.1-exiv2-0.28.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-diff --git a/src/common/exif.cc b/src/common/exif.cc
-index 484ebf2207..91ea8e64d0 100644
---- a/src/common/exif.cc
-+++ b/src/common/exif.cc
-@@ -80,6 +80,11 @@ extern "C" {
-
- #define DT_XMP_EXIF_VERSION 5
-
-+#if EXIV2_TEST_VERSION(0,28,0)
-+#define AnyError Error
-+#define toLong toInt64
-+#endif
-+
- // persistent list of exiv2 tags. set up in dt_init()
- static GList *exiv2_taglist = NULL;
-
-@@ -2658,39 +2663,39 @@ static GList *read_history_v2(Exiv2::XmpData &xmpData, const char *filename)
- if(g_str_has_prefix(key_iter, "darktable:operation"))
- {
- current_entry->have_operation = TRUE;
-- current_entry->operation = g_strdup(history->value().toString().c_str());
-+ current_entry->operation = g_strdup(history->toString().c_str());
- }
- else if(g_str_has_prefix(key_iter, "darktable:num"))
- {
-- current_entry->num = history->value().toLong();
-+ current_entry->num = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:enabled"))
- {
-- current_entry->enabled = history->value().toLong() == 1;
-+ current_entry->enabled = history->toLong() == 1;
- }
- else if(g_str_has_prefix(key_iter, "darktable:modversion"))
- {
- current_entry->have_modversion = TRUE;
-- current_entry->modversion = history->value().toLong();
-+ current_entry->modversion = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:params"))
- {
- current_entry->have_params = TRUE;
-- current_entry->params = dt_exif_xmp_decode(history->value().toString().c_str(), history->value().size(),
-+ current_entry->params = dt_exif_xmp_decode(history->toString().c_str(), history->size(),
- &current_entry->params_len);
- }
- else if(g_str_has_prefix(key_iter, "darktable:multi_name"))
- {
-- current_entry->multi_name = g_strdup(history->value().toString().c_str());
-+ current_entry->multi_name = g_strdup(history->toString().c_str());
- }
- else if(g_str_has_prefix(key_iter, "darktable:multi_priority"))
- {
-- current_entry->multi_priority = history->value().toLong();
-+ current_entry->multi_priority = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:iop_order"))
- {
- // we ensure reading the iop_order as a high precision float
-- string str = g_strdup(history->value().toString().c_str());
-+ string str = g_strdup(history->toString().c_str());
- static const std::locale& c_locale = std::locale("C");
- std::istringstream istring(str);
- istring.imbue(c_locale);
-@@ -2698,12 +2703,12 @@ static GList *read_history_v2(Exiv2::XmpData &xmpData, const char *filename)
- }
- else if(g_str_has_prefix(key_iter, "darktable:blendop_version"))
- {
-- current_entry->blendop_version = history->value().toLong();
-+ current_entry->blendop_version = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:blendop_params"))
- {
-- current_entry->blendop_params = dt_exif_xmp_decode(history->value().toString().c_str(),
-- history->value().size(),
-+ current_entry->blendop_params = dt_exif_xmp_decode(history->toString().c_str(),
-+ history->size(),
- &current_entry->blendop_params_len);
- }
- }
-@@ -2858,35 +2863,35 @@ static GList *read_masks_v3(Exiv2::XmpData &xmpData, const char *filename, const
- // go on reading things into current_entry
- if(g_str_has_prefix(key_iter, "darktable:mask_num"))
- {
-- current_entry->mask_num = history->value().toLong();
-+ current_entry->mask_num = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:mask_id"))
- {
-- current_entry->mask_id = history->value().toLong();
-+ current_entry->mask_id = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:mask_type"))
- {
-- current_entry->mask_type = history->value().toLong();
-+ current_entry->mask_type = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:mask_name"))
- {
-- current_entry->mask_name = g_strdup(history->value().toString().c_str());
-+ current_entry->mask_name = g_strdup(history->toString().c_str());
- }
- else if(g_str_has_prefix(key_iter, "darktable:mask_version"))
- {
-- current_entry->mask_version = history->value().toLong();
-+ current_entry->mask_version = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:mask_points"))
- {
-- current_entry->mask_points = dt_exif_xmp_decode(history->value().toString().c_str(), history->value().size(), &current_entry->mask_points_len);
-+ current_entry->mask_points = dt_exif_xmp_decode(history->toString().c_str(), history->size(), &current_entry->mask_points_len);
- }
- else if(g_str_has_prefix(key_iter, "darktable:mask_nb"))
- {
-- current_entry->mask_nb = history->value().toLong();
-+ current_entry->mask_nb = history->toLong();
- }
- else if(g_str_has_prefix(key_iter, "darktable:mask_src"))
- {
-- current_entry->mask_src = dt_exif_xmp_decode(history->value().toString().c_str(), history->value().size(), &current_entry->mask_src_len);
-+ current_entry->mask_src = dt_exif_xmp_decode(history->toString().c_str(), history->size(), &current_entry->mask_src_len);
- }
-
- }
-@@ -4060,7 +4065,11 @@ char *dt_exif_xmp_read_string(const int imgid)
- std::string xmpPacket;
-
- Exiv2::DataBuf buf = Exiv2::readFile(WIDEN(input_filename));
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ xmpPacket.assign(buf.c_str(), buf.size());
-+#else
- xmpPacket.assign(reinterpret_cast<char *>(buf.pData_), buf.size_);
-+#endif
- Exiv2::XmpParser::decode(xmpData, xmpPacket);
- // because XmpSeq or XmpBag are added to the list, we first have
- // to remove these so that we don't end up with a string of duplicates
-@@ -4076,7 +4085,11 @@ char *dt_exif_xmp_read_string(const int imgid)
- std::string xmpPacket;
-
- Exiv2::DataBuf buf = Exiv2::readFile(WIDEN(input_filename));
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ xmpPacket.assign(buf.c_str(), buf.size());
-+#else
- xmpPacket.assign(reinterpret_cast<char *>(buf.pData_), buf.size_);
-+#endif
- Exiv2::XmpParser::decode(sidecarXmpData, xmpPacket);
-
- for(Exiv2::XmpData::const_iterator it = sidecarXmpData.begin(); it != sidecarXmpData.end(); ++it)
-@@ -4204,7 +4217,11 @@ int dt_exif_xmp_attach_export(const int imgid, const char *filename, void *metad
- std::string xmpPacket;
-
- Exiv2::DataBuf buf = Exiv2::readFile(WIDEN(input_filename));
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ xmpPacket.assign(buf.c_str(), buf.size());
-+#else
- xmpPacket.assign(reinterpret_cast<char *>(buf.pData_), buf.size_);
-+#endif
- Exiv2::XmpParser::decode(sidecarXmpData, xmpPacket);
-
- for(Exiv2::XmpData::const_iterator it = sidecarXmpData.begin(); it != sidecarXmpData.end(); ++it)
-@@ -4371,7 +4388,7 @@ int dt_exif_xmp_attach_export(const int imgid, const char *filename, void *metad
- catch(Exiv2::AnyError &e)
- {
- #if EXIV2_TEST_VERSION(0,27,0)
-- if(e.code() == Exiv2::kerTooLargeJpegSegment)
-+ if(e.code() == Exiv2::ErrorCode::kerTooLargeJpegSegment)
- #else
- if(e.code() == 37)
- #endif
-@@ -4437,7 +4454,11 @@ int dt_exif_xmp_write(const int imgid, const char *filename)
- }
-
- Exiv2::DataBuf buf = Exiv2::readFile(WIDEN(filename));
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ xmpPacket.assign(buf.c_str(), buf.size());
-+#else
- xmpPacket.assign(reinterpret_cast<char *>(buf.pData_), buf.size_);
-+#endif
- Exiv2::XmpParser::decode(xmpData, xmpPacket);
- // because XmpSeq or XmpBag are added to the list, we first have
- // to remove these so that we don't end up with a string of duplicates
-diff --git a/tools/basecurve/exif-wrapper.cpp b/tools/basecurve/exif-wrapper.cpp
-index f4d4d46e12..41bb021012 100644
---- a/tools/basecurve/exif-wrapper.cpp
-+++ b/tools/basecurve/exif-wrapper.cpp
-@@ -19,6 +19,7 @@
- #include <exiv2/exif.hpp>
- #include <exiv2/error.hpp>
- #include <exiv2/image.hpp>
-+#include <exiv2/version.hpp>
-
- #include <cstdio>
- #include <cassert>
-@@ -36,13 +37,21 @@ exif_get_ascii_datafield(
-
- try
- {
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ Exiv2::Image::UniquePtr image = Exiv2::ImageFactory::open(filename);
-+#else
- Exiv2::Image::AutoPtr image = Exiv2::ImageFactory::open(filename);
-+#endif
- assert(image.get() != 0);
- image->readMetadata();
-
- Exiv2::ExifData &exifData = image->exifData();
-
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ Exiv2::Value::UniquePtr val = exifData[key].getValue();
-+#else
- Exiv2::Value::AutoPtr val = exifData[key].getValue();
-+#endif
-
- if (val->typeId() != Exiv2::asciiString)
- {
diff --git a/media-gfx/digikam/Manifest b/media-gfx/digikam/Manifest
index 9fa06bb1336f..a19232ea2344 100644
--- a/media-gfx/digikam/Manifest
+++ b/media-gfx/digikam/Manifest
@@ -1,2 +1 @@
-DIST digiKam-8.1.0.tar.xz 35712348 BLAKE2B 0feaa66ec27b0c2a9e776f26c02987554e8653cda29ca1982182ec1a0f70783808cd2e269dcee1f2b65e6e29ba3bc483a2284a6a485c0b7cc46ae80dd2f87069 SHA512 cbf5a776b4138f4f05d074721324b046dfa07ddc01259f569ae46c46a6d5b0b00824ef0962a09041081703348e4defecf15cff800b2c6cf5e04a0e7e963a3ef4
-DIST digiKam-8.2.0.tar.xz 48172600 BLAKE2B 436f8dcd905ff993cfde3e358e27ac23cb4ad49d24a6328cda209a742874e9fcbc12da507095e2f75a167b653bb1d9e579438bf517e2911f2cb32705230023f1 SHA512 a34c5bde0e579b5f6de1fe90977e01bc385e5c28155d24db09e3cdfe7958c979d2e27cbce402d6c5b70f952fc0ead88318dfa025bb67e540c4d763cb139db7bb
+DIST digiKam-8.3.0-1.tar.xz 55664168 BLAKE2B 46b0f26bb781d370c1046fd6de6afb0a0878175f9722a2fc9ed23aad89eb0671f8b219bb7c169ccd22d440ce493d958304a5a527a733862fe4e2c5cd07da8a21 SHA512 c2fdcecafa68641f08b31286d1b9c44828164a0a0bea607fb64a71c73ff53417cdfefa110245adab164fae8ea0980ea86cd69d693dcd43a96bb188197dc78fcd
diff --git a/media-gfx/digikam/digikam-8.2.0.ebuild b/media-gfx/digikam/digikam-8.2.0.ebuild
deleted file mode 100644
index c6e72cad494e..000000000000
--- a/media-gfx/digikam/digikam-8.2.0.ebuild
+++ /dev/null
@@ -1,162 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KFMIN=5.106.0
-QTMIN=5.15.9
-inherit ecm kde.org toolchain-funcs
-
-if [[ ${KDE_BUILD_TYPE} != live ]]; then
- if [[ ${PV} =~ beta[0-9]$ ]]; then
- SRC_URI="mirror://kde/unstable/${PN}/"
- else
- SRC_URI="mirror://kde/stable/${PN}/${PV}/"
- fi
- SRC_URI+="digiKam-${PV/_/-}.tar.xz"
- KEYWORDS="~amd64 ~arm64 ~x86"
- S="${WORKDIR}/${PN}-${PV/_/-}"
-fi
-
-DESCRIPTION="Digital photo management application"
-HOMEPAGE="https://www.digikam.org/"
-
-LICENSE="GPL-2"
-SLOT="5"
-IUSE="addressbook calendar gphoto2 heif +imagemagick +lensfun marble mysql opengl openmp +panorama scanner semantic-desktop spell"
-
-# bug 366505
-RESTRICT="test"
-
-COMMON_DEPEND="
- dev-libs/expat
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5[-gles2-only]
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtnetworkauth-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtsql-${QTMIN}:5[mysql?]
- >=dev-qt/qtwebengine-${QTMIN}:5[widgets]
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtx11extras-${QTMIN}:5
- >=dev-qt/qtxml-${QTMIN}:5
- >=dev-qt/qtxmlpatterns-${QTMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kconfigwidgets-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kiconthemes-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
- >=kde-frameworks/knotifications-${KFMIN}:5
- >=kde-frameworks/knotifyconfig-${KFMIN}:5
- >=kde-frameworks/kservice-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kwindowsystem-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- >=kde-frameworks/solid-${KFMIN}:5
- >=media-gfx/exiv2-0.27.1:=[xmp]
- media-libs/lcms:2
- media-libs/libjpeg-turbo:=
- media-libs/liblqr
- media-libs/libpng:=
- >=media-libs/opencv-3.3.0:=[contrib,contribdnn,features2d]
- media-libs/tiff:=
- x11-libs/libX11
- addressbook? (
- >=kde-apps/akonadi-contacts-19.04.3:5
- >=kde-frameworks/kcontacts-${KFMIN}:5
- )
- calendar? ( >=kde-frameworks/kcalendarcore-${KFMIN}:5 )
- gphoto2? ( media-libs/libgphoto2:= )
- heif? (
- media-libs/libheif:=
- media-libs/x265:=
- )
- imagemagick? ( media-gfx/imagemagick:= )
- lensfun? ( media-libs/lensfun )
- marble? (
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=kde-apps/marble-19.04.3:5
- >=kde-frameworks/kbookmarks-${KFMIN}:5
- )
- opengl? (
- >=dev-qt/qtopengl-${QTMIN}:5
- virtual/opengl
- )
- panorama? ( >=kde-frameworks/threadweaver-${KFMIN}:5 )
- scanner? ( >=kde-apps/libksane-19.04.3:5 )
- semantic-desktop? ( >=kde-frameworks/kfilemetadata-${KFMIN}:5 )
- spell? ( >=kde-frameworks/sonnet-${KFMIN}:5 )
-"
-DEPEND="${COMMON_DEPEND}
- dev-cpp/eigen:3
- dev-libs/boost
- addressbook? ( >=kde-apps/akonadi-19.04.3:5 )
-"
-RDEPEND="${COMMON_DEPEND}
- media-libs/exiftool
- mysql? ( virtual/mysql[server(+)] )
- panorama? ( media-gfx/hugin )
-"
-BDEPEND="
- sys-devel/gettext
- panorama? (
- app-alternatives/yacc
- app-alternatives/lex
- )
-"
-
-PATCHES=( "${FILESDIR}"/${P}-{cmake,akonadi}.patch )
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- ecm_pkg_pretend
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- ecm_pkg_setup
-}
-
-src_prepare() {
- ecm_src_prepare
- if has_version ">=kde-apps/akonadi-contacts-23.08.0"; then
- sed -e "/KF5[:]*Akonadi/s/KF5/KPim5/" \
- -i core/CMakeLists.txt \
- core/utilities/extrasupport/CMakeLists.txt \
- core/utilities/extrasupport/addressbook/CMakeLists.txt \
- core/app/DigikamCoreTarget.cmake \
- core/cmake/rules/RulesKDEFramework.cmake || die
- fi
-}
-
-# FIXME: Unbundle libraw (libs/rawengine/libraw)
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_CCACHE=OFF
- -DBUILD_WITH_QT6=OFF # KF6 not stable upstream yet
- -DBUILD_TESTING=OFF # bug 698192
- -DENABLE_APPSTYLES=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
- -DENABLE_MEDIAPLAYER=OFF # bug 758641; bundled as of 8.0, KDE-bug 448681
- -DENABLE_SHOWFOTO=ON # built unconditionally so far, new option since 8.0
- -DENABLE_QWEBENGINE=ON
- -DENABLE_AKONADICONTACTSUPPORT=$(usex addressbook)
- $(cmake_use_find_package calendar KF5CalendarCore)
- $(cmake_use_find_package gphoto2 Gphoto2)
- $(cmake_use_find_package heif Libheif)
- $(cmake_use_find_package imagemagick ImageMagick)
- $(cmake_use_find_package lensfun LensFun)
- $(cmake_use_find_package marble Marble)
- -DENABLE_MYSQLSUPPORT=$(usex mysql)
- -DENABLE_INTERNALMYSQL=$(usex mysql)
- $(cmake_use_find_package opengl OpenGL)
- $(cmake_use_find_package panorama KF5ThreadWeaver)
- $(cmake_use_find_package scanner KF5Sane)
- $(cmake_use_find_package spell KF5Sonnet)
- -DENABLE_KFILEMETADATASUPPORT=$(usex semantic-desktop)
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/digikam/digikam-8.1.0-r1.ebuild b/media-gfx/digikam/digikam-8.3.0.ebuild
index ff6fc6cdc4c3..fd35ed4e3572 100644
--- a/media-gfx/digikam/digikam-8.1.0-r1.ebuild
+++ b/media-gfx/digikam/digikam-8.3.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/_/-}-1"
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/_/-}"
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 +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 )
@@ -75,24 +74,19 @@ COMMON_DEPEND="
)
imagemagick? ( media-gfx/imagemagick:= )
lensfun? ( media-libs/lensfun )
- marble? (
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=kde-apps/marble-19.04.3:5
- >=kde-frameworks/kbookmarks-${KFMIN}:5
- )
opengl? (
>=dev-qt/qtopengl-${QTMIN}:5
virtual/opengl
)
panorama? ( >=kde-frameworks/threadweaver-${KFMIN}:5 )
- scanner? ( >=kde-apps/libksane-19.04.3:5 )
+ 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,14 +96,14 @@ RDEPEND="${COMMON_DEPEND}
BDEPEND="
sys-devel/gettext
panorama? (
- app-alternatives/yacc
app-alternatives/lex
+ app-alternatives/yacc
)
"
PATCHES=(
"${FILESDIR}/${P}-cmake.patch"
- "${FILESDIR}/${P}-fix-config-for-scaling-high-res-icons.patch" # 8.2.0, KDE-bug #457272
+ "${FILESDIR}/${P}-cmake-addressbook.patch"
)
pkg_pretend() {
@@ -122,18 +116,6 @@ 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=(
@@ -146,11 +128,11 @@ src_configure() {
-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 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.1.0-cmake.patch b/media-gfx/digikam/files/digikam-8.1.0-cmake.patch
deleted file mode 100644
index 8e1f71e661a1..000000000000
--- a/media-gfx/digikam/files/digikam-8.1.0-cmake.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From 5171575601ebc553cb747a2757caf63b433820b3 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/KF5 detection
-
-And if we enable an option, make the necessary libraries REQUIRED.
----
- core/cmake/rules/RulesKDEFramework.cmake | 41 +++--------------
- core/cmake/rules/RulesQtFramework.cmake | 58 +++++-------------------
- core/cmake/rules/RulesX11.cmake | 7 +--
- 3 files changed, 19 insertions(+), 87 deletions(-)
-
-diff --git a/core/cmake/rules/RulesKDEFramework.cmake b/core/cmake/rules/RulesKDEFramework.cmake
-index 610033425c..3ea9b1351d 100644
---- a/core/cmake/rules/RulesKDEFramework.cmake
-+++ b/core/cmake/rules/RulesKDEFramework.cmake
-@@ -26,35 +26,20 @@ find_package(KF5 ${KF5_MIN_VERSION} QUIET
- )
-
- if(ENABLE_KFILEMETADATASUPPORT)
--
-- find_package(KF5 ${KF5_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- FileMetaData # For Plasma destop file indexer support.
-- )
--
-+ # For Plasma desktop file indexer support.
-+ find_package(KF5FileMetaData ${KF5_MIN_VERSION} REQUIRED)
- endif()
-
-
- if(ENABLE_AKONADICONTACTSUPPORT)
--
-- find_package(KF5 ${AKONADI_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- Akonadi
-- AkonadiContact # For KDE Mail Contacts support.
-- Contacts # API for contacts/address book data.
-- )
--
-+ find_package(KF5Akonadi ${AKONADI_MIN_VERSION} REQUIRED)
-+ find_package(KF5AkonadiContact ${AKONADI_MIN_VERSION} REQUIRED) # For KDE Mail Contacts support.
-+ find_package(KF5Contacts ${AKONADI_MIN_VERSION} REQUIRED) # API for contacts/address book data.
- endif()
-
--find_package(KF5 ${KSANE_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- Sane # For digital scanner support.
--)
-+find_package(KF5Sane ${KSANE_MIN_VERSION} QUIET) # For digital scanner support.
-
--find_package(KF5 ${CALENDAR_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- CalendarCore # For Calendar tool.
--)
-+find_package(KF5CalendarCore ${CALENDAR_MIN_VERSION} QUIET) # For Calendar tool.
-
- if ("${KF5CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
-
-@@ -62,18 +47,6 @@ if ("${KF5CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
-
- endif()
-
--if(ENABLE_AKONADICONTACTSUPPORT AND (NOT KF5AkonadiContact_FOUND OR NOT KF5Contacts_FOUND))
--
-- set(ENABLE_AKONADICONTACTSUPPORT OFF)
--
--endif()
--
--if(ENABLE_KFILEMETADATASUPPORT AND NOT KF5FileMetaData_FOUND)
--
-- set(ENABLE_KFILEMETADATASUPPORT OFF)
--
--endif()
--
- # Check if KIO have been compiled with KIOWidgets. digiKam only needs this one.
-
- if(KF5KIO_FOUND)
-diff --git a/core/cmake/rules/RulesQtFramework.cmake b/core/cmake/rules/RulesQtFramework.cmake
-index e6e1670ed3..1ab57af4d4 100644
---- a/core/cmake/rules/RulesQtFramework.cmake
-+++ b/core/cmake/rules/RulesQtFramework.cmake
-@@ -18,47 +18,19 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
- )
-
- if(ENABLE_QWEBENGINE)
--
-- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-- NO_MODULE
-- COMPONENTS
-- WebEngineWidgets
-- )
--
-+ find_package(Qt${QT_VERSION_MAJOR}WebEngineWidgets REQUIRED NO_MODULE)
- else()
--
-- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-- NO_MODULE
-- COMPONENTS
-- WebKitWidgets
-- )
--
-+ find_package(Qt${QT_VERSION_MAJOR}WebKitWidgets REQUIRED NO_MODULE)
- endif()
-
--find_package(Qt${QT_VERSION_MAJOR}
-- OPTIONAL_COMPONENTS
-- DBus
-- OpenGL
--)
-+find_package(Qt${QT_VERSION_MAJOR}DBus)
-+find_package(Qt${QT_VERSION_MAJOR}OpenGL)
-
- if(Qt6_FOUND)
--
-- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-- NO_MODULE COMPONENTS
-- StateMachine
-- )
-- find_package(Qt${QT_VERSION_MAJOR}
-- OPTIONAL_COMPONENTS
-- OpenGLWidgets
-- )
--
-+ find_package(Qt${QT_VERSION_MAJOR}StateMachine REQUIRED NO_MODULE)
-+ find_package(Qt${QT_VERSION_MAJOR}OpenGLWidgets)
- else()
--
-- find_package(Qt${QT_VERSION_MAJOR}
-- OPTIONAL_COMPONENTS
-- XmlPatterns # For Rajce plugin
-- )
--
-+ find_package(Qt${QT_VERSION_MAJOR}XmlPatterns) # For Rajce plugin
- endif()
-
- if(ENABLE_DBUS)
-@@ -74,17 +46,9 @@ endif()
- # Qt Dependencies For unit tests and CLI test tools
-
- if(BUILD_TESTING)
-+ find_package(Qt${QT_VERSION_MAJOR}Test REQUIRED NO_MODULE)
-
-- find_package(Qt${QT_VERSION_MAJOR} REQUIRED
-- NO_MODULE
-- COMPONENTS
-- Test
-- )
--
-- find_package(Qt${QT_VERSION_MAJOR}
-- QUIET
-- OPTIONAL_COMPONENTS
-- Qml WebView # Optional, for 'sialis' O2 library test tool.
-- )
--
-+ # Optional, for 'sialis' O2 library test tool.
-+ find_package(Qt${QT_VERSION_MAJOR}Qml QUIET NO_MODULE)
-+ find_package(Qt${QT_VERSION_MAJOR}WebView QUIET NO_MODULE)
- endif()
-diff --git a/core/cmake/rules/RulesX11.cmake b/core/cmake/rules/RulesX11.cmake
-index d7659eed34..9c145970b2 100644
---- a/core/cmake/rules/RulesX11.cmake
-+++ b/core/cmake/rules/RulesX11.cmake
-@@ -11,12 +11,7 @@ find_package(X11)
- if(X11_FOUND)
-
- if(NOT Qt6_FOUND)
--
-- find_package(Qt5 ${QT_MIN_VERSION} NO_MODULE
-- COMPONENTS
-- X11Extras
-- )
--
-+ find_package(Qt5X11Extras ${QT_MIN_VERSION} NO_MODULE)
- endif()
-
- set(HAVE_X11 TRUE)
---
-2.42.0
-
diff --git a/media-gfx/digikam/files/digikam-8.1.0-fix-config-for-scaling-high-res-icons.patch b/media-gfx/digikam/files/digikam-8.1.0-fix-config-for-scaling-high-res-icons.patch
deleted file mode 100644
index 3ec2889d4090..000000000000
--- a/media-gfx/digikam/files/digikam-8.1.0-fix-config-for-scaling-high-res-icons.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 35e5817353709c5c16521fee116bb3c70196aa0f Mon Sep 17 00:00:00 2001
-From: Maik Qualmann <metzpinguin@gmail.com>
-Date: Tue, 18 Jul 2023 18:31:51 +0200
-Subject: [PATCH] for a new config under Linux scaling and high-resolution
- icons are enabled BUGS: 457272 FIXED-IN: 8.2.0
-
----
- core/utilities/setup/misc/systemsettings.cpp | 12 ++++++++++++
- 1 file changed, 12 insertions(+)
-
-diff --git a/core/utilities/setup/misc/systemsettings.cpp b/core/utilities/setup/misc/systemsettings.cpp
-index f4e15803a11..c164bb0cd36 100644
---- a/core/utilities/setup/misc/systemsettings.cpp
-+++ b/core/utilities/setup/misc/systemsettings.cpp
-@@ -22,6 +22,7 @@
- // Local includes
-
- #include "digikam_debug.h"
-+#include "digikam_config.h"
-
- namespace Digikam
- {
-@@ -56,8 +57,19 @@ void SystemSettings::readSettings()
- QSettings settings(m_path, QSettings::IniFormat);
-
- settings.beginGroup(QLatin1String("System"));
-+
-+#ifdef Q_OS_LINUX
-+
-+ useHighDpiScaling = settings.value(QLatin1String("useHighDpiScaling"), true).toBool();
-+ useHighDpiPixmaps = settings.value(QLatin1String("useHighDpiPixmaps"), true).toBool();
-+
-+#else
-+
- useHighDpiScaling = settings.value(QLatin1String("useHighDpiScaling"), false).toBool();
- useHighDpiPixmaps = settings.value(QLatin1String("useHighDpiPixmaps"), false).toBool();
-+
-+#endif
-+
- disableFaceEngine = settings.value(QLatin1String("disableFaceEngine"), false).toBool();
- enableLogging = settings.value(QLatin1String("enableLogging"), false).toBool();
- disableOpenCL = settings.value(QLatin1String("disableOpenCL"), true).toBool();
---
-GitLab
-
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.3.0-cmake-addressbook.patch b/media-gfx/digikam/files/digikam-8.3.0-cmake-addressbook.patch
new file mode 100644
index 000000000000..537a36990404
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-8.3.0-cmake-addressbook.patch
@@ -0,0 +1,26 @@
+From 82ce7f02d65c43605c28b9ca69f8cbd7e12a5bee Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 26 Mar 2024 13:23:51 +0100
+Subject: [PATCH] addressbook: Fix upstream's AkonadiCore prefix confusion
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ core/utilities/extrasupport/addressbook/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/core/utilities/extrasupport/addressbook/CMakeLists.txt b/core/utilities/extrasupport/addressbook/CMakeLists.txt
+index 5923f1fc34..23f31d01d8 100644
+--- a/core/utilities/extrasupport/addressbook/CMakeLists.txt
++++ b/core/utilities/extrasupport/addressbook/CMakeLists.txt
+@@ -16,7 +16,7 @@ include_directories($<TARGET_PROPERTY:Qt${QT_VERSION_MAJOR}::Widgets,INTERFACE_I
+
+ 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>
+--
+2.44.0
+
diff --git a/media-gfx/digikam/files/digikam-8.2.0-cmake.patch b/media-gfx/digikam/files/digikam-8.3.0-cmake.patch
index 8ca9e4a3b8d2..03438e3f2245 100644
--- a/media-gfx/digikam/files/digikam-8.2.0-cmake.patch
+++ b/media-gfx/digikam/files/digikam-8.3.0-cmake.patch
@@ -1,20 +1,20 @@
-From 433d0148be1cedea7e318bf3603fd17f906e721c Mon Sep 17 00:00:00 2001
+From c6ae81abf56851c818285d555e192c660635247b 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 | 43 +++--------------
+ core/cmake/rules/RulesQtFramework.cmake | 61 +++++-------------------
core/cmake/rules/RulesX11.cmake | 7 +--
- 3 files changed, 19 insertions(+), 88 deletions(-)
+ 3 files changed, 20 insertions(+), 91 deletions(-)
diff --git a/core/cmake/rules/RulesKDEFramework.cmake b/core/cmake/rules/RulesKDEFramework.cmake
-index 9c646d0112..defa399391 100644
+index e34e5f4a8d..3cde25928f 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,26 +26,15 @@ find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET
)
if(ENABLE_KFILEMETADATASUPPORT)
@@ -37,17 +37,26 @@ index 9c646d0112..defa399391 100644
- 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(KF${QT_VERSION_MAJOR}Contacts ${KF${QT_VERSION_MAJOR}_MIN_VERSION} REQUIRED) # API for contacts/address book data.
+ find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} REQUIRED)
+ find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} REQUIRED) # For KDE Mail Contacts support.
endif()
--find_package(KF${QT_VERSION_MAJOR} ${KSANE_MIN_VERSION} QUIET
-- OPTIONAL_COMPONENTS
-- Sane # For digital scanner support.
--)
-+find_package(KF${QT_VERSION_MAJOR}Sane ${KSANE_MIN_VERSION} QUIET) # For digital scanner support.
+ if(Qt6_FOUND)
+@@ -54,17 +43,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 +66,11 @@ 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)
+@@ -72,18 +55,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 NOT KPim${QT_VERSION_MAJOR}Contacts_FOUND))
-
- set(ENABLE_AKONADICONTACTSUPPORT OFF)
-
@@ -75,12 +84,12 @@ 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 6f233ccfbc..7e29a09a40 100644
--- a/core/cmake/rules/RulesQtFramework.cmake
+++ b/core/cmake/rules/RulesQtFramework.cmake
-@@ -18,48 +18,19 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+@@ -19,49 +19,20 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
)
if(ENABLE_QWEBENGINE)
@@ -116,6 +125,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 +134,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 +147,7 @@ index 495ce4f4ef..0c58f3552a 100644
endif()
if(ENABLE_DBUS)
-@@ -75,17 +46,9 @@ endif()
+@@ -77,17 +48,9 @@ endif()
# Qt Dependencies For unit tests and CLI test tools
if(BUILD_TESTING)
@@ -159,7 +170,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 +188,5 @@ index d7659eed34..9c145970b2 100644
set(HAVE_X11 TRUE)
--
-2.43.0
+2.44.0
diff --git a/media-gfx/digikam/metadata.xml b/media-gfx/digikam/metadata.xml
index 98caf7822427..13d34044a893 100644
--- a/media-gfx/digikam/metadata.xml
+++ b/media-gfx/digikam/metadata.xml
@@ -10,12 +10,13 @@
</maintainer>
<upstream>
<bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="kde-invent">graphics/digikam</remote-id>
</upstream>
<use>
<flag name="addressbook">Enable akonadi contact integration</flag>
<flag name="imagemagick">Enable support for additional image formats such as XCF, FITS, HEIC etc.</flag>
+ <flag name="mediaplayer">Enable integrated video player</flag>
<flag name="lensfun">Enable support for <pkg>media-libs/lensfun</pkg></flag>
- <flag name="marble">Enable support for geolocation using <pkg>kde-apps/marble</pkg></flag>
<flag name="panorama">Build the panorama plugin which requires <pkg>media-gfx/hugin</pkg></flag>
<flag name="semantic-desktop">Enable <pkg>kde-frameworks/kfilemetadata</pkg> support</flag>
</use>
diff --git a/media-gfx/enblend/Manifest b/media-gfx/enblend/Manifest
index 566364e01dce..9ce037e033f6 100644
--- a/media-gfx/enblend/Manifest
+++ b/media-gfx/enblend/Manifest
@@ -1 +1,2 @@
DIST enblend-4.2.0_p20161007.tar.xz 494060 BLAKE2B 8842dd70a1400a27170794246cb5c89d60b6798373e3a9d63e88738ad569e1174cb4303ccb5a2bc79846651e982e05f8cb9ac3e09b83ee33958b6ccf043ebda9 SHA512 ede037f19a7c3b358f533ecfb235f70824261eaf189d0bdcde6f9cedaa5952be2a6940884e688418b725cb3a67fc1b7d366483a76b7c62326ca857b8efe3a3f3
+DIST enblend-4.2.0_p20240424.tar.xz 505928 BLAKE2B 49a9cfd2cb332573a1d3882ce6d50513008ee71d7235f69bb7920fc9b71f6c0c6e5e7ae88de4c5879d4cb2ee94d437b1752d6c13117c07ad81a6832b45985684 SHA512 1eed2cac0dd6d0ddec41097c4d21ebbad01981e6abbb5fe3db69fc4ef50728ce997faad73dc17255997e8eee9af9d540e38bc2bdf106eb6ca338ef1650680894
diff --git a/media-gfx/enblend/enblend-4.2.0_p20161007-r5.ebuild b/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild
index 582627f70f78..8dfc5ef79971 100644
--- a/media-gfx/enblend/enblend-4.2.0_p20161007-r5.ebuild
+++ b/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild
@@ -1,17 +1,19 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit cmake
DESCRIPTION="Image Blending with Multiresolution Splines"
HOMEPAGE="http://enblend.sourceforge.net/"
-SRC_URI="https://dev.gentoo.org/~soap/distfiles/${P}.tar.xz"
+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"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="cpu_flags_x86_sse2 debug doc openmp tcmalloc"
REQUIRED_USE="tcmalloc? ( !debug )"
@@ -27,13 +29,14 @@ BDEPEND="
dev-tex/hevea
gnome-base/librsvg
media-gfx/graphviz
- media-gfx/transfig
+ >=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:=
@@ -47,10 +50,10 @@ DEPEND="${RDEPEND}
"
PATCHES=(
- "${FILESDIR}"/${PN}-4.2-doc-install-dir-fix.patch
- "${FILESDIR}"/${P}-cmake.patch
- "${FILESDIR}"/${P}-gcc-10.patch
- "${FILESDIR}"/${P}-doc-scaleable-fonts.patch
+ "${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() {
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/entangle/entangle-3.0-r3.ebuild b/media-gfx/entangle/entangle-3.0-r3.ebuild
index 73c99698dd3a..575c7d78c119 100644
--- a/media-gfx/entangle/entangle-3.0-r3.ebuild
+++ b/media-gfx/entangle/entangle-3.0-r3.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=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome2-utils meson python-single-r1 xdg-utils
diff --git a/media-gfx/eog/Manifest b/media-gfx/eog/Manifest
index caee486e88d0..9828e64791c6 100644
--- a/media-gfx/eog/Manifest
+++ b/media-gfx/eog/Manifest
@@ -1 +1 @@
-DIST eog-45.2.tar.xz 4656440 BLAKE2B 70d022ded08363f4719339b7307bbc539bdc78e586b41c3336af26b06f3555aefb77b4fb1db6f40081819cefd8076afb22b6908e0c9f13e15fc610ea5439334f SHA512 17cc55103ed0ac8b7c187997b67e871203348bb4f684e4e70bb917faa0cf3a44f2abd5f69af7a49326ce46df81be31e962d5271d49ee1c4de1ab3b4c02292058
+DIST eog-45.3.tar.xz 4656744 BLAKE2B ceebd9890da926ec7caea916ce2e4483fb398f1b5270f0a210bfc97fb844669ca8416a10cc020f145f8e0b1d2e5e2fd85dcaa4d948312e42b40c0850d657f988 SHA512 21693d659a5eb25bdec968266d7e6a1a6988bcec0bf5c3d914b098001ed4a8e64d7ff628181072fb1aabec1b89b56ed5e7c85e3b06ec79be1c9d7cf1c57d3145
diff --git a/media-gfx/eog/eog-45.2.ebuild b/media-gfx/eog/eog-45.3.ebuild
index 486256a73ca9..486256a73ca9 100644
--- a/media-gfx/eog/eog-45.2.ebuild
+++ b/media-gfx/eog/eog-45.3.ebuild
diff --git a/media-gfx/eom/Manifest b/media-gfx/eom/Manifest
index e53902ad7b75..5d247198946c 100644
--- a/media-gfx/eom/Manifest
+++ b/media-gfx/eom/Manifest
@@ -1,2 +1,2 @@
DIST eom-1.26.1.tar.xz 2512024 BLAKE2B 2aa50d144a4c703d61acee8e0078a8a7ce7e41ffc8e79a0064057b78119e81cc85da0481ee55064702981683e0b34a93dd7a9fce2a6c03fa7fa65e6653d9796d SHA512 263eb6a843577f3ba399fa27b6a9087246053dffd963090933f6bb11b762e1049fdc7b0fd52a6987f40fb57be76d68f6964413a0c12437fb00b8766dc17b7648
-DIST eom-1.27.1.tar.xz 2056592 BLAKE2B 7ba01988689b5a827e846b7e123ab386f89d4f9e285de19a46f5ef773cb5790997cf6301ab1b56ed5c442ec49e56e3389ff9e93bdfc8733b66736d43e6a946f1 SHA512 b9fe176d8899c46bb7fa43a0f4d1ea53d63652f63fd52e26e0f882f2ce06b6fb07109bdd25b4735a9ce1e7d08830b155a977b07aca8790a7ad9a3bae8a3edda7
+DIST eom-1.28.0.tar.xz 2046292 BLAKE2B dec9915ddd63758f6a36eef094e13cdfddc6bb6d333369ff240cb4afa745b814a807fd69d0ed949924fff0337073a6467ec6f5b8037bb9b1e356e029ad2e06f6 SHA512 e500915f9e4b5aa8774645e0bf6735d7592fb9c33d6cca7a94011814ac414816d5ead8dae26a875f054249ca880f306f998c0150c9800df8143dd25a270c239f
diff --git a/media-gfx/eom/eom-1.27.1.ebuild b/media-gfx/eom/eom-1.28.0.ebuild
index a97ad76bd89f..6985985705ca 100644
--- a/media-gfx/eom/eom-1.27.1.ebuild
+++ b/media-gfx/eom/eom-1.28.0.ebuild
@@ -54,10 +54,6 @@ BDEPEND="${COMMON_DEPEND}
virtual/pkgconfig
"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.26.1-libxml2-2.12.patch
-)
-
src_configure() {
mate_src_configure \
--enable-thumbnailer \
diff --git a/media-gfx/exact-image/Manifest b/media-gfx/exact-image/Manifest
index 484e6b6fdbc1..c022a9ed0e52 100644
--- a/media-gfx/exact-image/Manifest
+++ b/media-gfx/exact-image/Manifest
@@ -1 +1,2 @@
DIST exact-image-1.0.2.tar.bz2 322174 BLAKE2B 67afefb4c5a52416459cd4ac6198012eb6d7895a73ea8363fae05286c7e7f62aa1a02166985f53b5638c7dc7b23b4dc1fb1c7b2272a9dc595ce329a7083ee1b9 SHA512 8ba5a198a236ddf5fa58f40c80f32ba9d300376c637a13a7acf3d2db7906fced373b33a7ecff9cff4d09d8b21de9ce1fb9f5bfb1f4522557bd01af0e3d6dcc65
+DIST exact-image-1.2.1.tar.bz2 320849 BLAKE2B 615884f2501b3e9ff00410d3569c8aa7d0131610f990591eb77a11cf6d7249342b4a2ece0f2dd62ea7a1cdd213ae1a98bf6da0817b74d8c8e78cbca5b8e67e33 SHA512 34af0575d8564dd5942f0e3ec5b6fe7fb234a96e621a737359406a2571ed8ac2c15ef2e7655a7d260b37b68138e071342583f47ad7ef0e3b3511e5ebc1a873a8
diff --git a/media-gfx/exact-image/exact-image-1.2.1-r1.ebuild b/media-gfx/exact-image/exact-image-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..7480e98e5c79
--- /dev/null
+++ b/media-gfx/exact-image/exact-image-1.2.1-r1.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+LUA_COMPAT=( lua5-{1..4} luajit )
+
+inherit lua-single toolchain-funcs
+
+DESCRIPTION="A fast, modern and generic image processing library"
+HOMEPAGE="https://exactcode.com/opensource/exactimage/"
+SRC_URI="http://dl.exactcode.de/oss/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="expat jpeg jpegxl lua openexr perl png swig tiff truetype X"
+REQUIRED_USE="lua? ( swig ) perl? ( swig )"
+# Tests are broken; 'make check' fails and referenced testsuite dir not found
+RESTRICT="test"
+
+RDEPEND="
+ x11-libs/agg[truetype]
+ sys-libs/zlib
+ expat? ( dev-libs/expat )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpegxl? ( <media-libs/libjxl-0.9:= )
+ lua? ( ${LUA_DEPS} )
+ openexr? ( media-libs/openexr:= )
+ perl? ( dev-lang/perl )
+ png? ( >=media-libs/libpng-1.2.43 )
+ tiff? ( media-libs/tiff:= )
+ truetype? ( >=media-libs/freetype-2 )
+ X? (
+ x11-libs/libXext
+ x11-libs/libXt
+ x11-libs/libICE
+ x11-libs/libSM
+ )"
+DEPEND="
+ ${RDEPEND}
+ swig? ( dev-lang/swig )
+"
+
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-gcc6.patch
+ "${FILESDIR}"/${PN}-1.0.2-g++.patch
+)
+
+src_prepare() {
+ default
+
+ # Respect user CFLAGS/CXXFLAGS.
+ sed -i \
+ -e '/C\(XX\)\?FLAGS =/s/-O2//' \
+ -e "\$aCFLAGS += ${CFLAGS}\nCXXFLAGS += ${CXXFLAGS}" \
+ Makefile || die
+
+ # Show commands. Use qualified CC/CXX.
+ sed -i \
+ -e '/^Q =/d' \
+ -e '/^\t@echo /d' \
+ -e "\$aCC:=$(tc-getCC)\nCXX:=$(tc-getCXX)" \
+ build/bottom.make || die
+}
+
+src_configure() {
+ # evas -> enlightenment overlay
+ # bardecode -> protected by custom license
+ # libungif -> not supported anymore
+ # python -> allegedly not python3, but python2 only
+
+ ./configure \
+ --prefix=/usr \
+ --libdir=/usr/$(get_libdir) \
+ $(use_with X x11) \
+ $(use_with truetype freetype) \
+ --without-evas \
+ $(use_with jpeg libjpeg) \
+ $(use_with jpegxl libjxl) \
+ $(use_with tiff libtiff) \
+ $(use_with png libpng) \
+ --without-libgif \
+ --without-jasper \
+ $(use_with openexr) \
+ $(use_with expat) \
+ --without-lcms \
+ --without-bardecode \
+ $(use_with lua) \
+ $(use_with swig) \
+ $(use_with perl) \
+ --without-python \
+ --without-php \
+ --without-ruby || die
+}
diff --git a/media-gfx/exact-image/files/exact-image-1.2.1-gcc6.patch b/media-gfx/exact-image/files/exact-image-1.2.1-gcc6.patch
new file mode 100644
index 000000000000..6e9a5b124dbb
--- /dev/null
+++ b/media-gfx/exact-image/files/exact-image-1.2.1-gcc6.patch
@@ -0,0 +1,32 @@
+Bug: https://bugs.gentoo.org/600380
+
+--- a/codecs/dcraw.h
++++ b/codecs/dcraw.h
+@@ -4438,22 +4438,22 @@
+ -2,+0,+0,-1,0,0x06, -2,+0,+0,+0,1,0x02, -2,+0,+0,+1,0,0x03,
+ -2,+1,-1,+0,0,0x04, -2,+1,+0,-1,1,0x04, -2,+1,+0,+0,0,0x06,
+ -2,+1,+0,+1,0,0x02, -2,+2,+0,+0,1,0x04, -2,+2,+0,+1,0,0x04,
+- -1,-2,-1,+0,0,0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,
+- -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,0x88, -1,-1,+1,-2,0,0x40,
++ -1,-2,-1,+0,0,(signed char) 0x80, -1,-2,+0,-1,0,0x01, -1,-2,+1,-1,0,0x01,
++ -1,-2,+1,+0,1,0x01, -1,-1,-1,+1,0,(signed char) 0x88, -1,-1,+1,-2,0,0x40,
+ -1,-1,+1,-1,0,0x22, -1,-1,+1,+0,0,0x33, -1,-1,+1,+1,1,0x11,
+ -1,+0,-1,+2,0,0x08, -1,+0,+0,-1,0,0x44, -1,+0,+0,+1,0,0x11,
+ -1,+0,+1,-2,1,0x40, -1,+0,+1,-1,0,0x66, -1,+0,+1,+0,1,0x22,
+ -1,+0,+1,+1,0,0x33, -1,+0,+1,+2,1,0x10, -1,+1,+1,-1,1,0x44,
+ -1,+1,+1,+0,0,0x66, -1,+1,+1,+1,0,0x22, -1,+1,+1,+2,0,0x10,
+ -1,+2,+0,+1,0,0x04, -1,+2,+1,+0,1,0x04, -1,+2,+1,+1,0,0x04,
+- +0,-2,+0,+0,1,0x80, +0,-1,+0,+1,1,0x88, +0,-1,+1,-2,0,0x40,
++ +0,-2,+0,+0,1,(signed char) 0x80, +0,-1,+0,+1,1,(signed char) 0x88, +0,-1,+1,-2,0,0x40,
+ +0,-1,+1,+0,0,0x11, +0,-1,+2,-2,0,0x40, +0,-1,+2,-1,0,0x20,
+ +0,-1,+2,+0,0,0x30, +0,-1,+2,+1,1,0x10, +0,+0,+0,+2,1,0x08,
+ +0,+0,+2,-2,1,0x40, +0,+0,+2,-1,0,0x60, +0,+0,+2,+0,1,0x20,
+ +0,+0,+2,+1,0,0x30, +0,+0,+2,+2,1,0x10, +0,+1,+1,+0,0,0x44,
+ +0,+1,+1,+2,0,0x10, +0,+1,+2,-1,1,0x40, +0,+1,+2,+0,0,0x60,
+- +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,0x80,
+- +1,-1,+1,+1,0,0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,
++ +0,+1,+2,+1,0,0x20, +0,+1,+2,+2,0,0x10, +1,-2,+1,+0,0,(signed char) 0x80,
++ +1,-1,+1,+1,0,(signed char) 0x88, +1,+0,+1,+2,0,0x08, +1,+0,+2,-1,0,0x40,
+ +1,+0,+2,+1,0,0x10
+ }, chood[] = { -1,-1, -1,0, -1,+1, 0,+1, +1,+1, +1,0, +1,-1, 0,-1 };
+ ushort (*brow[5])[4], *pix;
diff --git a/media-gfx/exif/Manifest b/media-gfx/exif/Manifest
index 8a884efe8b84..7705f4cda844 100644
--- a/media-gfx/exif/Manifest
+++ b/media-gfx/exif/Manifest
@@ -1 +1 @@
-DIST exif-0.6.22.tar.gz 569665 BLAKE2B 556927fca99416ff174c0c4403337f2f8b85cb14472d920a48a9598d8b7e3be6b800b0b37a764cd89fb45b62376a05ef1f0ae6b260a076f0949aadf8a441a2eb SHA512 b194bacb28ff2b910014edce732f97a875852abd486ce62bcf9274eb0ed668a0ee9c954cf60455191969aacb48d3d4d3172958a183b29f050c0bf8d55de14e7d
+DIST exif-0.6.22.tar.xz 369152 BLAKE2B 11cfda3d504860c418863449ba986d64553c3ac8354f99bd2af33b3bcb324a237b3bf89110bbd08b8ef5e4f0ac293107afdaac8abc1f4607d3a0544f18686430 SHA512 f1e2c56b9e72a606c90d53733c1f2b310f7be16a3929595bbf9d5d10a128ef3f6582f547554fc106f449e94d626a137a0a5e4c99391c9253d677abd5ae7fc333
diff --git a/media-gfx/exif/exif-0.6.22-r1.ebuild b/media-gfx/exif/exif-0.6.22-r1.ebuild
index 8d4d61f471b8..230ebd275c1a 100644
--- a/media-gfx/exif/exif-0.6.22-r1.ebuild
+++ b/media-gfx/exif/exif-0.6.22-r1.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="Small CLI util to show EXIF infos hidden in JPEG files"
HOMEPAGE="https://libexif.github.io/ https://github.com/libexif/exif"
-SRC_URI="https://github.com/lib${PN}/${PN}/releases/download/${PN}-${PV//./_}-release/${P}.tar.gz"
+SRC_URI="https://github.com/lib${PN}/${PN}/releases/download/${PN}-${PV//./_}-release/${P}.tar.xz"
LICENSE="LGPL-2+"
SLOT="0"
diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 0d500799da92..4e187fdd9709 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1 @@
-DIST exiv2-0.28.1.tar.gz 45225200 BLAKE2B a26f8e54cf6284c56ff429c13d5a8985dc6181a36b4c13ea6f2e59bc00016a2a8d915ddbc0cedb441b8283e30f18312a500900ffd89ca984006ac84807a03852 SHA512 7b872a3c0cbe343014b1ca4618cecaf6ee8d78dec7ef83accfce95cb8eadc6b52116977a41e1f1be5c6149a47bdd9457fadc08d73708aa2a6ab69795fd3de23b
DIST exiv2-0.28.2.tar.gz 45224206 BLAKE2B 9d1d05c99804032dfb9b740e543d1e3cceae011b17853c8565ccad87e726ce1d0f410c13bf4fa8839bc8e0fecdf170a3acac568f14aad4628b3b844f6c21dd7e SHA512 197cc607c0271b5731714713283756250031cef81ba7ed5d9c3e222b4c2397966cc2bbdbceaae706598329dde6f8a9729597d0ae4c36ac264c76546942e4e37b
diff --git a/media-gfx/exiv2/exiv2-0.28.1-r2.ebuild b/media-gfx/exiv2/exiv2-0.28.2-r1.ebuild
index bd92d0fbec8b..2bb992bdcaab 100644
--- a/media-gfx/exiv2/exiv2-0.28.1-r2.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,21 +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="
@@ -53,8 +51,7 @@ BDEPEND="
DOCS=( README.md doc/ChangeLog doc/cmd.txt )
-# https://github.com/Exiv2/exiv2/pull/2832
-PATCHES=( "${FILESDIR}/${P}-exiv2lib.patch" ) # bug 917483
+PATCHES=( "${FILESDIR}/${P}-errors-localisation.patch" )
pkg_setup() {
if use doc || use test ; then
@@ -76,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.2.ebuild b/media-gfx/exiv2/exiv2-0.28.2.ebuild
deleted file mode 100644
index c7e62ae426fc..000000000000
--- a/media-gfx/exiv2/exiv2-0.28.2.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-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 nls +png test webready +xmp"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-libs/inih[${MULTILIB_USEDEP}]
- >=virtual/libiconv-0-r1[${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="${DEPEND}
- 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 )
-
-PATCHES=( "${FILESDIR}/${P}-errors-localisation.patch" )
-
-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=OFF
- -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/exiv2/files/exiv2-0.28.1-exiv2lib.patch b/media-gfx/exiv2/files/exiv2-0.28.1-exiv2lib.patch
deleted file mode 100644
index dba8fd3e2896..000000000000
--- a/media-gfx/exiv2/files/exiv2-0.28.1-exiv2lib.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4f6d0b806714a702ccbe9e10c5155eb6a1699380 Mon Sep 17 00:00:00 2001
-From: Pino Toscano <toscano.pino@tiscali.it>
-Date: Tue, 14 Nov 2023 07:23:32 +0100
-Subject: [PATCH] cmake: restore a "exiv2lib" target
-
-Commit a8c3455e5cd7ee65acc5f398581e1386f7df5108 and
-commit eb05551ed2d21079299f2f4da2f463df6857b884 changed the target of
-the exiv2 library ("exiv2lib"), exporting it in the "Exiv2" namespace,
-so making it usable as "Exiv2::exiv2lib" instead. An ALIAS to "exiv2lib"
-was added, however cmake does not install or export ALIAS targets [1].
-
-Hence, restore compatibility with the existing cmake users of exiv2:
-manually create an ALIAS target in the cmake config files after all the
-targets are loaded and checked.
-
-[1] https://cmake.org/cmake/help/latest/command/add_library.html
----
- cmake/exiv2Config.cmake.in | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/cmake/exiv2Config.cmake.in b/cmake/exiv2Config.cmake.in
-index 63c9362ff7..c9e2eba9b5 100644
---- a/cmake/exiv2Config.cmake.in
-+++ b/cmake/exiv2Config.cmake.in
-@@ -14,3 +14,6 @@ endif()
- include("${CMAKE_CURRENT_LIST_DIR}/exiv2Export.cmake")
-
- check_required_components(exiv2)
-+
-+# compatibility with non-aliased users
-+add_library(exiv2lib ALIAS Exiv2::exiv2lib)
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/flameshot/flameshot-12.1.0-r2.ebuild b/media-gfx/flameshot/flameshot-12.1.0-r2.ebuild
index c24b2ab6ac05..b01a0e3e9fc2 100644
--- a/media-gfx/flameshot/flameshot-12.1.0-r2.ebuild
+++ b/media-gfx/flameshot/flameshot-12.1.0-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake xdg
+inherit cmake flag-o-matic xdg
DESCRIPTION="Powerful yet simple to use screenshot software"
HOMEPAGE="https://flameshot.org https://github.com/flameshot-org/flameshot"
@@ -37,6 +37,14 @@ src_prepare() {
}
src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/859613
+ # https://github.com/flameshot-org/flameshot/issues/3531
+ #
+ # Do not trust with LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
local mycmakeargs=(
-DUSE_EXTERNAL_SINGLEAPPLICATION=1
-DENABLE_CACHE=0
diff --git a/media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch b/media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch
new file mode 100644
index 000000000000..e61f2b8d3633
--- /dev/null
+++ b/media-gfx/fontforge/files/fontforge-20230101-fix-splinefont-shell-command-injection.patch
@@ -0,0 +1,174 @@
+https://github.com/fontforge/fontforge/commit/216eb14b558df344b206bf82e2bdaf03a1f2f429
+
+From 216eb14b558df344b206bf82e2bdaf03a1f2f429 Mon Sep 17 00:00:00 2001
+From: Peter Kydas <pk@canva.com>
+Date: Tue, 6 Feb 2024 20:03:04 +1100
+Subject: [PATCH] fix splinefont shell command injection (#5367)
+
+--- a/fontforge/splinefont.c
++++ b/fontforge/splinefont.c
+@@ -788,11 +788,14 @@ return( name );
+
+ char *Unarchive(char *name, char **_archivedir) {
+ char *dir = getenv("TMPDIR");
+- char *pt, *archivedir, *listfile, *listcommand, *unarchivecmd, *desiredfile;
++ char *pt, *archivedir, *listfile, *desiredfile;
+ char *finalfile;
+ int i;
+ int doall=false;
+ static int cnt=0;
++ gchar *command[5];
++ gchar *stdoutresponse = NULL;
++ gchar *stderrresponse = NULL;
+
+ *_archivedir = NULL;
+
+@@ -827,18 +830,30 @@ return( NULL );
+ listfile = malloc(strlen(archivedir)+strlen("/" TOC_NAME)+1);
+ sprintf( listfile, "%s/" TOC_NAME, archivedir );
+
+- listcommand = malloc( strlen(archivers[i].unarchive) + 1 +
+- strlen( archivers[i].listargs) + 1 +
+- strlen( name ) + 3 +
+- strlen( listfile ) +4 );
+- sprintf( listcommand, "%s %s %s > %s", archivers[i].unarchive,
+- archivers[i].listargs, name, listfile );
+- if ( system(listcommand)!=0 ) {
+- free(listcommand); free(listfile);
+- ArchiveCleanup(archivedir);
+-return( NULL );
+- }
+- free(listcommand);
++ command[0] = archivers[i].unarchive;
++ command[1] = archivers[i].listargs;
++ command[2] = name;
++ command[3] = NULL; // command args need to be NULL-terminated
++
++ if ( g_spawn_sync(
++ NULL,
++ command,
++ NULL,
++ G_SPAWN_SEARCH_PATH,
++ NULL,
++ NULL,
++ &stdoutresponse,
++ &stderrresponse,
++ NULL,
++ NULL
++ ) == FALSE) { // did not successfully execute
++ ArchiveCleanup(archivedir);
++ return( NULL );
++ }
++ // Write out the listfile to be read in later
++ FILE *fp = fopen(listfile, "wb");
++ fwrite(stdoutresponse, strlen(stdoutresponse), 1, fp);
++ fclose(fp);
+
+ desiredfile = ArchiveParseTOC(listfile, archivers[i].ars, &doall);
+ free(listfile);
+@@ -847,22 +862,28 @@ return( NULL );
+ return( NULL );
+ }
+
+- /* I tried sending everything to stdout, but that doesn't work if the */
+- /* output is a directory file (ufo, sfdir) */
+- unarchivecmd = malloc( strlen(archivers[i].unarchive) + 1 +
+- strlen( archivers[i].listargs) + 1 +
+- strlen( name ) + 1 +
+- strlen( desiredfile ) + 3 +
+- strlen( archivedir ) + 30 );
+- sprintf( unarchivecmd, "( cd %s ; %s %s %s %s ) > /dev/null", archivedir,
+- archivers[i].unarchive,
+- archivers[i].extractargs, name, doall ? "" : desiredfile );
+- if ( system(unarchivecmd)!=0 ) {
+- free(unarchivecmd); free(desiredfile);
+- ArchiveCleanup(archivedir);
+-return( NULL );
++ command[0] = archivers[i].unarchive;
++ command[1] = archivers[i].extractargs;
++ command[2] = name;
++ command[3] = doall ? "" : desiredfile;
++ command[4] = NULL;
++
++ if ( g_spawn_sync(
++ (gchar*)archivedir,
++ command,
++ NULL,
++ G_SPAWN_SEARCH_PATH,
++ NULL,
++ NULL,
++ &stdoutresponse,
++ &stderrresponse,
++ NULL,
++ NULL
++ ) == FALSE) { // did not successfully execute
++ free(desiredfile);
++ ArchiveCleanup(archivedir);
++ return( NULL );
+ }
+- free(unarchivecmd);
+
+ finalfile = malloc( strlen(archivedir) + 1 + strlen(desiredfile) + 1);
+ sprintf( finalfile, "%s/%s", archivedir, desiredfile );
+@@ -885,20 +906,54 @@ struct compressors compressors[] = {
+
+ char *Decompress(char *name, int compression) {
+ char *dir = getenv("TMPDIR");
+- char buf[1500];
+ char *tmpfn;
+-
++ gchar *command[4];
++ gint stdout_pipe;
++ gchar buffer[4096];
++ gssize bytes_read;
++ GByteArray *binary_data = g_byte_array_new();
++
+ if ( dir==NULL ) dir = P_tmpdir;
+ tmpfn = malloc(strlen(dir)+strlen(GFileNameTail(name))+2);
+ strcpy(tmpfn,dir);
+ strcat(tmpfn,"/");
+ strcat(tmpfn,GFileNameTail(name));
+ *strrchr(tmpfn,'.') = '\0';
+- snprintf( buf, sizeof(buf), "%s < %s > %s", compressors[compression].decomp, name, tmpfn );
+- if ( system(buf)==0 )
+-return( tmpfn );
+- free(tmpfn);
+-return( NULL );
++
++ command[0] = compressors[compression].decomp;
++ command[1] = "-c";
++ command[2] = name;
++ command[3] = NULL;
++
++ // Have to use async because g_spawn_sync doesn't handle nul-bytes in the output (which happens with binary data)
++ if (g_spawn_async_with_pipes(
++ NULL,
++ command,
++ NULL,
++ G_SPAWN_DO_NOT_REAP_CHILD | G_SPAWN_SEARCH_PATH,
++ NULL,
++ NULL,
++ NULL,
++ NULL,
++ &stdout_pipe,
++ NULL,
++ NULL) == FALSE) {
++ //command has failed
++ return( NULL );
++ }
++
++ // Read binary data from pipe and output to file
++ while ((bytes_read = read(stdout_pipe, buffer, sizeof(buffer))) > 0) {
++ g_byte_array_append(binary_data, (guint8 *)buffer, bytes_read);
++ }
++ close(stdout_pipe);
++
++ FILE *fp = fopen(tmpfn, "wb");
++ fwrite(binary_data->data, sizeof(gchar), binary_data->len, fp);
++ fclose(fp);
++ g_byte_array_free(binary_data, TRUE);
++
++ return(tmpfn);
+ }
+
+ static char *ForceFileToHaveName(FILE *file, char *exten) {
diff --git a/media-gfx/fontforge/fontforge-20230101-r1.ebuild b/media-gfx/fontforge/fontforge-20230101-r1.ebuild
new file mode 100644
index 000000000000..261c8f986c79
--- /dev/null
+++ b/media-gfx/fontforge/fontforge-20230101-r1.ebuild
@@ -0,0 +1,111 @@
+# Copyright 2004-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-single-r1 xdg cmake
+
+DESCRIPTION="postscript font editor and converter"
+HOMEPAGE="https://fontforge.org/"
+SRC_URI="https://github.com/fontforge/fontforge/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="BSD GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc truetype-debugger gif gtk jpeg png +python readline test tiff svg woff2 X"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/glib-2.67:2
+ dev-libs/libltdl:0
+ dev-libs/libxml2:2=
+ >=media-libs/freetype-2.3.7:2=
+ gif? ( media-libs/giflib:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ png? ( media-libs/libpng:= )
+ tiff? ( media-libs/tiff:= )
+ truetype-debugger? ( >=media-libs/freetype-2.3.8:2[fontforge,-bindist(-)] )
+ gtk? ( >=x11-libs/gtk+-3.10:3 )
+ !gtk? (
+ X? (
+ >=x11-libs/cairo-1.6:0=
+ >=x11-libs/pango-1.10:0=[X]
+ x11-libs/libX11:=
+ x11-libs/libXi:=
+ )
+ )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ woff2? ( media-libs/woff2:0= )
+"
+DEPEND="${RDEPEND}
+ !gtk? ( X? ( x11-base/xorg-proto ) )
+"
+BDEPEND="
+ sys-devel/gettext
+ doc? ( >=dev-python/sphinx-2 )
+ python? ( ${PYTHON_DEPS} )
+ test? ( ${RDEPEND} )
+"
+
+PATCHES=(
+ "${FILESDIR}"/fontforge-doc-no-warn-error.patch
+ "${FILESDIR}"/${PN}-20230101-workaround-broken-translations.patch
+ "${FILESDIR}"/${PN}-20230101-fix-splinefont-shell-command-injection.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DOCS=$(usex doc ON OFF)
+ -DENABLE_LIBGIF=$(usex gif ON OFF)
+ -DENABLE_LIBJPEG=$(usex jpeg ON OFF)
+ -DENABLE_LIBPNG=$(usex png ON OFF)
+ -DENABLE_LIBREADLINE=$(usex readline ON OFF)
+ -DENABLE_LIBSPIRO=OFF # No package in Gentoo
+ -DENABLE_LIBTIFF=$(usex tiff ON OFF)
+ -DENABLE_MAINTAINER_TOOLS=OFF
+ -DENABLE_PYTHON_EXTENSION=$(usex python ON OFF)
+ -DENABLE_PYTHON_SCRIPTING=$(usex python ON OFF)
+ -DENABLE_TILE_PATH=ON
+ -DENABLE_WOFF2=$(usex woff2 ON OFF)
+ )
+
+ if use gtk || use X; then
+ mycmakeargs+=(
+ -DENABLE_GUI=ON
+ # Prefer GTK over X11 if both USE flage are enabled
+ -DENABLE_X11=$(usex gtk OFF ON)
+ )
+ else
+ mycmakeargs+=( -DENABLE_GUI=OFF )
+ fi
+
+ if use python; then
+ python_setup
+ mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
+ fi
+
+ if use truetype-debugger ; then
+ local ft2="${ESYSROOT}/usr/include/freetype2"
+ local ft2i="${ft2}/internal4fontforge"
+ mycmakeargs+=(
+ -DENABLE_FREETYPE_DEBUGGER="${ft2}"
+ -DFreeTypeSource_INCLUDE_DIRS="${ft2};${ft2i}/include;${ft2i}/include/freetype;${ft2i}/src/truetype"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ docompress -x /usr/share/doc/${PF}/html
+ einstalldocs
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/media-gfx/fontforge/fontforge-20230101.ebuild b/media-gfx/fontforge/fontforge-20230101.ebuild
index 001bb06fc921..f9af4d4aad6b 100644
--- a/media-gfx/fontforge/fontforge-20230101.ebuild
+++ b/media-gfx/fontforge/fontforge-20230101.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2004-2023 Gentoo Authors
+# Copyright 2004-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit python-single-r1 xdg cmake
DESCRIPTION="postscript font editor and converter"
diff --git a/media-gfx/fotocx/Manifest b/media-gfx/fotocx/Manifest
index b936813da245..c299d7cf60b6 100644
--- a/media-gfx/fotocx/Manifest
+++ b/media-gfx/fotocx/Manifest
@@ -1,3 +1,2 @@
-DIST fotocx-24.11-source.tar.gz 16322678 BLAKE2B 08ef6407c02d7f81717cf798f2cfec39521c60bd59a4f832c2df86fad509fadeb874348cf1cb7446f087fcb2f85c83648a1a5ace3ab4de4fea3409f1465e69d3 SHA512 fb350a17128d52974ebde9672df9919ac5b2d12eb45d61266c2af4bf0ce247b13d62fce576d477f4345186e0674ca46b0d72e97eaee71d08a0303d32d164d5ac
-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.21-source.tar.gz 16618357 BLAKE2B 43029d080cc843a03475b474c0807e0f2192bc6c64d20c5d41e90218f0b1f88db48aefb7622e8b521f06792a57a9d685d9c57107a309becc39d710ff5aa720a3 SHA512 2945fbaab800a115a1e0c718019ee1e66816cadf794a01db4f8238e7ba74ea033b6e9f24b4e42fe8105242f6df8861de7b00d32e81aae73577f5aa7f38c07f7f
+DIST fotocx-24.30-source.tar.gz 16103870 BLAKE2B 3261b9f4fb0345b37b146e443216e21d57ab9b11a1b77be9b9d94247cc8ae74442b75219fbf3d12f67ba16cee0cf772d3ba83d9e2b5ae38ddbbfd5bd42ea9c52 SHA512 39a4c8526e8fe7e49f4c85953e843243577b9a5b34b89030c452336f51c0ca6e381c38ba60ee39e6ee58b528d824240a821487e5e95a04dd44dabfe38e43f131
diff --git a/media-gfx/fotocx/files/fotocx-24.11-documentation.patch b/media-gfx/fotocx/files/fotocx-24.20-documentation.patch
index 85ca1093d186..977977dc1428 100644
--- a/media-gfx/fotocx/files/fotocx-24.11-documentation.patch
+++ b/media-gfx/fotocx/files/fotocx-24.20-documentation.patch
@@ -1,27 +1,25 @@
-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
+diff -ur fotocx/Makefile fotocx.new/Makefile
+--- fotocx/Makefile 2024-04-01 04:14:12.000000000 -0500
++++ fotocx.new/Makefile 2024-04-03 12:07:21.271052526 -0500
+@@ -123,8 +123,7 @@
+ cp -f fotocx $(DESTDIR)$(BINDIR)
+ cp -f fotocx.desktop $(DESTDIR)$(MENUDIR)
+ cp -f -R doc/* $(DESTDIR)$(DOCDIR)
- 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 -R data $(DESTDIR)$(DATADIR)
+ cp -f -R images $(DESTDIR)$(DATADIR)
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[])
+diff -ur fotocx/zfuncs.cc fotocx.new/zfuncs.cc
+--- fotocx/zfuncs.cc 2024-04-01 04:14:12.000000000 -0500
++++ fotocx.new/zfuncs.cc 2024-04-03 12:07:59.543247027 -0500
+@@ -6125,7 +6125,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
++ 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/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-23.70.ebuild b/media-gfx/fotocx/fotocx-24.21-r1.ebuild
index 5ca640ae39ae..ace12ae77268 100644
--- a/media-gfx/fotocx/fotocx-23.70.ebuild
+++ b/media-gfx/fotocx/fotocx-24.21-r1.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.11.ebuild b/media-gfx/fotocx/fotocx-24.30.ebuild
index c3e565c1342f..8eee122865a7 100644
--- a/media-gfx/fotocx/fotocx-24.11.ebuild
+++ b/media-gfx/fotocx/fotocx-24.30.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/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,9 +35,7 @@ RDEPEND="
x11-misc/xdg-utils
"
-S="${WORKDIR}/${PN}"
-
-PATCHES=( "${FILESDIR}/${PN}-24.11-documentation.patch" )
+PATCHES=( "${FILESDIR}/${PN}-24.20-documentation.patch" )
DOCS=()
HTML_DOCS=()
@@ -51,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/Manifest b/media-gfx/freecad/Manifest
index fa2b9363a973..9f6735199db5 100644
--- a/media-gfx/freecad/Manifest
+++ b/media-gfx/freecad/Manifest
@@ -1,2 +1 @@
-DIST freecad-0.20.2.tar.gz 75555561 BLAKE2B 278b05a3fe3bdccb46da62926aee46f066cb073f034b273dc4d8b27975724b754a6822b7eb0b673500db4592237690decb830cc7a30e8da689c6b067c256d4f8 SHA512 c3acd77dd2bb9a2a23ac354da3b6102effb89c95d675e91421d65486414dfe8cc0188a7212245e0deb63f17b9c5df76133017be09e4cd14b833be8cbec52a08d
DIST freecad-0.21.2.tar.gz 66124278 BLAKE2B 84a4f8008192cd1a2ee1737b537b2668a8c028aa8c8645e6e412ab9ef79bf3bdd2cb73d96fcfd2dbcff613cdcc59cbab95821406acdc9cd7d4eb4636c081be78 SHA512 bd7e9029b24d49ac0955797bcdbea1fd0826bdf9ab246135366dfc35b427004f103acccfc66d008e3ab3928f99e04200e335908a03166545554e2d3e969ae0f5
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-shiboken-6.7.0.patch b/media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch
new file mode 100644
index 000000000000..8efd55121ee7
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch
@@ -0,0 +1,8 @@
+https://bugs.gentoo.org/929973
+--- a/src/Gui/PythonWrapper.cpp
++++ b/src/Gui/PythonWrapper.cpp
+@@ -480,3 +480,3 @@
+ return false;
+- types = Shiboken::Module::getTypes(requiredModule);
++ types = reinterpret_cast<PyTypeObject **>(Shiboken::Module::getTypes(requiredModule));
+ }
diff --git a/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch b/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch
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.20.2-r1.ebuild b/media-gfx/freecad/freecad-0.20.2-r1.ebuild
deleted file mode 100644
index a0b180e9df32..000000000000
--- a/media-gfx/freecad/freecad-0.20.2-r1.ebuild
+++ /dev/null
@@ -1,325 +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 check-reqs cmake optfeature python-single-r1 xdg
-
-DESCRIPTION="QT based Computer Aided Design application"
-HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
-
-MY_PN=FreeCAD
-
-if [[ ${PV} = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
- S="${WORKDIR}/freecad-${PV}"
-else
- SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64"
- S="${WORKDIR}/FreeCAD-${PV}"
-fi
-
-# code is licensed LGPL-2
-# examples are licensed CC-BY-SA (without note of specific version)
-LICENSE="LGPL-2 CC-BY-SA-4.0"
-SLOT="0"
-IUSE="debug designer +gui test"
-
-FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
-FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
- openscad part-design path points raytracing robot show surface
- techdraw tux"
-
-for module in ${FREECAD_STABLE_MODULES}; do
- IUSE="${IUSE} +${module}"
-done
-for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
- IUSE="${IUSE} ${module}"
-done
-unset module
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/OpenNI2[opengl(+)]
- dev-libs/boost:=
- dev-libs/libspnav[X]
- dev-libs/xerces-c[icu]
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
- media-libs/freetype
- media-libs/qhull:=
- sci-libs/flann[openmp]
- sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1
- <sci-libs/opencascade-7.7.0:=[json,vtk]
- sci-libs/orocos_kdl:=
- sys-libs/zlib
- virtual/libusb:1
- cloud? (
- dev-libs/openssl:=
- net-misc/curl
- )
- fem? ( sci-libs/vtk:=[qt5,rendering] )
- gui? (
- dev-qt/designer:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- >=media-libs/coin-4.0.0
- virtual/glu
- virtual/opengl
- $(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}]
- ')
- )
- netgen? ( media-gfx/netgen[opencascade] )
- openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2,qt5,vtk] )
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
- fem? ( dev-python/ply[${PYTHON_USEDEP}] )
- ')
-"
-DEPEND="
- ${RDEPEND}
- >=dev-cpp/eigen-3.3.1:3
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- dev-qt/qttest:5
- )
-"
-BDEPEND="
- app-text/dos2unix
- dev-lang/swig
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- dev-qt/qttest:5
- )
-"
-
-# To get required dependencies:
-# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-# We set the following requirements by default:
-# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
-#
-# Additionally, we auto-enable mesh_part, flat_mesh and smesh
-# Fem actually needs smesh, but as long as we don't have a smesh package, we enable
-# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't
-# reflected by the REQUIRES_MODS macro, but at
-# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187.
-#
-# The increase in auto-enabled workbenches is due to their need in parts of the
-# test suite when compiled with a minimal set of USE flags.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- designer? ( gui )
- inspection? ( points )
- path? ( robot )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19.4-Gentoo-specific-don-t-check-vcs.patch
- "${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
- "${FILESDIR}"/${PN}-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch
- "${FILESDIR}"/${PN}-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch
- "${FILESDIR}"/${PN}-0.20.2-libE57Format-fix-compile-using-gcc13.patch
-)
-
-DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
-
-CHECKREQS_DISK_BUILD="2G"
-
-pkg_setup() {
- check-reqs_pkg_setup
- python-single-r1_pkg_setup
- [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade"
-}
-
-src_prepare() {
- # Fix desktop file
- sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
-
- find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_ADDONMGR=$(usex addonmgr)
- -DBUILD_ARCH=ON
- -DBUILD_ASSEMBLY=OFF # deprecated
- -DBUILD_CLOUD=$(usex cloud)
- -DBUILD_COMPLETE=OFF # deprecated
- -DBUILD_DRAFT=ON
- -DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_DRAWING=ON
- -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0
- -DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=$(usex netgen)
- -DBUILD_FLAT_MESH=ON
- -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
- -DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex gui)
- -DBUILD_IDF=$(usex idf)
- -DBUILD_IMAGE=$(usex image)
- -DBUILD_IMPORT=ON # import module for various file formats
- -DBUILD_INSPECTION=$(usex inspection)
- -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
- -DBUILD_MATERIAL=$(usex material)
- -DBUILD_MESH=ON
- -DBUILD_MESH_PART=ON
- -DBUILD_OPENSCAD=$(usex openscad)
- -DBUILD_PART=ON
- -DBUILD_PART_DESIGN=$(usex part-design)
- -DBUILD_PATH=$(usex path)
- -DBUILD_POINTS=$(usex points)
- -DBUILD_QT5=ON # OFF means to use Qt4
- -DBUILD_RAYTRACING=$(usex raytracing)
- -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
- -DBUILD_ROBOT=$(usex robot)
- -DBUILD_SHOW=$(usex show)
- -DBUILD_SKETCHER=ON # needed by draft workspace
- -DBUILD_SMESH=ON
- -DBUILD_SPREADSHEET=ON
- -DBUILD_START=ON
- -DBUILD_SURFACE=$(usex surface)
- -DBUILD_TECHDRAW=$(usex techdraw)
- -DBUILD_TEST=ON # always build test workbench for run-time testing
- -DBUILD_TUX=$(usex tux)
- -DBUILD_VR=OFF
- -DBUILD_WEB=ON # needed by start workspace
- -DBUILD_WITH_CONDA=OFF
-
- -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
- -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
- -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
- -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
-
- -DFREECAD_BUILD_DEBIAN=OFF
-
- -DFREECAD_QT_VERSION="5"
-
- -DFREECAD_USE_EXTERNAL_KDL=ON
- -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
- -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
- -DFREECAD_USE_FREETYPE=ON
- -DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
- -DFREECAD_USE_PCL=$(usex pcl)
- -DFREECAD_USE_PYBIND11=ON
- -DFREECAD_USE_QT_FILEDIALOG=ON
- -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine"
-
- # install python modules to site-packages' dir. True only for the main package,
- # sub-packages will still be installed inside /usr/lib64/freecad
- -DINSTALL_TO_SITEPACKAGES=ON
-
- # Use the version of shiboken2 that matches the selected python version
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPython3_EXECUTABLE=${PYTHON}
- )
-
- if use debug; then
- # BUILD_SANDBOX currently broken, see
- # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=ON
- )
- else
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-# We use the FreeCADCmd binary instead of the FreeCAD binary here
-# for two reasons:
-# 1. It works out of the box with USE=-gui as well, not needing a guard
-# 2. We don't need virtualx.eclass and it's dependencies
-# The exported environment variables are needed, so freecad does know
-# where to save it's temporary files, and where to look and write it's
-# configuration. Without those, there are sandbox violation, when it
-# tries to create /var/lib/portage/home/.FreeCAD directory.
-src_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
- export FREECAD_USER_HOME="${HOME}"
- export FREECAD_USER_DATA="${T}"
- export FREECAD_USER_TEMP="${T}"
- nonfatal ./bin/FreeCADCmd --run-test 0
- popd > /dev/null || die
-}
-
-src_install() {
- cmake_src_install
-
- dobin src/Tools/freecad-thumbnailer
-
- if use gui; then
- dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad
- mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
- fi
- dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
-
- rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
-
- python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
- # compile main package in python site-packages as well
- python_optimize
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- einfo "You can load a lot of additional workbenches using the integrated"
- einfo "AddonManager."
-
- # ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
- einfo "There are a lot of additional tools, for which FreeCAD has builtin"
- einfo "support. Some of them are available in Gentoo. Take a look at"
- einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
- optfeature_header "Computational utilities"
- optfeature "BLAS library" sci-libs/openblas
- optfeature "Statistical computation with Python" dev-python/pandas
- optfeature "Use scientific computation with Python" dev-python/scipy
- optfeature "Use symbolic math with Python" dev-python/sympy
- optfeature_header "Imaging, Plotting and Rendering utilities"
- optfeature "Dependency graphs" media-gfx/graphviz
- optfeature "PBR Rendering" media-gfx/povray
- optfeature_header "Import / Export"
- optfeature "Interact with git repositories" dev-python/GitPython
- optfeature "Work with COLLADA documents" dev-python/pycollada
- optfeature "YAML importer and emitter" dev-python/pyyaml
- optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
- optfeature "Importing and exporting geospatial data formats" sci-libs/gdal
- optfeature "Working with projection data" sci-libs/proj
- optfeature_header "Meshing and FEM"
- optfeature "FEM mesh generator" sci-libs/gmsh
- optfeature "Triangulating meshes" sci-libs/gts
- optfeature "Visualization" sci-visualization/paraview
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-gfx/freecad/freecad-0.20.2-r2.ebuild b/media-gfx/freecad/freecad-0.20.2-r2.ebuild
deleted file mode 100644
index f7c6b0fa93f8..000000000000
--- a/media-gfx/freecad/freecad-0.20.2-r2.ebuild
+++ /dev/null
@@ -1,324 +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 check-reqs cmake optfeature python-single-r1 xdg
-
-DESCRIPTION="QT based Computer Aided Design application"
-HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
-
-MY_PN=FreeCAD
-
-if [[ ${PV} = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
- S="${WORKDIR}/freecad-${PV}"
-else
- SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/FreeCAD-${PV}"
-fi
-
-# code is licensed LGPL-2
-# examples are licensed CC-BY-SA (without note of specific version)
-LICENSE="LGPL-2 CC-BY-SA-4.0"
-SLOT="0"
-IUSE="debug designer +gui test"
-
-FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
-FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
- openscad part-design path points raytracing robot show surface
- techdraw tux"
-
-for module in ${FREECAD_STABLE_MODULES}; do
- IUSE="${IUSE} +${module}"
-done
-for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
- IUSE="${IUSE} ${module}"
-done
-unset module
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/OpenNI2[opengl(+)]
- dev-libs/boost:=
- dev-libs/libspnav[X]
- dev-libs/xerces-c[icu]
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
- media-libs/freetype
- media-libs/qhull:=
- sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1
- <sci-libs/opencascade-7.7.0:=[json,vtk]
- sci-libs/orocos_kdl:=
- sys-libs/zlib
- virtual/libusb:1
- cloud? (
- dev-libs/openssl:=
- net-misc/curl
- )
- fem? ( sci-libs/vtk:=[qt5,rendering] )
- gui? (
- dev-qt/designer:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- >=media-libs/coin-4.0.0
- virtual/glu
- virtual/opengl
- $(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}]
- ')
- )
- netgen? ( media-gfx/netgen[opencascade] )
- openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2,qt5,vtk] )
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
- fem? ( dev-python/ply[${PYTHON_USEDEP}] )
- ')
-"
-DEPEND="
- ${RDEPEND}
- >=dev-cpp/eigen-3.3.1:3
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- dev-qt/qttest:5
- )
-"
-BDEPEND="
- app-text/dos2unix
- dev-lang/swig
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- dev-qt/qttest:5
- )
-"
-
-# To get required dependencies:
-# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-# We set the following requirements by default:
-# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
-#
-# Additionally, we auto-enable mesh_part, flat_mesh and smesh
-# Fem actually needs smesh, but as long as we don't have a smesh package, we enable
-# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't
-# reflected by the REQUIRES_MODS macro, but at
-# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187.
-#
-# The increase in auto-enabled workbenches is due to their need in parts of the
-# test suite when compiled with a minimal set of USE flags.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- designer? ( gui )
- inspection? ( points )
- path? ( robot )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19.4-Gentoo-specific-don-t-check-vcs.patch
- "${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
- "${FILESDIR}"/${PN}-0.20.2-Netgen-add-headers-to-support-recent-Netgen.patch
- "${FILESDIR}"/${PN}-0.20.2-Fixes-8206-FreeCAD-segfaults-being-run-with-paramete.patch
- "${FILESDIR}"/${PN}-0.20.2-libE57Format-fix-compile-using-gcc13.patch
-)
-
-DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
-
-CHECKREQS_DISK_BUILD="2G"
-
-pkg_setup() {
- check-reqs_pkg_setup
- python-single-r1_pkg_setup
- [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade"
-}
-
-src_prepare() {
- # Fix desktop file
- sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
-
- find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_ADDONMGR=$(usex addonmgr)
- -DBUILD_ARCH=ON
- -DBUILD_ASSEMBLY=OFF # deprecated
- -DBUILD_CLOUD=$(usex cloud)
- -DBUILD_COMPLETE=OFF # deprecated
- -DBUILD_DRAFT=ON
- -DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_DRAWING=ON
- -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0
- -DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=$(usex netgen)
- -DBUILD_FLAT_MESH=ON
- -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
- -DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex gui)
- -DBUILD_IDF=$(usex idf)
- -DBUILD_IMAGE=$(usex image)
- -DBUILD_IMPORT=ON # import module for various file formats
- -DBUILD_INSPECTION=$(usex inspection)
- -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
- -DBUILD_MATERIAL=$(usex material)
- -DBUILD_MESH=ON
- -DBUILD_MESH_PART=ON
- -DBUILD_OPENSCAD=$(usex openscad)
- -DBUILD_PART=ON
- -DBUILD_PART_DESIGN=$(usex part-design)
- -DBUILD_PATH=$(usex path)
- -DBUILD_POINTS=$(usex points)
- -DBUILD_QT5=ON # OFF means to use Qt4
- -DBUILD_RAYTRACING=$(usex raytracing)
- -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
- -DBUILD_ROBOT=$(usex robot)
- -DBUILD_SHOW=$(usex show)
- -DBUILD_SKETCHER=ON # needed by draft workspace
- -DBUILD_SMESH=ON
- -DBUILD_SPREADSHEET=ON
- -DBUILD_START=ON
- -DBUILD_SURFACE=$(usex surface)
- -DBUILD_TECHDRAW=$(usex techdraw)
- -DBUILD_TEST=ON # always build test workbench for run-time testing
- -DBUILD_TUX=$(usex tux)
- -DBUILD_VR=OFF
- -DBUILD_WEB=ON # needed by start workspace
- -DBUILD_WITH_CONDA=OFF
-
- -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
- -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
- -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
- -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
-
- -DFREECAD_BUILD_DEBIAN=OFF
-
- -DFREECAD_QT_VERSION="5"
-
- -DFREECAD_USE_EXTERNAL_KDL=ON
- -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
- -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
- -DFREECAD_USE_FREETYPE=ON
- -DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
- -DFREECAD_USE_PCL=$(usex pcl)
- -DFREECAD_USE_PYBIND11=ON
- -DFREECAD_USE_QT_FILEDIALOG=ON
- -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine"
-
- # install python modules to site-packages' dir. True only for the main package,
- # sub-packages will still be installed inside /usr/lib64/freecad
- -DINSTALL_TO_SITEPACKAGES=ON
-
- # Use the version of shiboken2 that matches the selected python version
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPython3_EXECUTABLE=${PYTHON}
- )
-
- if use debug; then
- # BUILD_SANDBOX currently broken, see
- # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=ON
- )
- else
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-# We use the FreeCADCmd binary instead of the FreeCAD binary here
-# for two reasons:
-# 1. It works out of the box with USE=-gui as well, not needing a guard
-# 2. We don't need virtualx.eclass and it's dependencies
-# The exported environment variables are needed, so freecad does know
-# where to save it's temporary files, and where to look and write it's
-# configuration. Without those, there are sandbox violation, when it
-# tries to create /var/lib/portage/home/.FreeCAD directory.
-src_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
- export FREECAD_USER_HOME="${HOME}"
- export FREECAD_USER_DATA="${T}"
- export FREECAD_USER_TEMP="${T}"
- nonfatal ./bin/FreeCADCmd --run-test 0
- popd > /dev/null || die
-}
-
-src_install() {
- cmake_src_install
-
- dobin src/Tools/freecad-thumbnailer
-
- if use gui; then
- dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad
- mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
- fi
- dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
-
- rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
-
- python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
- # compile main package in python site-packages as well
- python_optimize
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- einfo "You can load a lot of additional workbenches using the integrated"
- einfo "AddonManager."
-
- # ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
- einfo "There are a lot of additional tools, for which FreeCAD has builtin"
- einfo "support. Some of them are available in Gentoo. Take a look at"
- einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
- optfeature_header "Computational utilities"
- optfeature "BLAS library" sci-libs/openblas
- optfeature "Statistical computation with Python" dev-python/pandas
- optfeature "Use scientific computation with Python" dev-python/scipy
- optfeature "Use symbolic math with Python" dev-python/sympy
- optfeature_header "Imaging, Plotting and Rendering utilities"
- optfeature "Dependency graphs" media-gfx/graphviz
- optfeature "PBR Rendering" media-gfx/povray
- optfeature_header "Import / Export"
- optfeature "Interact with git repositories" dev-python/GitPython
- optfeature "Work with COLLADA documents" dev-python/pycollada
- optfeature "YAML importer and emitter" dev-python/pyyaml
- optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
- optfeature "Importing and exporting geospatial data formats" sci-libs/gdal
- optfeature "Working with projection data" sci-libs/proj
- optfeature_header "Meshing and FEM"
- optfeature "FEM mesh generator" sci-libs/gmsh
- optfeature "Triangulating meshes" sci-libs/gts
- optfeature "Visualization" sci-visualization/paraview
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-gfx/freecad/freecad-0.20.2.ebuild b/media-gfx/freecad/freecad-0.20.2.ebuild
deleted file mode 100644
index c34c4c9425e3..000000000000
--- a/media-gfx/freecad/freecad-0.20.2.ebuild
+++ /dev/null
@@ -1,307 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit check-reqs cmake optfeature python-single-r1 xdg
-
-DESCRIPTION="QT based Computer Aided Design application"
-HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
-
-MY_PN=FreeCAD
-
-if [[ ${PV} = *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
- S="${WORKDIR}/freecad-${PV}"
-else
- SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64"
- S="${WORKDIR}/FreeCAD-${PV}"
-fi
-
-# code is licensed LGPL-2
-# examples are licensed CC-BY-SA (without note of specific version)
-LICENSE="LGPL-2 CC-BY-SA-4.0"
-SLOT="0"
-IUSE="debug designer +gui test"
-
-FREECAD_EXPERIMENTAL_MODULES="cloud pcl"
-FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
- openscad part-design path points raytracing robot show surface
- techdraw tux"
-
-for module in ${FREECAD_STABLE_MODULES}; do
- IUSE="${IUSE} +${module}"
-done
-for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
- IUSE="${IUSE} ${module}"
-done
-unset module
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/OpenNI2[opengl(+)]
- dev-libs/boost:=
- dev-libs/libspnav[X]
- dev-libs/xerces-c[icu]
- dev-qt/designer:5
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- dev-qt/qtxml:5
- >=media-libs/coin-4.0.0
- media-libs/freetype
- media-libs/qhull:=
- sci-libs/flann[openmp]
- sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1
- <sci-libs/opencascade-7.7.0:=[json,vtk]
- sci-libs/orocos_kdl:=
- sys-libs/zlib
- virtual/glu
- virtual/libusb:1
- virtual/opengl
- cloud? (
- dev-libs/openssl:=
- net-misc/curl
- )
- fem? ( sci-libs/vtk:=[qt5,rendering] )
- openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2,qt5,vtk] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2[${PYTHON_USEDEP}]
- addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
- fem? ( dev-python/ply[${PYTHON_USEDEP}] )
- ')
-"
-DEPEND="
- ${RDEPEND}
- >=dev-cpp/eigen-3.3.1:3
- test? ( $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') )
-"
-BDEPEND="
- app-text/dos2unix
- dev-lang/swig
- test? ( $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]') )
-"
-
-# To get required dependencies:
-# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-# We set the following requirements by default:
-# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
-#
-# Additionally, we auto-enable mesh_part, flat_mesh and smesh
-# Fem actually needs smesh, but as long as we don't have a smesh package, we enable
-# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't
-# reflected by the REQUIRES_MODS macro, but at
-# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187.
-#
-# The increase in auto-enabled workbenches is due to their need in parts of the
-# test suite when compiled with a minimal set of USE flags.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- inspection? ( points )
- path? ( robot )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19.4-Gentoo-specific-don-t-check-vcs.patch
- "${FILESDIR}"/${PN}-0.19.1-0001-Gentoo-specific-Remove-ccache-usage.patch
-)
-
-DOCS=( CODE_OF_CONDUCT.md ChangeLog.txt README.md )
-
-CHECKREQS_DISK_BUILD="2G"
-
-pkg_setup() {
- check-reqs_pkg_setup
- python-single-r1_pkg_setup
- [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade"
-}
-
-src_prepare() {
- # Fix desktop file
- sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
-
- find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_ADDONMGR=$(usex addonmgr)
- -DBUILD_ARCH=ON
- -DBUILD_ASSEMBLY=OFF # deprecated
- -DBUILD_CLOUD=$(usex cloud)
- -DBUILD_COMPLETE=OFF # deprecated
- -DBUILD_DRAFT=ON
- -DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_DRAWING=ON
- -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0
- -DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=OFF
- -DBUILD_FLAT_MESH=ON
- -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
- -DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex gui)
- -DBUILD_IDF=$(usex idf)
- -DBUILD_IMAGE=$(usex image)
- -DBUILD_IMPORT=ON # import module for various file formats
- -DBUILD_INSPECTION=$(usex inspection)
- -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
- -DBUILD_MATERIAL=$(usex material)
- -DBUILD_MESH=ON
- -DBUILD_MESH_PART=ON
- -DBUILD_OPENSCAD=$(usex openscad)
- -DBUILD_PART=ON
- -DBUILD_PART_DESIGN=$(usex part-design)
- -DBUILD_PATH=$(usex path)
- -DBUILD_POINTS=$(usex points)
- -DBUILD_QT5=ON # OFF means to use Qt4
- -DBUILD_RAYTRACING=$(usex raytracing)
- -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
- -DBUILD_ROBOT=$(usex robot)
- -DBUILD_SHOW=$(usex show)
- -DBUILD_SKETCHER=ON # needed by draft workspace
- -DBUILD_SMESH=ON
- -DBUILD_SPREADSHEET=ON
- -DBUILD_START=ON
- -DBUILD_SURFACE=$(usex surface)
- -DBUILD_TECHDRAW=$(usex techdraw)
- -DBUILD_TEST=ON # always build test workbench for run-time testing
- -DBUILD_TUX=$(usex tux)
- -DBUILD_VR=OFF
- -DBUILD_WEB=ON # needed by start workspace
- -DBUILD_WITH_CONDA=OFF
-
- -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
- -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
- -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
- -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
-
- -DFREECAD_BUILD_DEBIAN=OFF
-
- -DFREECAD_QT_VERSION="5"
-
- -DFREECAD_USE_EXTERNAL_KDL=ON
- -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
- -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
- -DFREECAD_USE_FREETYPE=ON
- -DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
- -DFREECAD_USE_PCL=$(usex pcl)
- -DFREECAD_USE_PYBIND11=ON
- -DFREECAD_USE_QT_FILEDIALOG=ON
- -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine"
-
- # install python modules to site-packages' dir. True only for the main package,
- # sub-packages will still be installed inside /usr/lib64/freecad
- -DINSTALL_TO_SITEPACKAGES=ON
-
- # Use the version of shiboken2 that matches the selected python version
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPython3_EXECUTABLE=${PYTHON}
- )
-
- if use debug; then
- # BUILD_SANDBOX currently broken, see
- # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=ON
- )
- else
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-# We use the FreeCADCmd binary instead of the FreeCAD binary here
-# for two reasons:
-# 1. It works out of the box with USE=-gui as well, not needing a guard
-# 2. We don't need virtualx.eclass and it's dependencies
-# The exported environment variables are needed, so freecad does know
-# where to save it's temporary files, and where to look and write it's
-# configuration. Without those, there are sandbox violation, when it
-# tries to create /var/lib/portage/home/.FreeCAD directory.
-src_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
- export FREECAD_USER_HOME="${HOME}"
- export FREECAD_USER_DATA="${T}"
- export FREECAD_USER_TEMP="${T}"
- nonfatal ./bin/FreeCADCmd --run-test 0
- popd > /dev/null || die
-}
-
-src_install() {
- cmake_src_install
-
- dobin src/Tools/freecad-thumbnailer
-
- if use gui; then
- dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCAD /usr/bin/freecad
- mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
- fi
- dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
-
- python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
- # compile main package in python site-packages as well
- python_optimize
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- einfo "You can load a lot of additional workbenches using the integrated"
- einfo "AddonManager."
-
- # ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, netgen, z88 (no pkgs), calculix-ccx (::waebbl)
- einfo "There are a lot of additional tools, for which FreeCAD has builtin"
- einfo "support. Some of them are available in Gentoo. Take a look at"
- einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
- optfeature_header "Computational utilities"
- optfeature "BLAS library" sci-libs/openblas
- optfeature "Statistical computation with Python" dev-python/pandas
- optfeature "Use scientific computation with Python" dev-python/scipy
- optfeature "Use symbolic math with Python" dev-python/sympy
- optfeature_header "Imaging, Plotting and Rendering utilities"
- optfeature "Dependency graphs" media-gfx/graphviz
- optfeature "PBR Rendering" media-gfx/povray
- optfeature_header "Import / Export"
- optfeature "Interact with git repositories" dev-python/GitPython
- optfeature "Work with COLLADA documents" dev-python/pycollada
- optfeature "YAML importer and emitter" dev-python/pyyaml
- optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
- optfeature "Importing and exporting geospatial data formats" sci-libs/gdal
- optfeature "Working with projection data" sci-libs/proj
- optfeature_header "Meshing and FEM"
- optfeature "FEM mesh generator" sci-libs/gmsh
- optfeature "Triangulating meshes" sci-libs/gts
- optfeature "Visualization" sci-visualization/paraview
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-gfx/freecad/freecad-0.21.2-r1.ebuild b/media-gfx/freecad/freecad-0.21.2-r2.ebuild
index a2c42145c9aa..b0f1d3fac470 100644
--- a/media-gfx/freecad/freecad-0.21.2-r1.ebuild
+++ b/media-gfx/freecad/freecad-0.21.2-r2.ebuild
@@ -3,9 +3,9 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..11} )
-inherit check-reqs cmake optfeature python-single-r1 qmake-utils xdg
+inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg
DESCRIPTION="QT based Computer Aided Design application"
HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
@@ -18,7 +18,7 @@ if [[ ${PV} = *9999 ]]; then
S="${WORKDIR}/freecad-${PV}"
else
SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
S="${WORKDIR}/FreeCAD-${PV}"
fi
@@ -64,7 +64,7 @@ RDEPEND="
media-libs/qhull:=
sci-libs/hdf5:=[fortran,zlib]
>=sci-libs/med-4.0.0-r1
- sci-libs/opencascade:=[json,vtk]
+ <sci-libs/opencascade-7.8.0:=[json,vtk]
sci-libs/orocos_kdl:=
sys-libs/zlib
virtual/libusb:1
@@ -98,7 +98,9 @@ RDEPEND="
' python3_{10..11} )
)
qt6? (
+ sci-libs/opencascade[-inspector(-)]
designer? ( dev-qt/qttools:6[designer] )
+ dev-qt/qt5compat:6
dev-qt/qttools:6[widgets]
dev-qt/qtbase:6[gui,opengl,widgets]
dev-qt/qtsvg:6
@@ -157,13 +159,12 @@ 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
)
DOCS=( CODE_OF_CONDUCT.md README.md )
@@ -182,10 +183,20 @@ src_prepare() {
find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
+ if has_version ">=dev-python/shiboken6-6.7.0"; then
+ # https://bugs.gentoo.org/929973
+ eapply "${FILESDIR}/${PN}-0.21.2-shiboken-6.7.0.patch"
+ fi
+
cmake_src_prepare
}
src_configure() {
+ # -Werror=odr, -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/875221
+ # https://github.com/FreeCAD/FreeCAD/issues/13173
+ filter-lto
+
local mycmakeargs=(
-DBUILD_ADDONMGR=$(usex addonmgr)
-DBUILD_ARCH=ON
@@ -194,7 +205,6 @@ src_configure() {
-DBUILD_COMPLETE=OFF # deprecated
-DBUILD_DRAFT=ON
-DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_DRAWING=ON
-DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0
-DBUILD_FEM=$(usex fem)
-DBUILD_FEM_NETGEN=$(usex netgen)
@@ -279,6 +289,8 @@ src_configure() {
-DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc"
-DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc"
-DBUILD_QT5=OFF
+ # Drawing module unmaintained and not ported to qt6
+ -DBUILD_DRAWING=OFF
)
else
mycmakeargs+=(
@@ -288,6 +300,8 @@ src_configure() {
-DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
-DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc"
-DBUILD_QT5=ON
+ # Drawing module unmaintained and not ported to qt6
+ -DBUILD_DRAWING=ON
)
fi
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index afcff7e93e63..ad9a9580164b 100644
--- a/media-gfx/freecad/freecad-9999.ebuild
+++ b/media-gfx/freecad/freecad-9999.ebuild
@@ -5,7 +5,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
-inherit check-reqs cmake optfeature python-single-r1 qmake-utils xdg
+inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg
DESCRIPTION="QT based Computer Aided Design application"
HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
@@ -45,6 +45,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
+ dev-cpp/yaml-cpp
dev-libs/OpenNI2[opengl(+)]
dev-libs/boost:=
dev-libs/libfmt:=
@@ -98,7 +99,9 @@ RDEPEND="
' python3_{10..11} )
)
qt6? (
- dev-qt/qttools:6[designer]
+ designer? ( dev-qt/qttools:6[designer] )
+ dev-qt/qt5compat:6
+ dev-qt/qttools:6[widgets]
dev-qt/qtbase:6[gui,opengl,widgets]
dev-qt/qtsvg:6
dev-qt/qtwebengine:6[widgets]
@@ -186,6 +189,11 @@ src_prepare() {
}
src_configure() {
+ # -Werror=odr, -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/875221
+ # https://github.com/FreeCAD/FreeCAD/issues/13173
+ filter-lto
+
local mycmakeargs=(
-DBUILD_ADDONMGR=$(usex addonmgr)
-DBUILD_ARCH=ON
@@ -194,7 +202,6 @@ src_configure() {
-DBUILD_COMPLETE=OFF # deprecated
-DBUILD_DRAFT=ON
-DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_DRAWING=ON
-DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master
-DBUILD_FEM=$(usex fem)
-DBUILD_FEM_NETGEN=$(usex netgen)
@@ -279,6 +286,8 @@ src_configure() {
-DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc"
-DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc"
-DBUILD_QT5=OFF
+ # Drawing module unmaintained and not ported to qt6
+ -DBUILD_DRAWING=OFF
)
else
mycmakeargs+=(
@@ -288,6 +297,8 @@ src_configure() {
-DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
-DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc"
-DBUILD_QT5=ON
+ # Drawing module unmaintained and not ported to qt6
+ -DBUILD_DRAWING=ON
)
fi
diff --git a/media-gfx/freecad/metadata.xml b/media-gfx/freecad/metadata.xml
index 17e33f46262b..b934f4a2b2de 100644
--- a/media-gfx/freecad/metadata.xml
+++ b/media-gfx/freecad/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>waebbl-gentoo@posteo.net</email>
- <name>Bernd Waibel</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
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 7a17851089e8..f2a4ecce649a 100644
--- a/media-gfx/geeqie/Manifest
+++ b/media-gfx/geeqie/Manifest
@@ -2,3 +2,7 @@ DIST geeqie-2.1-docs.tar.xz 333756 BLAKE2B 2e569f4000befdaecebd6df9c94c59b8d9e05
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.3-locale.patch b/media-gfx/geeqie/files/geeqie-2.3-locale.patch
new file mode 100644
index 000000000000..05f8bdcfdaea
--- /dev/null
+++ b/media-gfx/geeqie/files/geeqie-2.3-locale.patch
@@ -0,0 +1,11 @@
+diff -Naur geeqie-2.3.orig/src/misc.cc geeqie-2.3/src/misc.cc
+--- geeqie-2.3.orig/src/misc.cc 2024-03-06 16:56:22.000000000 +0100
++++ geeqie-2.3/src/misc.cc 2024-03-25 21:03:18.655779225 +0100
+@@ -23,6 +23,7 @@
+ #include <sys/stat.h>
+ #include <unistd.h>
+
++#include <clocale>
+ #include <cstdio>
+ #include <cstdlib>
+ #include <cstring>
diff --git a/media-gfx/geeqie/files/geeqie-2.3-test-ancillary.patch b/media-gfx/geeqie/files/geeqie-2.3-test-ancillary.patch
new file mode 100644
index 000000000000..4d02d8ef91af
--- /dev/null
+++ b/media-gfx/geeqie/files/geeqie-2.3-test-ancillary.patch
@@ -0,0 +1,13 @@
+diff -Naur geeqie-2.3.orig/meson.build geeqie-2.3/meson.build
+--- geeqie-2.3.orig/meson.build 2024-03-06 16:56:22.000000000 +0100
++++ geeqie-2.3/meson.build 2024-03-09 11:21:17.870229854 +0100
+@@ -742,9 +742,3 @@
+ else
+ summary({'lua' : ['Test runs:', false]}, section : 'Testing', bool_yn : true)
+ endif
+-
+-# Ancillary files test
+-test_ancillary_files_sh = find_program('test-ancillary-files.sh', dirs : scriptsdir, required : true)
+-test('Ancillary files', test_ancillary_files_sh, args: [meson.current_source_dir()], timeout: 100)
+-
+-summary({'Ancillary files' : ['Test runs:', true]}, section : 'Testing', bool_yn : true)
diff --git a/media-gfx/geeqie/geeqie-2.1-r1.ebuild b/media-gfx/geeqie/geeqie-2.1-r1.ebuild
index e19752f02bbd..2a7751b70258 100644
--- a/media-gfx/geeqie/geeqie-2.1-r1.ebuild
+++ b/media-gfx/geeqie/geeqie-2.1-r1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
LUA_COMPAT=( lua5-{3,4} )
-inherit lua-single meson optfeature xdg
+inherit flag-o-matic lua-single meson optfeature xdg
DESCRIPTION="A lightweight GTK image viewer forked from GQview"
HOMEPAGE="http://www.geeqie.org"
@@ -64,6 +64,11 @@ 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-2.2.ebuild b/media-gfx/geeqie/geeqie-2.2.ebuild
index c1bf5433b1fb..db97d02cdbaa 100644
--- a/media-gfx/geeqie/geeqie-2.2.ebuild
+++ b/media-gfx/geeqie/geeqie-2.2.ebuild
@@ -4,7 +4,7 @@
EAPI=8
LUA_COMPAT=( lua5-{3,4} )
-inherit lua-single meson optfeature xdg
+inherit flag-o-matic lua-single meson optfeature xdg
DESCRIPTION="A lightweight GTK image viewer forked from GQview"
HOMEPAGE="http://www.geeqie.org"
@@ -62,6 +62,11 @@ 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-2.3.ebuild b/media-gfx/geeqie/geeqie-2.3.ebuild
new file mode 100644
index 000000000000..dae22816e4fd
--- /dev/null
+++ b/media-gfx/geeqie/geeqie-2.3.ebuild
@@ -0,0 +1,119 @@
+# 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
new file mode 100644
index 000000000000..2b9b96fbe6a9
--- /dev/null
+++ b/media-gfx/geeqie/geeqie-2.4.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+LUA_COMPAT=( lua5-{3,4} )
+
+inherit flag-o-matic lua-single meson optfeature xdg
+
+DESCRIPTION="A lightweight GTK image viewer forked from GQview"
+HOMEPAGE="http://www.geeqie.org"
+SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.tar.xz
+ https://dev.gentoo.org/~voyageur/distfiles/${P}-docs.tar.xz"
+# Doc build:
+# clone git at matching tag
+# mkdir build; ./gen_changelog.sh . build;
+# pandoc README.md -o build/README.html
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
+
+RDEPEND="gnome-extra/zenity
+ virtual/libintl
+ x11-libs/gtk+:3
+ djvu? ( app-text/djvu )
+ exif? ( >=media-gfx/exiv2-0.17:=[xmp?] )
+ ffmpegthumbnailer? ( media-video/ffmpegthumbnailer )
+ heif? ( >=media-libs/libheif-1.3.2 )
+ jpeg2k? ( >=media-libs/openjpeg-2.3.0:2= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpegxl? ( >=media-libs/libjxl-0.3.7:= )
+ lcms? ( media-libs/lcms:2 )
+ lua? ( ${LUA_DEPS} )
+ map? ( media-libs/clutter-gtk
+ media-libs/libchamplain:0.12[gtk] )
+ pdf? ( >=app-text/poppler-0.62[cairo] )
+ raw? ( >=media-libs/libraw-0.20:= )
+ spell? ( app-text/gspell )
+ tiff? ( media-libs/tiff:= )
+ webp? ( gui-libs/gdk-pixbuf-loader-webp:= )
+ zip? ( >=app-arch/libarchive-3.4.0 )"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ || ( dev-util/xxdi app-editors/vim-core )
+ dev-util/glib-utils
+ sys-devel/gettext
+ virtual/pkgconfig"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.3-test-ancillary.patch )
+
+pkg_setup() {
+ # Do not require setting LUA_SINGLE_TARGET if lua is not used
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ # Disable doc build - not useful most of the time per upstream
+ sed -e "/subdir('doc')/d" -i meson.build || die
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://bugs.gentoo.org/585432
+ # https://github.com/BestImageViewer/geeqie/issues/1270
+ filter-lto
+
+ local emesonargs=(
+ -Dgq_helpdir="share/doc/${PF}"
+ -Dgq_htmldir="share/doc/${PF}/html"
+ $(meson_use debug)
+ $(meson_feature djvu)
+ $(meson_feature exif exiv2)
+ $(meson_feature ffmpegthumbnailer videothumbnailer)
+ $(meson_feature heif)
+ $(meson_feature jpeg)
+ $(meson_feature jpeg2k j2k)
+ $(meson_feature jpegxl)
+ $(meson_feature lcms cms)
+ $(meson_feature lua)
+ $(meson_feature map gps-map)
+ $(meson_feature pdf)
+ $(meson_feature raw libraw)
+ $(meson_feature spell)
+ $(meson_feature tiff)
+ $(meson_feature zip archive)
+ )
+
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ # Manually generated ChangeLog
+ dodoc "${WORKDIR}"/${P}-docs/*
+
+ # The application needs access to some uncompressed doc files.
+ docompress -x /usr/share/doc/${PF}/AUTHORS
+ docompress -x /usr/share/doc/${PF}/ChangeLog
+ docompress -x /usr/share/doc/${PF}/README.md
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "Camera import and tethered photography plugins" media-gfx/gphoto2
+ optfeature "Lens ID plugin" media-libs/exiftool
+ optfeature "Image crop plugin" "media-libs/exiftool media-gfx/imagemagick"
+ optfeature "Image rotate plugin (JPEG)" media-gfx/fbida
+ optfeature "Image rotate plugin (TIFF/PNG)" media-gfx/imagemagick
+ optfeature "Print preview functionality" app-text/evince
+}
diff --git a/media-gfx/geeqie/geeqie-9999.ebuild b/media-gfx/geeqie/geeqie-9999.ebuild
index 80135160f44c..739e6f7323f0 100644
--- a/media-gfx/geeqie/geeqie-9999.ebuild
+++ b/media-gfx/geeqie/geeqie-9999.ebuild
@@ -1,20 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( lua5-{3,4} )
-inherit git-r3 lua-single meson optfeature xdg
+inherit flag-o-matic git-r3 lua-single meson optfeature xdg
DESCRIPTION="A lightweight GTK image viewer forked from GQview"
HOMEPAGE="http://www.geeqie.org"
-SRC_URI=""
# Using github mirror, as geeqie.org does not have a valid SSL certificate
EGIT_REPO_URI="https://github.com/BestImageViewer/geeqie.git"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS=""
IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
RDEPEND="gnome-extra/zenity
@@ -59,6 +57,11 @@ 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/gifsicle-1.94.ebuild b/media-gfx/gifsicle/gifsicle-1.94.ebuild
index d16d004d987b..039993f58ea2 100644
--- a/media-gfx/gifsicle/gifsicle-1.94.ebuild
+++ b/media-gfx/gifsicle/gifsicle-1.94.ebuild
@@ -9,10 +9,10 @@ SRC_URI="https://www.lcdf.org/~eddietwo/${PN}/${P}.tar.gz"
LICENSE="GPL-2 MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="X"
-PATCHES=( "${FILESDIR}/$P-CVE-2023-46009.patch" )
+PATCHES=( "${FILESDIR}/${P}-CVE-2023-46009.patch" )
RDEPEND="
X? (
diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest
index be00f2de364a..b5ca0b16e48e 100644
--- a/media-gfx/gimp/Manifest
+++ b/media-gfx/gimp/Manifest
@@ -1,3 +1,3 @@
DIST gimp-2.10.34.tar.bz2 31405329 BLAKE2B 0b2d3a81abf89684bb90e2101896db3479a25c5da76738543dba8d0378e64608eee9aeb24888e15f5e347f72fa1df3e9b82aa27e503ee61d1c4d45d44fa7bddc SHA512 4802ce3758daba868570f1ac97a3f1cb41e1130fcc6376f9bf4c999441f8fd25937aa71b6f726d82d7c780f4153b11d2595bb76bc2356a42266909fbcc0bd34a
DIST gimp-2.10.36.tar.bz2 31532334 BLAKE2B d033cd1407df3399b5968b7e3f7838d288143080b516476a5dd46599b6a84ac2efca591521368cef7a1c3d9935b45ed3262fb469e1ae36ccf60a1199f5cfa44d SHA512 dbe6152ea6ff99cca59bbf2c88a64fb4ff6b529d98ace7723eadf5dfb0e10d9cbaf2de1e0d5251e9ecf9abca73da9ae1a501f229997802fd4077fb9594f4ba66
-DIST gimp-2.99.16.tar.xz 24969172 BLAKE2B 45050c0e45e7c9e64ee92ac9b3985c05f528205f74f442979dee8b326f41b35de403a2de93edad090dd87987ef446531e01a67ca857ef03403414fc9ac1464dd SHA512 b0da0529b000a7309c9d601977518cd19a7bf50ab41952fa36b83c027042d6901c39d0a6870c16e8a8ad3318207c93d34ee3d50d0e5f35bcabeaa17d91e060ee
+DIST gimp-2.99.18.tar.xz 25418968 BLAKE2B ccb76bb5c375925d4d71505f3e1546f05ba0e20533859b1b6250a4d9054efb6bec4927a5e0c525272fa24d5a6bdf4fb7881d60a1d34b1210ee38b90e661ef707 SHA512 151ccd0322601e76ed0198b40832ab0b6c138428f2e75806dd558e29c9b3437d9226a243142bf4a86113fa5ea4f5965b99cf7cd0ab0ecb7bdfc48036de35a9c6
diff --git a/media-gfx/gimp/files/gimp-2.10.36_c99_metadata.patch b/media-gfx/gimp/files/gimp-2.10.36_c99_metadata.patch
new file mode 100644
index 000000000000..9ea2c80122f2
--- /dev/null
+++ b/media-gfx/gimp/files/gimp-2.10.36_c99_metadata.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/919282
+https://gitlab.gnome.org/GNOME/gimp/-/commit/51311f913d9f417d121f59b83d560c7b4b853d1c
+
+From 51311f913d9f417d121f59b83d560c7b4b853d1c Mon Sep 17 00:00:00 2001
+From: Simon Budig <simon@budig.de>
+Date: Sat, 20 May 2023 22:25:40 +0200
+Subject: [PATCH] metadata: shut up a weird warning
+
+---
+ plug-ins/metadata/metadata-editor.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plug-ins/metadata/metadata-editor.c b/plug-ins/metadata/metadata-editor.c
+index a3992e40ddc..5bf6ef709f1 100644
+--- a/plug-ins/metadata/metadata-editor.c
++++ b/plug-ins/metadata/metadata-editor.c
+@@ -2846,7 +2846,7 @@ metadata_dialog_editor_set_metadata (GExiv2Metadata *metadata,
+ }
+ else
+ {
+- if (! g_strv_contains (values, equiv_values[evi]))
++ if (! g_strv_contains ((const gchar * const *) values, equiv_values[evi]))
+ {
+ gchar *tmpvalue;
+
+--
+GitLab
diff --git a/media-gfx/gimp/files/gimp-2.10.36_c99_tiff.patch b/media-gfx/gimp/files/gimp-2.10.36_c99_tiff.patch
new file mode 100644
index 000000000000..d08ed5182eac
--- /dev/null
+++ b/media-gfx/gimp/files/gimp-2.10.36_c99_tiff.patch
@@ -0,0 +1,27 @@
+https://bugs.gentoo.org/919282
+https://gitlab.gnome.org/GNOME/gimp/-/commit/a2458f1528e5733574bb26ff5452b1329116e6db
+
+From a2458f1528e5733574bb26ff5452b1329116e6db Mon Sep 17 00:00:00 2001
+From: Simon Budig <simon@budig.de>
+Date: Sat, 20 May 2023 18:40:41 +0200
+Subject: [PATCH] file-tiff-load: fix mismatching variable type
+
+---
+ plug-ins/file-tiff/file-tiff-load.c | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/plug-ins/file-tiff/file-tiff-load.c b/plug-ins/file-tiff/file-tiff-load.c
+index 0aafbaec5fd..a26e7af2752 100644
+--- a/plug-ins/file-tiff/file-tiff-load.c
++++ b/plug-ins/file-tiff/file-tiff-load.c
+@@ -1297,8 +1297,8 @@ load_image (GFile *file,
+
+ /* any resolution info in the file? */
+ {
+- gfloat xres = 72.0;
+- gfloat yres = 72.0;
++ gdouble xres = 72.0;
++ gdouble yres = 72.0;
+ gushort read_unit;
+ GimpUnit unit = GIMP_UNIT_PIXEL; /* invalid unit */
+
diff --git a/media-gfx/gimp/gimp-2.10.34-r1.ebuild b/media-gfx/gimp/gimp-2.10.34-r1.ebuild
deleted file mode 100644
index bbf53b003d80..000000000000
--- a/media-gfx/gimp/gimp-2.10.34-r1.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-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.46.0
- >=app-text/poppler-0.50[cairo]
- >=app-text/poppler-data-0.4.7
- >=dev-libs/glib-2.56.2:2
- >=dev-libs/json-glib-1.2.6
- dev-libs/libxml2:2
- dev-libs/libxslt
- >=gnome-base/librsvg-2.40.6:2
- >=media-gfx/mypaint-brushes-2.0.2:=
- >=media-libs/babl-0.1.98
- >=media-libs/fontconfig-2.12.4
- >=media-libs/freetype-2.1.7
- >=media-libs/gegl-0.4.40:0.4[cairo]
- >=media-libs/gexiv2-0.10.6
- >=media-libs/harfbuzz-0.9.19:=
- >=media-libs/lcms-2.8:2
- media-libs/libjpeg-turbo:=
- >=media-libs/libmypaint-1.6.1:=
- >=media-libs/libpng-1.6.25:0=
- >=media-libs/tiff-3.5.7:=
- net-libs/glib-networking[ssl]
- sys-libs/zlib
- >=x11-libs/cairo-1.12.2
- >=x11-libs/gdk-pixbuf-2.31:2
- >=x11-libs/gtk+-2.24.32:2
- x11-libs/libXcursor
- >=x11-libs/pango-1.29.4
- aalib? ( media-libs/aalib )
- alsa? ( >=media-libs/alsa-lib-1.0.0 )
- aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 )
- heif? ( >=media-libs/libheif-1.9.1:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
- jpegxl? ( >=media-libs/libjxl-0.7.0:= )
- mng? ( media-libs/libmng:= )
- openexr? ( >=media-libs/openexr-1.6.1:= )
- postscript? ( app-text/ghostscript-gpl:= )
- udev? ( dev-libs/libgudev:= )
- unwind? ( >=sys-libs/libunwind-1.1.0:= )
- webp? ( >=media-libs/libwebp-0.6.0:= )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- xpm? ( x11-libs/libXpm )
-"
-
-RDEPEND="
- ${COMMON_DEPEND}
- x11-themes/hicolor-icon-theme
- gnome? ( gnome-base/gvfs )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- >=dev-lang/perl-5.10.0
- dev-libs/appstream-glib
- >=dev-build/gtk-doc-am-1
- dev-util/gtk-update-icon-cache
- >=dev-util/intltool-0.40.1
- >=sys-devel/gettext-0.19
- >=dev-build/libtool-2.2
- virtual/pkgconfig
-"
-
-DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" )
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070)
-)
-
-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 "${D}" -name '*.la' -type f -delete || die
-
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- local gimp_app_version=$(ver_cut 1-2)
- mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
-
- # Remove gimp devel-docs html files if user doesn't need it
- if ! use doc; then
- rm -r "${ED}"/usr/share/gtk-doc || die
- fi
-
- _rename_plugins || die
-}
-
-pkg_postinst() {
- gnome2_pkg_postinst
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-}
diff --git a/media-gfx/gimp/gimp-2.10.36-r1.ebuild b/media-gfx/gimp/gimp-2.10.36-r2.ebuild
index d6c72b2833dc..84edf850eedd 100644
--- a/media-gfx/gimp/gimp-2.10.36-r1.ebuild
+++ b/media-gfx/gimp/gimp-2.10.36-r2.ebuild
@@ -86,6 +86,8 @@ PATCHES=(
"${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148
"${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796
"${FILESDIR}/${P}_fix_strict-aliasing.patch" #917497
+ "${FILESDIR}/${P}_c99_tiff.patch" #919282
+ "${FILESDIR}/${P}_c99_metadata.patch" #919282
)
src_prepare() {
diff --git a/media-gfx/gimp/gimp-2.99.16.ebuild b/media-gfx/gimp/gimp-2.99.18.ebuild
index f23dc09414c1..48f5c21117db 100644
--- a/media-gfx/gimp/gimp-2.99.16.ebuild
+++ b/media-gfx/gimp/gimp-2.99.18.ebuild
@@ -1,13 +1,13 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
VALA_USE_DEPEND=vapigen
-inherit lua-single meson python-single-r1 vala xdg
+inherit lua-single meson python-single-r1 toolchain-funcs vala xdg
DESCRIPTION="GNU Image Manipulation Program"
HOMEPAGE="https://www.gimp.org/"
@@ -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 postscript python test udev unwind vala vector-icons webp wmf xpm"
+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"
REQUIRED_USE="
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
@@ -35,12 +35,12 @@ COMMON_DEPEND="
>=dev-libs/json-glib-1.4.4
dev-libs/libxml2:2
dev-libs/libxslt
- >=gnome-base/librsvg-2.40.21:2
+ >=gnome-base/librsvg-2.46.0:2
>=media-gfx/mypaint-brushes-2.0.2:=
>=media-libs/babl-0.1.98[introspection,lcms,vala?]
>=media-libs/fontconfig-2.12.6
>=media-libs/freetype-2.10.2
- >=media-libs/gegl-0.4.46:0.4[cairo,introspection,lcms,vala?]
+ >=media-libs/gegl-0.4.48:0.4[cairo,introspection,lcms,vala?]
>=media-libs/gexiv2-0.14.0
>=media-libs/harfbuzz-2.6.5:=
>=media-libs/lcms-2.13.1:2
@@ -53,7 +53,7 @@ COMMON_DEPEND="
>=x11-libs/cairo-1.16.0
>=x11-libs/gdk-pixbuf-2.40.0:2[introspection]
>=x11-libs/gtk+-3.24.16:3[introspection]
- >=x11-libs/pango-1.44.7
+ >=x11-libs/pango-1.50.0
>=x11-libs/libXmu-1.1.4
aalib? ( media-libs/aalib )
alsa? ( >=media-libs/alsa-lib-1.0.0 )
@@ -109,13 +109,19 @@ BDEPEND="
virtual/pkgconfig
"
-DOCS=( "AUTHORS" "devel-docs/HACKING.md" "NEWS" "README" "README.i18n" )
+DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" )
PATCHES=(
"${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148
)
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
use lua && lua-single_pkg_setup
if use python; then
@@ -179,6 +185,7 @@ src_configure() {
$(meson_feature lua)
$(meson_feature mng)
$(meson_feature openexr)
+ $(meson_feature openmp)
$(meson_feature postscript ghostscript)
$(meson_feature python)
$(meson_feature test headless-tests)
diff --git a/media-gfx/gimp/gimp-9999.ebuild b/media-gfx/gimp/gimp-9999.ebuild
index 63d81b476781..6ed419a59545 100644
--- a/media-gfx/gimp/gimp-9999.ebuild
+++ b/media-gfx/gimp/gimp-9999.ebuild
@@ -4,10 +4,10 @@
EAPI=8
LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
VALA_USE_DEPEND=vapigen
-inherit git-r3 lua-single meson python-single-r1 vala xdg
+inherit git-r3 lua-single meson python-single-r1 toolchain-funcs vala xdg
DESCRIPTION="GNU Image Manipulation Program"
HOMEPAGE="https://www.gimp.org/"
@@ -15,7 +15,7 @@ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gimp.git"
LICENSE="GPL-3+ LGPL-3+"
SLOT="0/3"
-IUSE="X aalib alsa doc gnome heif javascript jpeg2k jpegxl lua mng openexr postscript python test udev unwind vala vector-icons webp wmf xpm"
+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"
REQUIRED_USE="
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
@@ -39,7 +39,7 @@ COMMON_DEPEND="
>=media-libs/babl-0.1.98[introspection,lcms,vala?]
>=media-libs/fontconfig-2.12.6
>=media-libs/freetype-2.10.2
- >=media-libs/gegl-0.4.46:0.4[cairo,introspection,lcms,vala?]
+ >=media-libs/gegl-0.4.48:0.4[cairo,introspection,lcms,vala?]
>=media-libs/gexiv2-0.14.0
>=media-libs/harfbuzz-2.6.5:=
>=media-libs/lcms-2.13.1:2
@@ -52,7 +52,7 @@ COMMON_DEPEND="
>=x11-libs/cairo-1.16.0
>=x11-libs/gdk-pixbuf-2.40.0:2[introspection]
>=x11-libs/gtk+-3.24.16:3[introspection]
- >=x11-libs/pango-1.44.7
+ >=x11-libs/pango-1.50.0
>=x11-libs/libXmu-1.1.4
aalib? ( media-libs/aalib )
alsa? ( >=media-libs/alsa-lib-1.0.0 )
@@ -110,7 +110,13 @@ BDEPEND="
DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" )
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
use lua && lua-single_pkg_setup
if use python; then
@@ -133,7 +139,7 @@ src_prepare() {
sed -i -e 's/@PYTHON_PATH@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die
# Set proper intallation path of documentation logo
- sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" data/images/meson.build || die
+ sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" gimp-data/images/logo/meson.build || die
}
_adjust_sandbox() {
@@ -174,6 +180,7 @@ src_configure() {
$(meson_feature lua)
$(meson_feature mng)
$(meson_feature openexr)
+ $(meson_feature openmp)
$(meson_feature postscript ghostscript)
$(meson_feature python)
$(meson_feature test headless-tests)
diff --git a/media-gfx/gnofract4d/Manifest b/media-gfx/gnofract4d/Manifest
index a72b7ece14c3..56a01a89d483 100644
--- a/media-gfx/gnofract4d/Manifest
+++ b/media-gfx/gnofract4d/Manifest
@@ -1,2 +1,3 @@
DIST gnofract4d-4.3_p20221125.tar.gz 18275177 BLAKE2B 24fcd71818a98a3137b485046f295b523884d05ece694e37cf871e1fdaba7b26ac870675895a7a361e5d1fe142b0ae68c720c6e39615226951e8e1af6f57c848 SHA512 75d8d12441a0e2024f0ef125fee5cbe8dcc10c4c48ba366d5529644ae743928b998f85369aafc6e737cb994a82ebdcbe941e11c916c0d0996e785a146469e359
DIST gnofract4d-4.3_p20230717.tar.gz 18275492 BLAKE2B 0bc8834c6f3ed3ec48bf4ee49ad563ce6842485dd32eb568c580d74528d062dcad6f8da4a67434c3784497883d0a73d4fa050a346ef970ac348db58bc6e7ea39 SHA512 c427c42e75b830dcf95012346d2db3a9b63be4e5431e7eae5ec74b915f5eedd857d8fa56d5ec37e8d245c3a77dc413c72115700d614205bdd62b916e6865f749
+DIST gnofract4d-4.3_p20240324.tar.gz 18274057 BLAKE2B 183bf96e0429fa676f1c6fca4ae6466c489d0fe5ffee09ae161e01d0f22b4e77165f846416702c026f5d73a27833dfebd49f5c3131c621c9b1abd2ee9fc5529d SHA512 a174683b659347e4a7203d78d309ab41971d105131d40ea60490871477e80109624405f7012e455389ccc9325e08f224a1d3ea2d4e0c23fc9c5ca4fb83f9dfaa
diff --git a/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild b/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild
new file mode 100644
index 000000000000..47a8800ec72a
--- /dev/null
+++ b/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson optfeature python-single-r1 virtualx xdg
+
+COMMIT="06e34bbf920692828bfd816ab5fb93e7ea9c51c2"
+
+DESCRIPTION="A program for drawing beautiful mathematically-based images known as fractals"
+HOMEPAGE="https://fract4d.github.io/gnofract4d/"
+SRC_URI="https://github.com/fract4d/gnofract4d/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ media-libs/libjpeg-turbo:0=
+ media-libs/libpng:0="
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ gui-libs/gtk:4[introspection]"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ media-video/ffmpeg[vpx,zlib]
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )"
+
+src_prepare() {
+ sed -i "s:4.3:${PV}:" meson.build || die
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Dstrip=false
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}"/usr/bin/gnofract4d
+}
+
+src_test() {
+ local EPYTEST_IGNORE=(
+ # test_regress.py does not provide pytest with any tests and inspecting it requires dev-python/pillow
+ test_regress.py
+ )
+ local EPYTEST_DESELECT=(
+ # terminate called after throwing an instance of 'std::exception'
+ test_fract4d.py::Test::testFDSite
+ )
+ use x86 && EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/890796
+ test_fractal.py::Test::testDiagonal
+ test_fractal.py::Test::testRecolor
+ )
+ TMPDIR="${T}" virtx epytest
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "creating videos" media-video/ffmpeg[vpx,zlib]
+}
diff --git a/media-gfx/gnome-font-viewer/Manifest b/media-gfx/gnome-font-viewer/Manifest
index 30ce2fce2547..a99431d3f46e 100644
--- a/media-gfx/gnome-font-viewer/Manifest
+++ b/media-gfx/gnome-font-viewer/Manifest
@@ -1,2 +1 @@
-DIST gnome-font-viewer-44.0.tar.xz 299644 BLAKE2B 9eceda601332601a3918331c0b4dae1f588ec88d9c28323694291f22e9add115ccfd70ef8c2d3b1a410bcf7c7443810abdb58a156927c235fb895412dea54213 SHA512 f2da77fadbd76eaaf661cb518043ebad6f964a90f1cede5b58160a3aa08a0fe42a9972bc4871725dc7ae16eb4199329ef2ea08734b8017306e61341e51c37bea
DIST gnome-font-viewer-45.0.tar.xz 300420 BLAKE2B 3cc71c056a1254447a9b0c5e838a8950e0414293b9788373b1de90657e364b55784fcef7749abd4e75e29cc6246b081baab66135276744020695ef1e8952a03f SHA512 94289be78831dbc9be8d73348fd423379ebe691b08cf2547acd2648e0e7b1dafcd6c63ffa2c9ec033786b7b65912187c782bb279cc0fb6227d6ee74c1541701e
diff --git a/media-gfx/gnome-font-viewer/gnome-font-viewer-44.0.ebuild b/media-gfx/gnome-font-viewer/gnome-font-viewer-44.0.ebuild
deleted file mode 100644
index 210129e9ff68..000000000000
--- a/media-gfx/gnome-font-viewer/gnome-font-viewer-44.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 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.2.0: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
-"
diff --git a/media-gfx/gnuclad/gnuclad-0.2.4.ebuild b/media-gfx/gnuclad/gnuclad-0.2.4-r1.ebuild
index 37032049bba1..70909ef8351a 100644
--- a/media-gfx/gnuclad/gnuclad-0.2.4.ebuild
+++ b/media-gfx/gnuclad/gnuclad-0.2.4-r1.ebuild
@@ -1,22 +1,19 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit autotools eapi7-ver
+inherit autotools
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"
+SRC_URI="https://launchpad.net/gnuclad/trunk/$(ver_cut 1-2)/+download/${P}.tar.gz"
-LICENSE="GPL-3"
+LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64"
IUSE="examples"
-DEPEND=""
-RDEPEND=""
-
PATCHES=(
"${FILESDIR}/${P}"-werror.patch
)
@@ -28,8 +25,6 @@ src_prepare() {
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.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..de2acbced7ba 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
@@ -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/graphite2/graphite2-1.3.14_p20210810-r3.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
index a2d978097e08..9439faed0363 100644
--- a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
+++ b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
COMMIT=80c52493ef42e6fe605a69dcddd2a691cd8a1380
GENTOO_DEPEND_ON_PERL="no"
-PYTHON_COMPAT=( python3_{9..11} )
-inherit perl-module python-any-r1 cmake-multilib
+PYTHON_COMPAT=( python3_{10..11} )
+inherit flag-o-matic perl-module python-any-r1 cmake-multilib
DESCRIPTION="Library providing rendering capabilities for complex non-Roman writing systems"
HOMEPAGE="https://scripts.sil.org/cms/scripts/page.php?site_id=projects&item_id=graphite_home"
@@ -61,6 +61,9 @@ src_prepare() {
}
multilib_src_configure() {
+ # ODR (bug #875224)
+ filter-lto
+
local mycmakeargs=(
# Renamed VM_MACHINE_TYPE to GRAPHITE2_VM_TYPE
-DGRAPHITE2_VM_TYPE=direct
@@ -98,11 +101,12 @@ src_compile() {
}
multilib_src_test() {
- if multilib_is_native_abi; then
- cmake_src_test
- else
- einfo "Cannot test since python is not multilib."
- fi
+ CMAKE_SKIP_TESTS=(
+ # https://github.com/silnrsi/graphite/pull/74
+ nametabletest
+ )
+
+ cmake_src_test
}
src_test() {
diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest
index 5582bdc3480f..800c975d3a03 100644
--- a/media-gfx/graphviz/Manifest
+++ b/media-gfx/graphviz/Manifest
@@ -1,2 +1,3 @@
-DIST graphviz-8.1.0.tar.xz 21429292 BLAKE2B ed70eb6edf9394409edea252eae3c882d69cac3dba6464f9dfcc33fffbffd7dfdea931efb5e25aab65f027022065757c5cf1bf805f794fd7368da1005dfcfde1 SHA512 56ce357999b7e7c623ec410eb772a98a23be2d7e871c5e6f500ea000d217714b8f6114d35844dac576e2dcb059f74037833e7728b85fc2c8fa67589e716a39e1
+DIST graphviz-10.0.1.tar.xz 21297808 BLAKE2B f420e6ca01720e6e1ecd9d4330b10659e8a4069e94b0d97fdbcda91d73e9cc679a3d351a5eeb9f86f67eb907eb5d4caf932de79318bb38712a3107ddab14bf08 SHA512 5e6a195357d38aa93fbd231c854b25e4ae4b0efd011de1e37550bc77b2137c98d72fdf7b0df0e8f3e9ba70849461e85cbd591b0064eccfc8788fcf532b7ae2c1
+DIST graphviz-11.0.0.tar.xz 21306368 BLAKE2B c424b2d81180513f2a03210b5a5febfbf80e5c9912ad020d7015be69fdae6579d44108d22f99450ae3384560b610dbaac49a50fe8cac9dbd4e80b8761a8b65a8 SHA512 e95c9ed491c5f09190ca0f085aba2b9a3f6703371d62f6a275f41ddfceef7d79956e1fb0ccfda6c21f2e57afc3a88e37d7091af724911fe3e900ee90a7a811cf
DIST graphviz-9.0.0.tar.xz 21412796 BLAKE2B a1fd4e0d8d25ade263fdc0d357078cd8bb7847e88746561a0cfe07d129d193c309c7f4cb25f41cebca9549c8486aae2b1e3ebca0eaca57a41cbe2304a418dbd3 SHA512 912f31a4a90e21de9601ffcf8a85d2650d46f07e61aeb0e5124e5a91c67f444d08d40d49f15f2e4078d53d01fb9ca6f54dc9d18c1c08406da91b8ba9ad61416c
diff --git a/media-gfx/graphviz/graphviz-8.1.0.ebuild b/media-gfx/graphviz/graphviz-10.0.1.ebuild
index db2dd159e4a5..be0c1a91e64f 100644
--- a/media-gfx/graphviz/graphviz-8.1.0.ebuild
+++ b/media-gfx/graphviz/graphviz-10.0.1.ebuild
@@ -4,7 +4,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
-inherit python-single-r1
+inherit libtool python-single-r1
DESCRIPTION="Open Source Graph Visualization Software"
HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
@@ -14,7 +14,7 @@ SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-re
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~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="
@@ -141,6 +141,11 @@ pkg_setup() {
use python && python-single-r1_pkg_setup
}
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
local myconf=(
# Speeds up the libltdl configure
@@ -189,7 +194,10 @@ src_configure() {
--disable-ltdl-install
QMAKE=$(usev qt5 qmake5)
)
- econf "${myconf[@]}"
+ # 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() {
diff --git a/media-gfx/graphviz/graphviz-11.0.0.ebuild b/media-gfx/graphviz/graphviz-11.0.0.ebuild
new file mode 100644
index 000000000000..be0c1a91e64f
--- /dev/null
+++ b/media-gfx/graphviz/graphviz-11.0.0.ebuild
@@ -0,0 +1,221 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit libtool python-single-r1
+
+DESCRIPTION="Open Source Graph Visualization Software"
+HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
+# Unfortunately upstream uses an "artifact" store for the pre-generated
+# tarball now, which makes predictable URLs impossible.
+SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-releases/${PV}/${P}.tar.xz"
+
+LICENSE="CPL-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X"
+
+REQUIRED_USE="
+ !cairo? ( !X !gtk2 !postscript !lasi )
+ pdf? ( cairo )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# Requires ksh, tests against installed package, missing files and directory
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-libs/expat-2
+ >=dev-libs/glib-2.11.1:2
+ dev-libs/libltdl
+ >=media-libs/freetype-2.1.10
+ >=media-libs/gd-2.0.34:=[fontconfig,jpeg,png,truetype,zlib]
+ media-libs/libjpeg-turbo:=
+ >=media-libs/libpng-1.2:=
+ sys-libs/zlib
+ virtual/libiconv
+ cairo? (
+ >=x11-libs/cairo-1.1.10[svg(+)]
+ >=x11-libs/pango-1.12
+ )
+ devil? ( media-libs/devil[png,jpeg] )
+ gtk2? (
+ x11-libs/gdk-pixbuf:2
+ x11-libs/gtk+:2
+ )
+ gts? ( sci-libs/gts )
+ guile? ( dev-scheme/guile )
+ lasi? ( media-libs/lasi )
+ pdf? ( app-text/poppler )
+ perl? ( dev-lang/perl:= )
+ postscript? ( app-text/ghostscript-gpl )
+ python? ( ${PYTHON_DEPS} )
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ )
+ ruby? ( dev-lang/ruby:* )
+ svg? ( gnome-base/librsvg )
+ tcl? ( >=dev-lang/tcl-8.3:= )
+ webp? ( media-libs/libwebp:= )
+ X? ( x11-libs/libX11 )"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+BDEPEND="
+ app-alternatives/lex
+ dev-build/libtool
+ virtual/pkgconfig
+ doc? (
+ app-text/ghostscript-gpl
+ sys-apps/groff
+ )
+ guile? (
+ dev-lang/swig
+ dev-scheme/guile
+ )
+ nls? ( >=sys-devel/gettext-0.14.5 )
+ perl? ( dev-lang/swig )
+ python? ( dev-lang/swig )
+ ruby? ( dev-lang/swig )
+ tcl? ( dev-lang/swig )"
+
+# Dependency description / Maintainer info:
+
+# Rendering is done via the following plugins (/plugins):
+# - core, dot_layout, neato_layout, gd , dot
+# the ones which are always compiled in, depend on zlib, gd
+# - gtk
+# Directly depends on gtk-2.
+# needs 'pangocairo' enabled in graphviz configuration
+# gtk-2 depends on pango, cairo and libX11 directly.
+# - gdk-pixbuf
+# Directly depends on gtk-2 and gdk-pixbuf.
+# needs 'pangocairo' enabled in graphviz configuration
+# - ming
+# flash plugin via -Tswf requires media-libs/ming-0.4. Disabled as it's
+# incomplete.
+# - cairo/pango:
+# Needs pango for text layout, uses cairo methods to draw stuff
+# - xlib:
+# needs cairo+pango,
+# can make use of gnomeui and inotify support (??? unsure),
+# needs libXaw for UI
+# UI also links directly against libX11, libXmu, and libXt
+# and uses libXpm if available so we make sure it always is
+
+# There can be swig-generated bindings for the following languages (/tclpkg/gv):
+# - c-sharp (disabled)
+# - scheme (enabled via guile) ... no longer broken on ~x86
+# - go (disabled)
+# - io (disabled)
+# - lua (enabled via lua)
+# - ocaml (enabled via ocaml)
+# - perl (enabled via perl) *1
+# - php (enabled via php) *2
+# - python (enabled via python) *1
+# - ruby (enabled via ruby) *1
+# - tcl (enabled via tcl)
+# *1 = The ${P}-bindings.patch takes care that those bindings are installed to the right location
+# *2 = Those bindings don't build because the paths for the headers/libs aren't
+# detected correctly and/or the options passed to swig are wrong (-php instead of -php4/5)
+
+# There are several other tools in /tclpkg:
+# gdtclft, tcldot, tclhandle, tclpathplan, tclstubs ; enabled with: --with-tcl
+# tkspline, tkstubs ; enabled with: --with-tk
+
+# And the commands (/cmd):
+# - dot, gvedit, gvpr, smyrna, tools/* :)
+# sci-libs/gts can be used for some of these
+# - gvedit (via 'qt5'):
+# based on ./configure it needs qt-core and qt-gui only
+# - smyrna : experimental opengl front-end (via 'smyrna')
+# currently disabled -- it segfaults a lot
+# needs x11-libs/gtkglext, gnome-base/libglade, media-libs/freeglut
+# sci-libs/gts, x11-libs/gtk. Also needs 'gtk','glade','glut','gts' and 'png'
+# with flags enabled at configure time
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
+src_configure() {
+ local myconf=(
+ # Speeds up the libltdl configure
+ --cache-file="${S}"/config.cache
+ --enable-ltdl
+ $(use_enable doc man-pdfs)
+ $(use_with cairo pangocairo)
+ $(use_with examples demos '$(docdir)/examples')
+ $(use_with devil)
+ $(use_with gtk2 gdk)
+ $(use_with gtk2 gdk-pixbuf)
+ $(use_with gtk2)
+ $(use_with gts)
+ $(use_with qt5 qt)
+ $(use_with lasi)
+ $(use_with pdf poppler)
+ $(use_with postscript ghostscript)
+ $(use_with svg rsvg)
+ $(use_with webp)
+ $(use_with X x)
+ --with-digcola
+ --with-freetype2
+ --with-ipsepcola
+ --with-libgd
+ --with-sfdp
+ --without-ming
+ # New/experimental features, to be tested, disable for now
+ --without-ipsepcola
+ --without-smyrna
+ # Bindings
+ $(use_enable guile)
+ $(use_enable perl)
+ $(use_enable python python3)
+ $(use_enable ruby)
+ $(use_enable tcl)
+ --disable-go
+ --disable-lua
+ --disable-java
+ --disable-ocaml
+ --disable-php
+ --disable-python
+ --disable-r
+ --disable-sharp
+ # libtool file collision, bug #276609
+ --without-included-ltdl
+ --disable-ltdl-install
+ QMAKE=$(usev qt5 qmake5)
+ )
+ # XXX: Temporary bash for bug #926600. It's been reverted upstream
+ # on master already:
+ # https://gitlab.com/graphviz/graphviz/-/merge_requests/3636
+ CONFIG_SHELL="${BROOT}"/bin/bash econf "${myconf[@]}"
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+
+ use python && python_optimize \
+ "${D}"$(python_get_sitedir) \
+ "${ED}"/usr/$(get_libdir)/graphviz/python3
+}
+
+pkg_postinst() {
+ # We need to register all plugins before they become usable
+ dot -c || die
+}
+
+pkg_postrm() {
+ # Remove cruft, bug #547344
+ rm -rf "${EROOT}"/usr/$(get_libdir)/graphviz/config{,6} || die
+}
diff --git a/media-gfx/graphviz/graphviz-9.0.0.ebuild b/media-gfx/graphviz/graphviz-9.0.0.ebuild
index 23a87f123109..7dc66d7742f7 100644
--- a/media-gfx/graphviz/graphviz-9.0.0.ebuild
+++ b/media-gfx/graphviz/graphviz-9.0.0.ebuild
@@ -4,7 +4,7 @@
EAPI=8
PYTHON_COMPAT=( python3_{10..12} )
-inherit python-single-r1
+inherit libtool python-single-r1
DESCRIPTION="Open Source Graph Visualization Software"
HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
@@ -14,7 +14,7 @@ SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-re
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~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="
@@ -141,6 +141,11 @@ pkg_setup() {
use python && python-single-r1_pkg_setup
}
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
local myconf=(
# Speeds up the libltdl configure
diff --git a/media-gfx/graphviz/metadata.xml b/media-gfx/graphviz/metadata.xml
index 82b5a6324419..ca83dc22284f 100644
--- a/media-gfx/graphviz/metadata.xml
+++ b/media-gfx/graphviz/metadata.xml
@@ -35,7 +35,7 @@
<flag name="gtk2">Enables gtk+ output plugin -Tgtk (needs cairo)</flag>
<flag name="gts">Enables support for GNU Triangulated Surface Library (required for sfdp to work)</flag>
<flag name="lasi">Enables PostScript output via <pkg>media-libs/lasi</pkg>, for plugin -Tlasi (needs cairo)</flag>
- <flag name="X">Builds dotty, lneato, unflatten, vimdot, builds plugin -Txlib, and enables support for x11 in various other modules (needs cairo)</flag>
+ <flag name="X">Builds unflatten, vimdot, builds plugin -Txlib, and enables support for x11 in various other modules (needs cairo)</flag>
</use>
<upstream>
<changelog>https://gitlab.com/graphviz/graphviz/-/blob/main/CHANGELOG.md</changelog>
diff --git a/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild b/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
index f23d4688e633..656fdc789c77 100644
--- a/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
+++ b/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
@@ -9,7 +9,7 @@ inherit optfeature perl-module virtualx xdg-utils
DESCRIPTION="Scan documents, perform OCR, produce PDFs and DjVus"
HOMEPAGE="http://gscan2pdf.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild b/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild
index 21f36a314c88..8b113cf10656 100644
--- a/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild
+++ b/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ inherit optfeature perl-module virtualx xdg-utils
DESCRIPTION="Scan documents, perform OCR, produce PDFs and DjVus"
HOMEPAGE="http://gscan2pdf.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/gthumb/Manifest b/media-gfx/gthumb/Manifest
index 3de867589822..783f7460c84e 100644
--- a/media-gfx/gthumb/Manifest
+++ b/media-gfx/gthumb/Manifest
@@ -1,3 +1 @@
-DIST gthumb-3.12.2.tar.xz 7585700 BLAKE2B 9fb4fd934975fb775b82cf17028abd6d4ac3c31ee30458c377d36d3af97e59218e621d09768eebec096c64e3d01697bd3080409fd2191c2af29d84c9b53508c1 SHA512 5304b5cfefa4ced6a244db5a6e2880dad4f5a598654c9ea6c7707ddc0a766bdfa108f827a74e400168dbc338e35db519fffb7ac7382e0ee564771d56af3ac97c
-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.6.tar.xz 7616560 BLAKE2B b1ccf4c76bc0edc5e8f60027357c8e48327fffa44d7ae3792c48701cc74d0338f2a7e6433bbe0e6e86c1bc522fffb8e9d614552a4ea9cf68562415a9cc9f7878 SHA512 cfbb901779b78b382ca3abefb7aed5a737a323cc3a7b6d94f5b84d524028c9584761e9001d845508f544f4989eb56563c25f2c64bce60ca84d2d9645f6c0d041
diff --git a/media-gfx/gthumb/files/3.12.2-date-format.patch b/media-gfx/gthumb/files/3.12.2-date-format.patch
deleted file mode 100644
index 1bc2309abf20..000000000000
--- a/media-gfx/gthumb/files/3.12.2-date-format.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-https://gitlab.gnome.org/GNOME/gthumb/-/issues/235
-
-From 77b0e6186579fccfca8a516b1399564228e01793 Mon Sep 17 00:00:00 2001
-From: Paolo Bacchilega <paobac@src.gnome.org>
-Date: Wed, 10 Aug 2022 07:49:00 +0200
-Subject: [PATCH] rename series: fixed date format not applied correctly
-
-Closes #235
----
- extensions/rename_series/dlg-rename-series.c | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/extensions/rename_series/dlg-rename-series.c b/extensions/rename_series/dlg-rename-series.c
-index 60c784fe..cc0612da 100644
---- a/extensions/rename_series/dlg-rename-series.c
-+++ b/extensions/rename_series/dlg-rename-series.c
-@@ -162,6 +162,12 @@ template_eval_cb (TemplateFlags flags,
- char *path;
- GTimeVal timeval;
-
-+ if ((parent_code == 'D') || (parent_code == 'M')) {
-+ /* strftime code, return the code itself. */
-+ _g_string_append_template_code (result, code, args);
-+ return FALSE;
-+ }
-+
- switch (code) {
- case '#':
- text = _g_template_replace_enumerator (args[0], template_data->n);
---
-GitLab
-
diff --git a/media-gfx/gthumb/files/3.12.2-libraw-0.21.patch b/media-gfx/gthumb/files/3.12.2-libraw-0.21.patch
deleted file mode 100644
index 4fef16dc9843..000000000000
--- a/media-gfx/gthumb/files/3.12.2-libraw-0.21.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-https://bugs.gentoo.org/887769
-https://gitlab.gnome.org/GNOME/gthumb/-/merge_requests/42
-
-From 2133520496afd179702953a5d07aa99b5209f9cf Mon Sep 17 00:00:00 2001
-From: Chris Mayo <aklhfex@gmail.com>
-Date: Wed, 21 Dec 2022 19:21:12 +0000
-Subject: [PATCH] raw: make compatible with LibRaw 0.21.0 release
-
-Memory error callback removed
-https://github.com/LibRaw/LibRaw/blob/979160ff13/Changelog.txt#L127
-
-Typo in LIBRAW_OPTIONS_* flag names fixed
-https://github.com/LibRaw/LibRaw/blob/979160ff13/Changelog.txt#L170
---- a/extensions/raw_files/gth-metadata-provider-raw.c
-+++ b/extensions/raw_files/gth-metadata-provider-raw.c
-@@ -62,7 +62,11 @@ gth_metadata_provider_raw_read (GthMetadataProvider *self,
- if (!_g_mime_type_is_raw (gth_file_data_get_mime_type (file_data)))
- return;
-
-+#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 21)
-+ raw_data = libraw_init (LIBRAW_OPTIONS_NO_DATAERR_CALLBACK);
-+#else
- raw_data = libraw_init (LIBRAW_OPIONS_NO_MEMERR_CALLBACK | LIBRAW_OPIONS_NO_DATAERR_CALLBACK);
-+#endif
- if (raw_data == NULL)
- goto fatal_error;
-
---- a/extensions/raw_files/main.c
-+++ b/extensions/raw_files/main.c
-@@ -213,7 +213,11 @@ _cairo_image_surface_create_from_raw (GInputStream *istream,
- size_t size;
- GthImage *image = NULL;
-
-+#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 21)
-+ raw_data = libraw_init (LIBRAW_OPTIONS_NO_DATAERR_CALLBACK);
-+#else
- raw_data = libraw_init (LIBRAW_OPIONS_NO_MEMERR_CALLBACK | LIBRAW_OPIONS_NO_DATAERR_CALLBACK);
-+#endif
- if (raw_data == NULL) {
- _libraw_set_gerror (error, errno);
- goto fatal_error;
-@@ -300,7 +304,11 @@ _cairo_image_surface_create_from_raw (GInputStream *istream,
- if ((original_width != NULL) && (original_height != NULL)) {
- libraw_close (raw_data);
-
-+#if LIBRAW_COMPILE_CHECK_VERSION_NOTLESS(0, 21)
-+ raw_data = libraw_init (LIBRAW_OPTIONS_NO_DATAERR_CALLBACK);
-+#else
- raw_data = libraw_init (LIBRAW_OPIONS_NO_MEMERR_CALLBACK | LIBRAW_OPIONS_NO_DATAERR_CALLBACK);
-+#endif
- if (raw_data == NULL)
- goto fatal_error;
-
---
-GitLab
diff --git a/media-gfx/gthumb/files/3.12.2-link-with-x11.patch b/media-gfx/gthumb/files/3.12.2-link-with-x11.patch
deleted file mode 100644
index b5e84710e5e1..000000000000
--- a/media-gfx/gthumb/files/3.12.2-link-with-x11.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-https://gitlab.gnome.org/GNOME/gthumb/-/issues/222
-
-diff --git a/meson.build b/meson.build
-index 2a970673..4cdc1a5e 100644
---- a/meson.build
-+++ b/meson.build
-@@ -232,6 +232,7 @@ common_deps = [
- dependency('gmodule-2.0'),
- dependency('gio-unix-2.0'),
- dependency('gtk+-3.0', version : gtk_version),
-+ dependency('x11'),
- dependency('libpng'),
- dependency('zlib'),
- dependency('gsettings-desktop-schemas')
diff --git a/media-gfx/gthumb/gthumb-3.12.2-r5.ebuild b/media-gfx/gthumb/gthumb-3.12.2-r5.ebuild
deleted file mode 100644
index 971f6ec08a16..000000000000
--- a/media-gfx/gthumb/gthumb-3.12.2-r5.ebuild
+++ /dev/null
@@ -1,113 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-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
-"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-link-with-x11.patch
- "${FILESDIR}"/${PV}-libraw-0.21.patch
- "${FILESDIR}"/${PV}-date-format.patch
-)
-
-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 ad298e9c5a78..000000000000
--- a/media-gfx/gthumb/gthumb-3.12.4.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.3.ebuild b/media-gfx/gthumb/gthumb-3.12.6.ebuild
index d32de8c3f4be..718683c42b47 100644
--- a/media-gfx/gthumb/gthumb-3.12.3.ebuild
+++ b/media-gfx/gthumb/gthumb-3.12.6.ebuild
@@ -41,7 +41,7 @@ RDEPEND="
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 )
+ jpegxl? ( >=media-libs/libjxl-0.3.0:= )
heif? ( >=media-libs/libheif-1.11:= )
lcms? ( >=media-libs/lcms-2.6:2 )
colord? (
diff --git a/media-gfx/hugin/Manifest b/media-gfx/hugin/Manifest
index 9cbac297857f..cdb38af8edc9 100644
--- a/media-gfx/hugin/Manifest
+++ b/media-gfx/hugin/Manifest
@@ -1,2 +1 @@
-DIST hugin-2022.0.0.tar.bz2 10374360 BLAKE2B ea77614a650f832f39583328767a55ebe888a003fed117e73b22fd29c641fc8494b190b864b7ccb05f996ceca5d95c5391597333efdc19bce0eba93af14543be SHA512 752bdaaea666a24bddc72b4aa4ccfbf366af30022102a2e74fad9c86045b3aeae50929a8a3eb27e296b27bdb487ecd60b6e363b23413e08af6ed944686569c97
DIST hugin-2023.0.0.tar.bz2 10336322 BLAKE2B 5c35f67160d76f961e812a309a0c50bb012beac74dc888ce716e8d0e3da35dbb053ab4e5d5d043b3d3fee9885f2fc1afa962a73e794cd4df920527456d477e89 SHA512 f950afec9020972baa20931d5001cd479a9169a4eec0d459d830612f40177eea6a25e059047054b8e9679017687e4c2db9fb27f755a3d0b749e5055e2ff0adc8
diff --git a/media-gfx/hugin/files/hugin-2022.0.0-exiv2-0.28.patch b/media-gfx/hugin/files/hugin-2022.0.0-exiv2-0.28.patch
deleted file mode 100644
index dff74132b48f..000000000000
--- a/media-gfx/hugin/files/hugin-2022.0.0-exiv2-0.28.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-Patch originally taken from ArchLinux, modified to be backwards compatible.
-
-diff -r 79cd11a7a66f src/hugin_base/panodata/Exiv2Helper.cpp
---- a/src/hugin_base/panodata/Exiv2Helper.cpp Wed May 24 19:13:20 2023 +0200
-+++ b/src/hugin_base/panodata/Exiv2Helper.cpp Mon Jun 05 00:31:19 2023 +0200
-@@ -40,7 +40,11 @@
- Exiv2::ExifData::iterator itr = exifData.findKey(Exiv2::ExifKey(keyName));
- if (itr != exifData.end() && itr->count())
- {
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ value = itr->toUint32();
-+#else
- value = itr->toLong();
-+#endif
- return true;
- }
- else
-@@ -165,7 +169,11 @@
- {
- if(it!=exifData.end() && it->count())
- {
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ return it->toUint32();
-+#else
- return it->toLong();
-+#endif
- }
- return 0;
- };
-@@ -600,4 +608,4 @@
- };
-
- }; //namespace Exiv2Helper
--}; //namespace HuginBase
-\ No newline at end of file
-+}; //namespace HuginBase
-diff -r 79cd11a7a66f src/hugin_base/panodata/SrcPanoImage.cpp
---- a/src/hugin_base/panodata/SrcPanoImage.cpp Wed May 24 19:13:20 2023 +0200
-+++ b/src/hugin_base/panodata/SrcPanoImage.cpp Mon Jun 05 00:31:19 2023 +0200
-@@ -384,7 +384,11 @@
- pos = xmpData.findKey(Exiv2::XmpKey("Xmp.GPano.CroppedAreaImageWidthPixels"));
- if (pos != xmpData.end())
- {
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ croppedWidth = pos->toUint32();
-+#else
- croppedWidth = pos->toLong();
-+#endif
- }
- else
- {
-@@ -394,7 +398,11 @@
- pos = xmpData.findKey(Exiv2::XmpKey("Xmp.GPano.CroppedAreaImageHeightPixels"));
- if (pos != xmpData.end())
- {
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ croppedHeight = pos->toUint32();
-+#else
- croppedHeight = pos->toLong();
-+#endif
- }
- else
- {
-@@ -408,7 +416,11 @@
- double hfov = 0;
- if (pos != xmpData.end())
- {
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ hfov = 360 * croppedWidth / (double)pos->toUint32();
-+#else
- hfov = 360 * croppedWidth / (double)pos->toLong();
-+#endif
- }
- else
- {
-@@ -419,7 +431,11 @@
- pos = xmpData.findKey(Exiv2::XmpKey("Xmp.GPano.FullPanoHeightPixels"));
- if (pos != xmpData.end())
- {
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ fullHeight = pos->toUint32();
-+#else
- fullHeight = pos->toLong();
-+#endif
- }
- else
- {
-@@ -430,7 +446,11 @@
- pos = xmpData.findKey(Exiv2::XmpKey("Xmp.GPano.CroppedAreaTopPixels"));
- if (pos != xmpData.end())
- {
-+#if EXIV2_TEST_VERSION(0,28,0)
-+ cropTop = pos->toUint32();
-+#else
- cropTop = pos->toLong();
-+#endif
- }
- else
- {
diff --git a/media-gfx/hugin/hugin-2022.0.0-r1.ebuild b/media-gfx/hugin/hugin-2022.0.0-r1.ebuild
deleted file mode 100644
index 8fe47c8a270b..000000000000
--- a/media-gfx/hugin/hugin-2022.0.0-r1.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER="3.0-gtk3"
-PYTHON_COMPAT=( python3_{9..11} )
-
-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"
-
-LICENSE="GPL-2+ BSD BSD-2 MIT wxWinLL-3 ZLIB FDL-1.2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-LANGS=" ca ca-valencia cs da de en-GB es eu fi fr hu it ja nl pl pt-BR ro ru sk sv zh-CN zh-TW"
-IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})"
-
-CDEPEND="
- dev-db/sqlite:3
- dev-libs/boost:=
- dev-libs/zthread
- >=media-gfx/enblend-4.0
- media-gfx/exiv2:=
- media-libs/freeglut
- media-libs/glew:=
- media-libs/libjpeg-turbo:=
- >=media-libs/libpano13-2.9.19_beta1:=
- media-libs/libpng:=
- media-libs/openexr:=
- media-libs/tiff:=
- >=media-libs/vigra-1.11.1-r5[openexr]
- sci-libs/fftw:3.0=
- sci-libs/flann
- sys-libs/zlib
- virtual/glu
- virtual/opengl
- x11-libs/wxGTK:${WX_GTK_VER}=[X,opengl]
- lapack? ( virtual/blas virtual/lapack )
- python? ( ${PYTHON_DEPS} )
- sift? ( media-gfx/autopano-sift-C )"
-RDEPEND="${CDEPEND}
- media-libs/exiftool
- raw? ( media-gfx/dcraw )"
-DEPEND="${CDEPEND}
- dev-cpp/tclap
- sys-devel/gettext
- virtual/pkgconfig
- python? ( >=dev-lang/swig-2.0.4 )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DOCS=( authors.txt README TODO )
-
-S=${WORKDIR}/${PN}-$(ver_cut 1-2).0
-
-PATCHES=( "${FILESDIR}/${P}-exiv2-0.28.patch" ) # bug 906468
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- setup-wxwidgets
-}
-
-src_prepare() {
- sed -i \
- -e "/COMMAND.*GZIP/d" \
- -e "s/\.gz//g" \
- "${S}"/doc/CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_HSI=$(usex python)
- -DENABLE_LAPACK=$(usex lapack)
- # Temporary workaround for bug #833443. Can be dropped when
- # we switch to wxgtk-3.2, but complications for that remain
- # w/ egl+wayland.
- -DUSE_GDKBACKEND_X11=on
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- use python && python_optimize
-
- local lang
- for lang in ${LANGS} ; do
- case ${lang} in
- ca) dir=ca_ES;;
- ca-valencia) dir=ca_ES@valencia;;
- cs) dir=cs_CZ;;
- *) dir=${lang/-/_};;
- esac
- if ! use l10n_${lang} ; then
- rm -r "${ED}"/usr/share/locale/${dir} || die
- fi
- done
-}
diff --git a/media-gfx/hugin/hugin-2022.0.0.ebuild b/media-gfx/hugin/hugin-2022.0.0.ebuild
deleted file mode 100644
index 5ffa06386d06..000000000000
--- a/media-gfx/hugin/hugin-2022.0.0.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER="3.0-gtk3"
-PYTHON_COMPAT=( python3_{9..11} )
-
-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"
-
-LICENSE="GPL-2+ BSD BSD-2 MIT wxWinLL-3 ZLIB FDL-1.2"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-LANGS=" ca ca-valencia cs da de en-GB es eu fi fr hu it ja nl pl pt-BR ro ru sk sv zh-CN zh-TW"
-IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})"
-
-CDEPEND="
- dev-db/sqlite:3
- dev-libs/boost:=
- dev-libs/zthread
- >=media-gfx/enblend-4.0
- media-gfx/exiv2:=
- media-libs/freeglut
- media-libs/glew:=
- media-libs/libjpeg-turbo:=
- >=media-libs/libpano13-2.9.19_beta1:=
- media-libs/libpng:=
- media-libs/openexr:=
- media-libs/tiff:=
- >=media-libs/vigra-1.11.1-r5[openexr]
- sci-libs/fftw:3.0=
- sci-libs/flann
- sys-libs/zlib
- virtual/glu
- virtual/opengl
- x11-libs/wxGTK:${WX_GTK_VER}=[X,opengl]
- lapack? ( virtual/blas virtual/lapack )
- python? ( ${PYTHON_DEPS} )
- sift? ( media-gfx/autopano-sift-C )"
-RDEPEND="${CDEPEND}
- media-libs/exiftool
- raw? ( media-gfx/dcraw )"
-DEPEND="${CDEPEND}
- dev-cpp/tclap
- sys-devel/gettext
- virtual/pkgconfig
- python? ( >=dev-lang/swig-2.0.4 )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DOCS=( authors.txt README TODO )
-
-S=${WORKDIR}/${PN}-$(ver_cut 1-2).0
-
-PATCHES=( "${FILESDIR}/${P}-exiv2-0.28.patch" ) # bug 906468
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- setup-wxwidgets
-}
-
-src_prepare() {
- sed -i \
- -e "/COMMAND.*GZIP/d" \
- -e "s/\.gz//g" \
- "${S}"/doc/CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_HSI=$(usex python)
- -DENABLE_LAPACK=$(usex lapack)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- use python && python_optimize
-
- local lang
- for lang in ${LANGS} ; do
- case ${lang} in
- ca) dir=ca_ES;;
- ca-valencia) dir=ca_ES@valencia;;
- cs) dir=cs_CZ;;
- *) dir=${lang/-/_};;
- esac
- if ! use l10n_${lang} ; then
- rm -r "${ED}"/usr/share/locale/${dir} || die
- fi
- done
-}
diff --git a/media-gfx/hugin/hugin-2023.0.0.ebuild b/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
index 934bab607e9c..4587f91ae7d5 100644
--- a/media-gfx/hugin/hugin-2023.0.0.ebuild
+++ b/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
WX_GTK_VER="3.2-gtk3"
-PYTHON_COMPAT=( python3_{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"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
LANGS=" ca ca-valencia cs da de en-GB es eu fi fr hu it ja nl pl pt-BR ro ru sk sv zh-CN zh-TW"
IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})"
@@ -22,7 +22,6 @@ IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})"
CDEPEND="
dev-db/sqlite:3
dev-libs/boost:=
- dev-libs/zthread
>=media-gfx/enblend-4.0
media-gfx/exiv2:=
media-libs/freeglut
diff --git a/media-gfx/hugin/hugin-9999.ebuild b/media-gfx/hugin/hugin-9999.ebuild
index 06c2a45cde7f..aec868af9672 100644
--- a/media-gfx/hugin/hugin-9999.ebuild
+++ b/media-gfx/hugin/hugin-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=7
@@ -24,7 +24,6 @@ IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})"
CDEPEND="
dev-db/sqlite:3
dev-libs/boost:=
- dev-libs/zthread
>=media-gfx/enblend-4.0
media-gfx/exiv2:=
media-libs/freeglut
diff --git a/media-gfx/hydrus/Manifest b/media-gfx/hydrus/Manifest
index 415449bd1a83..78d8b5ae805d 100644
--- a/media-gfx/hydrus/Manifest
+++ b/media-gfx/hydrus/Manifest
@@ -1,2 +1,3 @@
-DIST hydrus-534.tar.gz 41548094 BLAKE2B bec115deae4202869f34ed205d4b6f10b63b17fcb3d950250c1cfb2752f021c57487172deb0cebf29a349822d02ee520f3761320f49214ff8adcde7716eda984 SHA512 52f21ae2121fefd83efa2c0df8087fc6872fcb5a89ef1bab71ab968e148b51326f521dcc0f7636a45a9a9ce7661921402d1fc792de1f0c9251efb49e86cb08f7
-DIST hydrus-538.tar.gz 41659526 BLAKE2B 4e6f4058fc8eefb154ec08667d9d586e48df688de2e887bae05cc381dc15c56ba2da4a97d1194bac2547af24a690e8d6962f05792babb68a9f0d5fb9ca23047e SHA512 da7bebf294356455597d8397391edcd3c7af032ef2d494ed2e91277c58bd29516068ba9ed99fa5df8d7bbfc47beb3488b3d73a0d99cb946d57546b095b6d6cd6
+DIST hydrus-3500-mpeg-error.patch 1632 BLAKE2B 9cc969a3a2d476ea606f3f280ecd6e4cc7f628420586e651377945d370a6c50464b118da1c96a577bc55b13bbac946801b9cff251922299f91e4a76dabf7edf9 SHA512 8769d63c7b2a345e1a7bfa0dae200bca03b991ef6a217150e3f50c95f3d1235305242348aa8fabf1183fc3d787498bbead8a96145e4cdd2251f67032469f095c
+DIST hydrus-565.tar.gz 46360280 BLAKE2B 7a9492db917b7f7d10fd92c668dff2206111b5734a707ea86e8d3f5c95359126da31e3bd6fdcea64c621527f5a30e608fdf8cd36b7b7b70185a37c3cc7483180 SHA512 442dde4c9e557c162b8a5cc23f22472d8c48d7717513a192875b413a59000897c05b2b050c16ad480cdbb18548485f51b5e8651e44cb2057fc8e6eb1b99e8f26
+DIST hydrus-test-fixes.patch 820 BLAKE2B 9d912868142cd3e7763241652e81172236094de6d0cf4df888d7203d34ed37b469c4829401a6e3bda945e3683db9f8e577ef21040cb5d57b0e6c01c2c619655b SHA512 a6a322a77638122fdd1f74ca57c23360aa8d58d97877e9517db9d185c11a8187e807b9478533a97a4654d58342b0541cc7eb89b83075bc4c38ceda0effe06ce0
diff --git a/media-gfx/hydrus/files/userpath-in-local-share.patch b/media-gfx/hydrus/files/userpath-in-local-share.patch
index 8b4c12be071e..02fe25868ecc 100644
--- a/media-gfx/hydrus/files/userpath-in-local-share.patch
+++ b/media-gfx/hydrus/files/userpath-in-local-share.patch
@@ -1,12 +1,13 @@
diff --git a/hydrus/core/HydrusConstants.py b/hydrus/core/HydrusConstants.py
-index 05fff23..d68fc06 100644
+index 43a2bc8..c62943e 100644
--- a/hydrus/core/HydrusConstants.py
+++ b/hydrus/core/HydrusConstants.py
-@@ -67,6 +67,7 @@ if USERPATH_DB_DIR == desired_userpath_db_dir:
+@@ -85,7 +85,7 @@ else:
+ desired_userpath_db_dir = os.path.join( '~', 'Hydrus' )
- USERPATH_DB_DIR = None
-
-+USERPATH_DB_DIR = os.path.expanduser ( os.path.join( '~', '.local', 'share', 'hydrus', 'db' ) )
- LICENSE_PATH = os.path.join( BASE_DIR, 'license.txt' )
+-USERPATH_DB_DIR = os.path.expanduser( desired_userpath_db_dir )
++USERPATH_DB_DIR = os.path.expanduser ( os.path.join( '~', '.local', 'share', 'hydrus', 'db' ) )
+ if USERPATH_DB_DIR == desired_userpath_db_dir:
+
diff --git a/media-gfx/hydrus/hydrus-534.ebuild b/media-gfx/hydrus/hydrus-534.ebuild
deleted file mode 100644
index 851d373d97a8..000000000000
--- a/media-gfx/hydrus/hydrus-534.ebuild
+++ /dev/null
@@ -1,150 +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} )
-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"
-
- 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:
-# - No specific requirements
-# - Specific version or slot
-RDEPEND="
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- 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/pyside2[widgets,gui,${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/six[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
- media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
- media-video/ffmpeg
-
- >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}]
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- ')
-"
-BDEPEND="
- ${RDEPEND}
- $(python_gen_cond_dep '
- test? (
- dev-python/httmock[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
-
- dev-python/pyside2[widgets,gui,multimedia,${PYTHON_USEDEP}]
- )
- ')
-"
-
-PATCHES=(
- "${FILESDIR}/userpath-in-local-share.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 "bandwidth charts support" "dev-python/pyside2[charts]"
- optfeature "memory compression in the client" "dev-python/lz4"
- optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/PySocks"
-}
diff --git a/media-gfx/hydrus/hydrus-538.ebuild b/media-gfx/hydrus/hydrus-565.ebuild
index 6c1cb6719c2e..1fd94b6ee116 100644
--- a/media-gfx/hydrus/hydrus-538.ebuild
+++ b/media-gfx/hydrus/hydrus-565.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
@@ -19,7 +19,11 @@ if [[ "${PV}" == "9999" ]]; then
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"
+ 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
@@ -76,6 +80,8 @@ BDEPEND="
PATCHES=(
"${FILESDIR}/userpath-in-local-share.patch"
+ "${DISTDIR}/hydrus-3500-mpeg-error.patch"
+ "${DISTDIR}/hydrus-test-fixes.patch"
)
src_prepare() {
diff --git a/media-gfx/imagemagick/Manifest b/media-gfx/imagemagick/Manifest
index 8d687c068b97..b54b227f16d8 100644
--- a/media-gfx/imagemagick/Manifest
+++ b/media-gfx/imagemagick/Manifest
@@ -1,6 +1,2 @@
-DIST ImageMagick-6.9.12-89.tar.xz 9262956 BLAKE2B 5f4eb74e6a57cc16503e1bc803472f1bbfaf1b737a4bb9f1257e8100c791bb12fdf8904c8eea4d27d9a26da70839894eb157133a1ad1de7a0a9d700f62747147 SHA512 d109cce5dbe239f0e20e871575e5093938cc0c45053e99f675a40a4d5a24f0e67814abc9aac72c2fc0b3216249ff46ff82fa299877d4488bdbf3f28766b50cde
-DIST ImageMagick-6.9.13-2.tar.xz 9611768 BLAKE2B 0b0bb7dec536b12f0f5dc83b03b33a122158a946ea38a44b48442124c5e11a7af33100e213c8332baa23bc45329cb66611bf2347631155bb16c3ceb6ccc185f6 SHA512 d693983eda6fba6b5e1d5d5bb4dc814dffd6a064c0464dded86c5f780ce52bef737d1bc870fae4c5bd039c419585fb374a0c4fbd19d94153d319eb8e3d5595b3
DIST ImageMagick-6.9.13-3.tar.xz 9616088 BLAKE2B 9682bc15c42199c266cc8d9152099a96a4e66154b9c74cd7c72993c3d9edd8aa6123d64ae6852d520c9a346a27ee27120a4d2b4f7973c279006d7570666c4080 SHA512 3e061c8a7bec0c49db9e990858257ff092500430d382bcad0c76aaa8d531bd2c13b727a52f060fc6051a0217f41f254570d23a4301c15a7af547e13f148a4ca9
-DIST ImageMagick-7.1.1-11.tar.xz 10196156 BLAKE2B 328ffe6dbf30b597ec56f94ab5e74cca553cb47eca244c76b91273c278c097990fb8ed7eeaa22311d4408022808e752cbb4c8775c56b3d64d3a4216487093e9e SHA512 b3c839457b62a6b83d3ab9cf12bda2f41030eed75ae5ff898331ffdfe202a93ea8284c8f8608f4ecd013c7eb0c4cbef6527caff62bcf382d62e8531389628fc3
-DIST ImageMagick-7.1.1-24.tar.xz 10561928 BLAKE2B 992d1425a2e306f9bf85dfafb09f2869fae09b57a32c3b1992d4f478932ef6ec58368d70574f134e7226b09a6275cd1f4343064b36ca3fb8556a60d59138df2e SHA512 78dbd763f70b36e95a728cff7a1e02ec1c5d3b9a8371161e306e77450f1a3c33a987f19dda3eca94dfa2435b4a29a97c5df5155915a73441f74174a98b36a7d9
DIST ImageMagick-7.1.1-25.tar.xz 10557080 BLAKE2B 833c450c87e4a1650b6d71e2d8abeea74ad6f0afa7ec6f0cba9c5bb39044cf17c6b94959d65f121a18faa8ae6ad8b8921b48700f5b6269df9d9b0e7049b22e04 SHA512 0c4a34f6ada5310af248c2e569900604c50295ecdcbc1dd7e5c4375cc68277ec9cac6786db8fa42d3783c2c68468cf88e0413fa60e4ac40d06818bfd34dcf09e
diff --git a/media-gfx/imagemagick/files/imagemagick-7.1.1.24-c99.patch b/media-gfx/imagemagick/files/imagemagick-7.1.1.24-c99.patch
deleted file mode 100644
index affcb61f1fed..000000000000
--- a/media-gfx/imagemagick/files/imagemagick-7.1.1.24-c99.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-https://bugs.gentoo.org/920788
-
-From f6e90ad1a649c4032b957fa101d30c14de3b7e5d Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Wed, 27 Dec 2023 22:37:42 +0000
-Subject: [PATCH] configure.ac: fixup LFS check for autoconf-2.72
-
-There are two problems with the check:
-1) The 'unknown' case has a problem which is rejected by stricter C compilers
-because it has -Wimplicit-int and -Wimplicit-function-declaration warnings. Fix that.
-
-2) For the 'other' case, we were using the value of ac_cv_sys_file_offset_bits for
--D_FILE_OFFSET_BITS to pass down into the Perl module build, but autoconf-2.72
-drops the use of ac_cv_sys_file_offset_bits in cf09f48841b66fe76f606dd6018bb3a93242a7c9,
-so this ends up defining '-D_FILE_OFFSET_BITS=' which then breaks the build.
-
-I've added a hack for 2) to preserve the old behavior.
-
-Signed-off-by: Sam James <sam@gentoo.org>
----
- configure.ac | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/configure.ac b/configure.ac
-index 57c21edb77..99aa9c21af 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -503,7 +503,8 @@ if test "$enable_largefile" != no; then
- unknown)
- AC_MSG_CHECKING([for native large file support])
- AC_RUN_IFELSE([AC_LANG_PROGRAM([#include <unistd.h>
-- main () {
-+ #include <stdlib.h>
-+ int main () {
- exit(!(sizeof(off_t) == 8));
- }])],
- [ac_cv_sys_file_offset_bits=64; AC_DEFINE(_FILE_OFFSET_BITS,64)
-@@ -511,6 +512,9 @@ if test "$enable_largefile" != no; then
- [AC_MSG_RESULT([no])])
- ;;
- *)
-+ if test "$ac_cv_sys_file_offset_bits" = ''; then
-+ ac_cv_sys_file_offset_bits=64;
-+ fi
- LFS_CPPFLAGS="$LFS_CPPFLAGS -D_FILE_OFFSET_BITS=$ac_cv_sys_file_offset_bits"
- ;;
- esac
diff --git a/media-gfx/imagemagick/files/policy-hardening.snippet b/media-gfx/imagemagick/files/policy-hardening.snippet
deleted file mode 100644
index c1a91b0b8744..000000000000
--- a/media-gfx/imagemagick/files/policy-hardening.snippet
+++ /dev/null
@@ -1,9 +0,0 @@
-<policymap>
- <!-- https://www.kb.cert.org/vuls/id/332928 mitigation / https://bugs.gentoo.org/664236 -->
- <policy domain="coder" rights="none" pattern="PS" />
- <policy domain="coder" rights="none" pattern="PS2" />
- <policy domain="coder" rights="none" pattern="PS3" />
- <policy domain="coder" rights="none" pattern="EPS" />
- <policy domain="coder" rights="none" pattern="PDF" />
- <policy domain="coder" rights="none" pattern="XPS" />
-
diff --git a/media-gfx/imagemagick/imagemagick-6.9.12.89-r1.ebuild b/media-gfx/imagemagick/imagemagick-6.9.12.89-r1.ebuild
deleted file mode 100644
index 8df9b4f96a83..000000000000
--- a/media-gfx/imagemagick/imagemagick-6.9.12.89-r1.ebuild
+++ /dev/null
@@ -1,271 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-QA_PKGCONFIG_VERSION=$(ver_cut 1-3)
-inherit flag-o-matic libtool perl-functions toolchain-funcs
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/ImageMagick/ImageMagick6.git"
- inherit git-r3
- MY_P="imagemagick-9999"
-else
- MY_PV="$(ver_rs 3 '-')"
- MY_P="ImageMagick-${MY_PV}"
- SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="A collection of tools and libraries for many image formats"
-HOMEPAGE="https://www.imagemagick.org/"
-
-LICENSE="imagemagick"
-# Please check this on bumps, SONAME is often not updated! Use abidiff on old/new.
-# If ABI is broken, change the bit after the '-'.
-SLOT="0/$(ver_cut 1-3)-58"
-IUSE="bzip2 corefonts +cxx djvu fftw fontconfig fpx graphviz hdri heif jbig jpeg jpeg2k lcms lqr lzma opencl openexr openmp pango perl +png postscript q32 q8 raw static-libs svg test tiff truetype webp wmf X xml zlib"
-
-REQUIRED_USE="corefonts? ( truetype )
- svg? ( xml )
- test? ( corefonts )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !media-gfx/graphicsmagick[imagemagick]
- dev-libs/libltdl
- bzip2? ( app-arch/bzip2 )
- corefonts? ( media-fonts/corefonts )
- djvu? ( app-text/djvu )
- fftw? ( sci-libs/fftw:3.0 )
- fontconfig? ( media-libs/fontconfig )
- fpx? ( >=media-libs/libfpx-1.3.0-r1 )
- graphviz? ( media-gfx/graphviz )
- heif? ( media-libs/libheif:=[x265] )
- jbig? ( >=media-libs/jbigkit-2:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
- lcms? ( media-libs/lcms:2= )
- lqr? ( media-libs/liblqr )
- opencl? ( virtual/opencl )
- openexr? ( media-libs/openexr:0= )
- pango? ( x11-libs/pango )
- perl? ( >=dev-lang/perl-5.8.8:= )
- png? ( media-libs/libpng:= )
- postscript? ( app-text/ghostscript-gpl:= )
- raw? ( media-libs/libraw:= )
- svg? (
- gnome-base/librsvg
- media-gfx/potrace
- )
- tiff? ( media-libs/tiff:= )
- truetype? (
- media-fonts/urw-fonts
- >=media-libs/freetype-2
- )
- webp? ( media-libs/libwebp:= )
- wmf? ( media-libs/libwmf )
- X? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libXext
- x11-libs/libXt
- )
- xml? ( dev-libs/libxml2 )
- lzma? ( app-arch/xz-utils )
- zlib? ( sys-libs/zlib:= )"
-DEPEND="${RDEPEND}
- X? ( x11-base/xorg-proto )"
-BDEPEND="virtual/pkgconfig"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- default
-
- # Apply hardening, bug #664236
- cp "${FILESDIR}"/policy-hardening.snippet "${S}" || die
- sed -i -e '/^<policymap>$/ {
- r policy-hardening.snippet
- d
- }' \
- config/policy.xml || \
- die "Failed to apply hardening of policy.xml"
- einfo "policy.xml hardened"
-
- # for Darwin modules
- elibtoolize
-
- # For testsuite, see bug #500580#c3
- local ati_cards mesa_cards nvidia_cards render_cards
- shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
- shopt -u nullglob
- addpredict /dev/nvidiactl
-}
-
-src_configure() {
- local depth=16
- use q8 && depth=8
- use q32 && depth=32
-
- use perl && perl_check_env
-
- [[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
-
- local myeconfargs=(
- $(use_enable static-libs static)
- $(use_enable hdri)
- $(use_enable opencl)
- $(use_enable openmp)
- --with-threads
- --with-modules
- --with-quantum-depth=${depth}
- $(use_with cxx magick-plus-plus)
- $(use_with perl)
- --with-perl-options='INSTALLDIRS=vendor'
- --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
- $(use_with bzip2 bzlib)
- $(use_with X x)
- $(use_with zlib)
- --without-autotrace
- $(use_with postscript dps)
- $(use_with djvu)
- --with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
- $(use_with fftw)
- $(use_with fpx)
- $(use_with fontconfig)
- $(use_with truetype freetype)
- $(use_with postscript gslib)
- $(use_with graphviz gvc)
- $(use_with heif heic)
- $(use_with jbig)
- $(use_with jpeg)
- $(use_with jpeg2k openjp2)
- $(use_with lcms)
- $(use_with lqr)
- $(use_with lzma)
- $(use_with openexr)
- $(use_with pango)
- $(use_with png)
- $(use_with raw)
- $(use_with svg rsvg)
- $(use_with tiff)
- $(use_with webp)
- $(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
- $(use_with wmf)
- $(use_with xml)
- --with-gcc-arch=no-automagic
- )
-
- CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # Install default (unrestricted) policy in ${HOME} for test suite, bug #664238
- local _im_local_config_home="${HOME}/.config/ImageMagick"
- mkdir -p "${_im_local_config_home}" || \
- die "Failed to create IM config dir in '${_im_local_config_home}'"
- cp "${FILESDIR}"/policy.test.xml "${_im_local_config_home}/policy.xml" || \
- die "Failed to install default blank policy.xml in '${_im_local_config_home}'"
-
- local im_command= IM_COMMANDS=()
- IM_COMMANDS+=( "identify -version | grep -q -- \"${MY_PV}\"" ) # Verify that we are using version we just built
- IM_COMMANDS+=( "identify -list policy" ) # Verify that policy.xml is used
- IM_COMMANDS+=( "emake check" ) # Run tests
-
- for im_command in "${IM_COMMANDS[@]}"; do
- eval "${S}"/magick.sh \
- ${im_command} || \
- die "Failed to run \"${im_command}\""
- done
-}
-
-src_install() {
- # Ensure documentation installation files and paths with each release!
- emake \
- DESTDIR="${D}" \
- DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
- install
-
- rm -f "${ED}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
- dodoc {AUTHORS,README}.txt
-
- if use perl; then
- find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
- find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
- fi
-
- find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
- # .la files in parent are not needed, keep plugin .la files
- find "${ED}"/usr/$(get_libdir)/ -maxdepth 1 -name "*.la" -delete || die
-
- if use opencl; then
- cat <<-EOF > "${T}"/99${PN}
- SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/card0:/dev/dri/renderD128"
- EOF
-
- insinto /etc/sandbox.d
- # bug #472766
- doins "${T}"/99${PN}
- fi
-
- insinto /usr/share/${PN}
- doins config/*icm
-}
-
-pkg_postinst() {
- local _show_policy_xml_notice=
-
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- # This is a new installation
- _show_policy_xml_notice=yes
- else
- local v
- for v in ${REPLACING_VERSIONS}; do
- if ! ver_test "${v}" -gt "6.9.10.10-r2"; then
- # This is an upgrade
- _show_policy_xml_notice=yes
-
- # Show this elog only once
- break
- fi
- done
- fi
-
- if [[ -n "${_show_policy_xml_notice}" ]]; then
- elog "For security reasons, a policy.xml file was installed in /etc/ImageMagick-6"
- elog "which will prevent the usage of the following coders by default:"
- elog ""
- elog " - PS"
- elog " - PS2"
- elog " - PS3"
- elog " - EPS"
- elog " - PDF"
- elog " - XPS"
- fi
-}
diff --git a/media-gfx/imagemagick/imagemagick-6.9.13.2.ebuild b/media-gfx/imagemagick/imagemagick-6.9.13.2.ebuild
deleted file mode 100644
index b99a78982242..000000000000
--- a/media-gfx/imagemagick/imagemagick-6.9.13.2.ebuild
+++ /dev/null
@@ -1,246 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-QA_PKGCONFIG_VERSION=$(ver_cut 1-3)
-inherit flag-o-matic libtool perl-functions toolchain-funcs
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/ImageMagick/ImageMagick6.git"
- inherit git-r3
- MY_P="imagemagick-9999"
-else
- MY_PV="$(ver_rs 3 '-')"
- MY_P="ImageMagick-${MY_PV}"
- SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="A collection of tools and libraries for many image formats"
-HOMEPAGE="https://www.imagemagick.org/"
-
-LICENSE="imagemagick"
-# Please check this on bumps, SONAME is often not updated! Use abidiff on old/new.
-# If ABI is broken, change the bit after the '-'.
-SLOT="0/$(ver_cut 1-3)-0"
-IUSE="bzip2 corefonts +cxx djvu fftw fontconfig fpx graphviz hardened hdri heif jbig jpeg jpeg2k lcms lqr lzma opencl openexr openmp pango perl +png postscript q32 q8 raw static-libs svg test tiff truetype webp wmf X xml zlib"
-
-REQUIRED_USE="
- corefonts? ( truetype )
- svg? ( xml )
- test? ( corefonts )
-"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !media-gfx/graphicsmagick[imagemagick]
- dev-libs/libltdl
- bzip2? ( app-arch/bzip2 )
- corefonts? ( media-fonts/corefonts )
- djvu? ( app-text/djvu )
- fftw? ( sci-libs/fftw:3.0 )
- fontconfig? ( media-libs/fontconfig )
- fpx? ( >=media-libs/libfpx-1.3.0-r1 )
- graphviz? ( media-gfx/graphviz )
- heif? ( media-libs/libheif:=[x265] )
- jbig? ( >=media-libs/jbigkit-2:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
- lcms? ( media-libs/lcms:2= )
- lqr? ( media-libs/liblqr )
- opencl? ( virtual/opencl )
- openexr? ( media-libs/openexr:0= )
- pango? ( x11-libs/pango )
- perl? ( >=dev-lang/perl-5.8.8:= )
- png? ( media-libs/libpng:= )
- postscript? ( app-text/ghostscript-gpl:= )
- raw? ( media-libs/libraw:= )
- svg? (
- gnome-base/librsvg
- media-gfx/potrace
- )
- tiff? ( media-libs/tiff:= )
- truetype? (
- media-fonts/urw-fonts
- >=media-libs/freetype-2
- )
- webp? ( media-libs/libwebp:= )
- wmf? ( media-libs/libwmf )
- X? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libXext
- x11-libs/libXt
- )
- xml? ( dev-libs/libxml2 )
- lzma? ( app-arch/xz-utils )
- zlib? ( sys-libs/zlib:= )
-"
-DEPEND="
- ${RDEPEND}
- X? ( x11-base/xorg-proto )
-"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${PN}-7.1.1.24-c99.patch"
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- default
-
- # for Darwin modules
- elibtoolize
-
- # For testsuite, see bug #500580#c3
- local ati_cards mesa_cards nvidia_cards render_cards
- shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
- shopt -u nullglob
- addpredict /dev/nvidiactl
-}
-
-src_configure() {
- local depth=16
- use q8 && depth=8
- use q32 && depth=32
-
- use perl && perl_check_env
-
- [[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
-
- local myeconfargs=(
- $(use_enable static-libs static)
- $(use_enable hdri)
- $(use_enable opencl)
- $(use_enable openmp)
- --with-threads
- --with-modules
- --with-quantum-depth=${depth}
- $(use_with cxx magick-plus-plus)
- $(use_with perl)
- --with-perl-options='INSTALLDIRS=vendor'
- --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
- $(use_with bzip2 bzlib)
- $(use_with X x)
- $(use_with zlib)
- --without-autotrace
- $(use_with postscript dps)
- $(use_with djvu)
- --with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
- $(use_with fftw)
- $(use_with fpx)
- $(use_with fontconfig)
- $(use_with truetype freetype)
- $(use_with postscript gslib)
- $(use_with graphviz gvc)
- $(use_with heif heic)
- $(use_with jbig)
- $(use_with jpeg)
- $(use_with jpeg2k openjp2)
- $(use_with lcms)
- $(use_with lqr)
- $(use_with lzma)
- $(use_with openexr)
- $(use_with pango)
- $(use_with png)
- $(use_with raw)
- $(use_with svg rsvg)
- $(use_with tiff)
- $(use_with webp)
- $(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
- $(use_with wmf)
- $(use_with xml)
- --with-gcc-arch=no-automagic
-
- # Default upstream (as of 6.9.12.96/7.1.1.18 anyway) is open
- # For now, let's make USE=hardened do 'limited', and have USE=-hardened
- # reflect the upstream default of 'open'.
- #
- # We might change it to 'secure' and 'limited' at some point.
- # See also bug #716674.
- --with-security-policy=$(usex hardened limited open)
- )
-
- CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # Install default (unrestricted) policy in ${HOME} for test suite, bug #664238
- local _im_local_config_home="${HOME}/.config/ImageMagick"
- mkdir -p "${_im_local_config_home}" || \
- die "Failed to create IM config dir in '${_im_local_config_home}'"
- cp "${FILESDIR}"/policy.test.xml "${_im_local_config_home}/policy.xml" || \
- die "Failed to install default blank policy.xml in '${_im_local_config_home}'"
-
- local im_command= IM_COMMANDS=()
- IM_COMMANDS+=( "identify -version | grep -q -- \"${MY_PV}\"" ) # Verify that we are using version we just built
- IM_COMMANDS+=( "identify -list policy" ) # Verify that policy.xml is used
- IM_COMMANDS+=( "emake check" ) # Run tests
-
- for im_command in "${IM_COMMANDS[@]}"; do
- eval "${S}"/magick.sh \
- ${im_command} || \
- die "Failed to run \"${im_command}\""
- done
-}
-
-src_install() {
- # Ensure documentation installation files and paths with each release!
- emake \
- DESTDIR="${D}" \
- DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
- install
-
- rm -f "${ED}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
- dodoc {AUTHORS,README}.txt
-
- if use perl; then
- find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
- find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
- fi
-
- find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
- # .la files in parent are not needed, keep plugin .la files
- find "${ED}"/usr/$(get_libdir)/ -maxdepth 1 -name "*.la" -delete || die
-
- if use opencl; then
- cat <<-EOF > "${T}"/99${PN}
- SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/card0:/dev/dri/renderD128"
- EOF
-
- insinto /etc/sandbox.d
- # bug #472766
- doins "${T}"/99${PN}
- fi
-
- insinto /usr/share/${PN}
- doins config/*icm
-}
diff --git a/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild b/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild
index 1b2db36a1bbf..3ee01ea4f7df 100644
--- a/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild
+++ b/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild
@@ -14,7 +14,7 @@ else
MY_PV="$(ver_rs 3 '-')"
MY_P="ImageMagick-${MY_PV}"
SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
fi
S="${WORKDIR}/${MY_P}"
diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.11.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.11.ebuild
deleted file mode 100644
index a4e1dd5cc61c..000000000000
--- a/media-gfx/imagemagick/imagemagick-7.1.1.11.ebuild
+++ /dev/null
@@ -1,281 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-QA_PKGCONFIG_VERSION=$(ver_cut 1-3)
-inherit autotools flag-o-matic perl-functions toolchain-funcs
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/ImageMagick/ImageMagick.git"
- inherit git-r3
- MY_P="imagemagick-9999"
-else
- MY_PV="$(ver_rs 3 '-')"
- MY_P="ImageMagick-${MY_PV}"
- SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="A collection of tools and libraries for many image formats"
-HOMEPAGE="https://www.imagemagick.org/"
-
-LICENSE="imagemagick"
-# Please check this on bumps, SONAME is often not updated! Use abidiff on old/new.
-# If ABI is broken, change the bit after the '-'.
-SLOT="0/$(ver_cut 1-3)-43"
-IUSE="bzip2 corefonts +cxx djvu fftw fontconfig fpx graphviz hdri heif jbig jpeg jpeg2k jpegxl lcms lqr lzma opencl openexr openmp pango perl +png postscript q32 q8 raw static-libs svg test tiff truetype webp wmf X xml zip zlib"
-
-REQUIRED_USE="corefonts? ( truetype )
- svg? ( xml )
- test? ( corefonts )"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !media-gfx/graphicsmagick[imagemagick]
- dev-libs/libltdl
- bzip2? ( app-arch/bzip2 )
- corefonts? ( media-fonts/corefonts )
- djvu? ( app-text/djvu )
- fftw? ( sci-libs/fftw:3.0 )
- fontconfig? ( media-libs/fontconfig )
- fpx? ( >=media-libs/libfpx-1.3.0-r1 )
- graphviz? ( media-gfx/graphviz )
- heif? ( media-libs/libheif:=[x265] )
- jbig? ( >=media-libs/jbigkit-2:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
- jpegxl? ( >=media-libs/libjxl-0.6:= )
- lcms? ( media-libs/lcms:2= )
- lqr? ( media-libs/liblqr )
- opencl? ( virtual/opencl )
- openexr? ( media-libs/openexr:0= )
- pango? ( x11-libs/pango )
- perl? ( >=dev-lang/perl-5.8.8:= )
- png? ( media-libs/libpng:= )
- postscript? ( app-text/ghostscript-gpl:= )
- raw? ( media-libs/libraw:= )
- svg? (
- gnome-base/librsvg
- media-gfx/potrace
- )
- tiff? ( media-libs/tiff:= )
- truetype? (
- media-fonts/urw-fonts
- >=media-libs/freetype-2
- )
- webp? ( media-libs/libwebp:= )
- wmf? ( media-libs/libwmf )
- X? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libXext
- x11-libs/libXt
- )
- xml? ( dev-libs/libxml2 )
- lzma? ( app-arch/xz-utils )
- zip? ( dev-libs/libzip:= )
- zlib? ( sys-libs/zlib:= )"
-DEPEND="${RDEPEND}
- X? ( x11-base/xorg-proto )"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${PN}-9999-nocputuning.patch"
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- default
-
- #elibtoolize # for Darwin modules
- eautoreconf
-
- # Apply hardening, bug #664236
- cp "${FILESDIR}"/policy-hardening.snippet "${S}" || die
- sed -i -e '/^<policymap>$/ {
- r policy-hardening.snippet
- d
- }' \
- config/policy.xml || \
- die "Failed to apply hardening of policy.xml"
- einfo "policy.xml hardened"
-
- # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
- local ati_cards mesa_cards nvidia_cards render_cards
- shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
- shopt -u nullglob
- addpredict /dev/nvidiactl
-}
-
-src_configure() {
- local depth=16
- use q8 && depth=8
- use q32 && depth=32
-
- use perl && perl_check_env
-
- [[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
-
- local myeconfargs=(
- $(use_enable static-libs static)
- $(use_enable hdri)
- $(use_enable opencl)
- $(use_enable openmp)
- --with-threads
- --with-modules
- --with-quantum-depth=${depth}
- $(use_with cxx magick-plus-plus)
- $(use_with perl)
- --with-perl-options='INSTALLDIRS=vendor'
- --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
- $(use_with bzip2 bzlib)
- $(use_with X x)
- $(use_with zip)
- $(use_with zlib)
- --without-autotrace
- $(use_with postscript dps)
- $(use_with djvu)
- --with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
- $(use_with fftw)
- $(use_with fpx)
- $(use_with fontconfig)
- $(use_with truetype freetype)
- $(use_with postscript gslib)
- $(use_with graphviz gvc)
- $(use_with heif heic)
- $(use_with jbig)
- $(use_with jpeg)
- $(use_with jpeg2k openjp2)
- $(use_with jpegxl jxl)
- $(use_with lcms)
- $(use_with lqr)
- $(use_with lzma)
- $(use_with openexr)
- $(use_with pango)
- $(use_with png)
- $(use_with raw)
- $(use_with svg rsvg)
- $(use_with tiff)
- $(use_with webp)
- $(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
- $(use_with wmf)
- $(use_with xml)
- )
-
- CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # Install default (unrestricted) policy in $HOME for test suite, bug #664238
- local _im_local_config_home="${HOME}/.config/ImageMagick"
- mkdir -p "${_im_local_config_home}" || \
- die "Failed to create IM config dir in '${_im_local_config_home}'"
- cp "${FILESDIR}"/policy.test.xml "${_im_local_config_home}/policy.xml" || \
- die "Failed to install default blank policy.xml in '${_im_local_config_home}'"
-
- local im_command= IM_COMMANDS=()
- if [[ ${PV} == 9999 ]] ; then
- IM_COMMANDS+=( "magick -version" ) # Show version we are using -- cannot verify because of live ebuild
- else
- IM_COMMANDS+=( "magick -version | grep -q -- \"${MY_PV}\"" ) # Verify that we are using version we just built
- fi
- IM_COMMANDS+=( "magick -list policy" ) # Verify that policy.xml is used
- IM_COMMANDS+=( "emake check" ) # Run tests
-
- for im_command in "${IM_COMMANDS[@]}"; do
- eval "${S}"/magick.sh \
- ${im_command} || \
- die "Failed to run \"${im_command}\""
- done
-}
-
-src_install() {
- # Ensure documentation installation files and paths with each release!
- emake \
- DESTDIR="${D}" \
- DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
- install
-
- rm -f "${ED}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
- dodoc {AUTHORS,README}.txt
-
- if use perl; then
- find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
- find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
- fi
-
- find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
- # .la files in parent are not needed, keep plugin .la files
- find "${ED}"/usr/$(get_libdir)/ -maxdepth 1 -name "*.la" -delete || die
-
- if use opencl; then
- cat <<-EOF > "${T}"/99${PN}
- SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/card0:/dev/dri/renderD128"
- EOF
-
- insinto /etc/sandbox.d
- doins "${T}"/99${PN} #472766
- fi
-
- insinto /usr/share/${PN}
- doins config/*icm
-}
-
-pkg_postinst() {
- local _show_policy_xml_notice=
-
- if [[ -z "${REPLACING_VERSIONS}" ]]; then
- # This is a new installation
- _show_policy_xml_notice=yes
- else
- local v
- for v in ${REPLACING_VERSIONS}; do
- if ! ver_test "${v}" -gt "7.0.8.10-r2"; then
- # This is an upgrade
- _show_policy_xml_notice=yes
-
- # Show this elog only once
- break
- fi
- done
- fi
-
- if [[ -n "${_show_policy_xml_notice}" ]]; then
- elog "For security reasons, a policy.xml file was installed in /etc/ImageMagick-7"
- elog "which will prevent the usage of the following coders by default:"
- elog ""
- elog " - PS"
- elog " - PS2"
- elog " - PS3"
- elog " - EPS"
- elog " - PDF"
- elog " - XPS"
- fi
-}
diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.24.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.24.ebuild
deleted file mode 100644
index 2a467e80834a..000000000000
--- a/media-gfx/imagemagick/imagemagick-7.1.1.24.ebuild
+++ /dev/null
@@ -1,253 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-QA_PKGCONFIG_VERSION=$(ver_cut 1-3)
-inherit autotools flag-o-matic perl-functions toolchain-funcs
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/ImageMagick/ImageMagick.git"
- inherit git-r3
- MY_P="imagemagick-9999"
-else
- MY_PV="$(ver_rs 3 '-')"
- MY_P="ImageMagick-${MY_PV}"
- SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-fi
-
-S="${WORKDIR}/${MY_P}"
-
-DESCRIPTION="A collection of tools and libraries for many image formats"
-HOMEPAGE="https://www.imagemagick.org/"
-
-LICENSE="imagemagick"
-# Please check this on bumps, SONAME is often not updated! Use abidiff on old/new.
-# If ABI is broken, change the bit after the '-'.
-SLOT="0/$(ver_cut 1-3)-18"
-IUSE="bzip2 corefonts +cxx djvu fftw fontconfig fpx graphviz hardened hdri heif jbig jpeg jpeg2k jpegxl lcms lqr lzma opencl openexr openmp pango perl +png postscript q32 q8 raw static-libs svg test tiff truetype webp wmf X xml zip zlib"
-
-REQUIRED_USE="
- corefonts? ( truetype )
- svg? ( xml )
- test? ( corefonts )
-"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- !media-gfx/graphicsmagick[imagemagick]
- dev-libs/libltdl
- bzip2? ( app-arch/bzip2 )
- corefonts? ( media-fonts/corefonts )
- djvu? ( app-text/djvu )
- fftw? ( sci-libs/fftw:3.0 )
- fontconfig? ( media-libs/fontconfig )
- fpx? ( >=media-libs/libfpx-1.3.0-r1 )
- graphviz? ( media-gfx/graphviz )
- heif? ( media-libs/libheif:=[x265] )
- jbig? ( >=media-libs/jbigkit-2:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2 )
- jpegxl? ( >=media-libs/libjxl-0.6:= )
- lcms? ( media-libs/lcms:2= )
- lqr? ( media-libs/liblqr )
- opencl? ( virtual/opencl )
- openexr? ( media-libs/openexr:0= )
- pango? ( x11-libs/pango )
- perl? ( >=dev-lang/perl-5.8.8:= )
- png? ( media-libs/libpng:= )
- postscript? ( app-text/ghostscript-gpl:= )
- raw? ( media-libs/libraw:= )
- svg? (
- gnome-base/librsvg
- media-gfx/potrace
- )
- tiff? ( media-libs/tiff:= )
- truetype? (
- media-fonts/urw-fonts
- >=media-libs/freetype-2
- )
- webp? ( media-libs/libwebp:= )
- wmf? ( media-libs/libwmf )
- X? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libXext
- x11-libs/libXt
- )
- xml? ( dev-libs/libxml2 )
- lzma? ( app-arch/xz-utils )
- zip? ( dev-libs/libzip:= )
- zlib? ( sys-libs/zlib:= )
-"
-DEPEND="
- ${RDEPEND}
- X? ( x11-base/xorg-proto )
-"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${PN}-7.1.1.24-c99.patch"
- "${FILESDIR}/${PN}-9999-nocputuning.patch"
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- default
-
- #elibtoolize # for Darwin modules
- eautoreconf
-
- # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
- local ati_cards mesa_cards nvidia_cards render_cards
- shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
- shopt -u nullglob
- addpredict /dev/nvidiactl
-}
-
-src_configure() {
- local depth=16
- use q8 && depth=8
- use q32 && depth=32
-
- use perl && perl_check_env
-
- [[ ${CHOST} == *-solaris* ]] && append-ldflags -lnsl -lsocket
-
- local myeconfargs=(
- $(use_enable static-libs static)
- $(use_enable hdri)
- $(use_enable opencl)
- $(use_enable openmp)
- --with-threads
- --with-modules
- --with-quantum-depth=${depth}
- $(use_with cxx magick-plus-plus)
- $(use_with perl)
- --with-perl-options='INSTALLDIRS=vendor'
- --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
- $(use_with bzip2 bzlib)
- $(use_with X x)
- $(use_with zip)
- $(use_with zlib)
- --without-autotrace
- $(use_with postscript dps)
- $(use_with djvu)
- --with-dejavu-font-dir="${EPREFIX}"/usr/share/fonts/dejavu
- $(use_with fftw)
- $(use_with fpx)
- $(use_with fontconfig)
- $(use_with truetype freetype)
- $(use_with postscript gslib)
- $(use_with graphviz gvc)
- $(use_with heif heic)
- $(use_with jbig)
- $(use_with jpeg)
- $(use_with jpeg2k openjp2)
- $(use_with jpegxl jxl)
- $(use_with lcms)
- $(use_with lqr)
- $(use_with lzma)
- $(use_with openexr)
- $(use_with pango)
- $(use_with png)
- $(use_with raw)
- $(use_with svg rsvg)
- $(use_with tiff)
- $(use_with webp)
- $(use_with corefonts windows-font-dir "${EPREFIX}"/usr/share/fonts/corefonts)
- $(use_with wmf)
- $(use_with xml)
-
- # Default upstream (as of 6.9.12.96/7.1.1.18 anyway) is open
- # For now, let's make USE=hardened do 'limited', and have USE=-hardened
- # reflect the upstream default of 'open'.
- #
- # We might change it to 'secure' and 'limited' at some point.
- # See also bug #716674.
- --with-security-policy=$(usex hardened limited open)
- )
-
- CONFIG_SHELL="${BROOT}"/bin/bash econf "${myeconfargs[@]}"
-}
-
-src_test() {
- # Install default (unrestricted) policy in $HOME for test suite, bug #664238
- local _im_local_config_home="${HOME}/.config/ImageMagick"
- mkdir -p "${_im_local_config_home}" || \
- die "Failed to create IM config dir in '${_im_local_config_home}'"
- cp "${FILESDIR}"/policy.test.xml "${_im_local_config_home}/policy.xml" || \
- die "Failed to install default blank policy.xml in '${_im_local_config_home}'"
-
- local im_command= IM_COMMANDS=()
- if [[ ${PV} == 9999 ]] ; then
- IM_COMMANDS+=( "magick -version" ) # Show version we are using -- cannot verify because of live ebuild
- else
- IM_COMMANDS+=( "magick -version | grep -q -- \"${MY_PV}\"" ) # Verify that we are using version we just built
- fi
- IM_COMMANDS+=( "magick -list policy" ) # Verify that policy.xml is used
- IM_COMMANDS+=( "emake check" ) # Run tests
-
- for im_command in "${IM_COMMANDS[@]}"; do
- eval "${S}"/magick.sh \
- ${im_command} || \
- die "Failed to run \"${im_command}\""
- done
-}
-
-src_install() {
- # Ensure documentation installation files and paths with each release!
- emake \
- DESTDIR="${D}" \
- DOCUMENTATION_PATH="${EPREFIX}"/usr/share/doc/${PF}/html \
- install
-
- rm -f "${ED}"/usr/share/doc/${PF}/html/{ChangeLog,LICENSE,NEWS.txt}
- dodoc {AUTHORS,README}.txt
-
- if use perl; then
- find "${ED}" -type f -name perllocal.pod -exec rm -f {} +
- find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} +
- fi
-
- find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} +
- # .la files in parent are not needed, keep plugin .la files
- find "${ED}"/usr/$(get_libdir)/ -maxdepth 1 -name "*.la" -delete || die
-
- if use opencl; then
- cat <<-EOF > "${T}"/99${PN}
- SANDBOX_PREDICT="/dev/nvidiactl:/dev/nvidia-uvm:/dev/ati/card:/dev/dri/card:/dev/dri/card0:/dev/dri/renderD128"
- EOF
-
- insinto /etc/sandbox.d
- doins "${T}"/99${PN} #472766
- fi
-
- insinto /usr/share/${PN}
- doins config/*icm
-}
diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.25.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.25.ebuild
index 013b431c3ab9..328808618479 100644
--- a/media-gfx/imagemagick/imagemagick-7.1.1.25.ebuild
+++ b/media-gfx/imagemagick/imagemagick-7.1.1.25.ebuild
@@ -14,7 +14,7 @@ else
MY_PV="$(ver_rs 3 '-')"
MY_P="ImageMagick-${MY_PV}"
SRC_URI="mirror://imagemagick/${MY_P}.tar.xz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
fi
S="${WORKDIR}/${MY_P}"
diff --git a/media-gfx/imageworsener/files/imageworsener-1.3.5-runtest-exit-code.patch b/media-gfx/imageworsener/files/imageworsener-1.3.5-runtest-exit-code.patch
new file mode 100644
index 000000000000..8c62638a1e28
--- /dev/null
+++ b/media-gfx/imageworsener/files/imageworsener-1.3.5-runtest-exit-code.patch
@@ -0,0 +1,24 @@
+https://bugs.gentoo.org/916906
+https://github.com/jsummers/imageworsener/issues/47
+https://github.com/jsummers/imageworsener/pull/46
+
+From 91c7c79d86f55920193d17a7b87631b14ac7779f Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Mon, 15 Jan 2024 22:26:45 -0500
+Subject: [PATCH] Pass diff exit code up to shell for test suite
+
+Right now, test failures are not getting detected because the runtests
+script does not pass up a failing exit code from diff.
+---
+ tests/runtest | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/tests/runtest b/tests/runtest
+index 6db7b6c..3f534dc 100755
+--- a/tests/runtest
++++ b/tests/runtest
+@@ -334,3 +334,4 @@ then
+ echo "All tests passed."
+ fi
+
++exit $RET
diff --git a/media-gfx/imageworsener/imageworsener-1.3.5.ebuild b/media-gfx/imageworsener/imageworsener-1.3.5.ebuild
index 022b3e345100..56b38461c5fb 100644
--- a/media-gfx/imageworsener/imageworsener-1.3.5.ebuild
+++ b/media-gfx/imageworsener/imageworsener-1.3.5.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://entropymine.com/${PN}/${P}.tar.gz"
LICENSE="MIT"
SLOT="0/3" # because of libimageworsener.so.3.*.*
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="jpeg png static-libs test webp zlib"
DEPEND="png? ( media-libs/libpng:0 )
@@ -22,7 +22,9 @@ DEPEND="png? ( media-libs/libpng:0 )
RDEPEND="${DEPEND}"
REQUIRED_USE="test? ( jpeg png webp zlib )"
-RESTRICT="!test? ( test )"
+RESTRICT="test"
+
+PATCHES=( "${FILESDIR}/${PN}-1.3.5-runtest-exit-code.patch" )
src_configure() {
local switch=''
@@ -44,5 +46,5 @@ src_install() {
src_test() {
cd "${S}"/tests || die
- ./runtest "${S}"/${MY_PN}
+ ./runtest "${S}"/${MY_PN} || die
}
diff --git a/media-gfx/imv/Manifest b/media-gfx/imv/Manifest
index 34f402d633b0..97bb550ff9d7 100644
--- a/media-gfx/imv/Manifest
+++ b/media-gfx/imv/Manifest
@@ -1,2 +1 @@
-DIST imv-4.4.0.tar.gz 80360 BLAKE2B c598bb270ed57562f1c1b9a56f42676a7c8390c976ed74405228da572b000a85bf69e51f1bbfa6d554a481debc092995fe5222ba1e8b0b029b72395a8b8f329b SHA512 ddc0740022183a5467a0815ca623d2204b26449fee14b00c3468d06dbba3b5c3314b04a582bbac6075205f8d58cc24f157e283ce1ce3d34ecf0a9bdc497ab7f1
DIST imv-4.5.0.tar.gz 82559 BLAKE2B 100174071049ee711a868832ea297cc7fd43450145db9e71a631afb97d7d77574f37501b749734f47b3f2699d159ed05e5159fd9060c6f0a5de18b92708d9e9c SHA512 5a192e1721b4752ba98de23e4a709904f43cce6954d1bc4a8feb5fb4921b46d497915fb7b2885cf87a65983fe2727c856d6c0c8b0cca2906e4b069e4a4f9c417
diff --git a/media-gfx/imv/imv-4.4.0-r1.ebuild b/media-gfx/imv/imv-4.4.0-r1.ebuild
deleted file mode 100644
index 8505093dd356..000000000000
--- a/media-gfx/imv/imv-4.4.0-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson xdg
-
-DESCRIPTION="Minimal image viewer designed for tiling window manager users"
-HOMEPAGE="https://sr.ht/~exec64/imv/"
-SRC_URI="https://git.sr.ht/~exec64/imv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-v${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="+X +freeimage gif heif icu jpeg png svg test tiff wayland"
-REQUIRED_USE="|| ( X wayland )"
-RESTRICT="!test? ( test )"
-
-# bug #922496 wrt nsgif, kept for now but USE can be masked if old nsgif
-# removal is wanted (freeimage[gif] still allows non-animated gif display)
-RDEPEND="
- dev-libs/glib:2
- dev-libs/inih
- media-libs/libglvnd[X?]
- x11-libs/cairo
- x11-libs/libxkbcommon[X?]
- x11-libs/pango
- X? (
- x11-libs/libX11
- x11-libs/libxcb:=
- )
- freeimage? ( media-libs/freeimage )
- gif? ( <media-libs/libnsgif-1:= )
- heif? ( media-libs/libheif:= )
- icu? ( dev-libs/icu:= )
- !icu? ( >=dev-libs/libgrapheme-2:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- png? ( media-libs/libpng:= )
- svg? ( >=gnome-base/librsvg-2.44:2 )
- tiff? ( media-libs/tiff:= )
- wayland? ( dev-libs/wayland )
- !sys-apps/renameutils"
-DEPEND="
- ${RDEPEND}
- X? ( x11-base/xorg-proto )
- test? ( dev-util/cmocka )"
-BDEPEND="
- app-text/asciidoc
- wayland? ( dev-util/wayland-scanner )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.3.1_p20211221-animated-gif.patch
-)
-
-src_prepare() {
- default
-
- # if wayland-only, don't automagic on libGL and force libOpenGL
- if ! use X; then
- sed -i "/dependency('gl'/{s/'gl'/'opengl'/;s/false/true/}" meson.build || die
- fi
-
- # glu isn't used by anything
- sed -i "/dependency('glu')/d" meson.build || die
-}
-
-src_configure() {
- local emesonargs=(
- $(meson_feature freeimage)
- $(meson_feature gif libnsgif)
- $(meson_feature heif libheif)
- $(meson_feature jpeg libjpeg)
- $(meson_feature png libpng)
- $(meson_feature svg librsvg)
- $(meson_feature test)
- $(meson_feature tiff libtiff)
- -Dunicode=$(usex icu{,} grapheme)
- -Dwindows=$(usex X $(usex wayland all x11) wayland)
- )
-
- meson_src_configure
-}
diff --git a/media-gfx/imv/imv-4.5.0.ebuild b/media-gfx/imv/imv-4.5.0.ebuild
index 51d558ef4fe1..9eb40420723d 100644
--- a/media-gfx/imv/imv-4.5.0.ebuild
+++ b/media-gfx/imv/imv-4.5.0.ebuild
@@ -12,7 +12,7 @@ S=${WORKDIR}/${PN}-v${PV}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
IUSE="+X +freeimage gif heif icu jpeg jpegxl png svg test tiff wayland"
REQUIRED_USE="|| ( X wayland )"
RESTRICT="!test? ( test )"
diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest
index beebd4bf54b8..53dccb520d73 100644
--- a/media-gfx/inkscape/Manifest
+++ b/media-gfx/inkscape/Manifest
@@ -1,2 +1 @@
-DIST inkscape-1.2.2.tar.xz 39392040 BLAKE2B 7a4f0e42d1d8b67f42b924c760be484156e210e5661dc48408c992cbef5e0ac997a468cf1263e5c14cd5c0c0a83345e77055ff59fd7fb2d01b2d196f42a9e858 SHA512 b3e95f7d45612140b38c95fd758b051c27b0ed55bac7e7980c0491d3ba94c62edd7f0b27034314388bf74faf2046d829f36d2f6745cb4a54fb43b8b684df235f
DIST inkscape-1.3.2.tar.xz 44720944 BLAKE2B 24120f8c671e1fb54bb6626cab95e7086e3c60fbc117bbe8017d081c799bc26812b1286e670771e7ffe88720ba25f237146c452afaf65c1ee2ee554fb07f79a2 SHA512 a6da4b676ba3e7f954f95e3916ce78ce358b49c8052795a52d478064ef02eeae0337b0a94e89b9752ea6824a5758d28072c2bbf83f1e9ee28daebd3b0ef87343
diff --git a/media-gfx/inkscape/files/inkscape-1.2.2-fix-compile.patch b/media-gfx/inkscape/files/inkscape-1.2.2-fix-compile.patch
deleted file mode 100644
index c219a6e45273..000000000000
--- a/media-gfx/inkscape/files/inkscape-1.2.2-fix-compile.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-https://src.fedoraproject.org/rpms/inkscape/blob/rawhide/f/0001-Fix-build-with-GCC13.patch
-https://gitlab.com/inkscape/inkscape/-/merge_requests/5108
-https://gitlab.com/inkscape/inkscape/-/merge_requests/5111 (version which got accepted upstream)
-https://bugs.gentoo.org/903867
-
-From c68f5f9cade8a890efefcb4c2e0fc57762211286 Mon Sep 17 00:00:00 2001
-From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
-Date: Fri, 24 Feb 2023 14:01:18 -0500
-Subject: [PATCH] Fix build with GCC13
-
-GCC 13 now complains about this line:
-```
-src/ui/widget/selected-style.cpp:111:6: error: statement-expressions are not allowed outside functions nor in template-argument lists
- 111 | {g_strdup("application/x-oswb-color"), 0, APP_OSWB_COLOR}
- | ^~~~~~~~
-```
-
-However, it is not necessary to strdup the string constant as the value
-just needs to exist indefinitely, and it will as a constant. While C
-doesn't mind the `const` difference, a simple cast will silence C++'s
-higher strictness.
-
-And in fact, the other use of `GtkTargetEntry` in
-`src/ui/drag-and-drop.cpp` does the same cast.
-
-Signed-off-by: Elliott Sales de Andrade <quantum.analyst@gmail.com>
---- a/src/ui/widget/selected-style.cpp
-+++ b/src/ui/widget/selected-style.cpp
-@@ -100,14 +100,8 @@ enum ui_drop_target_info {
- APP_OSWB_COLOR
- };
-
--//TODO: warning: deprecated conversion from string constant to ‘gchar*’
--//
--//Turn out to be warnings that we should probably leave in place. The
--// pointers/types used need to be read-only. So until we correct the using
--// code, those warnings are actually desired. They say "Hey! Fix this". We
--// definitely don't want to hide/ignore them. --JonCruz
- static const GtkTargetEntry ui_drop_target_entries [] = {
-- {g_strdup("application/x-oswb-color"), 0, APP_OSWB_COLOR}
-+ {(gchar *)"application/x-oswb-color", 0, APP_OSWB_COLOR}
- };
-
- static guint nui_drop_target_entries = G_N_ELEMENTS(ui_drop_target_entries);
---
-2.39.2
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch
new file mode 100644
index 000000000000..53cf3fd2b6cd
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch
@@ -0,0 +1,61 @@
+From 3dd9846ab99260134e11938f0e575be822507037 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 4 Mar 2024 22:59:40 +0100
+Subject: [PATCH] Fix build with >=poppler-24.03.0
+
+Fixes build errors caused by:
+
+"Use an enum for Function getType"
+Upstream commit 6e3824d45d42cb806a28a2df84e4ab6bb3587083
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ src/extension/internal/pdfinput/svg-builder.cpp | 14 +++++++++++++-
+ 1 file changed, 13 insertions(+), 1 deletion(-)
+
+diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
+index 525fbfec0..bcd7b1f61 100644
+--- a/src/extension/internal/pdfinput/svg-builder.cpp
++++ b/src/extension/internal/pdfinput/svg-builder.cpp
+@@ -1175,9 +1175,13 @@ static bool svgGetShadingColor(GfxShading *shading, double offset, GfxColor *res
+ #define INT_EPSILON 8
+ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading,
+ _POPPLER_CONST Function *func) {
+- int type = func->getType();
++ auto type = func->getType();
+ auto space = shading->getColorSpace();
++#if POPPLER_CHECK_VERSION(24, 3, 0)
++ if ( type == Function::Type::Sampled || type == Function::Type::Exponential ) { // Sampled or exponential function
++#else
+ if ( type == 0 || type == 2 ) { // Sampled or exponential function
++#endif
+ GfxColor stop1, stop2;
+ if (!svgGetShadingColor(shading, 0.0, &stop1) || !svgGetShadingColor(shading, 1.0, &stop2)) {
+ return false;
+@@ -1185,7 +1189,11 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh
+ _addStopToGradient(gradient, 0.0, &stop1, space, 1.0);
+ _addStopToGradient(gradient, 1.0, &stop2, space, 1.0);
+ }
++#if POPPLER_CHECK_VERSION(24, 3, 0)
++ } else if ( type == Function::Type::Stitching ) { // Stitching
++#else
+ } else if ( type == 3 ) { // Stitching
++#endif
+ auto stitchingFunc = static_cast<_POPPLER_CONST StitchingFunction*>(func);
+ const double *bounds = stitchingFunc->getBounds();
+ const double *encode = stitchingFunc->getEncode();
+@@ -1200,7 +1208,11 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh
+ for ( int i = 0 ; i < num_funcs ; i++ ) {
+ svgGetShadingColor(shading, bounds[i + 1], &color);
+ // Add stops
++#if POPPLER_CHECK_VERSION(24, 3, 0)
++ if (stitchingFunc->getFunc(i)->getType() == Function::Type::Exponential) { // process exponential fxn
++#else
+ if (stitchingFunc->getFunc(i)->getType() == 2) { // process exponential fxn
++#endif
+ double expE = (static_cast<_POPPLER_CONST ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE();
+ if (expE > 1.0) {
+ expE = (bounds[i + 1] - bounds[i])/expE; // approximate exponential as a single straight line at x=1
+--
+2.44.0
+
diff --git a/media-gfx/inkscape/inkscape-1.2.2-r4.ebuild b/media-gfx/inkscape/inkscape-1.2.2-r4.ebuild
deleted file mode 100644
index c3246f097c88..000000000000
--- a/media-gfx/inkscape/inkscape-1.2.2-r4.ebuild
+++ /dev/null
@@ -1,195 +0,0 @@
-# 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="xml(+)"
-MY_P="${P/_/}"
-inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1
-
-if [[ ${PV} = 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git"
-else
- SRC_URI="https://media.inkscape.org/dl/resources/file/${P}.tar.xz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-DESCRIPTION="SVG based generic vector-drawing program"
-HOMEPAGE="https://inkscape.org/ https://gitlab.com/inkscape/inkscape/"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="cdr dia exif graphicsmagick imagemagick inkjar jemalloc jpeg openmp postscript readline spell svg2 test visio wpg X"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-# Lots of test failures which need investigating, bug #871621
-RESTRICT="!test? ( test ) test"
-
-BDEPEND="
- dev-util/glib-utils
- >=sys-devel/gettext-0.17
- virtual/pkgconfig
- test? ( virtual/imagemagick-tools )
-"
-COMMON_DEPEND="${PYTHON_DEPS}
- >=app-text/poppler-0.57.0:=[cairo]
- >=dev-cpp/cairomm-1.12:0
- >=dev-cpp/glibmm-2.54.1:2
- dev-cpp/gtkmm:3.0
- >=dev-cpp/pangomm-2.40:1.4
- >=dev-libs/boehm-gc-7.1:=
- dev-libs/boost:=
- dev-libs/double-conversion:=
- >=dev-libs/glib-2.41
- >=dev-libs/libsigc++-2.8:2
- >=dev-libs/libxml2-2.7.4
- >=dev-libs/libxslt-1.1.25
- dev-libs/popt
- media-gfx/potrace
- media-libs/fontconfig
- media-libs/freetype:2
- media-libs/lcms:2
- media-libs/libpng:0=
- net-libs/libsoup:2.4
- sci-libs/gsl:=
- >=x11-libs/pango-1.44
- x11-libs/gtk+:3[X?]
- X? ( x11-libs/libX11 )
- $(python_gen_cond_dep '
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/cachecontrol[${PYTHON_USEDEP}]
- dev-python/cssselect[${PYTHON_USEDEP}]
- dev-python/lockfile[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- media-gfx/scour[${PYTHON_USEDEP}]
- ')
- cdr? (
- app-text/libwpg:0.3
- dev-libs/librevenge
- media-libs/libcdr
- )
- exif? ( media-libs/libexif )
- imagemagick? (
- !graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
- graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
- )
- jemalloc? ( dev-libs/jemalloc )
- jpeg? ( media-libs/libjpeg-turbo:= )
- readline? ( sys-libs/readline:= )
- spell? ( app-text/gspell )
- visio? (
- app-text/libwpg:0.3
- dev-libs/librevenge
- media-libs/libvisio
- )
- wpg? (
- app-text/libwpg:0.3
- dev-libs/librevenge
- )
-"
-# These only use executables provided by these packages
-# See share/extensions for more details. inkscape can tell you to
-# install these so we could of course just not depend on those and rely
-# on that.
-RDEPEND="${COMMON_DEPEND}
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ')
- dia? ( app-office/dia )
- postscript? ( app-text/ghostscript-gpl )
-"
-DEPEND="${COMMON_DEPEND}
- test? ( dev-cpp/gtest )
-"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.2.2-fix-compile.patch
- "${FILESDIR}"/${PN}-1.3.2-libxml2-2.12.patch
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = 9999* ]]; then
- git-r3_src_unpack
- else
- default
- fi
- [[ -d "${S}" ]] || mv -v "${WORKDIR}/${P}_202"?-??-* "${S}" || die
-}
-
-src_prepare() {
- cmake_src_prepare
- sed -i "/install.*COPYING/d" CMakeScripts/ConfigCPack.cmake || die
-}
-
-src_configure() {
- # aliasing unsafe wrt #310393
- append-flags -fno-strict-aliasing
-
- local mycmakeargs=(
- # -DWITH_LPETOOL # Compile with LPE Tool and experimental LPEs enabled
- -DWITH_NLS=ON
- -DENABLE_POPPLER=ON
- -DENABLE_POPPLER_CAIRO=ON
- -DWITH_PROFILING=OFF
- -DWITH_INTERNAL_2GEOM=ON
- -DBUILD_TESTING=$(usex test)
- -DWITH_LIBCDR=$(usex cdr)
- -DWITH_IMAGE_MAGICK=$(usex imagemagick $(usex !graphicsmagick)) # requires ImageMagick 6, only IM must be enabled
- -DWITH_GRAPHICS_MAGICK=$(usex graphicsmagick $(usex imagemagick)) # both must be enabled to use GraphicsMagick
- -DWITH_GNU_READLINE=$(usex readline)
- -DWITH_GSPELL=$(usex spell)
- -DWITH_JEMALLOC=$(usex jemalloc)
- -DENABLE_LCMS=ON
- -DWITH_OPENMP=$(usex openmp)
- -DBUILD_SHARED_LIBS=ON
- -DWITH_SVG2=$(usex svg2)
- -DWITH_LIBVISIO=$(usex visio)
- -DWITH_LIBWPG=$(usex wpg)
- -DWITH_X11=$(usex X)
- )
-
- cmake_src_configure
-}
-
-src_test() {
- local myctestargs=(
- # render_text*: needs patched Cairo / maybe upstream changes
- # not yet in a release.
- # test_lpe/test_lpe64: precision differences b/c of new GCC?
- # cli_export-png-color-mode-gray-8_png_check_output: ditto?
- -E "(render_test-use|render_test-glyph-y-pos|render_text-glyphs-combining|render_text-glyphs-vertical|render_test-rtl-vertical|test_lpe|test_lpe64|cli_export-png-color-mode-gray-8_png_check_output)"
- )
-
- cmake_src_test -j1
-}
-
-src_install() {
- cmake_src_install
-
- find "${ED}" -type f -name "*.la" -delete || die
-
- find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.bz2' -exec bzip2 -d {} \; || die
-
- find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.gz' -exec gzip -d {} \; || die
-
- local extdir="${ED}"/usr/share/${PN}/extensions
-
- if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then
- python_optimize "${ED}"/usr/share/${PN}/extensions
- fi
-
- # Empty directory causes sandbox issues, see bug #761915
- rm -r "${ED}/usr/share/inkscape/fonts" || die "Failed to remove fonts directory."
-}
diff --git a/media-gfx/inkscape/inkscape-1.3.2.ebuild b/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild
index a59e5ee19170..f746f1a32d60 100644
--- a/media-gfx/inkscape/inkscape-1.3.2.ebuild
+++ b/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild
@@ -3,11 +3,12 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="xml(+)"
-MY_P="${P/_/}"
+
inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1
+MY_P="${P/_/}"
DESCRIPTION="SVG based generic vector-drawing program"
HOMEPAGE="https://inkscape.org/ https://gitlab.com/inkscape/inkscape/"
@@ -16,7 +17,7 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git"
else
SRC_URI="https://media.inkscape.org/dl/resources/file/${P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
fi
S="${WORKDIR}/${MY_P}"
@@ -63,8 +64,10 @@ 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}]
media-gfx/scour[${PYTHON_USEDEP}]
')
cdr? (
@@ -107,7 +110,8 @@ DEPEND="${COMMON_DEPEND}
"
PATCHES=(
- "${FILESDIR}"/${PN}-1.3.2-libxml2-2.12.patch
+ "${FILESDIR}"/${P}-libxml2-2.12.patch
+ "${FILESDIR}"/${P}-poppler-24.03.patch
)
pkg_pretend() {
@@ -134,7 +138,9 @@ src_prepare() {
}
src_configure() {
- # aliasing unsafe wrt #310393
+ # ODR violation (https://gitlab.com/inkscape/lib2geom/-/issues/71, bug #859628)
+ filter-lto
+ # Aliasing unsafe (bug #310393)
append-flags -fno-strict-aliasing
local mycmakeargs=(
@@ -190,14 +196,12 @@ src_install() {
cmake_src_install
find "${ED}" -type f -name "*.la" -delete || die
-
find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.bz2' -exec bzip2 -d {} \; || die
-
find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.gz' -exec gzip -d {} \; || die
local extdir="${ED}"/usr/share/${PN}/extensions
-
if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then
+ python_fix_shebang "${ED}"/usr/share/${PN}/extensions
python_optimize "${ED}"/usr/share/${PN}/extensions
fi
diff --git a/media-gfx/inkscape/inkscape-9999.ebuild b/media-gfx/inkscape/inkscape-9999.ebuild
index 698236284069..b91ba44ceda8 100644
--- a/media-gfx/inkscape/inkscape-9999.ebuild
+++ b/media-gfx/inkscape/inkscape-9999.ebuild
@@ -3,11 +3,12 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
PYTHON_REQ_USE="xml(+)"
-MY_P="${P/_/}"
+
inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1
+MY_P="${P/_/}"
DESCRIPTION="SVG based generic vector-drawing program"
HOMEPAGE="https://inkscape.org/ https://gitlab.com/inkscape/inkscape/"
@@ -63,8 +64,10 @@ 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}]
media-gfx/scour[${PYTHON_USEDEP}]
')
cdr? (
@@ -130,7 +133,9 @@ src_prepare() {
}
src_configure() {
- # aliasing unsafe wrt #310393
+ # ODR violation (https://gitlab.com/inkscape/lib2geom/-/issues/71, bug #859628)
+ filter-lto
+ # Aliasing unsafe (bug #310393)
append-flags -fno-strict-aliasing
local mycmakeargs=(
@@ -185,14 +190,12 @@ src_install() {
cmake_src_install
find "${ED}" -type f -name "*.la" -delete || die
-
find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.bz2' -exec bzip2 -d {} \; || die
-
find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.gz' -exec gzip -d {} \; || die
local extdir="${ED}"/usr/share/${PN}/extensions
-
if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then
+ python_fix_shebang "${ED}"/usr/share/${PN}/extensions
python_optimize "${ED}"/usr/share/${PN}/extensions
fi
diff --git a/media-gfx/iscan/metadata.xml b/media-gfx/iscan/metadata.xml
index 1b0335cc0339..0c4a31e7a4ac 100644
--- a/media-gfx/iscan/metadata.xml
+++ b/media-gfx/iscan/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>marcin.deranek@slonko.net</email>
- <name>Marcin Deranek</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription lang="en">
Image Scan! is a graphical scanner utility for people that do not need all
the bells and whistles provided by several of the other utilities out there
@@ -16,4 +9,7 @@
scanners and all-in-ones. However, the scanner driver it provides can
be used by any other SANE standard compliant scanner utility.
</longdescription>
+ <upstream>
+ <remote-id type="gitlab">utsushi/utsushi</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-gfx/jhead/Manifest b/media-gfx/jhead/Manifest
index 088685d71f13..6a884cfb9bdd 100644
--- a/media-gfx/jhead/Manifest
+++ b/media-gfx/jhead/Manifest
@@ -1 +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
new file mode 100644
index 000000000000..edf19da410dc
--- /dev/null
+++ b/media-gfx/jhead/files/jhead-3.08-fix-makefile.patch
@@ -0,0 +1,42 @@
+--- a/makefile
++++ b/makefile
+@@ -8,11 +8,15 @@ MANDIR=$(PREFIX)/share/man/man1
+ OBJ=obj
+ SRC=.
+
+-DPKG_BUILDFLAGS := $(shell command -v dpkg-buildflags 2> /dev/null)
+-ifdef DPKG_BUILDFLAGS
+-CFLAGS:=$(shell dpkg-buildflags --get CFLAGS)
+-LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
+-endif
++CFLAGS ?= -O2
++LFLAGS += -fPIC -shared -Wl,-soname,libjhead.so.1
++
++TARGET = libjhead.so.1.0.0
++TARGET0 = libjhead.so
++TARGET1 = libjhead.so.1
++TARGET2 = libjhead.so.1.0
++
+++all: objdir jhead $(TARGET)
+
+ # To enable electric fence, set ELECTRIC_FENCE=1
+ ifeq ($(ELECTRIC_FENCE),1)
+@@ -31,7 +35,7 @@ objs = $(OBJ)/jhead.o $(OBJ)/jpgfile.o $(OBJ)/jpgqguess.o $(OBJ)/paths.o \
+ $(OBJ)/exif.o $(OBJ)/iptc.o $(OBJ)/gpsinfo.o $(OBJ)/makernote.o
+
+ $(OBJ)/%.o:$(SRC)/%.c objdir
+- ${CC} $(CFLAGS) $(CPPFLAGS) -c $< -o $@
++ ${CC} -fPIC $(CFLAGS) $(CPPFLAGS) -c $< -o $@
+
+ jhead: $(objs) jhead.h
+ ${CC} $(LDFLAGS) -o jhead $(objs) -lm
+@@ -44,3 +48,9 @@ install: all
+ install -m 0755 jhead $(BINDIR)
+ install -m 0644 $(docs) $(DOCDIR)
+ install -m 0644 jhead.1 $(MANDIR)
++
++$(TARGET): $(objs) jhead
++ ${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-r1.ebuild b/media-gfx/jhead/jhead-3.08-r1.ebuild
new file mode 100644
index 000000000000..3522816be291
--- /dev/null
+++ b/media-gfx/jhead/jhead-3.08-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+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}"/${PN}-3.08-fix-makefile.patch
+)
+
+src_compile() {
+ # Older codebase with aliasing violations (bug #890252)
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ 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
+ docinto html
+ dodoc *.html
+ doman ${PN}.1
+ doheader ${PN}.h
+ dolib.so lib${PN}.so*
+}
diff --git a/media-gfx/jp2a/Manifest b/media-gfx/jp2a/Manifest
index 441d5b294792..ee52e4002079 100644
--- a/media-gfx/jp2a/Manifest
+++ b/media-gfx/jp2a/Manifest
@@ -1 +1 @@
-DIST jp2a-1.1.1.tar.gz 628052 BLAKE2B 7f999ff1c7f32b02007a8d0a2d5f1aed4d77a3e9ed6711566faf0169e8d0eb842b3b118c36671a98abd8ccbad100eace4f1053b6dc795071f30e70052488f141 SHA512 898141c4b2847049cc312995a4b18d0de3f62bf9cf5c45050df01007de42486c706ab4b63a30f13828807d7bf01680a0e391304d03ba2087a481d86668773dba
+DIST jp2a-1.1.1.tar.bz2 525678 BLAKE2B 82e4717acb27596ca789681d288767cd602207b56e4f4afbffe5a1a107d67e0bc2b61dadd3769963eff34d3d8a1546741a069cfa7dfe40c9d3486cac6ccb29d6 SHA512 92234100e43c542f468ce586fb1c3f975c2492b80062ea5871f0eb02351b26b7f56bd5567d4d2e3bcec1ea66ebae22623d7d973c3bc794dd99c819efcae983cd
diff --git a/media-gfx/jp2a/jp2a-1.1.1.ebuild b/media-gfx/jp2a/jp2a-1.1.1.ebuild
index 366bd17edf29..2696e5ec3b0f 100644
--- a/media-gfx/jp2a/jp2a-1.1.1.ebuild
+++ b/media-gfx/jp2a/jp2a-1.1.1.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="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.gz"
+SRC_URI="https://github.com/Talinx/jp2a/releases/download/v${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild b/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild
index 50019568af9d..e540930d599f 100644
--- a/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild
+++ b/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="JPEG to AVI/MJPEG animation command-line conversion tool"
HOMEPAGE="https://sourceforge.net/projects/jpegtoavi/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/media-gfx/kgraphviewer/Manifest b/media-gfx/kgraphviewer/Manifest
index 1680fa0d5e40..913884586af4 100644
--- a/media-gfx/kgraphviewer/Manifest
+++ b/media-gfx/kgraphviewer/Manifest
@@ -1 +1,2 @@
DIST kgraphviewer-2.4.3.tar.xz 1491328 BLAKE2B b51cf825ad4763538139f917a7d16d15a7244c19b3cab9c79bbd938ee3dd80e4e35e37012199e1256bcc9a9404d756cdb0f5ffb975484d527577c208ecf1d3fa SHA512 d18146ba380efe73e1ec716dd1cc310fe1eac23eccb10e2a699b107451637b9332cc25d62a4de762df4706cea182c9474ba1e885801c9832e1bb9bff1648e72d
+DIST kgraphviewer-2.5.0.tar.xz 1571364 BLAKE2B 77a749f6b2c7707e26993685445fac679067b1188a5e2bf974d99ddc89844eeea19de9fbdf86b9c0738a95515c3a5155743df4232167e24350c8d356ea96f6e3 SHA512 80056703cd42b709925b771fe4bafe17771954705a607d6c352a0818c726bc7b48d299fffd7f3d2f75ac498059f79923d4de468db20f8538554c4d6b8baffedb
diff --git a/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild b/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild
new file mode 100644
index 000000000000..d8fd97400f04
--- /dev/null
+++ b/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+KFMIN=6.1.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Graphviz dot graph file viewer"
+HOMEPAGE="https://apps.kde.org/kgraphviewer/"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2 GPL-2+ LGPL-2+ LGPL-2.1+ handbook? ( FDL-1.2 )"
+SLOT="0"
+IUSE=""
+
+COMMON_DEPEND="
+ >=dev-qt/qt5compat-${QTMIN}:6
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kparts-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=media-gfx/graphviz-2.30
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/boost
+"
+RDEPEND="${COMMON_DEPEND}
+ !${CATEGORY}/${PN}:5
+"
diff --git a/media-gfx/krita/krita-5.1.5.ebuild b/media-gfx/krita/krita-5.1.5.ebuild
index 3c49122dc318..854bb12e9593 100644
--- a/media-gfx/krita/krita-5.1.5.ebuild
+++ b/media-gfx/krita/krita-5.1.5.ebuild
@@ -4,7 +4,7 @@
EAPI=8
ECM_TEST="forceoptional"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
KFMIN=5.82.0
QTMIN=5.15.5
VIRTUALX_REQUIRED="test"
diff --git a/media-gfx/libbgcode/Manifest b/media-gfx/libbgcode/Manifest
index edb43024b6f7..363dcfc43d1d 100644
--- a/media-gfx/libbgcode/Manifest
+++ b/media-gfx/libbgcode/Manifest
@@ -1 +1 @@
-DIST libbgcode-0.0.20231116.tar.gz 455134 BLAKE2B 63c37b7a8189ef5f14539d6e32cc442b91e65a8e0047c1d7cc2b6970a31b2aa02c212c7ed7dec4497392755d64550a28652b04746eaef279d4fb4a8ec58aac12 SHA512 605110a0e4ca16fd497dbe8b15f9794a75c19d5d5367320ddacaa621eb1a4370fcc5b8a799440d8b449774595c5bcbcd2d96fcb574707da475ef85764f9760d3
+DIST libbgcode-0.0.20240328.tar.gz 456463 BLAKE2B 7b9995e94d8f5081723ef435ef9bfe5ca75fbd09d2a8f5e6ff786fb5c4c9d6079a7f5a0b0d537b3b8a044c7126258e31ac411ef6a5aff287bf490672257506ee SHA512 13d5fe20b1faee5068a3c385041a680de5cdcec7fc34bc3f28c52bdab4d6b9e6170ad5ce5bb78399e956fc7f3fb5409e8e4adf0ff4850be686b3caf4d76ee3aa
diff --git a/media-gfx/libbgcode/libbgcode-0.0.20231116.ebuild b/media-gfx/libbgcode/libbgcode-0.0.20240328.ebuild
index c0cf7e5f4299..93a7ed159461 100644
--- a/media-gfx/libbgcode/libbgcode-0.0.20231116.ebuild
+++ b/media-gfx/libbgcode/libbgcode-0.0.20240328.ebuild
@@ -5,23 +5,31 @@ EAPI=8
inherit cmake
-LIBBGCODE_COMMIT=bc390aab4427589a6402b4c7f65cf4d0a8f987ec
+LIBBGCODE_COMMIT=8ae75bd0eea622f0e34cae311b3bd065b55eae9b
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"
+KEYWORDS="amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
-DEPEND="
- >=dev-libs/boost-1.82
+RDEPEND="
>=dev-libs/heatshrink-0.4.1
- >=dev-cpp/catch-2.13:0
- <dev-cpp/catch-3:0
- >=dev-python/pybind11-2.11
+ >=sys-libs/zlib-1.0
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ test? ( =dev-cpp/catch-2*:0 )
"
-RDEPEND="${DEPEND}"
-S="${WORKDIR}/${PN}-${LIBBGCODE_COMMIT}"
+src_configure() {
+ local mycmakeargs=(
+ -DLibBGCode_BUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/media-gfx/libimagequant/Manifest b/media-gfx/libimagequant/Manifest
index 3c2d76b8a65d..fd1d00911a74 100644
--- a/media-gfx/libimagequant/Manifest
+++ b/media-gfx/libimagequant/Manifest
@@ -1,61 +1,34 @@
DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
-DIST ahash-0.8.3.crate 42416 BLAKE2B 84836a4e33451012ff32c1a1a90500d87eb7ce649b60dff4eecfb0d25b9782a186376c154673c3121b154ff4616016d1718dfd687b88f4772c2c89eeb2f119b6 SHA512 cf2d2f1201ac0969cf4e2a0c47090bee971b2287ac44b5e091c90a9eced03cf6ff56d7900cc0f529d4acedc30bd400261c15e50efabdd1731f79951b449af53e
DIST ahash-0.8.6.crate 42780 BLAKE2B ce2fb8201a484715d42bbd9ca1bfe2d5f541d90e3619ebd437c34a018920b679d5a11f9e96be48fbdabd2e98a379c0395d118616f21eb9004724d8fcb04b2b2b SHA512 46428b27e96be1f30058b9383a94988beeb5064dfb4df04d6959b451d0c77ef69fc51f07fdf9511ab9728295eb6beee7783c31a2297f9e473fc537883e722b73
-DIST arrayvec-0.7.2.crate 29341 BLAKE2B eae9d3f494033ea2d837a6024cb24bd4574683ed1e76ac6be7f7c6b0d8ee65c0eaf03dbae7fea04cf0921299f69234ad91e1cf41342de86f554f74e287dd3ba1 SHA512 80cc6e55b6032f4882362813de970d3d99e600ada774b28ac6a24c9c8e018fda3b35c5750ac3a09fca6fb9496e2e3fe608b58d21b1b84685ebd170f567a0ecbc
DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST bitflags-2.4.0.crate 36954 BLAKE2B 1d6cfeb0a17dc53a6249a83c8c7ad7c102985ffcfd7f7f76506889684235e78fe489d23b5a5f9018f0bd526a38d6b1449784c62322fb01f4bb507c0af8bd545c SHA512 0c3d6667abea48811a792749702136ee3db97518b33bc4c7d35737505bf56315e0e5810deeea28b7a1b540ec0e21bd319ba0b3c5c4aef0ba8ed5499ffdfd9b0c
DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
-DIST bytemuck-1.13.1.crate 42309 BLAKE2B 055e031a677823c110e44446e1e371632a0a5a8227ef7053e964bd3f9967705bdedf96b14178818021ffc09182ead805a68813a8a2b9cf7a70b6e8daf733eac4 SHA512 eb0a7e423a3f903fb831369e0c6d1e5fbffd7eff1b56bb7d1ffe4e5e18850cdfb9a7f9bdcfd53ce10b1c659dff11c59190b7b85ad89ca60485878548621f01c0
DIST bytemuck-1.14.0.crate 44933 BLAKE2B afd34f2becc41484e7bf71fb4a9f0925870a4f2d9d59daff9e91bada000462baeced4314e469a508d4413a8f2442d83a5f3082193653403fbee1340ab5c3f6c5 SHA512 f072a97e5de93228435bb362363ac1af0738b7927832b02a837f44eb21b0b089589b61e73004a06c5e4d4601e66bb42e67b9f707bbf13429a40b6250a0f05ae5
-DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
-DIST crossbeam-channel-0.5.8.crate 90455 BLAKE2B 017132056f1b40e55fbc7a09b75509d72b0a6123a0e5ea5d6104fe822f73b3ccce670d711d3b84b5ce743dcab5f10445297a6701b71213b77c0d56e2c3fd7160 SHA512 47677d6fe63050c51393e4a0537a3c65d7055c9eae118ebe60c5d716b4f47f23c2b1947b1e1b66bfb34a57c4db3a44631d323e996dd545565fe4f58c25863ff4
DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
-DIST crossbeam-epoch-0.9.14.crate 48524 BLAKE2B 439eec7e5e0364af0fe0a34ffc9354ae289798ffa7480bc656d4a610101e1ef2d5f484d84f82c87f961bd622434c36adfb7a87f7fbd2c71077b732cc7cc765ad SHA512 543cb60cff7c0823733f6ace191b137a04025a2b40fe4fea5eb273772009627fb705aecf742bc59e01367d4c15a14aca73aa2caf7f4b509f4b25947e14fd1e19
DIST crossbeam-epoch-0.9.15.crate 48553 BLAKE2B 23aa0532d3126e22efc779859478098e505b4ec895c643530a3f7e8dba0543df3d8ffcb6825b1d3869a4418e17d798d464b3e1bb51522435d50f53ac224e22c8 SHA512 d9292c059ef1d156da52950137b2b3ea5eab66c4cc2f763d02078d0b0106980839ebed2ae2aec53e026ee7b3ddc37c4b51370d925ada1ad13d9981934daa7bde
-DIST crossbeam-utils-0.8.15.crate 42326 BLAKE2B 23e6bd2a6535c6fccf7b7d17487fdd4095c92a3f3ae383a72dd6d90c1c49c2ec8d96dc01a94c7127b2681bfaef843585b3ae8665ecbc43b2e7db8434e31c6c8b SHA512 adb9ce1886396bc637299cb8122d102bcc9e561f25d67ef73e98c9ed8a8b13b78bc0f5bbacab19d015e1a7690bc0201f08b3d8e82393ec347e7f2933eb622533
DIST crossbeam-utils-0.8.16.crate 42508 BLAKE2B dfaf9e7cade2cb5a2de90dc622e58a69c5b28fe9f69d3cbb945431683cf48fb409565190e3414a815563afb12631d990476919890fc482ce6b5792fdc25536a7 SHA512 4b8d599a8b93015eea2fd404cdf1526fbb94662fffc7c64d2f0659aeef349e4ad682f61b2b85d075c7f3fbbc4d8106cd7caf6e65dae117ba982f31262df3f831
-DIST either-1.8.1.crate 16027 BLAKE2B 2fad54b5f20bb8540fff5959ca7b2f9021c814ee610895d770f7081b12ebe2c93ce754c462df9d81824d479ca75e07f4a9e398c07a655f4abe2740b9c9de9c62 SHA512 5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e
DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
-DIST fallible_collections-0.4.7.crate 49549 BLAKE2B 87ab04a934e86031ce462ab1f47c1b04a55ff56ebb53826f172a77b744855a69a134a6eb6027cf648dc577d923e172d8bec672abe084b302717495885aca7009 SHA512 cd20f266c5f544fc05307d782216f95140e17422097f57791a8f6124b6012bf0c6e90fe569957f55d6e0bb9585eb644370acbcd6f9763f20b714f76d0af31e68
DIST fallible_collections-0.4.9.crate 49824 BLAKE2B 467d10142eacb467917d4a6ddf086751bc3d66be1ef8925bee2c6fba85e002dc85c3f536ed2026172af02f239d2b1efc8aa066df7ea8dde6f040cb37efb5a363 SHA512 0b669e8cd7f3335e793b3c420ce1629ace341654d4c2d88a7c665bb24ca747236b85f999d08cd1fe9f46288ce588890d9d7b5d5fc3eb7fbbc0f2cea9822b8682
-DIST flate2-1.0.26.crate 70832 BLAKE2B acbfad138abf2175822153867413dc89bafa9254494b4f13d958dcc6008a26fca6f934e8010b8c090367b8e25272a4ba3b26a31e59cec69c1359f83ca859d186 SHA512 a9f7b9e4adfd0a22fbf66e1cbcfe377cc03ec248c7fb7113097b839922b569cc96bf080089b8c800b35ec6f81b3f602a5860de55963b85f27ee6d75a9df88f3d
-DIST flate2-1.0.27.crate 73460 BLAKE2B 5603848098ac02c9c83893df79ea9d9ad3df5b7e02ffa155ac74602bda7e28e14e6b7de2ff321b38d24fa3741ccea8a4c811abb47690cc295f90d4cf2bdd0bbf SHA512 e76e76444686433acabd16513e6e5860d4d6fa53a810f37266f36900f154acacac6dcd77b0373599a6d33a09175f5f02146d84726b982c59a78926950e19ff09
DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
DIST hashbrown-0.13.2.crate 105265 BLAKE2B e9ff7e6e753166ab3051a834df6f2da81a19ac6997ba269ab13a65e0abb9ce00839311785aefb451553284ad5ef3a0cda925dc2bc188d2a138a78578e530969c SHA512 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70
-DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28
-DIST hermit-abi-0.3.3.crate 14253 BLAKE2B 9ed8b40a1cc894addcba2a45562d74359ba55156e2c3a547afce139324b1345df2f158f58978ccd7d343fac5e5d2cda86e2e0a9dafc77af36d4cd8aa0a6d4c03 SHA512 eb162d085e8e0db72571aca925fdb6094d1e5d091766dd62d6a116957459bfadc8d51f1acc67f4da3cf6a8802c0ff445f3ad2516c1df8fcdca0b751632e150a1
-DIST libc-0.2.142.crate 679343 BLAKE2B 4168a8c3766bbc4f5adbd4babd84757cb81bb3c8cc806b8b5c1381a88ddccbb8bf55ae84f2879ab26adda09a3d44d21e2708dc9bce5d4868663fad8dd0f0e086 SHA512 8eb465fea8bfa865aa592185ea2dd89a6d89252b0e44fb7398ae82c9fa031d501fc3a1c37e50d1971be528c6e1a4ca416da224ba82e5a8766ec598464593afdd
-DIST libc-0.2.148.crate 690988 BLAKE2B 41dd38cfff1431cd8184220745697d794a66f6badec750be3910ddc4a6ddcf964692b5b28a5a9714592c5579da26248092facb9407920330b55aaef38501420c SHA512 1dec9ec8f4c610c08f62bc2b45dd32f1e4528a045161d848b5c4f0382be1158a690f4d7760203d7d2347a80422671f43b07531871cf44990887eaaed35d924d4
+DIST imagequant-4.3.0-crates.tar.xz 1407676 BLAKE2B dc3c6854dd4c0af77c3e464e5d849394efbacac7e7faa7704129218c448ccb6cc342ac3f630b33e44d72ef843f561014972ab5218e5ece409143d33657624db2 SHA512 abbe061c74ca2e6608b4d99f727129ea6589bba83e2968cff5f85e8611d5c3c8d10b59e6f4eb1b0b32fddc2b3a5b853d4f06088b653be1434af300bc5385657f
DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289
DIST libimagequant-2.17.0.tar.gz 99343 BLAKE2B 3ffbd60fe438c1b9e604fb74e839cad2aab5fd771f9250f7594a2d6cbc1e1a8a68d46c726298a66ba15a3e40254a36067dd18023ef22c132bd827c319161a6fe SHA512 12b111f8293c0e37bd75481457b6c96b547a1e3bc1d33bc7a6bbbde6ada284d835c7f5958ef41af7a5a8d3e6fb2d1aa2f641b7d6f2fe2782202f3c760792f394
DIST libimagequant-2.18.0.tar.gz 382092 BLAKE2B d1531dc01d06153c56434b7afda6cb4ce9f68de31a31d5db8afdf9f54c2da693bbe9b421bd316e37936da4c7d5dea45b1593644b452adf90c986c1d16f8ee1bd SHA512 ff2d4c2b901108525f403567ed2cc81dcda6e3600c58661de6324abb191ec04d954987e23b9c4d0e02cbec64ab905d717e3a0e1aecc6e1399ecc6126e889a356
-DIST libimagequant-4.2.0.tar.gz 87288 BLAKE2B 7552a539191e8250e5422cde53b44d256f07a38df3cde424855345b4adb617159bb05fffa57644bfd7361b65a382fa8bd76680e2d55433c6fee469d98b8845eb SHA512 3b023368c33990f72926036b8aa890104630e3a51aef85d3ef0a938961e7bad30c0662c5230df42c612fb3013e08c8cabea0e0e10855f2920601cdc981fe4033
-DIST libimagequant-4.2.1.tar.gz 87620 BLAKE2B 2344d0498157d3710bbe30b5dfb296b6ab4f6e44a2ee3d075503246892df92e2a640cf4e22a8870c5dd9f7ea6b61ca02af135823140a6366ffe90a37cfaddb30 SHA512 142d59f7827b82e5ba5b87d0f2000f326847b371fe02dcd047d50863187fa09264dc0f1a55aeb2572f8d5f8f602312bdb49646190ba9854e299a043653f60a9f
DIST libimagequant-4.2.2.tar.gz 87901 BLAKE2B ea824acbefab49a6a891fda7b495d9f654ade94ce02ffddd79338957da177f32a7772bf3004f9a874122f2a39c34aeaa8598733a05b1ec233c8701411caabb6d SHA512 31bd79024abc1fd884461f8f422d6eac1f5786ce347ac3c517e9cb66f289ad1ace0e3a25c55c7b7384badb2545174871464d60f1238ed2deb1f521d5f3ede96b
-DIST lodepng-3.7.2.crate 48504 BLAKE2B d1a79e8f0540152d031971f368316d791e85dddb05f789cdcc4b1d1b49bc07e881baaf74e041979d26f63b527b9664a3942e8b280be6327f487882cc363078ee SHA512 f8a9a7e9d7583881c933404dbabc341943485131b25dd778f235a89f27ae1d613ce5b45d825f546ea1919b3599f80641f8479a216c801da27d2feddd59e8847c
-DIST lodepng-3.8.2.crate 49974 BLAKE2B 738e35faec860d0c32f5e1714d874338601deec696f95c6d9af45b6025369b8b2c014b6814ac6d5839a29eaf5393087f4a0540c2a469cf8850d649491a8c8787 SHA512 9276d290783815f421751636b93e0329914cc6cff0810c0c17ae78fab18cf4daf8e74e938d77188ad3640ebf5e88e3863041b668ff810e4adb9f03e5c9ca9acc
+DIST libimagequant-4.3.0.tar.gz 87960 BLAKE2B 7d386572970314f6571c4f68cceb440d3cf74740fb5e5d8271608f979d14a05b233e85da5f06489224fc2ef9de0382fa55992bb810e533a0c025aaf4db8cc790 SHA512 5bff79a88592508718af87773ca2234952d27ae06439b3bf0128a1043f3f9fc92d9cdebe57da55996d4709dffd6a9009adc7a45fd11330cdaf99f5623a7fe47f
DIST lodepng-3.9.1.crate 50399 BLAKE2B 26b6b85d8d2cb412bdc7f16a60d1b291eb2d15bb37085bb862a19f62436cb1c82ed185e8c86a51c7540ca4a3829c7176e10fc942b3f48530e91a6c77e7e5690b SHA512 f659ef159f3bf450a94fe27ff0b7f7de05e44148aad3343a076fa9494899aea9b0c9c4df935a4a2bbee7a6863dc9ba5d7a8a6f907a052c47d8aaf3c88539d7e2
-DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c
-DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
-DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d
-DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
-DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
DIST rayon-1.8.0.crate 170172 BLAKE2B e2df52c64435926a13f4f275c4f25a9694316aeb02b73856c600a1a813686ceb20828676d8272393d1aec18eac4f05bfcdc5ef02ff1e19245c547c0313a2a03c SHA512 ab1cef238530d81c255b6631ecfed9cc4f3f8d7cb6a74701d29c1dcb022cc5b859db1d246cf8247d47702fdadcedfe64a6749e24cf6c7258e8c9411af7e4524a
-DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
DIST rayon-core-1.12.0.crate 70081 BLAKE2B ef1bb1d430776b0ad49aa523cfe83bb0aa3a381b2e571db74cb8de04bbff884b8c269de31d7afbfd609118c445bf079afd2d4920842c8a8b312d329e4675cfc0 SHA512 588fa479c499e1620e25c5818996f0376d3bf526272af6c50a17ca0ccf0f8f67b03a3a665938575a86a8edc1f101a37ab01133b27f904eb5c291bbfc581135b2
-DIST rgb-0.8.36.crate 16576 BLAKE2B d1cfe1d22070883ef9313376145f8810dab360259dc2a23b4507ed3eb02b324e1dde46cfceb608ce745a87cd2520b2ce49c1e8827ed07c7c7b9aeb60d64f981d SHA512 e1e812b04e3c6b0ab93f7a10161eef808fe11888a5c1fc0060cd91fa90129c31491d5c64de0cec989acfcf66ce481bd61d9cdcdcb54e5bf2556da0e5c3bb7612
DIST rgb-0.8.37.crate 16644 BLAKE2B 4f158ac34c03627bae762a3b579901d4737c2b71d9cd96b18024bf7f297169c3edb097d0d67289f8e20b2275a0613a45eedc8fae306437b76435eabaf8cb0793 SHA512 72491fb2c315ee347c7474e6f9b3d6eaaf1db66ddf163214df8466a4a8ccb0aaaed76fc4c72808b70bfbcdf9dc2a109511ccf8e405e4a006b349030e8ad199a8
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
DIST syn-2.0.38.crate 243284 BLAKE2B 660de454989016dbb352c262d5d066ddc663eafcb928a2f62f61e6faf14cceed5cfbc37559e3795e1ce7886c78842be71eaa82ddced0cd6dd99ad99f95ab8ca4 SHA512 84fd4f4bc6de97cdb63a1ee9161daf8fb8fd1fa0f3c3bba4a29c463cd62cffd292c45b8cf17fd0911e580098cadc7b167e4e686595d31d72e7b53ee7df6d5f04
DIST thread_local-1.1.7.crate 13585 BLAKE2B f497dbcdfaf7dbc8b4b0dd97f77ba93df15b63303e7894c9032c9822a5b8111e0a21db2fa8cfdce5a503f70959ac9cdf48c840b925bdd850dc15e8436ba72379 SHA512 3772452c2a349fb564d29bb06e13c8ae64807db27c3ee217fa04fd0e9847e94adeea582b82ffc2d9116f31ff478eb088550caf1346c263de49b55fa17b431c31
diff --git a/media-gfx/libimagequant/libimagequant-2.18.0.ebuild b/media-gfx/libimagequant/libimagequant-2.18.0.ebuild
index 5bba4b9dff92..ab7503e70f89 100644
--- a/media-gfx/libimagequant/libimagequant-2.18.0.ebuild
+++ b/media-gfx/libimagequant/libimagequant-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/ImageOptim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
LICENSE="GPL-3"
SLOT="0/0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
IUSE="cpu_flags_x86_sse2 openmp"
PATCHES=(
diff --git a/media-gfx/libimagequant/libimagequant-4.2.0-r2.ebuild b/media-gfx/libimagequant/libimagequant-4.2.0-r2.ebuild
deleted file mode 100644
index b3a512131a0f..000000000000
--- a/media-gfx/libimagequant/libimagequant-4.2.0-r2.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
-adler-1.0.2
-ahash-0.8.3
-arrayvec-0.7.2
-autocfg-1.1.0
-bitflags-1.3.2
-bytemuck-1.13.1
-cc-1.0.79
-cfg-if-1.0.0
-crc32fast-1.3.2
-crossbeam-channel-0.5.8
-crossbeam-deque-0.8.3
-crossbeam-epoch-0.9.14
-crossbeam-utils-0.8.15
-either-1.8.1
-fallible_collections-0.4.7
-flate2-1.0.26
-hashbrown-0.13.2
-hermit-abi-0.2.6
-libc-0.2.142
-lodepng-3.7.2
-memoffset-0.8.0
-miniz_oxide-0.7.1
-num_cpus-1.15.0
-once_cell-1.17.1
-rayon-1.7.0
-rayon-core-1.11.0
-rgb-0.8.36
-scopeguard-1.1.0
-thread_local-1.1.7
-version_check-0.9.4
-"
-
-inherit cargo
-
-DESCRIPTION="Palette quantization library that powers pngquant and other PNG optimizers"
-HOMEPAGE="https://pngquant.org/lib/"
-SRC_URI="https://github.com/ImageOptim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" $(cargo_crate_uris)"
-S="${WORKDIR}"/${P}/imagequant-sys
-
-LICENSE="GPL-3"
-SLOT="0/0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~s390 sparc"
-
-BDEPEND="
- >=dev-util/cargo-c-0.9.11
- >=virtual/rust-1.60
-"
-
-QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*"
-
-src_compile() {
- local cargoargs=(
- --library-type=cdylib
- --prefix=/usr
- --libdir="/usr/$(get_libdir)"
- $(usev !debug '--release')
- )
-
- cargo cbuild "${cargoargs[@]}" || die "cargo cbuild failed"
-}
-
-src_install() {
- local cargoargs=(
- --library-type=cdylib
- --prefix=/usr
- --libdir="/usr/$(get_libdir)"
- --destdir="${ED}"
- $(usex debug '--debug' '--release')
- )
-
- cargo cinstall "${cargoargs[@]}" || die "cargo cinstall failed"
-}
diff --git a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild b/media-gfx/libimagequant/libimagequant-4.2.2.ebuild
index 66f99e9145c3..5a96622a9881 100644
--- a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild
+++ b/media-gfx/libimagequant/libimagequant-4.2.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Autogenerated by pycargoebuild 0.10
@@ -53,7 +53,7 @@ LICENSE="GPL-3+"
# Dependent crate licenses
LICENSE+=" MIT Unicode-DFS-2016 ZLIB"
SLOT="0/0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~s390 ~sparc"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~s390 sparc"
BDEPEND="
>=dev-util/cargo-c-0.9.11
diff --git a/media-gfx/libimagequant/libimagequant-4.2.1.ebuild b/media-gfx/libimagequant/libimagequant-4.3.0.ebuild
index 41e6c2839156..3834a58ebed1 100644
--- a/media-gfx/libimagequant/libimagequant-4.2.1.ebuild
+++ b/media-gfx/libimagequant/libimagequant-4.3.0.ebuild
@@ -1,59 +1,29 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-# Autogenerated by pycargoebuild 0.10
-
EAPI=8
CRATES="
- adler@1.0.2
- ahash@0.8.3
- arrayvec@0.7.4
- autocfg@1.1.0
- bitflags@2.4.0
- bytemuck@1.14.0
- cc@1.0.83
- cfg-if@1.0.0
- crc32fast@1.3.2
- crossbeam-deque@0.8.3
- crossbeam-epoch@0.9.15
- crossbeam-utils@0.8.16
- either@1.9.0
- fallible_collections@0.4.9
- flate2@1.0.27
- hashbrown@0.13.2
- hermit-abi@0.3.3
- libc@0.2.148
- lodepng@3.8.2
- memoffset@0.9.0
- miniz_oxide@0.7.1
- num_cpus@1.16.0
- once_cell@1.18.0
- rayon-core@1.12.0
- rayon@1.8.0
- rgb@0.8.36
- scopeguard@1.2.0
- thread_local@1.1.7
- version_check@0.9.4
"
inherit cargo
DESCRIPTION="Palette quantization library that powers pngquant and other PNG optimizers"
HOMEPAGE="https://pngquant.org/lib/"
-SRC_URI="https://github.com/ImageOptim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-SRC_URI+=" ${CARGO_CRATE_URIS}"
+SRC_URI="https://github.com/ImageOptim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+ https://dev.gentoo.org/~arthurzam/distfiles/media-gfx/${PN}/imagequant-${PV}-crates.tar.xz"
S="${WORKDIR}"/${P}/imagequant-sys
LICENSE="GPL-3+"
# Dependent crate licenses
-LICENSE+=" MIT ZLIB"
+LICENSE+=" MIT Unicode-DFS-2016 ZLIB"
SLOT="0/0"
KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~s390 ~sparc"
BDEPEND="
- >=dev-util/cargo-c-0.9.11
- >=virtual/rust-1.60
+ >=dev-util/cargo-c-0.9.14
+ >=virtual/rust-1.64
"
QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*"
diff --git a/media-gfx/libredwg/Manifest b/media-gfx/libredwg/Manifest
index 4aab7df14fb2..db65c4cae1b5 100644
--- a/media-gfx/libredwg/Manifest
+++ b/media-gfx/libredwg/Manifest
@@ -1,3 +1,4 @@
DIST libredwg-0.13.2.tar.gz 20627421 BLAKE2B 7d11c5f390a2e9d1afbe26b07a44e3b38a2734df39a0e499b55c59e873686625adf66a0a25de4509dee3fe285488e8d89e2e176e2aaa7c0a13c52abe6472b910 SHA512 ae93bf958c196cc54b8c05664e7201b82a3975845d544ae45cde437d716507ef1de08bf89615b5a67cf3841a014782af335031668ad59b34721a78648caaba67
+DIST libredwg-0.13.3.tar.gz 20749296 BLAKE2B c39a98dab385a2d2a1603eff6347a9c91ba5b526085f0b36b761486be57a4ba1aaa44eb4fb70178fa6f0425797991fef89e51c2dd61b352829e2ebc39215248a SHA512 cf0baf477d053eb6ab2feaeda187f2d92211c7d28aa50318c1c8d7acf1b9c463258fa3a388dddce266bf44e0d4e4cf1bd3aa591c918f8a253515919e5c1b3f57
DIST libredwg-0.13.tar.gz 20613784 BLAKE2B 26bab07b651b75b483b5211c77610a7d0af1f6adaca956a5766a6602c6c7e07fe0be3ec976a2119920c3d2df92c827cd9a9632563a91b4467159adb941ca39f7 SHA512 11585b4dcf83c2304e01010f68eb03da14c8d6affef944254a30067acb981d7f02507a932ad4509dfd65252e43d19c22966cc51945621764c4283daf0a1f0ab4
DIST libredwg-85695f3d5903b1cd5b4030efe50db3b4f5f3c928.tar.gz 12597 BLAKE2B cd01f6c446d5d129545fdae07c0101d133e1f4e69ee62e94c27c3c2853dcc30854f40aed0c6f38f6594c5f5eb9e7b2d18d3b2e4f487b7bf1a3f7f39facde38bc SHA512 1d08cfa6216e0fe671dab77a0bd0b4ef0c4eb174878eba909c680e0ee93a82079b3cbf60afe2de7b0078258de8bcc588961e59cf0c14fe5f2d1f70db639ef95a
diff --git a/media-gfx/libredwg/libredwg-0.13.3.ebuild b/media-gfx/libredwg/libredwg-0.13.3.ebuild
new file mode 100644
index 000000000000..d29a75a7f99d
--- /dev/null
+++ b/media-gfx/libredwg/libredwg-0.13.3.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DOCS_BUILDER="doxygen"
+# File is hardcoded to be run from ../ so we use this instead of DOCS_DIR
+DOCS_CONFIG_NAME="doc/Doxyfile"
+
+inherit autotools docs python-single-r1 perl-functions
+
+JSMN_COMMIT="85695f3d5903b1cd5b4030efe50db3b4f5f3c928"
+
+DESCRIPTION="C library to handle DWG files"
+HOMEPAGE="https://www.gnu.org/software/libredwg/ https://github.com/LibreDWG/libredwg"
+SRC_URI="
+ https://github.com/LibreDWG/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/zserge/jsmn/archive/${JSMN_COMMIT}.tar.gz -> ${PN}-${JSMN_COMMIT}.tar.gz
+"
+
+LICENSE="GPL-3+ MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# https://github.com/LibreDWG/libredwg/issues/342
+RESTRICT="test"
+
+IUSE="debug python perl static-libs"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ python? ( ${PYTHON_DEPS} )
+ perl? ( dev-lang/perl )
+ dev-libs/libpcre2
+ dev-libs/pslib
+"
+DEPEND="${RDEPEND}
+ python? ( dev-lang/swig )
+ perl? ( dev-lang/swig )
+"
+BDEPEND="|| (
+ sys-devel/gcc[sanitize]
+ sys-libs/compiler-rt-sanitizers[asan(-)]
+ )
+ dev-vcs/git
+"
+
+src_unpack() {
+ # Build system really wants jsmn to be here
+ default
+ rm -r "${S}/jsmn" || die
+ mv "${WORKDIR}/jsmn-${JSMN_COMMIT}" "${S}/jsmn" || die
+}
+
+src_prepare() {
+ default
+ # Fix variable references itself error, fails in src_install otherwise.
+ sed -i -e 's/TEXINPUTS="$(TEXINPUTS)$(PATH_SEPARATOR)$(TEXINFO_TEX_DIR)"/TEXINPUTS="$(PATH_SEPARATOR)$(TEXINFO_TEX_DIR)"/g' doc/Makefile.am || die
+ # https://github.com/LibreDWG/libredwg/issues/404
+ # Workaround: release tarball does not include dwg2ps.1.
+ # Upstream autotools stuff has to be run in git repo
+ git init -q || die
+ git config --global user.email "larry@gentoo.org" || die
+ git config --global user.name "Larry the Cow" || die
+ git add . || die
+ git commit -qm 'init' || die
+ git tag ${PV} || die
+ eautoreconf
+}
+
+src_configure() {
+ perl_set_version
+ local myconf=(
+ --enable-write
+ --enable-dxf
+ --enable-json
+ --disable-gcov
+ --disable-werror
+ $(use_enable !debug release)
+ $(use_enable debug trace)
+ $(use_enable debug)
+ $(use_enable static-libs static)
+ $(use_enable python python "${EPYTHON}")
+ $(usex perl "--with-perl-install=vendor" "--with-perl-install=no")
+ )
+
+ if use python || use perl; then
+ myconf+=( --enable-bindings )
+ else
+ myconf+=( --disable-bindings )
+ fi
+
+ econf ${myconf[@]}
+}
+
+src_compile() {
+ perl_set_version
+ emake
+ docs_compile
+}
+
+src_install() {
+ perl_set_version
+ default
+ use python && python_optimize
+ # remove .la files if static-libs disabled
+ if ! use static-libs; then
+ find "${ED}" -name '*.la' -delete || die
+ fi
+}
diff --git a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
index ab363c98a273..c3db9e692f75 100644
--- a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
+++ b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit cmake toolchain-funcs flag-o-matic xdg-utils
DESCRIPTION="Graphical user interface that provides a workflow for HDR imaging"
HOMEPAGE="http://qtpfsgui.sourceforge.net https://github.com/LuminanceHDR/LuminanceHDR"
-SRC_URI="mirror://sourceforge/qtpfsgui/${P/_/.}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/qtpfsgui/${P/_/.}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/maim/Manifest b/media-gfx/maim/Manifest
index 98028943f4e4..7ac309105d41 100644
--- a/media-gfx/maim/Manifest
+++ b/media-gfx/maim/Manifest
@@ -1 +1,2 @@
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.8.0.ebuild b/media-gfx/maim/maim-5.8.0.ebuild
new file mode 100644
index 000000000000..bee0980ae8d2
--- /dev/null
+++ b/media-gfx/maim/maim-5.8.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 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/mandelbulber/mandelbulber-2.28-r1.ebuild b/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild
index ded4b6d39d7f..35bcd7fe3da4 100644
--- a/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild
+++ b/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ inherit desktop qmake-utils toolchain-funcs xdg
DESCRIPTION="Tool to render 3D fractals"
HOMEPAGE="https://www.mandelbulber.com"
-SRC_URI="https://github.com/buddhi1980/${PN}2/releases/download/${PV}/${MY_P}.tar.gz mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+SRC_URI="https://github.com/buddhi1980/${PN}2/releases/download/${PV}/${MY_P}.tar.gz https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="CC-BY-4.0 GPL-3"
diff --git a/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild b/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
index 18951f7211ec..9a8a0c7c2d69 100644
--- a/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
+++ b/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
@@ -4,12 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-2.2.1.ebuild b/media-gfx/mcomix/mcomix-2.2.1.ebuild
index 551f116a31bc..bb0e9bf360e6 100644
--- a/media-gfx/mcomix/mcomix-2.2.1.ebuild
+++ b/media-gfx/mcomix/mcomix-2.2.1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild b/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
index 36393dfcddd5..744b6d793e84 100644
--- a/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
+++ b/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit desktop distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-3.1.0.ebuild b/media-gfx/mcomix/mcomix-3.1.0.ebuild
index d6fa2ffcfe75..c84c65e17656 100644
--- a/media-gfx/mcomix/mcomix-3.1.0.ebuild
+++ b/media-gfx/mcomix/mcomix-3.1.0.ebuild
@@ -4,12 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit desktop distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/meshlab/meshlab-2020.12-r2.ebuild b/media-gfx/meshlab/meshlab-2020.12-r3.ebuild
index 3022559a4e4c..7350616490eb 100644
--- a/media-gfx/meshlab/meshlab-2020.12-r2.ebuild
+++ b/media-gfx/meshlab/meshlab-2020.12-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
@@ -17,6 +17,8 @@ SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="double-precision minimal"
+# qhull: newer meshlab supports system re-entrant version
+# levmar: build system hardcodes vendored copy
DEPEND="
dev-cpp/eigen:3
dev-cpp/muParser
@@ -31,9 +33,6 @@ DEPEND="
media-libs/glew:0=
=media-libs/lib3ds-1*
media-libs/openctm:=
- media-libs/qhull:=
- sci-libs/levmar
- sci-libs/mpir:=
"
RDEPEND="${DEPEND}"
diff --git a/media-gfx/metapixel/metapixel-1.0.2-r1.ebuild b/media-gfx/metapixel/metapixel-1.0.2-r1.ebuild
deleted file mode 100644
index ecea7810b980..000000000000
--- a/media-gfx/metapixel/metapixel-1.0.2-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit toolchain-funcs
-
-DESCRIPTION="a program for generating photomosaics"
-HOMEPAGE="https://www.complang.tuwien.ac.at/schani/metapixel"
-SRC_URI="https://www.complang.tuwien.ac.at/schani/${PN}/files/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-RDEPEND="
- dev-lang/perl
- >=media-libs/giflib-5:0=
- >=media-libs/libpng-1.4:0=
- virtual/jpeg:0
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-libpng15.patch
- "${FILESDIR}"/${P}-giflib5.patch
-)
-
-src_prepare() {
- default
-
- sed -i -e 's:/usr/X11R6:/usr:g' Makefile || die
- sed -i -e 's:ar:$(AR):' rwimg/Makefile || die
-}
-
-src_compile() {
- emake AR="$(tc-getAR)" CC="$(tc-getCC)" OPTIMIZE="${CFLAGS}" LDOPTS="${LDFLAGS}"
-}
-
-src_install() {
- dobin ${PN}{,-prepare,-imagesize,-sizesort}
- doman ${PN}.1
- dodoc NEWS README
-}
diff --git a/media-gfx/metapixel/metapixel-1.0.2-r2.ebuild b/media-gfx/metapixel/metapixel-1.0.2-r2.ebuild
index 97ea64edc098..049c3369617b 100644
--- a/media-gfx/metapixel/metapixel-1.0.2-r2.ebuild
+++ b/media-gfx/metapixel/metapixel-1.0.2-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
@@ -10,7 +10,7 @@ SRC_URI="https://www.complang.tuwien.ac.at/schani/${PN}/files/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
RDEPEND="
dev-lang/perl
diff --git a/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild b/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
index d29bb2628329..3ddd273019c8 100644
--- a/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
+++ b/media-gfx/mypaint/mypaint-2.0.1-r3.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
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_SINGLE_IMPL=1
inherit desktop distutils-r1 xdg
DESCRIPTION="Fast and easy graphics application for digital painters"
-HOMEPAGE="http://mypaint.org/"
+HOMEPAGE="http://mypaint.app/"
SRC_URI="https://github.com/mypaint/${PN}/releases/download/v${PV}/${P}.tar.xz"
LICENSE="GPL-2"
diff --git a/media-gfx/netgen/metadata.xml b/media-gfx/netgen/metadata.xml
index 3c583c643516..201e5f704aba 100644
--- a/media-gfx/netgen/metadata.xml
+++ b/media-gfx/netgen/metadata.xml
@@ -6,8 +6,8 @@
<name>Gentoo Mathematics Project</name>
</maintainer>
<maintainer type="person" proxied="yes">
- <email>waebbl-gentoo@posteo.net</email>
- <name>Bernd Waibel</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<use>
<flag name="logging">Enable logging through <pkg>dev-libs/spdlog</pkg></flag>
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/nomacs/nomacs-3.16.224-r5.ebuild b/media-gfx/nomacs/nomacs-3.16.224-r5.ebuild
deleted file mode 100644
index 6bba47db9342..000000000000
--- a/media-gfx/nomacs/nomacs-3.16.224-r5.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PLUGIN_PKG="${PN}-plugins-$(ver_cut 1-2)"
-inherit cmake xdg-utils
-
-DESCRIPTION="Qt-based image viewer"
-HOMEPAGE="https://nomacs.org/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
-plugins? ( https://github.com/${PN}/${PN}-plugins/archive/$(ver_cut 1-2).tar.gz -> ${PLUGIN_PKG}.tar.gz )"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86 ~amd64-linux"
-IUSE="+jpeg +opencv plugins raw +tiff zip"
-
-REQUIRED_USE="
- raw? ( opencv )
- tiff? ( opencv )
-"
-
-RDEPEND="
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5[jpeg?]
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- media-gfx/exiv2:=
- opencv? ( >=media-libs/opencv-3.4:= )
- raw? ( media-libs/libraw:= )
- tiff? (
- dev-qt/qtimageformats:5
- media-libs/tiff:=
- )
- zip? ( dev-libs/quazip:0=[qt5(+)] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-qt/linguist-tools:5
- virtual/pkgconfig
-"
-
-S="${WORKDIR}/${P}/ImageLounge"
-
-DOCS=( src/changelog.txt )
-
-PATCHES=(
- "${FILESDIR}"/${P}-quazip1.patch
- "${FILESDIR}"/${P}-DkMath-ostream.patch
-)
-
-src_prepare() {
- if use plugins ; then
- rmdir plugins || die
- mv -v ../../${PLUGIN_PKG} plugins || die
- # Fix bug #847112
- sed -e 's:QT_QMAKE_EXECUTABLE NAMES "qmake" "qmake-qt5" "qmake.exe":QT_QMAKE_EXECUTABLE NAMES "qmake" "qmake5" "qmake.exe":' \
- -i plugins/cmake/Utils.cmake || die
- # Fix nomacs-plugins installation and search library directory
- sed -e "s:lib/nomacs-plugins:$(get_libdir)/nomacs-plugins:" \
- -i plugins/cmake/Utils.cmake || die
- sed -e "s:lib/nomacs-plugins:$(get_libdir)/nomacs-plugins:" \
- -i src/DkCore/DkPluginManager.cpp || die
- fi
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DENABLE_CODE_COV=OFF
- -DUSE_SYSTEM_QUAZIP=ON
- -DENABLE_TRANSLATIONS=ON
- -DENABLE_OPENCV=$(usex opencv)
- -DENABLE_PLUGINS=$(usex plugins)
- -DENABLE_RAW=$(usex raw)
- -DENABLE_TIFF=$(usex tiff)
- -DENABLE_QUAZIP=$(usex zip)
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
-}
diff --git a/media-gfx/okularpart/Manifest b/media-gfx/okularpart/Manifest
new file mode 100644
index 000000000000..9874fc9a6fde
--- /dev/null
+++ b/media-gfx/okularpart/Manifest
@@ -0,0 +1 @@
+DIST okular-23.08.5.tar.xz 8515760 BLAKE2B ec8ddf33917cc092e23934cc184280bf69fd92e184f05a14a3b0ec3636f00a90e35ab7c5b05e6b4083a4a94fb3d8725aa7b71686d5fe1d8962c4678690670f29 SHA512 c9e8b430fa4a5486cee0587f9beb077b4e8b5476f00ed42c9369fbb195ad9733ed310e01ebefc3c08cf78a53a3e72eab44c42a236b3dcad7e02421a864331dd6
diff --git a/media-gfx/okularpart/files/okularpart-23.08.5-crashfix.patch b/media-gfx/okularpart/files/okularpart-23.08.5-crashfix.patch
new file mode 100644
index 000000000000..f05906668cae
--- /dev/null
+++ b/media-gfx/okularpart/files/okularpart-23.08.5-crashfix.patch
@@ -0,0 +1,86 @@
+From 7f639c28262455226da4db9d9630a48fea99e0f4 Mon Sep 17 00:00:00 2001
+From: Carl Schwan <carl@carlschwan.eu>
+Date: Tue, 5 Mar 2024 16:08:58 +0100
+Subject: [PATCH] Fix crash when in embedded dummy mode
+
+This is an issue for Kile as they use Okular in the "dummy mode" which
+doesn't include the annotation tool.
+
+BUG: 476207
+---
+ part/pageview.cpp | 24 ++++++++++++++++++------
+ 1 file changed, 18 insertions(+), 6 deletions(-)
+
+diff --git a/part/pageview.cpp b/part/pageview.cpp
+index c5c1d3e55c..c01c5488c6 100644
+--- a/part/pageview.cpp
++++ b/part/pageview.cpp
+@@ -5084,7 +5084,9 @@ void PageView::slotSetMouseNormal()
+ // force an update of the cursor
+ updateCursor();
+ Okular::Settings::self()->save();
+- d->annotator->detachAnnotation();
++ if (d->annotator) {
++ d->annotator->detachAnnotation();
++ }
+ }
+
+ void PageView::slotSetMouseZoom()
+@@ -5096,7 +5098,9 @@ void PageView::slotSetMouseZoom()
+ // force an update of the cursor
+ updateCursor();
+ Okular::Settings::self()->save();
+- d->annotator->detachAnnotation();
++ if (d->annotator) {
++ d->annotator->detachAnnotation();
++ }
+ }
+
+ void PageView::slotSetMouseMagnifier()
+@@ -5108,7 +5112,9 @@ void PageView::slotSetMouseMagnifier()
+ // force an update of the cursor
+ updateCursor();
+ Okular::Settings::self()->save();
+- d->annotator->detachAnnotation();
++ if (d->annotator) {
++ d->annotator->detachAnnotation();
++ }
+ }
+
+ void PageView::slotSetMouseSelect()
+@@ -5120,7 +5126,9 @@ void PageView::slotSetMouseSelect()
+ // force an update of the cursor
+ updateCursor();
+ Okular::Settings::self()->save();
+- d->annotator->detachAnnotation();
++ if (d->annotator) {
++ d->annotator->detachAnnotation();
++ }
+ }
+
+ void PageView::slotSetMouseTextSelect()
+@@ -5132,7 +5140,9 @@ void PageView::slotSetMouseTextSelect()
+ // force an update of the cursor
+ updateCursor();
+ Okular::Settings::self()->save();
+- d->annotator->detachAnnotation();
++ if (d->annotator) {
++ d->annotator->detachAnnotation();
++ }
+ }
+
+ void PageView::slotSetMouseTableSelect()
+@@ -5144,7 +5154,9 @@ void PageView::slotSetMouseTableSelect()
+ // force an update of the cursor
+ updateCursor();
+ Okular::Settings::self()->save();
+- d->annotator->detachAnnotation();
++ if (d->annotator) {
++ d->annotator->detachAnnotation();
++ }
+ }
+
+ void PageView::showNoSigningCertificatesDialog(bool nonDateValidCerts)
+--
+GitLab
+
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/files/okularpart-23.08.5-only.patch b/media-gfx/okularpart/files/okularpart-23.08.5-only.patch
new file mode 100644
index 000000000000..c2712fa396c9
--- /dev/null
+++ b/media-gfx/okularpart/files/okularpart-23.08.5-only.patch
@@ -0,0 +1,56 @@
+From e6392d67120187d357de1a787b52aaeffeb60230 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 10 Mar 2024 21:37:44 +0100
+Subject: [PATCH] Disable bits we don't need for okularpart only
+
+Install headers to okular5 to not collide with okular6, unfortunately
+this will require hacking revdeps too.
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index c47d6ab0f..2e08335a1 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -184,7 +184,7 @@ if (BUILD_MOBILE)
+ )
+ endif()
+
+-if(NOT WIN32 AND NOT ANDROID AND NOT APPLE)
++if(0)
+ find_package(KF5 ${KF5_REQUIRED_VERSION} REQUIRED COMPONENTS
+ Activities
+ )
+@@ -303,7 +303,7 @@ endif()
+ add_subdirectory( icons ) # an own directory for multi-size icons retrieved by KIconThemeLoader
+ add_subdirectory( part )
+ if(BUILD_DESKTOP)
+- add_subdirectory( shell )
++# add_subdirectory( shell )
+ endif()
+ add_subdirectory( generators )
+
+@@ -401,7 +401,7 @@ install( FILES
+ ${CMAKE_CURRENT_BINARY_DIR}/core/version.h
+ ${CMAKE_CURRENT_BINARY_DIR}/core/okularcore_export.h
+ ${CMAKE_CURRENT_BINARY_DIR}/settings_core.h
+- DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular/core COMPONENT Devel)
++ DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular5/core COMPONENT Devel)
+
+ install( FILES
+ interfaces/configinterface.h
+@@ -409,7 +409,7 @@ install( FILES
+ interfaces/printinterface.h
+ interfaces/saveinterface.h
+ interfaces/viewerinterface.h
+- DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular/interfaces COMPONENT Devel)
++ DESTINATION ${KDE_INSTALL_INCLUDEDIR}/okular5/interfaces COMPONENT Devel)
+
+ ki18n_wrap_ui(okularcore_SRCS
+ core/chooseenginewidget.ui
+--
+2.44.0
+
diff --git a/media-gfx/okularpart/files/okularpart-23.08.5-tests.patch b/media-gfx/okularpart/files/okularpart-23.08.5-tests.patch
new file mode 100644
index 000000000000..8fc477be875a
--- /dev/null
+++ b/media-gfx/okularpart/files/okularpart-23.08.5-tests.patch
@@ -0,0 +1,48 @@
+From 323fed918995fe2e01036c74c1498446b4d2f122 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Thu, 12 Oct 2017 14:09:09 +0200
+Subject: [PATCH] Move tests into existing (auto)tests subdirectories
+
+---
+ generators/comicbook/CMakeLists.txt | 10 +++-------
+ generators/comicbook/autotests/CMakeLists.txt | 6 ++++++
+ 8 files changed, 27 insertions(+), 18 deletions(-)
+ create mode 100644 generators/chm/autotests/CMakeLists.txt
+ create mode 100644 generators/comicbook/autotests/CMakeLists.txt
+
+diff --git a/generators/comicbook/CMakeLists.txt b/generators/comicbook/CMakeLists.txt
+index a0e7569a2..91bcc6ec7 100644
+--- a/generators/comicbook/CMakeLists.txt
++++ b/generators/comicbook/CMakeLists.txt
+@@ -25,13 +25,9 @@ if (KArchive_HAVE_LZMA)
+ target_compile_definitions(okular_comicbook PRIVATE -DWITH_K7ZIP=1)
+ endif()
+
+-########### autotests ###############
+-
+-add_definitions( -DKDESRCDIR="${CMAKE_CURRENT_SOURCE_DIR}/" )
+-ecm_add_test(autotests/comicbooktest.cpp
+- TEST_NAME "comicbooktest"
+- LINK_LIBRARIES Qt5::Test KF5::CoreAddons okularcore okular_comicbook
+-)
++if(BUILD_TESTING)
++ add_subdirectory(autotests)
++endif()
+
+ ########### install files ###############
+ install( FILES okularComicbook.desktop DESTINATION ${KDE_INSTALL_KSERVICES5DIR} )
+diff --git a/generators/comicbook/autotests/CMakeLists.txt b/generators/comicbook/autotests/CMakeLists.txt
+new file mode 100644
+index 000000000..aaacb341a
+--- /dev/null
++++ b/generators/comicbook/autotests/CMakeLists.txt
+@@ -0,0 +1,6 @@
++add_definitions( -DKDESRCDIR="${CMAKE_CURRENT_SOURCE_DIR}/../" )
++
++ecm_add_test(comicbooktest.cpp
++ TEST_NAME "comicbooktest"
++ LINK_LIBRARIES Qt5::Test KF5::CoreAddons okularcore okular_comicbook
++)
+--
+2.33.0
+
diff --git a/media-gfx/okularpart/metadata.xml b/media-gfx/okularpart/metadata.xml
new file mode 100644
index 000000000000..4035d9145745
--- /dev/null
+++ b/media-gfx/okularpart/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+ <upstream>
+ <bugs-to>https://bugs.kde.org/</bugs-to>
+ <remote-id type="cpe">cpe:/a:kde:okular</remote-id>
+ <remote-id type="kde-invent">graphics/okular</remote-id>
+ </upstream>
+ <use>
+ <flag name="epub">Enable E-Book support via <pkg>app-text/ebook-tools</pkg></flag>
+ <flag name="mobi">Enable mobipocket support via <pkg>kde-apps/kdegraphics-mobipocket</pkg></flag>
+ </use>
+</pkgmetadata>
diff --git a/media-gfx/okularpart/okularpart-23.08.5-r1.ebuild b/media-gfx/okularpart/okularpart-23.08.5-r1.ebuild
new file mode 100644
index 000000000000..ae6a4d671d88
--- /dev/null
+++ b/media-gfx/okularpart/okularpart-23.08.5-r1.ebuild
@@ -0,0 +1,95 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="false"
+ECM_TEST="forceoptional"
+KDE_ORG_NAME="okular"
+PVCUT=$(ver_cut 1-3)
+KFMIN=5.106.0
+QTMIN=5.15.9
+inherit ecm gear.kde.org
+
+DESCRIPTION="Universal document viewer kpart based on KDE Frameworks"
+HOMEPAGE="https://okular.kde.org https://apps.kde.org/okular/"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="5"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
+IUSE="djvu epub mobi +pdf +postscript +tiff"
+
+# slot op: Uses Qt5::CorePrivate
+DEPEND="
+ >=dev-qt/qtcore-${QTMIN}:5=
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5[gif(+),jpeg,png]
+ >=dev-qt/qtprintsupport-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-apps/libkexiv2-${PVCUT}:5
+ >=kde-frameworks/karchive-${KFMIN}:5
+ >=kde-frameworks/kbookmarks-${KFMIN}:5
+ >=kde-frameworks/kcompletion-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kio-${KFMIN}:5
+ >=kde-frameworks/kparts-${KFMIN}:5
+ >=kde-frameworks/kpty-${KFMIN}:5
+ >=kde-frameworks/ktextwidgets-${KFMIN}:5
+ >=kde-frameworks/threadweaver-${KFMIN}:5
+ media-libs/freetype
+ sys-libs/zlib
+ djvu? ( app-text/djvu )
+ epub? ( app-text/ebook-tools )
+ mobi? ( >=kde-apps/kdegraphics-mobipocket-${PVCUT}:5 )
+ pdf? ( >=app-text/poppler-21.10.0[nss,qt5] )
+ postscript? ( app-text/libspectre )
+ tiff? ( media-libs/tiff:= )
+"
+RDEPEND="${DEPEND}
+ !kde-apps/okular:5
+ >=kde-frameworks/kimageformats-${KFMIN}:5
+"
+
+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() {
+ local mycmakeargs=(
+ -DBUILD_TESTING=OFF # tests are executed for okular:5
+ -DCMAKE_DISABLE_FIND_PACKAGE_CHM=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Discount=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_JPEG=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF5KHtml=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF5Purpose=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KF5Wallet=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Phonon4Qt5=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5TextToSpeech=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_LibZip=ON
+ -DFORCE_NOT_REQUIRED_DEPENDENCIES="KF5DocTools;CHM;KF5KHtml;LibZip;KF5Wallet;DjVuLibre;EPub;KF5KExiv2;Discount;QMobipocket;Poppler;JPEG;LibSpectre;KF5Purpose;Qt5TextToSpeech;TIFF;"
+ -DOKULAR_UI="desktop"
+ $(cmake_use_find_package djvu DjVuLibre)
+ $(cmake_use_find_package epub EPub)
+ $(cmake_use_find_package mobi QMobipocket)
+ $(cmake_use_find_package pdf Poppler)
+ $(cmake_use_find_package postscript LibSpectre)
+ $(cmake_use_find_package tiff TIFF)
+ )
+ ecm_src_configure
+}
+
+src_install() {
+ ecm_src_install
+
+ rm -r "${ED}"/usr/share || die
+}
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/metadata.xml b/media-gfx/openscad/metadata.xml
index 0b965cbf4ac8..654ea84529a5 100644
--- a/media-gfx/openscad/metadata.xml
+++ b/media-gfx/openscad/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>waebbl-gentoo@posteo.net</email>
- <name>Bernd Waibel</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
diff --git a/media-gfx/openscad/openscad-2021.01-r4.ebuild b/media-gfx/openscad/openscad-2021.01-r5.ebuild
index a9028e9dae22..39b12ee55322 100644
--- a/media-gfx/openscad/openscad-2021.01-r4.ebuild
+++ b/media-gfx/openscad/openscad-2021.01-r5.ebuild
@@ -46,7 +46,7 @@ RDEPEND="
media-libs/lib3mf
sci-mathematics/cgal:=
x11-libs/cairo
- >=x11-libs/qscintilla-2.10.3:=
+ >=x11-libs/qscintilla-2.10.3:=[qt5(+)]
emacs? ( >=app-editors/emacs-23.1:* )
"
DEPEND="${RDEPEND}"
diff --git a/media-gfx/openscad/openscad-9999.ebuild b/media-gfx/openscad/openscad-9999.ebuild
index 216d9376fd68..2322d4b21967 100644
--- a/media-gfx/openscad/openscad-9999.ebuild
+++ b/media-gfx/openscad/openscad-9999.ebuild
@@ -54,7 +54,7 @@ RDEPEND="
dev-qt/qtsvg:5
dev-qt/qtwidgets:5
x11-libs/libX11
- x11-libs/qscintilla:=
+ x11-libs/qscintilla:=[qt5(+)]
dbus? ( dev-qt/qtdbus:5 )
gamepad? ( dev-qt/qtgamepad:5 )
)
diff --git a/media-gfx/openvdb/metadata.xml b/media-gfx/openvdb/metadata.xml
index c0e6c1dda969..0b41aea83468 100644
--- a/media-gfx/openvdb/metadata.xml
+++ b/media-gfx/openvdb/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
- <email>agrigo2001@yahoo.com.au</email>
- <name>Adrian Grigo</name>
+ <email>negril.nx+gentoo@gmail.com</email>
+ <name>Paul Zander</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
diff --git a/media-gfx/openvdb/openvdb-10.0.1.ebuild b/media-gfx/openvdb/openvdb-10.0.1.ebuild
index 287893b0cff4..5a0a42c5aed3 100644
--- a/media-gfx/openvdb/openvdb-10.0.1.ebuild
+++ b/media-gfx/openvdb/openvdb-10.0.1.ebuild
@@ -5,7 +5,7 @@ EAPI=8
PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake cuda llvm python-single-r1
+inherit cmake cuda flag-o-matic llvm python-single-r1
DESCRIPTION="Library for the efficient manipulation of volumetric data"
HOMEPAGE="https://www.openvdb.org"
@@ -100,6 +100,12 @@ src_prepare() {
}
src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/926820
+ # https://github.com/AcademySoftwareFoundation/openvdb/issues/1784
+ append-flags -fno-strict-aliasing
+ filter-lto
+
local myprefix="${EPREFIX}/usr/"
local version
diff --git a/media-gfx/openvdb/openvdb-11.0.0.ebuild b/media-gfx/openvdb/openvdb-11.0.0.ebuild
index 056d464f7218..ff01eb449a31 100644
--- a/media-gfx/openvdb/openvdb-11.0.0.ebuild
+++ b/media-gfx/openvdb/openvdb-11.0.0.ebuild
@@ -175,21 +175,22 @@ src_prepare() {
}
my_src_configure() {
- local version
+ local version abi_version
version=$(ver_cut 1)
+ abi_version="${version}"
if use "abi$(( version + 1 ))-compat"; then
- version=$(( version + 1 ))
+ abi_version=$(( version + 1 ))
elif use "abi$(( version - 1 ))-compat"; then
- version=$(( version - 1 ))
+ abi_version=$(( version - 1 ))
elif use "abi$(( version - 2 ))-compat"; then
- version=$(( version - 2 ))
+ abi_version=$(( version - 2 ))
fi
local mycmakeargs=(
-DCMAKE_FIND_PACKAGE_PREFER_CONFIG="yes"
-DCMAKE_INSTALL_DOCDIR="share/doc/${PF}/"
- -DOPENVDB_ABI_VERSION_NUMBER="${version}"
+ -DOPENVDB_ABI_VERSION_NUMBER="${abi_version}"
-DOPENVDB_BUILD_DOCS="$(usex doc)"
-DOPENVDB_BUILD_UNITTESTS="$(usex test)"
-DOPENVDB_BUILD_VDB_LOD="$(usex utils)"
@@ -352,6 +353,12 @@ my_src_install() {
}
src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/926820
+ # https://github.com/AcademySoftwareFoundation/openvdb/issues/1784
+ append-flags -fno-strict-aliasing
+ filter-lto
+
multibuild_foreach_variant my_src_configure
}
diff --git a/media-gfx/optipng/optipng-0.7.8.ebuild b/media-gfx/optipng/optipng-0.7.8.ebuild
index e2e923f9ee4f..6233e5a07d97 100644
--- a/media-gfx/optipng/optipng-0.7.8.ebuild
+++ b/media-gfx/optipng/optipng-0.7.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Compress PNG files without affecting image quality"
HOMEPAGE="https://optipng.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="ZLIB"
SLOT="0"
diff --git a/media-gfx/oxipng/oxipng-9.0.0.ebuild b/media-gfx/oxipng/oxipng-9.0.0.ebuild
index 25caeb74adb9..dc57177ddd22 100644
--- a/media-gfx/oxipng/oxipng-9.0.0.ebuild
+++ b/media-gfx/oxipng/oxipng-9.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# Auto-Generated by cargo-ebuild 0.5.4-r1
@@ -92,7 +92,7 @@ CRATES="
zopfli@0.8.0
"
-inherit cargo flag-o-matic
+inherit cargo
DESCRIPTION="Multithreaded lossless PNG compression optimizer written in Rust"
HOMEPAGE="https://github.com/shssoichiro/oxipng"
@@ -107,16 +107,12 @@ LICENSE="
|| ( MIT Unlicense )
"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
BDEPEND=">=virtual/rust-1.66.0"
QA_FLAGS_IGNORED="usr/bin/${PN}"
-src_configure() {
- filter-lto # 860063 file format not recognized with cloudflare-zlib-sys
-}
-
src_install() {
cargo_src_install
diff --git a/media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild b/media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild
index 0fd924a44a06..bcfcf0708aef 100644
--- a/media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild
+++ b/media-gfx/pablodraw/pablodraw-3.3.13_beta-r1.ebuild
@@ -44,7 +44,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${P/_/-}"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
SRC_URI+=" ${NUGET_URIS} "
diff --git a/media-gfx/photopc/photopc-3.07.ebuild b/media-gfx/photopc/photopc-3.07.ebuild
index a2e80fb2afd2..6348b8d031d8 100644
--- a/media-gfx/photopc/photopc-3.07.ebuild
+++ b/media-gfx/photopc/photopc-3.07.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Utility to control digital cameras based on Sierra Imaging firmware"
HOMEPAGE="http://photopc.sourceforge.net"
-SRC_URI="mirror://sourceforge/photopc/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/photopc/${P}.tar.gz"
LICENSE="photopc"
SLOT="0"
diff --git a/media-gfx/photoqt/metadata.xml b/media-gfx/photoqt/metadata.xml
index 8f1e7db6c6e3..1b717b781d4d 100644
--- a/media-gfx/photoqt/metadata.xml
+++ b/media-gfx/photoqt/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="devil">Support additional image formats using <pkg>media-libs/devil</pkg></flag>
<flag name="freeimage">Support additional image formats using <pkg>media-libs/freeimage</pkg></flag>
diff --git a/media-gfx/phototonic/metadata.xml b/media-gfx/phototonic/metadata.xml
index 0ddc007a7139..f05b374d7585 100644
--- a/media-gfx/phototonic/metadata.xml
+++ b/media-gfx/phototonic/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">oferkv/phototonic</remote-id>
</upstream>
diff --git a/media-gfx/pinta/Manifest b/media-gfx/pinta/Manifest
index 2531f13ef84c..88ede15c3d45 100644
--- a/media-gfx/pinta/Manifest
+++ b/media-gfx/pinta/Manifest
@@ -41,6 +41,7 @@ DIST pangosharp.3.24.24.38.nupkg 142957 BLAKE2B 32bd1ae7a805d5b76da89b7b3ab02bc9
DIST paragonclipper.6.4.2.nupkg 34425 BLAKE2B 0ec1b586bae777b0f05bee929347fafecb81b1df3ddd8243a92ff39864e791410935ced8a2783b95d1392723ea5a5a75531d7ad599d9fdab8477fbcb7b3f62a3 SHA512 c9f311b519bc419c82f8446fc8138f1b4cea9600acb1c3be07705032312b1c16cd87813d09950e6330650764f7f1b3da1356a306c071ff9bac7189edf6e9819d
DIST perfolizer.0.2.1.nupkg 51987 BLAKE2B 2e01e7673ae420136e6194d89c406fca31af85b7f90b460a53ebbe0fef82c38ba3be3821d9e1a7b9b2bf5d117bb9f2f4f91767796bffb51ac14e5cb9f472d873 SHA512 9db50cdcf13a85737c275a0aa3dc4a98b97e7d23e7aca1c9b27df28e454b0d4587315bd62f7181dc03e0257a83d79c7af2e90733eafda70afe5a956c92c20a9a
DIST pinta-2.1.1.tar.gz 7569972 BLAKE2B 792d62a889ac7b37f9e491c5dc12f1f4bee2520e3e9ee605f11b95ebaeaf159a41d24476fa55f00acb5a2a77e6e2d92f0dcfd32b7201e174f4224087995919f2 SHA512 d322411d91dbb40f9775333e7930cc2d89f816fe00ad5f358bcdd439c7f17493098416c5835b82ea5ff2fd4dfb93589416f26f9e8c5137fc750edc2857529780
+DIST pinta-2.1.2.tar.gz 7571286 BLAKE2B 02ba85add6e1da57826803ed318da2db854ba193169d4d8d3a1d7481337beb43e2461da9a71795dc3ab594607e25e5f7db6e06ab5b4a856441a8f572d71864fc SHA512 1c3d5591ac5d867961fc1037dad39d2a6ca1b4178bcadca3f380e7cd0e6ef6171ea2b4b0f5958fc1d893004911923fc144e0dd5774e41794c1d5db613e47b445
DIST sharpziplib.1.4.1.nupkg 732730 BLAKE2B 25d18d8dab8f91c39f65aef00c930d90c6c978d6b829039f077af9dce92a179220fab8ee005f222d792a1ac22e2ef998dc1a6fe58ccdba58eb0a8e8e9dca5758 SHA512 3f051f41f91577291da0d317d210547752251aae07f5060c1f8ff71917477f44ade9674f9862d6ce76d3c2a7a57b700165ee573286054d6dee1ea825f383f59e
DIST system.codedom.6.0.0.nupkg 197501 BLAKE2B bd626f958d3c36129ec319e69b0c057736d94027e2440aa87fcef5aa5d0767d7a52bb8ace5b93fe6af263c1b09238670dc16c9f5a1c1b7e9cc0e6d343d520324 SHA512 2b911b7c9bc524c86562a26547dfc92a8c774ed5937993a4a22e8a9ca1b146151aeaeaf15e4271ff6fe6cf20af634815aa1485a5a4c48d24acf39b2a6bc3cf27
DIST system.collections.immutable.1.5.0.nupkg 804405 BLAKE2B f11cab8fc6e1543d09bb65aec905d8a7b56318fc1f6e4ba723fc5ef393340fe3e29cb8f5d3e788d31b61a80661367371af90065432a63b3a954c39b68b8ecf16 SHA512 4f95c64257078443bbe50c77f061825033dd9389ffef2ad1993832e32733cc957c6a53c76b13d4e794c10b6505ae4438d9bbb7e2c64f7cad1d53e9d665438424
diff --git a/media-gfx/pinta/pinta-2.1.1-r1.ebuild b/media-gfx/pinta/pinta-2.1.1-r1.ebuild
index aaef9d59313c..17049a054f72 100644
--- a/media-gfx/pinta/pinta-2.1.1-r1.ebuild
+++ b/media-gfx/pinta/pinta-2.1.1-r1.ebuild
@@ -81,7 +81,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${P^}"
- KEYWORDS="~amd64"
+ KEYWORDS="amd64"
fi
SRC_URI+=" ${NUGET_URIS} "
diff --git a/media-gfx/pinta/pinta-2.1.2.ebuild b/media-gfx/pinta/pinta-2.1.2.ebuild
new file mode 100644
index 000000000000..8580cd61204d
--- /dev/null
+++ b/media-gfx/pinta/pinta-2.1.2.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+atksharp@3.24.24.38
+benchmarkdotnet.annotations@0.13.2
+benchmarkdotnet@0.13.2
+cairosharp@3.24.24.38
+commandlineparser@2.4.3
+gdksharp@3.24.24.38
+giosharp@3.24.24.38
+glibsharp@3.24.24.38
+gtksharp@3.24.24.38
+iced@1.17.0
+microsoft.bcl.asyncinterfaces@1.1.0
+microsoft.bcl.asyncinterfaces@6.0.0
+microsoft.codeanalysis.analyzers@2.6.2-beta2
+microsoft.codeanalysis.common@3.0.0
+microsoft.codeanalysis.csharp@3.0.0
+microsoft.codecoverage@17.4.1
+microsoft.diagnostics.netcore.client@0.2.251802
+microsoft.diagnostics.runtime@2.2.332302
+microsoft.diagnostics.tracing.traceevent@3.0.2
+microsoft.dotnet.platformabstractions@3.1.6
+microsoft.extensions.configuration.abstractions@2.1.1
+microsoft.extensions.configuration.binder@2.1.1
+microsoft.extensions.configuration@2.1.1
+microsoft.extensions.dependencyinjection.abstractions@2.1.1
+microsoft.extensions.logging.abstractions@2.1.1
+microsoft.extensions.logging@2.1.1
+microsoft.extensions.options@2.1.1
+microsoft.extensions.primitives@2.1.1
+microsoft.net.test.sdk@17.4.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.platforms@2.0.0
+microsoft.testplatform.objectmodel@17.4.1
+microsoft.testplatform.testhost@17.4.1
+netstandard.library@2.0.0
+newtonsoft.json@13.0.1
+ngettext@0.6.7
+nuget.frameworks@5.11.0
+nunit3testadapter@4.3.1
+nunit@3.13.3
+pangosharp@3.24.24.38
+paragonclipper@6.4.2
+perfolizer@0.2.1
+sharpziplib@1.4.1
+system.codedom@6.0.0
+system.collections.immutable@1.5.0
+system.collections.immutable@5.0.0
+system.management@6.0.0
+system.memory@4.5.1
+system.memory@4.5.3
+system.reflection.emit.lightweight@4.7.0
+system.reflection.emit@4.7.0
+system.reflection.metadata@1.6.0
+system.runtime.compilerservices.unsafe@4.5.0
+system.runtime.compilerservices.unsafe@4.5.3
+system.runtime.compilerservices.unsafe@5.0.0
+system.security.principal.windows@4.7.0
+system.text.encoding.codepages@4.5.0
+system.threading.tasks.extensions@4.5.4
+tmds.dbus@0.11.0
+"
+
+inherit autotools dotnet-pkg xdg
+
+DESCRIPTION="Pinta is a free, open source program for drawing and image editing"
+HOMEPAGE="https://www.pinta-project.com/
+ https://github.com/PintaProject/Pinta/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/PintaProject/${PN^}.git"
+else
+ SRC_URI="https://github.com/PintaProject/${PN^}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${P^}"
+
+ KEYWORDS="~amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ x11-libs/gtk+:3[introspection]
+"
+BDEPEND="
+ ${RDEPEND}
+ dev-util/intltool
+"
+
+src_unpack() {
+ dotnet-pkg_src_unpack
+
+ if [[ -n "${EGIT_REPO_URI}" ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ dotnet-pkg_src_prepare
+
+ eautoreconf
+}
+
+src_configure() {
+ econf
+
+ dotnet-pkg_src_configure
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install
+
+ local -r pinta_home="/usr/$(get_libdir)/${PN}"
+
+ mv "${ED}/usr/bin/pinta" "${ED}/${pinta_home}" || die
+ sed -e 's|dotnet|${DOTNET_ROOT}/dotnet|g' \
+ -i "${ED}/${pinta_home}/pinta" \
+ || die
+ dotnet-pkg-base_dolauncher "${pinta_home}/${PN}" "${PN}"
+
+ rm "${ED}/usr/share/man/man1/${PN}.1.gz" || die
+ doman "./xdg/${PN}.1"
+}
diff --git a/media-gfx/pixels2pgf/pixels2pgf-0.1.ebuild b/media-gfx/pixels2pgf/pixels2pgf-0.1-r1.ebuild
index 6969a8a7acf3..a4efe64b145e 100644
--- a/media-gfx/pixels2pgf/pixels2pgf-0.1.ebuild
+++ b/media-gfx/pixels2pgf/pixels2pgf-0.1-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
DESCRIPTION="Convert pixel images (e.g. QRCode) to PGF/Tikz rectangles"
HOMEPAGE="https://github.com/projg2/pixels2pgf/"
@@ -10,8 +10,9 @@ SRC_URI="https://github.com/projg2/pixels2pgf/releases/download/${P}/${P}.tar.bz
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
-IUSE=""
-RDEPEND="media-libs/libsdl:0=
- media-libs/sdl-image:0="
+RDEPEND="
+ media-libs/libsdl:0=
+ media-libs/sdl-image:0=
+"
DEPEND="${RDEPEND}"
diff --git a/media-gfx/pixels2pgf/pixels2pgf-9999.ebuild b/media-gfx/pixels2pgf/pixels2pgf-9999.ebuild
index ae8db1f90a5d..22eefdf7f9be 100644
--- a/media-gfx/pixels2pgf/pixels2pgf-9999.ebuild
+++ b/media-gfx/pixels2pgf/pixels2pgf-9999.ebuild
@@ -1,22 +1,21 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
EGIT_REPO_URI="https://github.com/projg2/${PN}.git"
inherit autotools git-r3
DESCRIPTION="Convert pixel images (e.g. QRCode) to PGF/Tikz rectangles"
HOMEPAGE="https://github.com/projg2/pixels2pgf/"
-SRC_URI=""
LICENSE="BSD"
SLOT="0"
-KEYWORDS=""
-IUSE=""
-RDEPEND="media-libs/libsdl:0=
- media-libs/sdl-image:0="
+RDEPEND="
+ media-libs/libsdl:0=
+ media-libs/sdl-image:0=
+"
DEPEND="${RDEPEND}"
src_prepare() {
diff --git a/media-gfx/plantuml/Manifest b/media-gfx/plantuml/Manifest
index 638597c89802..719c8f7800e2 100644
--- a/media-gfx/plantuml/Manifest
+++ b/media-gfx/plantuml/Manifest
@@ -1,2 +1 @@
-DIST plantuml-1.2023.13.tar.gz 11975624 BLAKE2B dc8792c1b47efe7d27fa4c870271da61d1efcae0554b036d81bc5e6ef27ae522683820d0979bef3f5114780585db4c79edd46199dbab871352fb5562ea2d3a91 SHA512 e0beff723887209971f42984759f04e07140e6e866e1bd9cb50b3e6eb3efbc39d3e1c10a48d7c07655562487e75563affdd616f4f0f50eb22bdf2574f0fa9f4a
-DIST plantuml-1.2024.3.tar.gz 12035326 BLAKE2B 38ee1a8ad29c5f22e00977a0716b17fa4385373ea23a9384bcb388cc714b1ea48742485225e864e8d4fbbf2fb5264e51e16288361e3a18291511cddd3046c5e7 SHA512 85a8f4043ef10e66de2b88892076a7cd0cc645a117bdf354a028a2ab0b17c8fb12d40ca5be44c87871daabe75b3172b2b01d63f158e22eb9cdeff557409855b9
+DIST plantuml-1.2024.4.tar.gz 12061228 BLAKE2B b6edf25c99fecab5a463ddc3f330b28ecad1b60a595f833e4af4ec5e4db3489456f5df4be997879ef38c4053da75b790ae9b942bf28b77a8f73413fbe9289b9a SHA512 cb51e44691eb0a206de3f23e0bf1ba08f8a9d111d838c8b5f2ef2e7b7bae61294deb935bd0c0f2798fdc51d7a0a3e54d40d201075964e109a7f0781010933e91
diff --git a/media-gfx/plantuml/plantuml-1.2023.13.ebuild b/media-gfx/plantuml/plantuml-1.2023.13.ebuild
deleted file mode 100644
index 0191ef13fcdb..000000000000
--- a/media-gfx/plantuml/plantuml-1.2023.13.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-core:0
- media-gfx/graphviz"
-
-EANT_BUILD_TARGET="dist"
-EANT_GENTOO_CLASSPATH="ant-core"
-JAVA_ANT_REWRITE_CLASSPATH="true"
-
-src_install() {
- java-pkg_dojar ${PN}.jar
- java-pkg_dolauncher ${PN} --jar ${PN}.jar
- use source && java-pkg_dosrc src/*
-
- make_desktop_entry plantuml PlantUML
-}
diff --git a/media-gfx/plantuml/plantuml-1.2024.4-r1.ebuild b/media-gfx/plantuml/plantuml-1.2024.4-r1.ebuild
new file mode 100644
index 000000000000..303ce0fb9f18
--- /dev/null
+++ b/media-gfx/plantuml/plantuml-1.2024.4-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+inherit java-pkg-2 java-pkg-simple desktop xdg
+
+DESCRIPTION="Draw UML diagrams using a simple and human readable text description"
+HOMEPAGE="https://plantuml.com"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND=">=virtual/jdk-1.8:*
+ >=dev-java/ant-1.10.14-r1:0"
+RDEPEND=">=virtual/jre-1.8:*
+ media-gfx/graphviz"
+
+JAVA_AUTOMATIC_MODULE_NAME="net.sourceforge.plantuml"
+JAVA_CLASSPATH_EXTRA="ant"
+JAVA_MAIN_CLASS="net.sourceforge.plantuml.Run"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+
+ # java-pkg-simple wants resources in a separate directory
+ cp -r src res || die
+ cp -r skin stdlib svg themes res || die
+ find res -type f \( -name '*.java' -o -iname 'readme.md' \
+ -o -name '*.ttf' -o -name '*.html' -o -name 'data.txt' \
+ -o -name '.editorconfig' \) -exec rm -rf {} + || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ make_desktop_entry plantuml PlantUML
+}
diff --git a/media-gfx/plantuml/plantuml-1.2024.3.ebuild b/media-gfx/plantuml/plantuml-1.2024.4.ebuild
index 141aa1f0ffdc..f152e68ad17d 100644
--- a/media-gfx/plantuml/plantuml-1.2024.3.ebuild
+++ b/media-gfx/plantuml/plantuml-1.2024.4.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://plantuml.com"
SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
DEPEND=">=virtual/jdk-1.8:*"
diff --git a/media-gfx/pngcheck/pngcheck-3.0.2.ebuild b/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
index 660faab0b47c..ca87c90889f4 100644
--- a/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
+++ b/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Verifies the integrity of PNG, JNG and MNG files with internal checksums"
HOMEPAGE="http://www.libpng.org/pub/png/apps/pngcheck.html"
-SRC_URI="mirror://sourceforge/png-mng/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/png-mng/${P}.tar.gz"
LICENSE="HPND GPL-2+"
SLOT="0"
diff --git a/media-gfx/pngcrush/pngcrush-1.8.13.ebuild b/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
index f6de7f55156d..27787e17634f 100644
--- a/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
+++ b/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Portable Network Graphics (PNG) optimizing utility"
HOMEPAGE="https://pmt.sourceforge.io/pngcrush/"
-SRC_URI="mirror://sourceforge/pmt/${P}-nolib.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/pmt/${P}-nolib.tar.xz"
LICENSE="pngcrush"
SLOT="0"
diff --git a/media-gfx/pngnq/pngnq-1.1-r1.ebuild b/media-gfx/pngnq/pngnq-1.1-r1.ebuild
index ee0a6de62dfe..c446224f6674 100644
--- a/media-gfx/pngnq/pngnq-1.1-r1.ebuild
+++ b/media-gfx/pngnq/pngnq-1.1-r1.ebuild
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Pngnq is a tool for quantizing PNG images in RGBA format"
HOMEPAGE="http://pngnq.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD pngnq rwpng"
SLOT="0"
diff --git a/media-gfx/pngtools/pngtools-0.4_p20220314.ebuild b/media-gfx/pngtools/pngtools-0.4_p20220314.ebuild
index 0e411a64e826..67bd84dbf9e8 100644
--- a/media-gfx/pngtools/pngtools-0.4_p20220314.ebuild
+++ b/media-gfx/pngtools/pngtools-0.4_p20220314.ebuild
@@ -1,9 +1,9 @@
-# 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
+inherit autotools flag-o-matic
MY_COMMIT="1ccca3a0f3f6882661bbafbfb62feb774ca195d1"
DESCRIPTION="A series of tools for the PNG image format"
@@ -30,6 +30,15 @@ src_prepare() {
eautoreconf
}
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/875371
+ # https://github.com/mikalstill/pngtools/issues/21
+ filter-lto
+
+ default
+}
+
src_install() {
default
diff --git a/media-gfx/potrace/files/potrace-1.16-lto.patch b/media-gfx/potrace/files/potrace-1.16-lto.patch
new file mode 100644
index 000000000000..a1704783f83e
--- /dev/null
+++ b/media-gfx/potrace/files/potrace-1.16-lto.patch
@@ -0,0 +1,18 @@
+https://git.altlinux.org/srpms/p/potrace.git?p=potrace.git;a=commitdiff;h=385f40d2d9827049f5f43f73d05e9fc7472e0da4
+https://bugs.gentoo.org/868465
+--- a/configure.ac
++++ b/configure.ac
+@@ -251,9 +251,10 @@ AC_CHECK_FUNC(strncasecmp, ,
+ dnl ----------------------------------------------------------------------
+ dnl Check whether we have i386 features
+ AC_MSG_CHECKING([for Intel 386])
+-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int x;
+- asm("bsf %1,%0\njnz 0f\nmovl $32,%0\n0:":"=r"(x):"r"(x));
+- return x; /* need this so that -O2 does not optimize the asm away */
++AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[int x = 1;
++ volatile asm("bsf %1,%0\njnz 0f\nmovl $32,%0\n0:":"=r"(x):"r"(x):"memory");
++ /* volatile and "memory" clobber ensures '-O2 -flto' does not optimize the asm away */
++ return x;
+ ]])],[AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_I386,, Can we use Intel 386 optimizations?)
+ ],[AC_MSG_RESULT(no)])
diff --git a/media-gfx/potrace/potrace-1.16-r1.ebuild b/media-gfx/potrace/potrace-1.16-r1.ebuild
new file mode 100644
index 000000000000..ac9fe7c8ddb2
--- /dev/null
+++ b/media-gfx/potrace/potrace-1.16-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Transf