summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/aewan/aewan-1.0.01-r1.ebuild4
-rw-r--r--media-gfx/aewan/aewan-1.0.01-r2.ebuild4
-rw-r--r--media-gfx/alembic/Manifest2
-rw-r--r--media-gfx/alembic/alembic-1.8.5.ebuild72
-rw-r--r--media-gfx/alembic/alembic-1.8.6-r1.ebuild (renamed from media-gfx/alembic/alembic-1.8.4.ebuild)19
-rw-r--r--media-gfx/alembic/alembic-1.8.6.ebuild2
-rw-r--r--media-gfx/alembic/files/alembic-1.8.0-0001-set-correct-libdir.patch57
-rw-r--r--media-gfx/alembic/files/alembic-1.8.6-py312.patch91
-rw-r--r--media-gfx/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/Manifest3
-rw-r--r--media-gfx/asymptote/asymptote-2.89.ebuild (renamed from media-gfx/asymptote/asymptote-2.86.ebuild)6
-rw-r--r--media-gfx/asymptote/asymptote-2.90.ebuild243
-rw-r--r--media-gfx/asymptote/files/asymptote-2.86-without-lsp.patch50
-rw-r--r--media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild4
-rw-r--r--media-gfx/aview/aview-1.3.0_rc1-r3.ebuild4
-rw-r--r--media-gfx/blender/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.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-r2.ebuild (renamed from media-gfx/blender/blender-3.6.0.ebuild)320
-rw-r--r--media-gfx/blender/blender-4.1.1.ebuild (renamed from media-gfx/blender/blender-3.5.1-r1.ebuild)312
-rw-r--r--media-gfx/blender/blender-9999.ebuild241
-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/cairosvg/cairosvg-2.7.1.ebuild4
-rw-r--r--media-gfx/chafa/Manifest1
-rw-r--r--media-gfx/chafa/chafa-1.12.5-r1.ebuild2
-rw-r--r--media-gfx/chafa/chafa-1.14.1.ebuild41
-rw-r--r--media-gfx/chafa/metadata.xml5
-rw-r--r--media-gfx/converseen/converseen-0.12.0.1.ebuild2
-rw-r--r--media-gfx/cropgui/Manifest1
-rw-r--r--media-gfx/cropgui/cropgui-0.8.ebuild47
-rw-r--r--media-gfx/curtail/Manifest4
-rw-r--r--media-gfx/curtail/curtail-1.10.0.ebuild (renamed from media-gfx/curtail/curtail-1.7.0.ebuild)18
-rw-r--r--media-gfx/curtail/curtail-1.9.1.ebuild (renamed from media-gfx/curtail/curtail-1.8.0.ebuild)5
-rw-r--r--media-gfx/darktable/Manifest1
-rw-r--r--media-gfx/darktable/darktable-4.6.0.ebuild1
-rw-r--r--media-gfx/darktable/darktable-4.6.1.ebuild3
-rw-r--r--media-gfx/darktable/darktable-4.8.0.ebuild196
-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/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch26
-rw-r--r--media-gfx/darktable/metadata.xml4
-rw-r--r--media-gfx/dawn/Manifest1
-rw-r--r--media-gfx/dawn/dawn-3.90b-r1.ebuild59
-rw-r--r--media-gfx/dawn/files/dawn-3.90b-gcc7.patch21
-rw-r--r--media-gfx/dawn/files/dawn-3.90b-no-interactive.patch158
-rw-r--r--media-gfx/dawn/metadata.xml28
-rw-r--r--media-gfx/digikam/Manifest4
-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/digikam-8.4.0.ebuild (renamed from media-gfx/digikam/digikam-8.2.0.ebuild)50
-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/files/digikam-8.4.0-cmake.patch199
-rw-r--r--media-gfx/digikam/files/digikam-8.4.0-fix-find_libheif-regex.patch25
-rw-r--r--media-gfx/digikam/metadata.xml2
-rw-r--r--media-gfx/enblend/Manifest1
-rw-r--r--media-gfx/enblend/enblend-4.2.0_p20240424.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/entice/Manifest1
-rw-r--r--media-gfx/entice/entice-0.0.1.ebuild44
-rw-r--r--media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild4
-rw-r--r--media-gfx/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)6
-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/Manifest2
-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.3.ebuild (renamed from media-gfx/exiv2/exiv2-0.28.2.ebuild)15
-rw-r--r--media-gfx/exiv2/files/exiv2-0.28.1-exiv2lib.patch31
-rw-r--r--media-gfx/fbgrab/metadata.xml5
-rw-r--r--media-gfx/feh/Manifest1
-rw-r--r--media-gfx/feh/feh-3.10.3.ebuild71
-rw-r--r--media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild2
-rw-r--r--media-gfx/fig2dev/fig2dev-3.2.9-r5.ebuild99
-rw-r--r--media-gfx/fig2dev/metadata.xml3
-rw-r--r--media-gfx/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/files/fontforge-20230101-python3.12-distutils-no-more.patch20
-rw-r--r--media-gfx/fontforge/fontforge-20230101-r2.ebuild112
-rw-r--r--media-gfx/fontforge/fontforge-20230101.ebuild4
-rw-r--r--media-gfx/fotocx/Manifest7
-rw-r--r--media-gfx/fotocx/files/fotocx-24.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-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/fotocx/fotocx-24.40.ebuild79
-rw-r--r--media-gfx/fotocx/fotocx-24.50.ebuild (renamed from media-gfx/fotocx/fotocx-23.82.ebuild)22
-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-boost-175-1.patch22
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch22
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch25
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch29
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch186
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch148
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-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-r3.ebuild (renamed from media-gfx/freecad/freecad-0.21.2-r1.ebuild)43
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild27
-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/Manifest6
-rw-r--r--media-gfx/geeqie/files/geeqie-2.1-exiv2-0.28.0.patch151
-rw-r--r--media-gfx/geeqie/files/geeqie-2.1-locale.patch22
-rw-r--r--media-gfx/geeqie/files/geeqie-2.1-lua_hpp.patch19
-rw-r--r--media-gfx/geeqie/files/geeqie-2.3-test-ancillary.patch13
-rw-r--r--media-gfx/geeqie/geeqie-2.1-r1.ebuild112
-rw-r--r--media-gfx/geeqie/geeqie-2.4.ebuild (renamed from media-gfx/geeqie/geeqie-2.2.ebuild)6
-rw-r--r--media-gfx/geeqie/geeqie-9999.ebuild6
-rw-r--r--media-gfx/gifsicle/Manifest1
-rw-r--r--media-gfx/gifsicle/gifsicle-1.94.ebuild4
-rw-r--r--media-gfx/gifsicle/gifsicle-1.95.ebuild26
-rw-r--r--media-gfx/gimp/Manifest3
-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.36-r2.ebuild (renamed from media-gfx/gimp/gimp-2.10.36-r1.ebuild)2
-rw-r--r--media-gfx/gimp/gimp-2.10.38.ebuild (renamed from media-gfx/gimp/gimp-2.10.34-r1.ebuild)33
-rw-r--r--media-gfx/gimp/gimp-2.99.18-r1.ebuild (renamed from media-gfx/gimp/gimp-2.99.16.ebuild)26
-rw-r--r--media-gfx/gimp/gimp-9999.ebuild21
-rw-r--r--media-gfx/gimp/metadata.xml1
-rw-r--r--media-gfx/gnofract4d/Manifest1
-rw-r--r--media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild78
-rw-r--r--media-gfx/gnome-font-viewer/Manifest2
-rw-r--r--media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild (renamed from media-gfx/gnome-font-viewer/gnome-font-viewer-44.0.ebuild)10
-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-r1.ebuild161
-rw-r--r--media-gfx/graphicsmagick/graphicsmagick-1.3.43.ebuild163
-rw-r--r--media-gfx/graphicsmagick/graphicsmagick-9999.ebuild20
-rw-r--r--media-gfx/graphicsmagick/metadata.xml1
-rw-r--r--media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild20
-rw-r--r--media-gfx/graphviz/Manifest3
-rw-r--r--media-gfx/graphviz/graphviz-11.0.0.ebuild (renamed from media-gfx/graphviz/graphviz-8.1.0.ebuild)14
-rw-r--r--media-gfx/graphviz/graphviz-12.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.ebuild4
-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/boost-1.85-932315.patch25
-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-2023.0.0-r1.ebuild (renamed from media-gfx/hugin/hugin-2022.0.0.ebuild)14
-rw-r--r--media-gfx/hugin/hugin-2023.0.0.ebuild97
-rw-r--r--media-gfx/hugin/hugin-9999.ebuild3
-rw-r--r--media-gfx/hydrus/Manifest6
-rw-r--r--media-gfx/hydrus/files/userpath-in-local-share.patch13
-rw-r--r--media-gfx/hydrus/hydrus-565-r1.ebuild (renamed from media-gfx/hydrus/hydrus-538.ebuild)12
-rw-r--r--media-gfx/hydrus/hydrus-571.ebuild (renamed from media-gfx/hydrus/hydrus-534.ebuild)29
-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/img2pdf/Manifest1
-rw-r--r--media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild4
-rw-r--r--media-gfx/img2pdf/img2pdf-0.5.1.ebuild71
-rw-r--r--media-gfx/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-cxx20-2.patch11
-rw-r--r--media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch91
-rw-r--r--media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch61
-rw-r--r--media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch64
-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)23
-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/Manifest3
-rw-r--r--media-gfx/jp2a/jp2a-1.1.1.ebuild4
-rw-r--r--media-gfx/jp2a/jp2a-1.2.0.ebuild24
-rw-r--r--media-gfx/jpeginfo/Manifest1
-rw-r--r--media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild34
-rw-r--r--media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild4
-rw-r--r--media-gfx/kgraphviewer/Manifest1
-rw-r--r--media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild41
-rw-r--r--media-gfx/krita/Manifest1
-rw-r--r--media-gfx/krita/files/krita-5.2.2-fftw.patch18
-rw-r--r--media-gfx/krita/files/krita-5.2.3-tests-optional.patch90
-rw-r--r--media-gfx/krita/krita-5.1.5.ebuild2
-rw-r--r--media-gfx/krita/krita-5.2.3.ebuild134
-rw-r--r--media-gfx/krita/metadata.xml2
-rw-r--r--media-gfx/libbgcode/Manifest3
-rw-r--r--media-gfx/libbgcode/libbgcode-0.0.20240328.ebuild35
-rw-r--r--media-gfx/libbgcode/libbgcode-0.0.20240704.ebuild (renamed from media-gfx/libbgcode/libbgcode-0.0.20231116.ebuild)24
-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/librecad/Manifest1
-rw-r--r--media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch29
-rw-r--r--media-gfx/librecad/librecad-2.2.0.2.ebuild85
-rw-r--r--media-gfx/librecad/librecad-2.2.0.ebuild6
-rw-r--r--media-gfx/libredwg/Manifest1
-rw-r--r--media-gfx/libredwg/libredwg-0.13.3.ebuild111
-rw-r--r--media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-boost-1.85.patch12
-rw-r--r--media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild5
-rw-r--r--media-gfx/lximage-qt/Manifest2
-rw-r--r--media-gfx/lximage-qt/lximage-qt-2.0.1.ebuild (renamed from media-gfx/lximage-qt/lximage-qt-1.3.0.ebuild)20
-rw-r--r--media-gfx/maim/Manifest2
-rw-r--r--media-gfx/maim/maim-5.8.0.ebuild (renamed from media-gfx/maim/maim-5.7.4.ebuild)5
-rw-r--r--media-gfx/mandelbulber/Manifest1
-rw-r--r--media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild4
-rw-r--r--media-gfx/mandelbulber/mandelbulber-2.31.ebuild83
-rw-r--r--media-gfx/mcomix/mcomix-2.1.1-r1.ebuild4
-rw-r--r--media-gfx/mcomix/mcomix-2.2.1.ebuild6
-rw-r--r--media-gfx/mcomix/mcomix-3.0.0-r1.ebuild6
-rw-r--r--media-gfx/mcomix/mcomix-3.1.0.ebuild4
-rw-r--r--media-gfx/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/monica/files/monica-3.7-exit.patch61
-rw-r--r--media-gfx/monica/files/monica-3.7-fprintf.patch46
-rw-r--r--media-gfx/monica/files/monica-3.7-makefile-cleanup.patch (renamed from media-gfx/monica/files/monica-3.6-makefile-cleanup.patch)4
-rw-r--r--media-gfx/monica/monica-3.7-r1.ebuild (renamed from media-gfx/monica/monica-3.7.ebuild)9
-rw-r--r--media-gfx/mscgen/mscgen-0.20.ebuild2
-rw-r--r--media-gfx/mypaint/mypaint-2.0.1-r3.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/files/openscad-2021.01-boost-1.85.patch12
-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)11
-rw-r--r--media-gfx/openscad/openscad-9999.ebuild10
-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.ebuild19
-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/metadata.xml3
-rw-r--r--media-gfx/plantuml/plantuml-1.2023.13.ebuild33
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.3.ebuild33
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.5-r1.ebuild50
-rw-r--r--media-gfx/pngcheck/pngcheck-3.0.2.ebuild4
-rw-r--r--media-gfx/pngcrush/metadata.xml5
-rw-r--r--media-gfx/pngcrush/pngcrush-1.8.13.ebuild2
-rw-r--r--media-gfx/pngnq/files/pngnq-1.1-gcc14-build-fix.patch34
-rw-r--r--media-gfx/pngnq/pngnq-1.1-r1.ebuild2
-rw-r--r--media-gfx/pngnq/pngnq-1.1-r2.ebuild31
-rw-r--r--media-gfx/pngquant/pngquant-2.18.0.ebuild4
-rw-r--r--media-gfx/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-r5.ebuild (renamed from media-gfx/povray/povray-3.7.0.0-r4.ebuild)70
-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/Manifest6
-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.6.0-disable-noisy-asserts.patch14
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch2
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch6
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch16
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.7.4-boost-1.85.patch30
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch19
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch20
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.5.2-r1.ebuild89
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild)21
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.8.0.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild)36
-rw-r--r--media-gfx/prusaslicer/prusaslicer-9999.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.6.0-r1.ebuild)38
-rw-r--r--media-gfx/pstoedit/pstoedit-3.75.ebuild4
-rw-r--r--media-gfx/qiv/Manifest1
-rw-r--r--media-gfx/qiv/metadata.xml3
-rw-r--r--media-gfx/qiv/qiv-2.3.3.ebuild61
-rw-r--r--media-gfx/qrencode/metadata.xml4
-rw-r--r--media-gfx/qrencode/qrencode-4.1.1-r1.ebuild (renamed from media-gfx/qrencode/qrencode-4.1.1.ebuild)25
-rw-r--r--media-gfx/raw-thumbnailer/Manifest1
-rw-r--r--media-gfx/raw-thumbnailer/files/raw-thumbnailer-0.2.1-libopenraw.patch28
-rw-r--r--media-gfx/raw-thumbnailer/raw-thumbnailer-0.2.1-r1.ebuild31
-rw-r--r--media-gfx/rawtherapee/Manifest1
-rw-r--r--media-gfx/rawtherapee/files/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch63
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild (renamed from media-gfx/rawtherapee/rawtherapee-5.10.ebuild)7
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild80
-rw-r--r--media-gfx/recoverjpeg/Manifest1
-rw-r--r--media-gfx/recoverjpeg/metadata.xml3
-rw-r--r--media-gfx/recoverjpeg/recoverjpeg-2.6.3.ebuild17
-rw-r--r--media-gfx/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/Manifest1
-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-airscan/sane-airscan-0.99.29.ebuild43
-rw-r--r--media-gfx/sane-backends/Manifest1
-rw-r--r--media-gfx/sane-backends/files/sane-backends-1.1.1-gcc12-tests.patch78
-rw-r--r--media-gfx/sane-backends/files/sane-backends-1.1.1-genesys-gl845-crash.patch12
-rw-r--r--media-gfx/sane-backends/files/sane-backends-1.1.1-musl.patch34
-rw-r--r--media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild371
-rw-r--r--media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild377
-rw-r--r--media-gfx/sane-backends/sane-backends-1.2.1.ebuild38
-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/scrot/Manifest2
-rw-r--r--media-gfx/scrot/scrot-1.11.1.ebuild (renamed from media-gfx/scrot/scrot-1.9.ebuild)13
-rw-r--r--media-gfx/scrot/scrot-9999.ebuild11
-rw-r--r--media-gfx/sfftobmp/files/sfftobmp-3.1.2-boost-1.85.patch63
-rw-r--r--media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild15
-rw-r--r--media-gfx/shotwell/Manifest3
-rw-r--r--media-gfx/shotwell/shotwell-0.32.2.ebuild92
-rw-r--r--media-gfx/shotwell/shotwell-0.32.7.ebuild (renamed from media-gfx/shotwell/shotwell-0.32.3.ebuild)4
-rw-r--r--media-gfx/simple-scan/Manifest2
-rw-r--r--media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch (renamed from media-gfx/simple-scan/files/40.0-add-control-optional-deps.patch)2
-rw-r--r--media-gfx/simple-scan/simple-scan-46.0.ebuild (renamed from media-gfx/simple-scan/simple-scan-44.0.ebuild)12
-rw-r--r--media-gfx/skanpage/Manifest2
-rw-r--r--media-gfx/skanpage/skanpage-23.08.4.ebuild54
-rw-r--r--media-gfx/skanpage/skanpage-23.08.5.ebuild2
-rw-r--r--media-gfx/skanpage/skanpage-24.05.2.ebuild49
-rw-r--r--media-gfx/superslicer/Manifest6
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch40
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch256
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch53
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-dont-install-bundled-angelscript.patch53
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch11
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch36
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch77
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch21
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch54
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch111
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch43
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch20
-rw-r--r--media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch12
-rw-r--r--media-gfx/superslicer/superslicer-2.5.59.10.ebuild109
-rw-r--r--media-gfx/superslicer/superslicer-2.5.59.8.ebuild (renamed from media-gfx/superslicer/superslicer-2.5.59.0-r3.ebuild)29
-rw-r--r--media-gfx/svg2rlg/Manifest2
-rw-r--r--media-gfx/svg2rlg/metadata.xml1
-rw-r--r--media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild9
-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/tintii/tintii-2.10.0-r1.ebuild28
-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/Manifest2
-rw-r--r--media-gfx/tuxpaint/files/tuxpaint-0.9.28-r2-Makefile.patch231
-rw-r--r--media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile-trans.patch30
-rw-r--r--media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile.patch164
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild65
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild (renamed from media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild)11
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild6
-rw-r--r--media-gfx/ueberzug/Manifest2
-rw-r--r--media-gfx/ueberzug/ueberzug-18.2.3.ebuild (renamed from media-gfx/ueberzug/ueberzug-18.2.2.ebuild)26
-rw-r--r--media-gfx/ueberzugpp/Manifest2
-rw-r--r--media-gfx/ueberzugpp/ueberzugpp-2.9.6.ebuild (renamed from media-gfx/ueberzugpp/ueberzugpp-2.9.2.ebuild)15
-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.xml (renamed from media-gfx/raw-thumbnailer/metadata.xml)3
-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/Manifest2
-rw-r--r--media-gfx/xdot/xdot-1.4.ebuild (renamed from media-gfx/xdot/xdot-1.3.ebuild)4
-rw-r--r--media-gfx/xdot/xdot-9999.ebuild4
-rw-r--r--media-gfx/xpaint/xpaint-3.1.4-r4.ebuild2
-rw-r--r--media-gfx/xv/Manifest1
-rw-r--r--media-gfx/xv/files/xv-5.2.0-osx-bsd.patch51
-rw-r--r--media-gfx/xv/metadata.xml6
-rw-r--r--media-gfx/xv/xv-3.10a-r22.ebuild4
-rw-r--r--media-gfx/xv/xv-5.2.0.ebuild53
458 files changed, 8225 insertions, 10433 deletions
diff --git a/media-gfx/aewan/aewan-1.0.01-r1.ebuild b/media-gfx/aewan/aewan-1.0.01-r1.ebuild
index fcf73c326bb8..f0234388da34 100644
--- a/media-gfx/aewan/aewan-1.0.01-r1.ebuild
+++ b/media-gfx/aewan/aewan-1.0.01-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="A curses-based editor for ASCII art"
HOMEPAGE="https://aewan.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/aewan/aewan-1.0.01-r2.ebuild b/media-gfx/aewan/aewan-1.0.01-r2.ebuild
index e13be3d11d22..2819bef88cc6 100644
--- a/media-gfx/aewan/aewan-1.0.01-r2.ebuild
+++ b/media-gfx/aewan/aewan-1.0.01-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="A curses-based editor for ASCII art"
HOMEPAGE="https://aewan.sourceforge.net/"
-SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${P}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${P}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/alembic/Manifest b/media-gfx/alembic/Manifest
index 711e1186c6d7..4810c74e5789 100644
--- a/media-gfx/alembic/Manifest
+++ b/media-gfx/alembic/Manifest
@@ -1,3 +1 @@
-DIST alembic-1.8.4.tar.gz 867788 BLAKE2B b7bc5ebcaebc5905a9a2e45be21170a72923fd6af6d9f97b81bdc7e8b80bb037ed3f667ea15a5b96194b33687010fda455e4df8355f92fc29aa000beae32cae8 SHA512 2473f4b9afe3fddbd2d0477bdc85d93697e413410253a7f7f0f030fba919dfb63dabd2d2d13829f59f3f901643ab842d230a9f08fb667e2c16cef0e751a8a687
-DIST alembic-1.8.5.tar.gz 867976 BLAKE2B 715ff6212ab78b2b4d3f5ea3b448468ade488008a8362193b4976671a69ad89337f926082c7736e64a0b07bf71e04d774df5e22abe409f8cfab1a15ccb3c86bb SHA512 89a480970eb09893112bf650011ede852205d1fa3718680a3983392bbcf3eb3f22f4ec01f42d12bfcaf655ce43d7d6f583b764ec03f4c5a84023359502b3636e
DIST alembic-1.8.6.tar.gz 868945 BLAKE2B 1ac30ffa75a4b8bbb3f32820e6f67cebcd894465f16cd12ee0396c88611af821b13973f46228fd59726c6bc0cc8885afd4de81a0cebaa0f94cb30fd9daba9885 SHA512 6371b830242be90d4ea833248df5fd42d9e713e305d15eb1383d04410319acdae5743d48d65e8f75f1cedce777d2af7d969cde095f678b17322c19f1c69f477b
diff --git a/media-gfx/alembic/alembic-1.8.5.ebuild b/media-gfx/alembic/alembic-1.8.5.ebuild
deleted file mode 100644
index 2e12359bdff6..000000000000
--- a/media-gfx/alembic/alembic-1.8.5.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit cmake python-single-r1
-
-DESCRIPTION="Open framework for storing and sharing scene data"
-HOMEPAGE="https://www.alembic.io/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
-IUSE="examples hdf5 python test"
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- examples? ( python )
-"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/imath:=
- python? ( dev-libs/imath:=[python,${PYTHON_SINGLE_USEDEP}] )
- hdf5? (
- >=sci-libs/hdf5-1.10.2:=[zlib(+)]
- >=sys-libs/zlib-1.2.11-r1
- )
- python? ( $(python_gen_cond_dep 'dev-libs/boost[python,${PYTHON_USEDEP}]') )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}"/${PN}-1.8.5-set-correct-libdir.patch )
-
-DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt )
-
-src_prepare() {
- cmake_src_prepare
- # Tests are broken with python 3.11. See also: https://github.com/alembic/alembic/issues/411
- cmake_run_in "${S}/python/PyAlembic" cmake_comment_add_subdirectory Tests
-}
-
-src_configure() {
- local mycmakeargs=(
- -DALEMBIC_BUILD_LIBS=ON
- -DALEMBIC_DEBUG_WARNINGS_AS_ERRORS=OFF
- -DALEMBIC_SHARED_LIBS=ON
- # currently does nothing but require doxygen
- -DDOCS_PATH=OFF
- -DUSE_ARNOLD=OFF
- -DUSE_BINARIES=ON
- -DUSE_EXAMPLES=$(usex examples)
- -DUSE_HDF5=$(usex hdf5)
- -DUSE_MAYA=OFF
- -DUSE_PRMAN=OFF
- -DUSE_PYALEMBIC=$(usex python)
- -DUSE_TESTS=$(usex test)
- )
-
- use python && mycmakeargs+=( -DPython3_EXECUTABLE=${PYTHON} )
-
- cmake_src_configure
-}
-
-# some tests may fail if run in parallel mode
-# see https://github.com/alembic/alembic/issues/401
-src_test() {
- cmake_src_test -j1
-}
diff --git a/media-gfx/alembic/alembic-1.8.4.ebuild b/media-gfx/alembic/alembic-1.8.6-r1.ebuild
index f3bfe4a9376b..1c389cb6e29c 100644
--- a/media-gfx/alembic/alembic-1.8.4.ebuild
+++ b/media-gfx/alembic/alembic-1.8.6-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit cmake python-single-r1
@@ -13,14 +13,17 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="examples hdf5 python test"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ examples? ( python )
+"
RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
- dev-libs/imath:=
+ >=dev-libs/imath-3.1.11-r1:=
python? ( dev-libs/imath:=[python,${PYTHON_SINGLE_USEDEP}] )
hdf5? (
>=sci-libs/hdf5-1.10.2:=[zlib(+)]
@@ -30,7 +33,11 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}"/${PN}-1.8.0-0001-set-correct-libdir.patch )
+PATCHES=(
+ "${FILESDIR}/${PN}-1.8.5-set-correct-libdir.patch"
+ "${FILESDIR}/${PN}-1.8.6-py312.patch"
+
+)
DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt )
diff --git a/media-gfx/alembic/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/files/alembic-1.8.0-0001-set-correct-libdir.patch b/media-gfx/alembic/files/alembic-1.8.0-0001-set-correct-libdir.patch
deleted file mode 100644
index 3216e38d2381..000000000000
--- a/media-gfx/alembic/files/alembic-1.8.0-0001-set-correct-libdir.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 9e877b10c05e9482ef00bda99033508cc64211fd Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Fri, 23 Apr 2021 15:20:15 +0200
-Subject: [PATCH] set correct libdir
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
----
- CMakeLists.txt | 8 ++++----
- lib/Alembic/CMakeLists.txt | 4 ++--
- 2 files changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 69fff1e..97d1e2d 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -73,12 +73,12 @@ option(DOCS_PATH
-
- # Set static/dynamic build options
- SET(LIB_TYPE STATIC)
--SET(RUNTIME_INSTALL_DIR lib)
--SET(LIBRARY_INSTALL_DIR lib)
--SET(ARCHIVE_INSTALL_DIR lib)
-+SET(RUNTIME_INSTALL_DIR lib${LIB_SUFFIX})
-+SET(LIBRARY_INSTALL_DIR lib${LIB_SUFFIX})
-+SET(ARCHIVE_INSTALL_DIR lib${LIB_SUFFIX})
- IF (ALEMBIC_SHARED_LIBS)
- SET(LIB_TYPE SHARED)
-- SET(ARCHIVE_INSTALL_DIR lib)
-+ SET(ARCHIVE_INSTALL_DIR lib${LIB_SUFFIX})
- IF (WIN32)
- ADD_DEFINITIONS(-DALEMBIC_DLL)
- ENDIF()
-diff --git a/lib/Alembic/CMakeLists.txt b/lib/Alembic/CMakeLists.txt
-index 20acfed..9859bbe 100644
---- a/lib/Alembic/CMakeLists.txt
-+++ b/lib/Alembic/CMakeLists.txt
-@@ -78,7 +78,7 @@ TARGET_LINK_LIBRARIES(Alembic
- ${ZLIB_LIBRARY}
- )
-
--SET( ALEMBIC_LIB_INSTALL_DIR lib CACHE PATH "Where to install the Alembic libs")
-+SET( ALEMBIC_LIB_INSTALL_DIR lib${LIB_SUFFIX} CACHE PATH "Where to install the Alembic libs")
- INSTALL(TARGETS Alembic
- EXPORT AlembicTargets
- LIBRARY DESTINATION ${ALEMBIC_LIB_INSTALL_DIR}
-@@ -91,7 +91,7 @@ INSTALL(TARGETS Alembic
-
- set(alembic_targets_file "${PROJECT_NAME}Targets.cmake")
-
--SET(ConfigPackageLocation lib/cmake/Alembic CACHE PATH
-+SET(ConfigPackageLocation lib${LIB_SUFFIX}/cmake/Alembic CACHE PATH
- "Where to install the Alembic's cmake files")
-
- INCLUDE(CMakePackageConfigHelpers)
---
-2.31.1
-
diff --git a/media-gfx/alembic/files/alembic-1.8.6-py312.patch b/media-gfx/alembic/files/alembic-1.8.6-py312.patch
new file mode 100644
index 000000000000..499645280d9a
--- /dev/null
+++ b/media-gfx/alembic/files/alembic-1.8.6-py312.patch
@@ -0,0 +1,91 @@
+From 3b6c04d8c02520a973c95b51ca1fa4bd5e7e8e73 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Tue, 4 Jun 2024 14:15:11 +0200
+Subject: [PATCH] python/PyAlembic/Tests: update do python3.12
+
+tests: use assertEqual instead of assertEquals
+tests: use assertRaises instead of failUnlessRaises
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ maya/Tests/AbcExport_dupRoots_test.py | 2 +-
+ python/PyAlembic/Tests/testCollections.py | 4 ++--
+ python/PyAlembic/Tests/testCurves.py | 2 +-
+ python/PyAlembic/Tests/testPropExcept.py | 2 +-
+ python/PyAlembic/Tests/testTypes.py | 2 +-
+ 5 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/maya/Tests/AbcExport_dupRoots_test.py b/maya/Tests/AbcExport_dupRoots_test.py
+index d532c10..f864281 100644
+--- a/maya/Tests/AbcExport_dupRoots_test.py
++++ b/maya/Tests/AbcExport_dupRoots_test.py
+@@ -48,7 +48,7 @@ class AbcExport_dupRootsTest(unittest.TestCase):
+ MayaCmds.group(n='group1')
+ MayaCmds.duplicate()
+
+- self.failUnlessRaises(RuntimeError, MayaCmds.AbcExport,
++ self.assertRaises(RuntimeError, MayaCmds.AbcExport,
+ j='-root group1|cube -root group2|cube -f dupRoots.abc')
+
+ # the abc file shouldn't exist
+diff --git a/python/PyAlembic/Tests/testCollections.py b/python/PyAlembic/Tests/testCollections.py
+index ab48a54..1745582 100644
+--- a/python/PyAlembic/Tests/testCollections.py
++++ b/python/PyAlembic/Tests/testCollections.py
+@@ -67,14 +67,14 @@ class CollectionTest(unittest.TestCase):
+ prop = group.getSchema().createCollection("prop")
+ prop.setValue(strVec)
+
+- self.assertEquals(group.getSchema().getNumCollections(), 1)
++ self.assertEqual(group.getSchema().getNumCollections(), 1)
+
+ # TODO passing in time sampling here causes a segfault, most likely because
+ # of how createCollection currently takes an Argument &, see #274
+ cool = group.getSchema().createCollection("cool", md)
+ cool.setTimeSampling(ts)
+
+- self.assertEquals(
++ self.assertEqual(
+ group.getSchema().getCollection(1).getMetaData().get("coupe"),
+ "de ville" )
+
+diff --git a/python/PyAlembic/Tests/testCurves.py b/python/PyAlembic/Tests/testCurves.py
+index dba9e1c..956625a 100644
+--- a/python/PyAlembic/Tests/testCurves.py
++++ b/python/PyAlembic/Tests/testCurves.py
+@@ -59,7 +59,7 @@ class CurvesTest(unittest.TestCase):
+ widthSamp, uvSamp )
+
+ knots = curvesSamp.getKnots()
+- self.assertEquals(len(knots), 0)
++ self.assertEqual(len(knots), 0)
+
+ newKnots = FloatArray(4)
+ for ii in range(4):
+diff --git a/python/PyAlembic/Tests/testPropExcept.py b/python/PyAlembic/Tests/testPropExcept.py
+index e1a1dff..2ddf40d 100644
+--- a/python/PyAlembic/Tests/testPropExcept.py
++++ b/python/PyAlembic/Tests/testPropExcept.py
+@@ -70,5 +70,5 @@ class PropExceptTest(unittest.TestCase):
+ p = props.getProperty("myprop")
+ self.assertEqual(p.getName(), "myprop")
+
+- self.failUnlessRaises(KeyError, props.getProperty, "notfound")
++ self.assertRaises(KeyError, props.getProperty, "notfound")
+ self.assertRaises(IndexError, props.getProperty, 99)
+diff --git a/python/PyAlembic/Tests/testTypes.py b/python/PyAlembic/Tests/testTypes.py
+index bad9577..f0e8d26 100644
+--- a/python/PyAlembic/Tests/testTypes.py
++++ b/python/PyAlembic/Tests/testTypes.py
+@@ -60,7 +60,7 @@ class TypesTest(unittest.TestCase):
+ self.assertIsNotNone(POD.kUnknownPOD)
+
+ # If a new POD type is added, this will throw an exception
+- self.assertEquals(POD.kNumPlainOldDataTypes, 14)
++ self.assertEqual(POD.kNumPlainOldDataTypes, 14)
+
+ def testDataTypeWrapper(self):
+ # Default Constructor
+--
+2.45.1
+
diff --git a/media-gfx/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..ead92a207efb 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
+DIST asymptote-2.90.src.tgz 15154576 BLAKE2B 57e3c4287f2e8a6b6f3d660cdd04bb753b435294d4769bbcf84d6c7bf80c813609528767af7d19853d9f72f4f1ce9e6a8dcc6a75731a2f3d16098d5da5b81b6c SHA512 2d050f7a2cfc34d2d6b5382a48e7bf09031d98a77e61b654b4af84b5e8e11553a9a713a6dea8d09291761427d7134742a3d266e57ac57ffda3587ec0487ecfca
diff --git a/media-gfx/asymptote/asymptote-2.86.ebuild b/media-gfx/asymptote/asymptote-2.89.ebuild
index c90253601777..8d3f1ada6331 100644
--- a/media-gfx/asymptote/asymptote-2.86.ebuild
+++ b/media-gfx/asymptote/asymptote-2.89.ebuild
@@ -3,13 +3,13 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit autotools elisp-common latex-package python-r1
DESCRIPTION="A vector graphics language that provides a framework for technical drawing"
HOMEPAGE="https://asymptote.sourceforge.io/"
-SRC_URI="mirror://sourceforge/asymptote/${P}.src.tgz"
+SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz"
LICENSE="GPL-3"
SLOT="0"
@@ -73,8 +73,6 @@ PATCHES=(
# Bug #322473
"${FILESDIR}/${PN}-2.70-info.patch"
-
- "${FILESDIR}/${PN}-2.86-without-lsp.patch"
)
src_prepare() {
diff --git a/media-gfx/asymptote/asymptote-2.90.ebuild b/media-gfx/asymptote/asymptote-2.90.ebuild
new file mode 100644
index 000000000000..41e78e722943
--- /dev/null
+++ b/media-gfx/asymptote/asymptote-2.90.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/asymptote/files/asymptote-2.86-without-lsp.patch b/media-gfx/asymptote/files/asymptote-2.86-without-lsp.patch
deleted file mode 100644
index 2f70cd0d9725..000000000000
--- a/media-gfx/asymptote/files/asymptote-2.86-without-lsp.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 29caaed5ead5a62787475286afd22e40585b8bb8 Mon Sep 17 00:00:00 2001
-From: John Bowman <bowman@ualberta.ca>
-Date: Wed, 14 Jun 2023 22:36:35 -0600
-Subject: [PATCH] Fix --without-lsp (issue #379).
-
----
- common.h | 17 ++++++++---------
- 1 file changed, 8 insertions(+), 9 deletions(-)
-
-diff --git a/common.h b/common.h
-index 13f8be106..6ee3d971f 100644
---- a/common.h
-+++ b/common.h
-@@ -17,28 +17,27 @@
- #include "config.h"
- #endif
-
--#ifdef HAVE_LSP
- #if __cplusplus < 201703L
-+
-+#ifdef HAVE_LSP
- #include <boost/optional.hpp>
- #include <boost/none.hpp>
- using boost::optional;
- #define nullopt boost::none
- using boost::make_optional;
- #else
--#include <optional>
--using std::optional;
--using std::nullopt;
--using std::make_optional;
--#endif
--
--#else
--#if __cplusplus < 201703L
- #include "optional.hpp"
- #define boost nonstd
- using nonstd::optional;
- using nonstd::nullopt;
- using nonstd::make_optional;
- #endif
-+
-+#else
-+#include <optional>
-+using std::optional;
-+using std::nullopt;
-+using std::make_optional;
- #endif
-
- using std::make_pair;
diff --git a/media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild b/media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild
index 1de66eca64d0..e7fa26e0d0f3 100644
--- a/media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild
+++ b/media-gfx/autopano-sift-C/autopano-sift-C-2.5.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit cmake
DESCRIPTION="SIFT algorithm for automatic panorama creation in C"
HOMEPAGE="https://hugin.sourceforge.net/ http://user.cs.tu-berlin.de/~nowozin/autopano-sift/"
-SRC_URI="mirror://sourceforge/hugin/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/hugin/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/aview/aview-1.3.0_rc1-r3.ebuild b/media-gfx/aview/aview-1.3.0_rc1-r3.ebuild
index df9349646162..34ad3cda4da5 100644
--- a/media-gfx/aview/aview-1.3.0_rc1-r3.ebuild
+++ b/media-gfx/aview/aview-1.3.0_rc1-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ MY_P=${P/_/}
DESCRIPTION="ASCII Image Viewer"
HOMEPAGE="https://aa-project.sourceforge.net/aview/"
-SRC_URI="mirror://sourceforge/aa-project/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/aa-project/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P/rc*/}"
LICENSE="GPL-2+"
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 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..aa58233b6a81 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
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
IUSE="+bullet +dds +fluid +openexr +tbb \
alembic collada +color-management cuda +cycles \
debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
@@ -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..69f830424c87 100644
--- a/media-gfx/blender/blender-3.3.8.ebuild
+++ b/media-gfx/blender/blender-3.3.8.ebuild
@@ -22,8 +22,8 @@ else
KEYWORDS="amd64 ~arm ~arm64"
fi
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
IUSE="+bullet +dds +fluid +openexr +tbb \
alembic collada +color-management cuda +cycles \
debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
@@ -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.5.ebuild b/media-gfx/blender/blender-3.6.8.ebuild
index 8dc4de747a8c..f127201b747a 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
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
IUSE="+bullet +dds +fluid +openexr +tbb
alembic collada +color-management cuda +cycles cycles-bin-kernels
debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
@@ -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..79149721f474 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
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +fluid +openexr +tbb
- alembic collada +color-management cuda +cycles cycles-bin-kernels
- debug doc +embree +ffmpeg +fftw +gmp hip jack jemalloc jpeg2k
- man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
- +sndfile test +tiff valgrind wayland +webp X"
-RESTRICT="test"
+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.6.0.ebuild b/media-gfx/blender/blender-4.1.1-r2.ebuild
index 49ca6280a4dd..3de02e47f35d 100644
--- a/media-gfx/blender/blender-3.6.0.ebuild
+++ b/media-gfx/blender/blender-4.1.1-r2.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..18} )
-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 )"
- KEYWORDS="~amd64 ~arm ~arm64"
+ SRC_URI="
+ https://download.blender.org/source/${P}.tar.xz
+ "
+ # test? (
+ # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz
+ # )
+ # "
+ KEYWORDS="amd64 ~arm ~arm64"
+ RESTRICT="test" # the test archive returns LFS references.
fi
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +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 )"
+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,28 @@ 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? (
+ llvm_slot_17? (
+ dev-util/hip:0/5.7
+ )
+ llvm_slot_18? (
+ >=dev-util/hip-6.1:=[llvm_slot_18(-)]
+ )
+ )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -83,19 +102,23 @@ 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_USEDEP}]
+ media-libs/mesa[${LLVM_USEDEP}]
+ )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -109,9 +132,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 +157,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
"
BDEPEND="
@@ -138,8 +178,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 +210,45 @@ blender_get_version() {
pkg_pretend() {
blender_check_requirements
+
+ if use oneapi; then
+ einfo "The Intel oneAPI support is rudimentary."
+ einfo ""
+ einfo "Please report any bugs you find to https://bugs.gentoo.org/"
+ fi
}
pkg_setup() {
+ if use osl; then
+ llvm-r1_pkg_setup
+ fi
+
blender_check_requirements
python-single-r1_pkg_setup
}
src_unpack() {
if [[ ${PV} = *9999* ]] ; then
+ if ! use test; then
+ EGIT_SUBMODULES+=( '-tests/*' )
+ fi
git-r3_src_unpack
git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
-
- 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 +259,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 +308,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 +377,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 +423,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 +478,20 @@ src_test() {
[ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
[ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
+ if use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/renderD128"
+ addwrite "/dev/char/"
+ fi
+
+ if use X; then
+ xdg_environment_reset
+ fi
+
cmake_src_test
# Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
+ rm -fr "${T}/usr" || die
}
src_install() {
@@ -417,11 +567,11 @@ pkg_postinst() {
ewarn ""
fi
- if ! use python_single_target_python3_10; then
+ if ! use python_single_target_python3_11; then
elog "You are building Blender with a newer python version than"
elog "supported by this version upstream."
elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
+ elog "python_single_target_python3_11 instead."
elog "Bug: https://bugs.gentoo.org/737388"
elog
fi
@@ -438,7 +588,7 @@ pkg_postrm() {
ewarn ""
ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
+ ewarn "~/.config/${PN}/${BV}/cache/"
ewarn "It may contain extra render kernels not tracked by portage"
ewarn ""
}
diff --git a/media-gfx/blender/blender-3.5.1-r1.ebuild b/media-gfx/blender/blender-4.1.1.ebuild
index 49ca6280a4dd..66f6aa0684a0 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 )"
- KEYWORDS="~amd64 ~arm ~arm64"
+ SRC_URI="
+ https://download.blender.org/source/${P}.tar.xz
+ "
+ # test? (
+ # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz
+ # )
+ # "
+ KEYWORDS="amd64 ~arm ~arm64"
+ RESTRICT="test" # the test archive returns LFS references.
fi
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +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 )"
+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..77eb9876c615 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..18} )
-inherit check-reqs cmake cuda flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
+inherit check-reqs cmake cuda flag-o-matic llvm-r1 pax-utils python-single-r1 toolchain-funcs xdg-utils
DESCRIPTION="3D Creation/Animation/Publishing System"
HOMEPAGE="https://www.blender.org"
if [[ ${PV} = *9999* ]] ; then
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
+ EGIT_LFS="yes"
+ inherit git-r3
EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
+ EGIT_SUBMODULES=( '*' '-lib/*' )
ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
+ RESTRICT="!test? ( test )"
else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- # Update these between major releases.
- TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
+ SRC_URI="
+ https://download.blender.org/source/${P}.tar.xz
+ "
+ # test? (
+ # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz
+ # )
+ # "
KEYWORDS="~amd64 ~arm ~arm64"
+ RESTRICT="test" # the test archive returns LFS references.
fi
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-LICENSE="|| ( GPL-3 BL )"
-IUSE="+bullet +fluid +openexr +tbb
- alembic collada +color-management cuda +cycles cycles-bin-kernels
- debug doc +embree +ffmpeg +fftw +gmp hip jack jemalloc jpeg2k
- man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
- +sndfile test +tiff valgrind wayland +webp X"
-RESTRICT="!test? ( test )"
+IUSE="
+ alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
+ debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
+ jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp openpgl
+ +opensubdiv +openvdb optix osl +otf +pdf +potrace +pugixml pulseaudio
+ renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X
+"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
alembic? ( openexr )
cuda? ( cycles )
- cycles? ( openexr tiff )
+ 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,19 @@ RDEPEND="${PYTHON_DEPS}
collada? ( >=media-libs/opencollada-1.6.68 )
color-management? ( media-libs/opencolorio:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.13.0[raymask] )
+ embree? ( media-libs/embree:=[raymask] )
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp )
- hip? ( >=dev-util/hip-5.7.1 )
+ gnome? ( gui-libs/libdecor )
+ hip? (
+ llvm_slot_17? (
+ dev-util/hip:0/5.7
+ )
+ llvm_slot_18? (
+ >=dev-util/hip-6.1:=[llvm_slot_18(-)]
+ )
+ )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -85,19 +102,23 @@ 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_USEDEP}]
+ media-libs/mesa[${LLVM_USEDEP}]
+ )
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
pugixml? ( dev-libs/pugixml )
@@ -115,6 +136,18 @@ RDEPEND="${PYTHON_DEPS}
media-libs/mesa[wayland]
sys-apps/dbus
)
+ vulkan? (
+ media-libs/shaderc
+ dev-util/spirv-tools
+ dev-util/glslang
+ media-libs/vulkan-loader
+ )
+ otf? (
+ media-libs/harfbuzz
+ )
+ renderdoc? (
+ media-gfx/renderdoc
+ )
X? (
x11-libs/libX11
x11-libs/libXi
@@ -124,6 +157,10 @@ RDEPEND="${PYTHON_DEPS}
DEPEND="${RDEPEND}
dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
"
BDEPEND="
@@ -141,10 +178,14 @@ BDEPEND="
wayland? (
dev-util/wayland-scanner
)
+ X? (
+ x11-base/xorg-proto
+ )
"
PATCHES=(
- "${FILESDIR}/${PN}-4.0.1-openvdb-11.patch"
+ "${FILESDIR}/${PN}-4.0.2-FindClang.patch"
+ "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
)
blender_check_requirements() {
@@ -169,38 +210,45 @@ blender_get_version() {
pkg_pretend() {
blender_check_requirements
+
+ if use oneapi; then
+ einfo "The Intel oneAPI support is rudimentary."
+ einfo ""
+ einfo "Please report any bugs you find to https://bugs.gentoo.org/"
+ fi
}
pkg_setup() {
+ if use osl; then
+ llvm-r1_pkg_setup
+ fi
+
blender_check_requirements
python-single-r1_pkg_setup
}
src_unpack() {
if [[ ${PV} = *9999* ]] ; then
+ if ! use test; then
+ EGIT_SUBMODULES+=( '-tests/*' )
+ fi
git-r3_src_unpack
git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
-
- 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 +263,17 @@ src_prepare() {
-e "s|blender.svg|blender-${BV}.svg|" \
-e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" \
-e "s|blender.desktop|blender-${BV}.desktop|" \
+ -e "s|org.blender.Blender.metainfo.xml|blender-${BV}.metainfo.xml|" \
-i source/creator/CMakeLists.txt || die
sed \
- -e "s|Name=Blender|Name=Blender ${PV}|" \
+ -e "s|Name=Blender|Name=Blender ${BV}|" \
-e "s|Exec=blender|Exec=blender-${BV}|" \
-e "s|Icon=blender|Icon=blender-${BV}|" \
-i release/freedesktop/blender.desktop || die
+ sed -e "s|\${CMAKE_INSTALL_PREFIX}/\${BLENDER_BIN}|${T}/usr/\${BLENDER_BIN}|g" -i source/creator/CMakeLists.txt || die
+
mv \
release/freedesktop/icons/scalable/apps/blender.svg \
"release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
@@ -230,15 +281,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 +318,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 +378,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 +423,8 @@ src_configure() {
# This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
use arm64 && append-flags -flax-vector-conversions
- append-cflags $(usex debug '-DDEBUG' '-DNDEBUG')
- append-cppflags $(usex debug '-DDEBUG' '-DNDEBUG')
+ append-cflags "$(usex debug '-DDEBUG' '-DNDEBUG')"
+ append-cppflags "$(usex debug '-DDEBUG' '-DNDEBUG')"
if tc-is-gcc ; then
# These options only exist when GCC is detected.
@@ -345,7 +436,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 +454,8 @@ src_configure() {
mycmakeargs+=(
-DCYCLES_TEST_DEVICES:STRING="$(local IFS=";"; echo "${CYCLES_TEST_DEVICES[*]}")"
-DWITH_COMPOSITOR_REALTIME_TESTS=yes
- -DWITH_GTESTS=yes
- -DWITH_OPENGL_DRAW_TESTS=yes
- -DWITH_OPENGL_RENDER_TESTS=yes
+ -DWITH_GPU_DRAW_TESTS=yes
+ -DWITH_GPU_RENDER_TESTS=yes
)
fi
@@ -374,7 +465,7 @@ src_configure() {
src_test() {
# A lot of tests needs to have access to the installed data files.
# So install them into the image directory now.
- DESTDIR="${T}" cmake_build install "$@"
+ DESTDIR="${T}" cmake_build install
blender_get_version
# Define custom blender data/script file paths not be able to find them otherwise during testing.
@@ -387,10 +478,20 @@ src_test() {
[ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
[ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
+ if use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/renderD128"
+ addwrite "/dev/char/"
+ fi
+
+ if use X; then
+ xdg_environment_reset
+ fi
+
cmake_src_test
# Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
+ rm -fr "${T}/usr" || die
}
src_install() {
@@ -466,11 +567,11 @@ pkg_postinst() {
ewarn ""
fi
- if ! use python_single_target_python3_10; then
+ if ! use python_single_target_python3_11; then
elog "You are building Blender with a newer python version than"
elog "supported by this version upstream."
elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
+ elog "python_single_target_python3_11 instead."
elog "Bug: https://bugs.gentoo.org/737388"
elog
fi
@@ -487,7 +588,7 @@ pkg_postrm() {
ewarn ""
ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
+ ewarn "~/.config/${PN}/${BV}/cache/"
ewarn "It may contain extra render kernels not tracked by portage"
ewarn ""
}
diff --git a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch b/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
index d9455222c6a7..1f1561e8e7db 100644
--- a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
+++ b/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
@@ -1,3 +1,5 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Change lookup for OpenVDB-11
--- a/intern/cycles/scene/image_vdb.cpp 2023-11-23 14:42:38.772685628 +0100
+++ b/intern/cycles/scene/image_vdb.cpp 2023-11-23 15:19:55.475804922 +0100
@@ -11,7 +11,14 @@
diff --git a/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch b/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch
new file mode 100644
index 000000000000..f476756424e0
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-CUDA_NVCC_FLAGS.patch
@@ -0,0 +1,14 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+insert CUDA_NVCC_FLAGS into the custom nvcc call so we can use CUDAHOSTCXX, e.g. a different gcc version for cuda code
+diff --git a/intern/cycles/kernel/CMakeLists.txt b/intern/cycles/kernel/CMakeLists.txt
+index 604ccb8..160ee20 100644
+--- a/intern/cycles/kernel/CMakeLists.txt
++++ b/intern/cycles/kernel/CMakeLists.txt
+@@ -752,6 +752,7 @@ if(WITH_CYCLES_DEVICE_OPTIX AND WITH_CYCLES_CUDA_BINARIES)
+ -I "${CMAKE_CURRENT_SOURCE_DIR}/device/cuda"
+ --use_fast_math
+ -Wno-deprecated-gpu-targets
++ ${CUDA_NVCC_FLAGS}
+ -o ${output})
+
+ if(WITH_NANOVDB)
diff --git a/media-gfx/blender/files/blender-4.0.2-FindClang.patch b/media-gfx/blender/files/blender-4.0.2-FindClang.patch
new file mode 100644
index 000000000000..2c7a404c3bc6
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-FindClang.patch
@@ -0,0 +1,14 @@
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+look for the merged clang library so we can find clang
+diff --git a/build_files/cmake/Modules/FindClang.cmake b/build_files/cmake/Modules/FindClang.cmake
+index 1957c63..5620b84 100644
+--- a/build_files/cmake/Modules/FindClang.cmake
++++ b/build_files/cmake/Modules/FindClang.cmake
+@@ -85,6 +85,7 @@ set(_CLANG_FIND_COMPONENTS
+ clangAST
+ clangLex
+ clangBasic
++ clang-cpp
+ )
+
+ set(_CLANG_LIBRARIES)
diff --git a/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch b/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
new file mode 100644
index 000000000000..064abf21c6a6
--- /dev/null
+++ b/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
@@ -0,0 +1,342 @@
+From 798a0b301e640e73ae12e6f8a36a66746893bff1 Mon Sep 17 00:00:00 2001
+From: Brecht Van Lommel <brecht@blender.org>
+Date: Sun, 10 Dec 2023 17:08:47 +0100
+Subject: [PATCH] Cycles: update OSL to work with version 1.13.5
+
+This keeps compatibility with older stable versions, but not
+older unreleased versions in the 1.13.x series.
+
+Ref #113157
+
+Pull Request: https://projects.blender.org/blender/blender/pulls/116004
+---
+ intern/cycles/device/cpu/device_impl.cpp | 2 +-
+ .../device/cpu/kernel_thread_globals.cpp | 6 ++-
+ .../cycles/device/cpu/kernel_thread_globals.h | 3 +-
+ intern/cycles/kernel/device/cpu/globals.h | 1 +
+ intern/cycles/kernel/osl/closures.cpp | 52 ++++++++++++++++++-
+ intern/cycles/kernel/osl/globals.cpp | 3 +-
+ intern/cycles/kernel/osl/globals.h | 4 +-
+ intern/cycles/kernel/osl/osl.h | 5 ++
+ intern/cycles/kernel/osl/services.cpp | 27 ++++++++--
+ intern/cycles/kernel/osl/services.h | 21 +++++++-
+ intern/cycles/kernel/osl/types.h | 4 +-
+ 11 files changed, 115 insertions(+), 13 deletions(-)
+
+diff --git a/intern/cycles/device/cpu/device_impl.cpp b/intern/cycles/device/cpu/device_impl.cpp
+index cbbdb844323..ba838233855 100644
+--- a/intern/cycles/device/cpu/device_impl.cpp
++++ b/intern/cycles/device/cpu/device_impl.cpp
+@@ -313,7 +313,7 @@ void CPUDevice::get_cpu_kernel_thread_globals(
+ kernel_thread_globals.clear();
+ void *osl_memory = get_cpu_osl_memory();
+ for (int i = 0; i < info.cpu_threads; i++) {
+- kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler);
++ kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler, i);
+ }
+ }
+
+diff --git a/intern/cycles/device/cpu/kernel_thread_globals.cpp b/intern/cycles/device/cpu/kernel_thread_globals.cpp
+index 546061a5086..998a63aa334 100644
+--- a/intern/cycles/device/cpu/kernel_thread_globals.cpp
++++ b/intern/cycles/device/cpu/kernel_thread_globals.cpp
+@@ -12,14 +12,16 @@ CCL_NAMESPACE_BEGIN
+
+ CPUKernelThreadGlobals::CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals,
+ void *osl_globals_memory,
+- Profiler &cpu_profiler)
++ Profiler &cpu_profiler,
++ const int thread_index)
+ : KernelGlobalsCPU(kernel_globals), cpu_profiler_(cpu_profiler)
+ {
+ clear_runtime_pointers();
+
+ #ifdef WITH_OSL
+- OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory));
++ OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory), thread_index);
+ #else
++ (void)thread_index;
+ (void)osl_globals_memory;
+ #endif
+
+diff --git a/intern/cycles/device/cpu/kernel_thread_globals.h b/intern/cycles/device/cpu/kernel_thread_globals.h
+index dc4b693702a..3dbc35fefa3 100644
+--- a/intern/cycles/device/cpu/kernel_thread_globals.h
++++ b/intern/cycles/device/cpu/kernel_thread_globals.h
+@@ -23,7 +23,8 @@ class CPUKernelThreadGlobals : public KernelGlobalsCPU {
+ * without OSL support. Will avoid need to those unnamed pointers and casts. */
+ CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals,
+ void *osl_globals_memory,
+- Profiler &cpu_profiler);
++ Profiler &cpu_profiler,
++ const int thread_index);
+
+ ~CPUKernelThreadGlobals();
+
+diff --git a/intern/cycles/kernel/device/cpu/globals.h b/intern/cycles/kernel/device/cpu/globals.h
+index 90a274b2bcf..d0495883e27 100644
+--- a/intern/cycles/kernel/device/cpu/globals.h
++++ b/intern/cycles/kernel/device/cpu/globals.h
+@@ -49,6 +49,7 @@ typedef struct KernelGlobalsCPU {
+ OSLGlobals *osl = nullptr;
+ OSLShadingSystem *osl_ss = nullptr;
+ OSLThreadData *osl_tdata = nullptr;
++ int osl_thread_index = 0;
+ #endif
+
+ #ifdef __PATH_GUIDING__
+diff --git a/intern/cycles/kernel/osl/closures.cpp b/intern/cycles/kernel/osl/closures.cpp
+index 808e13f48d6..4a5906873af 100644
+--- a/intern/cycles/kernel/osl/closures.cpp
++++ b/intern/cycles/kernel/osl/closures.cpp
+@@ -110,7 +110,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
+ if (sd->object == OBJECT_NONE && sd->lamp == LAMP_NONE) {
+ /* background */
+ if (kg->osl->background_state) {
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->background_state),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->background_state), *globals);
++#endif
+ }
+ }
+ else {
+@@ -150,8 +160,18 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
+ globals->dPdy = TO_VEC3(tmp_dP.dy);
+ }
+
+- /* execute bump shader */
++/* execute bump shader */
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->bump_state[shader]),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->bump_state[shader]), *globals);
++#endif
+
+ /* reset state */
+ sd->P = P;
+@@ -164,7 +184,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
+
+ /* surface shader */
+ if (kg->osl->surface_state[shader]) {
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->surface_state[shader]),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->surface_state[shader]), *globals);
++#endif
+ }
+ }
+
+@@ -208,7 +238,17 @@ void osl_eval_nodes<SHADER_TYPE_VOLUME>(const KernelGlobalsCPU *kg,
+ int shader = sd->shader & SHADER_MASK;
+
+ if (kg->osl->volume_state[shader]) {
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->volume_state[shader]),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->volume_state[shader]), *globals);
++#endif
+ }
+
+ /* flatten closure tree */
+@@ -245,7 +285,17 @@ void osl_eval_nodes<SHADER_TYPE_DISPLACEMENT>(const KernelGlobalsCPU *kg,
+ int shader = sd->shader & SHADER_MASK;
+
+ if (kg->osl->displacement_state[shader]) {
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ ss->execute(*octx,
++ *(kg->osl->displacement_state[shader]),
++ kg->osl_thread_index,
++ 0,
++ *globals,
++ nullptr,
++ nullptr);
++#else
+ ss->execute(octx, *(kg->osl->displacement_state[shader]), *globals);
++#endif
+ }
+
+ /* get back position */
+diff --git a/intern/cycles/kernel/osl/globals.cpp b/intern/cycles/kernel/osl/globals.cpp
+index c4f055af7f7..573ddb6f362 100644
+--- a/intern/cycles/kernel/osl/globals.cpp
++++ b/intern/cycles/kernel/osl/globals.cpp
+@@ -14,7 +14,7 @@
+
+ CCL_NAMESPACE_BEGIN
+
+-void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals)
++void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals, const int thread_index)
+ {
+ /* no osl used? */
+ if (!osl_globals->use) {
+@@ -37,6 +37,7 @@ void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals)
+
+ kg->osl_ss = (OSLShadingSystem *)ss;
+ kg->osl_tdata = tdata;
++ kg->osl_thread_index = thread_index;
+ }
+
+ void OSLGlobals::thread_free(KernelGlobalsCPU *kg)
+diff --git a/intern/cycles/kernel/osl/globals.h b/intern/cycles/kernel/osl/globals.h
+index 9656ef08306..cf24c62613b 100644
+--- a/intern/cycles/kernel/osl/globals.h
++++ b/intern/cycles/kernel/osl/globals.h
+@@ -45,7 +45,9 @@ struct OSLGlobals {
+ }
+
+ /* per thread data */
+- static void thread_init(struct KernelGlobalsCPU *kg, OSLGlobals *osl_globals);
++ static void thread_init(struct KernelGlobalsCPU *kg,
++ OSLGlobals *osl_globals,
++ const int thread_init);
+ static void thread_free(struct KernelGlobalsCPU *kg);
+
+ bool use;
+diff --git a/intern/cycles/kernel/osl/osl.h b/intern/cycles/kernel/osl/osl.h
+index 347b635632a..3238eb5096b 100644
+--- a/intern/cycles/kernel/osl/osl.h
++++ b/intern/cycles/kernel/osl/osl.h
+@@ -52,6 +52,11 @@ ccl_device_inline void shaderdata_to_shaderglobals(KernelGlobals kg,
+
+ /* shader data to be used in services callbacks */
+ globals->renderstate = sd;
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ globals->shadingStateUniform = nullptr;
++ globals->thread_index = 0;
++ globals->shade_index = 0;
++#endif
+
+ /* hacky, we leave it to services to fetch actual object matrix */
+ globals->shader2common = sd;
+diff --git a/intern/cycles/kernel/osl/services.cpp b/intern/cycles/kernel/osl/services.cpp
+index 02dc1cd1aec..93595b0a458 100644
+--- a/intern/cycles/kernel/osl/services.cpp
++++ b/intern/cycles/kernel/osl/services.cpp
+@@ -1165,7 +1165,18 @@ bool OSLRenderServices::get_userdata(
+ return false; /* disabled by lockgeom */
+ }
+
+-#if OSL_LIBRARY_VERSION_CODE >= 11100
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename,
++ OSL::ShadingContext *context,
++ const TextureOpt *opt)
++{
++ return get_texture_handle(to_ustring(filename), context, opt);
++}
++
++TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSL::ustring filename,
++ OSL::ShadingContext *,
++ const TextureOpt *)
++#elif OSL_LIBRARY_VERSION_CODE >= 11100
+ TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename,
+ OSL::ShadingContext *)
+ #else
+@@ -1616,7 +1627,17 @@ bool OSLRenderServices::environment(OSLUStringHash filename,
+ return status;
+ }
+
+-#if OSL_LIBRARY_VERSION_CODE >= 11100
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
++ TextureHandle *texture_handle,
++ TexturePerthread *texture_thread_info,
++ OSL::ShaderGlobals *,
++ int subimage,
++ OSLUStringHash dataname,
++ TypeDesc datatype,
++ void *data,
++ OSLUStringHash *)
++#elif OSL_LIBRARY_VERSION_CODE >= 11100
+ bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
+ TextureHandle *texture_handle,
+ TexturePerthread *texture_thread_info,
+@@ -1627,7 +1648,7 @@ bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
+ void *data,
+ OSLUStringHash *)
+ #else
+-bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *sg,
++bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *,
+ OSLUStringHash filename,
+ TextureHandle *texture_handle,
+ int subimage,
+diff --git a/intern/cycles/kernel/osl/services.h b/intern/cycles/kernel/osl/services.h
+index b674fa7c7a7..62d8a4c5416 100644
+--- a/intern/cycles/kernel/osl/services.h
++++ b/intern/cycles/kernel/osl/services.h
+@@ -189,7 +189,14 @@ class OSLRenderServices : public OSL::RendererServices {
+ void *val,
+ bool derivatives) override;
+
+-#if OSL_LIBRARY_VERSION_CODE >= 11100
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ TextureSystem::TextureHandle *get_texture_handle(OSL::ustring filename,
++ OSL::ShadingContext *context,
++ const TextureOpt *options) override;
++ TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename,
++ OSL::ShadingContext *context,
++ const TextureOpt *options) override;
++#elif OSL_LIBRARY_VERSION_CODE >= 11100
+ TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename,
+ OSL::ShadingContext *context) override;
+ #else
+@@ -245,7 +252,17 @@ class OSLRenderServices : public OSL::RendererServices {
+ float *dresultdt,
+ OSLUStringHash *errormessage) override;
+
+-#if OSL_LIBRARY_VERSION_CODE >= 11100
++#if OSL_LIBRARY_VERSION_CODE >= 11304
++ bool get_texture_info(OSLUStringHash filename,
++ TextureHandle *texture_handle,
++ TexturePerthread *texture_thread_info,
++ OSL::ShaderGlobals *sg,
++ int subimage,
++ OSLUStringHash dataname,
++ TypeDesc datatype,
++ void *data,
++ OSLUStringHash *errormessage) override;
++#elif OSL_LIBRARY_VERSION_CODE >= 11100
+ bool get_texture_info(OSLUStringHash filename,
+ TextureHandle *texture_handle,
+ TexturePerthread *texture_thread_info,
+diff --git a/intern/cycles/kernel/osl/types.h b/intern/cycles/kernel/osl/types.h
+index 71c808ff91b..8cb5779961a 100644
+--- a/intern/cycles/kernel/osl/types.h
++++ b/intern/cycles/kernel/osl/types.h
+@@ -86,8 +86,10 @@ struct ShaderGlobals {
+ ccl_private void *tracedata;
+ ccl_private void *objdata;
+ void *context;
+-#if OSL_LIBRARY_VERSION_CODE >= 11302
++#if OSL_LIBRARY_VERSION_CODE >= 11304
+ void *shadingStateUniform;
++ int thread_index;
++ int shade_index;
+ #endif
+ void *renderer;
+ ccl_private void *object2common;
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index 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/cairosvg/cairosvg-2.7.1.ebuild b/media-gfx/cairosvg/cairosvg-2.7.1.ebuild
index d159435bd6da..b9a4d974a3ba 100644
--- a/media-gfx/cairosvg/cairosvg-2.7.1.ebuild
+++ b/media-gfx/cairosvg/cairosvg-2.7.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="CairoSVG"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/media-gfx/chafa/Manifest b/media-gfx/chafa/Manifest
index a33fde395387..e71ef6feb138 100644
--- a/media-gfx/chafa/Manifest
+++ b/media-gfx/chafa/Manifest
@@ -1 +1,2 @@
DIST chafa-1.12.5.tar.xz 939792 BLAKE2B 82fbcd7b071dba8534fdd391b6ce22f6de63b1e3eb30228ba1ce6e751c442efbc4a5141d30fa767cc0789b01518da016a4245f9c560837530daa4d92534a9eca SHA512 d0b719294bdc8880f2c65c1bd777ac0eb98d47d48147bc6f883f1917d4f9a6b246c4e9365bc0128b1332d4a268611ac7e479f346f13c49d2e56ff4f446f22d94
+DIST chafa-1.14.1.tar.xz 991656 BLAKE2B 1a7ba4c7d3958396c89b7b2f2873b4c1dfcf5209ae0d53fd0b2e014c3012a316a2d197a2f593c230e02bed01ed3119d6d0659d21b5f5d02dacd7eaaa626f2cb8 SHA512 61872acc3370318ab1a363cd21839978825d722d64225f968fd12acae1b7cf4a9be0f011fa2ab69a62cf61e32f095bb47aaf9d8796b97f25844703e7dfdfea35
diff --git a/media-gfx/chafa/chafa-1.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/chafa/chafa-1.14.1.ebuild b/media-gfx/chafa/chafa-1.14.1.ebuild
new file mode 100644
index 000000000000..06484a9f1cb7
--- /dev/null
+++ b/media-gfx/chafa/chafa-1.14.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic
+
+DESCRIPTION="versatile and fast Unicode/ASCII/ANSI graphics renderer"
+HOMEPAGE="https://hpjansson.org/chafa/ https://github.com/hpjansson/chafa"
+SRC_URI="https://hpjansson.org/chafa/releases/${P}.tar.xz"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+IUSE="+tools webp"
+
+RDEPEND="
+ dev-libs/glib:2
+ tools? ( >=media-libs/freetype-2.0.0 )
+ webp? ( media-libs/libwebp:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_configure() {
+ # bug 909429
+ use webp && append-ldflags -lwebp
+
+ econf \
+ --disable-man \
+ $(use_with tools) \
+ $(use_with webp)
+}
+
+src_install() {
+ default
+
+ use tools && doman docs/chafa.1
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/media-gfx/chafa/metadata.xml b/media-gfx/chafa/metadata.xml
index 1e12935358fc..6cc6698618e1 100644
--- a/media-gfx/chafa/metadata.xml
+++ b/media-gfx/chafa/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
+ <!-- maintainer-needed -->
<use>
<flag name="tools">Build command-line tools</flag>
</use>
diff --git a/media-gfx/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/cropgui/Manifest b/media-gfx/cropgui/Manifest
index 73b9c62cd373..b18c7e67cdd2 100644
--- a/media-gfx/cropgui/Manifest
+++ b/media-gfx/cropgui/Manifest
@@ -1 +1,2 @@
DIST cropgui-0.7.tar.gz 855705 BLAKE2B d2693034b3e3a4355f58c4d17d355721189da8442b5d49ba4c11dc0033371c74301a99c001613c427375bdb9cd733f56a870186a6a59b631feaae93dbd69b232 SHA512 ea06527bdd80382bf4986ea1eea8d3c0e11ea60c472bebb489fdc3bd8206f087d0377d769e8fe86ec4573f6d510266443fd25134894b91206e1c5c9d6f7cf563
+DIST cropgui-0.8.tar.gz 857102 BLAKE2B 0fb1dd24c282e6c5595de97dc2c52d20e7c1200d7092edb8e3173276873c49512088f1fc8deed0c1e3d6b606009fe06f3c38cf98c7dac15dd74ccbdab2d71539 SHA512 911bea2b989ce53afeaf067fe5d718440b0a15c26b9488259569f1a287c8128cb7244bcb0721b15ec3564644a0ba8e9ed2991d275420bf3e3659cb0be2e8622d
diff --git a/media-gfx/cropgui/cropgui-0.8.ebuild b/media-gfx/cropgui/cropgui-0.8.ebuild
new file mode 100644
index 000000000000..b089224257bf
--- /dev/null
+++ b/media-gfx/cropgui/cropgui-0.8.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12} )
+inherit python-r1 desktop wrapper xdg-utils
+
+DESCRIPTION="GUI for lossless cropping of jpeg images"
+HOMEPAGE="https://emergent.unpythonic.net/01248401946"
+SRC_URI="https://github.com/jepler/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${PYTHON_DEPS}
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ media-libs/exiftool
+ media-gfx/imagemagick"
+
+install_cropgui_wrapper() {
+ python_domodule cropgtk.py cropgui_common.py filechooser.py cropgui.glade
+ make_wrapper "${PN}.tmp" "${PYTHON} $(python_get_sitedir)/${PN}/cropgtk.py"
+ python_newexe "${ED}/usr/bin/${PN}.tmp" "${PN}"
+ rm "${ED}/usr/bin/${PN}.tmp" || die
+}
+
+src_install() {
+ python_moduleinto "${PN}"
+ python_foreach_impl install_cropgui_wrapper
+
+ domenu "${PN}.desktop"
+ doicon "${PN}.png"
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+}
diff --git a/media-gfx/curtail/Manifest b/media-gfx/curtail/Manifest
index d642c5ec08dc..96cc9b80fdfd 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.10.0.tar.gz 205428 BLAKE2B 7a9d1c56542648cd1c4c6fe1355276896bea96a8f054d03c2e4a174e392867db05c3a6548897d31f078b2416eac8b3695cafd3977236f0b66fd10f3020e35d3a SHA512 6bd76b4cefd693199e25db112e90acaa990d2a8dbc2016bd9d55e8d1857bd9c6e94f9164691855231afeff65ae3b070c646a8dc8b446591a08509683dd4a9fb7
+DIST curtail-1.9.1.tar.gz 199785 BLAKE2B 689aa8f61f3c48ed51a85c35bbc6bee136a20064cd2d03c48f630fd80c8c85b64421e77327a71a41f266bd8f9d6f0dcdc197c15657159ae74056e1b52cc8ef12 SHA512 7ff0ff10068c5ff2694f6674376edf84957759b6274740d47d11a584943b026183b13a59b777c27569b6997c3cb358694fa93c55a1136b9d1fab08e768d1a1a4
diff --git a/media-gfx/curtail/curtail-1.7.0.ebuild b/media-gfx/curtail/curtail-1.10.0.ebuild
index da8cd30f56a5..c698273b9338 100644
--- a/media-gfx/curtail/curtail-1.7.0.ebuild
+++ b/media-gfx/curtail/curtail-1.10.0.ebuild
@@ -1,34 +1,38 @@
-# 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_{11..13} )
inherit gnome2-utils meson python-single-r1 xdg
DESCRIPTION="Image compressor, supporting PNG, JPEG and WebP"
HOMEPAGE="https://github.com/Huluti/Curtail/"
-if [[ ${PV} == *9999* ]] ; then
+if [[ "${PV}" == *9999* ]] ; then
inherit git-r3
+
EGIT_REPO_URI="https://github.com/Huluti/${PN^}.git"
else
SRC_URI="https://github.com/Huluti/${PN^}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
- S="${WORKDIR}"/${P^}
+ S="${WORKDIR}/${P^}"
+
KEYWORDS="amd64 ~x86"
fi
LICENSE="GPL-3+"
SLOT="0"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-RESTRICT="test" # Just desktop / schema / appstream file validation (fails).
+RESTRICT="test" # Just desktop / schema / appstream file validation (fails).
RDEPEND="
${PYTHON_DEPS}
gui-libs/gtk:4[introspection]
- $(python_gen_cond_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]')
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
"
BDEPEND="
${RDEPEND}
@@ -46,7 +50,7 @@ RDEPEND+="
DOCS=( CHANGELOG.md README.md )
src_prepare() {
- sed -i "s|@PYTHON@|${PYTHON}|" "${S}"/src/${PN}.in || die
+ sed -i "s|@PYTHON@|${PYTHON}|" "${S}/src/${PN}.in" || die
default
}
diff --git a/media-gfx/curtail/curtail-1.8.0.ebuild b/media-gfx/curtail/curtail-1.9.1.ebuild
index c60211abeb15..036a248fd7e7 100644
--- a/media-gfx/curtail/curtail-1.8.0.ebuild
+++ b/media-gfx/curtail/curtail-1.9.1.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
@@ -16,7 +16,8 @@ if [[ ${PV} == *9999* ]] ; then
else
SRC_URI="https://github.com/Huluti/${PN^}/archive/${PV}.tar.gz
-> ${P}.tar.gz"
- S="${WORKDIR}"/${P^}
+ S="${WORKDIR}/${P^}"
+
KEYWORDS="amd64 ~x86"
fi
diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest
index cbf2776ca5d3..e0b1a097eb61 100644
--- a/media-gfx/darktable/Manifest
+++ b/media-gfx/darktable/Manifest
@@ -1,5 +1,6 @@
DIST darktable-4.6.0.tar.xz 6129572 BLAKE2B 170d874f6a35c4fe5a5555f308bc541885968b8b5535402f8087ad4d47ee93f3d22a78c633f9b3e14584d1925a7dd682a5f3e2bd187ef2f58d0dc2a407b9bb27 SHA512 825a63c9b8bd7420f5c4b53a9281587be92088e1cd617faaf1de2b455503092cc7476872803a1d82c7bf57fcc57f85a40fc4af8ca04367e48719030f08726df7
DIST darktable-4.6.1.tar.xz 6240188 BLAKE2B cf0055a4dd5f0a246b8de8ca5a29488fd77162cf2e0d7b681235499da39e4dad69dc5e5f7083f67364171d89aa76e940e8338eadee959f6529fb27658f43b75b SHA512 a5bcbdded7cacbc22d82cc982ad1387dc316cf4c0369f6f215abf9f60906024f2236a988dc025c0553bc2d8d7ca9d7bee9eb28b164fa1d9312eef1a084156fb6
+DIST darktable-4.8.0.tar.xz 6256036 BLAKE2B 386276776a68887c7b439bf71ecc2ba9cd4cf54c247073908eae0cafd1d1db390c39937dfd4a2fcbe5164317b6090e29f2d2caa66fb7da47a702ba8988833ed5 SHA512 cb0535274a2862dfb2c8d36149cfced828662e423e04347970c0e2546e4d70ed7ab52cb80b6d21785165a294dee74fc23ba749086aab0a78386936341eb8216a
DIST darktable-usermanual-4.4.en.pdf 34311705 BLAKE2B 98094ed8288be092ec9c0398bf1719992ce80723aa803e3924e9d28c1c5f2717b120ed618cbec6eebb958be59d15fe107428099efd87926622b5d08110e36b67 SHA512 90e8b8912776b674a436a7e2377d16b0ef374d879ba16501a1c8a0c8407776ef362b747121859884e0aac1d9fc94f3bf0a58bbccdc6fce27cbcaf4cf169d6ef3
DIST darktable-usermanual-4.4.uk.pdf 33796107 BLAKE2B 060218ec9b7fbcec947506ea9fdf355411d0b1242d41b9ffb7abd8dd991ece29e75c06231251d2ec2701e319e1b1e8134c08603649fe7e933d21b4aef597f7c3 SHA512 f2a6837a05114d4254fade358382be5fabcbd980a3c4fad702b1102176c7e261fd8646aeef1c0328001da8f7cb25d50b06c9f1163a54987985f556c616728bf5
DIST darktable-usermanual-4.6.en.pdf 26844087 BLAKE2B 5bdb5e012cd8ba7bace733006136b1f9e510214179e84a9cba0664a3c2e4b19828e2cc54addaf5999579b910b592bf0e9cd9796cf89f3a4e6ae369e8187fbfce SHA512 a1d610c42ae3d1ae4d0bf3e827ed9ccae6faeea20cbc03e7c12d74c3c41175bf3f61d9eba43406b9ba86750edf976c1539357ddf774733f566a076418c34f558
diff --git a/media-gfx/darktable/darktable-4.6.0.ebuild b/media-gfx/darktable/darktable-4.6.0.ebuild
index 437afc9b907f..ac40477450ed 100644
--- a/media-gfx/darktable/darktable-4.6.0.ebuild
+++ b/media-gfx/darktable/darktable-4.6.0.ebuild
@@ -148,6 +148,7 @@ src_configure() {
-DUSE_COLORD=$(usex colord)
-DUSE_GMIC=OFF
-DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
+ -DUSE_HEIF=$(usex heif)
-DUSE_JXL=$(usex jpegxl)
-DUSE_KWALLET=$(usex kwallet)
-DUSE_LIBSECRET=$(usex keyring)
diff --git a/media-gfx/darktable/darktable-4.6.1.ebuild b/media-gfx/darktable/darktable-4.6.1.ebuild
index 99e89a9019b5..f3b24a3397c4 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)
@@ -149,6 +149,7 @@ src_configure() {
-DUSE_COLORD=$(usex colord)
-DUSE_GMIC=OFF
-DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
+ -DUSE_HEIF=$(usex heif)
-DUSE_JXL=$(usex jpegxl)
-DUSE_KWALLET=$(usex kwallet)
-DUSE_LIBSECRET=$(usex keyring)
diff --git a/media-gfx/darktable/darktable-4.8.0.ebuild b/media-gfx/darktable/darktable-4.8.0.ebuild
new file mode 100644
index 000000000000..a03a32b2d03e
--- /dev/null
+++ b/media-gfx/darktable/darktable-4.8.0.ebuild
@@ -0,0 +1,196 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-4 )
+
+inherit cmake flag-o-matic lua-single toolchain-funcs xdg
+
+DESCRIPTION="A virtual lighttable and darkroom for photographers"
+HOMEPAGE="https://www.darktable.org/"
+S="${WORKDIR}/${P/_/~}"
+LICENSE="GPL-3 CC-BY-3.0"
+SLOT="0"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/darktable-org/${PN}.git"
+
+ LANGS=" af ca cs da de el es fi fr gl he hu it ja nb nl pl pt-BR pt-PT ro ru sk sl sq sv th uk zh-CN zh-TW"
+else
+ #DOC_PV=$(ver_cut 1-2)
+ DOC_PV="4.6"
+ MY_PV="${PV/_/}"
+ MY_P="${P/_/.}"
+
+ SRC_URI="https://github.com/darktable-org/${PN}/releases/download/release-${MY_PV}/${MY_P}.tar.xz
+ doc? (
+ https://docs.darktable.org/usermanual/${DOC_PV}/en/${PN}_user_manual.pdf -> ${PN}-usermanual-${DOC_PV}.en.pdf
+ l10n_uk? (
+ https://docs.darktable.org/usermanual/${DOC_PV}/uk/${PN}_user_manual.pdf
+ -> ${PN}-usermanual-${DOC_PV}.uk.pdf
+ )
+ )"
+
+ KEYWORDS="~amd64 ~arm64 -x86"
+ LANGS=" cs de es fi fr hu it ja nl pl pt-BR ru sl sq uk zh-CN zh-TW"
+fi
+
+IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi nls opencl openmp openexr test tools webp
+ ${LANGS// / l10n_}"
+
+REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
+RESTRICT="!test? ( test )"
+
+# It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite]
+# in BDEPEND. This has not been done *on purpose*, for the following reason:
+# - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative,
+# in BDEPEND too
+# - there are at least two darktable dependencies (media-libs/mesa and virtual/rust) which
+# by default pull in sys-devel/clang
+# - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op
+# (and curiously enough, empirical observations suggest current versions of Portage are
+# more likely to pull in Clang to build darktable with than to request enabling USE=graphite
+# on GCC; that might be a bug though)
+BDEPEND="dev-util/intltool
+ virtual/pkgconfig
+ nls? ( sys-devel/gettext )
+ test? ( >=dev-python/jsonschema-3.2.0 )"
+DEPEND="dev-db/sqlite:3
+ dev-libs/icu:=
+ dev-libs/json-glib
+ dev-libs/libxml2:2
+ >=dev-libs/pugixml-1.8:=
+ gnome-base/librsvg:2
+ >=media-gfx/exiv2-0.25-r2:=[xmp]
+ media-libs/lcms:2
+ >=media-libs/lensfun-0.2.3:=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ net-libs/libsoup:2.4
+ net-misc/curl
+ sys-libs/zlib:=
+ x11-libs/cairo
+ >=x11-libs/gtk+-3.22:3
+ x11-libs/pango
+ avif? ( >=media-libs/libavif-0.8.2:= )
+ colord? ( x11-libs/colord-gtk:= )
+ cups? ( net-print/cups )
+ gamepad? ( media-libs/libsdl2 )
+ geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 )
+ keyring? ( >=app-crypt/libsecret-0.18 )
+ gphoto2? ( media-libs/libgphoto2:= )
+ graphicsmagick? ( media-gfx/graphicsmagick )
+ heif? ( media-libs/libheif:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ jpegxl? ( media-libs/libjxl:= )
+ lua? ( ${LUA_DEPS} )
+ midi? ( media-libs/portmidi )
+ opencl? ( virtual/opencl )
+ openexr? ( media-libs/openexr:= )
+ webp? ( media-libs/libwebp:= )"
+RDEPEND="${DEPEND}
+ kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1 )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
+ "${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch
+ "${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch
+ "${FILESDIR}"/${PN}-4.8.0_fix-has-attribute-musl.patch
+)
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ # Bug #695658
+ if tc-is-gcc; then
+ if ! test-flags-CC -floop-block &> /dev/null; then
+ eerror "Building ${PN} with GCC requires Graphite support."
+ eerror "Please switch to a version of sys-devel/gcc built with USE=graphite, or use a different compiler."
+ die "Selected compiler is sys-devel/gcc[-graphite]"
+ fi
+ fi
+
+ use openmp && tc-check-openmp
+ fi
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ use lua && lua-single_pkg_setup
+}
+
+src_prepare() {
+ use cpu_flags_x86_avx && append-flags -mavx
+ use cpu_flags_x86_sse3 && append-flags -msse3
+
+ sed -i -e 's:/appdata:/metainfo:g' data/CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE="Release"
+ local mycmakeargs=(
+ -DBUILD_CURVE_TOOLS=$(usex tools)
+ -DBUILD_NOISE_TOOLS=$(usex tools)
+ -DBUILD_PRINT=$(usex cups)
+ -DCUSTOM_CFLAGS=ON
+ -DDONT_USE_INTERNAL_LUA=ON
+ -DRAWSPEED_ENABLE_LTO=$(usex lto)
+ -DRAWSPEED_ENABLE_WERROR=OFF
+ -DRAWSPEED_MUSL_SYSTEM=$(usex elibc_musl)
+ -DTESTBUILD_OPENCL_PROGRAMS=OFF
+ -DUSE_AVIF=$(usex avif)
+ -DUSE_CAMERA_SUPPORT=$(usex gphoto2)
+ -DUSE_COLORD=$(usex colord)
+ -DUSE_GMIC=OFF
+ -DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
+ -DUSE_HEIF=$(usex heif)
+ -DUSE_JXL=$(usex jpegxl)
+ -DUSE_KWALLET=$(usex kwallet)
+ -DUSE_LIBSECRET=$(usex keyring)
+ -DUSE_LUA=$(usex lua)
+ -DUSE_MAP=$(usex geolocation)
+ -DUSE_NLS=$(usex nls)
+ -DUSE_OPENCL=$(usex opencl)
+ -DUSE_OPENEXR=$(usex openexr)
+ -DUSE_OPENJPEG=$(usex jpeg2k)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_PORTMIDI=$(usex midi)
+ -DUSE_SDL2=$(usex gamepad)
+ -DUSE_WEBP=$(usex webp)
+ -DWANT_JSON_VALIDATION=$(usex test)
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ # This USE flag is masked for -9999
+ if use doc; then
+ dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.en.pdf
+ use l10n_uk && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.uk.pdf
+ fi
+
+ if use nls; then
+ for lang in ${LANGS} ; do
+ if ! use l10n_${lang}; then
+ rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
+ fi
+ done
+ fi
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ elog
+ elog "When updating a major version,"
+ elog "please bear in mind that your edits will be preserved during this process,"
+ elog "but it will not be possible to downgrade any more."
+ elog
+ ewarn "It will not be possible to downgrade!"
+ ewarn
+}
diff --git a/media-gfx/darktable/files/darktable-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/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch b/media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch
new file mode 100644
index 000000000000..f6a474acfd24
--- /dev/null
+++ b/media-gfx/darktable/files/darktable-4.8.0_fix-has-attribute-musl.patch
@@ -0,0 +1,26 @@
+From 7601d97268bf5f63f7e53d9c114fe439dcc46b0d Mon Sep 17 00:00:00 2001
+From: Markus Meier <maekke@gentoo.org>
+Date: Fri, 21 Jun 2024 20:35:33 +0200
+Subject: [PATCH] fix musl build
+
+See https://bugs.gentoo.org/915596
+---
+ src/common/darktable.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/common/darktable.h b/src/common/darktable.h
+index a62fd402fe..4d0d571b2b 100644
+--- a/src/common/darktable.h
++++ b/src/common/darktable.h
+@@ -150,7 +150,7 @@ extern "C" {
+ /* Create cloned functions for various CPU SSE generations */
+ /* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */
+ /* TL;DR : use only on SIMD functions containing low-level paralellized/vectorized loops */
+-#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && !defined(__APPLE__)
++#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && !defined(__APPLE__) && defined(__GLIBC__)
+ # if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)
+ #define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
+ # elif defined(__PPC64__)
+--
+2.44.2
+
diff --git a/media-gfx/darktable/metadata.xml b/media-gfx/darktable/metadata.xml
index be183534803a..3abfd9aceb0e 100644
--- a/media-gfx/darktable/metadata.xml
+++ b/media-gfx/darktable/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <maintainer type="person">
<email>maekke@gentoo.org</email>
<name>Markus Meier</name>
</maintainer>
diff --git a/media-gfx/dawn/Manifest b/media-gfx/dawn/Manifest
deleted file mode 100644
index 1cdca1e65ecb..000000000000
--- a/media-gfx/dawn/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dawn_3_90b.tgz 1334732 BLAKE2B 97f4e747b8f9d2eb60d9c8f0e7358fe549052e36a02127f02363c328775f33ae9fd36afd850ef06b365aaaa9723a541d89d7f2fccb37d1dd30f626054d7939b3 SHA512 5ff0b3572442ad1f435d5f894a0f1637efbc8eb3dae4f67dd456ff220a497cc59fe3bdf773cd38a0690d3689e9cda48f49c408ddab56f31efb9c87447d439fea
diff --git a/media-gfx/dawn/dawn-3.90b-r1.ebuild b/media-gfx/dawn/dawn-3.90b-r1.ebuild
deleted file mode 100644
index 8a48d386661e..000000000000
--- a/media-gfx/dawn/dawn-3.90b-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2018 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit eapi7-ver toolchain-funcs
-
-MY_P=${PN}_$(ver_rs 1 _)
-
-DESCRIPTION="3D geometrical postscript renderer"
-HOMEPAGE="http://geant4.kek.jp/~tanaka/DAWN/About_DAWN.html"
-SRC_URI="http://geant4.kek.jp/~tanaka/src/${MY_P}.tgz"
-
-LICENSE="public-domain"
-SLOT="0"
-
-KEYWORDS="amd64 ~hppa ppc x86"
-IUSE="doc opengl X"
-
-RDEPEND="dev-lang/tk:*
- opengl? ( virtual/opengl )
- X? ( x11-libs/libX11 )"
-DEPEND="${RDEPEND}
- app-shells/tcsh
- doc? ( virtual/latex-base )"
-
-S="${WORKDIR}/${MY_P}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-interactive.patch
- "${FILESDIR}"/${P}-gcc7.patch
-)
-
-DOCS=( README.txt )
-
-src_prepare() {
- default
-
- sed -i -e "s/\$(LIB_DIR)/\$(LDFLAGS) &/" \
- -e '/strip/d' Makefile*in || die
-
- if use X; then
- mv -f configure_xwin configure || die
- fi
-
- tc-export CXX
-}
-
-src_install() {
- dodir /usr/bin
-
- if use doc; then
- pdflatex DOC/G4PRIM_FORMAT_24.tex || die "pdf generation failed"
- DOCS+=( DOC/*.pdf )
- HTML_DOCS=( DOC/*.html )
- fi
-
- default
-}
diff --git a/media-gfx/dawn/files/dawn-3.90b-gcc7.patch b/media-gfx/dawn/files/dawn-3.90b-gcc7.patch
deleted file mode 100644
index e144a38df8f0..000000000000
--- a/media-gfx/dawn/files/dawn-3.90b-gcc7.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Bug: https://bugs.gentoo.org/638616
-
---- a/FRString.h
-+++ b/FRString.h
-@@ -137,13 +137,13 @@
- char* p = m_string ;
-
- // skip first blank if any
-- while( isspace(*p) && p != '\0' ) {p++;}
-+ while( isspace(*p) && *p != '\0' ) {p++;}
-
- // skip one word
-- while( !isspace(*p) && p != '\0' ) {p++;}
-+ while( !isspace(*p) && *p != '\0' ) {p++;}
-
- // skip second blank if any
-- while( isspace(*p) && p != '\0' ) {p++;}
-+ while( isspace(*p) && *p != '\0' ) {p++;}
-
- // reset string
- strcpy( tmp, p );
diff --git a/media-gfx/dawn/files/dawn-3.90b-no-interactive.patch b/media-gfx/dawn/files/dawn-3.90b-no-interactive.patch
deleted file mode 100644
index ea8ac7e6a90e..000000000000
--- a/media-gfx/dawn/files/dawn-3.90b-no-interactive.patch
+++ /dev/null
@@ -1,158 +0,0 @@
---- a/configure_xwin
-+++ b/configure_xwin
-@@ -16,17 +16,17 @@
- #----- C++ compiler name
- echo "Input C++ compiler name (e.g. g++, no default)."
- echo -n " :"
--set cpp_compiler=$<
-+set cpp_compiler=
-
- #----- Optimization option of the C++ compiler
- echo "Input optimization option (e.g. -O2, no default)"
- echo -n " :"
--set optimize=$<
-+set optimize=
-
- #----- Input Tcl/Tk window shell name
- echo "Input Tcl/Tk window shell name"
- echo -n " (e.g. wish, no default): "
--set wish=$<
-+set wish=wish
-
-
- #-----
-@@ -34,7 +34,7 @@
- echo " (e.g. -I/usr/X11R6/include) "
- echo " Hit return key if path is already set properly. )"
- echo -n " : "
--set xlib_inc=$<
-+set xlib_inc=
- echo ""
-
-
-@@ -43,17 +43,17 @@
- echo " (e.g. -L/usr/X11R6/lib) "
- echo " Hit return key if path is already set properly.)"
- echo -n " : "
--set xlib_lib=$<
-+set xlib_lib=
- echo ""
-
- #----- Input directory name to install dawn and DAWN_GUI
- echo "Input directory to install executable files"
- echo -n " (e.g. /usr/local/bin, no default ): "
--set install_dir=$<
-+set install_dir=
-
- #----- Input system name
- echo -n "Select a system (0: Defalut, 1: AIX, 2: IRIX, 3: Solaris, 4: RedHat/FedoraCore): "
--set sysid=$<
-+set sysid=0
- switch ($sysid)
- case "0":
- set sysname = "Default"
-@@ -80,7 +80,7 @@
- echo "Do you use remote-visualization function? (y/n, no default)"
- echo " (Select n if your compilation fails for FRClientServer.cc)"
- echo -n " : "
--set ynflag_socket=$<
-+set ynflag_socket=n
- switch ($ynflag_socket)
- case "y":
- set macro_socket = '#define USE_SOCKET'
-@@ -123,14 +123,14 @@
-
- echo "### C++ compiler" >> Makefile
- #echo "ifndef CXX" >> Makefile
--echo "CC = $cpp_compiler" >> Makefile
-+#echo "CC = $cpp_compiler" >> Makefile
- #echo "else" >> Makefile
--#echo 'CC = $(CXX)' >> Makefile
-+echo 'CC = $(CXX)' >> Makefile
- #echo "endif" >> Makefile
- echo "" >> Makefile
-
- echo "### Optimization" >> Makefile
--echo "OPTIMIZE = $optimize" >> Makefile
-+echo 'OPTIMIZE = $(CXXFLAGS)' >> Makefile
- echo "" >> Makefile
-
- echo "### Waring level" >> Makefile
-@@ -152,7 +152,7 @@
- echo "" >> Makefile
-
- echo "### Directory where to install executable files" >> Makefile
--echo "INSTALL_DIR = $install_dir" >> Makefile
-+echo 'INSTALL_DIR = $(DESTDIR)/usr/bin' >> Makefile
- echo "" >> Makefile
-
- echo "### Socket libraries to be linked " >> Makefile
---- a/FRSocketMacro.h
-+++ b/FRSocketMacro.h
-@@ -14,8 +14,8 @@
- #elif defined SOCKET_REDHAT61
- #define CLIENT_ADDR_LENGTH socklen_t
- #else
-- #define CLIENT_ADDR_LENGTH int
--// #define CLIENT_ADDR_LENGTH size_t
-+// #define CLIENT_ADDR_LENGTH int
-+ #define CLIENT_ADDR_LENGTH size_t
- #endif
-
- //----- gethostname
---- a/configure
-+++ b/configure
-@@ -13,22 +13,22 @@
- #----- C++ compiler name
- echo "Input C++ compiler name (e.g. g++, no default)."
- echo -n " :"
--set cpp_compiler=$<
-+set cpp_compiler=
-
- #----- Optimization option of the C++ compiler
- echo "Input optimization option (e.g. -O2, no default)"
- echo -n " :"
--set optimize=$<
-+set optimize=
-
- #----- Input Tcl/Tk window shell name
- echo "Input Tcl/Tk window shell name"
- echo -n " (e.g. wish, no default): "
--set wish=$<
-+set wish=wish
-
- #----- Input directory name to install dawn and DAWN_GUI
- echo "Input directory to install executable files"
- echo -n " (e.g. /usr/local/bin, no default ): "
--set install_dir=$<
-+set install_dir=
-
-
- ##### DELETE #####
-@@ -57,14 +57,14 @@
-
- echo "### C++ compiler" >> Makefile
- #echo "ifndef CXX" >> Makefile
--echo "CC = $cpp_compiler" >> Makefile
-+#echo "CC = $cpp_compiler" >> Makefile
- #echo "else" >> Makefile
--#echo 'CC = $(CXX)' >> Makefile
-+echo 'CC = $(CXX)' >> Makefile
- #echo "endif" >> Makefile
- echo "" >> Makefile
-
- echo "### Optimization" >> Makefile
--echo "OPTIMIZE = $optimize" >> Makefile
-+echo 'OPTIMIZE = $(CXXFLAGS)' >> Makefile
- echo "" >> Makefile
-
- echo "### Waring level" >> Makefile
-@@ -78,7 +78,7 @@
-
-
- echo "### Directory where to install executable files" >> Makefile
--echo "INSTALL_DIR = $install_dir" >> Makefile
-+echo 'INSTALL_DIR = $(DESTDIR)/usr/bin' >> Makefile
- echo "" >> Makefile
-
- echo "" >> Makefile
diff --git a/media-gfx/dawn/metadata.xml b/media-gfx/dawn/metadata.xml
deleted file mode 100644
index 93696a17c1da..000000000000
--- a/media-gfx/dawn/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci-physics@gentoo.org</email>
- <name>Gentoo Physics Project</name>
- </maintainer>
- <longdescription lang="en">
- Fukui Renderer DAWN (Drawer for Academic WritiNgs)
- is a renderer, which reads 3D geometrical data and visualize them.
- It is a vectorized 3D PostScript processor with analytical
- hidden line/surface removal.
- It aims at precise technical drawing of complicated objects.
- It performs geometrical hidden line/surface removal and calculates
- out all visible parts of the 3D data before drawing. This drawing
- algorithm realizes device-independent technical high quality of
- vectorized graphics.
-
- 3D Data files should be generated by a modeler or by hands
- separately. If you use DAWN as a visualizer of,
- say, a simulator of physical experiments,
- the simulator application itself is recognized as a modeler.
-
- An important feature of DAWN is that it has been developed to
- visualize 3D data generated by a high-energy experimental detector
- simulator "GEANT4".
- </longdescription>
-</pkgmetadata>
diff --git a/media-gfx/digikam/Manifest b/media-gfx/digikam/Manifest
index 9fa06bb1336f..279115e68d32 100644
--- a/media-gfx/digikam/Manifest
+++ b/media-gfx/digikam/Manifest
@@ -1,2 +1,2 @@
-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
+DIST digiKam-8.4.0.tar.xz 58025616 BLAKE2B 33441e023cd9d6edba2e7c01e482a6eea7a6b1972b6bad0fc804fb3e94f97cc62e2663690137b2445fb7043789b7e942d830b71209385de77ccffe57d22d09ff SHA512 4342d18a7c04ab239821de3cf908f8e7d676598778f0174164aa336e8cfdc0a76327d31c64e6c4e47dcf0d6fbef46b01918312e4622ce3359888a9a94948a22b
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/digikam-8.2.0.ebuild b/media-gfx/digikam/digikam-8.4.0.ebuild
index c6e72cad494e..186602176dc1 100644
--- a/media-gfx/digikam/digikam-8.2.0.ebuild
+++ b/media-gfx/digikam/digikam-8.4.0.ebuild
@@ -3,19 +3,18 @@
EAPI=8
-KFMIN=5.106.0
-QTMIN=5.15.9
+KFMIN=5.115.0
+QTMIN=5.15.12
inherit ecm kde.org toolchain-funcs
if [[ ${KDE_BUILD_TYPE} != live ]]; then
+ TARNAME="digiKam-${PV/_/-}"
if [[ ${PV} =~ beta[0-9]$ ]]; then
- SRC_URI="mirror://kde/unstable/${PN}/"
+ SRC_URI="mirror://kde/unstable/${PN}/${TARNAME}.tar.xz"
else
- SRC_URI="mirror://kde/stable/${PN}/${PV}/"
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${TARNAME}.tar.xz"
fi
- SRC_URI+="digiKam-${PV/_/-}.tar.xz"
KEYWORDS="~amd64 ~arm64 ~x86"
- S="${WORKDIR}/${PN}-${PV/_/-}"
fi
DESCRIPTION="Digital photo management application"
@@ -23,7 +22,7 @@ HOMEPAGE="https://www.digikam.org/"
LICENSE="GPL-2"
SLOT="5"
-IUSE="addressbook calendar gphoto2 heif +imagemagick +lensfun marble mysql opengl openmp +panorama scanner semantic-desktop spell"
+IUSE="addressbook calendar geolocation gphoto2 heif +imagemagick jpegxl +lensfun mysql opengl openmp +panorama scanner semantic-desktop spell"
# bug 366505
RESTRICT="test"
@@ -64,7 +63,7 @@ COMMON_DEPEND="
media-libs/tiff:=
x11-libs/libX11
addressbook? (
- >=kde-apps/akonadi-contacts-19.04.3:5
+ >=kde-apps/akonadi-contacts-23.08.3:5
>=kde-frameworks/kcontacts-${KFMIN}:5
)
calendar? ( >=kde-frameworks/kcalendarcore-${KFMIN}:5 )
@@ -74,25 +73,21 @@ COMMON_DEPEND="
media-libs/x265:=
)
imagemagick? ( media-gfx/imagemagick:= )
+ jpegxl? ( media-libs/libjxl:= )
lensfun? ( media-libs/lensfun )
- marble? (
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=kde-apps/marble-19.04.3:5
- >=kde-frameworks/kbookmarks-${KFMIN}:5
- )
opengl? (
>=dev-qt/qtopengl-${QTMIN}:5
virtual/opengl
)
panorama? ( >=kde-frameworks/threadweaver-${KFMIN}:5 )
- scanner? ( >=kde-apps/libksane-19.04.3:5 )
+ scanner? ( >=kde-apps/libksane-23.08.3:5 )
semantic-desktop? ( >=kde-frameworks/kfilemetadata-${KFMIN}:5 )
spell? ( >=kde-frameworks/sonnet-${KFMIN}:5 )
"
DEPEND="${COMMON_DEPEND}
dev-cpp/eigen:3
dev-libs/boost
- addressbook? ( >=kde-apps/akonadi-19.04.3:5 )
+ addressbook? ( >=kde-apps/akonadi-23.08.3:5 )
"
RDEPEND="${COMMON_DEPEND}
media-libs/exiftool
@@ -102,12 +97,16 @@ RDEPEND="${COMMON_DEPEND}
BDEPEND="
sys-devel/gettext
panorama? (
- app-alternatives/yacc
app-alternatives/lex
+ app-alternatives/yacc
)
"
-PATCHES=( "${FILESDIR}"/${P}-{cmake,akonadi}.patch )
+PATCHES=(
+ "${FILESDIR}/${P}-cmake.patch"
+ "${FILESDIR}/${PN}-8.3.0-cmake-addressbook.patch"
+ "${FILESDIR}/${P}-fix-find_libheif-regex.patch" # bug 936507
+)
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
@@ -119,36 +118,23 @@ pkg_setup() {
ecm_pkg_setup
}
-src_prepare() {
- ecm_src_prepare
- if has_version ">=kde-apps/akonadi-contacts-23.08.0"; then
- sed -e "/KF5[:]*Akonadi/s/KF5/KPim5/" \
- -i core/CMakeLists.txt \
- core/utilities/extrasupport/CMakeLists.txt \
- core/utilities/extrasupport/addressbook/CMakeLists.txt \
- core/app/DigikamCoreTarget.cmake \
- core/cmake/rules/RulesKDEFramework.cmake || die
- fi
-}
-
# FIXME: Unbundle libraw (libs/rawengine/libraw)
src_configure() {
local mycmakeargs=(
- -DBUILD_WITH_CCACHE=OFF
-DBUILD_WITH_QT6=OFF # KF6 not stable upstream yet
-DBUILD_TESTING=OFF # bug 698192
-DENABLE_APPSTYLES=ON
-DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
-DENABLE_MEDIAPLAYER=OFF # bug 758641; bundled as of 8.0, KDE-bug 448681
-DENABLE_SHOWFOTO=ON # built unconditionally so far, new option since 8.0
- -DENABLE_QWEBENGINE=ON
-DENABLE_AKONADICONTACTSUPPORT=$(usex addressbook)
$(cmake_use_find_package calendar KF5CalendarCore)
+ -DENABLE_GEOLOCATION=$(usex geolocation)
$(cmake_use_find_package gphoto2 Gphoto2)
$(cmake_use_find_package heif Libheif)
$(cmake_use_find_package imagemagick ImageMagick)
+ $(cmake_use_find_package jpegxl Libjxl)
$(cmake_use_find_package lensfun LensFun)
- $(cmake_use_find_package marble Marble)
-DENABLE_MYSQLSUPPORT=$(usex mysql)
-DENABLE_INTERNALMYSQL=$(usex mysql)
$(cmake_use_find_package opengl OpenGL)
diff --git a/media-gfx/digikam/files/digikam-8.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/files/digikam-8.4.0-cmake.patch b/media-gfx/digikam/files/digikam-8.4.0-cmake.patch
new file mode 100644
index 000000000000..4584d23182d1
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-8.4.0-cmake.patch
@@ -0,0 +1,199 @@
+From c498aad87e42405ca25cb6f2f1b4068ed1862c27 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Sun, 17 Feb 2019 23:51:03 +0100
+Subject: [PATCH] Un-break optional Qt/KF detection
+
+And if we enable an option, make the necessary libraries REQUIRED.
+---
+ core/cmake/rules/RulesKDEFramework.cmake | 60 ++++--------------------
+ core/cmake/rules/RulesQtFramework.cmake | 51 +++++---------------
+ core/cmake/rules/RulesX11.cmake | 7 +--
+ 3 files changed, 20 insertions(+), 98 deletions(-)
+
+diff --git a/core/cmake/rules/RulesKDEFramework.cmake b/core/cmake/rules/RulesKDEFramework.cmake
+index 775ae32fec..ec438f9673 100644
+--- a/core/cmake/rules/RulesKDEFramework.cmake
++++ b/core/cmake/rules/RulesKDEFramework.cmake
+@@ -26,43 +26,18 @@ find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET
+ )
+
+ if(ENABLE_KFILEMETADATASUPPORT)
+-
+- find_package(KF${QT_VERSION_MAJOR} ${KF${QT_VERSION_MAJOR}_MIN_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- FileMetaData # For Plasma desktop file indexer support.
+- )
+-
++ # For Plasma desktop file indexer support.
++ find_package(KF${QT_VERSION_MAJOR}FileMetaData ${KF${QT_VERSION_MAJOR}_MIN_VERSION} REQUIRED)
+ endif()
+
+ if(ENABLE_AKONADICONTACTSUPPORT)
+-
++ find_package(KF${QT_VERSION_MAJOR}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)
+ if(Qt6_FOUND)
+-
+- find_package(KPim${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- Akonadi
+- AkonadiContactCore # For KDE Mail Contacts support.
+- )
+- find_package(KF${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- Contacts # API for contacts/address book data.
+- )
+- find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} QUIET)
+- find_package(KPim${QT_VERSION_MAJOR}AkonadiContactCore ${AKONADI_MIN_VERSION} QUIET)
+-
++ find_package(KPim${QT_VERSION_MAJOR}AkonadiContactCore ${AKONADI_MIN_VERSION} REQUIRED)
+ else()
+-
+- find_package(KF${QT_VERSION_MAJOR} ${AKONADI_MIN_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- Akonadi
+- AkonadiContact # For KDE Mail Contacts support.
+- Contacts # API for contacts/address book data.
+- )
+- find_package(KPim${QT_VERSION_MAJOR}Akonadi ${AKONADI_MIN_VERSION} QUIET)
+- find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} QUIET)
+-
++ find_package(KPim${QT_VERSION_MAJOR}AkonadiContact ${AKONADI_MIN_VERSION} REQUIRED) # For KDE Mail Contacts support.
+ endif()
+-
+ endif()
+
+ if(Qt6_FOUND)
+@@ -71,17 +46,11 @@ if(Qt6_FOUND)
+
+ else()
+
+- find_package(KF${QT_VERSION_MAJOR} ${KSANE_MIN_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- Sane # For digital scanner support.
+- )
++ find_package(KF${QT_VERSION_MAJOR}Sane ${KSANE_MIN_VERSION} QUIET) # For digital scanner support.
+
+ endif()
+
+-find_package(KF${QT_VERSION_MAJOR} ${CALENDAR_MIN_VERSION} QUIET
+- OPTIONAL_COMPONENTS
+- CalendarCore # For Calendar tool.
+-)
++find_package(KF${QT_VERSION_MAJOR}CalendarCore ${CALENDAR_MIN_VERSION} QUIET) # For Calendar tool.
+
+ if ("${KF${QT_VERSION_MAJOR}CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
+
+@@ -89,19 +58,6 @@ if ("${KF${QT_VERSION_MAJOR}CalendarCore_VERSION}" VERSION_GREATER 5.6.40)
+
+ endif()
+
+-if(ENABLE_AKONADICONTACTSUPPORT AND
+- (NOT (KPim${QT_VERSION_MAJOR}AkonadiContact_FOUND OR KPim${QT_VERSION_MAJOR}AkonadiContactCore_FOUND) OR NOT KF${QT_VERSION_MAJOR}Contacts_FOUND))
+-
+- set(ENABLE_AKONADICONTACTSUPPORT OFF)
+-
+-endif()
+-
+-if(ENABLE_KFILEMETADATASUPPORT AND NOT KF${QT_VERSION_MAJOR}FileMetaData_FOUND)
+-
+- set(ENABLE_KFILEMETADATASUPPORT OFF)
+-
+-endif()
+-
+ # Check if KIO have been compiled with KIOWidgets. digiKam only needs this one.
+
+ if(ENABLE_KIO)
+diff --git a/core/cmake/rules/RulesQtFramework.cmake b/core/cmake/rules/RulesQtFramework.cmake
+index 9fa839c414..9267c6651e 100644
+--- a/core/cmake/rules/RulesQtFramework.cmake
++++ b/core/cmake/rules/RulesQtFramework.cmake
+@@ -18,38 +18,17 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+ Svg
+ )
+
+-find_package(Qt${QT_VERSION_MAJOR} REQUIRED
+- NO_MODULE
+- COMPONENTS
+- WebEngineWidgets
+-)
++find_package(Qt${QT_VERSION_MAJOR}WebEngineWidgets REQUIRED NO_MODULE)
+
+-find_package(Qt${QT_VERSION_MAJOR}
+- OPTIONAL_COMPONENTS
+- 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
+- SvgWidgets
+- )
+-
+- 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}SvgWidgets 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)
+@@ -65,17 +44,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 d7830f3923..4401a57c87 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.45.2
+
diff --git a/media-gfx/digikam/files/digikam-8.4.0-fix-find_libheif-regex.patch b/media-gfx/digikam/files/digikam-8.4.0-fix-find_libheif-regex.patch
new file mode 100644
index 000000000000..cd18ea3ed475
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-8.4.0-fix-find_libheif-regex.patch
@@ -0,0 +1,25 @@
+From a3ff8ad14c1373f7a7d3c1c9aee4e80954e1859e Mon Sep 17 00:00:00 2001
+From: Maik Qualmann <metzpinguin@gmail.com>
+Date: Tue, 23 Jul 2024 12:33:13 +0200
+Subject: [PATCH] escape the input from REGEX MATCHALL CCBUGS: 490690
+
+---
+ core/cmake/modules/FindLibheif.cmake | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/core/cmake/modules/FindLibheif.cmake b/core/cmake/modules/FindLibheif.cmake
+index fdaf73a4b9e..38876ecc38a 100644
+--- a/core/cmake/modules/FindLibheif.cmake
++++ b/core/cmake/modules/FindLibheif.cmake
+@@ -54,7 +54,7 @@ else()
+ if(HEIF_INCLUDES_DIR)
+
+ file(STRINGS "${HEIF_INCLUDES_DIR}/libheif/heif_version.h" TMP REGEX "^#define LIBHEIF_VERSION[ \t].*$")
+- string(REGEX MATCHALL "[0-9.]+" HEIF_VERSION ${TMP})
++ string(REGEX MATCHALL "[0-9.]+" HEIF_VERSION "${TMP}")
+
+ endif()
+
+--
+GitLab
+
diff --git a/media-gfx/digikam/metadata.xml b/media-gfx/digikam/metadata.xml
index 98caf7822427..0a9720425415 100644
--- a/media-gfx/digikam/metadata.xml
+++ b/media-gfx/digikam/metadata.xml
@@ -10,12 +10,12 @@
</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="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/entice/Manifest b/media-gfx/entice/Manifest
index 32b2bc3334ea..332a28885576 100644
--- a/media-gfx/entice/Manifest
+++ b/media-gfx/entice/Manifest
@@ -1 +1,2 @@
+DIST entice-0.0.1.tar.xz 3994332 BLAKE2B 38f225a0464b0fcc956b32b02afd0ca9b0923bf0cf70688fe87ee29ef67ef6eda5d81eff957c68927e660f09f2d5b9592c6a5659aa5303a3b8ee88a4af523394 SHA512 2e2dbb24ed1ed97c20683bf93bf4d89afae7d18ed891025fe15a3f70f77e18cefbc5e1430c88cb06a89990def2088a414751407d60227ddbf9a2cb9dfa0609aa
DIST entice-0_pre20220809.tar.gz 7940222 BLAKE2B 8fb23d904e66894f60db94e64f5d9f0f00b82d6409c3c5e3439ecb8cd7835d2aadd7e52280eed4fc81fd0ac92fc02c9ad58c32d263f3081d93986bf21037c04e SHA512 2f6d549d87ca39be3b2d2fa15b488c6ddf0a31fc5164d90e7b4c37343af2fe44c674330b3764f100b048f94da003c7807e28b95ab059e3c04632026e53e5b96b
diff --git a/media-gfx/entice/entice-0.0.1.ebuild b/media-gfx/entice/entice-0.0.1.ebuild
new file mode 100644
index 000000000000..d27098a8b85b
--- /dev/null
+++ b/media-gfx/entice/entice-0.0.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson optfeature xdg
+
+DESCRIPTION="A simple image viewer based on EFL"
+HOMEPAGE="https://git.enlightenment.org/vtorri/entice https://github.com/vtorri/entice"
+SRC_URI="https://git.enlightenment.org/vtorri/entice/releases/download/v${PV}/${P}.tar.xz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="|| ( dev-libs/efl[X] dev-libs/efl[wayland] )
+ media-libs/libexif"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}"
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature_header "Image format support:"
+ optfeature "avif support" dev-libs/efl[avif]
+ optfeature "bmp,wbmp support" dev-libs/efl[bmp]
+ optfeature "dds support" dev-libs/efl[dds]
+ optfeature "gif support" dev-libs/efl[gif]
+ optfeature "heif support" dev-libs/efl[heif]
+ optfeature "ico,cur support" dev-libs/efl[ico]
+ optfeature "jp2k support" dev-libs/efl[jpeg2k]
+ optfeature "pdf support" dev-libs/efl[pdf]
+ optfeature "pmaps support" dev-libs/efl[pmaps]
+ optfeature "psd support" dev-libs/efl[psd]
+ optfeature "raw support" dev-libs/efl[raw]
+ optfeature "svg,rsvg support" dev-libs/efl[svg]
+ optfeature "tga support" dev-libs/efl[tga]
+ optfeature "tgv support" dev-libs/efl[tgv]
+ optfeature "tiff support" dev-libs/efl[tiff]
+ optfeature "webp support" dev-libs/efl[webp]
+ optfeature "xcf support" dev-libs/efl[xcf]
+ optfeature "xpm support" dev-libs/efl[xpm]
+}
diff --git a/media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild b/media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild
index a328d90eaa24..c02c12cfafba 100644
--- a/media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild
+++ b/media-gfx/eog-plugins/eog-plugins-44.0-r2.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org meson python-single-r1
diff --git a/media-gfx/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..931fc3ee8522 100644
--- a/media-gfx/eom/eom-1.27.1.ebuild
+++ b/media-gfx/eom/eom-1.28.0.ebuild
@@ -7,7 +7,7 @@ inherit mate
MINOR=$(($(ver_cut 2) % 2))
if [[ ${MINOR} -eq 0 ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
fi
DESCRIPTION="The MATE image viewer"
@@ -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..d2d876e53ed8 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1,2 +1,2 @@
-DIST exiv2-0.28.1.tar.gz 45225200 BLAKE2B a26f8e54cf6284c56ff429c13d5a8985dc6181a36b4c13ea6f2e59bc00016a2a8d915ddbc0cedb441b8283e30f18312a500900ffd89ca984006ac84807a03852 SHA512 7b872a3c0cbe343014b1ca4618cecaf6ee8d78dec7ef83accfce95cb8eadc6b52116977a41e1f1be5c6149a47bdd9457fadc08d73708aa2a6ab69795fd3de23b
DIST exiv2-0.28.2.tar.gz 45224206 BLAKE2B 9d1d05c99804032dfb9b740e543d1e3cceae011b17853c8565ccad87e726ce1d0f410c13bf4fa8839bc8e0fecdf170a3acac568f14aad4628b3b844f6c21dd7e SHA512 197cc607c0271b5731714713283756250031cef81ba7ed5d9c3e222b4c2397966cc2bbdbceaae706598329dde6f8a9729597d0ae4c36ac264c76546942e4e37b
+DIST exiv2-0.28.3.tar.gz 46480702 BLAKE2B 73ebdca376d69514a89261d2f78604c5d7ccbc6e73e5c5d61f8caa596fd6b60dd4d06df19cb9f93e402d9a76f1511955f77cfd74b407310a13952092ecfbf0ef SHA512 c8338a118feefa104d73932890c732247c884ab9ce1d170c43a22ab5884517a0e2a7fd1febde7705b8290fbbbc29e64738610404816e4db2b56a70fc444ca049
diff --git a/media-gfx/exiv2/exiv2-0.28.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.3.ebuild
index c7e62ae426fc..ee1fb3e320ce 100644
--- a/media-gfx/exiv2/exiv2-0.28.2.ebuild
+++ b/media-gfx/exiv2/exiv2-0.28.3.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cmake-multilib python-any-r1
DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
@@ -22,20 +22,19 @@ LICENSE="GPL-2"
# We may be able to change it to $(ver_cut 1-2) once e.g.
# https://github.com/Exiv2/exiv2/pull/917 is merged.
SLOT="0/$(ver_cut 1-2)"
-IUSE="+bmff doc examples nls +png test webready +xmp"
+IUSE="+bmff doc examples jpegxl nls +png test webready +xmp"
RESTRICT="!test? ( test )"
RDEPEND="
dev-libs/inih[${MULTILIB_USEDEP}]
>=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ jpegxl? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
- webready? (
- net-misc/curl[${MULTILIB_USEDEP}]
- )
+ webready? ( net-misc/curl[${MULTILIB_USEDEP}] )
xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
"
-DEPEND="${DEPEND}
+DEPEND="${RDEPEND}
test? ( dev-cpp/gtest )
"
BDEPEND="
@@ -52,8 +51,6 @@ BDEPEND="
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
@@ -74,7 +71,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/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/fbgrab/metadata.xml b/media-gfx/fbgrab/metadata.xml
index 5db01dff17c5..ad9efed26f60 100644
--- a/media-gfx/fbgrab/metadata.xml
+++ b/media-gfx/fbgrab/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pinkbyte@gentoo.org</email>
- <name>Sergey Popov</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">GunnarMonell/fbgrab</remote-id>
</upstream>
diff --git a/media-gfx/feh/Manifest b/media-gfx/feh/Manifest
index 960441a4e01a..5863e64305fb 100644
--- a/media-gfx/feh/Manifest
+++ b/media-gfx/feh/Manifest
@@ -1 +1,2 @@
DIST feh-3.10.2.tar.bz2 2113183 BLAKE2B 0f4662068917628be6046d3f2ebd8177b7cc1699d693de31229d2ebc6188cc7a5170202188a426ec2e3d900f2c8fb34007395aecc151f8f034e5461d287f058f SHA512 698501347224887162631397bb3b6c5da81b88993876f001407dea87fdc4f458290272d75b400aea6c0927d3c53f290483b6a89cd2cb426f56957a4fe6267797
+DIST feh-3.10.3.tar.bz2 2113623 BLAKE2B 052848b222babbcb6a0d9b6c109c7a382052072c03482f47c7784e4b923fba470039d2f75db663b2d70515eb73234141c2871858825489044febea4bf1693b20 SHA512 60f29d463486eca9308037648a1b91b093051878aa2a8671166fd685ac05c217cd46ad2c7df2fde09b5f1d6cd8b3ee2b8f32fbbf6d3b2e4abc4c50b36f237977
diff --git a/media-gfx/feh/feh-3.10.3.ebuild b/media-gfx/feh/feh-3.10.3.ebuild
new file mode 100644
index 000000000000..7996c229ccea
--- /dev/null
+++ b/media-gfx/feh/feh-3.10.3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit toolchain-funcs xdg-utils
+
+DESCRIPTION="A fast, lightweight imageviewer using imlib2"
+HOMEPAGE="https://feh.finalrewind.org/"
+SRC_URI="https://feh.finalrewind.org/${P}.tar.bz2"
+
+LICENSE="feh"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86"
+IUSE="debug curl exif test xinerama inotify"
+RESTRICT="test" # Tests are broken.
+
+COMMON_DEPEND="
+ media-libs/imlib2[X,text(+)]
+ >=media-libs/libpng-1.2:0=
+ x11-libs/libX11
+ curl? ( net-misc/curl )
+ exif? ( media-libs/libexif )
+ xinerama? ( x11-libs/libXinerama )"
+RDEPEND="${COMMON_DEPEND}
+ media-libs/libjpeg-turbo:0"
+DEPEND="${COMMON_DEPEND}
+ x11-base/xorg-proto
+ x11-libs/libXt
+ test? (
+ >=dev-lang/perl-5.10
+ dev-perl/Test-Command
+ media-libs/imlib2[gif,jpeg,png]
+ )"
+
+PATCHES=( "${FILESDIR}"/${PN}-3.2-debug-cflags.patch )
+
+pkg_setup() {
+ use_feh() { usex $1 1 0; }
+
+ fehopts=(
+ PREFIX="${EPREFIX}"/usr
+ doc_dir='${main_dir}'/share/doc/${PF}
+ example_dir='${main_dir}'/share/doc/${PF}/examples
+ curl=$(use_feh curl)
+ debug=$(use_feh debug)
+ xinerama=$(use_feh xinerama)
+ exif=$(use_feh exif)
+ inotify=$(use_feh inotify)
+ )
+}
+
+src_compile() {
+ tc-export CC
+ emake "${fehopts[@]}"
+}
+
+src_install() {
+ emake "${fehopts[@]}" DESTDIR="${D}" install
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
diff --git a/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild b/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild
index e886fa78c3e4..d8dda8e975c8 100644
--- a/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild
+++ b/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild
@@ -9,7 +9,7 @@ inherit toolchain-funcs
DESCRIPTION="Set of tools for creating TeX documents with graphics"
HOMEPAGE="https://www.xfig.org/"
-SRC_URI="mirror://sourceforge/mcj/${P}.tar.xz
+SRC_URI="https://downloads.sourceforge.net/mcj/${P}.tar.xz
mirror://gentoo/fig2mpdf-1.1.2.tar.bz2"
#S="${WORKDIR}/${MY_P}"
diff --git a/media-gfx/fig2dev/fig2dev-3.2.9-r5.ebuild b/media-gfx/fig2dev/fig2dev-3.2.9-r5.ebuild
new file mode 100644
index 000000000000..68d2d6c66ecb
--- /dev/null
+++ b/media-gfx/fig2dev/fig2dev-3.2.9-r5.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+#MY_P="${PN}.${PV}"
+
+DESCRIPTION="Set of tools for creating TeX documents with graphics"
+HOMEPAGE="https://www.xfig.org/"
+SRC_URI="https://downloads.sourceforge.net/mcj/${P}.tar.xz
+ mirror://gentoo/fig2mpdf-1.1.2.tar.bz2"
+#S="${WORKDIR}/${MY_P}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+ghostscript"
+
+RDEPEND="
+ media-libs/libpng
+ media-libs/libjpeg-turbo:=
+ x11-apps/rgb
+ x11-libs/libXpm
+ !media-gfx/transfig
+ ghostscript?
+ (
+ app-text/ghostscript-gpl
+ virtual/imagemagick-tools[jpeg,png,postscript,tiff]
+ )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-text/rman
+ sys-devel/gcc
+"
+
+DOCS=( README CHANGES NOTES )
+HTML_DOCS=( "${WORKDIR}/fig2mpdf/doc/." )
+
+sed_Imakefile() {
+ # see fig2dev/Imakefile for details
+ vars2subs="BINDIR=${EPREFIX}/usr/bin
+ MANDIR=${EPREFIX}/usr/share/man/man\$\(MANSUFFIX\)
+ XFIGLIBDIR=${EPREFIX}/usr/share/xfig
+ PNGINC=-I${EPREFIX}/usr/include/X11
+ XPMINC=-I${EPREFIX}/usr/include/X11
+ USEINLINE=-DUSE_INLINE
+ RGB=${EPREFIX}/usr/share/X11/rgb.txt
+ FIG2DEV_LIBDIR=${EPREFIX}/usr/share/fig2dev"
+
+ for variable in ${vars2subs} ; do
+ varname=${variable%%=*}
+ varval=${variable##*=}
+ sed -i "s:^\(XCOMM\)*[[:space:]]*${varname}[[:space:]]*=.*$:${varname} = ${varval}:" "$@" || die
+ done
+}
+
+src_configure() {
+ # export IMAKECPP=${IMAKECPP:-${CHOST}-gcc -E}
+ # CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" xmkmf || die
+ econf --enable-transfig
+}
+
+src_compile() {
+ # emake CC="$(tc-getBUILD_CC)" LD="$(tc-getLD)" Makefiles
+
+ local myemakeargs=(
+ CC="$(tc-getCC)"
+ AR="$(tc-getAR)"
+ RANLIB="$(tc-getRANLIB)"
+ CDEBUGFLAGS="${CFLAGS}"
+ LOCAL_LDFLAGS="${LDFLAGS}"
+ USRLIBDIR="${EPREFIX}/usr/$(get_libdir)"
+ )
+ emake "${myemakeargs[@]}"
+}
+
+src_install() {
+ local myemakeargs=(
+ DESTDIR="${D}"
+ INSTDATFLAGS="-m 644"
+ INSTMANFLAGS="-m 644"
+ )
+ emake "${myemakeargs[@]}" install
+
+ dobin "${WORKDIR}/fig2mpdf/fig2mpdf"
+ doman "${WORKDIR}/fig2mpdf/fig2mpdf.1"
+
+ einstalldocs
+
+ rm "${ED}/usr/share/doc/${PF}/html/"{Makefile,*.lfig,*.pdf,*.tex} || die
+}
+
+pkg_postinst() {
+ elog "Note, that defaults are changed and now if you don't want to ship"
+ elog "personal information into output files, use fig2dev with -a option."
+}
diff --git a/media-gfx/fig2dev/metadata.xml b/media-gfx/fig2dev/metadata.xml
index 78af0f20536c..33ea7d1b9d42 100644
--- a/media-gfx/fig2dev/metadata.xml
+++ b/media-gfx/fig2dev/metadata.xml
@@ -9,6 +9,9 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
+ <use>
+ <flag name="ghostscript">Require <pkg>app-text/ghostscript-gpl</pkg> to export PDF an bitmap formats</flag>
+ </use>
<upstream>
<remote-id type="sourceforge">mcj</remote-id>
</upstream>
diff --git a/media-gfx/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/files/fontforge-20230101-python3.12-distutils-no-more.patch b/media-gfx/fontforge/files/fontforge-20230101-python3.12-distutils-no-more.patch
new file mode 100644
index 000000000000..c140e7d19955
--- /dev/null
+++ b/media-gfx/fontforge/files/fontforge-20230101-python3.12-distutils-no-more.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/933392
+https://github.com/fontforge/fontforge/pull/5423
+
+From 24968a8bf713396bc4a5dbb8bf3a03a9479b2568 Mon Sep 17 00:00:00 2001
+From: Maxim Iorsh <iorsh@users.sourceforge.net>
+Date: Fri, 24 May 2024 16:48:47 +0300
+Subject: [PATCH 1/3] Use sysconfig for Python module locations
+
+--- a/pyhook/CMakeLists.txt
++++ b/pyhook/CMakeLists.txt
+@@ -21,7 +21,7 @@ target_link_libraries(psMat_pyhook PRIVATE Python3::Module)
+ # So do it ourselves, getting the prefix-relative path instead
+ if(NOT DEFINED PYHOOK_INSTALL_DIR)
+ execute_process(
+- COMMAND "${Python3_EXECUTABLE}" -c "import distutils.sysconfig as sc; print(sc.get_python_lib(prefix='', plat_specific=True,standard_lib=False))"
++ COMMAND "${Python3_EXECUTABLE}" -c "import sysconfig as sc; print(sc.get_path('platlib', sc.get_preferred_scheme('user'), vars={'userbase': '.'}))"
+ RESULT_VARIABLE _pyhook_install_dir_result
+ OUTPUT_VARIABLE PYHOOK_INSTALL_DIR
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+
diff --git a/media-gfx/fontforge/fontforge-20230101-r2.ebuild b/media-gfx/fontforge/fontforge-20230101-r2.ebuild
new file mode 100644
index 000000000000..91ed53a3dcba
--- /dev/null
+++ b/media-gfx/fontforge/fontforge-20230101-r2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2004-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit python-single-r1 xdg cmake
+
+DESCRIPTION="postscript font editor and converter"
+HOMEPAGE="https://fontforge.org/"
+SRC_URI="https://github.com/fontforge/fontforge/releases/download/${PV}/${P}.tar.xz"
+
+LICENSE="BSD GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc truetype-debugger gif gtk jpeg png +python readline test tiff svg woff2 X"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+
+RDEPEND="
+ >=dev-libs/glib-2.67:2
+ dev-libs/libltdl:0
+ dev-libs/libxml2:2=
+ >=media-libs/freetype-2.3.7:2=
+ gif? ( media-libs/giflib:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ png? ( media-libs/libpng:= )
+ tiff? ( media-libs/tiff:= )
+ truetype-debugger? ( >=media-libs/freetype-2.3.8:2[fontforge,-bindist(-)] )
+ gtk? ( >=x11-libs/gtk+-3.10:3 )
+ !gtk? (
+ X? (
+ >=x11-libs/cairo-1.6:0=
+ >=x11-libs/pango-1.10:0=[X]
+ x11-libs/libX11:=
+ x11-libs/libXi:=
+ )
+ )
+ python? ( ${PYTHON_DEPS} )
+ readline? ( sys-libs/readline:0= )
+ woff2? ( media-libs/woff2:0= )
+"
+DEPEND="${RDEPEND}
+ !gtk? ( X? ( x11-base/xorg-proto ) )
+"
+BDEPEND="
+ sys-devel/gettext
+ doc? ( >=dev-python/sphinx-2 )
+ python? ( ${PYTHON_DEPS} )
+ test? ( ${RDEPEND} )
+"
+
+PATCHES=(
+ "${FILESDIR}"/fontforge-doc-no-warn-error.patch
+ "${FILESDIR}"/${PN}-20230101-workaround-broken-translations.patch
+ "${FILESDIR}"/${PN}-20230101-fix-splinefont-shell-command-injection.patch
+ "${FILESDIR}"/${PN}-20230101-python3.12-distutils-no-more.patch
+)
+
+pkg_setup() {
+ use python && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DOCS=$(usex doc ON OFF)
+ -DENABLE_LIBGIF=$(usex gif ON OFF)
+ -DENABLE_LIBJPEG=$(usex jpeg ON OFF)
+ -DENABLE_LIBPNG=$(usex png ON OFF)
+ -DENABLE_LIBREADLINE=$(usex readline ON OFF)
+ -DENABLE_LIBSPIRO=OFF # No package in Gentoo
+ -DENABLE_LIBTIFF=$(usex tiff ON OFF)
+ -DENABLE_MAINTAINER_TOOLS=OFF
+ -DENABLE_PYTHON_EXTENSION=$(usex python ON OFF)
+ -DENABLE_PYTHON_SCRIPTING=$(usex python ON OFF)
+ -DENABLE_TILE_PATH=ON
+ -DENABLE_WOFF2=$(usex woff2 ON OFF)
+ )
+
+ if use gtk || use X; then
+ mycmakeargs+=(
+ -DENABLE_GUI=ON
+ # Prefer GTK over X11 if both USE flage are enabled
+ -DENABLE_X11=$(usex gtk OFF ON)
+ )
+ else
+ mycmakeargs+=( -DENABLE_GUI=OFF )
+ fi
+
+ if use python; then
+ python_setup
+ mycmakeargs+=( -DPython3_EXECUTABLE="${PYTHON}" )
+ fi
+
+ if use truetype-debugger ; then
+ local ft2="${ESYSROOT}/usr/include/freetype2"
+ local ft2i="${ft2}/internal4fontforge"
+ mycmakeargs+=(
+ -DENABLE_FREETYPE_DEBUGGER="${ft2}"
+ -DFreeTypeSource_INCLUDE_DIRS="${ft2};${ft2i}/include;${ft2i}/include/freetype;${ft2i}/src/truetype"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+ docompress -x /usr/share/doc/${PF}/html
+ einstalldocs
+ find "${ED}" -name '*.la' -type f -delete || die
+}
diff --git a/media-gfx/fontforge/fontforge-20230101.ebuild b/media-gfx/fontforge/fontforge-20230101.ebuild
index 001bb06fc921..f9af4d4aad6b 100644
--- a/media-gfx/fontforge/fontforge-20230101.ebuild
+++ b/media-gfx/fontforge/fontforge-20230101.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2004-2023 Gentoo Authors
+# Copyright 2004-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit python-single-r1 xdg cmake
DESCRIPTION="postscript font editor and converter"
diff --git a/media-gfx/fotocx/Manifest b/media-gfx/fotocx/Manifest
index b936813da245..b8ef3b95ca30 100644
--- a/media-gfx/fotocx/Manifest
+++ b/media-gfx/fotocx/Manifest
@@ -1,3 +1,4 @@
-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
+DIST fotocx-24.40-source.tar.gz 16036394 BLAKE2B 570adb3b8579650caa985417008f8eb840b2a29c5355ae3ecb3b2a8e58432ec6688da72d3d3eed98d7f5c046d1cf1fc56049684db5ccd9de6fb3f2dee789ea4f SHA512 28211fa50d48eaee4f4bcaa80a07a34113e3020e8b0e3ef2fe983b93000c2397b41fabb1824dd1921e964d03acd348ef5479e584268052ade120e23639f138ed
+DIST fotocx-24.50-source.tar.gz 16197289 BLAKE2B 468a3cd7ef2cee5a65d2a06283732e0994f9eeb823ed2fd02e319c68f7cb4686a33fbc61e85eaeb8bdd2c7455d1cebada49d0da6004007ad15333b1c39050768 SHA512 3f30b4efb43313980a1be8b92e66c8260484e10a3e50c5351d5462004fe6e5685ecd39be263fbd85bde495a5f1c539bd262124478516d8ddcd40420fa6de699e
diff --git a/media-gfx/fotocx/files/fotocx-24.11-documentation.patch b/media-gfx/fotocx/files/fotocx-24.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.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/fotocx/fotocx-24.40.ebuild b/media-gfx/fotocx/fotocx-24.40.ebuild
new file mode 100644
index 000000000000..ace12ae77268
--- /dev/null
+++ b/media-gfx/fotocx/fotocx-24.40.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature xdg-utils
+
+DESCRIPTION="Program for improving image files made with a digital camera"
+HOMEPAGE="https://kornelix.net/fotocx/fotocx.html"
+SRC_URI="https://kornelix.net/downloads/downloads/${P}-source.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+# For required dependencies read doc/README, for required tools read
+# data/userguide [INSTALLATION]. xdg-open (x11-misc/xdg-utils) is an
+# alternative to firefox and chromium-browser. `grep '"which ' * -R`
+# is helpful to report some required tools run via the shell.
+
+DEPEND="
+ media-libs/clutter
+ media-libs/clutter-gtk
+ media-libs/lcms:2
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ media-libs/libchamplain[gtk]
+ x11-libs/gtk+:3"
+RDEPEND="
+ ${DEPEND}
+ media-gfx/dcraw
+ media-libs/exiftool
+ x11-misc/xdg-utils
+"
+
+PATCHES=( "${FILESDIR}/${PN}-24.20-documentation.patch" )
+
+DOCS=()
+HTML_DOCS=()
+
+src_prepare() {
+ sed -i -e "/^DOCDIR/ s/${PN}$/${PF}/" Makefile || die
+ sed -i -e "/^Icon/ s/\.png$//" ${PN}.desktop || die
+ default
+}
+
+src_install() {
+ # For the Help menu items to work, *.html must be in /usr/share/doc/${PF},
+ # and README, changelog, copyright, license, etc. must not be compressed.
+ emake DESTDIR="${D}" PREFIX="/usr" install
+ rm -f "${D}"/usr/share/doc/${PF}/*.man || die
+ docompress -x /usr/share/doc
+}
+
+pkg_postinst() {
+ optfeature "HEIC & AVIF file support" media-libs/libheif
+ optfeature "additional RAW file support" media-gfx/rawtherapee
+ optfeature "additional RAW file support" media-gfx/darktable
+ optfeature "video thumbnails & playback" media-video/ffmpeg
+ optfeature "copying images to optical media" app-cdr/dvd+rw-tools
+ optfeature "WEBP file support" media-libs/libwebp
+
+ elog
+ elog "Please read the Help > User Guide for details. The source location is"
+ elog "/usr/share/fotocx/data/userguide and after running fotocx a copy will"
+ elog "be placed at /home/<user>/.fotocx/userguide."
+ elog
+ elog "To play videos, in Tools > Preferences set 'Video File Play Command'."
+ elog
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
diff --git a/media-gfx/fotocx/fotocx-23.82.ebuild b/media-gfx/fotocx/fotocx-24.50.ebuild
index cd89c8d333dc..8eee122865a7 100644
--- a/media-gfx/fotocx/fotocx-23.82.ebuild
+++ b/media-gfx/fotocx/fotocx-24.50.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.82-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/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-boost-175-1.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch
new file mode 100644
index 000000000000..cbb78d5bdc94
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch
@@ -0,0 +1,22 @@
+From f555a25f9e67e628e8075fc8599d7c11807eaddd Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Sun, 21 Apr 2024 08:36:16 +0200
+Subject: [PATCH] Fixes #13549: smesh doesn't compile with boost 1.85
+
+---
+ src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
+index d72ff2363f39..f108cbbcb2cf 100644
+--- a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
++++ b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
+@@ -55,7 +55,7 @@ namespace DriverGMF
+
+ bool isExtensionCorrect( const std::string& fileName )
+ {
+- std::string ext = boost::filesystem::extension(fileName);
++ std::string ext = boost::filesystem::path(fileName).extension().string();
+ switch ( ext.size() ) {
+ case 5: return ( ext == ".mesh" || ext == ".solb" );
+ case 6: return ( ext == ".meshb" );
diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch
new file mode 100644
index 000000000000..5f0807028859
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch
@@ -0,0 +1,22 @@
+From aa54ba73df4d42878130c99688be35acf10725a0 Mon Sep 17 00:00:00 2001
+From: ppphp <kevinniub@gmail.com>
+Date: Sat, 30 Mar 2024 13:52:32 +0800
+Subject: [PATCH] fix: c++20 deprecate copy_option
+
+---
+ src/Gui/PreferencePackManager.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
+index e0e6184a3147..e1773a436852 100644
+--- a/src/Gui/PreferencePackManager.cpp
++++ b/src/Gui/PreferencePackManager.cpp
+@@ -224,7 +224,7 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
+ auto savedPreferencePacksDirectory =
+ fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
+ auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
+- fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
++ fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
+ rescan();
+ }
+
diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch
new file mode 100644
index 000000000000..c4c8039dab49
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch
@@ -0,0 +1,25 @@
+From 91457bbdee2422c7f0372688cf72d021cf222073 Mon Sep 17 00:00:00 2001
+From: ppphp <kevinniub@gmail.com>
+Date: Sat, 30 Mar 2024 19:17:56 +0800
+Subject: [PATCH] add version check macro for compatibility
+
+---
+ src/Gui/PreferencePackManager.cpp | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
+index e1773a436852..dfc54240c00c 100644
+--- a/src/Gui/PreferencePackManager.cpp
++++ b/src/Gui/PreferencePackManager.cpp
+@@ -224,7 +224,11 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
+ auto savedPreferencePacksDirectory =
+ fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
+ auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
++#if BOOST_VERSION >= 107400
+ fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
++#else
++ fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
++#endif
+ rescan();
+ }
+
diff --git a/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch
new file mode 100644
index 000000000000..0ab999771068
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch
@@ -0,0 +1,29 @@
+From ccaee18917432fd02e4371a7847bdfaf0692edd1 Mon Sep 17 00:00:00 2001
+From: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
+Date: Sun, 19 May 2024 23:23:45 -0300
+Subject: [PATCH] Gui: Fix NaviCube for Qt6
+
+---
+ src/Gui/NaviCube.cpp | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/Gui/NaviCube.cpp b/src/Gui/NaviCube.cpp
+index 2d164f196b3c..9e3a62d66c81 100644
+--- a/src/Gui/NaviCube.cpp
++++ b/src/Gui/NaviCube.cpp
+@@ -926,6 +926,7 @@ NaviCubeImplementation::PickId NaviCubeImplementation::pickFace(short x, short y
+ GLubyte pixels[4] = {0};
+ if (m_PickingFramebuffer && std::abs(x) <= m_CubeWidgetSize / 2 &&
+ std::abs(y) <= m_CubeWidgetSize / 2) {
++ static_cast<QtGLWidget*>(m_View3DInventorViewer->viewport())->makeCurrent();
+ m_PickingFramebuffer->bind();
+
+ glViewport(0, 0, m_CubeWidgetSize * 2, m_CubeWidgetSize * 2);
+@@ -936,6 +937,7 @@ NaviCubeImplementation::PickId NaviCubeImplementation::pickFace(short x, short y
+ glReadPixels(2 * x + m_CubeWidgetSize, 2 * y + m_CubeWidgetSize, 1, 1,
+ GL_RGBA, GL_UNSIGNED_BYTE, &pixels);
+ m_PickingFramebuffer->release();
++ static_cast<QtGLWidget*>(m_View3DInventorViewer->viewport())->doneCurrent();
+ }
+ return pixels[3] == 255 ? static_cast<PickId>(pixels[0]) : PickId::None;
+ }
diff --git a/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch
new file mode 100644
index 000000000000..c1fe31ab05ad
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch
@@ -0,0 +1,186 @@
+From 6043c90462e85fbf15e30ea4c7da7d9a22d570f2 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Wed, 7 Feb 2024 15:25:13 +0100
+Subject: [PATCH] Py3.12: harmonize with upstream of PyCXX
+
+---
+ src/CXX/IndirectPythonInterface.cxx | 36 +++++++++++++++------
+ src/CXX/Python3/IndirectPythonInterface.hxx | 6 ++--
+ src/CXX/Python3/cxx_extensions.cxx | 2 +-
+ src/CXX/Python3/cxxextensions.c | 10 ++++++
+ src/CXX/Version.hxx | 2 +-
+ 5 files changed, 42 insertions(+), 14 deletions(-)
+
+diff --git a/src/CXX/IndirectPythonInterface.cxx b/src/CXX/IndirectPythonInterface.cxx
+index 3d810cea88a5..fc9e45cbd64f 100644
+--- a/src/CXX/IndirectPythonInterface.cxx
++++ b/src/CXX/IndirectPythonInterface.cxx
+@@ -122,17 +122,21 @@ static PyTypeObject *ptr__Bytes_Type = NULL;
+ # endif
+
+ # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
++# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
+ static int *ptr_Py_DebugFlag = NULL;
+ static int *ptr_Py_InteractiveFlag = NULL;
+ static int *ptr_Py_OptimizeFlag = NULL;
+ static int *ptr_Py_NoSiteFlag = NULL;
+ static int *ptr_Py_VerboseFlag = NULL;
++# endif
+
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ static const char **ptr__Py_PackageContext = NULL;
+-# else
++# else
+ static char **ptr__Py_PackageContext = NULL;
+-# endif
++# endif
++# endif
+ # endif
+
+ # ifdef Py_REF_DEBUG
+@@ -242,17 +246,21 @@ bool InitialisePythonIndirectInterface()
+ ptr_Py_RefTotal = GetInt_as_IntPointer( "_Py_RefTotal" );
+ # endif
+ # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
++# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
+ ptr_Py_DebugFlag = GetInt_as_IntPointer( "Py_DebugFlag" );
+ ptr_Py_InteractiveFlag = GetInt_as_IntPointer( "Py_InteractiveFlag" );
+ ptr_Py_OptimizeFlag = GetInt_as_IntPointer( "Py_OptimizeFlag" );
+ ptr_Py_NoSiteFlag = GetInt_as_IntPointer( "Py_NoSiteFlag" );
+ ptr_Py_VerboseFlag = GetInt_as_IntPointer( "Py_VerboseFlag" );
++# endif
+
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ ptr__Py_PackageContext = GetConstCharPointer_as_ConstCharPointerPointer( "_Py_PackageContext" );
+-# else
++# else
+ ptr__Py_PackageContext = GetCharPointer_as_CharPointerPointer( "_Py_PackageContext" );
+-# endif
++# endif
++# endif
+ # endif
+
+ # define PYCXX_STANDARD_EXCEPTION( eclass, bclass )
+@@ -397,17 +405,21 @@ PYCXX_EXPORT PyTypeObject *_Bytes_Type() { return ptr__Bytes_Type; }
+ // wrap the Python Flag variables
+ //
+ # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
++# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
+ PYCXX_EXPORT int &_Py_DebugFlag() { return *ptr_Py_DebugFlag; }
+ PYCXX_EXPORT int &_Py_InteractiveFlag() { return *ptr_Py_InteractiveFlag; }
+ PYCXX_EXPORT int &_Py_OptimizeFlag() { return *ptr_Py_OptimizeFlag; }
+ PYCXX_EXPORT int &_Py_NoSiteFlag() { return *ptr_Py_NoSiteFlag; }
+ PYCXX_EXPORT int &_Py_VerboseFlag() { return *ptr_Py_VerboseFlag; }
++# endif
+ # endif
+
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ PYCXX_EXPORT const char *__Py_PackageContext() { return *ptr__Py_PackageContext; }
+-# else
++# else
+ PYCXX_EXPORT char *__Py_PackageContext() { return *ptr__Py_PackageContext; }
++# endif
+ # endif
+
+ # if 0
+@@ -518,15 +530,19 @@ PYCXX_EXPORT PyTypeObject *_Bytes_Type() { return &PyBytes_Type; }
+ // wrap flags
+ //
+ # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
++# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
+ PYCXX_EXPORT int &_Py_DebugFlag() { return Py_DebugFlag; }
+ PYCXX_EXPORT int &_Py_InteractiveFlag() { return Py_InteractiveFlag; }
+ PYCXX_EXPORT int &_Py_OptimizeFlag() { return Py_OptimizeFlag; }
+ PYCXX_EXPORT int &_Py_NoSiteFlag() { return Py_NoSiteFlag; }
+ PYCXX_EXPORT int &_Py_VerboseFlag() { return Py_VerboseFlag; }
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# endif
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ PYCXX_EXPORT const char *__Py_PackageContext() { return _Py_PackageContext; }
+-# else
++# else
+ PYCXX_EXPORT char *__Py_PackageContext() { return _Py_PackageContext; }
++# endif
+ # endif
+ # endif
+
+diff --git a/src/CXX/Python3/IndirectPythonInterface.hxx b/src/CXX/Python3/IndirectPythonInterface.hxx
+index bf2c15c53f9a..eb4ae4fe63b9 100644
+--- a/src/CXX/Python3/IndirectPythonInterface.hxx
++++ b/src/CXX/Python3/IndirectPythonInterface.hxx
+@@ -149,10 +149,12 @@ PYCXX_EXPORT int &_Py_NoSiteFlag();
+ PYCXX_EXPORT int &_Py_TabcheckFlag();
+ PYCXX_EXPORT int &_Py_VerboseFlag();
+
+-# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
++# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
+ PYCXX_EXPORT const char *__Py_PackageContext();
+-# else
++# else
+ PYCXX_EXPORT char *__Py_PackageContext();
++# endif
+ # endif
+ # endif
+
+diff --git a/src/CXX/Python3/cxx_extensions.cxx b/src/CXX/Python3/cxx_extensions.cxx
+index 7371810be4a9..e6eefdafea17 100644
+--- a/src/CXX/Python3/cxx_extensions.cxx
++++ b/src/CXX/Python3/cxx_extensions.cxx
+@@ -152,7 +152,7 @@ PyMethodDef *MethodTable::table()
+ //================================================================================
+ ExtensionModuleBase::ExtensionModuleBase( const char *name )
+ : m_module_name( name )
+-#if defined( Py_LIMITED_API )
++#if defined( Py_LIMITED_API ) || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 12)
+ , m_full_module_name( m_module_name )
+ #else
+ , m_full_module_name( __Py_PackageContext() != NULL ? std::string( __Py_PackageContext() ) : m_module_name )
+diff --git a/src/CXX/Python3/cxxextensions.c b/src/CXX/Python3/cxxextensions.c
+index 3b0f8ef7c588..afb9313ad0a8 100644
+--- a/src/CXX/Python3/cxxextensions.c
++++ b/src/CXX/Python3/cxxextensions.c
+@@ -42,6 +42,14 @@ extern "C"
+ {
+ #endif
+
++#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 13
++PyObject py_object_initializer =
++ {
++ { 1 },
++ NULL // type must be init'ed by user
++ };
++
++#else
+ PyObject py_object_initializer =
+ {
+ _PyObject_EXTRA_INIT
+@@ -49,6 +57,8 @@ PyObject py_object_initializer =
+ NULL // type must be init'ed by user
+ };
+
++#endif
++
+ #ifdef __cplusplus
+ }
+ #endif
+diff --git a/src/CXX/Version.hxx b/src/CXX/Version.hxx
+index e6069aad335e..59fe3c203b86 100644
+--- a/src/CXX/Version.hxx
++++ b/src/CXX/Version.hxx
+@@ -40,7 +40,7 @@
+
+ #define PYCXX_VERSION_MAJOR 7
+ #define PYCXX_VERSION_MINOR 1
+-#define PYCXX_VERSION_PATCH 7
++#define PYCXX_VERSION_PATCH 9
+ #define PYCXX_MAKEVERSION( major, minor, patch ) ((major<<16)|(minor<<8)|(patch))
+ #define PYCXX_VERSION PYCXX_MAKEVERSION( PYCXX_VERSION_MAJOR, PYCXX_VERSION_MINOR, PYCXX_VERSION_PATCH )
+ #endif
diff --git a/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch
new file mode 100644
index 000000000000..505862aa2bf1
--- /dev/null
+++ b/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch
@@ -0,0 +1,148 @@
+From ac9a88c2c59a2d2002a7740a1597a05c819220e0 Mon Sep 17 00:00:00 2001
+From: wmayer <wmayer@users.sourceforge.net>
+Date: Sat, 20 Apr 2024 14:02:38 +0200
+Subject: [PATCH] PySide6: Fixes #13533: QSvgWidget is not a child of QtSvg in
+ PySide6
+
+* Create a compatibility module QtSvgWidgets.py to handle PySide2 & PySide6
+* In the Arch and Material modules use the QtSvgWidgets module
+* Since Qt6 the method QFont.setWeight() doesn't accept an int any more but requires an enum. Since the call of QFont.setBold(True) sets
+ a weight of 75 the extra calls of QFont.setWeight(75) can be safely removed
+---
+ cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake | 3 +++
+ src/Mod/Arch/ArchPrecast.py | 8 ++++----
+ src/Mod/Arch/ArchWindow.py | 4 ++--
+ src/Mod/Arch/importIFClegacy.py | 1 -
+ src/Mod/Draft/DraftGui.py | 1 -
+ src/Mod/Material/MaterialEditor.py | 6 +++---
+ 6 files changed, 12 insertions(+), 11 deletions(-)
+
+diff --git a/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake b/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
+index 0569c1fde9f2..fa872e287b59 100644
+--- a/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
++++ b/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
+@@ -91,9 +91,12 @@ macro(SetupShibokenAndPyside)
+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWidgets import *\n")
+ if(PYSIDE_MAJOR_VERSION LESS 6)
+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n")
++ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QGraphicsSvgItem\n"
++ "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QSvgWidget\n")
+ else()
+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n"
+ "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineCore import QWebEnginePage\n")
++ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvgWidgets import *\n")
+ endif()
+ endif()
+
+diff --git a/src/Mod/Arch/ArchPrecast.py b/src/Mod/Arch/ArchPrecast.py
+index 7bb929b10e34..2f482902c1ce 100644
+--- a/src/Mod/Arch/ArchPrecast.py
++++ b/src/Mod/Arch/ArchPrecast.py
+@@ -777,14 +777,14 @@ class _PrecastTaskPanel:
+ def __init__(self):
+
+ import FreeCADGui
+- from PySide import QtCore,QtGui,QtSvg
++ from PySide import QtCore,QtGui,QtSvgWidgets
+ self.form = QtGui.QWidget()
+ self.grid = QtGui.QGridLayout(self.form)
+ self.PrecastTypes = ["Beam","I-Beam","Pillar","Panel","Slab","Stairs"]
+ self.SlabTypes = ["Champagne","Hat"]
+
+ # image display
+- self.preview = QtSvg.QSvgWidget(":/ui/ParametersBeam.svg")
++ self.preview = QtSvgWidgets.QSvgWidget(":/ui/ParametersBeam.svg")
+ self.preview.setMaximumWidth(200)
+ self.preview.setMinimumHeight(120)
+ self.grid.addWidget(self.preview,0,0,1,2)
+@@ -1263,7 +1263,7 @@ class _DentsTaskPanel:
+ def __init__(self):
+
+ import FreeCADGui
+- from PySide import QtCore,QtGui,QtSvg
++ from PySide import QtCore,QtGui,QtSvgWidgets
+ self.form = QtGui.QWidget()
+ self.grid = QtGui.QGridLayout(self.form)
+ self.Rotations = ["N","S","E","O"]
+@@ -1282,7 +1282,7 @@ def __init__(self):
+ self.grid.addWidget(self.buttonRemove,2,1,1,1)
+
+ # image display
+- self.preview = QtSvg.QSvgWidget(":/ui/ParametersDent.svg")
++ self.preview = QtSvgWidgets.QSvgWidget(":/ui/ParametersDent.svg")
+ self.preview.setMaximumWidth(200)
+ self.preview.setMinimumHeight(120)
+ self.grid.addWidget(self.preview,3,0,1,2)
+diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py
+index f3c11c5e9c7a..dc9c84f9a8bf 100644
+--- a/src/Mod/Arch/ArchWindow.py
++++ b/src/Mod/Arch/ArchWindow.py
+@@ -34,7 +34,7 @@
+
+ if FreeCAD.GuiUp:
+ import FreeCADGui
+- from PySide import QtCore, QtGui, QtSvg
++ from PySide import QtCore, QtGui, QtSvgWidgets
+ from draftutils.translate import translate
+ from PySide.QtCore import QT_TRANSLATE_NOOP
+ import draftguitools.gui_trackers as DraftTrackers
+@@ -426,7 +426,7 @@ def taskbox(self):
+ self.pic.hide()
+
+ # SVG display
+- self.im = QtSvg.QSvgWidget(":/ui/ParametersWindowFixed.svg")
++ self.im = QtSvgWidgets.QSvgWidget(":/ui/ParametersWindowFixed.svg")
+ self.im.setMaximumWidth(200)
+ self.im.setMinimumHeight(120)
+ grid.addWidget(self.im,4,0,1,2)
+diff --git a/src/Mod/Arch/importIFClegacy.py b/src/Mod/Arch/importIFClegacy.py
+index 037e889ce5b9..256b29056b33 100644
+--- a/src/Mod/Arch/importIFClegacy.py
++++ b/src/Mod/Arch/importIFClegacy.py
+@@ -1795,7 +1795,6 @@ def explorer(filename,schema="IFC2X3_TC1.exp"):
+ tree.headerItem().setText(1, "")
+ tree.headerItem().setText(2, "Item and Properties")
+ bold = QtGui.QFont()
+- bold.setWeight(75)
+ bold.setBold(True)
+
+ #print(ifc.Entities)
+diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py
+index c6e8584f4a71..2471bb66c61a 100644
+--- a/src/Mod/Draft/DraftGui.py
++++ b/src/Mod/Draft/DraftGui.py
+@@ -312,7 +312,6 @@ def setupToolBar(self,task=False):
+ self.promptlabel = self._label("promptlabel", self.layout, hide=task)
+ self.cmdlabel = self._label("cmdlabel", self.layout, hide=task)
+ boldtxt = QtGui.QFont()
+- boldtxt.setWeight(75)
+ boldtxt.setBold(True)
+ self.cmdlabel.setFont(boldtxt)
+
+diff --git a/src/Mod/Material/MaterialEditor.py b/src/Mod/Material/MaterialEditor.py
+index cbcbde924609..28dbe83bc026 100644
+--- a/src/Mod/Material/MaterialEditor.py
++++ b/src/Mod/Material/MaterialEditor.py
+@@ -27,7 +27,7 @@
+ import os
+ from pathlib import PurePath
+ import sys
+-from PySide import QtCore, QtGui, QtSvg
++from PySide import QtCore, QtGui, QtSvgWidgets
+
+ import FreeCAD
+ import FreeCADGui
+@@ -92,11 +92,11 @@ def __init__(self, obj=None, prop=None, material=None, card_path="", category="S
+ treeView = widget.treeView
+
+ # create preview svg slots
+- self.widget.PreviewRender = QtSvg.QSvgWidget(self.iconPath + "preview-rendered.svg")
++ self.widget.PreviewRender = QtSvgWidgets.QSvgWidget(self.iconPath + "preview-rendered.svg")
+ self.widget.PreviewRender.setMaximumWidth(64)
+ self.widget.PreviewRender.setMinimumHeight(64)
+ self.widget.topLayout.addWidget(self.widget.PreviewRender)
+- self.widget.PreviewVector = QtSvg.QSvgWidget(self.iconPath + "preview-vector.svg")
++ self.widget.PreviewVector = QtSvgWidgets.QSvgWidget(self.iconPath + "preview-vector.svg")
+ self.widget.PreviewVector.setMaximumWidth(64)
+ self.widget.PreviewVector.setMinimumHeight(64)
+ self.widget.topLayout.addWidget(self.widget.PreviewVector)
diff --git a/media-gfx/freecad/files/freecad-0.21.2-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-r3.ebuild
index a2c42145c9aa..bf1b98990bc0 100644
--- a/media-gfx/freecad/freecad-0.21.2-r1.ebuild
+++ b/media-gfx/freecad/freecad-0.21.2-r3.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"
@@ -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
@@ -93,12 +93,14 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2[${PYTHON_USEDEP}]
+ dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken2:=[${PYTHON_USEDEP}]
' python3_{10..11} )
)
qt6? (
+ 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
@@ -107,8 +109,8 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken6[${PYTHON_USEDEP}]
+ dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken6:=[${PYTHON_USEDEP}]
' )
)
)
@@ -164,6 +166,10 @@ REQUIRED_USE="
PATCHES=(
"${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch
"${FILESDIR}"/${PN}-0.21.1-Gentoo-specific-don-t-check-vcs.patch
+ "${FILESDIR}"/${PN}-0.21.2-vtk9.3-fix.patch
+ "${FILESDIR}"/${PN}-0.21.2-boost-175-1.patch
+ "${FILESDIR}"/${PN}-0.21.2-boost-175-2.patch
+ "${FILESDIR}"/${PN}-0.21.2-boost-175-3.patch
)
DOCS=( CODE_OF_CONDUCT.md README.md )
@@ -182,10 +188,26 @@ 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
+
+ if use qt6; then
+ eapply "${FILESDIR}/${PN}-0.21.2-navcube-qt6.patch"
+ eapply "${FILESDIR}/${PN}-0.21.2-qtsvg-qt6.patch"
+ eapply "${FILESDIR}/${PN}-0.21.2-py312-qt6.patch"
+ fi
+
cmake_src_prepare
}
src_configure() {
+ # -Werror=odr, -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/875221
+ # https://github.com/FreeCAD/FreeCAD/issues/13173
+ filter-lto
+
local mycmakeargs=(
-DBUILD_ADDONMGR=$(usex addonmgr)
-DBUILD_ARCH=ON
@@ -194,7 +216,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 +300,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 +311,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
@@ -322,7 +347,7 @@ src_install() {
# https://github.com/coin3d/coin/issues/451
: \${QT_QPA_PLATFORM:=xcb}
export QT_QPA_PLATFORM
- exec /usr/$(get_libdir)/${PN}/bin/FreeCAD
+ exec /usr/$(get_libdir)/${PN}/bin/FreeCAD \${@}
_EOF_
mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
fi
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index afcff7e93e63..250c1a1dbbf7 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:=
@@ -93,12 +94,14 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside2[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2[${PYTHON_USEDEP}]
+ dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken2:=[${PYTHON_USEDEP}]
' python3_{10..11} )
)
qt6? (
- 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]
@@ -106,8 +109,8 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken6[${PYTHON_USEDEP}]
+ dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
+ dev-python/shiboken6:=[${PYTHON_USEDEP}]
' )
)
)
@@ -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
@@ -322,7 +333,7 @@ src_install() {
# https://github.com/coin3d/coin/issues/451
: \${QT_QPA_PLATFORM:=xcb}
export QT_QPA_PLATFORM
- exec /usr/$(get_libdir)/${PN}/bin/FreeCAD
+ exec /usr/$(get_libdir)/${PN}/bin/FreeCAD \${@}
_EOF_
mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
fi
diff --git a/media-gfx/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..a8bb11e9e73c 100644
--- a/media-gfx/geeqie/Manifest
+++ b/media-gfx/geeqie/Manifest
@@ -1,4 +1,2 @@
-DIST geeqie-2.1-docs.tar.xz 333756 BLAKE2B 2e569f4000befdaecebd6df9c94c59b8d9e05743343b1ba2ab647a228cc595b71369173cd0e7b798227a0843d493eb7d59be19b8259015239cfcdf8b5a40d339 SHA512 f1701e1f7550dc58d2d65f35da09284958b1d92f60568a8774831025525c835d2a03a48fd582052d3fca9cd2c15d935e30baf3f6599f624bf3dbccfeb606745d
-DIST geeqie-2.1.tar.xz 1800612 BLAKE2B 60190532eb8830e12acf06e39046dd04ccf28ac5d3679f2063e6f6e102add0d398dfc70a57a758d0c16483d5314ec88cb56b54829103ad938b29ac1500f86fdc SHA512 1812234d349536626433bbb7670cd45ef5ce328bf58f603af8eb4a01f7d3db2557d5a812714b12a9b49559aa1fe1c186ceddf2f632c2b303d64d36ad746a2d2f
-DIST geeqie-2.2-docs.tar.xz 356976 BLAKE2B 3bca2815a6f177a2f38b9a66ff6fa95dba510aa2afb36d5d6c9f6841c0c1b25c4f9aad7d45ef57d911f0caa2a8499a06aba2ccaf7e279382bf4304c88f11ea13 SHA512 0f89995573b02e82c715dcdf4d71a309691885ad785f1297d2fee01aff00f2aed43c9cff6900bddfa1a727598934ba7bb0ced32b0c86c6f1a115271a8a81592a
-DIST geeqie-2.2.tar.xz 2169096 BLAKE2B fe7f21f5842ac7824ec37f0775d31e8dcd05934809f7bdd84d7dcb749d25976055050f42a8cea3cd414fb3c7e60055c9fa32b93cfef2af62de68f4d44af425c8 SHA512 7d03493b463a1949cbc5e377927abc4bc6fa62914e8cdddb30a832cb9c6caad579f5ba5bd2b8b0913b77063300c9c5ac1f7e671ddfb2ce18d8a8d0efcfb51dbe
+DIST geeqie-2.4-docs.tar.xz 364536 BLAKE2B 688720808c8e4543455259966aef726bf56a821890a78e4757d9d1fd02ce67217461808d9697b331b2a94841bf3581b25242a7e5c9c9a3f5b02209a566b09c16 SHA512 07bca33c347f448ee853ea60daf22c9cdace458b6ce6b3f4ced9b343a965370c51d7a872d5279852b7a83a1de51c8529a668f7d62a031bcec1fdde8b9bfbf9cb
+DIST geeqie-2.4.tar.xz 2178572 BLAKE2B df24f0b5d443cbd2033c0b382fe0d846c9073e8966aa736f647e34930e44083b9e44252c554578548a13c12c1b1a5a48bb7795f2fda8b8688a63ef402a257334 SHA512 7e0f5dff21e38a41adf0a793bd82652c5d639e84ab49403517f4b1dae042bfc5f4d02e54b54928e04a2397300acb04b130347df0be5637ee48634f5865ad346b
diff --git a/media-gfx/geeqie/files/geeqie-2.1-exiv2-0.28.0.patch b/media-gfx/geeqie/files/geeqie-2.1-exiv2-0.28.0.patch
deleted file mode 100644
index 13b6a171257d..000000000000
--- a/media-gfx/geeqie/files/geeqie-2.1-exiv2-0.28.0.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From c45cca777aa3477eaf297db99f337e18d9683c61 Mon Sep 17 00:00:00 2001
-From: Kevin Backhouse <kevinbackhouse@github.com>
-Date: Wed, 21 Jun 2023 12:23:33 +0100
-Subject: [PATCH] Add ExifData as extra argument to
- exif_item_get_data_as_text().
-
----
- src/advanced-exif.cc | 2 +-
- src/exif-common.cc | 2 +-
- src/exif.cc | 8 ++++----
- src/exif.h | 2 +-
- src/exiv2.cc | 4 ++--
- 5 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/src/advanced-exif.cc b/src/advanced-exif.cc
-index 79a54b12..e3d3067a 100644
---- a/src/advanced-exif.cc
-+++ b/src/advanced-exif.cc
-@@ -120,7 +120,7 @@ static void advanced_exif_update(ExifWin *ew)
- tag = g_strdup_printf("0x%04x", exif_item_get_tag_id(item));
- tag_name = exif_item_get_tag_name(item);
- format = exif_item_get_format_name(item, TRUE);
-- text = exif_item_get_data_as_text(item);
-+ text = exif_item_get_data_as_text(item, exif);
- utf8_text = utf8_validate_or_convert(text);
- g_free(text);
- elements = g_strdup_printf("%d", exif_item_get_elements(item));
-diff --git a/src/exif-common.cc b/src/exif-common.cc
-index 6a4c9740..b6f07ca6 100644
---- a/src/exif-common.cc
-+++ b/src/exif-common.cc
-@@ -995,7 +995,7 @@ gchar *exif_get_data_as_text(ExifData *exif, const gchar *key)
- if (key_valid) return text;
-
- item = exif_get_item(exif, key);
-- if (item) return exif_item_get_data_as_text(item);
-+ if (item) return exif_item_get_data_as_text(item, exif);
-
- return nullptr;
- }
-diff --git a/src/exif.cc b/src/exif.cc
-index 8708ff53..cda2cb1a 100644
---- a/src/exif.cc
-+++ b/src/exif.cc
-@@ -1454,7 +1454,7 @@ gchar *exif_item_get_string(ExifItem *item, gint UNUSED(idx))
- return exif_item_get_data_as_text_full(item, METADATA_PLAIN);
- }
-
--gchar *exif_item_get_data_as_text(ExifItem *item)
-+gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif)
- {
- return exif_item_get_data_as_text_full(item, METADATA_FORMATTED);
- }
-@@ -1527,11 +1527,11 @@ gchar *exif_get_tag_description_by_key(const gchar *key)
- return NULL;
- }
-
--static void exif_write_item(FILE *f, ExifItem *item)
-+static void exif_write_item(FILE *f, ExifItem *item, ExifData *exif)
- {
- gchar *text;
-
-- text = exif_item_get_data_as_text(item);
-+ text = exif_item_get_data_as_text(item, exif);
- if (text)
- {
- gchar *tag = exif_item_get_tag_name(item);
-@@ -1578,7 +1578,7 @@ void exif_write_data_list(ExifData *exif, FILE *f, gint human_readable_list)
- item = (ExifItem*)(work->data);
- work = work->next;
-
-- exif_write_item(f, item);
-+ exif_write_item(f, item, exif);
- }
- }
- g_fprintf(f, "----------------------------------------------------\n");
-diff --git a/src/exif.h b/src/exif.h
-index fcc7d8f5..4b03c201 100644
---- a/src/exif.h
-+++ b/src/exif.h
-@@ -136,7 +136,7 @@ gchar *exif_item_get_data(ExifItem *item, guint *data_len);
- gchar *exif_item_get_description(ExifItem *item);
- guint exif_item_get_format_id(ExifItem *item);
- const gchar *exif_item_get_format_name(ExifItem *item, gboolean brief);
--gchar *exif_item_get_data_as_text(ExifItem *item);
-+gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif);
- gint exif_item_get_integer(ExifItem *item, gint *value);
- ExifRational *exif_item_get_rational(ExifItem *item, gint *sign, guint n);
-
-diff --git a/src/exiv2.cc b/src/exiv2.cc
-index 33b779e7..dc62e8e0 100644
---- a/src/exiv2.cc
-+++ b/src/exiv2.cc
-@@ -778,13 +778,13 @@ const char *exif_item_get_format_name(ExifItem *item, gboolean UNUSED(brief))
- }
-
-
--gchar *exif_item_get_data_as_text(ExifItem *item)
-+gchar *exif_item_get_data_as_text(ExifItem *item, ExifData *exif)
- {
- try {
- if (!item) return nullptr;
- auto metadatum = reinterpret_cast<Exiv2::Metadatum *>(item);
- #if EXIV2_TEST_VERSION(0,17,0)
-- return utf8_validate_or_convert(metadatum->print().c_str());
-+ return utf8_validate_or_convert(metadatum->print(&exif->exifData()).c_str());
- #else
- std::stringstream str;
- Exiv2::Exifdatum *exifdatum;
-From b04f7cd0546976dc4f7ea440648ac0eedd8df3ce Mon Sep 17 00:00:00 2001
-From: Colin Clark <colin.clark@cclark.uk>
-Date: Wed, 21 Jun 2023 14:24:41 +0100
-Subject: [PATCH] Remove exiv2 0.28.0 restriction
-
-https://github.com/BestImageViewer/geeqie/pull/1119
-
-The bug was fixed in the above commit.
----
- meson.build | 12 ++----------
- 1 file changed, 2 insertions(+), 10 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index a4cab49c..412399fe 100644
---- a/meson.build
-+++ b/meson.build
-@@ -280,15 +280,7 @@ else
- endif
-
- exiv2_dep = []
--# See https://github.com/BestImageViewer/geeqie/issues/1090
--# for the reason for 0.28.0 exclusion
--req_version = ['>=0.11', '!=0.28.0']
--
--req_version_str = ''
--foreach req_version_str_ : req_version
-- req_version_str += req_version_str_
--endforeach
--
-+req_version = '>=0.11'
- option = get_option('exiv2')
- if not option.disabled()
- exiv2_dep = dependency('exiv2', version : req_version, required : get_option('exiv2'))
-@@ -296,7 +288,7 @@ if not option.disabled()
- conf_data.set('HAVE_EXIV2', 1)
- summary({'exiv2' : ['image metadata processed by exiv2:', true]}, section : 'Configuration', bool_yn : true)
- else
-- summary({'exiv2' : ['exiv2 ' + req_version_str + ' not found - image data not processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
-+ summary({'exiv2' : ['exiv2 ' + req_version + ' not found - image data not processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
- endif
- else
- summary({'exiv2' : ['disabled - image data processed by exiv2:', false]}, section : 'Configuration', bool_yn : true)
diff --git a/media-gfx/geeqie/files/geeqie-2.1-locale.patch b/media-gfx/geeqie/files/geeqie-2.1-locale.patch
deleted file mode 100644
index 10ae6b0169c5..000000000000
--- a/media-gfx/geeqie/files/geeqie-2.1-locale.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From 01d8762d45a2f3871cfd09176edbccdbe73a6767 Mon Sep 17 00:00:00 2001
-From: Thomas Klausner <wiz@gatalith.at>
-Date: Sat, 17 Jun 2023 18:47:28 +0200
-Subject: [PATCH] Add missing header for setlocale().
-
----
- src/misc.cc | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/misc.cc b/src/misc.cc
-index 9942605ce..a2ad3eb69 100644
---- a/src/misc.cc
-+++ b/src/misc.cc
-@@ -18,6 +18,8 @@
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-+#include <locale.h>
-+
- #include "main.h"
- #include "misc.h"
-
diff --git a/media-gfx/geeqie/files/geeqie-2.1-lua_hpp.patch b/media-gfx/geeqie/files/geeqie-2.1-lua_hpp.patch
deleted file mode 100644
index a0c816b5fb3c..000000000000
--- a/media-gfx/geeqie/files/geeqie-2.1-lua_hpp.patch
+++ /dev/null
@@ -1,19 +0,0 @@
----
- src/lua.cc | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/lua.cc b/src/lua.cc
-index 84aa549a..458b658a 100644
---- a/src/lua.cc
-+++ b/src/lua.cc
-@@ -24,9 +24,7 @@
-
- #define _XOPEN_SOURCE
-
--#include <lua.h>
--#include <lauxlib.h>
--#include <lualib.h>
-+#include <lua.hpp>
-
- #include <stdio.h>
- #include <glib.h>
diff --git a/media-gfx/geeqie/files/geeqie-2.3-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
deleted file mode 100644
index e19752f02bbd..000000000000
--- a/media-gfx/geeqie/geeqie-2.1-r1.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-LUA_COMPAT=( lua5-{3,4} )
-
-inherit lua-single meson optfeature xdg
-
-DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://www.geeqie.org"
-SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.tar.xz
- https://dev.gentoo.org/~voyageur/distfiles/${P}-docs.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc x86"
-IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
-
-RDEPEND="gnome-extra/zenity
- virtual/libintl
- x11-libs/gtk+:3
- djvu? ( app-text/djvu )
- exif? ( >=media-gfx/exiv2-0.17:=[xmp?] )
- ffmpegthumbnailer? ( media-video/ffmpegthumbnailer )
- heif? ( >=media-libs/libheif-1.3.2 )
- jpeg2k? ( >=media-libs/openjpeg-2.3.0:2= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpegxl? ( >=media-libs/libjxl-0.3.7:= )
- lcms? ( media-libs/lcms:2 )
- lua? ( ${LUA_DEPS} )
- map? ( media-libs/clutter-gtk
- media-libs/libchamplain:0.12[gtk] )
- pdf? ( >=app-text/poppler-0.62[cairo] )
- raw? ( >=media-libs/libraw-0.20:= )
- spell? ( app-text/gspell )
- tiff? ( media-libs/tiff:= )
- webp? ( gui-libs/gdk-pixbuf-loader-webp:= )
- zip? ( >=app-arch/libarchive-3.4.0 )"
-DEPEND="${RDEPEND}"
-BDEPEND="
- || ( dev-util/xxdi app-editors/vim-core )
- dev-util/glib-utils
- sys-devel/gettext
- virtual/pkgconfig"
-
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-locale.patch
- "${FILESDIR}"/${P}-lua_hpp.patch
- "${FILESDIR}"/${P}-exiv2-0.28.0.patch
-)
-
-pkg_setup() {
- # Do not require setting LUA_SINGLE_TARGET if lua is not used
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- default
-
- # Disable doc build - not useful most of the time per upstream
- sed -e "/subdir('doc')/d" -i meson.build || die
-}
-
-src_configure() {
- local emesonargs=(
- -Dgq_helpdir="share/doc/${PF}"
- -Dgq_htmldir="share/doc/${PF}/html"
- $(meson_use debug)
- $(meson_feature djvu)
- $(meson_feature exif exiv2)
- $(meson_feature ffmpegthumbnailer videothumbnailer)
- $(meson_feature heif)
- $(meson_feature jpeg)
- $(meson_feature jpeg2k j2k)
- $(meson_feature jpegxl)
- $(meson_feature lcms cms)
- $(meson_feature lua)
- $(meson_feature map gps-map)
- $(meson_feature pdf)
- $(meson_feature raw libraw)
- $(meson_feature spell)
- $(meson_feature tiff)
- $(meson_feature zip archive)
- )
-
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- # Manually generated ChangeLog
- dodoc "${WORKDIR}"/${P}-docs/*
-
- # The application needs access to some uncompressed doc files.
- docompress -x /usr/share/doc/${PF}/AUTHORS
- docompress -x /usr/share/doc/${PF}/ChangeLog
- docompress -x /usr/share/doc/${PF}/README.md
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "Camera import and tethered photography plugins" media-gfx/gphoto2
- optfeature "Lens ID plugin" media-libs/exiftool
- optfeature "Image crop plugin" "media-libs/exiftool media-gfx/imagemagick"
- optfeature "Image rotate plugin (JPEG)" media-gfx/fbida
- optfeature "Image rotate plugin (TIFF/PNG)" media-gfx/imagemagick
- optfeature "Print preview functionality" app-text/evince
-}
diff --git a/media-gfx/geeqie/geeqie-2.2.ebuild b/media-gfx/geeqie/geeqie-2.4.ebuild
index c1bf5433b1fb..f388de011d32 100644
--- a/media-gfx/geeqie/geeqie-2.2.ebuild
+++ b/media-gfx/geeqie/geeqie-2.4.ebuild
@@ -7,7 +7,7 @@ LUA_COMPAT=( lua5-{3,4} )
inherit lua-single meson optfeature xdg
DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://www.geeqie.org"
+HOMEPAGE="https://www.geeqie.org"
SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.tar.xz
https://dev.gentoo.org/~voyageur/distfiles/${P}-docs.tar.xz"
# Doc build:
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc x86"
IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
RDEPEND="gnome-extra/zenity
@@ -49,6 +49,8 @@ BDEPEND="
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
diff --git a/media-gfx/geeqie/geeqie-9999.ebuild b/media-gfx/geeqie/geeqie-9999.ebuild
index 80135160f44c..54d5d3c640fa 100644
--- a/media-gfx/geeqie/geeqie-9999.ebuild
+++ b/media-gfx/geeqie/geeqie-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,14 +7,12 @@ LUA_COMPAT=( lua5-{3,4} )
inherit git-r3 lua-single meson optfeature xdg
DESCRIPTION="A lightweight GTK image viewer forked from GQview"
-HOMEPAGE="http://www.geeqie.org"
-SRC_URI=""
+HOMEPAGE="https://www.geeqie.org"
# Using github mirror, as geeqie.org does not have a valid SSL certificate
EGIT_REPO_URI="https://github.com/BestImageViewer/geeqie.git"
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
diff --git a/media-gfx/gifsicle/Manifest b/media-gfx/gifsicle/Manifest
index f6261fc6b289..1ec51202d6aa 100644
--- a/media-gfx/gifsicle/Manifest
+++ b/media-gfx/gifsicle/Manifest
@@ -1,2 +1,3 @@
DIST gifsicle-1.93.tar.gz 578194 BLAKE2B c5635fc736e2fd97278ab97377663f9702d2891cab5e19b16fa1aa53412ae48945d82ee42e9690208532cb854c99397ec4c1a11d4521454d8d40efd9adfd9d2a SHA512 1ace2c9597a405d69bb9dfa24764a3d7c7dd9864e1832d25a4a7ad2e32780038206b889711846d6e4dbc7189482d0d03874f18d86966ebffbc4ee10569c390d3
DIST gifsicle-1.94.tar.gz 579194 BLAKE2B 0d6a734d6340938579633061cbff1f702c33adf7c206d3120488fa4a14eb69ef2f5838ee42b92cb371fa39398b57114c6315308d83fd951c399d9d6c3b3986d0 SHA512 5dc84332d929bc765b642f31fb79ed2998b193985070513cb3e412bca519c7c6065537c14df13e9860ae09dc5c66a06ca5475b1fdee62cd9509d42a5e2d0c9b6
+DIST gifsicle-1.95.tar.gz 579636 BLAKE2B 32af2f786328b059745828ade184eea216e147abbb8023cb681c2d37a40a4abc9d0f32bb60a322b17f1af03a5e2c566b194e4c6a8d685e0697f90497294a9c81 SHA512 888bb3f4501ce3f12e810045bb432c9e56952df1def565e4a8983529856b00be8e79d9df148858fe2a327d1dd751eb71280e17c8e0426e68290b0dfe02247891
diff --git a/media-gfx/gifsicle/gifsicle-1.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/gifsicle/gifsicle-1.95.ebuild b/media-gfx/gifsicle/gifsicle-1.95.ebuild
new file mode 100644
index 000000000000..9d95e9385b78
--- /dev/null
+++ b/media-gfx/gifsicle/gifsicle-1.95.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Create, manipulate, and optimize GIF images and animations"
+HOMEPAGE="https://www.lcdf.org/~eddietwo/gifsicle/ https://github.com/kohler/gifsicle"
+SRC_URI="https://www.lcdf.org/~eddietwo/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2 MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="X"
+
+RDEPEND="
+ X? (
+ x11-libs/libX11
+ x11-libs/libXt
+ )
+"
+DEPEND="${RDEPEND}
+ X? ( x11-base/xorg-proto )"
+
+src_configure() {
+ econf $(use_enable X gifview)
+}
diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest
index be00f2de364a..579449a517b7 100644
--- a/media-gfx/gimp/Manifest
+++ b/media-gfx/gimp/Manifest
@@ -1,3 +1,4 @@
DIST gimp-2.10.34.tar.bz2 31405329 BLAKE2B 0b2d3a81abf89684bb90e2101896db3479a25c5da76738543dba8d0378e64608eee9aeb24888e15f5e347f72fa1df3e9b82aa27e503ee61d1c4d45d44fa7bddc SHA512 4802ce3758daba868570f1ac97a3f1cb41e1130fcc6376f9bf4c999441f8fd25937aa71b6f726d82d7c780f4153b11d2595bb76bc2356a42266909fbcc0bd34a
DIST gimp-2.10.36.tar.bz2 31532334 BLAKE2B d033cd1407df3399b5968b7e3f7838d288143080b516476a5dd46599b6a84ac2efca591521368cef7a1c3d9935b45ed3262fb469e1ae36ccf60a1199f5cfa44d SHA512 dbe6152ea6ff99cca59bbf2c88a64fb4ff6b529d98ace7723eadf5dfb0e10d9cbaf2de1e0d5251e9ecf9abca73da9ae1a501f229997802fd4077fb9594f4ba66
-DIST gimp-2.99.16.tar.xz 24969172 BLAKE2B 45050c0e45e7c9e64ee92ac9b3985c05f528205f74f442979dee8b326f41b35de403a2de93edad090dd87987ef446531e01a67ca857ef03403414fc9ac1464dd SHA512 b0da0529b000a7309c9d601977518cd19a7bf50ab41952fa36b83c027042d6901c39d0a6870c16e8a8ad3318207c93d34ee3d50d0e5f35bcabeaa17d91e060ee
+DIST gimp-2.10.38.tar.bz2 31698453 BLAKE2B 58c29e3e00d873e69a5e5f4e9c3ff4d868ccfb11914570306ef12c54ca7d3ef89a62d8c71fac1f2d1f426ac615dc4caf7a7260351c00301dce2b1aa4193bab6d SHA512 343bf1c3bd14bf8e7c7af79c05920faca213da68549127c1d8af53e2e872e55aeaf39a3cfcf578183a34fdc4f98e1c859be63956b0611067186eefd1fdee2aaa
+DIST gimp-2.99.18.tar.xz 25418968 BLAKE2B ccb76bb5c375925d4d71505f3e1546f05ba0e20533859b1b6250a4d9054efb6bec4927a5e0c525272fa24d5a6bdf4fb7881d60a1d34b1210ee38b90e661ef707 SHA512 151ccd0322601e76ed0198b40832ab0b6c138428f2e75806dd558e29c9b3437d9226a243142bf4a86113fa5ea4f5965b99cf7cd0ab0ecb7bdfc48036de35a9c6
diff --git a/media-gfx/gimp/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.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.10.34-r1.ebuild b/media-gfx/gimp/gimp-2.10.38.ebuild
index bbf53b003d80..3746698cb6e8 100644
--- a/media-gfx/gimp/gimp-2.10.34-r1.ebuild
+++ b/media-gfx/gimp/gimp-2.10.38.ebuild
@@ -12,20 +12,20 @@ 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"
+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-accessibility/at-spi2-core-2.50.1
+ app-arch/bzip2
+ app-arch/xz-utils
>=app-text/poppler-0.50[cairo]
>=app-text/poppler-data-0.4.7
>=dev-libs/glib-2.56.2:2
>=dev-libs/json-glib-1.2.6
- 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
@@ -44,7 +44,11 @@ COMMON_DEPEND="
>=x11-libs/cairo-1.12.2
>=x11-libs/gdk-pixbuf-2.31:2
>=x11-libs/gtk+-2.24.32:2
+ x11-libs/libX11
x11-libs/libXcursor
+ x11-libs/libXext
+ x11-libs/libXfixes
+ x11-libs/libXmu
>=x11-libs/pango-1.29.4
aalib? ( media-libs/aalib )
alsa? ( >=media-libs/alsa-lib-1.0.0 )
@@ -55,7 +59,7 @@ COMMON_DEPEND="
mng? ( media-libs/libmng:= )
openexr? ( >=media-libs/openexr-1.6.1:= )
postscript? ( app-text/ghostscript-gpl:= )
- udev? ( dev-libs/libgudev:= )
+ 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 )
@@ -70,12 +74,17 @@ RDEPEND="
DEPEND="
${COMMON_DEPEND}
+ dev-libs/libxml2:2
+ dev-libs/libxslt
+"
+
+BDEPEND="
+ >=dev-build/gtk-doc-am-1
>=dev-lang/perl-5.10.0
dev-libs/appstream-glib
- >=dev-build/gtk-doc-am-1
dev-util/gtk-update-icon-cache
>=dev-util/intltool-0.40.1
- >=sys-devel/gettext-0.19
+ >=sys-devel/gettext-0.19.8
>=dev-build/libtool-2.2
virtual/pkgconfig
"
@@ -84,17 +93,21 @@ DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" )
PATCHES=(
"${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070)
+ "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148
+ "${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796
+ "${FILESDIR}/${PN}-2.10.36_c99_tiff.patch" #919282
+ "${FILESDIR}/${PN}-2.10.36_c99_metadata.patch" #919282
)
src_prepare() {
sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794
sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
- sed 's:-DGIMP_DISABLE_DEPRECATED:-DGIMP_protect_DISABLE_DEPRECATED:g' -i configure.ac || die #615144
+ 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
+ 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)"
@@ -190,7 +203,7 @@ src_install() {
# precedence on PDF documents by default
mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
- find "${D}" -name '*.la' -type f -delete || die
+ find "${ED}" -name '*.la' -type f -delete || die
# Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
local gimp_app_version=$(ver_cut 1-2)
diff --git a/media-gfx/gimp/gimp-2.99.16.ebuild b/media-gfx/gimp/gimp-2.99.18-r1.ebuild
index f23dc09414c1..a206f158550c 100644
--- a/media-gfx/gimp/gimp-2.99.16.ebuild
+++ b/media-gfx/gimp/gimp-2.99.18-r1.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 fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript python test udev unwind vala vector-icons webp wmf xpm"
REQUIRED_USE="
lua? ( ${LUA_REQUIRED_USE} )
python? ( ${PYTHON_REQUIRED_USE} )
@@ -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,10 +53,11 @@ 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 )
+ fits? ( sci-libs/cfitsio )
heif? ( >=media-libs/libheif-1.13.0:= )
javascript? ( dev-libs/gjs )
jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= )
@@ -109,13 +110,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
@@ -167,11 +174,13 @@ src_configure() {
-Denable-multiproc=true
-Dappdata-test=disabled
-Dbug-report-url=https://bugs.gentoo.org/
+ -Dilbm=disabled
-Dlibbacktrace=false
-Dwebkit-unmaintained=false
$(meson_feature aalib aa)
$(meson_feature alsa)
$(meson_feature doc gi-docgen)
+ $(meson_feature fits)
$(meson_feature heif)
$(meson_feature javascript)
$(meson_feature jpeg2k jpeg2000)
@@ -179,6 +188,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..122443176973 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)
@@ -201,7 +208,7 @@ _rename_plugins() {
einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
local prename=gimp-org-
(
- cd "${ED}"/usr/$(get_libdir)/gimp/2.99/plug-ins || exit 1
+ cd "${ED}"/usr/$(get_libdir)/gimp/3.0/plug-ins || exit 1
for plugin_slash in $(ls -d1 */); do
plugin=${plugin_slash%/}
if [[ -f ${plugin}/${plugin} ]]; then
diff --git a/media-gfx/gimp/metadata.xml b/media-gfx/gimp/metadata.xml
index 7f947b8fb0b5..23efd9862ca5 100644
--- a/media-gfx/gimp/metadata.xml
+++ b/media-gfx/gimp/metadata.xml
@@ -10,6 +10,7 @@
<name>Proxy Maintainers</name>
</maintainer>
<use>
+ <flag name="fits">Enable support for loading/exporting FITS images</flag>
<flag name="vector-icons">Enable support for vector icons (experimental)</flag>
</use>
<upstream>
diff --git a/media-gfx/gnofract4d/Manifest b/media-gfx/gnofract4d/Manifest
index a72b7ece14c3..56a01a89d483 100644
--- a/media-gfx/gnofract4d/Manifest
+++ b/media-gfx/gnofract4d/Manifest
@@ -1,2 +1,3 @@
DIST gnofract4d-4.3_p20221125.tar.gz 18275177 BLAKE2B 24fcd71818a98a3137b485046f295b523884d05ece694e37cf871e1fdaba7b26ac870675895a7a361e5d1fe142b0ae68c720c6e39615226951e8e1af6f57c848 SHA512 75d8d12441a0e2024f0ef125fee5cbe8dcc10c4c48ba366d5529644ae743928b998f85369aafc6e737cb994a82ebdcbe941e11c916c0d0996e785a146469e359
DIST gnofract4d-4.3_p20230717.tar.gz 18275492 BLAKE2B 0bc8834c6f3ed3ec48bf4ee49ad563ce6842485dd32eb568c580d74528d062dcad6f8da4a67434c3784497883d0a73d4fa050a346ef970ac348db58bc6e7ea39 SHA512 c427c42e75b830dcf95012346d2db3a9b63be4e5431e7eae5ec74b915f5eedd857d8fa56d5ec37e8d245c3a77dc413c72115700d614205bdd62b916e6865f749
+DIST gnofract4d-4.3_p20240324.tar.gz 18274057 BLAKE2B 183bf96e0429fa676f1c6fca4ae6466c489d0fe5ffee09ae161e01d0f22b4e77165f846416702c026f5d73a27833dfebd49f5c3131c621c9b1abd2ee9fc5529d SHA512 a174683b659347e4a7203d78d309ab41971d105131d40ea60490871477e80109624405f7012e455389ccc9325e08f224a1d3ea2d4e0c23fc9c5ca4fb83f9dfaa
diff --git a/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild b/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild
new file mode 100644
index 000000000000..c9482af02943
--- /dev/null
+++ b/media-gfx/gnofract4d/gnofract4d-4.3_p20240324.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson optfeature python-single-r1 virtualx xdg
+
+COMMIT="06e34bbf920692828bfd816ab5fb93e7ea9c51c2"
+
+DESCRIPTION="A program for drawing beautiful mathematically-based images known as fractals"
+HOMEPAGE="https://fract4d.github.io/gnofract4d/"
+SRC_URI="https://github.com/fract4d/gnofract4d/archive/${COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}
+ media-libs/libjpeg-turbo:0=
+ media-libs/libpng:0="
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ gui-libs/gtk:4[introspection]"
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ media-video/ffmpeg[vpx,zlib]
+ $(python_gen_cond_dep '
+ dev-python/pytest[${PYTHON_USEDEP}]
+ ')
+ )"
+
+src_prepare() {
+ sed -i "s:4.3:${PV}:" meson.build || die
+ default
+}
+
+src_configure() {
+ local emesonargs=(
+ -Ddocdir="${EPREFIX}/usr/share/doc/${PF}"
+ -Dstrip=false
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+ python_fix_shebang "${ED}"/usr/bin/gnofract4d
+}
+
+src_test() {
+ local EPYTEST_IGNORE=(
+ # test_regress.py does not provide pytest with any tests and inspecting it requires dev-python/pillow
+ test_regress.py
+ )
+ local EPYTEST_DESELECT=(
+ # terminate called after throwing an instance of 'std::exception'
+ test_fract4d.py::Test::testFDSite
+ )
+ use x86 && EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/890796
+ test_fractal.py::Test::testDiagonal
+ test_fractal.py::Test::testRecolor
+ )
+ TMPDIR="${T}" virtx epytest
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ optfeature "creating videos" media-video/ffmpeg[vpx,zlib]
+}
diff --git a/media-gfx/gnome-font-viewer/Manifest b/media-gfx/gnome-font-viewer/Manifest
index 30ce2fce2547..8dd47f50c0f8 100644
--- a/media-gfx/gnome-font-viewer/Manifest
+++ b/media-gfx/gnome-font-viewer/Manifest
@@ -1,2 +1,2 @@
-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
+DIST gnome-font-viewer-46.0.tar.xz 304092 BLAKE2B 4128c343d5f139ebae6f342b47ef98c39846ce25561411b0b7821be1f9e985aaea4e9a2fd354328b41972df2771db5383cdc68b21cd6a6987aac24596b2b1d1a SHA512 c97e109c16d59b22afa1b8c9736b99cf687284783691e624e331218d39a5ac509e53555416672bf8967ed8611ac25e7817766f8d5c66ca73cd2309b2405c2ebe
diff --git a/media-gfx/gnome-font-viewer/gnome-font-viewer-44.0.ebuild b/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild
index 210129e9ff68..163cee416bb5 100644
--- a/media-gfx/gnome-font-viewer/gnome-font-viewer-44.0.ebuild
+++ b/media-gfx/gnome-font-viewer/gnome-font-viewer-46.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
@@ -9,12 +9,12 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-font-viewer"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
DEPEND="
>=dev-libs/glib-2.56.0:2
>=gui-libs/gtk-4.5.0:4
- >=gui-libs/libadwaita-1.2.0:1
+ >=gui-libs/libadwaita-1.4_alpha:1
>=media-libs/harfbuzz-0.9.9:=
media-libs/fontconfig:1.0
media-libs/freetype:2
@@ -28,3 +28,7 @@ BDEPEND="
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
"
+
+PATCHES=(
+ "${FILESDIR}"/45.0-window-Fix-function-callback-definition.patch
+)
diff --git a/media-gfx/gnuclad/gnuclad-0.2.4.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-r1.ebuild b/media-gfx/graphicsmagick/graphicsmagick-1.3.43-r1.ebuild
new file mode 100644
index 000000000000..1100b2cca2fb
--- /dev/null
+++ b/media-gfx/graphicsmagick/graphicsmagick-1.3.43-r1.ebuild
@@ -0,0 +1,161 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+MY_P=${P/graphicsm/GraphicsM}
+DESCRIPTION="Collection of tools and libraries for many image formats"
+HOMEPAGE="http://www.graphicsmagick.org/ https://foss.heptapod.net/graphicsmagick/graphicsmagick"
+
+if [[ ${PV} == 9999 ]] ; then
+ EHG_REPO_URI="https://foss.heptapod.net/${PN}/${PN}"
+ inherit mercurial
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bobfriesenhahn.asc
+ inherit verify-sig
+
+ SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}-history/$(ver_cut 1-2)/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://downloads.sourceforge.net/project/${PN}/${PN}-history/$(ver_cut 1-2)/${MY_P}.tar.xz.asc )"
+ S="${WORKDIR}/${MY_P}"
+
+ KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bobfriesenhahn )"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV%.*}"
+IUSE="bzip2 +cxx debug dynamic-loading fpx heif imagemagick jbig jpeg jpeg2k jpegxl lcms lzma"
+IUSE+=" openmp perl png postscript q16 q32 static-libs tcmalloc tiff truetype"
+IUSE+=" webp wmf X zlib zstd"
+
+RDEPEND="
+ dev-libs/libltdl
+ bzip2? ( app-arch/bzip2 )
+ fpx? ( media-libs/libfpx )
+ heif? ( media-libs/libheif:= )
+ imagemagick? ( !media-gfx/imagemagick )
+ jbig? ( media-libs/jbigkit )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/jasper:= )
+ jpegxl? ( media-libs/libjxl:= )
+ lcms? ( media-libs/lcms:2 )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl:= )
+ png? ( media-libs/libpng:= )
+ postscript? ( app-text/ghostscript-gpl )
+ tcmalloc? ( dev-util/google-perftools:= )
+ tiff? ( media-libs/tiff:= )
+ truetype? (
+ media-fonts/urw-fonts
+ >=media-libs/freetype-2
+ )
+ webp? ( media-libs/libwebp:= )
+ wmf? ( media-libs/libwmf )
+ X? (
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ zlib? ( sys-libs/zlib )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND+=" virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.41-flags.patch
+ "${FILESDIR}"/${PN}-1.3.41-perl.patch
+ "${FILESDIR}"/${PN}-1.3.43-bashism.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local depth=8
+
+ use q16 && depth=16
+ use q32 && depth=32
+
+ local myeconfargs=(
+ --enable-largefile
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable debug prof)
+ $(use_enable debug gcov)
+ $(use_enable imagemagick magick-compat)
+ $(use_enable openmp)
+ --with-threads
+ $(use_with dynamic-loading modules)
+ --with-quantum-depth=${depth}
+ --without-frozenpaths
+ $(use_with cxx magick-plus-plus)
+ $(use_with heif)
+ $(use_with jpegxl jxl)
+ $(use_with perl)
+ --with-perl-options=INSTALLDIRS=vendor
+ $(use_with bzip2 bzlib)
+ $(use_with postscript dps)
+ $(use_with fpx)
+ $(use_with jbig)
+ $(use_with webp)
+ $(use_with jpeg)
+ $(use_with jpeg2k jp2)
+ $(use_with lcms lcms2)
+ $(use_with lzma)
+ $(use_with png)
+ $(use_with tcmalloc)
+ $(use_with tiff)
+ --without-trio
+ $(use_with truetype ttf)
+ $(use_with wmf)
+ --with-fontpath="${EPREFIX}"/usr/share/fonts
+ --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
+ --with-windows-font-dir="${EPREFIX}"/usr/share/fonts/corefonts
+ $(use_with zlib)
+ $(use_with zstd)
+ $(use_with X x)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ use perl && emake perl-build
+}
+
+src_test() {
+ # Some perl tests fail when DISPLAY is set
+ unset DISPLAY
+
+ default
+}
+
+src_install() {
+ default
+
+ if use perl ; then
+ emake -C PerlMagick DESTDIR="${D}" install
+
+ find "${ED}" -type f -name perllocal.pod -exec rm -f {} + || die
+ find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} + || die
+ fi
+
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} + || die
+}
diff --git a/media-gfx/graphicsmagick/graphicsmagick-1.3.43.ebuild b/media-gfx/graphicsmagick/graphicsmagick-1.3.43.ebuild
new file mode 100644
index 000000000000..0c2ec447af58
--- /dev/null
+++ b/media-gfx/graphicsmagick/graphicsmagick-1.3.43.ebuild
@@ -0,0 +1,163 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+MY_P=${P/graphicsm/GraphicsM}
+DESCRIPTION="Collection of tools and libraries for many image formats"
+HOMEPAGE="http://www.graphicsmagick.org/ https://hg.osdn.net/view/graphicsmagick/GM"
+
+if [[ ${PV} == 9999 ]] ; then
+ EHG_REPO_URI="http://hg.code.sf.net/p/${PN}/code"
+ inherit mercurial
+else
+ VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bobfriesenhahn.asc
+ inherit verify-sig
+
+ SRC_URI="https://downloads.sourceforge.net/${PN}/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://downloads.sourceforge.net/${PN}/${MY_P}.tar.xz.asc )"
+ S="${WORKDIR}/${MY_P}"
+
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+ BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bobfriesenhahn )"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV%.*}"
+IUSE="bzip2 +cxx debug dynamic-loading fpx heif imagemagick jbig jpeg jpegxl lcms lzma"
+IUSE+=" openmp perl png postscript q16 q32 static-libs svg tcmalloc tiff truetype"
+IUSE+=" webp wmf X zlib zstd"
+
+RDEPEND="
+ dev-libs/libltdl
+ bzip2? ( app-arch/bzip2 )
+ fpx? ( media-libs/libfpx )
+ heif? ( media-libs/libheif:= )
+ imagemagick? ( !media-gfx/imagemagick )
+ jbig? ( media-libs/jbigkit )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpegxl? ( media-libs/libjxl:= )
+ lcms? ( media-libs/lcms:2 )
+ lzma? ( app-arch/xz-utils )
+ perl? ( dev-lang/perl:= )
+ png? ( media-libs/libpng:= )
+ postscript? ( app-text/ghostscript-gpl )
+ svg? ( dev-libs/libxml2 )
+ tcmalloc? ( dev-util/google-perftools:= )
+ tiff? ( media-libs/tiff:= )
+ truetype? (
+ media-fonts/urw-fonts
+ >=media-libs/freetype-2
+ )
+ webp? ( media-libs/libwebp:= )
+ wmf? ( media-libs/libwmf )
+ X? (
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXext
+ )
+ zlib? ( sys-libs/zlib )
+ zstd? ( app-arch/zstd:= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND+=" virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.3.41-flags.patch
+ "${FILESDIR}"/${PN}-1.3.41-perl.patch
+ "${FILESDIR}"/${PN}-1.3.43-bashism.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ eautoreconf
+}
+
+src_configure() {
+ local depth=8
+
+ use q16 && depth=16
+ use q32 && depth=32
+
+ local myeconfargs=(
+ --enable-largefile
+ --enable-shared
+ $(use_enable static-libs static)
+ $(use_enable debug prof)
+ $(use_enable debug gcov)
+ $(use_enable imagemagick magick-compat)
+ $(use_enable openmp)
+ --with-threads
+ $(use_with dynamic-loading modules)
+ --with-quantum-depth=${depth}
+ --without-frozenpaths
+ $(use_with cxx magick-plus-plus)
+ $(use_with heif)
+ $(use_with jpegxl jxl)
+ $(use_with perl)
+ --with-perl-options=INSTALLDIRS=vendor
+ $(use_with bzip2 bzlib)
+ $(use_with postscript dps)
+ $(use_with fpx)
+ $(use_with jbig)
+ $(use_with webp)
+ $(use_with jpeg)
+ # Needs last-rited/unpackaged jasper
+ --without-jp2
+ $(use_with lcms lcms2)
+ $(use_with lzma)
+ $(use_with png)
+ $(use_with tcmalloc)
+ $(use_with tiff)
+ --without-trio
+ $(use_with truetype ttf)
+ $(use_with wmf)
+ --with-fontpath="${EPREFIX}"/usr/share/fonts
+ --with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
+ --with-windows-font-dir="${EPREFIX}"/usr/share/fonts/corefonts
+ $(use_with svg xml)
+ $(use_with zlib)
+ $(use_with zstd)
+ $(use_with X x)
+ )
+
+ econf "${myeconfargs[@]}"
+}
+
+src_compile() {
+ default
+
+ use perl && emake perl-build
+}
+
+src_test() {
+ # Some perl tests fail when DISPLAY is set
+ unset DISPLAY
+
+ default
+}
+
+src_install() {
+ default
+
+ if use perl ; then
+ emake -C PerlMagick DESTDIR="${D}" install
+
+ find "${ED}" -type f -name perllocal.pod -exec rm -f {} + || die
+ find "${ED}" -depth -mindepth 1 -type d -empty -exec rm -rf {} + || die
+ fi
+
+ find "${ED}" -name '*.la' -exec sed -i -e "/^dependency_libs/s:=.*:='':" {} + || die
+}
diff --git a/media-gfx/graphicsmagick/graphicsmagick-9999.ebuild b/media-gfx/graphicsmagick/graphicsmagick-9999.ebuild
index 8ae904f0cb83..fd1d7bcb1476 100644
--- a/media-gfx/graphicsmagick/graphicsmagick-9999.ebuild
+++ b/media-gfx/graphicsmagick/graphicsmagick-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,17 +7,17 @@ inherit autotools toolchain-funcs
MY_P=${P/graphicsm/GraphicsM}
DESCRIPTION="Collection of tools and libraries for many image formats"
-HOMEPAGE="http://www.graphicsmagick.org/ https://hg.osdn.net/view/graphicsmagick/GM"
+HOMEPAGE="http://www.graphicsmagick.org/ https://foss.heptapod.net/graphicsmagick/graphicsmagick"
if [[ ${PV} == 9999 ]] ; then
- EHG_REPO_URI="http://hg.code.sf.net/p/${PN}/code"
+ EHG_REPO_URI="https://foss.heptapod.net/${PN}/${PN}"
inherit mercurial
else
VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/bobfriesenhahn.asc
inherit verify-sig
- SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.xz"
- SRC_URI+=" verify-sig? ( mirror://sourceforge/${PN}/${MY_P}.tar.xz.asc )"
+ SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}-history/$(ver_cut 1-2)/${MY_P}.tar.xz"
+ SRC_URI+=" verify-sig? ( https://downloads.sourceforge.net/project/${PN}/${PN}-history/$(ver_cut 1-2)/${MY_P}.tar.xz.asc )"
S="${WORKDIR}/${MY_P}"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
@@ -27,8 +27,8 @@ fi
LICENSE="MIT"
SLOT="0/${PV%.*}"
-IUSE="bzip2 +cxx debug dynamic-loading fpx heif imagemagick jbig jpeg jpegxl lcms lzma"
-IUSE+=" openmp perl png postscript q16 q32 static-libs svg tcmalloc tiff truetype"
+IUSE="bzip2 +cxx debug dynamic-loading fpx heif imagemagick jbig jpeg jpeg2k jpegxl lcms lzma"
+IUSE+=" openmp perl png postscript q16 q32 static-libs tcmalloc tiff truetype"
IUSE+=" webp wmf X zlib zstd"
RDEPEND="
@@ -39,13 +39,13 @@ RDEPEND="
imagemagick? ( !media-gfx/imagemagick )
jbig? ( media-libs/jbigkit )
jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/jasper:= )
jpegxl? ( media-libs/libjxl:= )
lcms? ( media-libs/lcms:2 )
lzma? ( app-arch/xz-utils )
perl? ( dev-lang/perl:= )
png? ( media-libs/libpng:= )
postscript? ( app-text/ghostscript-gpl )
- svg? ( dev-libs/libxml2 )
tcmalloc? ( dev-util/google-perftools:= )
tiff? ( media-libs/tiff:= )
truetype? (
@@ -113,8 +113,7 @@ src_configure() {
$(use_with jbig)
$(use_with webp)
$(use_with jpeg)
- # Needs last-rited/unpackaged jasper
- --without-jp2
+ $(use_with jpeg2k jp2)
$(use_with lcms lcms2)
$(use_with lzma)
$(use_with png)
@@ -126,7 +125,6 @@ src_configure() {
--with-fontpath="${EPREFIX}"/usr/share/fonts
--with-gs-font-dir="${EPREFIX}"/usr/share/fonts/urw-fonts
--with-windows-font-dir="${EPREFIX}"/usr/share/fonts/corefonts
- $(use_with svg xml)
$(use_with zlib)
$(use_with zstd)
$(use_with X x)
diff --git a/media-gfx/graphicsmagick/metadata.xml b/media-gfx/graphicsmagick/metadata.xml
index 77c1abede762..99ba429c7cac 100644
--- a/media-gfx/graphicsmagick/metadata.xml
+++ b/media-gfx/graphicsmagick/metadata.xml
@@ -26,5 +26,6 @@
</use>
<upstream>
<remote-id type="sourceforge">graphicsmagick</remote-id>
+ <remote-id type="heptapod">graphicsmagick/graphicsmagick</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild b/media-gfx/graphite2/graphite2-1.3.14_p20210810-r3.ebuild
index a2d978097e08..294ba366f782 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..12} )
+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..956eae36ba7b 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-11.0.0.tar.xz 21306368 BLAKE2B c424b2d81180513f2a03210b5a5febfbf80e5c9912ad020d7015be69fdae6579d44108d22f99450ae3384560b610dbaac49a50fe8cac9dbd4e80b8761a8b65a8 SHA512 e95c9ed491c5f09190ca0f085aba2b9a3f6703371d62f6a275f41ddfceef7d79956e1fb0ccfda6c21f2e57afc3a88e37d7091af724911fe3e900ee90a7a811cf
+DIST graphviz-12.0.0.tar.xz 21279920 BLAKE2B 67d4444dcc31417fd01268b0fdc81538d86e26f961227d106ae57eb3d6d0e4a2e0ba684413a2d1b66f17340e0ad3a244ce5554c180873683e3ad4775f661739d SHA512 b5d4c8e9b565d4268fff28f169e3bfdb9ebf8b809996f7e35887430e5745aeac92c092fe2a9e15b23c9ba3364aa89fe2eeed85ab3fba61acce21634bc9632813
DIST graphviz-9.0.0.tar.xz 21412796 BLAKE2B a1fd4e0d8d25ade263fdc0d357078cd8bb7847e88746561a0cfe07d129d193c309c7f4cb25f41cebca9549c8486aae2b1e3ebca0eaca57a41cbe2304a418dbd3 SHA512 912f31a4a90e21de9601ffcf8a85d2650d46f07e61aeb0e5124e5a91c67f444d08d40d49f15f2e4078d53d01fb9ca6f54dc9d18c1c08406da91b8ba9ad61416c
diff --git a/media-gfx/graphviz/graphviz-8.1.0.ebuild b/media-gfx/graphviz/graphviz-11.0.0.ebuild
index db2dd159e4a5..40f75c59e1ce 100644
--- a/media-gfx/graphviz/graphviz-8.1.0.ebuild
+++ b/media-gfx/graphviz/graphviz-11.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
@@ -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-12.0.0.ebuild b/media-gfx/graphviz/graphviz-12.0.0.ebuild
new file mode 100644
index 000000000000..3b42788dde34
--- /dev/null
+++ b/media-gfx/graphviz/graphviz-12.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..13} )
+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..c62432895cb6 100644
--- a/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
+++ b/media-gfx/gscan2pdf/gscan2pdf-2.13.2-r1.ebuild
@@ -9,7 +9,7 @@ inherit optfeature perl-module virtualx xdg-utils
DESCRIPTION="Scan documents, perform OCR, produce PDFs and DjVus"
HOMEPAGE="http://gscan2pdf.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
@@ -58,7 +58,7 @@ BDEPEND="
app-text/djvu[jpeg,tiff]
app-text/poppler[utils]
- app-text/tesseract[-opencl,osd(+),png,tiff]
+ app-text/tesseract[-opencl(-),osd(+),png,tiff]
app-text/unpaper
media-gfx/imagemagick[djvu,jpeg,png,tiff,perl,postscript,truetype]
media-gfx/sane-backends[sane_backends_test]
diff --git a/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild b/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild
index 21f36a314c88..8b113cf10656 100644
--- a/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild
+++ b/media-gfx/gscan2pdf/gscan2pdf-2.13.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,7 +9,7 @@ inherit optfeature perl-module virtualx xdg-utils
DESCRIPTION="Scan documents, perform OCR, produce PDFs and DjVus"
HOMEPAGE="http://gscan2pdf.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.xz"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/gthumb/Manifest b/media-gfx/gthumb/Manifest
index 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/boost-1.85-932315.patch b/media-gfx/hugin/files/boost-1.85-932315.patch
new file mode 100644
index 000000000000..e8fc5c2daa1f
--- /dev/null
+++ b/media-gfx/hugin/files/boost-1.85-932315.patch
@@ -0,0 +1,25 @@
+# HG changeset patch
+# User tmodes
+# Date 1710260877 -3600
+# Tue Mar 12 17:27:57 2024 +0100
+# Node ID 4d081490b48aaff820cee7601b8624b37b652c06
+# Parent 4b55f17c4e72d6c2f8b4930e3367ff52e1741b45
+Fixed deprecated boost::filesystem::copy_option enum
+
+diff -r 4b55f17c4e72 -r 4d081490b48a src/hugin_base/hugin_utils/filesystem.h
+--- a/src/hugin_base/hugin_utils/filesystem.h Tue Mar 12 17:27:29 2024 +0100
++++ b/src/hugin_base/hugin_utils/filesystem.h Tue Mar 12 17:27:57 2024 +0100
+@@ -64,6 +64,12 @@
+ #endif
+ #include <boost/filesystem.hpp>
+ namespace fs = boost::filesystem;
+- #define OVERWRITE_EXISTING boost::filesystem::copy_option::overwrite_if_exists
++ #if BOOST_VERSION>=107400
++ // in Boost 1.74 and later filesystem::copy_option is deprecated
++ // use filesystem::copy_options instead
++ #define OVERWRITE_EXISTING boost::filesystem::copy_options::overwrite_existing
++ #else
++ #define OVERWRITE_EXISTING boost::filesystem::copy_option::overwrite_if_exists
++ #endif
+ #endif
+ #endif // _HUGIN_UTILS_FILESYSTEM_H
diff --git a/media-gfx/hugin/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-2023.0.0-r1.ebuild
index 5ffa06386d06..40c4d46a93f6 100644
--- a/media-gfx/hugin/hugin-2022.0.0.ebuild
+++ b/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
@@ -1,16 +1,16 @@
-# 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.0-gtk3"
-PYTHON_COMPAT=( python3_{9..11} )
+WX_GTK_VER="3.2-gtk3"
+PYTHON_COMPAT=( python3_{10..12} )
inherit python-single-r1 wxwidgets cmake xdg
DESCRIPTION="GUI for the creation & processing of panoramic images"
HOMEPAGE="http://hugin.sf.net"
-SRC_URI="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"
@@ -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
@@ -57,14 +56,15 @@ 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() {
+ # Fix build with boost >=1.85
+ eapply "${FILESDIR}/boost-1.85-932315.patch"
+
sed -i \
-e "/COMMAND.*GZIP/d" \
-e "s/\.gz//g" \
diff --git a/media-gfx/hugin/hugin-2023.0.0.ebuild b/media-gfx/hugin/hugin-2023.0.0.ebuild
deleted file mode 100644
index 934bab607e9c..000000000000
--- a/media-gfx/hugin/hugin-2023.0.0.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2023 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} )
-
-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
-
-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-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..c6d9cec6333e 100644
--- a/media-gfx/hydrus/Manifest
+++ b/media-gfx/hydrus/Manifest
@@ -1,2 +1,4 @@
-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-571.tar.gz 46371027 BLAKE2B b0ca6a4d7fddb79808340c03d6ba6291021af752be95144b8475a12450394f21e76c5fd80a2f6094f21d6f4af25db22f5f8d2eb79fd3494be609d6bdcdb455cb SHA512 3d6b6dec777332128858fcd62f52026fd7a4ab831f7cc0b3a3af76d52b6c6d1ff7b9687554aa5569988386e1eb0b33111172029e25f0acb9f36bb1cd70fcccbc
+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-538.ebuild b/media-gfx/hydrus/hydrus-565-r1.ebuild
index 6c1cb6719c2e..07124a7dd9f9 100644
--- a/media-gfx/hydrus/hydrus-538.ebuild
+++ b/media-gfx/hydrus/hydrus-565-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
@@ -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
@@ -58,7 +62,7 @@ RDEPEND="
dev-python/twisted[${PYTHON_USEDEP}]
dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
- || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyside6] )
+ || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyqt6] )
media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
media-video/ffmpeg
@@ -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/hydrus/hydrus-534.ebuild b/media-gfx/hydrus/hydrus-571.ebuild
index 851d373d97a8..07124a7dd9f9 100644
--- a/media-gfx/hydrus/hydrus-534.ebuild
+++ b/media-gfx/hydrus/hydrus-571.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
@@ -34,11 +38,13 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RESTRICT="!test? ( test )"
# RDEPEND is sorted as such:
-# - No specific requirements
-# - Specific version or slot
+# Python libraries with no specific requirements
+# Python libraries with specific version, slot, or use requirements
+# Non-python dependencies
RDEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
dev-python/cbor2[${PYTHON_USEDEP}]
dev-python/chardet[${PYTHON_USEDEP}]
dev-python/cloudscraper[${PYTHON_USEDEP}]
@@ -48,19 +54,18 @@ RDEPEND="
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}]
+
+ dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
+ || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyqt6] )
+
media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
media-video/ffmpeg
-
- >=dev-python/QtPy-1.9.0-r4[pyside2,${PYTHON_USEDEP}]
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
')
"
BDEPEND="
@@ -69,14 +74,14 @@ BDEPEND="
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"
+ "${DISTDIR}/hydrus-3500-mpeg-error.patch"
+ "${DISTDIR}/hydrus-test-fixes.patch"
)
src_prepare() {
@@ -144,7 +149,7 @@ src_install() {
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"
+ optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]"
}
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/img2pdf/Manifest b/media-gfx/img2pdf/Manifest
index 35ac654c914e..73c1d21dd6d9 100644
--- a/media-gfx/img2pdf/Manifest
+++ b/media-gfx/img2pdf/Manifest
@@ -1 +1,2 @@
DIST img2pdf-0.4.4.tar.gz 97796 BLAKE2B d04eae8c02490e4e73339dade92b2521ad410ed741ccc2987961543790589b14a5c8939cb9bbadcc795f5edcbb59a1a43bd522c75948f42dde1acffafb6266e0 SHA512 56943cd965b3e6b0680b7696ca4b5a2ba779474f945dd0d2648fb6f18ab18aab6d74640f9bd8e9c8683e3e641b0657cb84c691054910d84f0c9e8ad733f179e9
+DIST img2pdf-0.5.1.tar.gz 104241 BLAKE2B 1ea89107654c91cea8b5f074c05c7376452dd2ebd40dafaadedb39ac3ee383c3c02c1375b130da73339e1f87eb1a6ffbe0553cdedf6ec997bc0731d1d100327f SHA512 e17a920929f6ab08f501b205c38f9cf2fd5a6bd8d41ac4819a5d7463a3cfbeb5376cd5bbee36ab303248610f1d5c8a71a38ff85b14be564e2f39c6eb537ffcaf
diff --git a/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild b/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild
index eb4877c3bc07..4238d9092f26 100644
--- a/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild
+++ b/media-gfx/img2pdf/img2pdf-0.4.4-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
diff --git a/media-gfx/img2pdf/img2pdf-0.5.1.ebuild b/media-gfx/img2pdf/img2pdf-0.5.1.ebuild
new file mode 100644
index 000000000000..156509f263af
--- /dev/null
+++ b/media-gfx/img2pdf/img2pdf-0.5.1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Losslessly convert raster images to PDF"
+HOMEPAGE="
+ https://gitlab.mister-muffin.de/josch/img2pdf/
+ https://pypi.org/project/img2pdf/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="gui"
+
+BDEPEND="
+ test? (
+ app-text/ghostscript-gpl
+ app-text/mupdf
+ app-text/poppler[cairo,png,tiff]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pdfrw[${PYTHON_USEDEP}]
+ dev-python/pillow[tiff,${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ media-gfx/imagemagick[jpeg,jpeg2k,lcms,png,-q8,-q32,tiff]
+ media-libs/exiftool
+ media-libs/netpbm[jpeg]
+ sys-libs/libfaketime
+ )
+"
+RDEPEND="
+ dev-python/pikepdf[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-libs/icc-profiles-openicc
+ gui? ( $(python_gen_impl_dep tk) )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_python_prepare_all
+
+ # Remove gui executable if there's no demand/support for it.
+ if ! use gui; then
+ sed -i -e '/gui_scripts/d' setup.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # https://gitlab.mister-muffin.de/josch/img2pdf/issues/187
+ src/img2pdf_test.py::test_miff_cmyk8
+ )
+
+ if has_version 'media-gfx/imagemagick[hdri]'; then
+ # https://gitlab.mister-muffin.de/josch/img2pdf/issues/178
+ EPYTEST_DESELECT+=(
+ src/img2pdf_test.py::test_miff_cmyk16
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/media-gfx/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-cxx20-2.patch b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch
new file mode 100644
index 000000000000..6364c3f88a9e
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch
@@ -0,0 +1,11 @@
+--- a/src/ui/dialog/filter-effects-dialog.cpp
++++ b/src/ui/dialog/filter-effects-dialog.cpp
+@@ -202,7 +202,7 @@
+ template< typename T> class ComboWithTooltip : public Gtk::EventBox
+ {
+ public:
+- ComboWithTooltip<T>(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr)
++ ComboWithTooltip(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr)
+ {
+ if (tip_text) {
+ set_tooltip_text(tip_text);
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch
new file mode 100644
index 000000000000..3c61b1919278
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch
@@ -0,0 +1,91 @@
+From 1798e9c13b786f3d077ba0132592c4d5c1d1fb9b Mon Sep 17 00:00:00 2001
+From: Tavmjong Bah <tavmjong@free.fr>
+Date: Tue, 26 Sep 2023 19:23:27 +0000
+Subject: [PATCH] Up C++ version to C++20.
+
+---
+ CMakeLists.txt | 4 ++--
+ _clang-format | 2 +-
+ src/ui/knot/knot-holder-entity.cpp | 2 +-
+ src/ui/tools/pencil-tool.cpp | 9 ++++++---
+ 4 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index fe6b10cda24..de2680bd651 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -18,9 +18,9 @@ message("Binary Dir: ${CMAKE_CURRENT_BINARY_DIR}")
+ # -----------------------------------------------------------------------------
+ # CMake Configuration
+ # -----------------------------------------------------------------------------
+-set(CMAKE_CXX_STANDARD 17)
++set(CMAKE_CXX_STANDARD 20)
+ set(CMAKE_CXX_STANDARD_REQUIRED ON)
+-# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++17 instead of -std=gnu++17
++# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++20 instead of -std=gnu++20
+ # TODO: build currently fails with it as we actually depend on GNU compiler extensions...
+ # mostly use of the non-Standard M_PI et al. TODO: C++20: Use the <numbers> header.
+
+diff --git a/_clang-format b/_clang-format
+index 39396fad65a..48de4d2bd88 100644
+--- a/_clang-format
++++ b/_clang-format
+@@ -103,7 +103,7 @@ SpacesInContainerLiterals: false
+ SpacesInCStyleCastParentheses: false
+ SpacesInParentheses: false
+ SpacesInSquareBrackets: false
+-Standard: c++17
++Standard: c++20
+ StatementMacros: []
+ TypenameMacros: []
+ TabWidth: 4
+diff --git a/src/ui/knot/knot-holder-entity.cpp b/src/ui/knot/knot-holder-entity.cpp
+index 8703f5975f7..add66d2fa29 100644
+--- a/src/ui/knot/knot-holder-entity.cpp
++++ b/src/ui/knot/knot-holder-entity.cpp
+@@ -315,7 +315,7 @@ void PatternKnotHolderEntityScale::knot_set(Geom::Point const &p, Geom::Point co
+ double scale_x = std::clamp(new_extent[X] / _cached_diagonal[X], _cached_min_scale, 1e9);
+ double scale_y = std::clamp(new_extent[Y] / _cached_diagonal[Y], _cached_min_scale, 1e9);
+
+- Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale(lerp(0.5, scale_x, scale_y))
++ Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale((scale_x + scale_y) * 0.5)
+ : Scale(scale_x, scale_y);
+
+ // 2. Calculate offset to keep pattern origin aligned
+diff --git a/src/ui/tools/pencil-tool.cpp b/src/ui/tools/pencil-tool.cpp
+index fd2d08cad0c..7324f7c8515 100644
+--- a/src/ui/tools/pencil-tool.cpp
++++ b/src/ui/tools/pencil-tool.cpp
+@@ -17,7 +17,11 @@
+ * Released under GNU GPL v2+, read the file 'COPYING' for more information.
+ */
+
+-#include <numeric> // For std::accumulate
++#include "pencil-tool.h"
++
++#include <cmath> // std::lerp
++#include <numeric> // std::accumulate
++
+ #include <gdk/gdkkeysyms.h>
+ #include <glibmm/i18n.h>
+
+@@ -26,7 +30,6 @@
+ #include <2geom/sbasis-to-bezier.h>
+ #include <2geom/svg-path-parser.h>
+
+-#include "pencil-tool.h"
+
+ #include "context-fns.h"
+ #include "desktop.h"
+@@ -806,7 +809,7 @@ void PencilTool::_addFreehandPoint(Geom::Point const &p, guint /*state*/, bool l
+ min = max;
+ }
+ double dezoomify_factor = 0.05 * 1000 / _desktop->current_zoom();
+- double const pressure_shrunk = pressure * (max - min) + min; // C++20 -> use std::lerp()
++ double const pressure_shrunk = std::lerp(min, max, pressure);
+ double pressure_computed = std::abs(pressure_shrunk * dezoomify_factor);
+ double pressure_computed_scaled = std::abs(pressure_computed * _desktop->getDocument()->getDocumentScale().inverse()[Geom::X]);
+ if (p != p_array[_npoints - 1]) {
+--
+GitLab
+
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.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/files/inkscape-1.3.2-poppler-24.05.patch b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch
new file mode 100644
index 000000000000..bb2764032c44
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch
@@ -0,0 +1,64 @@
+From 96ca7a6c215aa14336b52753f56244dc8796ec43 Mon Sep 17 00:00:00 2001
+From: Heiko Becker <mail@heiko-becker.de>
+Date: Fri, 3 May 2024 14:52:00 +0200
+Subject: [PATCH] Fix build with poppler >= 24.05.0
+
+GooString::hasUnicodeMarkerLE and GooString::hasUnicodeMarker were
+rename and moved to UTF.h [1][2]
+
+[1] https://gitlab.freedesktop.org/poppler/poppler/-/commit/98fabb298b0e8eaef9193bbce68c99c85473a314
+[2] https://gitlab.freedesktop.org/poppler/poppler/-/commit/1f06dca08c32ed18c3030530d98a0e30d41dd7a2
+---
+ src/extension/internal/pdfinput/poppler-transition-api.h | 9 +++++++++
+ src/extension/internal/pdfinput/poppler-utils.cpp | 6 ++++--
+ 2 files changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
+index 58aa1ec921d..481aefadf46 100644
+--- a/src/extension/internal/pdfinput/poppler-transition-api.h
++++ b/src/extension/internal/pdfinput/poppler-transition-api.h
+@@ -13,6 +13,15 @@
+ #define SEEN_POPPLER_TRANSITION_API_H
+
+ #include <glib/poppler-features.h>
++#include <poppler/UTF.h>
++
++#if POPPLER_CHECK_VERSION(24, 5, 0)
++#define _POPPLER_HAS_UNICODE_BOM(value) (hasUnicodeByteOrderMark(value->toStr()))
++#define _POPPLER_HAS_UNICODE_BOMLE(value) (hasUnicodeByteOrderMarkLE(value->toStr()))
++#else
++#define _POPPLER_HAS_UNICODE_BOM(value) (value->hasUnicodeMarker())
++#define _POPPLER_HAS_UNICODE_BOMLE(value) (value->hasUnicodeMarkerLE())
++#endif
+
+ #if POPPLER_CHECK_VERSION(24, 3, 0)
+ #define _POPPLER_FUNCTION_TYPE_SAMPLED Function::Type::Sampled
+diff --git a/src/extension/internal/pdfinput/poppler-utils.cpp b/src/extension/internal/pdfinput/poppler-utils.cpp
+index 78d90c66c9d..c02815f64b9 100644
+--- a/src/extension/internal/pdfinput/poppler-utils.cpp
++++ b/src/extension/internal/pdfinput/poppler-utils.cpp
+@@ -12,6 +12,8 @@
+
+ #include "poppler-utils.h"
+
++#include <poppler/UTF.h>
++
+ #include "2geom/affine.h"
+ #include "GfxFont.h"
+ #include "GfxState.h"
+@@ -563,10 +565,10 @@ std::string getDictString(Dict *dict, const char *key)
+ */
+ std::string getString(const GooString *value)
+ {
+- if (value->hasUnicodeMarker()) {
++ if (_POPPLER_HAS_UNICODE_BOM(value)) {
+ return g_convert(value->getCString () + 2, value->getLength () - 2,
+ "UTF-8", "UTF-16BE", NULL, NULL, NULL);
+- } else if (value->hasUnicodeMarkerLE()) {
++ } else if (_POPPLER_HAS_UNICODE_BOMLE(value)) {
+ return g_convert(value->getCString () + 2, value->getLength () - 2,
+ "UTF-8", "UTF-16LE", NULL, NULL, NULL);
+ }
+--
+GitLab
+
diff --git a/media-gfx/inkscape/inkscape-1.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..a47b5b9d4390 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,11 @@ 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
+ "${FILESDIR}"/${P}-poppler-24.05.patch # bug 931917
+ "${FILESDIR}"/${P}-cxx20.patch # bug 931917
+ "${FILESDIR}"/${P}-cxx20-2.patch # bug 933216
)
pkg_pretend() {
@@ -134,7 +141,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 +199,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..1ba4dcd9f1d3 100644
--- a/media-gfx/jp2a/Manifest
+++ b/media-gfx/jp2a/Manifest
@@ -1 +1,2 @@
-DIST jp2a-1.1.1.tar.gz 628052 BLAKE2B 7f999ff1c7f32b02007a8d0a2d5f1aed4d77a3e9ed6711566faf0169e8d0eb842b3b118c36671a98abd8ccbad100eace4f1053b6dc795071f30e70052488f141 SHA512 898141c4b2847049cc312995a4b18d0de3f62bf9cf5c45050df01007de42486c706ab4b63a30f13828807d7bf01680a0e391304d03ba2087a481d86668773dba
+DIST jp2a-1.1.1.tar.bz2 525678 BLAKE2B 82e4717acb27596ca789681d288767cd602207b56e4f4afbffe5a1a107d67e0bc2b61dadd3769963eff34d3d8a1546741a069cfa7dfe40c9d3486cac6ccb29d6 SHA512 92234100e43c542f468ce586fb1c3f975c2492b80062ea5871f0eb02351b26b7f56bd5567d4d2e3bcec1ea66ebae22623d7d973c3bc794dd99c819efcae983cd
+DIST jp2a-1.2.0.tar.bz2 444270 BLAKE2B 819101f7df242b869de0e91b6b6fd6c7d6f7d4bfb1f69a5b0477c9d34a08a46d9f05ad79926b66c2b0fe2ad785a340250bf1493ea8832bf7e40a621cb6b6afa2 SHA512 3f523e0c369b77323d512ff14944c70011280bf75b99e9b1abc0dcfefa706bf56bf0b6bed46c78194bd22c2b98dded65c551777dc75f5f217ebb6513d0a56d60
diff --git a/media-gfx/jp2a/jp2a-1.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/jp2a/jp2a-1.2.0.ebuild b/media-gfx/jp2a/jp2a-1.2.0.ebuild
new file mode 100644
index 000000000000..e3915d86ca7b
--- /dev/null
+++ b/media-gfx/jp2a/jp2a-1.2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="JPEG/PNG image to ASCII art converter"
+HOMEPAGE="https://github.com/Talinx/jp2a/"
+SRC_URI="https://github.com/Talinx/jp2a/releases/download/v${PV}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="curl"
+
+# TODO: restore ncurses support?
+# See https://github.com/gentoo/gentoo/pull/24218#issuecomment-1043795319
+RDEPEND="media-libs/libjpeg-turbo:=
+ media-libs/libpng
+ curl? ( net-misc/curl )"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ econf $(use_enable curl)
+}
diff --git a/media-gfx/jpeginfo/Manifest b/media-gfx/jpeginfo/Manifest
index 5f4cc5abda64..d0cd10cf2b36 100644
--- a/media-gfx/jpeginfo/Manifest
+++ b/media-gfx/jpeginfo/Manifest
@@ -1 +1,2 @@
DIST jpeginfo-1.6.1.tar.gz 64856 BLAKE2B 5d9748a4af26087e45f2ae3fa709bb2099547f22aaeaf1fde529d92d633b1bc665dfde301a9ecaf4a8e4fa190ef637126d6f4ee43118bb31f5782a402d4a08d1 SHA512 9cc9367b8b3e38ba46bff9477b8f61e63b55bd41a67ea2895cca9c097abba2a7a3ae068c235ecfea72c99af52bba91cbb1eb92feb019ba4eb08e826a7083c68b
+DIST jpeginfo-1.7.1.tar.gz 448213 BLAKE2B 4fa8a875a14b85b6b04bb8cd436dd5b6f68867ad10324ca56da24d247c46b6051fa566ac5f13c469cf90ffcdbc3f16bf6296cdda3f3c794e0986468971b5f31b SHA512 16c670b4f7eb2355fa2e1a665225d45bc135021565b4a950f8193bd0dbc1f55eed7af4e37ca71ea7df325aeb0c13ee52b0cc71e71b06ed39b013cc3377eca63b
diff --git a/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild b/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild
new file mode 100644
index 000000000000..8ff1d8261abe
--- /dev/null
+++ b/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="Prints information and tests integrity of JPEG/JFIF files"
+HOMEPAGE="https://www.kokkonen.net/tjko/projects.html"
+SRC_URI="https://www.kokkonen.net/tjko/src/${P}.tar.gz"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+
+RDEPEND="media-libs/libjpeg-turbo:="
+DEPEND="${RDEPEND}"
+
+src_prepare() {
+ default
+
+ # Clang 16
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC
+ econf
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ dodoc README
+}
diff --git a/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild b/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild
index 50019568af9d..e540930d599f 100644
--- a/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild
+++ b/media-gfx/jpegtoavi/jpegtoavi-1.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="JPEG to AVI/MJPEG animation command-line conversion tool"
HOMEPAGE="https://sourceforge.net/projects/jpegtoavi/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/media-gfx/kgraphviewer/Manifest b/media-gfx/kgraphviewer/Manifest
index 1680fa0d5e40..913884586af4 100644
--- a/media-gfx/kgraphviewer/Manifest
+++ b/media-gfx/kgraphviewer/Manifest
@@ -1 +1,2 @@
DIST kgraphviewer-2.4.3.tar.xz 1491328 BLAKE2B b51cf825ad4763538139f917a7d16d15a7244c19b3cab9c79bbd938ee3dd80e4e35e37012199e1256bcc9a9404d756cdb0f5ffb975484d527577c208ecf1d3fa SHA512 d18146ba380efe73e1ec716dd1cc310fe1eac23eccb10e2a699b107451637b9332cc25d62a4de762df4706cea182c9474ba1e885801c9832e1bb9bff1648e72d
+DIST kgraphviewer-2.5.0.tar.xz 1571364 BLAKE2B 77a749f6b2c7707e26993685445fac679067b1188a5e2bf974d99ddc89844eeea19de9fbdf86b9c0738a95515c3a5155743df4232167e24350c8d356ea96f6e3 SHA512 80056703cd42b709925b771fe4bafe17771954705a607d6c352a0818c726bc7b48d299fffd7f3d2f75ac498059f79923d4de468db20f8538554c4d6b8baffedb
diff --git a/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild b/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild
new file mode 100644
index 000000000000..d8fd97400f04
--- /dev/null
+++ b/media-gfx/kgraphviewer/kgraphviewer-2.5.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+KFMIN=6.1.0
+QTMIN=6.6.2
+inherit ecm kde.org
+
+DESCRIPTION="Graphviz dot graph file viewer"
+HOMEPAGE="https://apps.kde.org/kgraphviewer/"
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+fi
+
+LICENSE="GPL-2 GPL-2+ LGPL-2+ LGPL-2.1+ handbook? ( FDL-1.2 )"
+SLOT="0"
+IUSE=""
+
+COMMON_DEPEND="
+ >=dev-qt/qt5compat-${QTMIN}:6
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets]
+ >=dev-qt/qtsvg-${QTMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kparts-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=media-gfx/graphviz-2.30
+"
+DEPEND="${COMMON_DEPEND}
+ dev-libs/boost
+"
+RDEPEND="${COMMON_DEPEND}
+ !${CATEGORY}/${PN}:5
+"
diff --git a/media-gfx/krita/Manifest b/media-gfx/krita/Manifest
index a0de04766714..a82d45e70405 100644
--- a/media-gfx/krita/Manifest
+++ b/media-gfx/krita/Manifest
@@ -1,2 +1,3 @@
DIST krita-5.1.5-exiv2-0.28.patch.xz 4664 BLAKE2B e364325be3d8e40e293a7d268136be3737ce5d2b9b5607f140b30ba3e687dc8d86545f4463348587711150f1652b521f87efc859a1bf2bc3b5ed704cf3236781 SHA512 130ba9cce7d6c0138f7ef6dab1445816c2e29752aa16643c32a7d9c00d7a156ac88f01afdb782ab03fc1e0822660a070f74c02e7cde4dfbcec30baaf3c3dba7f
DIST krita-5.1.5.tar.xz 184981952 BLAKE2B 3d8d26849d8508dc040fb3ac5ab4d0ce724f670bf7d5782b37702b55afe5063543e6aa564a1c9326c90fb16f7905941e3f1ffd4296efd6f8a1c7cb34c0b41716 SHA512 b745eb9f51bb08df0948d6b97b85aee6a74b496df3e8423fb9107d79551daadb21960b4bb5c438348f662c67d0ec5b2fa6da18cfa5feb418659881cddd24d8f1
+DIST krita-5.2.3.tar.xz 186685456 BLAKE2B 42943e7ebffdb46b9da085b2069701895e37ad9c457273b9217a095f1dfdf15c715cde0b88d440abb2d73dee656730da38844f11f27022885f87bb9cc9adab26 SHA512 69a0477e3119765dd53e0502fe5a64fcdc921dfcba3ddc5dec5c1bc4342a77b172b38276f134cc56f79741e6c47b51ef51786aadf0d178ce3955e24a9fd27b74
diff --git a/media-gfx/krita/files/krita-5.2.2-fftw.patch b/media-gfx/krita/files/krita-5.2.2-fftw.patch
new file mode 100644
index 000000000000..b805be6a21c6
--- /dev/null
+++ b/media-gfx/krita/files/krita-5.2.2-fftw.patch
@@ -0,0 +1,18 @@
+Disable the cmake find_package method. It will instead fallback to use pkgconfig.
+Without this, it will fail to find fftw3 and error out.
+
+--- a/cmake/modules/FindFFTW3.cmake 2023-11-24 19:59:45.904059240 +0100
++++ b/cmake/modules/FindFFTW3.cmake 2023-11-24 20:00:17.029563107 +0100
+@@ -74,9 +74,9 @@
+ endforeach()
+ mark_as_advanced(PKG_FFTW_CONFIG_DIR)
+
+-find_package(FFTW3 QUIET NO_MODULE
+- HINTS ${PKG_FFTW_CONFIG_DIR} /usr/lib/cmake/fftw3 /usr/local/lib/cmake/fftw3
+-)
++#find_package(FFTW3 QUIET NO_MODULE
++# HINTS ${PKG_FFTW_CONFIG_DIR} /usr/lib/cmake/fftw3 /usr/local/lib/cmake/fftw3
++#)
+ mark_as_advanced(FFTW3_DIR)
+
+ # if we found the FFTW3 CMake package then we can start
diff --git a/media-gfx/krita/files/krita-5.2.3-tests-optional.patch b/media-gfx/krita/files/krita-5.2.3-tests-optional.patch
new file mode 100644
index 000000000000..48d9e314a295
--- /dev/null
+++ b/media-gfx/krita/files/krita-5.2.3-tests-optional.patch
@@ -0,0 +1,90 @@
+From 2e9369281d44a2701ac7364568d381cca0d92ec5 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 12 Jul 2020 18:55:31 +0200
+Subject: [PATCH] KritaAddBrokenUnitTest.cmake, MacroKritaAddBenchmark.cmake:
+ Skip ecm_add_test early if Qt5::Test is not available
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ cmake/modules/KritaAddBrokenUnitTest.cmake | 4 ++++
+ cmake/modules/MacroKritaAddBenchmark.cmake | 4 ++++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/cmake/modules/KritaAddBrokenUnitTest.cmake b/cmake/modules/KritaAddBrokenUnitTest.cmake
+index b7d0e8d852..901a0a1f99 100644
+--- a/cmake/modules/KritaAddBrokenUnitTest.cmake
++++ b/cmake/modules/KritaAddBrokenUnitTest.cmake
+@@ -23,6 +23,10 @@ function(KRITA_ADD_BROKEN_UNIT_TEST)
+ message(FATAL_ERROR "ecm_add_test() called with multiple source files but without setting \"TEST_NAME\"")
+ endif()
+
++ if(NOT TARGET Qt5::Test)
++ return()
++ endif()
++
+ set(_testname ${ARG_NAME_PREFIX}${_targetname})
+
+ # add test to the global list of disabled tests
+diff --git a/cmake/modules/MacroKritaAddBenchmark.cmake b/cmake/modules/MacroKritaAddBenchmark.cmake
+index c748d8e319..f804d9b8f4 100644
+--- a/cmake/modules/MacroKritaAddBenchmark.cmake
++++ b/cmake/modules/MacroKritaAddBenchmark.cmake
+@@ -23,6 +23,10 @@ macro (KRITA_ADD_BENCHMARK _test_NAME)
+ set(_nogui "NOGUI")
+ endif()
+
++ if(NOT TARGET Qt5::Test)
++ return()
++ endif()
++
+ add_executable( ${_test_NAME} ${_srcList} )
+ ecm_mark_as_test(${_test_NAME})
+
+--
+2.27.0
+
+From 3c9fe10e25e94bdb1eb5e7b07ac2696635fdc5a3 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Wed, 17 Jun 2020 20:18:28 +0200
+Subject: [PATCH] Don't build tests when testing not requested
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+
+diff --git a/libs/flake/CMakeLists.txt b/libs/flake/CMakeLists.txt
+index cbdac265d2..1a50c1620a 100644
+--- a/libs/flake/CMakeLists.txt
++++ b/libs/flake/CMakeLists.txt
+@@ -9,8 +9,10 @@ include_directories(
+ )
+
+ add_subdirectory(styles)
+-add_subdirectory(tests)
+-add_subdirectory(resources/tests)
++if(BUILD_TESTING)
++ add_subdirectory(tests)
++ add_subdirectory(resources/tests)
++endif()
+
+ set(kritaflake_SRCS
+ KoGradientHelper.cpp
+diff --git a/libs/image/tiles3/CMakeLists.txt b/libs/image/tiles3/CMakeLists.txt
+index 88c0516360..01f2383ddb 100644
+--- a/libs/image/tiles3/CMakeLists.txt
++++ b/libs/image/tiles3/CMakeLists.txt
+@@ -1 +1,3 @@
+-add_subdirectory(tests)
++if(BUILD_TESTING)
++ add_subdirectory(tests)
++endif()
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1246,7 +1246,9 @@
+ ${CMAKE_CURRENT_BINARY_DIR}
+ )
+
++if(BUILD_TESTING)
+ add_subdirectory(sdk/tests)
++endif()
+
+ add_subdirectory(libs)
+ add_subdirectory(plugins)
diff --git a/media-gfx/krita/krita-5.1.5.ebuild b/media-gfx/krita/krita-5.1.5.ebuild
index 3c49122dc318..854bb12e9593 100644
--- a/media-gfx/krita/krita-5.1.5.ebuild
+++ b/media-gfx/krita/krita-5.1.5.ebuild
@@ -4,7 +4,7 @@
EAPI=8
ECM_TEST="forceoptional"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
KFMIN=5.82.0
QTMIN=5.15.5
VIRTUALX_REQUIRED="test"
diff --git a/media-gfx/krita/krita-5.2.3.ebuild b/media-gfx/krita/krita-5.2.3.ebuild
new file mode 100644
index 000000000000..c95734e0ad9a
--- /dev/null
+++ b/media-gfx/krita/krita-5.2.3.ebuild
@@ -0,0 +1,134 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+PYTHON_COMPAT=( python3_{10..12} )
+KFMIN=5.115.0
+QTMIN=5.15.12
+inherit ecm kde.org python-single-r1
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~riscv"
+fi
+
+DESCRIPTION="Free digital painting application. Digital Painting, Creative Freedom!"
+HOMEPAGE="https://apps.kde.org/krita/ https://krita.org/en/"
+
+LICENSE="GPL-3"
+SLOT="5"
+IUSE="color-management fftw gif +gsl heif jpeg2k jpegxl +mypaint-brush-engine openexr pdf media +raw +xsimd webp"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# bug 630508
+RESTRICT="test"
+
+RDEPEND="${PYTHON_DEPS}
+ dev-libs/boost:=
+ dev-libs/libunibreak:=
+ dev-libs/quazip:0=[qt5(+)]
+ $(python_gen_cond_dep '
+ dev-python/PyQt5[declarative,gui,widgets,${PYTHON_USEDEP}]
+ dev-python/sip:=[${PYTHON_USEDEP}]
+ ')
+ >=dev-qt/qtconcurrent-${QTMIN}:5
+ >=dev-qt/qtdbus-${QTMIN}:5
+ >=dev-qt/qtdeclarative-${QTMIN}:5
+ >=dev-qt/qtgui-${QTMIN}:5=[-gles2-only]
+ >=dev-qt/qtnetwork-${QTMIN}:5
+ >=dev-qt/qtprintsupport-${QTMIN}:5
+ >=dev-qt/qtsql-${QTMIN}:5
+ >=dev-qt/qtsvg-${QTMIN}:5
+ >=dev-qt/qtwidgets-${QTMIN}:5
+ >=dev-qt/qtx11extras-${QTMIN}:5
+ >=dev-qt/qtxml-${QTMIN}:5
+ >=kde-frameworks/kcompletion-${KFMIN}:5
+ >=kde-frameworks/kconfig-${KFMIN}:5
+ >=kde-frameworks/kcoreaddons-${KFMIN}:5
+ >=kde-frameworks/kcrash-${KFMIN}:5
+ >=kde-frameworks/kguiaddons-${KFMIN}:5
+ >=kde-frameworks/ki18n-${KFMIN}:5
+ >=kde-frameworks/kiconthemes-${KFMIN}:5
+ >=kde-frameworks/kitemmodels-${KFMIN}:5
+ >=kde-frameworks/kitemviews-${KFMIN}:5
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
+ >=kde-frameworks/kwindowsystem-${KFMIN}:5
+ >=kde-frameworks/kxmlgui-${KFMIN}:5
+ media-gfx/exiv2:=
+ media-libs/lcms
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ sys-libs/zlib
+ virtual/opengl
+ x11-libs/libX11
+ x11-libs/libXi
+ color-management? ( >=media-libs/opencolorio-2.0.0 )
+ fftw? ( sci-libs/fftw:3.0= )
+ gif? ( media-libs/giflib )
+ gsl? ( sci-libs/gsl:= )
+ jpeg2k? ( media-libs/openjpeg:= )
+ jpegxl? ( >=media-libs/libjxl-0.7.0_pre20220825:= )
+ heif? ( >=media-libs/libheif-1.11:=[x265] )
+ media? ( media-libs/mlt:= )
+ mypaint-brush-engine? ( media-libs/libmypaint:= )
+ openexr? ( media-libs/openexr:= )
+ pdf? ( app-text/poppler[qt5] )
+ raw? ( kde-apps/libkdcraw:5 )
+ webp? ( >=media-libs/libwebp-1.2.0:= )
+ xsimd? ( >=dev-cpp/xsimd-13.0.0 )
+
+"
+DEPEND="${RDEPEND}
+ dev-libs/immer
+ dev-libs/lager
+ dev-libs/zug
+"
+BDEPEND="
+ dev-cpp/eigen:3
+ dev-lang/perl
+ sys-devel/gettext
+"
+
+PATCHES=(
+ # downstream
+ "${FILESDIR}"/${P}-tests-optional.patch
+ "${FILESDIR}"/${PN}-5.2.2-fftw.patch # bug 913518
+ # git master
+ "${FILESDIR}"/${PN}-5.1.5-sip-6.8.patch # bug 919139
+)
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+ ecm_pkg_setup
+}
+
+src_configure() {
+ # Prevent sandbox violation from FindPyQt5.py module
+ # See Gentoo-bug 655918
+ addpredict /dev/dri
+
+ local mycmakeargs=(
+ -DENABLE_UPDATERS=OFF
+ -DKRITA_ENABLE_PCH=OFF # big mess.
+ -DCMAKE_DISABLE_FIND_PACKAGE_KSeExpr=ON # not packaged
+ $(cmake_use_find_package color-management OpenColorIO)
+ $(cmake_use_find_package fftw FFTW3)
+ $(cmake_use_find_package gif GIF)
+ $(cmake_use_find_package gsl GSL)
+ $(cmake_use_find_package heif HEIF)
+ $(cmake_use_find_package jpeg2k OpenJPEG)
+ $(cmake_use_find_package jpegxl JPEGXL)
+ $(cmake_use_find_package media Mlt7)
+ $(cmake_use_find_package mypaint-brush-engine LibMyPaint)
+ $(cmake_use_find_package openexr OpenEXR)
+ $(cmake_use_find_package pdf Poppler)
+ $(cmake_use_find_package raw KF5KDcraw)
+ $(cmake_use_find_package webp WebP)
+ $(cmake_use_find_package xsimd xsimd)
+ )
+
+ ecm_src_configure
+}
diff --git a/media-gfx/krita/metadata.xml b/media-gfx/krita/metadata.xml
index ff6c095b3acd..c586507e3736 100644
--- a/media-gfx/krita/metadata.xml
+++ b/media-gfx/krita/metadata.xml
@@ -10,7 +10,9 @@
</upstream>
<use>
<flag name="color-management">Enable color management via <pkg>media-libs/opencolorio</pkg></flag>
+ <flag name="media">Enable sound support for animations via <pkg>media-libs/mlt</pkg></flag>
<flag name="mypaint-brush-engine">Enable MyPaint brush engine support <pkg>media-libs/libmypaint</pkg></flag>
<flag name="qtmedia">Enable sound support for animations via <pkg>dev-qt/qtmultimedia</pkg></flag>
+ <flag name="xsimd">Enable usage of SIMD instructions via <pkg>dev-cpp/xsimd</pkg></flag>
</use>
</pkgmetadata>
diff --git a/media-gfx/libbgcode/Manifest b/media-gfx/libbgcode/Manifest
index edb43024b6f7..d4546905b98a 100644
--- a/media-gfx/libbgcode/Manifest
+++ b/media-gfx/libbgcode/Manifest
@@ -1 +1,2 @@
-DIST libbgcode-0.0.20231116.tar.gz 455134 BLAKE2B 63c37b7a8189ef5f14539d6e32cc442b91e65a8e0047c1d7cc2b6970a31b2aa02c212c7ed7dec4497392755d64550a28652b04746eaef279d4fb4a8ec58aac12 SHA512 605110a0e4ca16fd497dbe8b15f9794a75c19d5d5367320ddacaa621eb1a4370fcc5b8a799440d8b449774595c5bcbcd2d96fcb574707da475ef85764f9760d3
+DIST libbgcode-0.0.20240328.tar.gz 456463 BLAKE2B 7b9995e94d8f5081723ef435ef9bfe5ca75fbd09d2a8f5e6ff786fb5c4c9d6079a7f5a0b0d537b3b8a044c7126258e31ac411ef6a5aff287bf490672257506ee SHA512 13d5fe20b1faee5068a3c385041a680de5cdcec7fc34bc3f28c52bdab4d6b9e6170ad5ce5bb78399e956fc7f3fb5409e8e4adf0ff4850be686b3caf4d76ee3aa
+DIST libbgcode-0.0.20240704.tar.gz 456516 BLAKE2B 26f0a6f01a937da0fc4e4a4db715759967eb235f004daa9140841d7b0040a04dc86627c07265f5eb0cb7b34a9c6b43ec97ee1c59b53319ab95a9f3cb965fe906 SHA512 ed45cad28b15f5ac4b2cc340159f591c2cfb2560e8fa96f67bb122a2f7337a2fd67e632550fae8c07b36aad523ebe91334776f132291c4f84ff63d0f4a3b583e
diff --git a/media-gfx/libbgcode/libbgcode-0.0.20240328.ebuild b/media-gfx/libbgcode/libbgcode-0.0.20240328.ebuild
new file mode 100644
index 000000000000..93a7ed159461
--- /dev/null
+++ b/media-gfx/libbgcode/libbgcode-0.0.20240328.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+LIBBGCODE_COMMIT=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"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/heatshrink-0.4.1
+ >=sys-libs/zlib-1.0
+"
+DEPEND="${RDEPEND}
+ dev-libs/boost
+ test? ( =dev-cpp/catch-2*:0 )
+"
+
+src_configure() {
+ local mycmakeargs=(
+ -DLibBGCode_BUILD_TESTS=$(usex test)
+ )
+ cmake_src_configure
+}
diff --git a/media-gfx/libbgcode/libbgcode-0.0.20231116.ebuild b/media-gfx/libbgcode/libbgcode-0.0.20240704.ebuild
index c0cf7e5f4299..8338365c1a3c 100644
--- a/media-gfx/libbgcode/libbgcode-0.0.20231116.ebuild
+++ b/media-gfx/libbgcode/libbgcode-0.0.20240704.ebuild
@@ -5,23 +5,31 @@ EAPI=8
inherit cmake
-LIBBGCODE_COMMIT=bc390aab4427589a6402b4c7f65cf4d0a8f987ec
+LIBBGCODE_COMMIT=dcb8f7b6d91f1d490022083be09a76dc2bc9c51f
DESCRIPTION="Prusa Block & Binary G-code reader / writer / converter"
HOMEPAGE="https://github.com/prusa3d/libbgcode"
SRC_URI="https://github.com/prusa3d/libbgcode/archive/${LIBBGCODE_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-${LIBBGCODE_COMMIT}"
LICENSE="AGPL-3"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
-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/librecad/Manifest b/media-gfx/librecad/Manifest
index 293932e7bd13..a19d2a8beb34 100644
--- a/media-gfx/librecad/Manifest
+++ b/media-gfx/librecad/Manifest
@@ -1,3 +1,4 @@
DIST librecad-2.1.3.tar.gz 22415288 BLAKE2B fb920113a7e4b2e9e7e3425f77364c36f6be676a3cd109798786b06d31698fd11437bc7f50cb843ca02d761730e83db7fde475d1bce6a65336a845b5b0114918 SHA512 246cffcc1ea3389997b4a738ab5e3d78e8c1096817ecb1ca28f38d601bc5d1a95f60798ac82308914a34da7b5dbc302b8363cf8b58a97221fdc8ee63010adc6c
+DIST librecad-2.2.0.2.tar.gz 13645528 BLAKE2B 43a9ada4d6fe8c0cb96dc1003a9e7aa3b4d21619ce9776de1e6d273dd884f2313f9e90abed9cadcd44aaac2131bb62ffb0105bc0d8a097513ac42b9886107021 SHA512 054c6e6cf35a30099e71dd022574864c42d99db8bfa73b544113573723f8e6db2c92f9b7a827b947528f8ad9c743bca73a77a81bc50a9dc66f290480bb38db05
DIST librecad-2.2.0.tar.gz 13837301 BLAKE2B ede9181b6805455d10773b70a8262ffb5a1c48f353dbfd1b80f705ba3194be700e9a486cdf528c4e8015b327a75a29c81b832186024d48229a6cc5fd9ca2dc12 SHA512 df33eac311b5232d6fc0480be1b1c9d257a33ba22f9b7897af4c1761978c87c07a962ae3ea37e8728661a788152157fc621aae65d60d44ae37b2028919cc96a2
DIST librecad-gentoo-CVE-patches-2.1.3.tar.gz 11687 BLAKE2B 4676fa60033e6d0ace35bbebfae569366a50ec46c2dc5b90bace9564e1f6c2020f733f63981788b6f5288fb0c57760215e7b35f294656c21787ebdefa8447fa0 SHA512 b485b41ab1d6eb61750c11a9b327fc70d28cd0cf689b3cd815b4982d3d800737f402522d9c3d416f1e43422166e7de4f97055de238cc2fe80cc45f11fa3377e6
diff --git a/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch b/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch
new file mode 100644
index 000000000000..3caec03b011a
--- /dev/null
+++ b/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch
@@ -0,0 +1,29 @@
+The patch is borrowed from upstream https://github.com/LibreCAD/LibreCAD
+
+https://github.com/LibreCAD/LibreCAD/commit/6e0f1556bbd554e528295f92597a80a109344607
+
+https://bugs.gentoo.org/919822
+
+commit 6e0f1556bbd554e528295f92597a80a109344607
+Author: Denis Pronin <dannftk@yandex.ru>
+Date: Sun Jun 2 22:23:11 2024 +0300
+
+ fix compilation with clang and llvm's libcxx
+
+ librecad/src/lib/debug/rs_debug.h requires cstdio to be included because of FILE
+ type being used
+
+ Signed-off-by: Denis Pronin <dannftk@yandex.ru>
+
+diff --git a/librecad/src/lib/debug/rs_debug.h b/librecad/src/lib/debug/rs_debug.h
+index 23918574..8950efcc 100644
+--- a/librecad/src/lib/debug/rs_debug.h
++++ b/librecad/src/lib/debug/rs_debug.h
+@@ -28,6 +28,7 @@
+ #ifndef RS_DEBUG_H
+ #define RS_DEBUG_H
+
++#include <cstdio>
+ #include <iosfwd>
+ #ifdef __hpux
+ #include <sys/_size_t.h>
diff --git a/media-gfx/librecad/librecad-2.2.0.2.ebuild b/media-gfx/librecad/librecad-2.2.0.2.ebuild
new file mode 100644
index 000000000000..6da50e9fe6f7
--- /dev/null
+++ b/media-gfx/librecad/librecad-2.2.0.2.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PLOCALES="ar ca cs da de el en en_au es es_ar es_bo es_cl es_co es_cr es_do es_ec es_gt es_hn es_mx es_ni es_pa es_pe es_pr es_py es_sv es_us es_uy es_ve et eu fi fr gl hi hu id_ID it ja ko lv mk nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sv ta tr uk zh_cn zh_tw"
+
+inherit desktop edo plocale qmake-utils
+
+DESCRIPTION="Generic 2D CAD program"
+HOMEPAGE="https://www.librecad.org/"
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/LibreCAD/LibreCAD.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/LibreCAD/LibreCAD/archive/${PV/_/}.tar.gz -> ${P}.tar.gz"
+ S="${WORKDIR}/LibreCAD-${PV}"
+ KEYWORDS="~amd64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+IUSE="debug doc tools"
+
+RDEPEND="
+ dev-cpp/muParser
+ dev-libs/boost:=
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ media-libs/freetype:2
+"
+DEPEND="${RDEPEND}
+ dev-qt/qthelp:5
+ dev-qt/qtxml:5
+"
+BDEPEND="
+ dev-qt/linguist-tools:5
+"
+
+src_prepare() {
+ default
+
+ # Stock script doesn't work correctly on gentoo (see bug #847394)
+ # and also it compiles all translations regardles of selected locales.
+ # To avoid this just comment out locale building and do it manually
+ sed -i -e '/LRELEASE/s!^!# !' scripts/postprocess-unix.sh || die
+
+ plocale_find_changes 'librecad/ts' 'librecad_' '.ts'
+}
+
+src_configure() {
+ eqmake5 -r
+}
+
+src_compile() {
+ default
+
+ build_locale() {
+ local lrelease="$(qt5_get_bindir)/lrelease"
+ edo "${lrelease}" "librecad/ts/librecad_${1}.ts" \
+ -qm "unix/resources/qm/librecad_${1}.qm"
+ edo "${lrelease}" "plugins/ts/plugins_${1}.ts" \
+ -qm "unix/resources/qm/plugins_${1}.qm"
+ }
+
+ plocale_for_each_locale build_locale
+ # We want the en locale to be always present. Otherwise it could
+ # be impossible to select the English command set which is quite crucial.
+ has en $(plocale_get_locales) || build_locale en
+}
+
+src_install() {
+ dobin unix/librecad
+ use tools && dobin unix/ttf2lff
+ insinto /usr/share/${PN}
+ doins -r unix/resources/*
+ use doc && docinto html && dodoc -r librecad/support/doc/*
+ insinto /usr/share/metainfo
+ doins unix/appdata/org.librecad.librecad.appdata.xml
+ doicon librecad/res/main/${PN}.png
+ make_desktop_entry ${PN} LibreCAD ${PN} Graphics
+}
diff --git a/media-gfx/librecad/librecad-2.2.0.ebuild b/media-gfx/librecad/librecad-2.2.0.ebuild
index 092799ec110b..f86b8253e177 100644
--- a/media-gfx/librecad/librecad-2.2.0.ebuild
+++ b/media-gfx/librecad/librecad-2.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -40,6 +40,10 @@ BDEPEND="
dev-qt/linguist-tools:5
"
+PATCHES=(
+ "${FILESDIR}/${P}-fix-missing-header.patch"
+)
+
src_prepare() {
default
diff --git a/media-gfx/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/files/luminance-hdr-2.6.1.1-boost-1.85.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-boost-1.85.patch
new file mode 100644
index 000000000000..7a49dc80b66b
--- /dev/null
+++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-boost-1.85.patch
@@ -0,0 +1,12 @@
+https://bugs.gentoo.org/932335
+https://github.com/LuminanceHDR/LuminanceHDR/issues/283#issuecomment-2132239165
+--- a/src/Libpfs/manip/resize.hxx
++++ b/src/Libpfs/manip/resize.hxx
+@@ -23,6 +23,7 @@
+ #define PFS_RESIZE_HXX
+
+ #include <boost/math/constants/constants.hpp>
++#include <boost/numeric/conversion/bounds.hpp>
+ #include "copy.h"
+ #include "resize.h"
+ #include "../../sleef.c"
diff --git a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
index ab363c98a273..654ceee61524 100644
--- a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
+++ b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ inherit cmake toolchain-funcs flag-o-matic xdg-utils
DESCRIPTION="Graphical user interface that provides a workflow for HDR imaging"
HOMEPAGE="http://qtpfsgui.sourceforge.net https://github.com/LuminanceHDR/LuminanceHDR"
-SRC_URI="mirror://sourceforge/qtpfsgui/${P/_/.}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/qtpfsgui/${P/_/.}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
@@ -52,6 +52,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.6.0-no-git.patch
"${FILESDIR}"/${PN}-2.6.0-docs.patch
"${FILESDIR}"/${PN}-2.5.1-openmp-automagic.patch
+ "${FILESDIR}"/${PN}-2.6.1.1-boost-1.85.patch
# patch by ArchLinux
"${FILESDIR}"/${P}-exiv2-0.28.patch
)
diff --git a/media-gfx/lximage-qt/Manifest b/media-gfx/lximage-qt/Manifest
index 1fc5b47bfacd..91b1d05bf5f2 100644
--- a/media-gfx/lximage-qt/Manifest
+++ b/media-gfx/lximage-qt/Manifest
@@ -1,2 +1,2 @@
-DIST lximage-qt-1.3.0.tar.xz 838632 BLAKE2B eceee2fcdd6eae2360c8c7d27417d4e165520155050dae6c0fadfa22184634372582ac52c6233924b54b9d94e814967eb0abdd8ee3e7c719cdfde85840b51400 SHA512 c3fc8e24f78a9cd65736ba1af07b7fd5ba241eab233a595f7b05982d64a0a7a88d81c60eafea632779faa44f76cdb3bb501d2dc3b3758e3f6256fe2da10c37ac
DIST lximage-qt-1.4.0.tar.xz 841028 BLAKE2B d5f76bfe9763807e8e836de43ff433a1553cea0858b61e76411017ee239fbec6dfd9d3776322b60da6ad8b6b9b1b30c6a02a8c494b62eef440f4d8c5ab9e7143 SHA512 c0dea9418890745de685c7df228ceb849fa21781764c2089481bea89526842e5e8f0972e032ba9c52b07c32202ed284d977f47ace598c44880dff661d76cd125
+DIST lximage-qt-2.0.1.tar.xz 848348 BLAKE2B d2484baffaae220436ae157dccda86e126b416101f047133f494cb44d9c3bba007ce797c1aa88d21ba4b242abdf8cacf73706831570943e4d7a36eb02591fc7b SHA512 594e86a4bedf3f9689107d79d852ba1ef4db83f06572b8c077ed5850dc10cc05a33fe79a0c05632f7e7541a6f895919b72c264635306f7a468eac6ecde531ba4
diff --git a/media-gfx/lximage-qt/lximage-qt-1.3.0.ebuild b/media-gfx/lximage-qt/lximage-qt-2.0.1.ebuild
index 38f748262166..d369079f6c01 100644
--- a/media-gfx/lximage-qt/lximage-qt-1.3.0.ebuild
+++ b/media-gfx/lximage-qt/lximage-qt-2.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,32 +10,26 @@ inherit cmake xdg-utils
DESCRIPTION="Qt Image Viewer"
HOMEPAGE="https://lxqt-project.org/"
-if [[ ${PV} = *9999* ]]; then
+if [[ ${PV} == 9999 ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
else
SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+ KEYWORDS="~amd64 ~arm64 ~riscv"
fi
LICENSE="GPL-2 GPL-2+"
SLOT="0"
BDEPEND="
- >=dev-qt/linguist-tools-5.15:5
- >=dev-util/lxqt-build-tools-0.13.0
+ >=dev-qt/qttools-6.6:6[linguist]
+ >=dev-util/lxqt-build-tools-2.0.0
virtual/pkgconfig
"
DEPEND="
dev-libs/glib:2
- >=dev-qt/qtcore-5.15:5
- >=dev-qt/qtdbus-5.15:5
- >=dev-qt/qtgui-5.15:5
- >=dev-qt/qtnetwork-5.15:5
- >=dev-qt/qtprintsupport-5.15:5
- >=dev-qt/qtsvg-5.15:5
- >=dev-qt/qtwidgets-5.15:5
- >=dev-qt/qtx11extras-5.15:5
+ >=dev-qt/qtbase-6.6:6[dbus,gui,network,widgets]
+ >=dev-qt/qtsvg-6.6:6
media-libs/libexif
=x11-libs/libfm-qt-${MY_PV}*:=
x11-libs/libX11
diff --git a/media-gfx/maim/Manifest b/media-gfx/maim/Manifest
index 98028943f4e4..a3ee3b49f9b7 100644
--- a/media-gfx/maim/Manifest
+++ b/media-gfx/maim/Manifest
@@ -1 +1 @@
-DIST maim-5.7.4.tar.gz 41663 BLAKE2B beb6cb327ae0cf022a90c095bf56b307870d3d7bd281f0e060d9cf7d49ba604cf4cbdfd9270b0e185295f0e3d2a151fbb8ba69398034145a08fc2721cc93740e SHA512 f91ba00e436514d2d0eecc664c02dd45c53750045b5bc4abbc2cfbf64159085e83736e820c54fa819b4d82b0905a3cfe76a5227db49dd54238f655fd4899cd6c
+DIST maim-5.8.0.tar.gz 42224 BLAKE2B 572743db1d59d802ed7eb7e259a5cb4a4d2147d95169bbb40adf6d36b849562e8f1756b082bc076bc46d2449827ac3b02f0b539ce86760c755920b4e35b6762d SHA512 418725b1950f9374c2ff7508e1c52f6986b253ea1c155ef28604e514f1cf0753185eea43cde76a65b9de80bb8dd65ced48b49ce5dfccaf20f5caa49f41743f5b
diff --git a/media-gfx/maim/maim-5.7.4.ebuild b/media-gfx/maim/maim-5.8.0.ebuild
index b20fa8d524f9..bee0980ae8d2 100644
--- a/media-gfx/maim/maim-5.7.4.ebuild
+++ b/media-gfx/maim/maim-5.8.0.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
@@ -32,7 +32,8 @@ DEPEND="
x11-libs/libXrandr
x11-libs/libXrender
>=x11-misc/slop-7.5:=
- icu? ( dev-libs/icu:= )"
+ icu? ( dev-libs/icu:= )
+"
RDEPEND="${DEPEND}"
src_configure() {
diff --git a/media-gfx/mandelbulber/Manifest b/media-gfx/mandelbulber/Manifest
index 36c34c6e78d8..d5ac10ad346d 100644
--- a/media-gfx/mandelbulber/Manifest
+++ b/media-gfx/mandelbulber/Manifest
@@ -1 +1,2 @@
DIST mandelbulber2-2.28.tar.gz 122800825 BLAKE2B a1bc8b3b743687003aeccaea7763b8100736b03dcd5044e43193f07bb519a7e78075c63cd0466373e8240a317fc2bbb6481bc07b51b137241cbb477e679093c3 SHA512 9bb2ecdcc2a2976efb6af930d49f067462713c6fd48f54631477102f3153479df6336b43b160c98c4e01f00d48188b314ccc86a84055a05cac5eb009db4e52e2
+DIST mandelbulber2-2.31.tar.gz 133379945 BLAKE2B c7b4cfa151f3bf0161b5871d0b22cd05567edc5a7145d64f38c4059b1f4b6f19f1ac3285d7a60cfb2979cd98f10041b7c7dd9100dab9ec93258e567034a03d63 SHA512 cf70c73f80c89731da6711af6ad6e1be33d43d7b014e16a6516eabf22d39b49469ee3e7b4ecc5e5adad3a1b26c8c1892c1a82d5891fe2b71fe524cdd1c3460c7
diff --git a/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild b/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild
index ded4b6d39d7f..35bcd7fe3da4 100644
--- a/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild
+++ b/media-gfx/mandelbulber/mandelbulber-2.28-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ inherit desktop qmake-utils toolchain-funcs xdg
DESCRIPTION="Tool to render 3D fractals"
HOMEPAGE="https://www.mandelbulber.com"
-SRC_URI="https://github.com/buddhi1980/${PN}2/releases/download/${PV}/${MY_P}.tar.gz mirror://sourceforge/${PN}/${MY_P}.tar.gz"
+SRC_URI="https://github.com/buddhi1980/${PN}2/releases/download/${PV}/${MY_P}.tar.gz https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="CC-BY-4.0 GPL-3"
diff --git a/media-gfx/mandelbulber/mandelbulber-2.31.ebuild b/media-gfx/mandelbulber/mandelbulber-2.31.ebuild
new file mode 100644
index 000000000000..97b894bb80c0
--- /dev/null
+++ b/media-gfx/mandelbulber/mandelbulber-2.31.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}2-${PV}"
+inherit desktop qmake-utils toolchain-funcs xdg
+
+DESCRIPTION="Tool to render 3D fractals"
+HOMEPAGE="https://www.mandelbulber.com"
+SRC_URI="https://github.com/buddhi1980/${PN}2/releases/download/${PV}/${MY_P}.tar.gz https://downloads.sourceforge.net/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="CC-BY-4.0 GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="joystick opencl openexr sndfile tiff"
+
+RDEPEND="
+ dev-libs/lzo
+ dev-qt/qtcore:5
+ dev-qt/qtconcurrent:5
+ dev-qt/qtgui:5
+ dev-qt/qtmultimedia:5[qml]
+ dev-qt/qtnetwork:5
+ dev-qt/qttest:5
+ dev-qt/qtwidgets:5
+ media-libs/libpng:=
+ sci-libs/gsl:=
+ joystick? ( dev-qt/qtgamepad:5 )
+ opencl? (
+ dev-cpp/clhpp
+ virtual/opencl
+ )
+ openexr? (
+ dev-libs/imath:=
+ media-libs/openexr:=
+ )
+ sndfile? ( media-libs/libsndfile )
+ tiff? ( media-libs/tiff:= )
+"
+DEPEND="${RDEPEND}
+ dev-qt/designer:5
+"
+BDEPEND="virtual/pkgconfig"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ use joystick || sed -i -e "s/qtHaveModule(gamepad)/false/" makefiles/common.pri || die
+ use openexr || sed -i -e "s/packagesExist(OpenEXR)/false/" makefiles/common.pri || die
+ use sndfile || sed -i -e "s/packagesExist(sndfile)/false/" makefiles/common.pri || die
+ use tiff || sed -i -e "s/packagesExist(libtiff-4)/false/" makefiles/common.pri || die
+}
+
+src_configure() {
+ if use opencl; then
+ eqmake5 makefiles/${PN}-opencl.pro
+ else
+ eqmake5 makefiles/${PN}.pro
+ fi
+}
+
+src_install() {
+ dobin ${PN}2
+
+ dodoc README NEWS usr/share/doc/${PN}2/Mandelbulber_Manual.pdf
+
+ insinto /usr/share/${PN}2
+ doins -r usr/share/${PN}2/*
+
+ domenu ${PN}2.desktop
+
+ newicon -s 256 qt/icons/${PN}.png ${PN}2.png
+}
diff --git a/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild b/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
index 18951f7211ec..9a8a0c7c2d69 100644
--- a/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
+++ b/media-gfx/mcomix/mcomix-2.1.1-r1.ebuild
@@ -4,12 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-2.2.1.ebuild b/media-gfx/mcomix/mcomix-2.2.1.ebuild
index 551f116a31bc..bb0e9bf360e6 100644
--- a/media-gfx/mcomix/mcomix-2.2.1.ebuild
+++ b/media-gfx/mcomix/mcomix-2.2.1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild b/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
index 36393dfcddd5..744b6d793e84 100644
--- a/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
+++ b/media-gfx/mcomix/mcomix-3.0.0-r1.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit desktop distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/mcomix/mcomix-3.1.0.ebuild b/media-gfx/mcomix/mcomix-3.1.0.ebuild
index d6fa2ffcfe75..c84c65e17656 100644
--- a/media-gfx/mcomix/mcomix-3.1.0.ebuild
+++ b/media-gfx/mcomix/mcomix-3.1.0.ebuild
@@ -4,12 +4,12 @@
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit desktop distutils-r1 optfeature xdg
DESCRIPTION="GTK image viewer for comic book archives"
HOMEPAGE="https://mcomix.sourceforge.net"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/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/monica/files/monica-3.7-exit.patch b/media-gfx/monica/files/monica-3.7-exit.patch
new file mode 100644
index 000000000000..afd347c28257
--- /dev/null
+++ b/media-gfx/monica/files/monica-3.7-exit.patch
@@ -0,0 +1,61 @@
+--- monica-3.7.orig/monica.cpp 2024-06-15 10:17:52.270992952 -0700
++++ monica-3.7/monica.cpp 2024-06-15 10:53:54.255394576 -0700
+@@ -1276,7 +1276,7 @@
+ int bcheck = system("echo $SHELL | grep bash");
+ if (bcheck) {
+ fl_alert("Monica senses that BASH is not\nyour login shell...\n\nSince Monica uses bash init scripts to \nimplement gamma corrections on system login, \nyou will have to paste the call to monicarc \ninto your startup scripts by hand.\n\nAlternatively, you can make a direct call \nto xgamma in your X config file.");
+- __builtin_exit (0);
++ exit (0);
+ }
+
+ fn_r = get_shell_rc_path();
+@@ -1563,13 +1563,13 @@
+ }
+ //---------------------------------------------------------------------
+ void exit_cb(Fl_Widget *, void *) {
+- __builtin_exit(0);
++ exit(0);
+ }
+ //---------------------------------------------------------------------
+ void exit_save_cb(Fl_Widget *, void *s) {
+ int res = write_monicarc((Sliders*)s);
+ if (res) res = add_monicarc_to_startup();
+- __builtin_exit(0);
++ exit(0);
+ }
+ //---------------------------------------------------------------------
+
+@@ -1704,7 +1704,7 @@
+ // if (no_ati_gamma && no_x_gamma) {
+ if (no_x_gamma) {
+ fl_alert("Monica cannot detect the presence\n of xgamma on your machine...\n\nIt is distributed with all versions of XFree86 \nand Xorg to date, so if you have X installed, \nit should be around or something might be \nwrong with your installation.\n\nXgamma is needed for Monica to function.");
+- __builtin_exit (0);
++ exit (0);
+ }
+ //-- set global value of "xgamma" command string, accomodating ATI's fglrx_xgamma ---
+ // if ( ! no_ati_gamma ) {
+@@ -1739,13 +1739,13 @@
+ printf("Copyright (C) 2005 Paul Sherman\n\n");
+ printf("Copyright (C) 2002 Tilo Riemer\n\n");
+ printf("Monica is published under a BSD like licence.\nSee Monica -l\n\n");
+- __builtin_exit(0);
++ exit(0);
+ }
+ if ( (strcmp(argv[i], "-l") == 0)
+ || (strcmp(argv[i], "--licence") == 0)
+ || (strcmp(argv[i], "--license") == 0) ) {
+ printf("\n%s\n\n", LICENCE);
+- __builtin_exit(0);
++ exit(0);
+ }
+ if ( (strcmp(argv[i], "-h") == 0) || (strcmp(argv[i], "--help") == 0) ) {
+ printf("\nUsage: Monica [options]\nwhere options are:\n");
+@@ -1766,7 +1766,7 @@
+ printf("\t-s[cheme] scheme\n");
+ printf("\t-t[itle] windowtitle\n\n");
+
+- __builtin_exit(0);
++ exit(0);
+ }
+ if ( (strcmp(argv[i], "-o") == 0) || (strcmp(argv[i], "--onthefly") == 0) ) {
+ g_toggle_apply_on_the_fly_checkbox = 1;
diff --git a/media-gfx/monica/files/monica-3.7-fprintf.patch b/media-gfx/monica/files/monica-3.7-fprintf.patch
new file mode 100644
index 000000000000..55959e246f43
--- /dev/null
+++ b/media-gfx/monica/files/monica-3.7-fprintf.patch
@@ -0,0 +1,46 @@
+--- monica-3.7.orig/monica.cpp 2024-06-15 10:16:59.594465873 -0700
++++ monica-3.7/monica.cpp 2024-06-15 10:17:18.277749251 -0700
+@@ -1301,9 +1301,9 @@
+ while (fgets (buffer, BUF_SIZE, f_r)) {
+ if (strstr(buffer, ". .monicarc")) {//skip old entries
+ continue;
+- } else fprintf(f_w, buffer);
++ } else fprintf(f_w, "%s", buffer);
+ }
+- fprintf(f_w, ". .monicarc #monitor calibration");
++ fprintf(f_w, "%s", ". .monicarc #monitor calibration");
+ fclose(f_w);
+ // script edited, so back up the original and put the ".tmp" in its place
+ rename(fn_r.c_str(), fn_old.c_str());
+@@ -1348,18 +1348,18 @@
+ while (fgets (buffer, BUF_SIZE, f_r)) {
+ if (buffer[0] != '#') {
+ if (!wrote_monicarc) {//add line for calling .monicarc
+- fprintf(f_w, "$HOME/.monicarc #monitor calibration\n");
++ fprintf(f_w, "%s", "$HOME/.monicarc #monitor calibration\n");
+ wrote_monicarc = 1;
+ }
+ if (strstr(buffer, "xgamma")) {
+ strcpy(mod_buffer, "#");
+ strncat(mod_buffer, buffer, BUF_SIZE);
+ mod_buffer[BUF_SIZE + 1] = '\0';
+- fprintf(f_w, mod_buffer);
++ fprintf(f_w, "%s", mod_buffer);
+ } else if (strstr(buffer, "$HOME/.monicarc")) {//skip old entries of .monicarc
+ continue;
+- } else fprintf(f_w, buffer);
+- } else fprintf(f_w, buffer);
++ } else fprintf(f_w, "%s", buffer);
++ } else fprintf(f_w, "%s", buffer);
+ }
+
+ fclose(f_w);
+@@ -1395,7 +1395,7 @@
+ if (strstr(buffer, str_to_remove.c_str())) {
+ continue;
+ } else {
+- fprintf(f_w, buffer);
++ fprintf(f_w, "%s", buffer);
+ line_count += 1;
+ }
+ }
diff --git a/media-gfx/monica/files/monica-3.6-makefile-cleanup.patch b/media-gfx/monica/files/monica-3.7-makefile-cleanup.patch
index 21881db24971..4d7501254ada 100644
--- a/media-gfx/monica/files/monica-3.6-makefile-cleanup.patch
+++ b/media-gfx/monica/files/monica-3.7-makefile-cleanup.patch
@@ -8,9 +8,9 @@ diff -Nuar monica-3.6.orig/Makefile monica-3.6/Makefile
-CXXFLAGS = `fltk-config --cxxflags` -Wall -O2
-LDFLAGS = `fltk-config --ldflags`
+CXXFLAGS = -Wall -O2
-+FLTK_CXXFLAGS = `fltk-config --cxxflags`
++FLTK_CXXFLAGS = $(shell fltk-config --cxxflags)
+LDFLAGS =
-+FLTK_LDFLAGS = `fltk-config --ldflags`
++FLTK_LDFLAGS = $(shell fltk-config --ldflags)
TARGET = monica
-DESTINATION = /usr/bin
+DESTINATION = $(DESTDIR)/usr/bin
diff --git a/media-gfx/monica/monica-3.7.ebuild b/media-gfx/monica/monica-3.7-r1.ebuild
index 08697029c232..b6be41461371 100644
--- a/media-gfx/monica/monica-3.7.ebuild
+++ b/media-gfx/monica/monica-3.7-r1.ebuild
@@ -1,18 +1,17 @@
# Copyright 1999-2020 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
inherit toolchain-funcs
DESCRIPTION="Monica is a Monitor Calibration Tool"
-HOMEPAGE="http://freshmeat.sourceforge.net/projects/monica"
+HOMEPAGE="https://web.archive.org/web/20201111203551/http://freshmeat.sourceforge.net/projects/monica https://web.archive.org/web/20051016203856/http://www.pcbypaul.com:80/linux/monica.html"
SRC_URI="mirror://gentoo/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ppc x86"
-IUSE=""
DEPEND=">=x11-libs/fltk-1.1:1"
RDEPEND="${DEPEND}
@@ -20,8 +19,10 @@ RDEPEND="${DEPEND}
DOCS=( authors ChangeLog news readme )
PATCHES=(
- "${FILESDIR}"/${PN}-3.6-makefile-cleanup.patch
+ "${FILESDIR}"/${PN}-3.7-makefile-cleanup.patch
"${FILESDIR}"/${P}-gcc44.patch
+ "${FILESDIR}"/${P}-fprintf.patch
+ "${FILESDIR}"/${P}-exit.patch
)
src_compile() {
diff --git a/media-gfx/mscgen/mscgen-0.20.ebuild b/media-gfx/mscgen/mscgen-0.20.ebuild
index abd147c84d29..f39af35db010 100644
--- a/media-gfx/mscgen/mscgen-0.20.ebuild
+++ b/media-gfx/mscgen/mscgen-0.20.ebuild
@@ -9,7 +9,7 @@ DESCRIPTION="Message sequence chart generator"
HOMEPAGE="https://www.mcternan.me.uk/mscgen/"
SRC_URI="https://www.mcternan.me.uk/${PN}/software/${PN}-src-${PV}.tar.gz"
-KEYWORDS="amd64 arm ~arm64 ppc ppc64 x86 ~x64-solaris"
+KEYWORDS="amd64 arm ~arm64 ppc ppc64 ~riscv x86 ~x64-solaris"
LICENSE="GPL-2+"
SLOT="0"
diff --git a/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild b/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
index d29bb2628329..8f03d4e44e6c 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..13} )
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/files/openscad-2021.01-boost-1.85.patch b/media-gfx/openscad/files/openscad-2021.01-boost-1.85.patch
new file mode 100644
index 000000000000..e3370f32fc38
--- /dev/null
+++ b/media-gfx/openscad/files/openscad-2021.01-boost-1.85.patch
@@ -0,0 +1,12 @@
+diff '--color=auto' -ur openscad-2021.01-orig/src/FileModule.cc openscad-2021.01/src/FileModule.cc
+--- openscad-2021.01-orig/src/FileModule.cc 2021-01-31 21:17:41.000000000 +0100
++++ openscad-2021.01/src/FileModule.cc 2024-05-20 07:50:31.746487490 +0200
+@@ -65,7 +65,7 @@
+ auto ext = fs::path(path).extension().generic_string();
+
+ if (boost::iequals(ext, ".otf") || boost::iequals(ext, ".ttf")) {
+- if (fs::is_regular(path)) {
++ if (fs::is_regular_file(path)) {
+ FontCache::instance()->register_font_file(path);
+ } else {
+ LOG(message_group::Error,Location::NONE,"","Can't read font with path '%1$s'",path);
diff --git a/media-gfx/openscad/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..3e4af4844ba7 100644
--- a/media-gfx/openscad/openscad-2021.01-r4.ebuild
+++ b/media-gfx/openscad/openscad-2021.01-r5.ebuild
@@ -3,12 +3,12 @@
EAPI=8
-inherit elisp-common qmake-utils xdg
+inherit elisp-common flag-o-matic qmake-utils xdg
SITEFILE="50${PN}-gentoo.el"
DESCRIPTION="The Programmers Solid 3D CAD Modeller"
-HOMEPAGE="https://www.openscad.org/"
+HOMEPAGE="https://openscad.org/"
SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-2"
@@ -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}"
@@ -67,9 +67,14 @@ PATCHES=(
"${FILESDIR}"/${P}-CGAL-build-fix-v5.4-renames-projection-traits-header.patch
"${FILESDIR}"/${P}-Fix-build-issue-with-overloaded-join.patch
"${FILESDIR}"/${P}-Remove-double-quoting-of-the-output-file-parameter-f.patch
+ "${FILESDIR}"/${P}-boost-1.85.patch
)
src_configure() {
+ # -Werror=odr
+ # https://github.com/openscad/openscad/issues/5239
+ filter-lto
+
if has ccache ${FEATURES}; then
eqmake5 "PREFIX = ${ESYSROOT}/usr" "CONFIG += ccache" "${PN}.pro"
else
diff --git a/media-gfx/openscad/openscad-9999.ebuild b/media-gfx/openscad/openscad-9999.ebuild
index 216d9376fd68..4cfaae64dfac 100644
--- a/media-gfx/openscad/openscad-9999.ebuild
+++ b/media-gfx/openscad/openscad-9999.ebuild
@@ -8,10 +8,10 @@
EAPI=8
-inherit cmake git-r3 optfeature xdg
+inherit cmake flag-o-matic git-r3 optfeature xdg
DESCRIPTION="The Programmers Solid 3D CAD Modeller"
-HOMEPAGE="https://www.openscad.org/"
+HOMEPAGE="https://openscad.org/"
SRC_URI=""
EGIT_REPO_URI="https://github.com/openscad/openscad.git"
@@ -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 )
)
@@ -82,6 +82,10 @@ DOCS=(
)
src_configure() {
+ # -Werror=odr
+ # https://github.com/openscad/openscad/issues/5239
+ filter-lto
+
local mycmakeargs=(
-DCLANG_TIDY=OFF
-DENABLE_CAIRO=$(usex cairo)
diff --git a/media-gfx/openvdb/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..f8b4c535dd04 100644
--- a/media-gfx/openvdb/openvdb-11.0.0.ebuild
+++ b/media-gfx/openvdb/openvdb-11.0.0.ebuild
@@ -16,7 +16,7 @@ SRC_URI="https://github.com/AcademySoftwareFoundation/${PN}/archive/v${PV}.tar.g
LICENSE="MPL-2.0"
OPENVDB_ABI=$(ver_cut 1)
SLOT="0/$PV"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
IUSE="abi$((OPENVDB_ABI + 1))-compat +abi${OPENVDB_ABI}-compat abi$((OPENVDB_ABI - 1))-compat abi$((OPENVDB_ABI - 2))-compat alembic ax +blosc cpu_flags_x86_avx cpu_flags_x86_sse4_2
cuda doc examples jpeg +nanovdb numpy openexr png python static-libs test utils zlib"
RESTRICT="!test? ( test )"
@@ -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..06478a5b0e80
--- /dev/null
+++ b/media-gfx/pinta/pinta-2.1.2.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+atksharp@3.24.24.38
+benchmarkdotnet.annotations@0.13.2
+benchmarkdotnet@0.13.2
+cairosharp@3.24.24.38
+commandlineparser@2.4.3
+gdksharp@3.24.24.38
+giosharp@3.24.24.38
+glibsharp@3.24.24.38
+gtksharp@3.24.24.38
+iced@1.17.0
+microsoft.bcl.asyncinterfaces@1.1.0
+microsoft.bcl.asyncinterfaces@6.0.0
+microsoft.codeanalysis.analyzers@2.6.2-beta2
+microsoft.codeanalysis.common@3.0.0
+microsoft.codeanalysis.csharp@3.0.0
+microsoft.codecoverage@17.4.1
+microsoft.diagnostics.netcore.client@0.2.251802
+microsoft.diagnostics.runtime@2.2.332302
+microsoft.diagnostics.tracing.traceevent@3.0.2
+microsoft.dotnet.platformabstractions@3.1.6
+microsoft.extensions.configuration.abstractions@2.1.1
+microsoft.extensions.configuration.binder@2.1.1
+microsoft.extensions.configuration@2.1.1
+microsoft.extensions.dependencyinjection.abstractions@2.1.1
+microsoft.extensions.logging.abstractions@2.1.1
+microsoft.extensions.logging@2.1.1
+microsoft.extensions.options@2.1.1
+microsoft.extensions.primitives@2.1.1
+microsoft.net.test.sdk@17.4.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.platforms@2.0.0
+microsoft.testplatform.objectmodel@17.4.1
+microsoft.testplatform.testhost@17.4.1
+netstandard.library@2.0.0
+newtonsoft.json@13.0.1
+ngettext@0.6.7
+nuget.frameworks@5.11.0
+nunit3testadapter@4.3.1
+nunit@3.13.3
+pangosharp@3.24.24.38
+paragonclipper@6.4.2
+perfolizer@0.2.1
+sharpziplib@1.4.1
+system.codedom@6.0.0
+system.collections.immutable@1.5.0
+system.collections.immutable@5.0.0
+system.management@6.0.0
+system.memory@4.5.1
+system.memory@4.5.3
+system.reflection.emit.lightweight@4.7.0
+system.reflection.emit@4.7.0
+system.reflection.metadata@1.6.0
+system.runtime.compilerservices.unsafe@4.5.0
+system.runtime.compilerservices.unsafe@4.5.3
+system.runtime.compilerservices.unsafe@5.0.0
+system.security.principal.windows@4.7.0
+system.text.encoding.codepages@4.5.0
+system.threading.tasks.extensions@4.5.4
+tmds.dbus@0.11.0
+"
+
+inherit autotools dotnet-pkg xdg
+
+DESCRIPTION="Pinta is a free, open source program for drawing and image editing"
+HOMEPAGE="https://www.pinta-project.com/
+ https://github.com/PintaProject/Pinta/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/PintaProject/${PN^}.git"
+else
+ SRC_URI="https://github.com/PintaProject/${PN^}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${P^}"
+
+ KEYWORDS="amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ x11-libs/gtk+:3[introspection]
+"
+BDEPEND="
+ ${RDEPEND}
+ dev-util/intltool
+"
+
+src_unpack() {
+ dotnet-pkg_src_unpack
+
+ if [[ -n "${EGIT_REPO_URI}" ]] ; then
+ git-r3_src_unpack
+ fi
+}
+
+src_prepare() {
+ dotnet-pkg_src_prepare
+
+ eautoreconf
+}
+
+src_configure() {
+ econf
+
+ dotnet-pkg_src_configure
+}
+
+src_compile() {
+ emake
+}
+
+src_install() {
+ emake DESTDIR="${ED}" install
+
+ local -r pinta_home="/usr/$(get_libdir)/${PN}"
+
+ mv "${ED}/usr/bin/pinta" "${ED}/${pinta_home}" || die
+ sed -e 's|dotnet|${DOTNET_ROOT}/dotnet|g' \
+ -i "${ED}/${pinta_home}/pinta" \
+ || die
+ dotnet-pkg-base_dolauncher "${pinta_home}/${PN}" "${PN}"
+
+ rm "${ED}/usr/share/man/man1/${PN}.1.gz" || die
+ doman "./xdg/${PN}.1"
+}
diff --git a/media-gfx/pixels2pgf/pixels2pgf-0.1.ebuild b/media-gfx/pixels2pgf/pixels2pgf-0.1-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..2c06054fed4d 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.5.tar.gz 12119170 BLAKE2B 97fd8f48aa04d9d8b089547871abd954b8b1c189d32b844f1de4ac33678dabe2968a3307fb573f571adf541dbbbfd5eb5c21839b14f3cb9ed2e86ac7b447bb87 SHA512 20b9502a3d6ac9ceccb667943f8ea70990102f778175001852b1fcd2b9b7fa570f5b7a7fb237b6831c0411667c3e986f2b0ea09ce2602b5c1ca98694b37c20a5
diff --git a/media-gfx/plantuml/metadata.xml b/media-gfx/plantuml/metadata.xml
index e6cce2ef5e7b..0d377a268e92 100644
--- a/media-gfx/plantuml/metadata.xml
+++ b/media-gfx/plantuml/metadata.xml
@@ -19,4 +19,7 @@
<remote-id type="sourceforge">plantuml</remote-id>
<remote-id type="github">plantuml/plantuml</remote-id>
</upstream>
+ <use>
+ <flag name="ant-task">Provides classes used to manage PlantUML Ant task</flag>
+ </use>
</pkgmetadata>
diff --git a/media-gfx/plantuml/plantuml-1.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.3.ebuild b/media-gfx/plantuml/plantuml-1.2024.3.ebuild
deleted file mode 100644
index 141aa1f0ffdc..000000000000
--- a/media-gfx/plantuml/plantuml-1.2024.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-JAVA_PKG_IUSE="source"
-inherit java-pkg-2 java-ant-2 desktop xdg
-
-DESCRIPTION="Draw UML diagrams using a simple and human readable text description"
-HOMEPAGE="https://plantuml.com"
-SRC_URI="https://github.com/${PN}/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND=">=virtual/jdk-1.8:*"
-
-RDEPEND="
- >=virtual/jre-1.8:*
- >=dev-java/ant-1.10.14-r1:0
- media-gfx/graphviz"
-
-EANT_BUILD_TARGET="dist"
-EANT_GENTOO_CLASSPATH="ant"
-JAVA_ANT_REWRITE_CLASSPATH="true"
-
-src_install() {
- java-pkg_dojar ${PN}.jar
- java-pkg_dolauncher ${PN} --jar ${PN}.jar
- use source && java-pkg_dosrc src/*
-
- make_desktop_entry plantuml PlantUML
-}
diff --git a/media-gfx/plantuml/plantuml-1.2024.5-r1.ebuild b/media-gfx/plantuml/plantuml-1.2024.5-r1.ebuild
new file mode 100644
index 000000000000..5fd769605c36
--- /dev/null
+++ b/media-gfx/plantuml/plantuml-1.2024.5-r1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+JAVA_PKG_IUSE="doc source"
+inherit java-pkg-2 java-pkg-simple desktop xdg
+
+DESCRIPTION="Draw UML diagrams using a simple and human readable text description"
+HOMEPAGE="https://plantuml.com"
+SRC_URI="https://github.com/${PN}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="ant-task"
+
+DEPEND=">=virtual/jdk-1.8:*
+ ant-task? ( >=dev-java/ant-1.10.14-r3:0 )"
+RDEPEND=">=virtual/jre-1.8:*
+ media-gfx/graphviz
+ ant-task? ( >=dev-java/ant-1.10.14-r3:0 )"
+
+JAVA_AUTOMATIC_MODULE_NAME="net.sourceforge.plantuml"
+JAVA_MAIN_CLASS="net.sourceforge.plantuml.Run"
+JAVA_RESOURCE_DIRS="res"
+JAVA_SRC_DIR="src"
+
+src_prepare() {
+ java-pkg-2_src_prepare
+ if use ant-task; then
+ # src/net/sourceforge/plantuml/ant/readme.md
+ JAVA_GENTOO_CLASSPATH+="ant"
+ else
+ rm src/net/sourceforge/plantuml/ant/{CheckZip,PlantUml}Task.java || die
+ fi
+
+ # java-pkg-simple wants resources in a separate directory
+ cp -r src res || die
+ cp -r skin stdlib svg themes res || die
+ find res -type f \( -name '*.java' -o -iname 'readme.md' \
+ -o -name '*.ttf' -o -name '*.html' -o -name 'data.txt' \
+ -o -name '.editorconfig' \) -exec rm -rf {} + || die
+}
+
+src_install() {
+ java-pkg-simple_src_install
+ make_desktop_entry plantuml
+}
diff --git a/media-gfx/pngcheck/pngcheck-3.0.2.ebuild b/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
index 660faab0b47c..ca87c90889f4 100644
--- a/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
+++ b/media-gfx/pngcheck/pngcheck-3.0.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Verifies the integrity of PNG, JNG and MNG files with internal checksums"
HOMEPAGE="http://www.libpng.org/pub/png/apps/pngcheck.html"
-SRC_URI="mirror://sourceforge/png-mng/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/png-mng/${P}.tar.gz"
LICENSE="HPND GPL-2+"
SLOT="0"
diff --git a/media-gfx/pngcrush/metadata.xml b/media-gfx/pngcrush/metadata.xml
index 162e13ab9df4..2de20b6ffac3 100644
--- a/media-gfx/pngcrush/metadata.xml
+++ b/media-gfx/pngcrush/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<maintainer status="active">
<email>glennrp@gmail.com</email>
diff --git a/media-gfx/pngcrush/pngcrush-1.8.13.ebuild b/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
index f6de7f55156d..27787e17634f 100644
--- a/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
+++ b/media-gfx/pngcrush/pngcrush-1.8.13.ebuild
@@ -7,7 +7,7 @@ inherit toolchain-funcs
DESCRIPTION="Portable Network Graphics (PNG) optimizing utility"
HOMEPAGE="https://pmt.sourceforge.io/pngcrush/"
-SRC_URI="mirror://sourceforge/pmt/${P}-nolib.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/pmt/${P}-nolib.tar.xz"
LICENSE="pngcrush"
SLOT="0"
diff --git a/media-gfx/pngnq/files/pngnq-1.1-gcc14-build-fix.patch b/media-gfx/pngnq/files/pngnq-1.1-gcc14-build-fix.patch
new file mode 100644
index 000000000000..aa8c1a624cdd
--- /dev/null
+++ b/media-gfx/pngnq/files/pngnq-1.1-gcc14-build-fix.patch
@@ -0,0 +1,34 @@
+Bug: https://bugs.gentoo.org/919210
+Reported upstream: https://sourceforge.net/p/pngnq/patches/7/
+--- a/src/pngcomp.c
++++ b/src/pngcomp.c
+@@ -503,7 +503,7 @@ void printstats(struct statistics* stats, struct blockstats* bstats){
+ printf("Mean pixel color error: %f \n",stats->mean_error);
+ printf("Maximum pixel color error: %f \n",stats->max_error);
+ printf("Standard Deviation of error: %f\n",stats->stddev_error);
+- printf("Image Dimensions %ld x %ld \n",image1_info.width,image1_info.height);
++ printf("Image Dimensions %lld x %lld \n", (long long int)image1_info.width, (long long int)image1_info.height);
+ printf("Number of pixels: %ld \n",stats->n_pixels);
+ printf("Number of exact pixels: %ld\n",stats->correct_pixels);
+ printf("Percentage correct pixels: %f\n",(float)stats->correct_pixels/(float)stats->n_pixels*100.0);
+--- a/src/rwpng.h
++++ b/src/rwpng.h
+@@ -29,6 +29,7 @@
+
+ ---------------------------------------------------------------------------*/
+
++#include "pngconf.h"
+ #ifndef TRUE
+ # define TRUE 1
+ # define FALSE 0
+@@ -65,8 +66,8 @@ typedef struct _rwpng_color_struct {
+
+ typedef struct _mainprog_info {
+ double gamma;
+- ulg width; /* read/write */
+- ulg height; /* read/write */
++ png_uint_32 width; /* read/write */
++ png_uint_32 height; /* read/write */
+ ulg rowbytes; /* read */
+ void *png_ptr; /* read/write */
+ void *info_ptr; /* read/write */
diff --git a/media-gfx/pngnq/pngnq-1.1-r1.ebuild b/media-gfx/pngnq/pngnq-1.1-r1.ebuild
index ee0a6de62dfe..c446224f6674 100644
--- a/media-gfx/pngnq/pngnq-1.1-r1.ebuild
+++ b/media-gfx/pngnq/pngnq-1.1-r1.ebuild
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Pngnq is a tool for quantizing PNG images in RGBA format"
HOMEPAGE="http://pngnq.sourceforge.net/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="BSD pngnq rwpng"
SLOT="0"
diff --git a/media-gfx/pngnq/pngnq-1.1-r2.ebuild b/media-gfx/pngnq/pngnq-1.1-r2.ebuild
new file mode 100644
index 000000000000..cdfa4f9281af
--- /dev/null
+++ b/media-gfx/pngnq/pngnq-1.1-r2.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Pngnq is a tool for quantizing PNG images in RGBA format"
+HOMEPAGE="https://pngnq.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+
+LICENSE="BSD pngnq rwpng"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="media-libs/libpng:0="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0-libpng14.patch
+ "${FILESDIR}"/${PN}-1.0-libpng15.patch
+ "${FILESDIR}"/${PN}-1.0-Wimplicit-function-declaration.patch
+ "${FILESDIR}"/${PN}-1.1-autoconf-quoting.patch
+ "${FILESDIR}"/${PN}-1.1-gcc14-build-fix.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/media-gfx/pngquant/pngquant-2.18.0.ebuild b/media-gfx/pngquant/pngquant-2.18.0.ebuild
index ae8a0c8e0e3b..2766272258e4 100644
--- a/media-gfx/pngquant/pngquant-2.18.0.ebuild
+++ b/media-gfx/pngquant/pngquant-2.18.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ SRC_URI="https://github.com/kornelski/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="GPL-3 HPND rwpng"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
IUSE="cpu_flags_x86_sse2 debug lcms openmp test"
REQUIRED_USE="test? ( lcms )"
diff --git a/media-gfx/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="Transforming bitmaps into vector graphics"
+HOMEPAGE="https://potrace.sourceforge.net/"
+SRC_URI="https://potrace.sourceforge.net/download/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="metric"
+
+RDEPEND="sys-libs/zlib:="
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.16-lto.patch
+)
+
+src_prepare() {
+ default
+
+ # Needed for lto patch
+ eautoreconf
+}
+
+src_configure() {
+ tc-export CC # bug 610098
+ local myeconfargs=(
+ --disable-static
+ --enable-zlib
+ --with-libpotrace
+ $(use_enable metric a4)
+ $(use_enable metric)
+ )
+ econf "${myeconfargs[@]}"
+}
+
+src_install() {
+ default
+
+ # no static archives
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/media-gfx/povray/povray-3.7.0.0-r4.ebuild b/media-gfx/povray/povray-3.7.0.0-r5.ebuild
index 14d2bd4402a7..7b8e8d9ca6d5 100644
--- a/media-gfx/povray/povray-3.7.0.0-r4.ebuild
+++ b/media-gfx/povray/povray-3.7.0.0-r5.ebuild
@@ -1,13 +1,13 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=6
+EAPI=8
-inherit autotools eapi7-ver flag-o-matic virtualx
+inherit autotools flag-o-matic virtualx
POVRAY_MAJOR_VER=$(ver_cut 1-3)
POVRAY_MINOR_VER=$(ver_cut 4)
-if [ -n "$POVRAY_MINOR_VER" ]; then
+if [[ -n ${POVRAY_MINOR_VER} ]]; then
POVRAY_MINOR_VER=${POVRAY_MINOR_VER/rc/RC}
MY_PV="${POVRAY_MAJOR_VER}.${POVRAY_MINOR_VER}"
else
@@ -18,10 +18,11 @@ DESCRIPTION="The Persistence of Vision Raytracer"
HOMEPAGE="https://www.povray.org/"
SRC_URI="https://github.com/POV-Ray/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
https://dev.gentoo.org/~soap/distfiles/${P}_p20160914-fix-c++14.patch.bz2"
+S=${WORKDIR}/${PN}-${MY_PV}
-LICENSE="AGPL-3"
+LICENSE="AGPL-3+ CC-BY-SA-3.0 CC-BY-NC-SA-2.5"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="debug +io-restrictions tiff X"
DEPEND="
@@ -30,12 +31,10 @@ DEPEND="
media-libs/libpng:=
sys-libs/zlib
tiff? ( media-libs/tiff:= )
- X? ( media-libs/libsdl )"
+ X? ( media-libs/libsdl )
+"
RDEPEND="${DEPEND}"
-DEPEND="${DEPEND}
- dev-build/autoconf-archive"
-
-S=${WORKDIR}/${PN}-${MY_PV}
+BDEPEND="dev-build/autoconf-archive"
PATCHES=(
"${FILESDIR}"/${P}-user-conf.patch
@@ -90,6 +89,14 @@ src_prepare() {
}
src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/859784
+ # https://github.com/POV-Ray/povray/issues/458
+ # Upstream activity is dead for 3 years now, so don't hold
+ # your breath for a fix.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
# Fixes bug 71255
if [[ $(get-flag march) == k6-2 ]]; then
filter-flags -fomit-frame-pointer
@@ -99,25 +106,26 @@ src_configure() {
# but the code compiles using incorrect [default] paths
# (based on /usr/local...), so povray will not find the system
# config files without the following fix:
- append-cppflags -DPOVLIBDIR=\\\""${EROOT}"usr/share/${PN}\\\" -DPOVCONFDIR=\\\""${EROOT}"etc/${PN}\\\"
+ append-cppflags -DPOVLIBDIR=\\\""${EROOT}"/usr/share/${PN}\\\" -DPOVCONFDIR=\\\""${EROOT}"/etc/${PN}\\\"
# TODO: Restore OpenEXR if upstream start to support OpenEXR 3/imath
- econf \
- COMPILED_BY="Portage (Gentoo $(uname)) on $(hostname -f)" \
- $(use_enable debug) \
- $(use_enable io-restrictions) \
- --without-openexr \
- $(use_with tiff libtiff "${EPREFIX}/usr/$(get_libdir)") \
- $(use_with X libsdl "${EPREFIX}/usr/$(get_libdir)") \
- $(use_with X x "${EPREFIX}/usr/$(get_libdir)") \
- $(usex tiff "" "NON_REDISTRIBUTABLE_BUILD=yes") \
- --with-boost-libdir="${EPREFIX}/usr/$(get_libdir)" \
- --without-libmkl \
- --disable-pipe \
- --disable-static \
- --disable-strip \
- --disable-optimiz \
+ local myeconfargs=(
+ COMPILED_BY="Portage (Gentoo $(uname)) on $(hostname -f)"
+ $(use_enable debug)
+ $(use_enable io-restrictions)
+ --without-openexr
+ $(use_with tiff libtiff "${EPREFIX}/usr/$(get_libdir)")
+ $(use_with X libsdl "${EPREFIX}/usr/$(get_libdir)")
+ $(use_with X x "${EPREFIX}/usr/$(get_libdir)")
+ $(usex tiff "" "NON_REDISTRIBUTABLE_BUILD=yes")
+ --with-boost-libdir="${EPREFIX}/usr/$(get_libdir)"
+ --without-libmkl
+ --disable-pipe
+ --disable-strip
+ --disable-optimiz
--disable-optimiz-arch
+ )
+ econf "${myeconfargs[@]}"
}
src_test() {
@@ -130,11 +138,11 @@ pkg_preinst() {
# This way, they can be treated by CONFIG_PROTECT as normal.
local conf_file version_dir
for conf_file in "${ED}"/etc/"${PN}"/*; do
- if [ ! -e "${EROOT}etc/${PN}/${conf_file}" ]; then
- for version_dir in $(echo "${EROOT}"etc/"${PN}"/* | grep "^[0-9]" | sort -rn); do
- if [ -e "${EROOT}etc/${PN}/${version_dir}/${conf_file}" ]; then
- mv "${EROOT}etc/${PN}/${version_dir}/${conf_file}" "${EROOT}etc/${PN}" || die
- elog "Note: ${conf_file} moved from ${EROOT}etc/povray/${version_dir}/ to ${EROOT}etc/povray/"
+ if [[ ! -e "${EROOT}/etc/${PN}/${conf_file}" ]]; then
+ for version_dir in $(echo "${EROOT}"/etc/"${PN}"/* | grep "^[0-9]" | sort -rn); do
+ if [ -e "${EROOT}/etc/${PN}/${version_dir}/${conf_file}" ]; then
+ mv "${EROOT}/etc/${PN}/${version_dir}/${conf_file}" "${EROOT}/etc/${PN}" || die
+ elog "Note: ${conf_file} moved from ${EROOT}/etc/povray/${version_dir}/ to ${EROOT}/etc/povray/"
break
fi
done
diff --git a/media-gfx/pqiv/Manifest b/media-gfx/pqiv/Manifest
index f33f0d89e3ec..014fe35dcaad 100644
--- a/media-gfx/pqiv/Manifest
+++ b/media-gfx/pqiv/Manifest
@@ -1,2 +1 @@
-DIST pqiv-2.11.tar.gz 139825 BLAKE2B 981d472ccd3284b2e9ad3da8e84233c95555a927af797f8421ac820225d3d39cab2275f01269a986bab54994e0fce2095b7c33b1201e7a6117e1c8399617341b SHA512 6017a9d7ed332915a9f6fa788bb02c3b9d4d83c2ae2f9a8ab7d7738caa14ba3e9d253906f2e73fdfd368bb5e7bc51380ee9906fd9921e5f7f113811fd3da66f7
DIST pqiv-2.12.tar.gz 141927 BLAKE2B b33f14c78422dc53f9d97eb6277da0ad51ae5d9ecd60497a879ab6057206c7cd695d6242e76f33856467c7821beac3e6d13ea3dda7aa4d4142e7682384ee8d63 SHA512 f921d7949c9d229536188e9652cc687dcc55127875f329d0a64e6e2a55ea1a6827c0df6925685ae923ba1a000fbf2d2dc1dd825e67a12815a49b2cb703ea2e2f
diff --git a/media-gfx/pqiv/pqiv-2.11.ebuild b/media-gfx/pqiv/pqiv-2.11.ebuild
deleted file mode 100644
index 01218b6f6df9..000000000000
--- a/media-gfx/pqiv/pqiv-2.11.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-inherit linux-info toolchain-funcs xdg-utils
-
-if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/phillipberndt/pqiv.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/phillipberndt/pqiv/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-fi
-
-DESCRIPTION="powerful GTK 3 based command-line image viewer with a minimal UI"
-HOMEPAGE="https://github.com/phillipberndt/pqiv http://www.pberndt.com/Programme/Linux/pqiv/"
-
-LICENSE="GPL-2"
-SLOT="0"
-IUSE="archive ffmpeg imagemagick pdf postscript webp"
-
-RDEPEND="
- >=dev-libs/glib-2.32:2
- >=x11-libs/cairo-1.6
- x11-libs/gtk+:3
- archive? ( app-arch/libarchive:0= )
- ffmpeg? ( media-video/ffmpeg:0= )
- imagemagick? ( media-gfx/imagemagick:0= )
- pdf? ( app-text/poppler:0= )
- postscript? ( app-text/libspectre:0= )
- webp? ( media-libs/libwebp:0= )
-"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-doecho() {
- echo "$@"
- "$@" || die
-}
-
-pkg_setup() {
- if use kernel_linux; then
- CONFIG_CHECK="~INOTIFY_USER"
- linux-info_pkg_setup
- fi
-}
-
-src_configure() {
- local backends="gdkpixbuf"
- use archive && backends+=",archive,archive_cbx"
- use ffmpeg && backends+=",libav"
- use imagemagick && backends+=",wand"
- use pdf && backends+=",poppler"
- use postscript && backends+=",spectre"
- use webp && backends+=",webp"
-
- doecho ./configure \
- --backends-build=shared \
- --backends=${backends} \
- --prefix="${EPREFIX}/usr" \
- --libdir="${EPREFIX}/usr/$(get_libdir)" \
- --destdir="${ED}"
-}
-
-src_compile() {
- tc-export CC
- emake VERBOSE=1 CFLAGS="${CFLAGS}"
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
-}
diff --git a/media-gfx/pqstego/pqstego-0.0.1.ebuild b/media-gfx/pqstego/pqstego-0.0.1.ebuild
index 61c82756ef45..83795f3cb314 100644
--- a/media-gfx/pqstego/pqstego-0.0.1.ebuild
+++ b/media-gfx/pqstego/pqstego-0.0.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DESCRIPTION="Tools for Perturbed Quantization Steganography"
HOMEPAGE="https://sourceforge.net/projects/pqstego/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest
index a55b73005349..96bff41a9c8d 100644
--- a/media-gfx/prusaslicer/Manifest
+++ b/media-gfx/prusaslicer/Manifest
@@ -1,4 +1,2 @@
-DIST prusaslicer-2.5.2.tar.gz 49039089 BLAKE2B f1489cac7f23977da30da130faab15336c0f31eee8f197804122e46e62e030a17baf97f744019673e3adc9aff7413380f5c0513fa3d9e3044d56c32d4c95e5b8 SHA512 7d17ce358f742ef44725b0b4160be3ddc522d2160d0b467589a1def82b2f478108e4934efb80feff043435b69fe7e81f18146277f67ec1819d9a0150fa9942a2
-DIST prusaslicer-2.6.0.tar.gz 56430180 BLAKE2B 7d6a0344f558d5788676364262f9e2b878a01e199fa8c95cda87c801c84fd02d5fc9df5a16096d36ec2e02ea54c8189165d524d8e7f73f66526fba6e5c60e55b SHA512 c6133f09ccee5c3c6f1e6e3aebfee749fb0138e830d93ed42b19063b89738162095fa7c017695643b736099750bb56d6bd8174f8bf18a6f0703811703bfb508c
-DIST prusaslicer-2.6.1.tar.gz 58479800 BLAKE2B d5bfe09a76c5e1e5d3f5fae350db27db61e1f90465db42b5573314c58d77c89d3c04e67b45c449374570b7c1a0ee13bf7984b011f751a71e3b1414759cc921e9 SHA512 2b04eeff4feca2afd560b2fb6a5bbdaae6cabed2180d1416f2e4c7c385a50f859ec334c864a737b7c09eb3fd88f80af68655a0ef25ce9216b16549b16b3020b0
-DIST prusaslicer-2.7.1.tar.gz 64975776 BLAKE2B 7683e2c97458da6b6f2b0e826f538d556f011e4580246277a926df55a71c5a4668089235b8b13379646e1730d301c446cd5d9116e236986cb29bb322390ba94f SHA512 20037164b8a8853e2f30a5ed613e0da1d02d6fa581c21ef67a51e90af3c33a98eb75e0b3a203adfb8ed7bc67f32de7ea598f3f0ab9c68341738db0c1c1974b3d
+DIST prusaslicer-2.7.4.tar.gz 65396083 BLAKE2B 658c9c623e9b25ba2590f3b816987776050b25849dab2b52500ed1673434f016007b6f40944afe412df4a517351785db15de8c8b8e633d7765d656e35014aa69 SHA512 fa876160ec641ecaed20339d66c01971ca1ad73fdfba3b19bae4169e81020175aa5b99a8a7f4f01bf15d112b817cde8226c01bb4bdfb077f387a2d27f92e5d6b
+DIST prusaslicer-2.8.0.tar.gz 69806919 BLAKE2B b87c63ae411814dbffc8ae96c243bf06018d600db732ef32f7c766ce6bdf156b0aca6da90868482f39b9c6421c6a386bccc9f69e23218dadc07f1bcdb21b9793 SHA512 d98b43e9e1a6da9cbab46b2564da02fc0f8521d84a4df915d0ffd0878ee1a25afebe7078e38b124ec8565782379c51a7f9564462652ef1a7d9819d29297c1937
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_alpha2-boost-fixes.patch b/media-gfx/prusaslicer/files/prusaslicer-2.5.0_alpha2-boost-fixes.patch
deleted file mode 100644
index 9418707c1065..000000000000
--- a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_alpha2-boost-fixes.patch
+++ /dev/null
@@ -1,93 +0,0 @@
---- a/src/hints/HintsToPot.cpp
-+++ b/src/hints/HintsToPot.cpp
-@@ -1,6 +1,7 @@
- #include <iostream>
- #include <vector>
- #include <string>
-+#include <boost/nowide/fstream.hpp>
- #include <boost/filesystem.hpp>
- #include <boost/dll.hpp>
- #include <boost/property_tree/ini_parser.hpp>
-@@ -9,7 +10,7 @@
-
- bool write_to_pot(boost::filesystem::path path, const std::vector<std::pair<std::string, std::string>>& data)
- {
-- boost::filesystem::ofstream file(std::move(path), std::ios_base::app);
-+ boost::nowide::ofstream file(std::move(path), std::ios_base::app);
- for (const auto& element : data)
- {
- //Example of .pot element
---- a/src/libslic3r/Preset.cpp
-+++ b/src/libslic3r/Preset.cpp
-@@ -25,6 +25,7 @@
- #include <stdexcept>
- #include <unordered_map>
- #include <boost/format.hpp>
-+#include <boost/nowide/fstream.hpp>
- #include <boost/filesystem.hpp>
- #include <boost/filesystem/fstream.hpp>
- #include <boost/algorithm/string.hpp>
-@@ -84,7 +85,7 @@ ConfigFileType guess_config_file_type(const ptree &tree)
- VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, bool load_all)
- {
- ptree tree;
-- boost::filesystem::ifstream ifs(path);
-+ boost::nowide::ifstream ifs(path);
- boost::property_tree::read_ini(ifs, tree);
- return VendorProfile::from_ini(tree, path, load_all);
- }
---- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp
-+++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
-@@ -10,6 +10,7 @@
- #include "libslic3r/Platform.hpp"
- #include "libslic3r/Config.hpp"
-
-+#include <boost/nowide/fstream.hpp>
- #include <boost/filesystem.hpp>
- #include <boost/log/trivial.hpp>
- #include <boost/dll/runtime_symbol_info.hpp>
-@@ -503,4 +504,4 @@ DesktopIntegrationDialog::~DesktopIntegrationDialog()
-
- } // namespace GUI
- } // namespace Slic3r
--#endif // __linux__
-\ No newline at end of file
-+#endif // __linux__
---- a/src/slic3r/GUI/GUI_App.cpp
-+++ b/src/slic3r/GUI/GUI_App.cpp
-@@ -13,6 +13,7 @@
- #include <cstdlib>
- #include <regex>
- #include <string_view>
-+#include <boost/nowide/fstream.hpp>
- #include <boost/algorithm/string/predicate.hpp>
- #include <boost/algorithm/string.hpp>
- #include <boost/format.hpp>
---- a/src/slic3r/GUI/HintNotification.cpp
-+++ b/src/slic3r/GUI/HintNotification.cpp
-@@ -15,6 +15,7 @@
- #include "libslic3r/PrintConfig.hpp"
-
- #include <boost/algorithm/string/replace.hpp>
-+#include <boost/nowide/fstream.hpp>
- #include <boost/filesystem.hpp>
- #include <boost/nowide/fstream.hpp>
- #include <boost/log/trivial.hpp>
-@@ -65,7 +66,7 @@ inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, f
-
- void write_used_binary(const std::vector<std::string>& ids)
- {
-- boost::filesystem::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary);
-+ boost::nowide::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary);
- cereal::BinaryOutputArchive archive(file);
- HintsCerealData cd { ids };
- try
-@@ -84,7 +85,7 @@ void read_used_binary(std::vector<std::string>& ids)
- BOOST_LOG_TRIVIAL(warning) << "Failed to load to hints.cereal. File does not exists. " << path.string();
- return;
- }
-- boost::filesystem::ifstream file(path);
-+ boost::nowide::ifstream file(path);
- cereal::BinaryInputArchive archive(file);
- HintsCerealData cd;
- try
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch b/media-gfx/prusaslicer/files/prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch
deleted file mode 100644
index becab0a88355..000000000000
--- a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/src/slic3r/GUI/PrintHostDialogs.cpp
-+++ b/src/slic3r/GUI/PrintHostDialogs.cpp
-@@ -79,8 +79,8 @@ PrintHostSendDialog::PrintHostSendDialog
- if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos)
- m_valid_suffix = recent_path.substr(extension_start);
- // .gcode suffix control
-- auto validate_path = [this](const wxString &path) -> bool {
-- if (! path.Lower().EndsWith(m_valid_suffix.Lower())) {
-+ auto validate_path = [this](const std::wstring &path) -> bool {
-+ if (! wxString(path).Lower().EndsWith(m_valid_suffix.Lower())) {
- MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO);
- if (msg_wingow.ShowModal() == wxID_NO)
- return false;
-@@ -90,7 +90,7 @@ PrintHostSendDialog::PrintHostSendDialog
-
- auto* btn_ok = add_button(wxID_OK, true, _L("Upload"));
- btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::None;
- EndDialog(wxID_OK);
- }
-@@ -100,7 +100,7 @@ PrintHostSendDialog::PrintHostSendDialog
- if (post_actions.has(PrintHostPostUploadAction::StartPrint)) {
- auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print"));
- btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::StartPrint;
- EndDialog(wxID_OK);
- }
-@@ -111,7 +111,7 @@ PrintHostSendDialog::PrintHostSendDialog
- // Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here.
- auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate"));
- btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::StartSimulation;
- EndDialog(wxID_OK);
- }
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch b/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch
deleted file mode 100644
index 056c6150a7b0..000000000000
--- a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-cereal-1.3.1.patch
+++ /dev/null
@@ -1,48 +0,0 @@
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -127,7 +127,7 @@
- set_target_properties(PrusaSlicer PROPERTIES OUTPUT_NAME "prusa-slicer")
- endif ()
-
--target_link_libraries(PrusaSlicer libslic3r cereal)
-+target_link_libraries(PrusaSlicer libslic3r libcereal)
-
- if (APPLE)
- # add_compile_options(-stdlib=libc++)
---- a/src/slic3r/CMakeLists.txt
-+++ b/src/slic3r/CMakeLists.txt
-@@ -260,7 +260,7 @@
-
- encoding_check(libslic3r_gui)
-
--target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
-+target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES})
-
- if (MSVC)
- target_link_libraries(libslic3r_gui Setupapi.lib)
---- a/src/libslic3r/CMakeLists.txt
-+++ b/src/libslic3r/CMakeLists.txt
-@@ -395,7 +395,7 @@
- target_link_libraries(libslic3r
- libnest2d
- admesh
-- cereal
-+ libcereal
- libigl
- miniz
- boost_libs
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -446,6 +446,12 @@
-
- # Find the Cereal serialization library
- find_package(cereal REQUIRED)
-+add_library(libcereal INTERFACE)
-+if (NOT TARGET cereal::cereal)
-+ target_link_libraries(libcereal INTERFACE cereal)
-+else()
-+ target_link_libraries(libcereal INTERFACE cereal::cereal)
-+endif()
-
- # l10n
- set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization")
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-fix-tests.patch b/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-fix-tests.patch
deleted file mode 100644
index c86c585926ab..000000000000
--- a/media-gfx/prusaslicer/files/prusaslicer-2.5.0_rc1-fix-tests.patch
+++ /dev/null
@@ -1,14 +0,0 @@
---- a/tests/fff_print/test_data.cpp
-+++ b/tests/fff_print/test_data.cpp
-@@ -4,10 +4,9 @@
- #include "libslic3r/GCodeReader.hpp"
- #include "libslic3r/Config.hpp"
- #include "libslic3r/Print.hpp"
--#include "libslic3r/Format/OBJ.hpp"
--#include "libslic3r/Format/STL.hpp"
-
- #include <cstdlib>
-+#include <fstream>
- #include <string>
-
- #include <boost/nowide/cstdio.hpp>
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.5.2-fix-slicing.patch b/media-gfx/prusaslicer/files/prusaslicer-2.5.2-fix-slicing.patch
deleted file mode 100644
index ae85057f10bd..000000000000
--- a/media-gfx/prusaslicer/files/prusaslicer-2.5.2-fix-slicing.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-diff --git a/src/libslic3r/GCode.cpp b/src/libslic3r/GCode.cpp
-index f8fc2e5a7..c74ee32dd 100644
---- a/src/libslic3r/GCode.cpp
-+++ b/src/libslic3r/GCode.cpp
-@@ -1551,27 +1551,27 @@ void GCode::process_layers(
- }
- });
- const auto spiral_vase = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order,
-- [&spiral_vase = *this->m_spiral_vase](LayerResult in) -> LayerResult {
-+ [spiral_vase = this->m_spiral_vase.get()](LayerResult in) -> LayerResult {
- if (in.nop_layer_result)
- return in;
-
-- spiral_vase.enable(in.spiral_vase_enable);
-- return { spiral_vase.process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush};
-+ spiral_vase->enable(in.spiral_vase_enable);
-+ return { spiral_vase->process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush};
- });
- const auto pressure_equalizer = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order,
-- [&pressure_equalizer = *this->m_pressure_equalizer](LayerResult in) -> LayerResult {
-- return pressure_equalizer.process_layer(std::move(in));
-+ [pressure_equalizer = this->m_pressure_equalizer.get()](LayerResult in) -> LayerResult {
-+ return pressure_equalizer->process_layer(std::move(in));
- });
- const auto cooling = tbb::make_filter<LayerResult, std::string>(slic3r_tbb_filtermode::serial_in_order,
-- [&cooling_buffer = *this->m_cooling_buffer](LayerResult in) -> std::string {
-+ [cooling_buffer = this->m_cooling_buffer.get()](LayerResult in) -> std::string {
- if (in.nop_layer_result)
- return in.gcode;
-
-- return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush);
-+ return cooling_buffer->process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush);
- });
- const auto find_replace = tbb::make_filter<std::string, std::string>(slic3r_tbb_filtermode::serial_in_order,
-- [&self = *this->m_find_replace](std::string s) -> std::string {
-- return self.process_layer(std::move(s));
-+ [find_replace = this->m_find_replace.get()](std::string s) -> std::string {
-+ return find_replace->process_layer(std::move(s));
- });
- const auto output = tbb::make_filter<std::string, void>(slic3r_tbb_filtermode::serial_in_order,
- [&output_stream](std::string s) { output_stream.write(s); }
-@@ -1633,25 +1633,25 @@ void GCode::process_layers(
- }
- });
- const auto spiral_vase = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order,
-- [&spiral_vase = *this->m_spiral_vase](LayerResult in)->LayerResult {
-+ [spiral_vase = this->m_spiral_vase.get()](LayerResult in)->LayerResult {
- if (in.nop_layer_result)
- return in;
-- spiral_vase.enable(in.spiral_vase_enable);
-- return { spiral_vase.process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush };
-+ spiral_vase->enable(in.spiral_vase_enable);
-+ return { spiral_vase->process_layer(std::move(in.gcode)), in.layer_id, in.spiral_vase_enable, in.cooling_buffer_flush };
- });
- const auto pressure_equalizer = tbb::make_filter<LayerResult, LayerResult>(slic3r_tbb_filtermode::serial_in_order,
-- [&pressure_equalizer = *this->m_pressure_equalizer](LayerResult in) -> LayerResult {
-- return pressure_equalizer.process_layer(std::move(in));
-+ [pressure_equalizer = this->m_pressure_equalizer.get()](LayerResult in) -> LayerResult {
-+ return pressure_equalizer->process_layer(std::move(in));
- });
- const auto cooling = tbb::make_filter<LayerResult, std::string>(slic3r_tbb_filtermode::serial_in_order,
-- [&cooling_buffer = *this->m_cooling_buffer](LayerResult in)->std::string {
-+ [cooling_buffer = this->m_cooling_buffer.get()](LayerResult in)->std::string {
- if (in.nop_layer_result)
- return in.gcode;
-- return cooling_buffer.process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush);
-+ return cooling_buffer->process_layer(std::move(in.gcode), in.layer_id, in.cooling_buffer_flush);
- });
- const auto find_replace = tbb::make_filter<std::string, std::string>(slic3r_tbb_filtermode::serial_in_order,
-- [&self = *this->m_find_replace](std::string s) -> std::string {
-- return self.process_layer(std::move(s));
-+ [find_replace = this->m_find_replace.get()](std::string s) -> std::string {
-+ return find_replace->process_layer(std::move(s));
- });
- const auto output = tbb::make_filter<std::string, void>(slic3r_tbb_filtermode::serial_in_order,
- [&output_stream](std::string s) { output_stream.write(s); }
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-disable-noisy-asserts.patch b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-disable-noisy-asserts.patch
deleted file mode 100644
index 0e3d1d340572..000000000000
--- a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-disable-noisy-asserts.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
-index e855b6290..2479bf054 100644
---- a/src/slic3r/GUI/GUI_App.cpp
-+++ b/src/slic3r/GUI/GUI_App.cpp
-@@ -1128,6 +1128,9 @@ bool GUI_App::OnInit()
-
- bool GUI_App::on_init_inner()
- {
-+ // Disable the wxWidgets asserts breakpoints, end users have no use for them.
-+ wxSizerFlags::DisableConsistencyChecks();
-+
- // Set initialization of image handlers before any UI actions - See GH issue #7469
- wxInitAllImageHandlers();
-
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch
index b949d3b5a897..1d36fcbb7b57 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-dont-force-link-to-wayland-and-x11.patch
@@ -1,5 +1,3 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 50eccfc84..d0f9205b3 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -115,9 +115,6 @@ if (SLIC3R_GUI)
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch
index 23006a2ceedf..4a93da994bd7 100644
--- a/media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.6.0-libexpat-double-definition-fix.patch
@@ -3,12 +3,6 @@ From: Malte kleine Piening <mkl.piening@gmail.com>
Date: Tue, 18 Apr 2023 22:29:04 +0200
Subject: [PATCH] fixed double definition of target libexpat described in #9581
----
- cmake/modules/FindEXPAT.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/modules/FindEXPAT.cmake b/cmake/modules/FindEXPAT.cmake
-index de204c60f7e..5863e136ec5 100644
--- a/cmake/modules/FindEXPAT.cmake
+++ b/cmake/modules/FindEXPAT.cmake
@@ -25,7 +25,7 @@ if (NOT EXPAT_FOUND)
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch b/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch
new file mode 100644
index 000000000000..296c0366e34a
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch
@@ -0,0 +1,16 @@
+--- a/src/occt_wrapper/CMakeLists.txt
++++ b/src/occt_wrapper/CMakeLists.txt
+@@ -22,11 +22,8 @@ generate_export_header(OCCTWrapper)
+ find_package(OpenCASCADE REQUIRED)
+
+ set(OCCT_LIBS
+- TKXDESTEP
+- TKSTEP
+- TKSTEP209
+- TKSTEPAttr
+- TKSTEPBase
++ TKDESTEP
++ TKDESTL
+ TKXCAF
+ TKXSBase
+ TKVCAF
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.7.4-boost-1.85.patch b/media-gfx/prusaslicer/files/prusaslicer-2.7.4-boost-1.85.patch
new file mode 100644
index 000000000000..4ccaff8f6b17
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.7.4-boost-1.85.patch
@@ -0,0 +1,30 @@
+--- PrusaSlicer-version_2.7.4.old/src/slic3r/Config/Snapshot.cpp
++++ PrusaSlicer-version_2.7.4/src/slic3r/Config/Snapshot.cpp
+@@ -12,6 +12,7 @@
+ #include <boost/property_tree/ini_parser.hpp>
+ #include <boost/property_tree/ptree_fwd.hpp>
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/log/trivial.hpp>
+
+ #include "libslic3r/PresetBundle.hpp"
+--- PrusaSlicer-version_2.7.4.old/src/slic3r/Config/Version.cpp
++++ PrusaSlicer-version_2.7.4/src/slic3r/Config/Version.cpp
+@@ -7,6 +7,7 @@
+ #include <cctype>
+
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/nowide/fstream.hpp>
+
+ #include "libslic3r/libslic3r.h"
+--- PrusaSlicer-version_2.7.4.old/src/slic3r/GUI/RemovableDriveManager.cpp
++++ PrusaSlicer-version_2.7.4/src/slic3r/GUI/RemovableDriveManager.cpp
+@@ -35,7 +35,6 @@
+ #include <pwd.h>
+ #include <boost/filesystem.hpp>
+ #include <boost/system/error_code.hpp>
+-#include <boost/filesystem/convenience.hpp>
+ #include <boost/process.hpp>
+ #endif
+
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch
new file mode 100644
index 000000000000..33ab6256d6b0
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch
@@ -0,0 +1,19 @@
+--- a/src/slic3r/CMakeLists.txt
++++ b/src/slic3r/CMakeLists.txt
+@@ -376,6 +376,7 @@ set(SLIC3R_GUI_SOURCES
+ )
+
+ find_package(NanoSVG REQUIRED)
++find_package(OpenSSL REQUIRED)
+
+ if (APPLE)
+ list(APPEND SLIC3R_GUI_SOURCES
+@@ -404,7 +405,7 @@ endforeach()
+
+ encoding_check(libslic3r_gui)
+
+-target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui libvgcode GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES} NanoSVG::nanosvg NanoSVG::nanosvgrast)
++target_link_libraries(libslic3r_gui libslic3r avrdude libcereal imgui libvgcode GLEW::GLEW OpenGL::GL hidapi libcurl ${wxWidgets_LIBRARIES} NanoSVG::nanosvg NanoSVG::nanosvgrast OpenSSL::SSL OpenSSL::Crypto)
+
+ if (MSVC)
+ target_link_libraries(libslic3r_gui Setupapi.lib)
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch
new file mode 100644
index 000000000000..9d13876b607b
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.0-missing-includes.patch
@@ -0,0 +1,20 @@
+--- a/src/slic3r/Config/Version.cpp
++++ b/src/slic3r/Config/Version.cpp
+@@ -7,6 +7,7 @@
+ #include <cctype>
+
+ #include <boost/filesystem/operations.hpp>
++#include <boost/filesystem/directory.hpp>
+ #include <boost/nowide/fstream.hpp>
+
+ #include "libslic3r/libslic3r.h"
+--- a/src/slic3r/GUI/UserAccountCommunication.cpp
++++ b/src/slic3r/GUI/UserAccountCommunication.cpp
+@@ -13,6 +13,7 @@
+ #include <boost/filesystem.hpp>
+ #include <boost/nowide/cstdio.hpp>
+ #include <boost/nowide/fstream.hpp>
++#include <boost/nowide/convert.hpp>
+ #include <curl/curl.h>
+ #include <string>
+
diff --git a/media-gfx/prusaslicer/prusaslicer-2.5.2-r1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.5.2-r1.ebuild
deleted file mode 100644
index 6c02da88bcab..000000000000
--- a/media-gfx/prusaslicer/prusaslicer-2.5.2-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-WX_GTK_VER="3.0-gtk3"
-MY_PN="PrusaSlicer"
-MY_PV="$(ver_rs 3 -)"
-
-inherit cmake wxwidgets xdg
-
-DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
-HOMEPAGE="https://www.prusa3d.com/prusaslicer/"
-SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="test"
-
-RESTRICT="test"
-
-RDEPEND="
- dev-cpp/eigen:3
- dev-cpp/tbb:=
- dev-libs/boost:=[nls]
- dev-libs/cereal
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/gmp:=
- dev-libs/mpfr:=
- media-gfx/openvdb:=
- net-misc/curl[adns]
- media-libs/glew:0=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:0=
- media-libs/qhull:=
- sci-libs/libigl
- sci-libs/nlopt
- sci-libs/opencascade:=
- sci-mathematics/cgal:=
- sys-apps/dbus
- sys-libs/zlib:=
- virtual/opengl
- x11-libs/gtk+:3
- x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
-"
-DEPEND="${RDEPEND}
- media-libs/qhull[static-libs]
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.5.0_alpha2-boost-fixes.patch"
- "${FILESDIR}/${PN}-2.5.0_rc1-cereal-1.3.1.patch"
- "${FILESDIR}/${PN}-2.5.0_rc1-fix-tests.patch"
- "${FILESDIR}/${PN}-2.5.0_boost-1.81-std-wxString-to-std-wstring.patch"
- "${FILESDIR}/${PN}-2.5.2-fix-slicing.patch"
-)
-
-S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
-
-src_prepare() {
- sed -i -e 's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g' version.inc || die
-
- sed -i -e 's/find_package(OpenCASCADE 7.6.2 REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \
- src/occt_wrapper/CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- CMAKE_BUILD_TYPE="Release"
-
- setup-wxwidgets
-
- local mycmakeargs=(
- -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB"
-
- -DSLIC3R_BUILD_TESTS=$(usex test)
- -DSLIC3R_FHS=ON
- -DSLIC3R_GTK=3
- -DSLIC3R_GUI=ON
- -DSLIC3R_PCH=OFF
- -DSLIC3R_STATIC=OFF
- -DSLIC3R_WX_STABLE=ON
- -Wno-dev
- )
-
- cmake_src_configure
-}
diff --git a/media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild
index 2a926a3e0102..3745d41a4e8d 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.7.1.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-2.7.4.ebuild
@@ -13,12 +13,14 @@ DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D
HOMEPAGE="https://www.prusa3d.com/prusaslicer/"
SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
+
LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~x86"
IUSE="test"
-RESTRICT="test"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-cpp/eigen:3
@@ -49,16 +51,20 @@ RDEPEND="
"
DEPEND="${RDEPEND}
media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
"
PATCHES=(
"${FILESDIR}/${PN}-2.6.0-libexpat-double-definition-fix.patch"
"${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.7.4-boost-1.85.patch"
)
-S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
-
src_prepare() {
+ if has_version ">=sci-libs/opencascade-7.8.0"; then
+ eapply "${FILESDIR}/prusaslicer-2.7.2-opencascade-7.8.0.patch"
+ fi
+
sed -i -e 's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g' version.inc || die
sed -i -e 's/find_package(OpenCASCADE 7.6.2 REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \
@@ -86,3 +92,10 @@ src_configure() {
cmake_src_configure
}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ "^libslic3r_tests$"
+ )
+ cmake_src_test
+}
diff --git a/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.8.0.ebuild
index 4908a2557257..2bb72a7c183f 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.6.1.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-2.8.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
@@ -9,16 +9,23 @@ MY_PV="$(ver_rs 3 -)"
inherit cmake wxwidgets xdg
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/prusa3d/prusaslicer.git"
+else
+ SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
+fi
+
DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
HOMEPAGE="https://www.prusa3d.com/prusaslicer/"
-SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86"
IUSE="test"
-RESTRICT="test"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-cpp/eigen:3
@@ -30,6 +37,7 @@ RDEPEND="
dev-libs/gmp:=
dev-libs/mpfr:=
media-gfx/openvdb:=
+ media-gfx/libbgcode
net-misc/curl[adns]
media-libs/glew:0=
media-libs/libjpeg-turbo:=
@@ -43,22 +51,25 @@ RDEPEND="
sys-libs/zlib:=
virtual/opengl
x11-libs/gtk+:3
- >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl,webkit]
media-libs/nanosvg:=
"
DEPEND="${RDEPEND}
media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
"
PATCHES=(
- "${FILESDIR}/${PN}-2.6.0-libexpat-double-definition-fix.patch"
- "${FILESDIR}/${PN}-2.6.0-disable-noisy-asserts.patch"
"${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.8.0-missing-includes.patch"
+ "${FILESDIR}/${PN}-2.8.0-fixed-linking.patch"
)
-S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
-
src_prepare() {
+ if has_version ">=sci-libs/opencascade-7.8.0"; then
+ eapply "${FILESDIR}/prusaslicer-2.7.2-opencascade-7.8.0.patch"
+ fi
+
sed -i -e 's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g' version.inc || die
sed -i -e 's/find_package(OpenCASCADE 7.6.2 REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \
@@ -86,3 +97,10 @@ src_configure() {
cmake_src_configure
}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ "^libslic3r_tests$"
+ )
+ cmake_src_test
+}
diff --git a/media-gfx/prusaslicer/prusaslicer-2.6.0-r1.ebuild b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
index 92abbdc12468..2bb72a7c183f 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.6.0-r1.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-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
@@ -9,16 +9,23 @@ MY_PV="$(ver_rs 3 -)"
inherit cmake wxwidgets xdg
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/prusa3d/prusaslicer.git"
+else
+ SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~arm64 ~x86"
+ S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
+fi
+
DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
HOMEPAGE="https://www.prusa3d.com/prusaslicer/"
-SRC_URI="https://github.com/prusa3d/PrusaSlicer/archive/refs/tags/version_${MY_PV}.tar.gz -> ${P}.tar.gz"
LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
-RESTRICT="test"
+RESTRICT="!test? ( test )"
RDEPEND="
dev-cpp/eigen:3
@@ -30,6 +37,7 @@ RDEPEND="
dev-libs/gmp:=
dev-libs/mpfr:=
media-gfx/openvdb:=
+ media-gfx/libbgcode
net-misc/curl[adns]
media-libs/glew:0=
media-libs/libjpeg-turbo:=
@@ -43,22 +51,25 @@ RDEPEND="
sys-libs/zlib:=
virtual/opengl
x11-libs/gtk+:3
- >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl]
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl,webkit]
media-libs/nanosvg:=
"
DEPEND="${RDEPEND}
media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
"
PATCHES=(
- "${FILESDIR}/${P}-libexpat-double-definition-fix.patch"
- "${FILESDIR}/${P}-disable-noisy-asserts.patch"
- "${FILESDIR}/${P}-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.8.0-missing-includes.patch"
+ "${FILESDIR}/${PN}-2.8.0-fixed-linking.patch"
)
-S="${WORKDIR}/${MY_PN}-version_${MY_PV}"
-
src_prepare() {
+ if has_version ">=sci-libs/opencascade-7.8.0"; then
+ eapply "${FILESDIR}/prusaslicer-2.7.2-opencascade-7.8.0.patch"
+ fi
+
sed -i -e 's/PrusaSlicer-${SLIC3R_VERSION}+UNKNOWN/PrusaSlicer-${SLIC3R_VERSION}+Gentoo/g' version.inc || die
sed -i -e 's/find_package(OpenCASCADE 7.6.2 REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \
@@ -86,3 +97,10 @@ src_configure() {
cmake_src_configure
}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ "^libslic3r_tests$"
+ )
+ cmake_src_test
+}
diff --git a/media-gfx/pstoedit/pstoedit-3.75.ebuild b/media-gfx/pstoedit/pstoedit-3.75.ebuild
index e866acb3c778..6ec8c7b5d1aa 100644
--- a/media-gfx/pstoedit/pstoedit-3.75.ebuild
+++ b/media-gfx/pstoedit/pstoedit-3.75.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ inherit autotools
DESCRIPTION="Translate PostScript and PDF graphics into other vector formats"
HOMEPAGE="https://sourceforge.net/projects/pstoedit/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/qiv/Manifest b/media-gfx/qiv/Manifest
index fb4484480faf..3b37f705993e 100644
--- a/media-gfx/qiv/Manifest
+++ b/media-gfx/qiv/Manifest
@@ -1 +1,2 @@
DIST qiv-2.3.2.tgz 133614 BLAKE2B f06f36524db8cdde1baf3e118e8ceeeb654dd49a674b55d661255734c0bedaa765fcf8bb77b03d3c2bac8d75a9088b3290f1d802d670393b6795fee85dd4f778 SHA512 c4636591f79e8e4c13807433a4101a461e614439e497a5637b958bd9d0937b04515854483d4060d9b1004d6c6060b437d634fdbe491eb0747a660ba65240472d
+DIST qiv-2.3.3.tgz 139301 BLAKE2B 0167e074f859ef028e3b343a8e521573f953ba43b7bd78f58e8b337a558b0d48a3c857cccafa2d55384fb48afdc0735949d873de878eff18658f09b98700c61c SHA512 95b5f3759c03648dea1ea1eacaf3d38d808a6eff4d26edf711df0e20a741fc22a0c16bcd84b8740f1455f5d35db9c2b04392dff8b4e030ec3d3c05cd01886759
diff --git a/media-gfx/qiv/metadata.xml b/media-gfx/qiv/metadata.xml
index 115e9d64a669..0d624e24b0a5 100644
--- a/media-gfx/qiv/metadata.xml
+++ b/media-gfx/qiv/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="codeberg">ciberandy/qiv</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-gfx/qiv/qiv-2.3.3.ebuild b/media-gfx/qiv/qiv-2.3.3.ebuild
new file mode 100644
index 000000000000..4f8d62d74f7e
--- /dev/null
+++ b/media-gfx/qiv/qiv-2.3.3.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit desktop toolchain-funcs xdg
+
+DESCRIPTION="Quick Image Viewer"
+HOMEPAGE="https://spiegl.de/qiv/ https://codeberg.org/ciberandy/qiv"
+SRC_URI="https://spiegl.de/qiv/download/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~mips ~x86"
+IUSE="exif lcms magic"
+
+RDEPEND="
+ media-libs/imlib2[X]
+ >=x11-libs/gtk+-2.12:2
+ exif? ( media-libs/libexif )
+ lcms? (
+ media-libs/lcms:2
+ media-libs/libjpeg-turbo:=
+ media-libs/tiff:=
+ )
+ magic? ( sys-apps/file )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e 's:$(CC) $(CFLAGS):$(CC) $(LDFLAGS) $(CFLAGS):' \
+ Makefile || die
+
+ if ! use exif ; then
+ sed -i 's/^EXIF =/#\0/' Makefile || die
+ fi
+
+ if ! use lcms ; then
+ sed -i 's/^LCMS =/#\0/' Makefile || die
+ fi
+
+ if ! use magic ; then
+ sed -i 's/^MAGIC =/#\0/' Makefile || die
+ fi
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}"
+}
+
+src_install() {
+ dobin qiv
+ doman qiv.1
+ dodoc Changelog contrib/qiv-command.example README README.TODO
+
+ domenu qiv.desktop
+ doicon qiv.png
+}
diff --git a/media-gfx/qrencode/metadata.xml b/media-gfx/qrencode/metadata.xml
index 92f58316bb05..12c2b682079b 100644
--- a/media-gfx/qrencode/metadata.xml
+++ b/media-gfx/qrencode/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
- <maintainer type="person">
<email>mgorny@gentoo.org</email>
<name>Michał Górny</name>
</maintainer>
diff --git a/media-gfx/qrencode/qrencode-4.1.1.ebuild b/media-gfx/qrencode/qrencode-4.1.1-r1.ebuild
index da06e19dcc0f..6bf83b4101c3 100644
--- a/media-gfx/qrencode/qrencode-4.1.1.ebuild
+++ b/media-gfx/qrencode/qrencode-4.1.1-r1.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+inherit multilib-minimal
DESCRIPTION="C library for encoding data in a QR Code symbol"
HOMEPAGE="https://fukuchi.org/works/qrencode/"
@@ -13,28 +15,29 @@ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
IUSE="png test"
RESTRICT="!test? ( test )"
-RDEPEND="
- png? ( media-libs/libpng:0= )"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
+RDEPEND="png? ( media-libs/libpng:0=[${MULTILIB_USEDEP}] )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
-src_configure() {
+multilib_src_configure() {
local myconf=(
+ $(multilib_native_with tools)
$(use_with png)
$(use_with test tests)
# TODO: figure out how to make SDL check fail as the SDL test
# program is not useful
)
- econf "${myconf[@]}"
+ ECONF_SOURCE="${S}" econf "${myconf[@]}"
}
-src_test() {
+multilib_src_test() {
+ cp "${S}"/tests/test_basic.sh "${BUILD_DIR}"/tests || die
cd tests || die
./test_basic.sh || die
}
-src_install() {
+multilib_src_install() {
default
- find "${D}" -name '*.la' -delete || die
+ find "${ED}" -name '*.la' -delete || die
}
diff --git a/media-gfx/raw-thumbnailer/Manifest b/media-gfx/raw-thumbnailer/Manifest
deleted file mode 100644
index 1b7498948d52..000000000000
--- a/media-gfx/raw-thumbnailer/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST raw-thumbnailer-0.2.1.tar.gz 89468 BLAKE2B 8041cfee56f9be900c6f7bfa6dfb9b21b482ee8eb7dacb83ed37603c32edf6e1dee122de3e98b06d158b6725a1900c73c7e1aee1b8e6a53545428ff7aca47b53 SHA512 cc3c107b060add00b4af811bb548b597493ff0d54d863c530d183970ac8bdd4f6b9f4c25cf978e1d2bf80b11424dbbfb20e73c6dd1abeff3a15a08843bcd41e1
diff --git a/media-gfx/raw-thumbnailer/files/raw-thumbnailer-0.2.1-libopenraw.patch b/media-gfx/raw-thumbnailer/files/raw-thumbnailer-0.2.1-libopenraw.patch
deleted file mode 100644
index 1106493622a2..000000000000
--- a/media-gfx/raw-thumbnailer/files/raw-thumbnailer-0.2.1-libopenraw.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 8711d72122e2e67641cc9a0166c1c35ce64719b2 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Sun, 14 Jan 2018 18:50:17 +0100
-Subject: [PATCH] Use pkgconfig name "libopenraw-0.1" to support recent
- libopenraw
-
----
- configure.ac | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/configure.ac b/configure.ac
-index 7562e2b..ef14d87 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -12,8 +12,8 @@ AC_PROG_CXX
- AC_PROG_INSTALL
-
- # Checks for libraries.
--PKG_CHECK_MODULES(OPENRAW, libopenraw-1.0 >= 0.0.4, HAVE_OPENRAW=yes)
--PKG_CHECK_MODULES(OPENRAWGNOME, libopenraw-gnome-1.0, HAVE_OPENRAWGNOME=yes)
-+PKG_CHECK_MODULES(OPENRAW, libopenraw-0.1 >= 0.1.0, HAVE_OPENRAW=yes)
-+PKG_CHECK_MODULES(OPENRAWGNOME, libopenraw-gnome-0.1, HAVE_OPENRAWGNOME=yes)
- PKG_CHECK_MODULES(GDK, gdk-pixbuf-2.0, HAVE_GDK=yes)
-
- AC_SUBST(OPENRAW_CFLAGS)
---
-2.16.0.rc1
-
diff --git a/media-gfx/raw-thumbnailer/raw-thumbnailer-0.2.1-r1.ebuild b/media-gfx/raw-thumbnailer/raw-thumbnailer-0.2.1-r1.ebuild
deleted file mode 100644
index 5cfeb0d302e5..000000000000
--- a/media-gfx/raw-thumbnailer/raw-thumbnailer-0.2.1-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2020 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=6
-
-inherit autotools
-
-DESCRIPTION="A lightweight and fast raw image thumbnailer"
-HOMEPAGE="https://github.com/erlendd/raw-thumbnailer"
-SRC_URI="https://${PN}.googlecode.com/files/${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ppc ppc64 sparc x86"
-IUSE=""
-
-RDEPEND=">=media-libs/libopenraw-0.1:=[gtk]
- x11-libs/gtk+:2
- !media-gfx/gnome-raw-thumbnailer"
-DEPEND="${RDEPEND}
- virtual/pkgconfig"
-
-DOCS=( AUTHORS ChangeLog )
-PATCHES=(
- "${FILESDIR}"/${P}-libopenraw.patch # bug 609972
-)
-
-src_prepare() {
- default
- eautoreconf
-}
diff --git a/media-gfx/rawtherapee/Manifest b/media-gfx/rawtherapee/Manifest
index 173500760c5d..23e17c128f5e 100644
--- a/media-gfx/rawtherapee/Manifest
+++ b/media-gfx/rawtherapee/Manifest
@@ -1,2 +1 @@
DIST rawtherapee-5.10.tar.xz 16943724 BLAKE2B 2d1250a03f2902ffcff666514f9785036c808e9883957f674bfdb9545b2feac8f2313ab819e0cb64f39196bd3db36e8084b52bda6194de9197215824e695809c SHA512 79d6d54f90fec6006d3dff53aca00ccd385c398ebede2f06a223905d69e1045c6ab772bd5aca4bde01d9086c3c03183be22c0df521166b1af63b60bd7d0e1cfc
-DIST rawtherapee-5.9.tar.xz 16219076 BLAKE2B 32039d6927eb4a4efbb49f3ad2bd019bd9f73c92a5e7125b7c560aaf7b6a42a5f1a2f67b24a713e4b255867539eda2bf63ea4e988453ec9634c917a11432a7fb SHA512 0d848a36293eb5cac3212910eaf1d011315269c6bbe780c4c2e5f91719721e25a7d1678a7e4453fa4a9694618978b04828612dc03e1d50cb9c11ad4d238e7ca8
diff --git a/media-gfx/rawtherapee/files/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch b/media-gfx/rawtherapee/files/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch
new file mode 100644
index 000000000000..f65309fc64e6
--- /dev/null
+++ b/media-gfx/rawtherapee/files/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch
@@ -0,0 +1,63 @@
+From efdc5bce3b9794847093baeb040937ab55eba86e Mon Sep 17 00:00:00 2001
+From: Richard E Barber <kd6kxr@gmail.com>
+Date: Sun, 19 May 2024 04:27:10 -0700
+Subject: [PATCH] Fix linking with jpeg-turbo
+
+patch via Termux PR
+https://github.com/termux-user-repository/tur/pull/1027
+---
+ rtengine/jdatasrc.cc | 28 ++--------------------------
+ 1 file changed, 2 insertions(+), 26 deletions(-)
+
+diff --git a/rtengine/jdatasrc.cc b/rtengine/jdatasrc.cc
+index fa13b9dd13..a0d12657f2 100644
+--- a/rtengine/jdatasrc.cc
++++ b/rtengine/jdatasrc.cc
+@@ -247,20 +247,6 @@ my_error_exit (j_common_ptr cinfo)
+ #endif
+ }
+
+-
+-#ifdef _WIN32
+-#define JVERSION "6b 27-Mar-1998"
+-#define JCOPYRIGHT_SHORT "(C) 1998, Thomas G. Lane"
+-#define JMESSAGE(code,string) string ,
+-
+-const char * const jpeg_std_message_table[] = {
+-#include "jerror.h"
+- NULL
+-};
+-#else
+-extern const char * const jpeg_std_message_table[];
+-#endif
+-
+ /*
+ * Actual output of an error or trace message.
+ * Applications may override this method to send JPEG messages somewhere
+@@ -409,24 +395,14 @@ reset_error_mgr (j_common_ptr cinfo)
+ GLOBAL(struct jpeg_error_mgr *)
+ my_jpeg_std_error (struct jpeg_error_mgr * err)
+ {
++ err = jpeg_std_error(err);
+
++ /* override these functions */
+ err->error_exit = my_error_exit;
+ err->emit_message = emit_message;
+ err->output_message = output_message;
+ err->format_message = format_message;
+ err->reset_error_mgr = reset_error_mgr;
+
+- err->trace_level = 0; /* default = no tracing */
+- err->num_warnings = 0; /* no warnings emitted yet */
+- err->msg_code = 0; /* may be useful as a flag for "no error" */
+-
+- /* Initialize message table pointers */
+- err->jpeg_message_table = jpeg_std_message_table;
+- err->last_jpeg_message = (int) JMSG_LASTMSGCODE - 1;
+-
+- err->addon_message_table = nullptr;
+- err->first_addon_message = 0; /* for safety */
+- err->last_addon_message = 0;
+-
+ return err;
+ }
diff --git a/media-gfx/rawtherapee/rawtherapee-5.10.ebuild b/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild
index e4a69dd837de..bc3e9aa37d1b 100644
--- a/media-gfx/rawtherapee/rawtherapee-5.10.ebuild
+++ b/media-gfx/rawtherapee/rawtherapee-5.10-r1.ebuild
@@ -1,7 +1,7 @@
# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
MY_P=${P/_rc/-rc}
inherit cmake flag-o-matic toolchain-funcs xdg-utils
@@ -9,10 +9,11 @@ inherit cmake flag-o-matic toolchain-funcs xdg-utils
DESCRIPTION="A powerful cross-platform raw image processing program"
HOMEPAGE="https://www.rawtherapee.com/"
SRC_URI="https://rawtherapee.com/shared/source/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv x86"
IUSE="openmp tcmalloc"
RDEPEND="
@@ -40,7 +41,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
-S="${WORKDIR}/${MY_P}"
+PATCHES=( "${FILESDIR}"/rawtherapee-5.10-fix-linking-with-libjpeg-turbo.patch )
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
diff --git a/media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild b/media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild
deleted file mode 100644
index 199a2170f1e1..000000000000
--- a/media-gfx/rawtherapee/rawtherapee-5.9-r3.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_P=${P/_rc/-rc}
-inherit cmake flag-o-matic toolchain-funcs xdg-utils
-
-DESCRIPTION="A powerful cross-platform raw image processing program"
-HOMEPAGE="https://www.rawtherapee.com/"
-SRC_URI="https://rawtherapee.com/shared/source/${MY_P}.tar.xz"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="openmp tcmalloc"
-
-RDEPEND="
- dev-cpp/atkmm:0
- dev-cpp/cairomm:0
- dev-cpp/glibmm:2
- dev-cpp/gtkmm:3.0
- dev-cpp/pangomm:1.4
- dev-libs/expat
- dev-libs/glib:2
- dev-libs/libsigc++:2
- gnome-base/librsvg:2
- media-libs/lcms:2
- media-libs/lensfun
- media-libs/libcanberra[gtk3]
- media-libs/libiptcdata
- media-libs/libjpeg-turbo:=
- media-libs/libpng:0=
- media-libs/tiff:=
- sci-libs/fftw:3.0=
- sys-libs/zlib
- x11-libs/gtk+:3
- tcmalloc? ( dev-util/google-perftools )"
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-S="${WORKDIR}/${MY_P}"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_configure() {
- # upstream tested that "fast-math" give wrong results, so filter it
- # https://bugs.gentoo.org/show_bug.cgi?id=606896#c2
- filter-flags -ffast-math
- # -Ofast enable "fast-math" both in gcc and clang
- replace-flags -Ofast -O3
- # In case we add an ebuild for klt we can (i)use that one,
- # see http://cecas.clemson.edu/~stb/klt/
- local mycmakeargs=(
- -DOPTION_OMP=$(usex openmp)
- -DDOCDIR=/usr/share/doc/${PF}
- -DCREDITSDIR=/usr/share/${PN}
- -DLICENCEDIR=/usr/share/${PN}
- -DCACHE_NAME_SUFFIX=""
- -DWITH_SYSTEM_KLT="off"
- -DENABLE_TCMALLOC=$(usex tcmalloc)
- )
- cmake_src_configure
-}
-
-pkg_postinst() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_desktop_database_update
-}
diff --git a/media-gfx/recoverjpeg/Manifest b/media-gfx/recoverjpeg/Manifest
index c22bf78839fa..d7c6b001a23e 100644
--- a/media-gfx/recoverjpeg/Manifest
+++ b/media-gfx/recoverjpeg/Manifest
@@ -1 +1,2 @@
DIST recoverjpeg-2.2.3.tar.gz 91672 BLAKE2B bb324b7810b5aa3103ad0a9a67df9f855ea1a479b9b9651cb4b7d1a4c511a87e8fd891664d76049b450b5077355fb718489904d3d7daaca3865a451b41980f4f SHA512 67f923193c9b012302ad4e374141803992bfa4e4ac4c2384c8d44df29927c06a5224caefc936e30cef3fe1ca6dcf9f3544fc5171e4f76d17a83df974d0253c23
+DIST recoverjpeg-2.6.3.tar.gz 128243 BLAKE2B 5ed55959fc69150ee386e18e3519a21520e6be63a8e9ac90b27ce5bda5c78c6b4d23c218119d7822d295d7c55709d4e2e96125f1b9081ba253b49d8f117ba760 SHA512 2ad016d337b965ddad38117d82ccc3b41b9f38afa20509c4fa1ca503ad10d009ffb8d21287a19d76c5f0eaf11da1986d5a417b762a4813db164f9198b2aae51b
diff --git a/media-gfx/recoverjpeg/metadata.xml b/media-gfx/recoverjpeg/metadata.xml
index 85e4ed814fa2..8127aa58dc3b 100644
--- a/media-gfx/recoverjpeg/metadata.xml
+++ b/media-gfx/recoverjpeg/metadata.xml
@@ -2,4 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">samueltardieu/recoverjpeg</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/media-gfx/recoverjpeg/recoverjpeg-2.6.3.ebuild b/media-gfx/recoverjpeg/recoverjpeg-2.6.3.ebuild
new file mode 100644
index 000000000000..4dc456b28b63
--- /dev/null
+++ b/media-gfx/recoverjpeg/recoverjpeg-2.6.3.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Recover JPEG pictures from a possibly corrupted disk image"
+HOMEPAGE="https://rfc1149.net/devel/recoverjpeg.html
+ https://github.com/samueltardieu/recoverjpeg"
+SRC_URI="https://rfc1149.net/download/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="media-gfx/exif
+ virtual/imagemagick-tools"
+RDEPEND="${DEPEND}"
diff --git a/media-gfx/renderdoc/Manifest b/media-gfx/renderdoc/Manifest
index da5b3bd3a16c..a78b49cde398 100644
--- a/media-gfx/renderdoc/Manifest
+++ b/media-gfx/renderdoc/Manifest
@@ -1,7 +1,7 @@
-DIST renderdoc-1.27.tar.gz 47445907 BLAKE2B 58be926cb1282fe5bb2ba195cf71fabd9a5fb5562b5d51a600a98818c8f8bbbd576d8e9c331d3f107cb5db427cd35d242fd3f2f28385a47817fc805f26c47bb4 SHA512 1a6fb0d1942ec403ae1393d6121727aebe6b1eef42e795b03c0e0281bd9ca52fa30b28889a9fe80186a41a1dfbc79f38789b47296bc9b5ba185a19bddd47006f
-DIST renderdoc-1.27.tar.gz.asc 833 BLAKE2B fdfbd1ce367e9757e080e1263651444cd4001fe3d8580672a476923e2cf56b030b568c90566f258b1fd485c15c9d6c5a0b91cfb2c72c831677aa088acb9d4c15 SHA512 a74517747bf19a16d8db241a795e16d1213c745d3ff29236844433937202c91da1e580daac6ec7a54322b215163b0ebf492bef9b77eb603720503e4d3a4849df
-DIST renderdoc-1.29.tar.gz 50717466 BLAKE2B 492b32140c8ad1ab3e753158cfede64ea0b580a2df03094aeeff2d4eac659fbedc62971f65d3fe024e0282de39d5f122b512be2fc6a28ac7abf794b58f116322 SHA512 cbb6a2bd4a7d0c4347296f0e6f49d90b40ba11949e1bc5d777104f067c70999c5b124c44eb180a37363331832afb890f7a83fac521d306dd99cdab92b0d09106
-DIST renderdoc-1.29.tar.gz.asc 833 BLAKE2B b8fe64653153ed09b9e03eb255747d8476f6a6badea0bd834808d4e982750b627dc736b71ddacb96ac82e0136500cdb6c54dc4e7ab49529b2044b8e6512a1822 SHA512 ed7b12376e189df421ba69e6b1c14790045491195bdf1197c7c7a6fdc20d72046ae441d057a01e283a7e2ff85b4b341ec6bf45a28e8b04a9f48b441b42699cfd
DIST renderdoc-1.30.tar.gz 50938458 BLAKE2B 2e9364a8eabca64384e066709c98be8df0ed3c970c173074f9d38eea21d4dc31a50b862818879ccb9f32be8b839643c2d01ddda70d9da8c338c2fc305549eaa9 SHA512 33437f7420d6a79f2b02536ae63bc31537cfab83cdac2d44efdef377e93db7c0c15f2e46ecc67a6ea780f36b162f04d7a00ac3fe5d382fe761fa986664aceb60
DIST renderdoc-1.30.tar.gz.asc 833 BLAKE2B c829329806de5cfc672c2cc976596a5c126cd5f24bef189f6832de8f8f3721461e56688823d562e82eae89792c5fc4a500037cc97c2cce2b762b211a951c1d19 SHA512 f68a04aec4e304df0eba3dcba2876f99182fecff82b6b600d621e48c15bce42c07f20aebc811fd36aff5c04f550a51483af2b499051700a2c5bc936311a534de
+DIST renderdoc-1.31.tar.gz 51193992 BLAKE2B a51e2d380b61f462e29b97679b0c2014e26cf108e3d9bc70874fedfbee5a9f391e8693f54c76fae51b9459b70d2197c362b95054a54c5e2e889c8ce85ba74305 SHA512 c119fdd7f27ef4f617b5b5aad94267326f403802648d6ed0970651e48b2467729ce5768ea64c77cab337ff0bdde4c17eaa01028dfebb15568bb4500693cf6d6e
+DIST renderdoc-1.31.tar.gz.asc 833 BLAKE2B 82d360070eea9cf037b3ec7de899c58372e64540d2346cc209edb8cc3c321fd628954fbb1275b27366a2d91dd8604e9ebdd961cfd4dcab0abea1fb3bc793817b SHA512 878dd0a042aa8af97b7ba158fd88776cb2ea3ca662cfc95752d477727686342153db217302d9325f0f6bbd76628eb608820350981bf0d819812e57cea773f499
+DIST renderdoc-1.32.tar.gz 51324019 BLAKE2B 5f138bd1fa5dbf3689def983b996385b8670ad83c9da82b7978fc25c94687aac9f6f2f35b93e6af9c994064698b6931eb7b544f43d8f00ef0fc6836695ef1447 SHA512 2b8efde5d4684b4b66fb4c12bbc0cd15c04dc8df98fb9a93b78e1a36ef17b652b3b50043cb8400bbe6859a4e34c3ab8ba01b1a44ea379569ad7f265399d8afe4
+DIST renderdoc-1.32.tar.gz.asc 833 BLAKE2B f9769e654b03f73073e7a7c99a2148194879fab4a687ae44ed9096af881574b8ea945a8af02a4df019cb44808a1c65714146623aae8f879b396a8e4836bf09a8 SHA512 8c60ec37077fa6ef777585f4b55c15fe51c30ed6f6a852605e53abf982d6111210dccf031a4afba737bd7ce76004a44b7f52c6ed607e7525fe13ab7c03baae30
DIST swig-renderdoc-7.tar.gz 4006241 BLAKE2B 619f41239f4aef496264d61f44ae042cf80d3ff28491d452cf11ad07e898554c4a32df6119ee0e8e3de36e6bee61855358cd968ad01c9281976e24e9a6cac839 SHA512 5285a65924c069cfb9f73104ad8a95251badac4001293a1757b97ebead5953730c03289159741f82da4c5afe4f61f7c826b105eaf82df044ed2fa21810242c86
diff --git a/media-gfx/renderdoc/files/renderdoc-1.18-system-compress.patch b/media-gfx/renderdoc/files/renderdoc-1.18-system-compress.patch
deleted file mode 100644
index 5b9a7472349b..000000000000
--- a/media-gfx/renderdoc/files/renderdoc-1.18-system-compress.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 8f16c974fc8ec0b286d803490baa6e00a83615cf Mon Sep 17 00:00:00 2001
-From: Matthew Smith <matt@offtopica.uk>
-Date: Sun, 30 Jan 2022 18:07:51 +0000
-Subject: [PATCH 2/3] build: Use system compression libs
-
----
- CMakeLists.txt | 6 +++
- renderdoc/CMakeLists.txt | 48 +------------------
- renderdoc/core/replay_proxy.cpp | 2 +-
- .../driver/shaders/dxbc/dxbc_container.cpp | 2 +-
- renderdoc/serialise/lz4io.h | 2 +-
- 5 files changed, 10 insertions(+), 50 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cb0a2c7f6..0ee4fc629 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -419,6 +419,12 @@ elseif(UNIX)
- endif()
- endif()
-
-+find_package(PkgConfig REQUIRED)
-+find_package(miniz REQUIRED CONFIG)
-+
-+pkg_check_modules(lz4 REQUIRED IMPORTED_TARGET liblz4)
-+pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
-+
- # glslang package does not export a -config.cmake file.
- option(GLSLANG_TARGET_DIR "Absolute path to glslangTargets.cmake directory")
- include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
-diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
-index 927e95fb9..5908be6de 100644
---- a/renderdoc/CMakeLists.txt
-+++ b/renderdoc/CMakeLists.txt
-@@ -218,56 +218,10 @@ set(sources
- 3rdparty/pugixml/pugixml.cpp
- 3rdparty/pugixml/pugixml.hpp
- 3rdparty/pugixml/pugiconfig.hpp
-- 3rdparty/lz4/lz4.c
-- 3rdparty/lz4/lz4.h
- 3rdparty/md5/md5.c
- 3rdparty/md5/md5.h
-- 3rdparty/miniz/miniz.c
-- 3rdparty/miniz/miniz.h
- 3rdparty/superluminal/superluminal.cpp
- 3rdparty/superluminal/superluminal.h
-- 3rdparty/zstd/bitstream.h
-- 3rdparty/zstd/compiler.h
-- 3rdparty/zstd/cpu.h
-- 3rdparty/zstd/debug.c
-- 3rdparty/zstd/debug.h
-- 3rdparty/zstd/entropy_common.c
-- 3rdparty/zstd/error_private.c
-- 3rdparty/zstd/error_private.h
-- 3rdparty/zstd/fse.h
-- 3rdparty/zstd/fse_compress.c
-- 3rdparty/zstd/fse_decompress.c
-- 3rdparty/zstd/hist.c
-- 3rdparty/zstd/hist.h
-- 3rdparty/zstd/huf.h
-- 3rdparty/zstd/huf_compress.c
-- 3rdparty/zstd/huf_decompress.c
-- 3rdparty/zstd/mem.h
-- 3rdparty/zstd/pool.c
-- 3rdparty/zstd/pool.h
-- 3rdparty/zstd/threading.c
-- 3rdparty/zstd/threading.h
-- 3rdparty/zstd/xxhash.c
-- 3rdparty/zstd/xxhash.h
-- 3rdparty/zstd/zstd.h
-- 3rdparty/zstd/zstd_common.c
-- 3rdparty/zstd/zstd_compress.c
-- 3rdparty/zstd/zstd_compress_internal.h
-- 3rdparty/zstd/zstd_decompress.c
-- 3rdparty/zstd/zstd_double_fast.c
-- 3rdparty/zstd/zstd_double_fast.h
-- 3rdparty/zstd/zstd_errors.h
-- 3rdparty/zstd/zstd_fast.c
-- 3rdparty/zstd/zstd_fast.h
-- 3rdparty/zstd/zstd_internal.h
-- 3rdparty/zstd/zstd_lazy.c
-- 3rdparty/zstd/zstd_lazy.h
-- 3rdparty/zstd/zstd_ldm.c
-- 3rdparty/zstd/zstd_ldm.h
-- 3rdparty/zstd/zstd_opt.c
-- 3rdparty/zstd/zstd_opt.h
-- 3rdparty/zstd/zstdmt_compress.c
-- 3rdparty/zstd/zstdmt_compress.h
- 3rdparty/stb/stb_image.h
- 3rdparty/stb/stb_image_write.h
- 3rdparty/stb/stb_image_resize.h
-@@ -580,7 +534,7 @@ endif()
- add_library(renderdoc SHARED ${renderdoc_objects})
- target_compile_definitions(renderdoc ${RDOC_DEFINITIONS})
- target_include_directories(renderdoc ${RDOC_INCLUDES})
--target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang SPIRV)
-+target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang miniz::miniz PkgConfig::lz4 PkgConfig::zstd SPIRV)
-
- add_dependencies(renderdoc renderdoc_libentry)
-
-diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp
-index dea1e86cf..c9362e797 100644
---- a/renderdoc/core/replay_proxy.cpp
-+++ b/renderdoc/core/replay_proxy.cpp
-@@ -25,7 +25,7 @@
-
- #include "replay_proxy.h"
- #include <list>
--#include "lz4/lz4.h"
-+#include <lz4.h>
- #include "replay/dummy_driver.h"
- #include "serialise/lz4io.h"
-
-diff --git a/renderdoc/driver/shaders/dxbc/dxbc_container.cpp b/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
-index ede1fdeb7..0c8fd4dfe 100644
---- a/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
-+++ b/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
-@@ -29,7 +29,7 @@
- #include "common/common.h"
- #include "core/settings.h"
- #include "driver/shaders/dxil/dxil_bytecode.h"
--#include "lz4/lz4.h"
-+#include <lz4.h>
- #include "md5/md5.h"
- #include "serialise/serialiser.h"
- #include "strings/string_utils.h"
-diff --git a/renderdoc/serialise/lz4io.h b/renderdoc/serialise/lz4io.h
-index 199fbbbc1..80fdf94f2 100644
---- a/renderdoc/serialise/lz4io.h
-+++ b/renderdoc/serialise/lz4io.h
-@@ -24,7 +24,7 @@
-
- #pragma once
-
--#include "lz4/lz4.h"
-+#include <lz4.h>
- #include "streamio.h"
-
- class LZ4Compressor : public Compressor
---
-2.35.1
-
diff --git a/media-gfx/renderdoc/files/renderdoc-1.22-r1-system-glslang.patch b/media-gfx/renderdoc/files/renderdoc-1.22-r1-system-glslang.patch
deleted file mode 100644
index 7b5b88a53625..000000000000
--- a/media-gfx/renderdoc/files/renderdoc-1.22-r1-system-glslang.patch
+++ /dev/null
@@ -1,215 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 857c848b9..0423b3e3c 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -448,6 +448,17 @@ elseif(UNIX)
- endif()
- endif()
-
-+# glslang package does not export a -config.cmake file.
-+option(GLSLANG_TARGET_DIR "Absolute path to glslangTargets.cmake directory")
-+include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
-+include("${GLSLANG_TARGET_DIR}/OGLCompilerTargets.cmake")
-+include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
-+include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
-+include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
-+if(NOT TARGET glslang OR NOT TARGET SPIRV)
-+ message(FATAL_ERROR "glslang or SPIRV target not found")
-+endif()
-+
- add_subdirectory(renderdoc)
-
- # these variables are handled within the CMakeLists.txt in qrenderdoc,
-diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
-index a26438d76..9ee043959 100644
---- a/renderdoc/CMakeLists.txt
-+++ b/renderdoc/CMakeLists.txt
-@@ -601,7 +601,7 @@ endif()
- add_library(renderdoc SHARED ${renderdoc_objects})
- target_compile_definitions(renderdoc ${RDOC_DEFINITIONS})
- target_include_directories(renderdoc ${RDOC_INCLUDES})
--target_link_libraries(renderdoc ${RDOC_LIBRARIES})
-+target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang SPIRV)
-
- add_dependencies(renderdoc renderdoc_libentry)
-
-diff --git a/renderdoc/data/glsl_shaders.cpp b/renderdoc/data/glsl_shaders.cpp
-index dd79c1f89..5295fb05e 100644
---- a/renderdoc/data/glsl_shaders.cpp
-+++ b/renderdoc/data/glsl_shaders.cpp
-@@ -26,7 +26,7 @@
- #include "common/common.h"
- #include "common/formatting.h"
- #include "driver/shaders/spirv/glslang_compile.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include <glslang/Public/ShaderLang.h>
- #include "os/os_specific.h"
-
- #define GLSL_HEADERS(HEADER) \
-diff --git a/renderdoc/driver/gl/gl_shader_refl.cpp b/renderdoc/driver/gl/gl_shader_refl.cpp
-index dfd871f32..57b5aeca6 100644
---- a/renderdoc/driver/gl/gl_shader_refl.cpp
-+++ b/renderdoc/driver/gl/gl_shader_refl.cpp
-@@ -26,7 +26,7 @@
- #include <algorithm>
- #include <functional>
- #include "driver/shaders/spirv/glslang_compile.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include <glslang/Public/ShaderLang.h>
- #include "gl_driver.h"
-
- template <>
-diff --git a/renderdoc/driver/shaders/spirv/CMakeLists.txt b/renderdoc/driver/shaders/spirv/CMakeLists.txt
-index e5f2f4113..79525b5f6 100644
---- a/renderdoc/driver/shaders/spirv/CMakeLists.txt
-+++ b/renderdoc/driver/shaders/spirv/CMakeLists.txt
-@@ -1,91 +1,3 @@
--set(glslang_dir ${RDOC_SOURCE_DIR}/3rdparty/glslang)
--set(glslang_sources
-- ${glslang_dir}/OGLCompilersDLL/InitializeDll.cpp
-- ${glslang_dir}/OGLCompilersDLL/InitializeDll.h
-- ${glslang_dir}/SPIRV/GlslangToSpv.cpp
-- ${glslang_dir}/SPIRV/GlslangToSpv.h
-- ${glslang_dir}/SPIRV/GLSL.std.450.h
-- ${glslang_dir}/SPIRV/GLSL.ext.AMD.h
-- ${glslang_dir}/SPIRV/GLSL.ext.EXT.h
-- ${glslang_dir}/SPIRV/GLSL.ext.KHR.h
-- ${glslang_dir}/SPIRV/GLSL.ext.NV.h
-- ${glslang_dir}/SPIRV/hex_float.h
-- ${glslang_dir}/SPIRV/InReadableOrder.cpp
-- ${glslang_dir}/SPIRV/Logger.cpp
-- ${glslang_dir}/SPIRV/Logger.h
-- ${glslang_dir}/SPIRV/SpvBuilder.cpp
-- ${glslang_dir}/SPIRV/SpvBuilder.h
-- ${glslang_dir}/SPIRV/SpvTools.cpp
-- ${glslang_dir}/SPIRV/SpvTools.h
-- ${glslang_dir}/SPIRV/SpvPostProcess.cpp
-- ${glslang_dir}/SPIRV/spvIR.h
-- ${glslang_dir}/glslang/GenericCodeGen/CodeGen.cpp
-- ${glslang_dir}/glslang/GenericCodeGen/Link.cpp
-- ${glslang_dir}/glslang/Include/arrays.h
-- ${glslang_dir}/glslang/Include/BaseTypes.h
-- ${glslang_dir}/glslang/Include/Common.h
-- ${glslang_dir}/glslang/Include/ConstantUnion.h
-- ${glslang_dir}/glslang/Include/InfoSink.h
-- ${glslang_dir}/glslang/Include/InitializeGlobals.h
-- ${glslang_dir}/glslang/Include/intermediate.h
-- ${glslang_dir}/glslang/Include/PoolAlloc.h
-- ${glslang_dir}/glslang/Include/ResourceLimits.h
-- ${glslang_dir}/glslang/Include/revision.h
-- ${glslang_dir}/glslang/Include/ShHandle.h
-- ${glslang_dir}/glslang/Include/Types.h
-- ${glslang_dir}/glslang/MachineIndependent/Constant.cpp
-- ${glslang_dir}/glslang/MachineIndependent/glslang_tab.cpp
-- ${glslang_dir}/glslang/MachineIndependent/glslang_tab.cpp.h
-- ${glslang_dir}/glslang/MachineIndependent/gl_types.h
-- ${glslang_dir}/glslang/MachineIndependent/iomapper.cpp
-- ${glslang_dir}/glslang/MachineIndependent/iomapper.h
-- ${glslang_dir}/glslang/MachineIndependent/gl_types.h
-- ${glslang_dir}/glslang/MachineIndependent/InfoSink.cpp
-- ${glslang_dir}/glslang/MachineIndependent/Initialize.cpp
-- ${glslang_dir}/glslang/MachineIndependent/Initialize.h
-- ${glslang_dir}/glslang/MachineIndependent/Intermediate.cpp
-- ${glslang_dir}/glslang/MachineIndependent/intermOut.cpp
-- ${glslang_dir}/glslang/MachineIndependent/IntermTraverse.cpp
-- ${glslang_dir}/glslang/MachineIndependent/limits.cpp
-- ${glslang_dir}/glslang/MachineIndependent/linkValidate.cpp
-- ${glslang_dir}/glslang/MachineIndependent/LiveTraverser.h
-- ${glslang_dir}/glslang/MachineIndependent/localintermediate.h
-- ${glslang_dir}/glslang/MachineIndependent/parseConst.cpp
-- ${glslang_dir}/glslang/MachineIndependent/ParseContextBase.cpp
-- ${glslang_dir}/glslang/MachineIndependent/ParseHelper.cpp
-- ${glslang_dir}/glslang/MachineIndependent/ParseHelper.h
-- ${glslang_dir}/glslang/MachineIndependent/PoolAlloc.cpp
-- ${glslang_dir}/glslang/MachineIndependent/propagateNoContraction.cpp
-- ${glslang_dir}/glslang/MachineIndependent/propagateNoContraction.h
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpAtom.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpContext.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpContext.h
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/Pp.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpScanner.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpTokens.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpTokens.h
-- ${glslang_dir}/glslang/MachineIndependent/reflection.cpp
-- ${glslang_dir}/glslang/MachineIndependent/reflection.h
-- ${glslang_dir}/glslang/MachineIndependent/RemoveTree.cpp
-- ${glslang_dir}/glslang/MachineIndependent/RemoveTree.h
-- ${glslang_dir}/glslang/MachineIndependent/ScanContext.h
-- ${glslang_dir}/glslang/MachineIndependent/Scan.cpp
-- ${glslang_dir}/glslang/MachineIndependent/Scan.h
-- ${glslang_dir}/glslang/MachineIndependent/ShaderLang.cpp
-- ${glslang_dir}/glslang/MachineIndependent/SymbolTable.cpp
-- ${glslang_dir}/glslang/MachineIndependent/SymbolTable.h
-- ${glslang_dir}/glslang/MachineIndependent/Versions.cpp
-- ${glslang_dir}/glslang/MachineIndependent/Versions.h
-- ${glslang_dir}/glslang/MachineIndependent/attribute.cpp
-- ${glslang_dir}/glslang/MachineIndependent/attribute.h
-- ${glslang_dir}/glslang/OSDependent/osinclude.h
-- ${glslang_dir}/glslang/Public/ShaderLang.h)
--
--if(UNIX)
-- list(APPEND glslang_sources
-- ${glslang_dir}/glslang/OSDependent/Unix/ossource.cpp)
--endif()
--
- set(sources
- glslang_compile.cpp
- glslang_compile.h
-@@ -108,8 +20,7 @@ set(sources
- spirv_processor.h
- spirv_disassemble.cpp
- spirv_stringise.cpp
-- var_dispatch_helpers.h
-- ${glslang_sources})
-+ var_dispatch_helpers.h)
-
- add_definitions(-DAMD_EXTENSIONS)
- add_definitions(-DNV_EXTENSIONS)
-diff --git a/renderdoc/driver/shaders/spirv/glslang_compile.cpp b/renderdoc/driver/shaders/spirv/glslang_compile.cpp
-index e2f1f2df8..fc0adab99 100644
---- a/renderdoc/driver/shaders/spirv/glslang_compile.cpp
-+++ b/renderdoc/driver/shaders/spirv/glslang_compile.cpp
-@@ -29,8 +29,8 @@
- #undef min
- #undef max
-
--#include "glslang/glslang/Include/Types.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include <glslang/Include/Types.h>
-+#include <glslang/Public/ShaderLang.h>
-
- static bool glslang_inited = false;
- rdcarray<glslang::TShader *> *allocatedShaders = NULL;
-@@ -129,7 +129,16 @@ static TBuiltInResource DefaultResources = {
- /*.maxTaskWorkGroupSizeY_NV =*/1,
- /*.maxTaskWorkGroupSizeZ_NV =*/1,
- /*.maxMeshViewCountNV =*/4,
--
-+ /*.maxMeshOutputVerticesEXT = */ 256,
-+ /*.maxMeshOutputPrimitivesEXT = */ 256,
-+ /*.maxMeshWorkGroupSizeX_EXT = */ 128,
-+ /*.maxMeshWorkGroupSizeY_EXT = */ 128,
-+ /*.maxMeshWorkGroupSizeZ_EXT = */ 128,
-+ /*.maxTaskWorkGroupSizeX_EXT = */ 128,
-+ /*.maxTaskWorkGroupSizeY_EXT = */ 128,
-+ /*.maxTaskWorkGroupSizeZ_EXT = */ 128,
-+ /*.maxMeshViewCountEXT = */ 4,
-+ /*.maxDualSourceDrawBuffersEXT =*/1,
- /*.limits*/
- {
- /*.limits.nonInductiveForLoops =*/1,
-diff --git a/renderdoc/driver/shaders/spirv/spirv_compile.cpp b/renderdoc/driver/shaders/spirv/spirv_compile.cpp
-index 8fbf2f16a..49bd322f4 100644
---- a/renderdoc/driver/shaders/spirv/spirv_compile.cpp
-+++ b/renderdoc/driver/shaders/spirv/spirv_compile.cpp
-@@ -31,8 +31,8 @@
- #undef min
- #undef max
-
--#include "glslang/SPIRV/GlslangToSpv.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include <glslang/SPIRV/GlslangToSpv.h>
-+#include <glslang/Public/ShaderLang.h>
-
- rdcstr rdcspv::Compile(const rdcspv::CompilationSettings &settings, const rdcarray<rdcstr> &sources,
- rdcarray<uint32_t> &spirv)
diff --git a/media-gfx/renderdoc/files/renderdoc-1.29-r2-system-compress.patch b/media-gfx/renderdoc/files/renderdoc-1.29-r2-system-compress.patch
deleted file mode 100644
index 8f793562bcc7..000000000000
--- a/media-gfx/renderdoc/files/renderdoc-1.29-r2-system-compress.patch
+++ /dev/null
@@ -1,144 +0,0 @@
-From 8f16c974fc8ec0b286d803490baa6e00a83615cf Mon Sep 17 00:00:00 2001
-From: Matthew Smith <matt@offtopica.uk>
-Date: Sun, 30 Jan 2022 18:07:51 +0000
-Subject: [PATCH 2/3] build: Use system compression libs
-
----
- CMakeLists.txt | 6 +++
- renderdoc/CMakeLists.txt | 48 +------------------
- renderdoc/core/replay_proxy.cpp | 2 +-
- .../driver/shaders/dxbc/dxbc_container.cpp | 2 +-
- renderdoc/serialise/lz4io.h | 2 +-
- 5 files changed, 10 insertions(+), 50 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index cb0a2c7f6..0ee4fc629 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -419,6 +419,12 @@ elseif(UNIX)
- endif()
- endif()
-
-+find_package(PkgConfig REQUIRED)
-+find_package(miniz REQUIRED CONFIG)
-+
-+pkg_check_modules(lz4 REQUIRED IMPORTED_TARGET liblz4)
-+pkg_check_modules(zstd REQUIRED IMPORTED_TARGET libzstd)
-+
- # glslang package does not export a -config.cmake file.
- option(GLSLANG_TARGET_DIR "Absolute path to glslangTargets.cmake directory")
- include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
-diff --git a/renderdoc/CMakeLists.txt b/renderdoc/CMakeLists.txt
-index 927e95fb9..5908be6de 100644
---- a/renderdoc/CMakeLists.txt
-+++ b/renderdoc/CMakeLists.txt
-@@ -218,56 +218,10 @@ set(sources
- 3rdparty/pugixml/pugixml.cpp
- 3rdparty/pugixml/pugixml.hpp
- 3rdparty/pugixml/pugiconfig.hpp
-- 3rdparty/lz4/lz4.c
-- 3rdparty/lz4/lz4.h
- 3rdparty/md5/md5.c
- 3rdparty/md5/md5.h
-- 3rdparty/miniz/miniz.c
-- 3rdparty/miniz/miniz.h
- 3rdparty/superluminal/superluminal.cpp
- 3rdparty/superluminal/superluminal.h
-- 3rdparty/zstd/bitstream.h
-- 3rdparty/zstd/compiler.h
-- 3rdparty/zstd/cpu.h
-- 3rdparty/zstd/debug.c
-- 3rdparty/zstd/debug.h
-- 3rdparty/zstd/entropy_common.c
-- 3rdparty/zstd/error_private.c
-- 3rdparty/zstd/error_private.h
-- 3rdparty/zstd/fse.h
-- 3rdparty/zstd/fse_compress.c
-- 3rdparty/zstd/fse_decompress.c
-- 3rdparty/zstd/hist.c
-- 3rdparty/zstd/hist.h
-- 3rdparty/zstd/huf.h
-- 3rdparty/zstd/huf_compress.c
-- 3rdparty/zstd/huf_decompress.c
-- 3rdparty/zstd/mem.h
-- 3rdparty/zstd/pool.c
-- 3rdparty/zstd/pool.h
-- 3rdparty/zstd/threading.c
-- 3rdparty/zstd/threading.h
-- 3rdparty/zstd/xxhash.c
-- 3rdparty/zstd/xxhash.h
-- 3rdparty/zstd/zstd.h
-- 3rdparty/zstd/zstd_common.c
-- 3rdparty/zstd/zstd_compress.c
-- 3rdparty/zstd/zstd_compress_internal.h
-- 3rdparty/zstd/zstd_decompress.c
-- 3rdparty/zstd/zstd_double_fast.c
-- 3rdparty/zstd/zstd_double_fast.h
-- 3rdparty/zstd/zstd_errors.h
-- 3rdparty/zstd/zstd_fast.c
-- 3rdparty/zstd/zstd_fast.h
-- 3rdparty/zstd/zstd_internal.h
-- 3rdparty/zstd/zstd_lazy.c
-- 3rdparty/zstd/zstd_lazy.h
-- 3rdparty/zstd/zstd_ldm.c
-- 3rdparty/zstd/zstd_ldm.h
-- 3rdparty/zstd/zstd_opt.c
-- 3rdparty/zstd/zstd_opt.h
-- 3rdparty/zstd/zstdmt_compress.c
-- 3rdparty/zstd/zstdmt_compress.h
- 3rdparty/stb/stb_image.h
- 3rdparty/stb/stb_image_write.h
- 3rdparty/stb/stb_image_resize.h
-@@ -580,9 +534,9 @@ endif()
- add_library(renderdoc SHARED ${renderdoc_objects})
- target_compile_definitions(renderdoc ${RDOC_DEFINITIONS})
- target_include_directories(renderdoc ${RDOC_INCLUDES})
--target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang glslang-default-resource-limits SPIRV)
-+target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang glslang-default-resource-limits miniz::miniz PkgConfig::lz4 PkgConfig::zstd SPIRV)
- # Newer versions of glslang require C++17 for std::variant
- set_target_properties(renderdoc PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON)
-
- add_dependencies(renderdoc renderdoc_libentry)
-
-diff --git a/renderdoc/core/replay_proxy.cpp b/renderdoc/core/replay_proxy.cpp
-index dea1e86cf..c9362e797 100644
---- a/renderdoc/core/replay_proxy.cpp
-+++ b/renderdoc/core/replay_proxy.cpp
-@@ -25,7 +25,7 @@
-
- #include "replay_proxy.h"
- #include <list>
--#include "lz4/lz4.h"
-+#include <lz4.h>
- #include "replay/dummy_driver.h"
- #include "serialise/lz4io.h"
-
-diff --git a/renderdoc/driver/shaders/dxbc/dxbc_container.cpp b/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
-index ede1fdeb7..0c8fd4dfe 100644
---- a/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
-+++ b/renderdoc/driver/shaders/dxbc/dxbc_container.cpp
-@@ -29,7 +29,7 @@
- #include "common/common.h"
- #include "core/settings.h"
- #include "driver/shaders/dxil/dxil_bytecode.h"
--#include "lz4/lz4.h"
-+#include <lz4.h>
- #include "md5/md5.h"
- #include "serialise/serialiser.h"
- #include "strings/string_utils.h"
-diff --git a/renderdoc/serialise/lz4io.h b/renderdoc/serialise/lz4io.h
-index 199fbbbc1..80fdf94f2 100644
---- a/renderdoc/serialise/lz4io.h
-+++ b/renderdoc/serialise/lz4io.h
-@@ -24,7 +24,7 @@
-
- #pragma once
-
--#include "lz4/lz4.h"
-+#include <lz4.h>
- #include "streamio.h"
-
- class LZ4Compressor : public Compressor
---
-2.35.1
-
diff --git a/media-gfx/renderdoc/files/renderdoc-1.29-r2-system-glslang.patch b/media-gfx/renderdoc/files/renderdoc-1.29-r2-system-glslang.patch
deleted file mode 100644
index 287917feb549..000000000000
--- a/media-gfx/renderdoc/files/renderdoc-1.29-r2-system-glslang.patch
+++ /dev/null
@@ -1,268 +0,0 @@
-From d889c250f9e500c84f34533398e82aa9e5d5a0ae Mon Sep 17 00:00:00 2001
-From: Matthew Smith <matthew@gentoo.org>
-Date: Thu, 2 Nov 2023 18:43:42 +0000
-Subject: [PATCH] system glslang
-
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -383,7 +383,7 @@
- endif()
-
- if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fno-strict-aliasing")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
- if(ENABLE_GGP)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -gline-tables-only -fno-omit-frame-pointer")
-@@ -469,6 +469,17 @@ elseif(UNIX)
- endif()
- endif()
-
-+# glslang package does not export a -config.cmake file.
-+option(GLSLANG_TARGET_DIR "Absolute path to glslangTargets.cmake directory")
-+include("${GLSLANG_TARGET_DIR}/OSDependentTargets.cmake")
-+include("${GLSLANG_TARGET_DIR}/OGLCompilerTargets.cmake")
-+include("${GLSLANG_TARGET_DIR}/HLSLTargets.cmake")
-+include("${GLSLANG_TARGET_DIR}/glslangTargets.cmake")
-+include("${GLSLANG_TARGET_DIR}/SPIRVTargets.cmake")
-+if(NOT TARGET glslang OR NOT TARGET SPIRV)
-+ message(FATAL_ERROR "glslang or SPIRV target not found")
-+endif()
-+
- add_subdirectory(renderdoc)
-
- # these variables are handled within the CMakeLists.txt in qrenderdoc,
---- a/renderdoc/CMakeLists.txt
-+++ b/renderdoc/CMakeLists.txt
-@@ -604,7 +604,9 @@ endif()
- add_library(renderdoc SHARED ${renderdoc_objects})
- target_compile_definitions(renderdoc ${RDOC_DEFINITIONS})
- target_include_directories(renderdoc ${RDOC_INCLUDES})
--target_link_libraries(renderdoc ${RDOC_LIBRARIES})
-+target_link_libraries(renderdoc ${RDOC_LIBRARIES} glslang glslang-default-resource-limits SPIRV)
-+# Newer versions of glslang require C++17 for std::variant
-+set_target_properties(renderdoc PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED ON)
-
- add_dependencies(renderdoc renderdoc_libentry)
-
---- a/renderdoc/data/glsl_shaders.cpp
-+++ b/renderdoc/data/glsl_shaders.cpp
-@@ -26,8 +26,8 @@
- #include "common/common.h"
- #include "common/formatting.h"
- #include "driver/shaders/spirv/glslang_compile.h"
--#include "glslang/glslang/Public/ResourceLimits.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include <glslang/Public/ResourceLimits.h>
-+#include <glslang/Public/ShaderLang.h>
- #include "os/os_specific.h"
-
- #define GLSL_HEADERS(HEADER) \
---- a/renderdoc/driver/gl/gl_shader_refl.cpp
-+++ b/renderdoc/driver/gl/gl_shader_refl.cpp
-@@ -26,8 +26,8 @@
- #include <algorithm>
- #include <functional>
- #include "driver/shaders/spirv/glslang_compile.h"
--#include "glslang/glslang/Public/ResourceLimits.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include <glslang/Public/ResourceLimits.h>
-+#include <glslang/Public/ShaderLang.h>
- #include "gl_driver.h"
-
- template <>
---- a/renderdoc/driver/shaders/spirv/CMakeLists.txt
-+++ b/renderdoc/driver/shaders/spirv/CMakeLists.txt
-@@ -1,98 +1,3 @@
--set(glslang_dir ${RDOC_SOURCE_DIR}/3rdparty/glslang)
--set(glslang_sources
-- ${glslang_dir}/OGLCompilersDLL/InitializeDll.cpp
-- ${glslang_dir}/OGLCompilersDLL/InitializeDll.h
-- ${glslang_dir}/SPIRV/GlslangToSpv.cpp
-- ${glslang_dir}/SPIRV/GlslangToSpv.h
-- ${glslang_dir}/SPIRV/GLSL.std.450.h
-- ${glslang_dir}/SPIRV/GLSL.ext.ARM.h
-- ${glslang_dir}/SPIRV/GLSL.ext.AMD.h
-- ${glslang_dir}/SPIRV/GLSL.ext.EXT.h
-- ${glslang_dir}/SPIRV/GLSL.ext.KHR.h
-- ${glslang_dir}/SPIRV/GLSL.ext.NV.h
-- ${glslang_dir}/SPIRV/NonSemanticDebugPrintf.h
-- ${glslang_dir}/SPIRV/NonSemanticShaderDebugInfo100.h
-- ${glslang_dir}/SPIRV/hex_float.h
-- ${glslang_dir}/SPIRV/InReadableOrder.cpp
-- ${glslang_dir}/SPIRV/Logger.cpp
-- ${glslang_dir}/SPIRV/Logger.h
-- ${glslang_dir}/SPIRV/SpvBuilder.cpp
-- ${glslang_dir}/SPIRV/SpvBuilder.h
-- ${glslang_dir}/SPIRV/SpvTools.cpp
-- ${glslang_dir}/SPIRV/SpvTools.h
-- ${glslang_dir}/SPIRV/SpvPostProcess.cpp
-- ${glslang_dir}/SPIRV/spvIR.h
-- ${glslang_dir}/glslang/GenericCodeGen/CodeGen.cpp
-- ${glslang_dir}/glslang/GenericCodeGen/Link.cpp
-- ${glslang_dir}/glslang/Include/arrays.h
-- ${glslang_dir}/glslang/Include/BaseTypes.h
-- ${glslang_dir}/glslang/Include/Common.h
-- ${glslang_dir}/glslang/Include/ConstantUnion.h
-- ${glslang_dir}/glslang/Include/InfoSink.h
-- ${glslang_dir}/glslang/Include/InitializeGlobals.h
-- ${glslang_dir}/glslang/Include/intermediate.h
-- ${glslang_dir}/glslang/Include/PoolAlloc.h
-- ${glslang_dir}/glslang/Include/ResourceLimits.h
-- ${glslang_dir}/glslang/Include/SpirvIntrinsics.h
-- ${glslang_dir}/glslang/Include/revision.h
-- ${glslang_dir}/glslang/Include/ShHandle.h
-- ${glslang_dir}/glslang/Include/Types.h
-- ${glslang_dir}/glslang/MachineIndependent/Constant.cpp
-- ${glslang_dir}/glslang/MachineIndependent/glslang_tab.cpp
-- ${glslang_dir}/glslang/MachineIndependent/glslang_tab.cpp.h
-- ${glslang_dir}/glslang/MachineIndependent/gl_types.h
-- ${glslang_dir}/glslang/MachineIndependent/iomapper.cpp
-- ${glslang_dir}/glslang/MachineIndependent/iomapper.h
-- ${glslang_dir}/glslang/MachineIndependent/gl_types.h
-- ${glslang_dir}/glslang/MachineIndependent/InfoSink.cpp
-- ${glslang_dir}/glslang/MachineIndependent/Initialize.cpp
-- ${glslang_dir}/glslang/MachineIndependent/Initialize.h
-- ${glslang_dir}/glslang/MachineIndependent/Intermediate.cpp
-- ${glslang_dir}/glslang/MachineIndependent/intermOut.cpp
-- ${glslang_dir}/glslang/MachineIndependent/IntermTraverse.cpp
-- ${glslang_dir}/glslang/MachineIndependent/limits.cpp
-- ${glslang_dir}/glslang/MachineIndependent/linkValidate.cpp
-- ${glslang_dir}/glslang/MachineIndependent/LiveTraverser.h
-- ${glslang_dir}/glslang/MachineIndependent/localintermediate.h
-- ${glslang_dir}/glslang/MachineIndependent/parseConst.cpp
-- ${glslang_dir}/glslang/MachineIndependent/ParseContextBase.cpp
-- ${glslang_dir}/glslang/MachineIndependent/ParseHelper.cpp
-- ${glslang_dir}/glslang/MachineIndependent/ParseHelper.h
-- ${glslang_dir}/glslang/MachineIndependent/PoolAlloc.cpp
-- ${glslang_dir}/glslang/MachineIndependent/propagateNoContraction.cpp
-- ${glslang_dir}/glslang/MachineIndependent/propagateNoContraction.h
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpAtom.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpContext.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpContext.h
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/Pp.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpScanner.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpTokens.cpp
-- ${glslang_dir}/glslang/MachineIndependent/preprocessor/PpTokens.h
-- ${glslang_dir}/glslang/MachineIndependent/reflection.cpp
-- ${glslang_dir}/glslang/MachineIndependent/reflection.h
-- ${glslang_dir}/glslang/MachineIndependent/RemoveTree.cpp
-- ${glslang_dir}/glslang/MachineIndependent/RemoveTree.h
-- ${glslang_dir}/glslang/MachineIndependent/ScanContext.h
-- ${glslang_dir}/glslang/MachineIndependent/Scan.cpp
-- ${glslang_dir}/glslang/MachineIndependent/Scan.h
-- ${glslang_dir}/glslang/MachineIndependent/ShaderLang.cpp
-- ${glslang_dir}/glslang/MachineIndependent/SpirvIntrinsics.cpp
-- ${glslang_dir}/glslang/MachineIndependent/SymbolTable.cpp
-- ${glslang_dir}/glslang/MachineIndependent/SymbolTable.h
-- ${glslang_dir}/glslang/MachineIndependent/Versions.cpp
-- ${glslang_dir}/glslang/MachineIndependent/Versions.h
-- ${glslang_dir}/glslang/MachineIndependent/attribute.cpp
-- ${glslang_dir}/glslang/MachineIndependent/attribute.h
-- ${glslang_dir}/glslang/OSDependent/osinclude.h
-- ${glslang_dir}/glslang/ResourceLimits/ResourceLimits.cpp
-- ${glslang_dir}/glslang/Public/ShaderLang.h
-- ${glslang_dir}/glslang/Public/ResourceLimits.h)
--
--if(UNIX)
-- list(APPEND glslang_sources
-- ${glslang_dir}/glslang/OSDependent/Unix/ossource.cpp)
--endif()
--
- set(sources
- glslang_compile.cpp
- glslang_compile.h
-@@ -115,38 +20,20 @@ set(sources
- spirv_processor.h
- spirv_disassemble.cpp
- spirv_stringise.cpp
-- var_dispatch_helpers.h
-- ${glslang_sources})
-+ var_dispatch_helpers.h)
-
- add_definitions(-DAMD_EXTENSIONS)
- add_definitions(-DNV_EXTENSIONS)
-
--set_property(SOURCE ${glslang_sources}
-- PROPERTY COMPILE_FLAGS "-Wno-ignored-qualifiers -Wno-strict-aliasing -Wno-unreachable-code-break")
--
--# GCC 7.0 and above needs -Wno-implicit-fallthrough
--if(CMAKE_COMPILER_IS_GNUCXX AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.9)
-- set_property(SOURCE ${glslang_sources}
-- APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-implicit-fallthrough")
--endif()
--
- if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-- set_property(SOURCE ${glslang_sources}
-- APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-unknown-warning-option -Wno-shadow -Wno-shorten-64-to-32")
--
- set_property(SOURCE
- spirv_debug.cpp
- spirv_debug_glsl450.cpp
- spirv_debug_setup.cpp
- spirv_processor.cpp
- APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-shadow -Wno-shorten-64-to-32")
--
-- if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.9)
-- set_property(SOURCE ${glslang_dir}/glslang/MachineIndependent/iomapper.cpp
-- APPEND_STRING PROPERTY COMPILE_FLAGS " -Wno-deprecated-copy")
-- endif()
- endif()
-
- add_library(rdoc_spirv OBJECT ${sources})
- target_compile_definitions(rdoc_spirv ${RDOC_DEFINITIONS})
--target_include_directories(rdoc_spirv ${RDOC_INCLUDES} ${glslang_dir})
-+target_include_directories(rdoc_spirv ${RDOC_INCLUDES})
---- a/renderdoc/driver/shaders/spirv/glslang_compile.cpp
-+++ b/renderdoc/driver/shaders/spirv/glslang_compile.cpp
-@@ -29,9 +29,9 @@
- #undef min
- #undef max
-
--#include "glslang/glslang/Include/Types.h"
--#include "glslang/glslang/Public/ResourceLimits.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include <glslang/Public/ResourceLimits.h>
-+#include <glslang/Include/Types.h>
-+#include <glslang/Public/ShaderLang.h>
-
- static bool glslang_inited = false;
- rdcarray<glslang::TShader *> *allocatedShaders = NULL;
---- a/renderdoc/driver/shaders/spirv/spirv_compile.cpp
-+++ b/renderdoc/driver/shaders/spirv/spirv_compile.cpp
-@@ -31,9 +31,9 @@
- #undef min
- #undef max
-
--#include "glslang/SPIRV/GlslangToSpv.h"
--#include "glslang/glslang/Public/ResourceLimits.h"
--#include "glslang/glslang/Public/ShaderLang.h"
-+#include <glslang/Public/ResourceLimits.h>
-+#include <glslang/SPIRV/GlslangToSpv.h>
-+#include <glslang/Public/ShaderLang.h>
-
- rdcstr rdcspv::Compile(const rdcspv::CompilationSettings &settings, const rdcarray<rdcstr> &sources,
- rdcarray<uint32_t> &spirv)
---- a/qrenderdoc/Code/pyrenderdoc/CMakeLists.txt
-+++ b/qrenderdoc/Code/pyrenderdoc/CMakeLists.txt
-@@ -1,11 +1,3 @@
--# Build as C++14 for the python bindings template-fu
--if (CMAKE_VERSION VERSION_LESS "3.1")
-- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14")
--else ()
-- set (CMAKE_CXX_STANDARD 14)
-- set (CMAKE_CXX_STANDARD_REQUIRED ON)
--endif ()
--
- # include paths for qrenderdoc, the internal renderdoc API, and Python
- set(MODULE_INCLUDES
- PRIVATE ${CMAKE_SOURCE_DIR}/qrenderdoc
-@@ -82,3 +74,5 @@
- # Make sure we build after the wrappers are generated
- add_dependencies(_renderdoc swig-bindings)
- add_dependencies(_qrenderdoc swig-bindings)
-+
-+set_target_properties(_renderdoc _qrenderdoc PROPERTIES CXX_STANDARD 14 CXX_STANDARD_REQUIRED ON)
---
-2.42.0
-
diff --git a/media-gfx/renderdoc/files/renderdoc-1.31-lld.patch b/media-gfx/renderdoc/files/renderdoc-1.31-lld.patch
new file mode 100644
index 000000000000..4c19c97bf28e
--- /dev/null
+++ b/media-gfx/renderdoc/files/renderdoc-1.31-lld.patch
@@ -0,0 +1,23 @@
+Remove undefined symbols from version script.
+
+Bug: https://bugs.gentoo.org/925578
+--- a/renderdoc/renderdoc.version
++++ b/renderdoc/renderdoc.version
+@@ -6,17 +6,14 @@
+ egl[A-Z]*;
+ vk_icd*;
+ dlopen;
+- dlsym;
+ fork;
+ execl;
+ execlp;
+ execle;
+- execlpe;
+ execv;
+ execvp;
+ execve;
+ execvpe;
+- _exit;
+ RENDERDOC_*;
+ VK_LAYER_RENDERDOC_*;
+ local:
diff --git a/media-gfx/renderdoc/metadata.xml b/media-gfx/renderdoc/metadata.xml
index 81616f84b9f6..67b3bed149ce 100644
--- a/media-gfx/renderdoc/metadata.xml
+++ b/media-gfx/renderdoc/metadata.xml
@@ -6,9 +6,6 @@
<name>Matthew Smith</name>
</maintainer>
<use>
- <flag name="pyside2">
- Expose the QRenderdoc UI to Python scripting to allow for customisation
- </flag>
<flag name="qt5">
Build and install the qrenderdoc GUI
</flag>
diff --git a/media-gfx/renderdoc/renderdoc-1.27-r1.ebuild b/media-gfx/renderdoc/renderdoc-1.27-r1.ebuild
deleted file mode 100644
index e037efac7fef..000000000000
--- a/media-gfx/renderdoc/renderdoc-1.27-r1.ebuild
+++ /dev/null
@@ -1,202 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# The swig fork is required for compatibility with both provided and
-# 3rd-party Python scripts. Required patch was sent to upstream in
-# 2014: https://github.com/swig/swig/pull/251
-MY_SWIG_VER=7
-MY_SWIG=swig-${PN}-${MY_SWIG_VER}
-
-AUTOTOOLS_AUTO_DEPEND="no"
-DOCS_BUILDER="sphinx"
-DOCS_DIR="docs"
-PYTHON_COMPAT=( python3_{9..11} )
-inherit autotools cmake flag-o-matic optfeature python-single-r1 docs qmake-utils verify-sig xdg
-
-DESCRIPTION="A stand-alone graphics debugging tool"
-HOMEPAGE="https://renderdoc.org https://github.com/baldurk/renderdoc"
-SRC_URI="
- https://github.com/baldurk/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
- qt5? ( https://github.com/baldurk/swig/archive/${PN}-modified-${MY_SWIG_VER}.tar.gz -> ${MY_SWIG}.tar.gz )
- verify-sig? ( https://github.com/baldurk/renderdoc/releases/download/v${PV}/v${PV}.tar.gz.asc -> ${P}.tar.gz.asc )
-"
-
-# renderdoc: MIT
-# + cmdline: BSD (not compatible with upstream lib)
-# + farm fresh icons: CC-BY-3.0
-# + half: MIT (not compatible with system dev-libs/half)
-# + include-bin ZLIB (upstream doesn't exist anymore, maintained in tree)
-# + md5: public-domain
-# + plthook: BSD-2
-# + pugixml: MIT
-# + radeon gpu analyzer: MIT
-# + source code pro: OFL-1.1
-# + stb: public-domain
-# + tinyfiledialogs: ZLIB
-# + docs? ( sphinx.paramlinks: MIT )
-# swig: GPL-3+ BSD BSD-2
-LICENSE="BSD BSD-2 CC-BY-3.0 GPL-3+ MIT OFL-1.1 public-domain ZLIB"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="pyside2 qt5"
-REQUIRED_USE="doc? ( qt5 ) pyside2? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- app-arch/lz4:=
- app-arch/zstd:=
- dev-libs/miniz:=
- >=dev-util/glslang-1.3.231:= <dev-util/glslang-1.3.268
- x11-libs/libX11
- x11-libs/libxcb:=
- x11-libs/xcb-util-keysyms
- virtual/opengl
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- ')
- )
- qt5? (
- ${PYTHON_DEPS}
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5[ssl]
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- )
-"
-DEPEND="${RDEPEND}"
-# qtcore provides qmake, which is required to build the qrenderdoc gui.
-BDEPEND="
- x11-base/xorg-proto
- virtual/pkgconfig
- qt5? (
- ${AUTOTOOLS_DEPEND}
- ${PYTHON_DEPS}
- dev-libs/libpcre
- dev-qt/qtcore:5
- app-alternatives/yacc
- )
- verify-sig? ( sec-keys/openpgp-keys-baldurkarlsson )
-"
-
-PATCHES=(
- # The analytics seem very reasonable, and even without this patch
- # they are NOT sent before the user accepts. But default the
- # selection to off, just in case.
- "${FILESDIR}"/${PN}-1.18-analytics-off.patch
-
- # Only search for PySide2 if pyside2 USE flag is set.
- # Bug #833627
- "${FILESDIR}"/${PN}-1.18-conditional-pyside.patch
-
- # Pass CXXFLAGS and LDFLAGS through to qmake when qrenderdoc is
- # built.
- "${FILESDIR}"/${PN}-1.18-system-flags.patch
-
- # Needed to prevent sandbox violations during build.
- "${FILESDIR}"/${PN}-1.27-env-home.patch
-
- "${FILESDIR}"/${PN}-1.22-r1-system-glslang.patch
- "${FILESDIR}"/${PN}-1.18-system-compress.patch
-)
-
-DOCS=( util/LINUX_DIST_README )
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/baldurkarlsson.gpg
-
-pkg_setup() {
- use qt5 && python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if use verify-sig; then
- verify-sig_verify_detached "${DISTDIR}"/${P}.tar.gz{,.asc}
- fi
-
- # Do not unpack the swig sources here. CMake will do that if
- # required.
- unpack ${P}.tar.gz
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # Ensure that we use the system glslang headers instead of the
- # vendored copy.
- rm -r renderdoc/3rdparty/glslang || die 'rm vendored glslang failed'
-
- # Remove the calls to install the documentation files. Instead,
- # install them with einstalldocs.
- sed -i '/share\/doc\/renderdoc/d' \
- "${S}"/CMakeLists.txt "${S}"/qrenderdoc/CMakeLists.txt \
- || die 'sed remove doc install failed'
-
- # Assumes that the build directory is "${S}"/build, which it is not.
- sed -i "s|../build/lib|${BUILD_DIR}/lib|" \
- "${S}"/docs/conf.py \
- || die 'sed patch doc sys.path failed'
-
- # Bug #836235
- sed -i '/#include <stdarg/i #include <time.h>' \
- "${S}"/renderdoc/os/os_specific.h \
- || die 'sed include time.h failed'
-}
-
-src_configure() {
- local mycmakeargs=(
- # Build system does not know that this is a tagged release, as
- # we just have the tarball and not the git repository.
- -DBUILD_VERSION_STABLE=ON
-
- -DENABLE_EGL=ON
- -DENABLE_GL=ON
- -DENABLE_GLES=ON
- -DENABLE_PYRENDERDOC=$(usex qt5)
- -DENABLE_QRENDERDOC=$(usex qt5)
- -DENABLE_VULKAN=ON
-
- # Upstream says that this option is unsupported and should not
- # be used yet.
- -DENABLE_WAYLAND=OFF
-
- -DENABLE_XCB=ON
- -DENABLE_XLIB=ON
-
- # Path to glslang*.cmake.
- -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
-
- # renderdoc_capture.json is installed here
- -DVULKAN_LAYER_FOLDER="${EPREFIX}"/etc/vulkan/implicit_layer.d
- )
-
- use qt5 && mycmakeargs+=(
- -DPython3_EXECUTABLE="${PYTHON}"
- -DRENDERDOC_SWIG_PACKAGE="${DISTDIR}"/${MY_SWIG}.tar.gz
-
- # Needed after qtchooser removal, bug #836474.
- -DQMAKE_QT5_COMMAND="$(qt5_get_bindir)"/qmake
-
- -DQRENDERDOC_ENABLE_PYSIDE2=$(usex pyside2)
- )
-
- use pyside2 && mycmakeargs+=( -DPYTHON_CONFIG_SUFFIX=-${EPYTHON} )
-
- # Lots of type mismatch issues.
- filter-lto
-
- cmake_src_configure
-}
-
-src_compile() {
- cmake_src_compile
- docs_compile
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- optfeature "android remote contexts" dev-util/android-tools
- optfeature "vulkan contexts" media-libs/vulkan-loader
-}
diff --git a/media-gfx/renderdoc/renderdoc-1.29-r2.ebuild b/media-gfx/renderdoc/renderdoc-1.30-r2.ebuild
index 871af2fca8b3..474d3abb42fe 100644
--- a/media-gfx/renderdoc/renderdoc-1.29-r2.ebuild
+++ b/media-gfx/renderdoc/renderdoc-1.30-r2.ebuild
@@ -12,7 +12,7 @@ MY_SWIG=swig-${PN}-${MY_SWIG_VER}
AUTOTOOLS_AUTO_DEPEND="no"
DOCS_BUILDER="sphinx"
DOCS_DIR="docs"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit autotools cmake flag-o-matic optfeature python-single-r1 docs qmake-utils verify-sig xdg
DESCRIPTION="A stand-alone graphics debugging tool"
@@ -35,28 +35,23 @@ SRC_URI="
# + source code pro: OFL-1.1
# + stb: public-domain
# + tinyfiledialogs: ZLIB
+# + glslang: BSD
# + docs? ( sphinx.paramlinks: MIT )
# swig: GPL-3+ BSD BSD-2
LICENSE="BSD BSD-2 CC-BY-3.0 GPL-3+ MIT OFL-1.1 public-domain ZLIB"
SLOT="0"
-KEYWORDS="~amd64"
-IUSE="pyside2 qt5"
-REQUIRED_USE="doc? ( qt5 ) pyside2? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
+KEYWORDS="amd64"
+IUSE="qt5"
+REQUIRED_USE="doc? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
app-arch/lz4:=
app-arch/zstd:=
dev-libs/miniz:=
- >=dev-util/glslang-1.3.231:=
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/xcb-util-keysyms
virtual/opengl
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- ')
- )
qt5? (
${PYTHON_DEPS}
dev-qt/qtcore:5
@@ -99,8 +94,7 @@ PATCHES=(
# Needed to prevent sandbox violations during build.
"${FILESDIR}"/${PN}-1.27-env-home.patch
- "${FILESDIR}"/${PN}-1.29-r2-system-glslang.patch
- "${FILESDIR}"/${PN}-1.29-r2-system-compress.patch
+ "${FILESDIR}"/${PN}-1.30-r1-system-compress.patch
)
DOCS=( util/LINUX_DIST_README )
@@ -124,10 +118,6 @@ src_unpack() {
src_prepare() {
cmake_src_prepare
- # Ensure that we use the system glslang headers instead of the
- # vendored copy.
- rm -r renderdoc/3rdparty/glslang || die 'rm vendored glslang failed'
-
# Remove the calls to install the documentation files. Instead,
# install them with einstalldocs.
sed -i '/share\/doc\/renderdoc/d' \
@@ -160,14 +150,11 @@ src_configure() {
# Upstream says that this option is unsupported and should not
# be used yet.
- -DENABLE_WAYLAND=OFF
+ -DENABLE_UNSUPPORTED_EXPERIMENTAL_POSSIBLY_BROKEN_WAYLAND=OFF
-DENABLE_XCB=ON
-DENABLE_XLIB=ON
- # Path to glslang*.cmake.
- -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
-
# renderdoc_capture.json is installed here
-DVULKAN_LAYER_FOLDER="${EPREFIX}"/etc/vulkan/implicit_layer.d
)
@@ -179,11 +166,10 @@ src_configure() {
# Needed after qtchooser removal, bug #836474.
-DQMAKE_QT5_COMMAND="$(qt5_get_bindir)"/qmake
- -DQRENDERDOC_ENABLE_PYSIDE2=$(usex pyside2)
+ # Bug #926549
+ -DQRENDERDOC_ENABLE_PYSIDE2=OFF
)
- use pyside2 && mycmakeargs+=( -DPYTHON_CONFIG_SUFFIX=-${EPYTHON} )
-
# Lots of type mismatch issues.
filter-lto
diff --git a/media-gfx/renderdoc/renderdoc-1.30-r1.ebuild b/media-gfx/renderdoc/renderdoc-1.31.ebuild
index 4fcb8c509c33..c8d27b42b52d 100644
--- a/media-gfx/renderdoc/renderdoc-1.30-r1.ebuild
+++ b/media-gfx/renderdoc/renderdoc-1.31.ebuild
@@ -12,7 +12,7 @@ MY_SWIG=swig-${PN}-${MY_SWIG_VER}
AUTOTOOLS_AUTO_DEPEND="no"
DOCS_BUILDER="sphinx"
DOCS_DIR="docs"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit autotools cmake flag-o-matic optfeature python-single-r1 docs qmake-utils verify-sig xdg
DESCRIPTION="A stand-alone graphics debugging tool"
@@ -41,8 +41,8 @@ SRC_URI="
LICENSE="BSD BSD-2 CC-BY-3.0 GPL-3+ MIT OFL-1.1 public-domain ZLIB"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="pyside2 qt5"
-REQUIRED_USE="doc? ( qt5 ) pyside2? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
+IUSE="qt5"
+REQUIRED_USE="doc? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
app-arch/lz4:=
@@ -52,11 +52,6 @@ RDEPEND="
x11-libs/libxcb:=
x11-libs/xcb-util-keysyms
virtual/opengl
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- ')
- )
qt5? (
${PYTHON_DEPS}
dev-qt/qtcore:5
@@ -100,6 +95,9 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.27-env-home.patch
"${FILESDIR}"/${PN}-1.30-r1-system-compress.patch
+
+ # Bug #925578
+ "${FILESDIR}"/${PN}-1.31-lld.patch
)
DOCS=( util/LINUX_DIST_README )
@@ -171,11 +169,10 @@ src_configure() {
# Needed after qtchooser removal, bug #836474.
-DQMAKE_QT5_COMMAND="$(qt5_get_bindir)"/qmake
- -DQRENDERDOC_ENABLE_PYSIDE2=$(usex pyside2)
+ # Bug #926549
+ -DQRENDERDOC_ENABLE_PYSIDE2=OFF
)
- use pyside2 && mycmakeargs+=( -DPYTHON_CONFIG_SUFFIX=-${EPYTHON} )
-
# Lots of type mismatch issues.
filter-lto
diff --git a/media-gfx/renderdoc/renderdoc-1.30.ebuild b/media-gfx/renderdoc/renderdoc-1.32.ebuild
index 4456c5b0b386..c8d27b42b52d 100644
--- a/media-gfx/renderdoc/renderdoc-1.30.ebuild
+++ b/media-gfx/renderdoc/renderdoc-1.32.ebuild
@@ -12,7 +12,7 @@ MY_SWIG=swig-${PN}-${MY_SWIG_VER}
AUTOTOOLS_AUTO_DEPEND="no"
DOCS_BUILDER="sphinx"
DOCS_DIR="docs"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit autotools cmake flag-o-matic optfeature python-single-r1 docs qmake-utils verify-sig xdg
DESCRIPTION="A stand-alone graphics debugging tool"
@@ -35,28 +35,23 @@ SRC_URI="
# + source code pro: OFL-1.1
# + stb: public-domain
# + tinyfiledialogs: ZLIB
+# + glslang: BSD
# + docs? ( sphinx.paramlinks: MIT )
# swig: GPL-3+ BSD BSD-2
LICENSE="BSD BSD-2 CC-BY-3.0 GPL-3+ MIT OFL-1.1 public-domain ZLIB"
SLOT="0"
KEYWORDS="~amd64"
-IUSE="pyside2 qt5"
-REQUIRED_USE="doc? ( qt5 ) pyside2? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
+IUSE="qt5"
+REQUIRED_USE="doc? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
RDEPEND="
app-arch/lz4:=
app-arch/zstd:=
dev-libs/miniz:=
- >=dev-util/glslang-1.3.231:=
x11-libs/libX11
x11-libs/libxcb:=
x11-libs/xcb-util-keysyms
virtual/opengl
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- ')
- )
qt5? (
${PYTHON_DEPS}
dev-qt/qtcore:5
@@ -99,8 +94,10 @@ PATCHES=(
# Needed to prevent sandbox violations during build.
"${FILESDIR}"/${PN}-1.27-env-home.patch
- "${FILESDIR}"/${PN}-1.29-r2-system-glslang.patch
- "${FILESDIR}"/${PN}-1.29-r2-system-compress.patch
+ "${FILESDIR}"/${PN}-1.30-r1-system-compress.patch
+
+ # Bug #925578
+ "${FILESDIR}"/${PN}-1.31-lld.patch
)
DOCS=( util/LINUX_DIST_README )
@@ -124,10 +121,6 @@ src_unpack() {
src_prepare() {
cmake_src_prepare
- # Ensure that we use the system glslang headers instead of the
- # vendored copy.
- rm -r renderdoc/3rdparty/glslang || die 'rm vendored glslang failed'
-
# Remove the calls to install the documentation files. Instead,
# install them with einstalldocs.
sed -i '/share\/doc\/renderdoc/d' \
@@ -165,9 +158,6 @@ src_configure() {
-DENABLE_XCB=ON
-DENABLE_XLIB=ON
- # Path to glslang*.cmake.
- -DGLSLANG_TARGET_DIR="${ESYSROOT}"/usr/$(get_libdir)/cmake
-
# renderdoc_capture.json is installed here
-DVULKAN_LAYER_FOLDER="${EPREFIX}"/etc/vulkan/implicit_layer.d
)
@@ -179,11 +169,10 @@ src_configure() {
# Needed after qtchooser removal, bug #836474.
-DQMAKE_QT5_COMMAND="$(qt5_get_bindir)"/qmake
- -DQRENDERDOC_ENABLE_PYSIDE2=$(usex pyside2)
+ # Bug #926549
+ -DQRENDERDOC_ENABLE_PYSIDE2=OFF
)
- use pyside2 && mycmakeargs+=( -DPYTHON_CONFIG_SUFFIX=-${EPYTHON} )
-
# Lots of type mismatch issues.
filter-lto
diff --git a/media-gfx/ristretto/ristretto-0.13.0.ebuild b/media-gfx/ristretto/ristretto-0.13.0.ebuild
index 1c43651cc6d6..f62b7644ca14 100644
--- a/media-gfx/ristretto/ristretto-0.13.0.ebuild
+++ b/media-gfx/ristretto/ristretto-0.13.0.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
-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"
DEPEND="
>=dev-libs/glib-2.56:2
diff --git a/media-gfx/ristretto/ristretto-0.13.2.ebuild b/media-gfx/ristretto/ristretto-0.13.2.ebuild
index 947b3e2b0d7f..8f3e6b1aaad5 100644
--- a/media-gfx/ristretto/ristretto-0.13.2.ebuild
+++ b/media-gfx/ristretto/ristretto-0.13.2.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
LICENSE="GPL-2+"
SLOT="0"
-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"
DEPEND="
>=dev-libs/glib-2.56.0:2
diff --git a/media-gfx/rotoscope/rotoscope-0.2-r2.ebuild b/media-gfx/rotoscope/rotoscope-0.2-r2.ebuild
index 78b21e66e105..c822244c2d15 100644
--- a/media-gfx/rotoscope/rotoscope-0.2-r2.ebuild
+++ b/media-gfx/rotoscope/rotoscope-0.2-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DESCRIPTION="Graphics program that can be used to give photos a cartoon-like appearance"
HOMEPAGE="http://www.toonyphotos.com https://sourceforge.net/projects/rotoscope/"
-SRC_URI="mirror://sourceforge/${PN}/${PN}_${PV}.orig.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${PN}_${PV}.orig.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/sane-airscan/Manifest b/media-gfx/sane-airscan/Manifest
index 8f0c6165eac5..7ab733ee18c9 100644
--- a/media-gfx/sane-airscan/Manifest
+++ b/media-gfx/sane-airscan/Manifest
@@ -1 +1,2 @@
DIST sane-airscan-0.99.27.tar.gz 198418 BLAKE2B bcf2aff08feb90a65c10a4abaca67939874ad7c9376745b572f18ebfdaf7bff3e344d1379b00c73904a6892731a75f4632a90ea7c20f7cb4e30eab43413b829d SHA512 a35a92e26a4e3831f127e59bc520248abde8a7b304eb63ecf1d68092f51a8bc49bbc7503bead47ac84d0333d59ae0045d6d7a9f7b89d95f3ddfa2458f3781256
+DIST sane-airscan-0.99.29.tar.gz 211753 BLAKE2B 35f0df4d5df57d2651e6d0195046e703a5f4a49b8d50345d749b570892b0c865cf7b1ed7313fba27ce9586cededffd5d85ce211ca767b50f59fe752c2f869d4c SHA512 a75a3db66aa1c77508a946dc7647f322d0be9c8defc6b4b6fdf1015f5a81ea02209efb7aa2c5284813e257bc2b8727a430804385368c8c7b97df24d61adda483
diff --git a/media-gfx/sane-airscan/files/sane-airscan-0.99.27-c99-fixes.patch b/media-gfx/sane-airscan/files/sane-airscan-0.99.27-c99-fixes.patch
new file mode 100644
index 000000000000..6b4b07d4a9ac
--- /dev/null
+++ b/media-gfx/sane-airscan/files/sane-airscan-0.99.27-c99-fixes.patch
@@ -0,0 +1,61 @@
+From c042a6895fe6f663d4bcb8c27d1c7b34fbd68b48 Mon Sep 17 00:00:00 2001
+From: Alexander Pevzner <pzz@apevzner.com>
+Date: Sat, 2 Dec 2023 21:49:40 +0300
+Subject: [PATCH 1/2] Fixed missed #include <stdlib.h> (see #305)
+
+This code used to compile on everywhere, but explicit #include <stdlib.h>
+was actually missed. Seems that sometimes it can cause problems.
+---
+ airscan-xml.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/airscan-xml.c b/airscan-xml.c
+index f376f31..5071ca9 100644
+--- a/airscan-xml.c
++++ b/airscan-xml.c
+@@ -9,6 +9,7 @@
+ #include "airscan.h"
+
+ #include <fnmatch.h>
++#include <stdlib.h>
+
+ #include <libxml/parser.h>
+ #include <libxml/tree.h>
+--
+2.43.0
+
+From 144e7d4187c73566ffc2780ac91ab7e1826826e0 Mon Sep 17 00:00:00 2001
+From: Alexander Pevzner <pzz@apevzner.com>
+Date: Sat, 2 Dec 2023 22:29:55 +0300
+Subject: [PATCH 2/2] Fixed build with recent versions of libxml2 (fixes #305)
+
+libxml2 recently changed a prototype of the xmlStructuredErrorFunc callback,
+adding const modifier to the second parameter.
+
+Adding an explicit cast seems to fix the problem (but I will not be surprised, if
+this fix will not work equally well on all distros).
+
+Found for a first time and fixed on Arch linux on about 2 Dec 2023 (Arch is rolling
+release, so there is no explicit release number)
+---
+ airscan-xml.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/airscan-xml.c b/airscan-xml.c
+index 5071ca9..10f290c 100644
+--- a/airscan-xml.c
++++ b/airscan-xml.c
+@@ -124,7 +124,7 @@ xml_rd_parse (xmlDoc **doc, const char *xml_text, size_t xml_len)
+ goto DONE;
+ }
+
+- ctxt->sax->serror = xml_rd_error_callback;
++ ctxt->sax->serror = (xmlStructuredErrorFunc) xml_rd_error_callback;
+
+ /* Parse the document */
+ if (xmlCtxtResetPush(ctxt, xml_text, xml_len, NULL, NULL)) {
+--
+2.43.0
+
+
+
diff --git a/media-gfx/sane-airscan/sane-airscan-0.99.27-r1.ebuild b/media-gfx/sane-airscan/sane-airscan-0.99.27-r1.ebuild
new file mode 100644
index 000000000000..1b8168dae0cd
--- /dev/null
+++ b/media-gfx/sane-airscan/sane-airscan-0.99.27-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="SANE backend for AirScan (eSCL) and WSD document scanners"
+HOMEPAGE="https://github.com/alexpevzner/sane-airscan"
+SRC_URI="https://github.com/alexpevzner/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ net-dns/avahi
+ net-libs/gnutls
+ dev-libs/libxml2
+ media-libs/libjpeg-turbo
+ media-libs/libpng
+"
+RDEPEND="${DEPEND}
+ media-gfx/sane-backends
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.99.27-makefile-fixes.patch"
+ "${FILESDIR}/${PN}-0.99.27-c99-fixes.patch"
+)
+
+src_compile() {
+ emake \
+ CFLAGS="${CFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" COMPRESS= STRIP= install
+}
diff --git a/media-gfx/sane-airscan/sane-airscan-0.99.29.ebuild b/media-gfx/sane-airscan/sane-airscan-0.99.29.ebuild
new file mode 100644
index 000000000000..786dff0320a0
--- /dev/null
+++ b/media-gfx/sane-airscan/sane-airscan-0.99.29.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="SANE backend for AirScan (eSCL) and WSD document scanners"
+HOMEPAGE="https://github.com/alexpevzner/sane-airscan"
+SRC_URI="https://github.com/alexpevzner/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ dev-libs/libxml2
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ net-dns/avahi
+ net-libs/gnutls:=
+"
+RDEPEND="${DEPEND}
+ media-gfx/sane-backends
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.99.27-makefile-fixes.patch"
+)
+
+src_compile() {
+ emake \
+ CFLAGS="${CFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CC="$(tc-getCC)" \
+ AR="$(tc-getAR)"
+}
+
+src_install() {
+ emake DESTDIR="${D}" COMPRESS= STRIP= install
+}
diff --git a/media-gfx/sane-backends/Manifest b/media-gfx/sane-backends/Manifest
index cb3d569a9c23..d77bbff58364 100644
--- a/media-gfx/sane-backends/Manifest
+++ b/media-gfx/sane-backends/Manifest
@@ -1,2 +1 @@
-DIST sane-backends-1.1.1.tar.gz 7447569 BLAKE2B 02ac1822beabb12f19ce2d7c053f0f727313d13e0f9380325492a2f0048094f78a118f7659b4c6e39b60c4ea319d862a242f8866a67c84e5649d9ae2691d9473 SHA512 25bd9f90d550cfe6a6d01c48e83716a53f4b0e3a294287e455ecb5e5b80c8fe1699f45c6c87f694475cceb85745c70597e18a7b1094669d5091c5fb183dfe94d
DIST sane-backends-1.2.1.tar.gz 7308040 BLAKE2B 8448a66e70548f159cfac63501e52417fb1d0599008ce7bf26bf2e7a25a946e688968f01ae64b72c3d5efce67cfbdc0e8e04d8ab3bc92dae0a7e01bc81bf0140 SHA512 3ffce67e409caa5d32684290a56a46a68fef6991a14858d89cbab5aeb364fbbfd6d7c85bcbc4932c9167073a3a6ba682b4730f11fb320f0c4de53a7e7d3edba1
diff --git a/media-gfx/sane-backends/files/sane-backends-1.1.1-gcc12-tests.patch b/media-gfx/sane-backends/files/sane-backends-1.1.1-gcc12-tests.patch
deleted file mode 100644
index 25a1e4db265e..000000000000
--- a/media-gfx/sane-backends/files/sane-backends-1.1.1-gcc12-tests.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-https://bugs.gentoo.org/840137
-https://gitlab.com/sane-project/backends/-/commit/6b99447f5b12758ff015b5c360a6dcbcf9b0a72d
-https://gitlab.com/sane-project/backends/-/issues/597
-https://gitlab.com/sane-project/backends/-/issues/557
-
-From edfc90450ee06149537fadb3095ba4b215c5c4fa Mon Sep 17 00:00:00 2001
-From: Ralph Little <skelband@gmail.com>
-Date: Sun, 2 Oct 2022 18:14:25 -0700
-Subject: [PATCH] genesys: corrections to include file order.
-
-minigtest.h has items that require the definitions in tests_printers.h.
-Pre-GCC-12, this didn't seem to matter but GCC12 seems to have a
-problem with this and requires the template definitions to have already
-appeared.
---- a/testsuite/backend/genesys/minigtest.cpp
-+++ b/testsuite/backend/genesys/minigtest.cpp
-@@ -18,10 +18,10 @@
- along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
-
--#include "minigtest.h"
--
- #define DEBUG_DECLARE_ONLY
-
-+#include "minigtest.h"
-+
- size_t s_num_successes = 0;
- size_t s_num_failures = 0;
-
---- a/testsuite/backend/genesys/tests_image.cpp
-+++ b/testsuite/backend/genesys/tests_image.cpp
-@@ -21,8 +21,8 @@
- #define DEBUG_DECLARE_ONLY
-
- #include "tests.h"
--#include "minigtest.h"
- #include "tests_printers.h"
-+#include "minigtest.h"
-
- #include "../../../backend/genesys/image.h"
- #include "../../../backend/genesys/image_pipeline.h"
---- a/testsuite/backend/genesys/tests_image_pipeline.cpp
-+++ b/testsuite/backend/genesys/tests_image_pipeline.cpp
-@@ -21,8 +21,8 @@
- #define DEBUG_DECLARE_ONLY
-
- #include "tests.h"
--#include "minigtest.h"
- #include "tests_printers.h"
-+#include "minigtest.h"
-
- #include "../../../backend/genesys/image_pipeline.h"
-
---- a/testsuite/backend/genesys/tests_motor.cpp
-+++ b/testsuite/backend/genesys/tests_motor.cpp
-@@ -21,8 +21,8 @@
- #define DEBUG_DECLARE_ONLY
-
- #include "tests.h"
--#include "minigtest.h"
- #include "tests_printers.h"
-+#include "minigtest.h"
-
- #include "../../../backend/genesys/low.h"
- #include "../../../backend/genesys/enums.h"
---- a/testsuite/backend/genesys/tests_utilities.cpp
-+++ b/testsuite/backend/genesys/tests_utilities.cpp
-@@ -21,8 +21,8 @@
- #define DEBUG_DECLARE_ONLY
-
- #include "tests.h"
--#include "minigtest.h"
- #include "tests_printers.h"
-+#include "minigtest.h"
-
- #include "../../../backend/genesys/utilities.h"
-
-GitLab
diff --git a/media-gfx/sane-backends/files/sane-backends-1.1.1-genesys-gl845-crash.patch b/media-gfx/sane-backends/files/sane-backends-1.1.1-genesys-gl845-crash.patch
deleted file mode 100644
index f63a8e2100b9..000000000000
--- a/media-gfx/sane-backends/files/sane-backends-1.1.1-genesys-gl845-crash.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/backend/genesys/genesys.cpp b/backend/genesys/genesys.cpp
-index 9552fa9..c95de7b 100644
---- a/backend/genesys/genesys.cpp
-+++ b/backend/genesys/genesys.cpp
-@@ -367,6 +367,7 @@ void sanei_genesys_create_default_gamma_table(Genesys_Device* dev,
- }
- max = size - 1;
- } else if (dev->model->asic_type == AsicType::GL124 ||
-+ dev->model->asic_type == AsicType::GL845 ||
- dev->model->asic_type == AsicType::GL846 ||
- dev->model->asic_type == AsicType::GL847) {
- size = 257;
diff --git a/media-gfx/sane-backends/files/sane-backends-1.1.1-musl.patch b/media-gfx/sane-backends/files/sane-backends-1.1.1-musl.patch
deleted file mode 100644
index 8aebb50672a1..000000000000
--- a/media-gfx/sane-backends/files/sane-backends-1.1.1-musl.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-https://gitlab.com/sane-project/backends/-/commit/12560890a6e298091bd63b8093a35604416eb92a
-
-From 12560890a6e298091bd63b8093a35604416eb92a Mon Sep 17 00:00:00 2001
-From: David Ward <david.ward@gatech.edu>
-Date: Thu, 21 Apr 2022 23:37:33 -0400
-Subject: [PATCH] Fix header file used for poll()
-
-POSIX specifies the header to include is <poll.h>, not <sys/poll.h>.
-This results in a compiler warning with musl libc (on Alpine Linux).
---- a/configure.ac
-+++ b/configure.ac
-@@ -202,7 +202,7 @@ AC_HEADER_STDC
- AC_CHECK_HEADERS(fcntl.h unistd.h libc.h sys/dsreq.h sys/select.h \
- sys/time.h sys/shm.h sys/ipc.h sys/scanio.h os2.h \
- sys/socket.h sys/io.h sys/hw.h sys/types.h linux/ppdev.h \
-- dev/ppbus/ppi.h machine/cpufunc.h sys/sem.h sys/poll.h \
-+ dev/ppbus/ppi.h machine/cpufunc.h sys/sem.h poll.h \
- windows.h be/kernel/OS.h limits.h sys/ioctl.h asm/types.h\
- netinet/in.h tiffio.h ifaddrs.h pwd.h getopt.h)
- AC_CHECK_HEADERS([asm/io.h],,,[#include <sys/types.h>])
---- a/frontend/saned.c
-+++ b/frontend/saned.c
-@@ -84,8 +84,8 @@
-
- #include "lgetopt.h"
-
--#if defined(HAVE_SYS_POLL_H) && defined(HAVE_POLL)
--# include <sys/poll.h>
-+#if defined(HAVE_POLL_H) && defined(HAVE_POLL)
-+# include <poll.h>
- #else
- /*
- * This replacement poll() using select() is only designed to cover
-GitLab
diff --git a/media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild b/media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild
deleted file mode 100644
index 044b4fd553fc..000000000000
--- a/media-gfx/sane-backends/sane-backends-1.1.1-r11.ebuild
+++ /dev/null
@@ -1,371 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 )
-
-# python-any-r1 required for a script in
-# backends/pixma/scripts/
-inherit autotools flag-o-matic multilib-minimal optfeature python-any-r1 systemd toolchain-funcs udev
-
-# gphoto and v4l are handled by their usual USE flags.
-# The pint backend was disabled because I could not get it to compile.
-IUSE_SANE_BACKENDS=(
- abaton
- agfafocus
- apple
- artec
- artec_eplus48u
- as6e
- avision
- bh
- canon
- canon630u
- canon_dr
- canon_lide70
- canon_pp
- cardscan
- coolscan
- coolscan2
- coolscan3
- dc210
- dc240
- dc25
- dell1600n_net
- dmc
- epjitsu
- epson
- epson2
- escl
- fujitsu
- genesys
- gt68xx
- hp
- hp3500
- hp3900
- hp4200
- hp5400
- hp5590
- hpljm1005
- hpsj5s
- hs2p
- ibm
- kodak
- kodakaio
- kvs1025
- kvs20xx
- kvs40xx
- leo
- lexmark
- ma1509
- magicolor
- matsushita
- microtek
- microtek2
- mustek
- mustek_pp
- mustek_usb
- mustek_usb2
- nec
- net
- niash
- p5
- pie
- pieusb
- pixma
- plustek
- plustek_pp
- pnm
- qcam
- ricoh
- ricoh2
- rts8891
- s9036
- sceptre
- sharp
- sm3600
- sm3840
- snapscan
- sp15c
- st400
- stv680
- tamarack
- teco1
- teco2
- teco3
- test
- u12
- umax
- umax1220u
- umax_pp
- xerox_mfp
-)
-
-IUSE="gphoto2 ipv6 snmp systemd threads usb v4l xinetd +zeroconf"
-
-for GBACKEND in ${IUSE_SANE_BACKENDS[@]}; do
- case ${GBACKEND} in
- # Disable backends that require parallel ports as no one has those anymore.
- canon_pp|hpsj5s|mustek_pp|\
- pnm|mustek_usb2|kvs40xx)
- IUSE+=" sane_backends_${GBACKEND}"
- ;;
- *)
- IUSE+=" +sane_backends_${GBACKEND}"
- esac
-done
-
-REQUIRED_USE="
- sane_backends_escl? ( zeroconf )
- sane_backends_kvs40xx? ( threads )
- sane_backends_mustek_usb2? ( threads )
-"
-
-DESCRIPTION="Scanner Access Now Easy - Backends"
-HOMEPAGE="http://www.sane-project.org/"
-SRC_URI="https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/${P}.tar.gz"
-
-LICENSE="GPL-2 public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build
-RDEPEND="
- acct-user/saned
- gphoto2? (
- media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
- >=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}]
- )
- sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_dc210? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- sane_backends_dc240? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- sane_backends_dell1600n_net? (
- media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
- >=media-libs/tiff-3.9.7-r1:=[${MULTILIB_USEDEP}]
- )
- sane_backends_escl? (
- app-text/poppler[cairo]
- || (
- net-dns/avahi[dbus]
- net-dns/avahi[gtk]
- )
- net-dns/avahi[${MULTILIB_USEDEP}]
- net-misc/curl[${MULTILIB_USEDEP}]
- )
- sane_backends_hpsj5s? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_mustek_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_pixma? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- snmp? ( net-analyzer/net-snmp:= )
- systemd? ( sys-apps/systemd:= )
- usb? ( >=virtual/libusb-1-r1:1=[${MULTILIB_USEDEP}] )
- v4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
- xinetd? ( sys-apps/xinetd )
- zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
-"
-
-DEPEND="${RDEPEND}
- dev-libs/libxml2
- v4l? ( sys-kernel/linux-headers )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-build/autoconf-archive
- sys-devel/gettext
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.24-saned_pidfile_location.patch
- "${FILESDIR}"/${PN}-1.0.27-disable-usb-tests.patch
- "${FILESDIR}"/${PN}-1.0.30-add_hpaio_epkowa_dll.conf.patch
- # https://gitlab.com/sane-project/backends/-/merge_requests/688
- "${FILESDIR}"/${PN}-1.1.1-genesys-gl845-crash.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/sane-config
-)
-
-src_prepare() {
- default
-
- # Patch out the git reference so we can run eautoreconf
- sed \
- -e "s/m4_esyscmd_s(\[git describe --dirty\])/${PV}/" \
- -e '/^AM_MAINTAINER_MODE/d' \
- -i configure.ac || die
- eautoreconf
-
- # Fix for "make check". Upstream sometimes forgets to update this.
- local ver=$(./configure --version | awk '{print $NF; exit 0}')
- sed -i \
- -e "/by sane-desc 3.5 from sane-backends/s:sane-backends .*:sane-backends ${ver}:" \
- testsuite/tools/data/html* || die
-
- # don't bleed user LDFLAGS into pkgconfig files
- sed 's|@LDFLAGS@ ||' -i tools/*.pc.in || die
-
- # Needed for udev rules generation/installation
- multilib_copy_sources
-}
-
-src_configure() {
- # From Fedora
- append-flags -fno-strict-aliasing
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # the blank is intended - an empty string would result in building ALL backends.
- local lbackends=" "
-
- use gphoto2 && lbackends="gphoto2"
- use v4l && lbackends+=" v4l"
- use sane_backends_escl && multilib_is_native_abi && lbackends+=" escl"
- local backend
- for backend in ${IUSE_SANE_BACKENDS[@]} ; do
- if use "sane_backends_${backend}" && [[ "${backend}" != pnm ]] && [[ "${backend}" != escl ]] ; then
- lbackends+=" ${backend}"
- fi
- done
-
- local myconf=(
- $(use_with usb)
- $(multilib_native_use_with snmp)
-
- $(multilib_native_use_with sane_backends_escl poppler-glib)
- # you can only enable this backend, not disable it...
- $(usex sane_backends_pnm --enable-pnm-backend '')
- $(usex sane_backends_mustek_pp --enable-parport-directio '')
- )
-
- if ! { use sane_backends_canon_pp || use sane_backends_hpsj5s || use sane_backends_mustek_pp ; } ; then
- myconf+=( sane_cv_use_libieee1284=no )
- fi
-
- # relative path must be used for tests to work properly
- # All distributions pass --disable-locking because /var/lock/sane/ would be a world-writable directory
- # that break in many ways, bug #636202, #668232, #668350
- # People can refer to the "Programmer's Documentation" at http://www.sane-project.org/docs.html
- myconf+=(
- --disable-locking
- $(use_with gphoto2)
- $(multilib_native_use_with systemd)
- $(use_with v4l)
- $(use_enable ipv6)
- $(use_enable threads pthread)
- $(use_with zeroconf avahi)
- )
- ECONF_SOURCE="${S}" \
- SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \
- BACKENDS="${lbackends}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- emake VARTEXFONTS="${T}/fonts"
-
- if tc-is-cross-compiler ; then
- pushd "${BUILD_DIR}"/tools >/dev/null || die
-
- # The build system sucks and doesn't handle this properly.
- # https://alioth.debian.org/tracker/index.php?func=detail&aid=314236&group_id=30186&atid=410366
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
- -I. -I../include -I"${S}"/include \
- "${S}"/sanei/sanei_config.c "${S}"/sanei/sanei_constrain_value.c \
- "${S}"/sanei/sanei_init_debug.c "${S}"/tools/sane-desc.c -o sane-desc || die
- local dirs=( hal hotplug hotplug-ng udev )
- local targets=(
- hal/libsane.fdi
- hotplug/libsane.usermap
- hotplug-ng/libsane.db
- udev/libsane.rules
- )
- mkdir -p "${dirs[@]}" || die
- emake "${targets[@]}"
-
- popd >/dev/null || die
- fi
-
- if use usb ; then
- sed -i -e '/^$/d' \
- tools/hotplug/libsane.usermap || die
- fi
-}
-
-multilib_src_install() {
- emake INSTALL_LOCKPATH="" DESTDIR="${D}" install \
- docdir="${EPREFIX}"/usr/share/doc/${PF}
-
- if multilib_is_native_abi ; then
- if use usb ; then
- insinto /etc/hotplug/usb
- doins tools/hotplug/libsane.usermap
- fi
-
- insinto "/usr/share/pkgconfig"
- doins tools/sane-backends.pc
-
- # From Fedora and Arch, prevent permission conflicts
- # https://github.com/OpenPrinting/cups/issues/314
- # https://gitlab.com/sane-project/backends/-/issues/546
- #
- # Generate udev udev+hwdb, not needing scanner group
- install -vdm 755 "${ED}/$(get_udevdir)/rules.d/" || die
- tools/sane-desc -m udev+hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die
- tools/sane-desc -m udev+hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die
- # generate udev hwdb
- install -vdm 755 "${ED}/$(get_udevdir)/hwdb.d/" || die
- tools/sane-desc -m hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb"
- # NOTE: an empty new line is required between the two .desc collections
- printf "\n" >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die
- tools/sane-desc -m hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die
- # udev rule for saned (SANE scanning daemon) to be able to write on usb port
- udev_dorules "${FILESDIR}/66-saned.rules"
- fi
-}
-
-multilib_src_install_all() {
- dodir /etc/env.d
-
- if use systemd ; then
- systemd_newunit "${FILESDIR}"/saned_at.service "saned@.service"
- systemd_newunit "${FILESDIR}"/saned.socket saned.socket
- fi
-
- if use usb ; then
- exeinto /etc/hotplug/usb
- doexe tools/hotplug/libusbscanner
- newdoc tools/hotplug/README README.hotplug
- fi
-
- dodoc NEWS AUTHORS PROBLEMS README README.linux
- find "${ED}" -name '*.la' -delete || die
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- doins "${FILESDIR}"/saned
- fi
-
- newinitd "${FILESDIR}"/saned.initd saned
- newconfd "${FILESDIR}"/saned.confd saned
-}
-
-pkg_postinst() {
- optfeature "Network scanner backend" media-gfx/sane-airscan
- optfeature "Epson-specific backend" media-gfx/iscan
- optfeature "HP-specific backend" net-print/hplip
-
- if use xinetd ; then
- elog "If you want remote clients to connect, edit"
- elog "/etc/sane.d/saned.conf and /etc/hosts.allow"
- fi
-
- udev_reload
-}
-
-pkg_postrm() {
- udev_reload
-}
diff --git a/media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild b/media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild
deleted file mode 100644
index 99b7d0e574d9..000000000000
--- a/media-gfx/sane-backends/sane-backends-1.1.1-r13.ebuild
+++ /dev/null
@@ -1,377 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 )
-
-# python-any-r1 required for a script in
-# backends/pixma/scripts/
-inherit autotools flag-o-matic multilib-minimal optfeature python-any-r1 systemd toolchain-funcs udev
-
-# gphoto and v4l are handled by their usual USE flags.
-# The pint backend was disabled because I could not get it to compile.
-IUSE_SANE_BACKENDS=(
- abaton
- agfafocus
- apple
- artec
- artec_eplus48u
- as6e
- avision
- bh
- canon
- canon630u
- canon_dr
- canon_lide70
- canon_pp
- cardscan
- coolscan
- coolscan2
- coolscan3
- dc210
- dc240
- dc25
- dell1600n_net
- dmc
- epjitsu
- epson
- epson2
- epsonds
- escl
- fujitsu
- genesys
- gt68xx
- hp
- hp3500
- hp3900
- hp4200
- hp5400
- hp5590
- hpljm1005
- hpsj5s
- hs2p
- ibm
- kodak
- kodakaio
- kvs1025
- kvs20xx
- kvs40xx
- leo
- lexmark
- ma1509
- magicolor
- matsushita
- microtek
- microtek2
- mustek
- mustek_pp
- mustek_usb
- mustek_usb2
- nec
- net
- niash
- p5
- pie
- pieusb
- pixma
- plustek
- plustek_pp
- pnm
- qcam
- ricoh
- ricoh2
- rts8891
- s9036
- sceptre
- sharp
- sm3600
- sm3840
- snapscan
- sp15c
- st400
- stv680
- tamarack
- teco1
- teco2
- teco3
- test
- u12
- umax
- umax1220u
- umax_pp
- xerox_mfp
-)
-
-IUSE="gphoto2 snmp systemd threads usb v4l xinetd +zeroconf"
-
-for GBACKEND in ${IUSE_SANE_BACKENDS[@]}; do
- case ${GBACKEND} in
- # Disable backends that require parallel ports as no one has those anymore.
- canon_pp|hpsj5s|mustek_pp|\
- pnm|mustek_usb2|kvs40xx)
- IUSE+=" sane_backends_${GBACKEND}"
- ;;
- *)
- IUSE+=" +sane_backends_${GBACKEND}"
- esac
-done
-
-REQUIRED_USE="
- sane_backends_escl? ( zeroconf )
- sane_backends_kvs40xx? ( threads )
- sane_backends_mustek_usb2? ( threads )
-"
-
-DESCRIPTION="Scanner Access Now Easy - Backends"
-HOMEPAGE="http://www.sane-project.org/"
-SRC_URI="https://gitlab.com/sane-project/backends/uploads/7d30fab4e115029d91027b6a58d64b43/${P}.tar.gz"
-
-LICENSE="GPL-2 public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build
-RDEPEND="
- acct-user/saned
- acct-group/scanner
- gphoto2? (
- >=media-libs/libgphoto2-2.5.3.1:=[${MULTILIB_USEDEP}]
- media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
- )
- sane_backends_canon_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_dc210? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- sane_backends_dc240? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- sane_backends_dell1600n_net? (
- >=media-libs/tiff-3.9.7-r1:=[${MULTILIB_USEDEP}]
- media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}]
- )
- sane_backends_escl? (
- app-text/poppler[cairo]
- || (
- net-dns/avahi[dbus]
- net-dns/avahi[gtk]
- )
- net-dns/avahi[${MULTILIB_USEDEP}]
- net-misc/curl[${MULTILIB_USEDEP}]
- )
- sane_backends_hpsj5s? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_mustek_pp? ( >=sys-libs/libieee1284-0.2.11-r3[${MULTILIB_USEDEP}] )
- sane_backends_pixma? ( media-libs/libjpeg-turbo:=[${MULTILIB_USEDEP}] )
- snmp? ( net-analyzer/net-snmp:= )
- systemd? ( sys-apps/systemd:= )
- usb? ( >=virtual/libusb-1-r1:1=[${MULTILIB_USEDEP}] )
- v4l? ( >=media-libs/libv4l-0.9.5[${MULTILIB_USEDEP}] )
- xinetd? ( sys-apps/xinetd )
- zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
-"
-
-DEPEND="${RDEPEND}
- dev-libs/libxml2
- v4l? ( sys-kernel/linux-headers )
-"
-BDEPEND="
- ${PYTHON_DEPS}
- dev-build/autoconf-archive
- sys-devel/gettext
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.0.24-saned_pidfile_location.patch
- "${FILESDIR}"/${PN}-1.0.27-disable-usb-tests.patch
- "${FILESDIR}"/${PN}-1.0.30-add_hpaio_epkowa_dll.conf.patch
- # https://gitlab.com/sane-project/backends/-/merge_requests/688
- "${FILESDIR}"/${PN}-1.1.1-genesys-gl845-crash.patch
- "${FILESDIR}"/${P}-gcc12-tests.patch
- "${FILESDIR}"/${PN}-1.1.1-configure-clang16.patch
- "${FILESDIR}"/${P}-musl.patch
-)
-
-MULTILIB_CHOST_TOOLS=(
- /usr/bin/sane-config
-)
-
-src_prepare() {
- default
-
- # Patch out the git reference so we can run eautoreconf
- sed \
- -e "s/m4_esyscmd_s(\[git describe --dirty\])/${PV}/" \
- -e '/^AM_MAINTAINER_MODE/d' \
- -i configure.ac || die
- eautoreconf
-
- # Fix for "make check". Upstream sometimes forgets to update this.
- local ver=$(./configure --version | awk '{print $NF; exit 0}')
- sed -i \
- -e "/by sane-desc 3.5 from sane-backends/s:sane-backends .*:sane-backends ${ver}:" \
- testsuite/tools/data/html* || die
-
- # don't bleed user LDFLAGS into pkgconfig files
- sed 's|@LDFLAGS@ ||' -i tools/*.pc.in || die
-
- # Needed for udev rules generation/installation
- multilib_copy_sources
-}
-
-src_configure() {
- # From Fedora
- append-flags -fno-strict-aliasing
- multilib-minimal_src_configure
-}
-
-multilib_src_configure() {
- # the blank is intended - an empty string would result in building ALL backends.
- local lbackends=" "
-
- use gphoto2 && lbackends="gphoto2"
- use v4l && lbackends+=" v4l"
- use sane_backends_escl && multilib_is_native_abi && lbackends+=" escl"
- local backend
- for backend in ${IUSE_SANE_BACKENDS[@]} ; do
- if use "sane_backends_${backend}" && [[ "${backend}" != pnm ]] && [[ "${backend}" != escl ]] ; then
- lbackends+=" ${backend}"
- fi
- done
-
- local myconf=(
- $(use_with usb)
- $(multilib_native_use_with snmp)
-
- $(multilib_native_use_with sane_backends_escl poppler-glib)
- # you can only enable this backend, not disable it...
- $(usex sane_backends_pnm --enable-pnm-backend '')
- $(usex sane_backends_mustek_pp --enable-parport-directio '')
- )
-
- if ! { use sane_backends_canon_pp || use sane_backends_hpsj5s || use sane_backends_mustek_pp ; } ; then
- myconf+=( sane_cv_use_libieee1284=no )
- fi
-
- # relative path must be used for tests to work properly
- # All distributions pass --disable-locking because /var/lock/sane/ would be a world-writable directory
- # that break in many ways, bug #636202, #668232, #668350
- # People can refer to the "Programmer's Documentation" at http://www.sane-project.org/docs.html
- myconf+=(
- --enable-ipv6
- --disable-locking
- $(use_with gphoto2)
- $(multilib_native_use_with systemd)
- $(use_with v4l)
- $(use_enable threads pthread)
- $(use_with zeroconf avahi)
- )
-
- ECONF_SOURCE="${S}" \
- SANEI_JPEG="sanei_jpeg.o" SANEI_JPEG_LO="sanei_jpeg.lo" \
- BACKENDS="${lbackends}" \
- econf "${myconf[@]}"
-}
-
-multilib_src_compile() {
- emake VARTEXFONTS="${T}/fonts"
-
- if tc-is-cross-compiler ; then
- pushd "${BUILD_DIR}"/tools >/dev/null || die
-
- # The build system sucks and doesn't handle this properly.
- # https://alioth.debian.org/tracker/index.php?func=detail&aid=314236&group_id=30186&atid=410366
- tc-export_build_env BUILD_CC
- ${BUILD_CC} ${BUILD_CPPFLAGS} ${BUILD_CFLAGS} ${BUILD_LDFLAGS} \
- -I. -I../include -I"${S}"/include \
- "${S}"/sanei/sanei_config.c "${S}"/sanei/sanei_constrain_value.c \
- "${S}"/sanei/sanei_init_debug.c "${S}"/tools/sane-desc.c -o sane-desc || die
- local dirs=( hal hotplug hotplug-ng udev )
- local targets=(
- hal/libsane.fdi
- hotplug/libsane.usermap
- hotplug-ng/libsane.db
- udev/libsane.rules
- )
- mkdir -p "${dirs[@]}" || die
- emake "${targets[@]}"
-
- popd >/dev/null || die
- fi
-
- if use usb ; then
- sed -i -e '/^$/d' \
- tools/hotplug/libsane.usermap || die
- fi
-}
-
-multilib_src_install() {
- emake INSTALL_LOCKPATH="" DESTDIR="${D}" install \
- docdir="${EPREFIX}"/usr/share/doc/${PF}
-
- if multilib_is_native_abi ; then
- if use usb ; then
- insinto /etc/hotplug/usb
- doins tools/hotplug/libsane.usermap
- fi
-
- insinto "/usr/share/pkgconfig"
- doins tools/sane-backends.pc
-
- # From Fedora and Arch, prevent permission conflicts
- # https://github.com/OpenPrinting/cups/issues/314
- # https://gitlab.com/sane-project/backends/-/issues/546
- #
- # Generate udev udev+hwdb, not needing scanner group
- install -vdm 755 "${ED}/$(get_udevdir)/rules.d/" || die
- tools/sane-desc -m udev+hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die
- tools/sane-desc -m udev+hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/rules.d/65-${PN}.rules" || die
- # generate udev hwdb
- install -vdm 755 "${ED}/$(get_udevdir)/hwdb.d/" || die
- tools/sane-desc -m hwdb -s doc/descriptions/ > "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb"
- # NOTE: an empty new line is required between the two .desc collections
- printf "\n" >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die
- tools/sane-desc -m hwdb -s doc/descriptions-external/ >> "${ED}/$(get_udevdir)/hwdb.d/20-${PN}.hwdb" || die
- # udev rule for saned (SANE scanning daemon) to be able to write on usb port
- udev_newrules "${FILESDIR}/66-saned.rules-r1" 66-saned.rules
- fi
-}
-
-multilib_src_install_all() {
- dodir /etc/env.d
-
- if use systemd ; then
- systemd_newunit "${FILESDIR}"/saned_at.service-r1 "saned@.service"
- systemd_newunit "${FILESDIR}"/saned.socket saned.socket
- fi
-
- if use usb ; then
- exeinto /etc/hotplug/usb
- doexe tools/hotplug/libusbscanner
- newdoc tools/hotplug/README README.hotplug
- fi
-
- dodoc NEWS AUTHORS PROBLEMS README README.linux
- find "${ED}" -name '*.la' -delete || die
-
- if use xinetd ; then
- insinto /etc/xinetd.d
- doins "${FILESDIR}"/saned
- fi
-
- newinitd "${FILESDIR}"/saned.initd saned
- newconfd "${FILESDIR}"/saned.confd saned
-}
-
-pkg_postrm() {
- udev_reload
-}
-
-pkg_postinst() {
- udev_reload
-
- optfeature "Network scanner backend" media-gfx/sane-airscan
- optfeature "Epson-specific backend" media-gfx/iscan
- optfeature "HP-specific backend" net-print/hplip
-
- if use xinetd ; then
- elog "If you want remote clients to connect, edit"
- elog "/etc/sane.d/saned.conf and /etc/hosts.allow"
- fi
-}
diff --git a/media-gfx/sane-backends/sane-backends-1.2.1.ebuild b/media-gfx/sane-backends/sane-backends-1.2.1.ebuild
index 0654e5f25260..cec6801c00ca 100644
--- a/media-gfx/sane-backends/sane-backends-1.2.1.ebuild
+++ b/media-gfx/sane-backends/sane-backends-1.2.1.ebuild
@@ -3,11 +3,19 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
# python-any-r1 required for a script in backends/pixma/scripts/
inherit autotools flag-o-matic multilib-minimal optfeature python-any-r1 systemd toolchain-funcs udev
+DESCRIPTION="Scanner Access Now Easy - Backends"
+HOMEPAGE="http://www.sane-project.org/"
+SRC_URI="https://gitlab.com/sane-project/backends/uploads/110fc43336d0fb5e514f1fdc7360dd87/${P}.tar.gz"
+
+LICENSE="GPL-2 public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
# gphoto and v4l are handled by their usual USE flags.
# The pint backend was disabled because I could not get it to compile.
IUSE_SANE_BACKENDS=(
@@ -122,14 +130,6 @@ REQUIRED_USE="
sane_backends_mustek_usb2? ( threads )
"
-DESCRIPTION="Scanner Access Now Easy - Backends"
-HOMEPAGE="http://www.sane-project.org/"
-SRC_URI="https://gitlab.com/sane-project/backends/uploads/110fc43336d0fb5e514f1fdc7360dd87/${P}.tar.gz"
-
-LICENSE="GPL-2 public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
# For pixma: see https://gitlab.com/sane-project/backends/-/releases/1.0.28#build
RDEPEND="
acct-user/saned
@@ -164,13 +164,11 @@ RDEPEND="
xinetd? ( sys-apps/xinetd )
zeroconf? ( >=net-dns/avahi-0.6.31-r2[${MULTILIB_USEDEP}] )
"
-DEPEND="
- ${RDEPEND}
+DEPEND="${RDEPEND}
dev-libs/libxml2
v4l? ( sys-kernel/linux-headers )
"
-BDEPEND="
- ${PYTHON_DEPS}
+BDEPEND="${PYTHON_DEPS}
dev-build/autoconf-archive
sys-devel/gettext
virtual/pkgconfig
@@ -190,22 +188,8 @@ MULTILIB_CHOST_TOOLS=(
src_prepare() {
default
- # Patch out the git reference so we can run eautoreconf
- sed \
- -e "s/m4_esyscmd_s(\[git describe --dirty\])/${PV}/" \
- -e '/^AM_MAINTAINER_MODE/d' \
- -i configure.ac || die
eautoreconf
- # Fix for "make check". Upstream sometimes forgets to update this.
- local ver=$(./configure --version | awk '{print $NF; exit 0}')
- sed -i \
- -e "/by sane-desc 3.5 from sane-backends/s:sane-backends .*:sane-backends ${ver}:" \
- testsuite/tools/data/html* || die
-
- # don't bleed user LDFLAGS into pkgconfig files
- sed 's|@LDFLAGS@ ||' -i tools/*.pc.in || die
-
# Needed for udev rules generation/installation
multilib_copy_sources
}
diff --git a/media-gfx/scour/Manifest b/media-gfx/scour/Manifest
index db95afa2781d..7123c1125396 100644
--- a/media-gfx/scour/Manifest
+++ b/media-gfx/scour/Manifest
@@ -1 +1 @@
-DIST scour-0.38.2.tar.gz 99910 BLAKE2B 4273287b201ecea64cb2be666bb7de4fbadc3483935515de92ec8dfb39f3b856584e35ac877958efd798bb5840baba4fc4d40a376d2c9f3b0c52a679d7ded6df SHA512 a2c418e25283af399be032322b3af0c336c2392ba361681d4b133b64ebc441ac5beeed2b920f42316cef376c971b230681e306687786a875162d33b659d3fdeb
+DIST scour-0.38.2.gh.tar.gz 99910 BLAKE2B 4273287b201ecea64cb2be666bb7de4fbadc3483935515de92ec8dfb39f3b856584e35ac877958efd798bb5840baba4fc4d40a376d2c9f3b0c52a679d7ded6df SHA512 a2c418e25283af399be032322b3af0c336c2392ba361681d4b133b64ebc441ac5beeed2b920f42316cef376c971b230681e306687786a875162d33b659d3fdeb
diff --git a/media-gfx/scour/metadata.xml b/media-gfx/scour/metadata.xml
index b229b50ca604..85d1478227ea 100644
--- a/media-gfx/scour/metadata.xml
+++ b/media-gfx/scour/metadata.xml
@@ -5,5 +5,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="github">scour-project/scour</remote-id>
+ <remote-id type="pypi">scour</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/scour/scour-0.38.2-r1.ebuild b/media-gfx/scour/scour-0.38.2-r1.ebuild
index 30d85af79f5f..8809aac2f3c1 100644
--- a/media-gfx/scour/scour-0.38.2-r1.ebuild
+++ b/media-gfx/scour/scour-0.38.2-r1.ebuild
@@ -1,21 +1,30 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Take an SVG file and produce a cleaner and more concise file"
-HOMEPAGE="https://github.com/scour-project/scour"
-SRC_URI="https://github.com/scour-project/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/scour-project/scour/
+ https://pypi.org/project/scour/
+"
+SRC_URI="
+ https://github.com/scour-project/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
python_test() {
"${EPYTHON}" test_scour.py -v || die "Tests fail with ${EPYTHON}"
diff --git a/media-gfx/scrot/Manifest b/media-gfx/scrot/Manifest
index 62b926c21a11..1e7abddd6265 100644
--- a/media-gfx/scrot/Manifest
+++ b/media-gfx/scrot/Manifest
@@ -1,2 +1,2 @@
DIST scrot-1.10.tar.bz2 156519 BLAKE2B ca1441823521d14559afe49ed36853bb5448cc5c2ee345ddb617324b63e8f599678cbdc94b862938017a62d2f5ceea3cae03f80e473e86cafc76dd34144d41bb SHA512 7a72b6d7ae350b0ec27b949934ff67cb8800f731f3dfc783bfdf66c4316b318118b8b46d98aca05543144b757c659791f4a9aeae43364277501238a405eda57d
-DIST scrot-1.9.tar.bz2 158710 BLAKE2B d823c0875a260ee9741e1c9038fe743e69d0afa83220448857d109dd3ebad9977f07871b25c6a4a979efdf2abd246a2facec91c5b0af01c47307dc6266c801d3 SHA512 ace3bcb26ecebc5bb139a6e011a562287be8f676f21211b540dd937ab2d4487047d3565d0aec84e099bd2c5c9b037d9044924b031f930dc45a3040df399a3312
+DIST scrot-1.11.1.tar.bz2 158007 BLAKE2B e0c8f166444bfdfbed41a5588036b861973c90d057e302f7bd35cf9630a9f0311735977632ba068c1b3542baed251a3d682da7d8f56c114880a425b3056a0692 SHA512 6a6435c6e0562a367d895f2d1c7a03b050f6588a5843376c5e33a5b8ef1b0b684390530f8c61c340b3f0928caeefb95d9df1f8fe0b145768c336685b1c8d8deb
diff --git a/media-gfx/scrot/scrot-1.9.ebuild b/media-gfx/scrot/scrot-1.11.1.ebuild
index 81c77df2463a..d383d2bfa6bc 100644
--- a/media-gfx/scrot/scrot-1.9.ebuild
+++ b/media-gfx/scrot/scrot-1.11.1.ebuild
@@ -3,16 +3,17 @@
EAPI=8
-inherit bash-completion-r1
+inherit shell-completion
DESCRIPTION="Screen capture utility using imlib2 library"
HOMEPAGE="https://github.com/resurrecting-open-source-projects/scrot"
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/resurrecting-open-source-projects/${PN}"
inherit autotools git-r3
+ LIVE_BDEPEND="dev-build/autoconf-archive"
else
SRC_URI="https://github.com/resurrecting-open-source-projects/${PN}/releases/download/${PV}/${P}.tar.bz2"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
fi
LICENSE="feh"
@@ -34,15 +35,14 @@ RDEPEND="
DEPEND="
${RDEPEND}
x11-base/xorg-proto
- elibc_musl? ( sys-libs/queue-standalone )
"
BDEPEND="
- dev-build/autoconf-archive
+ ${LIVE_BDEPEND}
virtual/pkgconfig
"
DOCS=(
- AUTHORS ChangeLog README.md
+ AUTHORS ChangeLog README.md FAQ.md
)
src_prepare() {
@@ -54,5 +54,6 @@ src_prepare() {
src_install() {
default
- newbashcomp "${FILESDIR}"/${PN}-1.7.bash-completion ${PN}
+ dozshcomp etc/zsh-completion/_scrot
+ dobashcomp etc/bash-completion/scrot
}
diff --git a/media-gfx/scrot/scrot-9999.ebuild b/media-gfx/scrot/scrot-9999.ebuild
index 092a65896df9..d383d2bfa6bc 100644
--- a/media-gfx/scrot/scrot-9999.ebuild
+++ b/media-gfx/scrot/scrot-9999.ebuild
@@ -3,13 +3,14 @@
EAPI=8
-inherit bash-completion-r1
+inherit shell-completion
DESCRIPTION="Screen capture utility using imlib2 library"
HOMEPAGE="https://github.com/resurrecting-open-source-projects/scrot"
if [[ ${PV} == *9999* ]] ; then
EGIT_REPO_URI="https://github.com/resurrecting-open-source-projects/${PN}"
inherit autotools git-r3
+ LIVE_BDEPEND="dev-build/autoconf-archive"
else
SRC_URI="https://github.com/resurrecting-open-source-projects/${PN}/releases/download/${PV}/${P}.tar.bz2"
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
@@ -34,15 +35,14 @@ RDEPEND="
DEPEND="
${RDEPEND}
x11-base/xorg-proto
- elibc_musl? ( sys-libs/queue-standalone )
"
BDEPEND="
- dev-build/autoconf-archive
+ ${LIVE_BDEPEND}
virtual/pkgconfig
"
DOCS=(
- AUTHORS ChangeLog README.md
+ AUTHORS ChangeLog README.md FAQ.md
)
src_prepare() {
@@ -54,5 +54,6 @@ src_prepare() {
src_install() {
default
- newbashcomp "${FILESDIR}"/${PN}-1.7.bash-completion ${PN}
+ dozshcomp etc/zsh-completion/_scrot
+ dobashcomp etc/bash-completion/scrot
}
diff --git a/media-gfx/sfftobmp/files/sfftobmp-3.1.2-boost-1.85.patch b/media-gfx/sfftobmp/files/sfftobmp-3.1.2-boost-1.85.patch
new file mode 100644
index 000000000000..9fac13880922
--- /dev/null
+++ b/media-gfx/sfftobmp/files/sfftobmp-3.1.2-boost-1.85.patch
@@ -0,0 +1,63 @@
+https://www.boost.org/doc/libs/1_85_0/libs/filesystem/doc/deprecated.html
+--- a/src/cmdline.cpp
++++ b/src/cmdline.cpp
+@@ -41,7 +41,6 @@
+ #include <iostream>
+
+ #include <boost/filesystem/operations.hpp>
+-#include <boost/filesystem/convenience.hpp>
+
+ #include <tiff.h>
+
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -41,7 +41,6 @@
+
+ #include <boost/filesystem/path.hpp>
+ #include <boost/filesystem/operations.hpp>
+-#include <boost/filesystem/convenience.hpp>
+
+ extern "C"
+ {
+@@ -172,10 +171,10 @@ int main( int argc, char *argv[] )
+ if (pathOutFileName.string().length()) {
+ // A fixed name was given, so use it as a base name
+ outPath = pathOutFileName;
+- std::string orgExt = fs::extension(outPath);
++ std::string orgExt = outPath.extension().string();
+ if (nFileCountOut > 1) {
+ sprintf(acNumber, "_%03d", nPage+1);
+- outPath = fs::change_extension(outPath, acNumber);
++ outPath.replace_extension(acNumber);
+ if (orgExt.length()) {
+ std::string strTemp = outPath.string();
+ strTemp += orgExt;
+@@ -184,15 +183,15 @@ int main( int argc, char *argv[] )
+ }
+ } else {
+ // Otherwise construct output filename from input filename
+- outPath = pathOutDirectory / pathInFileName.leaf();
++ outPath = pathOutDirectory / pathInFileName.filename();
+ if (nFileCountOut > 1) {
+ sprintf(acNumber, "_%03d", nPage+1);
+- outPath = fs::change_extension(outPath, acNumber);
++ outPath.replace_extension(acNumber);
+ std::string strTemp = outPath.string();
+ strTemp += pOut->GetExtension();
+ outPath = fs::path(strTemp);
+ } else {
+- outPath = fs::change_extension(outPath, pOut->GetExtension());
++ outPath.replace_extension(pOut->GetExtension());
+ }
+ }
+ if (!proc.doOverwrite() && !((nPage > 0) && (nFileCountOut == 1)) && fs::exists(outPath)) {
+--- a/src/output.cpp
++++ b/src/output.cpp
+@@ -42,7 +42,6 @@
+ #include <iostream>
+
+ #include <boost/filesystem/path.hpp>
+-#include <boost/filesystem/convenience.hpp>
+
+ #ifdef WIN32
+ #include <io.h>
diff --git a/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild b/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
index 8b7d82f45951..6b9a92e6cfc2 100644
--- a/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
+++ b/media-gfx/sfftobmp/sfftobmp-3.1.2-r3.ebuild
@@ -1,15 +1,15 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit autotools flag-o-matic
+inherit autotools
MY_P=${PN}${PV//./_}
DESCRIPTION="sff to bmp converter"
HOMEPAGE="https://sfftools.sourceforge.io/"
-SRC_URI="mirror://sourceforge/sfftools/${MY_P}_src.zip"
+SRC_URI="https://downloads.sourceforge.net/sfftools/${MY_P}_src.zip"
S="${WORKDIR}/${MY_P}"
LICENSE="HPND MIT"
@@ -19,7 +19,8 @@ KEYWORDS="amd64 ~hppa ppc x86"
RDEPEND="
dev-libs/boost:=
media-libs/libjpeg-turbo:=
- media-libs/tiff:="
+ media-libs/tiff:=
+"
DEPEND="${RDEPEND}"
BDEPEND="app-arch/unzip"
@@ -27,6 +28,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.1.1-gcc44-and-boost-1_37.patch
"${FILESDIR}"/${PN}-3.1.2-boost_fs3.patch
"${FILESDIR}"/${PN}-3.1.2-Wformat.patch
+ "${FILESDIR}"/${PN}-3.1.2-boost-1.85.patch
)
src_prepare() {
@@ -34,11 +36,6 @@ src_prepare() {
eautoreconf
}
-src_configure() {
- append-cppflags -DBOOST_FILESYSTEM_VERSION=3
- default
-}
-
src_install() {
default
dodoc doc/{changes,credits,readme}
diff --git a/media-gfx/shotwell/Manifest b/media-gfx/shotwell/Manifest
index d9c4e36c3006..171c15be589a 100644
--- a/media-gfx/shotwell/Manifest
+++ b/media-gfx/shotwell/Manifest
@@ -1,3 +1,2 @@
-DIST shotwell-0.32.2.tar.xz 35327248 BLAKE2B e64c14fa8516dede11e5793f35328993755e83b893423f413a9419fe30fc8eebc26c61b34b259dcee1353dfdecb77f582c6e1a10a62e477032ea518d0e56af12 SHA512 3f502856ed0ad6dba18d696b67c940afe04b40130ba273bef8d2324301444c1c90e2762827061383785bb20f31b62a8657e9795b405f719254cec308f9430fca
-DIST shotwell-0.32.3.tar.xz 35332112 BLAKE2B 8bd1e1ffffdeb4a78c6cc18192f53df50175d458c70a1847a492cec4448655be5be877f5b2c8d2574393f75a1a2bc7efa04c50d505b2a08250b886e42769dd84 SHA512 a8574402a71d8a5de70e3d045586cea325fad7291914cf11f0ce4ef9abf5868dd9e581a0a3f3929c16dbfd5d934ce24775a220169efab2099e2f594cdb229f86
DIST shotwell-0.32.4.tar.xz 35335296 BLAKE2B 32be135643f165f32f315c332a4f0b34cd724285e7239eadbb250253b27ce97fb15d314f68a5392d88224a0b97f7f6ef8789c1f6c40051c26a25b9012e860b90 SHA512 516ab26d6620429175097886a1874d2eaf0513f6ef732bef5ee07ef8cd200028b34d98f4eb09b47a621f5313de42a5f415185d76853de478e0b5e0c4e89eea69
+DIST shotwell-0.32.7.tar.xz 35339216 BLAKE2B db87ee9c161f57dad638b47c37fb2737c95645e987e2bab81697895d9a28f14ab22b4669f218ea0baadfc0e1115f45fb9b094f546299083d83d2486fa1c15f98 SHA512 3cb9c9f2981ead8410f42680f6b4976d3b2efcfe7ded4d5217d28ebb8e5c968062a004ad3353affa13e94d996208ebf26c01f4beaf03a2ef6a1bc43960488d14
diff --git a/media-gfx/shotwell/shotwell-0.32.2.ebuild b/media-gfx/shotwell/shotwell-0.32.2.ebuild
deleted file mode 100644
index d9d7341ea671..000000000000
--- a/media-gfx/shotwell/shotwell-0.32.2.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit gnome.org gnome2-utils meson optfeature vala xdg
-
-DESCRIPTION="Open source photo manager for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Apps/Shotwell"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~sparc x86"
-IUSE="opencv udev"
-
-DEPEND="
- >=x11-libs/gtk+-3.22.0:3
- >=dev-libs/glib-2.40.0:2
- >=dev-libs/libgee-0.8.5:0.8=
- >=net-libs/webkit-gtk-2.26:4.1
- net-libs/libsoup:3.0
- >=dev-libs/json-glib-0.7.6
- >=dev-libs/libxml2-2.6.32:2
- x11-libs/gdk-pixbuf:2
- >=dev-db/sqlite-3.5.9:3
- >=media-libs/gstreamer-1.20:1.0
- >=media-libs/gst-plugins-base-1.20:1.0
- >=media-libs/libgphoto2-2.5:=
- udev? ( >=dev-libs/libgudev-145:= )
- >=media-libs/gexiv2-0.12.3
- >=media-libs/libraw-0.13.2:=
- >=media-libs/libexif-0.6.16
- app-crypt/libsecret
- >=dev-libs/libportal-0.5:=[gtk]
- media-libs/libwebp:=
-
- >=app-crypt/gcr-3:0=[gtk]
- x11-libs/cairo
- opencv? ( >=media-libs/opencv-4.0.0:= )
-"
-RDEPEND="${DEPEND}
- media-plugins/gst-plugins-gdkpixbuf:1.0
- media-plugins/gst-plugins-meta:1.0
-"
-BDEPEND="
- $(vala_depend)
- dev-libs/appstream-glib
- dev-libs/glib
- dev-util/gdbus-codegen
- dev-util/itstool
- >=sys-devel/gettext-0.19.8
- virtual/pkgconfig
- net-libs/libsoup:3.0[vala]
- media-libs/gexiv2[vala]
- app-crypt/gcr:0[vala]
-"
-
-src_prepare() {
- default
- vala_setup
- xdg_environment_reset
-}
-
-src_configure() {
- local emesonargs=(
- -Dunity_support=false
- # -Dpublishers # In 0.30.2 all get compiled in anyways, even if restricted list, affects only runtime support
- #trace
- #measure
- -Ddupe_detection=true
- $(meson_use udev)
- -Dinstall_apport_hook=false
- $(meson_use opencv face_detection)
- -Dfatal_warnings=false
- )
- meson_src_configure
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- gnome2_schemas_update
-
- optfeature "Enable support for the AVIF format" media-libs/libavif[gdk-pixbuf]
- optfeature "Enable support for the HEIF format" media-libs/libheif[gdk-pixbuf]
- optfeature "Enable support for the JPEG format" x11-libs/gdk-pixbuf[jpeg]
- optfeature "Enable support for the TIFF format" x11-libs/gdk-pixbuf[tiff]
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
- gnome2_schemas_update
-}
diff --git a/media-gfx/shotwell/shotwell-0.32.3.ebuild b/media-gfx/shotwell/shotwell-0.32.7.ebuild
index 2e14de026137..3f297331f776 100644
--- a/media-gfx/shotwell/shotwell-0.32.3.ebuild
+++ b/media-gfx/shotwell/shotwell-0.32.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
inherit gnome.org gnome2-utils meson optfeature vala xdg
DESCRIPTION="Open source photo manager for GNOME"
-HOMEPAGE="https://wiki.gnome.org/Apps/Shotwell"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/shotwell"
LICENSE="LGPL-2.1"
SLOT="0"
diff --git a/media-gfx/simple-scan/Manifest b/media-gfx/simple-scan/Manifest
index cdd154e673d1..242ccf8b0145 100644
--- a/media-gfx/simple-scan/Manifest
+++ b/media-gfx/simple-scan/Manifest
@@ -1 +1 @@
-DIST simple-scan-44.0.tar.xz 1198824 BLAKE2B 2bc9ea19a99b02d6acdb21036558bd2d42751699a89d41ec4da3336c061ecc7ad249b34ab0b30c6a6fc162fb7f6538859d1c29b2c9a843f2c2a8785dadc8a086 SHA512 8543b687eafec4f2460efa446146b4fe3a0ad469e5dcc5fcd19a02484cbfac5bce80741b488217af44c580720a01577a8e78479a4d2e96307da3de9dcfa467c6
+DIST simple-scan-46.0.tar.xz 1136672 BLAKE2B 0ee2dd5392ed1a888948183e9efbd8943287baad66dd45351cbbb32a9a4c17903415676b3e6e00203d8a3572e90397b51bc23ecec2ad6cfa6597a10ffdd5bcf4 SHA512 f7c4433536f59c71f066cdae51b0de1b0dcf9b8af00f3bedb4c1be281d09f9ce122666ed849bd88de8868042429f14bb7b01409f8a006360ce4285000fd30bdc
diff --git a/media-gfx/simple-scan/files/40.0-add-control-optional-deps.patch b/media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch
index 5ea8f56323fa..18e17c2315e0 100644
--- a/media-gfx/simple-scan/files/40.0-add-control-optional-deps.patch
+++ b/media-gfx/simple-scan/files/46.0-add-control-optional-deps.patch
@@ -54,7 +54,7 @@ index 3f699eb..0c8965e 100644
+++ b/src/meson.build
@@ -1,16 +1,20 @@
vala_args = [ '--pkg=posix', '--vapidir=' + meson.current_source_dir () ]
- dependencies = [ glib_dep, gtk_dep, libhandy_dep, zlib_dep, cairo_dep, gdk_pixbuf_dep, gusb_dep, sane_dep ]
+ dependencies = [ glib_dep, gtk_dep, libadwaita_dep, zlib_dep, cairo_dep, gdk_pixbuf_dep, gusb_dep, sane_dep ]
-if colord_dep.found ()
+if get_option('colord')
vala_args += [ '-D', 'HAVE_COLORD' ]
diff --git a/media-gfx/simple-scan/simple-scan-44.0.ebuild b/media-gfx/simple-scan/simple-scan-46.0.ebuild
index 153058476d65..8476bab6e786 100644
--- a/media-gfx/simple-scan/simple-scan-44.0.ebuild
+++ b/media-gfx/simple-scan/simple-scan-46.0.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit gnome.org gnome2-utils meson python-any-r1 vala xdg
DESCRIPTION="Simple document scanning utility"
@@ -15,8 +15,8 @@ IUSE="colord webp"
DEPEND="
>=dev-libs/glib-2.38:2
- >=x11-libs/gtk+-3.24:3
- >=gui-libs/libhandy-1.6.0:1
+ >=gui-libs/gtk-4.10.0:4
+ >=gui-libs/libadwaita-1.2.0:1
>=sys-libs/zlib-1.2.3.1:=
x11-libs/cairo
x11-libs/gdk-pixbuf:2
@@ -35,14 +35,14 @@ BDEPEND="
dev-util/itstool
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
- gui-libs/libhandy:1[vala]
+ gui-libs/libadwaita:1[vala]
dev-libs/libgusb[vala]
colord? ( x11-misc/colord[vala] )
"
PATCHES=(
# Add control for optional dependencies
- "${FILESDIR}"/40.0-add-control-optional-deps.patch
+ "${FILESDIR}"/"${PV}"-add-control-optional-deps.patch
)
src_prepare() {
diff --git a/media-gfx/skanpage/Manifest b/media-gfx/skanpage/Manifest
index e6c4ad091a2a..e9d63e01bad1 100644
--- a/media-gfx/skanpage/Manifest
+++ b/media-gfx/skanpage/Manifest
@@ -1,2 +1,2 @@
-DIST skanpage-23.08.4.tar.xz 1315848 BLAKE2B 5e1e039dddb5c5740c6ff3fe3e55a8bf500c871937db50d802e73e4f4584ceb79c19eb1e5c58246a60ccf6239da36c1501b2da8f678e6d775af0f3ad2cabb962 SHA512 34780d9d66351ce266a30b5d09fa84ef8f7b42c4dc45c9644cc5f229e6bae75b3d6a24544191b9616e60f7436fb6a9a6c57d0bdfeb81bc9562961fd9c3d8f0bd
DIST skanpage-23.08.5.tar.xz 1317292 BLAKE2B 2ee8e7db4e08c9f6ecac93789b20fcb862f56da8d44d5540268dd71f5e1e79c93c7d67455c534f2b0a50f4f2f99bcfdc1989dfd6ecafb7bd3c5a7bc15ab8880d SHA512 d5ddd8a52ad42421d79a6817eb3430996a9d968b2f824ca3c5adaf9bef69c60f6270b72a9d87308834b79f3038b6347b242c8fa635fd8c28953533061e21d158
+DIST skanpage-24.05.2.tar.xz 1332884 BLAKE2B 11d66fec7f13a658d652ca2c70d7f46e50d6c965903573ecfd9ffb4d259c7dd4fc9d2155297c9ffff928ae3c22d67b5642f8c4a31852b1b3f582675bcbb8459b SHA512 aa5dcde24a72332986ca68fbb457097ba08fae04c186654094dbff2ebd0f9b22688370f8a87eed54f0e16265a42adb297d189856a276d8cf56227b90dd7c6ab8
diff --git a/media-gfx/skanpage/skanpage-23.08.4.ebuild b/media-gfx/skanpage/skanpage-23.08.4.ebuild
deleted file mode 100644
index e03bdc71cba1..000000000000
--- a/media-gfx/skanpage/skanpage-23.08.4.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KDE_ORG_CATEGORY="utilities"
-PVCUT=$(ver_cut 1-3)
-KFMIN=5.106.0
-QTMIN=5.15.9
-inherit ecm gear.kde.org
-
-DESCRIPTION="Multi-page scanning application supporting image and pdf files"
-HOMEPAGE="https://apps.kde.org/skanpage/"
-
-LICENSE="|| ( GPL-2 GPL-3 ) CC0-1.0"
-SLOT="5"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
-IUSE="ocr"
-
-DEPEND="
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtquickcontrols2-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=kde-apps/libksane-${PVCUT}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kcrash-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
- >=kde-frameworks/kirigami-${KFMIN}:5
- >=kde-frameworks/kjobwidgets-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- >=kde-frameworks/purpose-${KFMIN}:5
- media-libs/kquickimageeditor:5
- >=media-libs/ksanecore-${PVCUT}:5
- ocr? (
- app-text/tesseract:=
- media-libs/leptonica:=
- )
-"
-RDEPEND="${DEPEND}"
-
-src_configure() {
- local mycmakeargs=(
- $(cmake_use_find_package ocr Tesseract)
- $(cmake_use_find_package ocr Leptonica)
- )
- ecm_src_configure
-}
diff --git a/media-gfx/skanpage/skanpage-23.08.5.ebuild b/media-gfx/skanpage/skanpage-23.08.5.ebuild
index 708817fe6b64..e03bdc71cba1 100644
--- a/media-gfx/skanpage/skanpage-23.08.5.ebuild
+++ b/media-gfx/skanpage/skanpage-23.08.5.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://apps.kde.org/skanpage/"
LICENSE="|| ( GPL-2 GPL-3 ) CC0-1.0"
SLOT="5"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
IUSE="ocr"
DEPEND="
diff --git a/media-gfx/skanpage/skanpage-24.05.2.ebuild b/media-gfx/skanpage/skanpage-24.05.2.ebuild
new file mode 100644
index 000000000000..89428258adfb
--- /dev/null
+++ b/media-gfx/skanpage/skanpage-24.05.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_CATEGORY="utilities"
+PVCUT=$(ver_cut 1-3)
+KFMIN=6.3.0
+QTMIN=6.6.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Multi-page scanning application supporting image and pdf files"
+HOMEPAGE="https://apps.kde.org/skanpage/"
+
+LICENSE="|| ( GPL-2 GPL-3 ) CC0-1.0"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64"
+IUSE="ocr"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[concurrent,gui,network,widgets]
+ >=dev-qt/qtdeclarative-${QTMIN}:6
+ >=dev-qt/qtwebengine-${QTMIN}:6[pdfium]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kirigami-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ >=kde-frameworks/purpose-${KFMIN}:6
+ media-libs/kquickimageeditor:6
+ >=media-libs/ksanecore-${PVCUT}:6
+ ocr? (
+ >=app-text/tesseract-5:=
+ media-libs/leptonica:=
+ )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package ocr Tesseract)
+ $(cmake_use_find_package ocr Leptonica)
+ )
+ ecm_src_configure
+}
diff --git a/media-gfx/superslicer/Manifest b/media-gfx/superslicer/Manifest
index 006a776d5fba..3fa62116d439 100644
--- a/media-gfx/superslicer/Manifest
+++ b/media-gfx/superslicer/Manifest
@@ -1,4 +1,6 @@
-DIST superslicer-2.5.59.0-profiles.tar.gz 15322406 BLAKE2B cfa89697e832e0601746cb21250e258617bcc0966dd111c82ae43a9720b3ffb760f57827a1f35c8ad57a23a7ffb4c78e48ec76d6e40b364f321d0f83c4d10939 SHA512 bbdc6bfa8e21a4bdbca903a367f033f9cb5a1966bd0688bcc81314ba9ee45fee37cb892c82be35e865137c4df7c1fabceb8e6de46316338df2af4a590de91c76
-DIST superslicer-2.5.59.0.tar.gz 45360646 BLAKE2B da65610270ed4c7d55b5bc495d9970812af94f424345088782b3a45b97fcf0f4b58bdc0417b89ed49e21d8c250535baa7cb74344f43438fbde8daf1b3acfacdd SHA512 1d2c0316c91bf0d65fb366806e9ea868bc93fae33deb580a324ce065fd3789ff1b600e9ace400db4988b371b1c36ef0c3ea2b52cde0d48984f312dd8d7ef3a1c
+DIST superslicer-2.5.59.10-profiles.tar.gz 17933533 BLAKE2B d11e8660a9c04221ece8352695a78b302d0d934fca4cc26c17b44ba74d99271aa2f0088de4f36f718827f22073f5bdd90d1163c44d0fe0139b73e55929019ec8 SHA512 43dfe882fb52840abdcbc6c3c4441f7a02b2f21bfa986594e2c6399823508433a29d7372cdf28dab442ae831c0b89d1792e349944e797c899aaffeaf6b738ad6
+DIST superslicer-2.5.59.10.tar.gz 46034708 BLAKE2B 7d30b7e365d336725606f298b0b8ecbf56170e822c8d00a323d45bdf93ae399fb0a312e542ebde51642b7404820604338bd3606add60aad5c3e492e73ef5a28f SHA512 44f46a739f8e1769dd1883dd8ff88c6b3f0efbea2abcf9281cca22e48693ca8643a911c24325f0b8df7c66e3d32ad2e51854f09a67a4f2738ce0673c19485f1b
DIST superslicer-2.5.59.2-profiles.tar.gz 16253775 BLAKE2B 20c99b14ba8ee26ea2a210962e78ea21928a5f32b1e799cbdbe60a3ef587ae1368efce885f5d253468ee9974af6a4419890e56d7df33761732bcefe8dbbc019e SHA512 c20ec66a95d5ec3e1e4fd8b1936bf1a4fc32fbad2c3d78774d5c2480be8a9dcacba5e561c57774a2c761d5189466083e7b6bd9b021a4ca7676e6a5e9676439d7
DIST superslicer-2.5.59.2.tar.gz 45622782 BLAKE2B ff2fecf233d2710d706b64eb2191bfac39df3f631634de5f9eb1bca6ca712e94b0283beb7c6e9f3b293dc308b50240871ef8651a5355a4d7c5ea6092ac1a836b SHA512 af8878bd8e0c3e0dd5247ce01bdbd2b42b6766d81efbde11b71c6642787a12dfeaea91e653ac928066b9610cd911ea1f4dc77cf4823639030b3c104d955b8cbd
+DIST superslicer-2.5.59.8-profiles.tar.gz 17931886 BLAKE2B 953a777dd12971c355a5f48148d4c3831b9435cf08f1baecb32ff0ef6245678f81c53bf5078cc4d6d04642e9ee18e1023d5d1578ebdf1384c7c1ce44a1153c50 SHA512 2e4561de7c57308a91c8964c8a957bc10c5e4cedc47c5fc37633bbcf78e3576ed1eaa6d7126485e94eb0aa593940c73a460f3d5ad65f33001d32953caa2fb4e1
+DIST superslicer-2.5.59.8.tar.gz 46021260 BLAKE2B 04abffd1a9cdf417d544539d5cde9b3559f2da7c1cb24cfa0e4a5d11359bca53cb25a90a3a14b26ee10e33e283ba4774d404265e6740b5457f82110be2a44af9 SHA512 57ef6c129c24378d6f4f78d34a60ed15668a8c5c266fa706937edebbd7b52d145657aae1e46a7b1d19dabaf403465bc5af50a94fa70205456bfc87a1458bac6e
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch
deleted file mode 100644
index 1cb0d9f1afff..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost-1.81-std-wxString-to-std-wstring.patch
+++ /dev/null
@@ -1,40 +0,0 @@
---- a/src/slic3r/GUI/PrintHostDialogs.cpp 2022-12-21 10:21:43.583075853 +1100
-+++ b/src/slic3r/GUI/PrintHostDialogs.cpp 2022-12-21 10:23:03.902694287 +1100
-@@ -79,8 +79,8 @@ PrintHostSendDialog::PrintHostSendDialog
- if (size_t extension_start = recent_path.find_last_of('.'); extension_start != std::string::npos)
- m_valid_suffix = recent_path.substr(extension_start);
- // .gcode suffix control
-- auto validate_path = [this](const wxString &path) -> bool {
-- if (! path.Lower().EndsWith(m_valid_suffix.Lower())) {
-+ auto validate_path = [this](const std::wstring &path) -> bool {
-+ if (! wxString(path).Lower().EndsWith(m_valid_suffix.Lower())) {
- MessageDialog msg_wingow(this, wxString::Format(_L("Upload filename doesn't end with \"%s\". Do you wish to continue?"), m_valid_suffix), wxString(SLIC3R_APP_NAME), wxYES | wxNO);
- if (msg_wingow.ShowModal() == wxID_NO)
- return false;
-@@ -90,7 +90,7 @@ PrintHostSendDialog::PrintHostSendDialog
-
- auto* btn_ok = add_button(wxID_OK, true, _L("Upload"));
- btn_ok->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::None;
- EndDialog(wxID_OK);
- }
-@@ -100,7 +100,7 @@ PrintHostSendDialog::PrintHostSendDialog
- if (post_actions.has(PrintHostPostUploadAction::StartPrint)) {
- auto* btn_print = add_button(wxID_YES, false, _L("Upload and Print"));
- btn_print->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::StartPrint;
- EndDialog(wxID_OK);
- }
-@@ -111,7 +111,7 @@ PrintHostSendDialog::PrintHostSendDialog
- // Using wxID_MORE as a button identifier to be different from the other buttons, wxID_MORE has no other meaning here.
- auto* btn_simulate = add_button(wxID_MORE, false, _L("Upload and Simulate"));
- btn_simulate->Bind(wxEVT_BUTTON, [this, validate_path](wxCommandEvent&) {
-- if (validate_path(txt_filename->GetValue())) {
-+ if (validate_path(txt_filename->GetValue().ToStdWstring())) {
- post_upload_action = PrintHostPostUploadAction::StartSimulation;
- EndDialog(wxID_OK);
- }
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch
deleted file mode 100644
index 4f847aaacb92..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-boost.patch
+++ /dev/null
@@ -1,256 +0,0 @@
-diff --git a/src/hints/HintsToPot.cpp b/src/hints/HintsToPot.cpp
-index 7c8029cde..4791f0612 100644
---- a/src/hints/HintsToPot.cpp
-+++ b/src/hints/HintsToPot.cpp
-@@ -9,7 +9,7 @@
-
- bool write_to_pot(boost::filesystem::path path, const std::vector<std::pair<std::string, std::string>>& data)
- {
-- boost::filesystem::ofstream file(std::move(path), std::ios_base::app);
-+ boost::nowide::ofstream file(path.string(), std::ios_base::app);
- for (const auto& element : data)
- {
- //Example of .pot element
-diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp
-index f029b3d72..18dc7396e 100644
---- a/src/libslic3r/AppConfig.cpp
-+++ b/src/libslic3r/AppConfig.cpp
-@@ -1,3 +1,4 @@
-+#include <boost/filesystem.hpp>
- #include "libslic3r/libslic3r.h"
- #include "libslic3r/Utils.hpp"
- #include "AppConfig.hpp"
-diff --git a/src/libslic3r/AppConfig.hpp b/src/libslic3r/AppConfig.hpp
-index d811ddcc2..1a7023061 100644
---- a/src/libslic3r/AppConfig.hpp
-+++ b/src/libslic3r/AppConfig.hpp
-@@ -5,6 +5,7 @@
- #include <map>
- #include <string>
-
-+#include <boost/filesystem/path.hpp>
- #include <boost/algorithm/string/trim_all.hpp>
-
- #include "libslic3r/Config.hpp"
-diff --git a/src/libslic3r/LocalesUtils.cpp b/src/libslic3r/LocalesUtils.cpp
-index 5bf520568..7b870520b 100644
---- a/src/libslic3r/LocalesUtils.cpp
-+++ b/src/libslic3r/LocalesUtils.cpp
-@@ -1,3 +1,4 @@
-+#include <boost/lexical_cast.hpp>
- #include "LocalesUtils.hpp"
-
- #ifdef _WIN32
-diff --git a/src/libslic3r/Preset.cpp b/src/libslic3r/Preset.cpp
-index 9e9fcda4f..d889e2abf 100644
---- a/src/libslic3r/Preset.cpp
-+++ b/src/libslic3r/Preset.cpp
-@@ -84,7 +84,7 @@ ConfigFileType guess_config_file_type(const ptree &tree)
- VendorProfile VendorProfile::from_ini(const boost::filesystem::path &path, bool load_all)
- {
- ptree tree;
-- boost::filesystem::ifstream ifs(path);
-+ boost::nowide::ifstream ifs(path.string());
- boost::property_tree::read_ini(ifs, tree);
- return VendorProfile::from_ini(tree, path, load_all);
- }
-diff --git a/src/libslic3r/Utils.hpp b/src/libslic3r/Utils.hpp
-index f525c9837..839f0f5e9 100644
---- a/src/libslic3r/Utils.hpp
-+++ b/src/libslic3r/Utils.hpp
-@@ -7,6 +7,7 @@
- #include <type_traits>
- #include <system_error>
-
-+#include <boost/filesystem.hpp>
- #include <boost/system/error_code.hpp>
-
- #include "libslic3r.h"
-diff --git a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-index 89212f27f..be157eafa 100644
---- a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-+++ b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-@@ -18,6 +18,11 @@
- #include <wx/notebook.h>
- #include "Notebook.hpp"
-
-+#include <boost/filesystem.hpp>
-+#include <boost/property_tree/ptree.hpp>
-+#include <boost/property_tree/ini_parser.hpp>
-+#include <boost/log/trivial.hpp>
-+
- #include "MainFrame.hpp"
- #include "wxExtensions.hpp"
-
-diff --git a/src/slic3r/GUI/DesktopIntegrationDialog.cpp b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
-index fcb7472e6..866ebaef5 100644
---- a/src/slic3r/GUI/DesktopIntegrationDialog.cpp
-+++ b/src/slic3r/GUI/DesktopIntegrationDialog.cpp
-@@ -14,6 +14,7 @@
- #include <boost/log/trivial.hpp>
- #include <boost/dll/runtime_symbol_info.hpp>
- #include <boost/algorithm/string/replace.hpp>
-+#include <boost/nowide/fstream.hpp>
-
- #include <wx/filename.h>
- #include <wx/stattext.h>
-@@ -503,4 +504,4 @@ DesktopIntegrationDialog::~DesktopIntegrationDialog()
-
- } // namespace GUI
- } // namespace Slic3r
--#endif // __linux__
-\ No newline at end of file
-+#endif // __linux__
-diff --git a/src/slic3r/GUI/FreeCADDialog.cpp b/src/slic3r/GUI/FreeCADDialog.cpp
-index 271e3ef2d..6bbdf3907 100644
---- a/src/slic3r/GUI/FreeCADDialog.cpp
-+++ b/src/slic3r/GUI/FreeCADDialog.cpp
-@@ -38,6 +38,7 @@
- #include <boost/log/trivial.hpp>
- #include <boost/property_tree/ptree.hpp>
- #include <boost/property_tree/json_parser.hpp>
-+#include <boost/nowide/fstream.hpp>
-
- // hack for process.hpp : it uses pid_t to set it as alias of int, but vc_x64_lib (wx thingy) as a '#define pid_t int'
- // and so boost/process has a line 'typedef int int'instead of 'typedef int pid_t' that makes it crash
-@@ -322,7 +323,7 @@ bool FreeCADDialog::load_text_from_file(const boost::filesystem::path &path) {
- try {
- std::locale loc = boost::locale::generator()("en_US.UTF-8");
- // Open the stream to 'lock' the file.
-- boost::filesystem::ifstream in;
-+ boost::nowide::ifstream in;
- in.imbue(loc);
- in.open(path);
- // Obtain the size of the file.
-@@ -369,7 +370,7 @@ bool FreeCADDialog::write_text_in_file(const wxString &towrite, const boost::fil
- boost::filesystem::create_directories(file.parent_path());
- std::locale loc = boost::locale::generator()("en_US.UTF-8");
- // Open the stream to 'lock' the file.
-- boost::filesystem::ofstream out;
-+ boost::nowide::ofstream out;
- out.imbue(loc);
- out.open(file);
- out << towrite;
-diff --git a/src/slic3r/GUI/GUI_App.cpp b/src/slic3r/GUI/GUI_App.cpp
-index 4cf21a36c..75b2a8e94 100644
---- a/src/slic3r/GUI/GUI_App.cpp
-+++ b/src/slic3r/GUI/GUI_App.cpp
-@@ -19,6 +19,7 @@
- #include <boost/lexical_cast.hpp>
- #include <boost/log/trivial.hpp>
- #include <boost/nowide/convert.hpp>
-+#include <boost/nowide/fstream.hpp>
-
- #include <wx/stdpaths.h>
- #include <wx/imagpng.h>
-diff --git a/src/slic3r/GUI/HintNotification.cpp b/src/slic3r/GUI/HintNotification.cpp
-index 32916303f..3a984bf38 100644
---- a/src/slic3r/GUI/HintNotification.cpp
-+++ b/src/slic3r/GUI/HintNotification.cpp
-@@ -14,12 +14,14 @@
- #include "libslic3r/Config.hpp"
- #include "libslic3r/PrintConfig.hpp"
-
-+#include <map>
-+
- #include <boost/algorithm/string/replace.hpp>
- #include <boost/filesystem.hpp>
- #include <boost/nowide/fstream.hpp>
- #include <boost/log/trivial.hpp>
- #include <boost/property_tree/ini_parser.hpp>
--#include <map>
-+
- #include <cereal/archives/binary.hpp>
- #include <cereal/types/string.hpp>
- #include <cereal/types/vector.hpp>
-@@ -65,7 +67,7 @@ inline void push_style_color(ImGuiCol idx, const ImVec4& col, bool fading_out, f
-
- void write_used_binary(const std::vector<std::string>& ids)
- {
-- boost::filesystem::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal"), std::ios::binary);
-+ boost::nowide::ofstream file((boost::filesystem::path(data_dir()) / "cache" / "hints.cereal").string(), std::ios::binary);
- cereal::BinaryOutputArchive archive(file);
- HintsCerealData cd { ids };
- try
-@@ -84,7 +86,7 @@ void read_used_binary(std::vector<std::string>& ids)
- BOOST_LOG_TRIVIAL(warning) << "Failed to load to hints.cereal. File does not exists. " << path.string();
- return;
- }
-- boost::filesystem::ifstream file(path);
-+ boost::nowide::ifstream file(path.string());
- cereal::BinaryInputArchive archive(file);
- HintsCerealData cd;
- try
-diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp
-index ffc600b0e..c8080d112 100644
---- a/src/slic3r/GUI/Preferences.cpp
-+++ b/src/slic3r/GUI/Preferences.cpp
-@@ -12,6 +12,7 @@
- #include "OG_CustomCtrl.hpp"
- #include "wxExtensions.hpp"
-
-+#include <boost/algorithm/string/split.hpp>
- #include <boost/filesystem.hpp>
- #include <boost/filesystem/path.hpp>
-
-diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp
-index 4565d1aec..6738cada9 100644
---- a/src/slic3r/GUI/ScriptExecutor.cpp
-+++ b/src/slic3r/GUI/ScriptExecutor.cpp
-@@ -4,6 +4,13 @@
- #include "Tab.hpp"
- #include "libslic3r/PresetBundle.hpp"
- #include "libslic3r/Print.hpp"
-+#include <boost/log/trivial.hpp>
-+#include <boost/lexical_cast.hpp>
-+#include <boost/algorithm/string/trim_all.hpp>
-+#include <boost/algorithm/string/erase.hpp>
-+#include <boost/algorithm/string/split.hpp>
-+#include <boost/filesystem.hpp>
-+#include <boost/filesystem/string_file.hpp>
-
- #include <string>
-
-diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
-index 173f0f762..a3eb553c8 100644
---- a/src/slic3r/GUI/Tab.cpp
-+++ b/src/slic3r/GUI/Tab.cpp
-@@ -36,6 +36,8 @@
- #include <boost/filesystem.hpp>
- #include <boost/filesystem/path.hpp>
- #include <boost/lexical_cast.hpp>
-+#include <boost/nowide/fstream.hpp>
-+#include <boost/log/trivial.hpp>
-
- #include "wxExtensions.hpp"
- #include "PresetComboBoxes.hpp"
-@@ -1692,7 +1694,7 @@ std::vector<Slic3r::GUI::PageShp> Tab::create_pages(std::string setting_type_nam
-
- //read file
- //std::ifstream filestream(ui_layout_file.c_str());
-- boost::filesystem::ifstream filestream(ui_layout_file);
-+ boost::nowide::ifstream filestream(ui_layout_file);
- std::string full_line;
- while (std::getline(filestream, full_line)) {
- //remove spaces
-diff --git a/src/slic3r/Utils/Http.cpp b/src/slic3r/Utils/Http.cpp
-index 9bab91860..47568721a 100644
---- a/src/slic3r/Utils/Http.cpp
-+++ b/src/slic3r/Utils/Http.cpp
-@@ -11,6 +11,7 @@
- #include <boost/filesystem.hpp>
- #include <boost/format.hpp>
- #include <boost/log/trivial.hpp>
-+#include <boost/nowide/fstream.hpp>
-
- #include <curl/curl.h>
-
-@@ -52,7 +53,7 @@ namespace Slic3r {
- % error;
- })
- .on_complete([&](std::string body, unsigned /* http_status */) {
-- boost::filesystem::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc);
-+ boost::nowide::fstream file(tmp_path, std::ios::out | std::ios::binary | std::ios::trunc);
- file.write(body.c_str(), body.size());
- file.close();
- boost::filesystem::rename(tmp_path, target_path);
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch
deleted file mode 100644
index 6557d6653640..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-cereal.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 549d06f0d..bffb63d9b 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -496,6 +496,9 @@ endif ()
-
- # Find the Cereal serialization library
- find_package(cereal REQUIRED)
-+if (NOT TARGET cereal::cereal)
-+ add_library(cereal::cereal ALIAS cereal)
-+endif ()
-
- # l10n
- set(L10N_DIR "${SLIC3R_RESOURCES_DIR}/localization")
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index ec44417fa..9aae6dc11 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -141,7 +141,7 @@ if (NOT WIN32)
- set_target_properties(Slic3r PROPERTIES OUTPUT_NAME "${SLIC3R_APP_CMD}")
- endif ()
-
--target_link_libraries(Slic3r libslic3r cereal)
-+target_link_libraries(Slic3r libslic3r cereal::cereal)
- if (APPLE)
- # add_compile_options(-stdlib=libc++)
- # add_definitions(-DBOOST_THREAD_DONT_USE_CHRONO -DBOOST_NO_CXX11_RVALUE_REFERENCES -DBOOST_THREAD_USES_MOVE)
-diff --git a/src/libslic3r/CMakeLists.txt b/src/libslic3r/CMakeLists.txt
-index c8f22a482..832149338 100644
---- a/src/libslic3r/CMakeLists.txt
-+++ b/src/libslic3r/CMakeLists.txt
-@@ -399,7 +399,7 @@ target_include_directories(libslic3r PUBLIC ${EXPAT_INCLUDE_DIRS})
- target_link_libraries(libslic3r
- libnest2d
- admesh
-- cereal
-+ cereal::cereal
- libigl
- miniz
- boost_libs
-diff --git a/src/slic3r/CMakeLists.txt b/src/slic3r/CMakeLists.txt
-index f71b809b3..c64a2c5a9 100644
---- a/src/slic3r/CMakeLists.txt
-+++ b/src/slic3r/CMakeLists.txt
-@@ -302,7 +302,7 @@ target_compile_definitions(libslic3r_gui PRIVATE $<$<BOOL:${SLIC3R_ALPHA}>:SLIC3
-
- encoding_check(libslic3r_gui)
-
--target_link_libraries(libslic3r_gui libslic3r avrdude cereal imgui GLEW::GLEW OpenGL::GL hidapi exif angelscript libcurl ${wxWidgets_LIBRARIES})
-+target_link_libraries(libslic3r_gui libslic3r avrdude cereal::cereal imgui GLEW::GLEW OpenGL::GL hidapi exif angelscript libcurl ${wxWidgets_LIBRARIES})
-
- if (MSVC)
- target_link_libraries(libslic3r_gui Setupapi.lib)
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-dont-install-bundled-angelscript.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-dont-install-bundled-angelscript.patch
deleted file mode 100644
index 603a96ac67a5..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-dont-install-bundled-angelscript.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-diff --git a/src/angelscript/CMakeLists.txt b/src/angelscript/CMakeLists.txt
-index fed80a0ad..a65d9f8d5 100644
---- a/src/angelscript/CMakeLists.txt
-+++ b/src/angelscript/CMakeLists.txt
-@@ -202,48 +202,3 @@ endif()
-
- # Don't override the default runtime output path to avoid conflicts when building for multiple target platforms
- #set(RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
--
--#See https://cmake.org/cmake/help/latest/manual/cmake-packages.7.html#creating-packages for a detailed explanation about this part
--install(TARGETS ${ANGELSCRIPT_LIBRARY_NAME} EXPORT AngelscriptTargets
-- RUNTIME DESTINATION bin
-- LIBRARY DESTINATION lib
-- ARCHIVE DESTINATION lib
-- INCLUDES DESTINATION include
--)
--
--install(FILES
-- ${CMAKE_CURRENT_SOURCE_DIR}/include/angelscript.h
-- DESTINATION include
-- COMPONENT Devel
--)
--
--include(CMakePackageConfigHelpers)
--write_basic_package_version_file(
-- "${CMAKE_CURRENT_BINARY_DIR}/Angelscript/AngelscriptConfigVersion.cmake"
-- VERSION ${PROJECT_VERSION}
-- COMPATIBILITY AnyNewerVersion
--)
--
--export(EXPORT AngelscriptTargets
-- FILE "${CMAKE_CURRENT_BINARY_DIR}/Angelscript/AngelscriptTargets.cmake"
-- NAMESPACE Angelscript::
--)
--configure_file(cmake/AngelscriptConfig.cmake
-- "${CMAKE_CURRENT_BINARY_DIR}/Angelscript/AngelscriptConfig.cmake"
-- COPYONLY
--)
--
--set(ConfigPackageLocation lib/cmake/Angelscript)
--install(EXPORT AngelscriptTargets
-- FILE AngelscriptTargets.cmake
-- NAMESPACE Angelscript::
-- DESTINATION ${ConfigPackageLocation}
--)
--install(
-- FILES
-- cmake/AngelscriptConfig.cmake
-- "${CMAKE_CURRENT_BINARY_DIR}/Angelscript/AngelscriptConfigVersion.cmake"
-- DESTINATION ${ConfigPackageLocation}
-- COMPONENT Devel
--)
--
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch
deleted file mode 100644
index 5a5c9960cc00..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-fix-gcodeviewer-symlink.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index 9aae6dc11..75835903e 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -299,5 +299,5 @@ else ()
- install(TARGETS Slic3r RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
-
- # Install the symlink for gcodeviewer
-- install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink slic3r ${GCODEVIEWER_APP_CMD} WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})")
-+ install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink ${SLIC3R_APP_CMD} ${GCODEVIEWER_APP_CMD} WORKING_DIRECTORY \$ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR})")
- endif ()
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch
deleted file mode 100644
index 27f29fa9f6f1..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-missing-includes.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/src/libslic3r/AppConfig.cpp b/src/libslic3r/AppConfig.cpp
-index 18dc7396e..95483e844 100644
---- a/src/libslic3r/AppConfig.cpp
-+++ b/src/libslic3r/AppConfig.cpp
-@@ -1,6 +1,7 @@
- #include <boost/filesystem.hpp>
- #include "libslic3r/libslic3r.h"
- #include "libslic3r/Utils.hpp"
-+#include "libslic3r/I18N.hpp"
- #include "AppConfig.hpp"
- #include "Exception.hpp"
- #include "LocalesUtils.hpp"
-diff --git a/src/libslic3r/PerimeterGenerator.hpp b/src/libslic3r/PerimeterGenerator.hpp
-index d7401f3fb..a95b7749d 100644
---- a/src/libslic3r/PerimeterGenerator.hpp
-+++ b/src/libslic3r/PerimeterGenerator.hpp
-@@ -1,6 +1,7 @@
- #ifndef slic3r_PerimeterGenerator_hpp_
- #define slic3r_PerimeterGenerator_hpp_
-
-+#include "ClipperUtils.hpp"
- #include "libslic3r.h"
- #include <vector>
- #include "ExPolygonCollection.hpp"
-diff --git a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-index be157eafa..d63eb110e 100644
---- a/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-+++ b/src/slic3r/GUI/CreateMMUTiledCanvas.cpp
-@@ -40,6 +40,7 @@
- #include <wx/odcombo.h>
- #include <wx/textctrl.h>
- #include <wx/wrapsizer.h>
-+#include <wx/rawbmp.h>
- #include "wxExtensions.hpp"
-
- #include <boost/filesystem/path.hpp>
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch
deleted file mode 100644
index 8ae71c13f4d3..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-openexr3.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/cmake/modules/FindOpenVDB.cmake b/cmake/modules/FindOpenVDB.cmake
-index 4fde5fa4a..566e73a5e 100644
---- a/cmake/modules/FindOpenVDB.cmake
-+++ b/cmake/modules/FindOpenVDB.cmake
-@@ -347,28 +347,10 @@ macro(just_fail msg)
- return()
- endmacro()
-
--find_package(IlmBase QUIET)
--if(NOT IlmBase_FOUND)
-- pkg_check_modules(IlmBase QUIET IlmBase)
--endif()
--if (IlmBase_FOUND AND NOT TARGET IlmBase::Half)
-- message(STATUS "Falling back to IlmBase found by pkg-config...")
--
-- find_library(IlmHalf_LIBRARY NAMES Half)
-- if(IlmHalf_LIBRARY-NOTFOUND OR NOT IlmBase_INCLUDE_DIRS)
-- just_fail("IlmBase::Half can not be found!")
-- endif()
--
-- add_library(IlmBase::Half UNKNOWN IMPORTED)
-- set_target_properties(IlmBase::Half PROPERTIES
-- IMPORTED_LOCATION "${IlmHalf_LIBRARY}"
-- INTERFACE_INCLUDE_DIRECTORIES "${IlmBase_INCLUDE_DIRS}")
--elseif(NOT IlmBase_FOUND)
-- just_fail("IlmBase::Half can not be found!")
--endif()
- find_package(TBB ${_quiet} ${_required} COMPONENTS tbb)
- find_package(ZLIB ${_quiet} ${_required})
- find_package(Boost ${_quiet} ${_required} COMPONENTS iostreams system )
-+find_package(Imath CONFIG)
-
- # Use GetPrerequisites to see which libraries this OpenVDB lib has linked to
- # which we can query for optional deps. This basically runs ldd/otoll/objdump
-@@ -419,7 +401,7 @@ foreach(PREREQUISITE ${_OPENVDB_PREREQUISITE_LIST})
- set(OpenVDB_USES_LOG4CPLUS ON)
- endif()
-
-- string(FIND ${PREREQUISITE} "IlmImf" _HAS_DEP)
-+ string(FIND ${PREREQUISITE} "OpenEXR" _HAS_DEP)
- if(NOT ${_HAS_DEP} EQUAL -1)
- set(OpenVDB_USES_ILM ON)
- endif()
-@@ -450,11 +432,7 @@ if(OpenVDB_USES_LOG4CPLUS)
- find_package(Log4cplus ${_quiet} ${_required})
- endif()
-
--if(OpenVDB_USES_ILM)
-- find_package(IlmBase ${_quiet} ${_required})
--endif()
--
--if(OpenVDB_USES_EXR)
-+if(OpenVDB_USES_ILM OR OpenVDB_USES_EXR)
- find_package(OpenEXR ${_quiet} ${_required})
- endif()
-
-@@ -471,7 +449,7 @@ endif()
- set(_OPENVDB_VISIBLE_DEPENDENCIES
- Boost::iostreams
- Boost::system
-- IlmBase::Half
-+ Imath::Imath
- )
-
- set(_OPENVDB_DEFINITIONS)
-@@ -481,10 +459,7 @@ endif()
-
- if(OpenVDB_USES_EXR)
- list(APPEND _OPENVDB_VISIBLE_DEPENDENCIES
-- IlmBase::IlmThread
-- IlmBase::Iex
-- IlmBase::Imath
-- OpenEXR::IlmImf
-+ OpenEXR::OpenEXR
- )
- list(APPEND _OPENVDB_DEFINITIONS "-DOPENVDB_TOOLS_RAYTRACER_USE_EXR")
- endif()
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch b/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch
deleted file mode 100644
index abe4d7bf60cc..000000000000
--- a/media-gfx/superslicer/files/superslicer-2.5.59.0-wxgtk3-wayland.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-diff --git a/src/slic3r/GUI/GUI.cpp b/src/slic3r/GUI/GUI.cpp
-index ccd3cc083..be8bbe5cd 100644
---- a/src/slic3r/GUI/GUI.cpp
-+++ b/src/slic3r/GUI/GUI.cpp
-@@ -33,6 +33,16 @@ class AppConfig;
-
- namespace GUI {
-
-+// wxgtk3 is broken on wayland: https://trac.wxwidgets.org/ticket/17702
-+#ifdef __WXGTK3__
-+struct ForceX11 {
-+ ForceX11() {
-+ setenv("GDK_BACKEND", "x11", 1);
-+ }
-+};
-+static struct ForceX11 forcex11;
-+#endif
-+
- #if __APPLE__
- IOPMAssertionID assertionID;
- #endif
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch b/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch
new file mode 100644
index 000000000000..8d9f11d3897d
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.10-boost-1.85.patch
@@ -0,0 +1,54 @@
+https://bugs.gentoo.org/936144
+https://github.com/supermerill/SuperSlicer/commit/75d4bee84740a8dcc9e4e2113795fd67107d03d1
+
+From 75d4bee84740a8dcc9e4e2113795fd67107d03d1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Hejl?= <hejl.lukas@gmail.com>
+Date: Wed, 3 Jan 2024 23:55:02 +0100
+Subject: [PATCH] Replace some deprecated boost functions.
+
+Actually, all those deprecated functions were internally called those new functions. So there isn't any risk to use them directly.
+---
+ src/libslic3r/PrintBase.cpp | 2 +-
+ src/libslic3r/utils.cpp | 2 +-
+ src/slic3r/GUI/RemovableDriveManager.cpp | 2 +-
+ 3 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/src/libslic3r/PrintBase.cpp b/src/libslic3r/PrintBase.cpp
+index 29bdc1301d0..60e40644cb8 100644
+--- a/src/libslic3r/PrintBase.cpp
++++ b/src/libslic3r/PrintBase.cpp
+@@ -123,7 +123,7 @@ std::string PrintBase::output_filename(const std::string &format, const std::str
+ filepath = filename + extension;
+ }
+ if (filepath.extension().empty())
+- filepath = boost::filesystem::change_extension(filepath, default_ext);
++ filepath.replace_extension(default_ext);
+ return filepath.string();
+ } catch (std::runtime_error &err) {
+ throw Slic3r::PlaceholderParserError(L("Failed processing of the output_filename_format template.") + "\n" + err.what());
+diff --git a/src/libslic3r/utils.cpp b/src/libslic3r/utils.cpp
+index 71089ceea64..6eac962b20e 100644
+--- a/src/libslic3r/utils.cpp
++++ b/src/libslic3r/utils.cpp
+@@ -836,7 +836,7 @@ CopyFileResult copy_file_inner(const boost::filesystem::path& source, const boos
+ // That may happen when copying on some exotic file system, for example Linux on Chrome.
+ copy_file_linux(source, target, ec);
+ #else // __linux__
+- boost::filesystem::copy_file(source, target, boost::filesystem::copy_option::overwrite_if_exists, ec);
++ boost::filesystem::copy_file(source, target, boost::filesystem::copy_options::overwrite_existing, ec);
+ #endif // __linux__
+ if (ec) {
+ error_message = ec.message();
+diff --git a/src/slic3r/GUI/RemovableDriveManager.cpp b/src/slic3r/GUI/RemovableDriveManager.cpp
+index 5fb8b013210..2f8ac96a1a2 100644
+--- a/src/slic3r/GUI/RemovableDriveManager.cpp
++++ b/src/slic3r/GUI/RemovableDriveManager.cpp
+@@ -202,7 +202,7 @@ namespace search_for_drives_internal
+ stat(path.c_str(), &buf);
+ uid_t uid = buf.st_uid;
+ if (getuid() == uid)
+- out.emplace_back(DriveData{ boost::filesystem::basename(boost::filesystem::path(path)), path });
++ out.emplace_back(DriveData{ boost::filesystem::path(path).stem().string(), path });
+ }
+ }
+ }
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch
new file mode 100644
index 000000000000..1ccef804d0b4
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-additional-imports-fixes.patch
@@ -0,0 +1,111 @@
+diff --git a/src/libslic3r/Extruder.hpp b/src/libslic3r/Extruder.hpp
+index e4e16d263..629fd6e0b 100644
+--- a/src/libslic3r/Extruder.hpp
++++ b/src/libslic3r/Extruder.hpp
+@@ -3,6 +3,7 @@
+
+ #include "libslic3r.h"
+ #include "Point.hpp"
++#include <optional>
+
+ namespace Slic3r {
+
+diff --git a/src/slic3r/GUI/Field.cpp b/src/slic3r/GUI/Field.cpp
+index 10cae794d..c82969e20 100644
+--- a/src/slic3r/GUI/Field.cpp
++++ b/src/slic3r/GUI/Field.cpp
+@@ -20,6 +20,7 @@
+ #include <wx/tglbtn.h>
+ #endif
+ #include <wx/tokenzr.h>
++#include <boost/algorithm/string.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/log/trivial.hpp>
+ #include "OG_CustomCtrl.hpp"
+diff --git a/src/slic3r/GUI/Preferences.cpp b/src/slic3r/GUI/Preferences.cpp
+index ab6039ff0..be01e890a 100644
+--- a/src/slic3r/GUI/Preferences.cpp
++++ b/src/slic3r/GUI/Preferences.cpp
+@@ -8,6 +8,7 @@
+
+ #include <wx/notebook.h>
+ #include <wx/scrolwin.h>
++#include <wx/display.h>
+ #include "Notebook.hpp"
+ #include "ButtonsDescription.hpp"
+ #include "OG_CustomCtrl.hpp"
+diff --git a/src/slic3r/GUI/Tab.cpp b/src/slic3r/GUI/Tab.cpp
+index a6c7b580e..1e1566f37 100644
+--- a/src/slic3r/GUI/Tab.cpp
++++ b/src/slic3r/GUI/Tab.cpp
+@@ -29,6 +29,7 @@
+ #include <wx/settings.h>
+ #include <wx/filedlg.h>
+
++#include <boost/algorithm/string.hpp>
+ #include <boost/algorithm/string/split.hpp>
+ #include <boost/algorithm/string/predicate.hpp>
+ #include <boost/algorithm/string/replace.hpp>
+diff --git a/src/libslic3r/ObjectID.hpp b/src/libslic3r/ObjectID.hpp
+index 782c58741..08dfba661 100644
+--- a/src/libslic3r/ObjectID.hpp
++++ b/src/libslic3r/ObjectID.hpp
+@@ -2,6 +2,7 @@
+ #define slic3r_ObjectID_hpp_
+
+ #include <cereal/access.hpp>
++#include <cereal/types/base_class.hpp>
+
+ namespace Slic3r {
+
+diff --git a/src/libslic3r/Format/BBConfig.hpp b/src/libslic3r/Format/BBConfig.hpp
+index a4b27675c..8d821bed5 100644
+--- a/src/libslic3r/Format/BBConfig.hpp
++++ b/src/libslic3r/Format/BBConfig.hpp
+@@ -2,6 +2,13 @@
+ #define slic3r_Format_BBconfig_hpp_
+
+ #include "miniz_extension.hpp"
++#include <fstream>
++#include <map>
++#include "libslic3r/Config.hpp"
++#include <boost/algorithm/string/replace.hpp>
++#include <boost/log/trivial.hpp>
++#include <boost/property_tree/ptree.hpp>
++#include <boost/property_tree/ini_parser.hpp>
+
+ #ifdef __APPLE__
+ #include <boost/filesystem.hpp>
+diff --git a/src/libslic3r/GCode/FanMover.cpp b/src/libslic3r/GCode/FanMover.cpp
+index 8a39d92c5..68e8c9254 100644
+--- a/src/libslic3r/GCode/FanMover.cpp
++++ b/src/libslic3r/GCode/FanMover.cpp
+@@ -13,9 +13,8 @@
+ #include "../PrintConfig.hpp"
+ #include "../Utils.hpp"
+ #include "Print.hpp"
+-
+-#include <boost/log/trivial.hpp>
+ */
++#include <boost/log/trivial.hpp>
+
+
+ namespace Slic3r {
+diff --git a/src/libslic3r/Format/bbs_3mf.cpp b/src/libslic3r/Format/bbs_3mf.cpp
+index f1570b7a4..777f1d722 100644
+--- a/src/libslic3r/Format/bbs_3mf.cpp
++++ b/src/libslic3r/Format/bbs_3mf.cpp
+@@ -43,11 +43,13 @@
+ #include <boost/property_tree/ptree.hpp>
+ #include <boost/property_tree/xml_parser.hpp>
+ #include <boost/foreach.hpp>
++#include <boost/thread/mutex.hpp>
+ //#include <openssl/md5.h>
+
+ namespace pt = boost::property_tree;
+
+ #include <tbb/parallel_reduce.h>
++#include <tbb/parallel_for.h>
+
+ #include <expat.h>
+ #include <Eigen/Dense>
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch
new file mode 100644
index 000000000000..9b948ed9c0c4
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-boost-replace-load-string-file.patch
@@ -0,0 +1,43 @@
+diff --git a/src/slic3r/GUI/ScriptExecutor.cpp b/src/slic3r/GUI/ScriptExecutor.cpp
+index f32e44204..272af5ec3 100644
+--- a/src/slic3r/GUI/ScriptExecutor.cpp
++++ b/src/slic3r/GUI/ScriptExecutor.cpp
+@@ -5,8 +5,11 @@
+ #include "libslic3r/PresetBundle.hpp"
+ #include "libslic3r/Print.hpp"
+
++#include <fstream>
+ #include <string>
+
++#include <boost/filesystem.hpp>
++
+ #include <angelscript/source/as_config.h>
+ #include <angelscript/add_on/autowrapper/aswrappedcall.h>
+ #include <angelscript/add_on/scriptarray/scriptarray.h>
+@@ -616,6 +619,17 @@ bool as_is_enabled(std::string &key)
+ return f->is_enabled();
+ }
+
++inline
++void load_string_file(const boost::filesystem::path& p, std::string& str)
++{
++ std::ifstream file;
++ file.exceptions(std::ifstream::failbit | std::ifstream::badbit);
++ file.open(p, std::ios_base::binary);
++ std::size_t sz = static_cast<std::size_t>(boost::filesystem::file_size(p));
++ str.resize(sz, '\0');
++ file.read(&str[0], sz);
++}
++
+ //function to reset a field
+ void as_back_initial_value(std::string& key) {
+ current_script->add_to_reset(key);
+@@ -745,7 +759,7 @@ void ScriptContainer::init(const std::string& tab_key, Tab* tab)
+ //res = builder.AddSectionFromFile(ui_script_file.string().c_str()); //seems to be problematic on cyrillic locale
+ {
+ std::string all_file;
+- boost::filesystem::load_string_file(ui_script_file, all_file);
++ load_string_file(ui_script_file, all_file);
+ res = builder.AddSectionFromMemory(ui_script_file.string().c_str(), all_file.c_str(), (unsigned int)(all_file.length()), 0);
+ }
+ if (res < 0) throw CompileErrorException("Error, can't build the script for tab " + tab_key);
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch
new file mode 100644
index 000000000000..5574340bce63
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-fix-compilation-error-gnu17.patch
@@ -0,0 +1,20 @@
+# https://github.com/prusa3d/PrusaSlicer/commit/4aa7366fafb7a3f91cc68d4a808f5195a4aa3dcf
+diff --git a/src/libslic3r/MeshBoolean.cpp b/src/libslic3r/MeshBoolean.cpp
+index d76bf468c7f..22232573953 100644
+--- a/src/libslic3r/MeshBoolean.cpp
++++ b/src/libslic3r/MeshBoolean.cpp
+@@ -152,12 +152,12 @@ indexed_triangle_set cgal_to_indexed_triangle_set(const _Mesh &cgalmesh)
+ const auto &vertices = cgalmesh.vertices();
+ int vsize = int(vertices.size());
+
+- for (auto &vi : vertices) {
++ for (const auto &vi : vertices) {
+ auto &v = cgalmesh.point(vi); // Don't ask...
+ its.vertices.emplace_back(to_vec3f(v));
+ }
+
+- for (auto &face : faces) {
++ for (const auto &face : faces) {
+ auto vtc = cgalmesh.vertices_around_face(cgalmesh.halfedge(face));
+
+ int i = 0;
diff --git a/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch b/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch
new file mode 100644
index 000000000000..441f647b037e
--- /dev/null
+++ b/media-gfx/superslicer/files/superslicer-2.5.59.8-libnest2d-link-xcb.patch
@@ -0,0 +1,12 @@
+diff --git a/src/libnest2d/CMakeLists.txt b/src/libnest2d/CMakeLists.txt
+index c18dc31cb..852d26d5e 100644
+--- a/src/libnest2d/CMakeLists.txt
++++ b/src/libnest2d/CMakeLists.txt
+@@ -24,5 +24,6 @@ set(LIBNEST2D_SRCFILES
+ add_library(libnest2d STATIC ${LIBNEST2D_SRCFILES})
+
+ target_include_directories(libnest2d PUBLIC ${CMAKE_CURRENT_LIST_DIR}/include)
+-target_link_libraries(libnest2d PUBLIC NLopt::nlopt TBB::tbb Boost::boost libslic3r)
++target_link_libraries(libnest2d PUBLIC NLopt::nlopt TBB::tbb Boost::boost
++ libslic3r xcb)
+ target_compile_definitions(libnest2d PUBLIC LIBNEST2D_THREADING_tbb LIBNEST2D_STATIC LIBNEST2D_OPTIMIZER_nlopt LIBNEST2D_GEOMETRIES_libslic3r)
diff --git a/media-gfx/superslicer/superslicer-2.5.59.10.ebuild b/media-gfx/superslicer/superslicer-2.5.59.10.ebuild
new file mode 100644
index 000000000000..b1c347c004cc
--- /dev/null
+++ b/media-gfx/superslicer/superslicer-2.5.59.10.ebuild
@@ -0,0 +1,109 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.0-gtk3"
+MY_PN="SuperSlicer"
+SLICER_PROFILES_COMMIT="ca25c7ec55dcc6073da61e39692c321cdb6497dc"
+
+inherit cmake wxwidgets xdg flag-o-matic
+
+DESCRIPTION="A mesh slicer to generate G-code for fused-filament-fabrication (3D printers)"
+HOMEPAGE="https://github.com/supermerill/SuperSlicer/"
+SRC_URI="
+ https://github.com/supermerill/SuperSlicer/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz
+ https://github.com/slic3r/slic3r-profiles/archive/${SLICER_PROFILES_COMMIT}.tar.gz -> ${P}-profiles.tar.gz
+"
+
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+
+RESTRICT="test"
+
+# No dep on sci-libs/libigl, in-tree version cannot build
+# static library currently. Using bundled one.
+RDEPEND="
+ dev-cpp/eigen:3
+ dev-cpp/tbb:=
+ dev-libs/boost:=[nls]
+ dev-libs/cereal
+ dev-libs/expat
+ dev-libs/glib:2
+ dev-libs/gmp:=
+ dev-libs/mpfr:=
+ dev-libs/imath:=
+ >=media-gfx/openvdb-8.2:=
+ net-misc/curl[adns]
+ media-libs/glew:0=
+ media-libs/libpng:0=
+ media-libs/qhull:=
+ sci-libs/nlopt
+ sci-libs/opencascade:=
+ >=sci-mathematics/cgal-5.0:=
+ sys-apps/dbus
+ sys-libs/zlib:=
+ virtual/glu
+ virtual/opengl
+ x11-libs/gtk+:3
+ x11-libs/wxGTK:${WX_GTK_VER}[X,opengl]
+"
+DEPEND="${RDEPEND}
+ media-libs/qhull[static-libs]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.5.59.2-boost.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-cereal.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-dont-install-angelscript.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-gcodeviewer-symlink-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-missing-includes-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-openexr3.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-wxgtk3-wayland-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-relax-OpenCASCADE-dep.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-link-occtwrapper-statically.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-additional-imports-fixes.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-fix-compilation-error-gnu17.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-libnest2d-link-xcb.patch"
+ "${FILESDIR}/${PN}-2.5.59.8-boost-replace-load-string-file.patch"
+ "${FILESDIR}/${PN}-2.5.59.10-boost-1.85.patch"
+)
+
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+src_unpack() {
+ default
+
+ mv slic3r-profiles-*/* "${S}"/resources/profiles/ || die
+}
+
+src_configure() {
+ CMAKE_BUILD_TYPE="Release"
+
+ append-flags -fno-strict-aliasing
+
+ setup-wxwidgets
+
+ local mycmakeargs=(
+ -DOPENVDB_FIND_MODULE_PATH="/usr/$(get_libdir)/cmake/OpenVDB"
+
+ -DSLIC3R_BUILD_TESTS=$(usex test)
+ -DSLIC3R_FHS=ON
+ -DSLIC3R_GTK=3
+ -DSLIC3R_GUI=ON
+ -DSLIC3R_PCH=OFF
+ -DSLIC3R_STATIC=OFF
+ -DSLIC3R_WX_STABLE=ON
+ -Wno-dev
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ rm "${ED}/usr/lib/udev/rules.d/90-3dconnexion.rules" || die
+}
diff --git a/media-gfx/superslicer/superslicer-2.5.59.0-r3.ebuild b/media-gfx/superslicer/superslicer-2.5.59.8.ebuild
index 7cdeaa9cc284..b43862a3db67 100644
--- a/media-gfx/superslicer/superslicer-2.5.59.0-r3.ebuild
+++ b/media-gfx/superslicer/superslicer-2.5.59.8.ebuild
@@ -1,11 +1,11 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
WX_GTK_VER="3.0-gtk3"
MY_PN="SuperSlicer"
-SLICER_PROFILES_COMMIT="748fbdfd2ac077e4e415868e7bc963740b92aa8e"
+SLICER_PROFILES_COMMIT="8f3bb94a9c60be9a3b40d88a36ff05ba5cf2d6a8"
inherit cmake wxwidgets xdg flag-o-matic
@@ -18,7 +18,7 @@ SRC_URI="
LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="test"
@@ -41,6 +41,7 @@ RDEPEND="
media-libs/libpng:0=
media-libs/qhull:=
sci-libs/nlopt
+ sci-libs/opencascade:=
>=sci-mathematics/cgal-5.0:=
sys-apps/dbus
sys-libs/zlib:=
@@ -54,14 +55,20 @@ DEPEND="${RDEPEND}
"
PATCHES=(
- "${FILESDIR}/${P}-openexr3.patch"
- "${FILESDIR}/${P}-wxgtk3-wayland.patch"
- "${FILESDIR}/${P}-cereal.patch"
- "${FILESDIR}/${P}-boost.patch"
- "${FILESDIR}/${P}-boost-1.81-std-wxString-to-std-wstring.patch"
- "${FILESDIR}/${P}-missing-includes.patch"
- "${FILESDIR}/${P}-dont-install-bundled-angelscript.patch"
- "${FILESDIR}/${P}-fix-gcodeviewer-symlink.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-boost.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-cereal.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-dont-install-angelscript.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-gcodeviewer-symlink-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-missing-includes-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-openexr3.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-wxgtk3-wayland-fix.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-relax-OpenCASCADE-dep.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-link-occtwrapper-statically.patch"
+ "${FILESDIR}/${PN}-2.5.59.2-fix-dereferencing-in-std-unique_ptr-to-nullptr.patch"
+ "${FILESDIR}/${P}-additional-imports-fixes.patch"
+ "${FILESDIR}/${P}-fix-compilation-error-gnu17.patch"
+ "${FILESDIR}/${P}-libnest2d-link-xcb.patch"
+ "${FILESDIR}/${P}-boost-replace-load-string-file.patch"
)
S="${WORKDIR}/${MY_PN}-${PV}"
diff --git a/media-gfx/svg2rlg/Manifest b/media-gfx/svg2rlg/Manifest
index 90d6bb2a4348..4d6515ae8efa 100644
--- a/media-gfx/svg2rlg/Manifest
+++ b/media-gfx/svg2rlg/Manifest
@@ -1 +1 @@
-DIST svg2rlg-0.4.0.tar.gz 504861 BLAKE2B bfd147d824d5a49f8621e705f6bdeefdaa571918db94afea8e839d048d2089a8c8ebf8e2763caa9866f55a7142e1bb3522b01f53eaf5b8343164a08ee0983ef3 SHA512 e3813a22784c2199a1df69574c64093347a153fa2b7a40e2f38f52e5d46d7ca8d6e8e3bbe54ab59381f6c7246352c016ff3e19b1278c6f2c8dcfbe8bd7017b12
+DIST svg2rlg-0.4.0.gh.tar.gz 504861 BLAKE2B bfd147d824d5a49f8621e705f6bdeefdaa571918db94afea8e839d048d2089a8c8ebf8e2763caa9866f55a7142e1bb3522b01f53eaf5b8343164a08ee0983ef3 SHA512 e3813a22784c2199a1df69574c64093347a153fa2b7a40e2f38f52e5d46d7ca8d6e8e3bbe54ab59381f6c7246352c016ff3e19b1278c6f2c8dcfbe8bd7017b12
diff --git a/media-gfx/svg2rlg/metadata.xml b/media-gfx/svg2rlg/metadata.xml
index e7c9ced3cbbf..045f92209279 100644
--- a/media-gfx/svg2rlg/metadata.xml
+++ b/media-gfx/svg2rlg/metadata.xml
@@ -4,5 +4,6 @@
<!-- maintainer-needed -->
<upstream>
<remote-id type="github">sarnold/svg2rlg</remote-id>
+ <remote-id type="pypi">svg2rlg</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild b/media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild
index 61629741ac37..9b6fffa1c06a 100644
--- a/media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild
+++ b/media-gfx/svg2rlg/svg2rlg-0.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -19,7 +19,10 @@ if [[ ${PV} = 9999* ]]; then
EGIT_BRANCH="master"
inherit git-r3
else
- SRC_URI="https://github.com/sarnold/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="
+ https://github.com/sarnold/svg2rlg/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
fi
diff --git a/media-gfx/sxiv/metadata.xml b/media-gfx/sxiv/metadata.xml
index cb4cee647502..dd8ba70a330e 100644
--- a/media-gfx/sxiv/metadata.xml
+++ b/media-gfx/sxiv/metadata.xml
@@ -3,6 +3,6 @@
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
- <remote-id type="github">muennich/sxiv</remote-id>
+ <remote-id type="github">xyb3rt/sxiv</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/sxiv/sxiv-26.ebuild b/media-gfx/sxiv/sxiv-26.ebuild
index 65a298e1cf21..831d84532319 100644
--- a/media-gfx/sxiv/sxiv-26.ebuild
+++ b/media-gfx/sxiv/sxiv-26.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,15 +6,15 @@ EAPI=7
inherit desktop xdg-utils savedconfig toolchain-funcs
if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/muennich/sxiv.git"
+ EGIT_REPO_URI="https://github.com/xyb3rt/sxiv.git"
inherit git-r3
else
- SRC_URI="https://github.com/muennich/sxiv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://github.com/xyb3rt/sxiv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
fi
DESCRIPTION="Simple (or small or suckless) X Image Viewer"
-HOMEPAGE="https://github.com/muennich/sxiv/"
+HOMEPAGE="https://github.com/xyb3rt/sxiv/"
LICENSE="GPL-2+ public-domain"
SLOT="0"
diff --git a/media-gfx/sxiv/sxiv-9999.ebuild b/media-gfx/sxiv/sxiv-9999.ebuild
index 587eeb6bcc32..79d85908dc89 100644
--- a/media-gfx/sxiv/sxiv-9999.ebuild
+++ b/media-gfx/sxiv/sxiv-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,15 +6,15 @@ EAPI=7
inherit desktop xdg-utils savedconfig toolchain-funcs
if [[ ${PV} == "9999" ]] ; then
- EGIT_REPO_URI="https://github.com/muennich/sxiv.git"
+ EGIT_REPO_URI="https://github.com/xyb3rt/sxiv.git"
inherit git-r3
else
- SRC_URI="https://github.com/muennich/sxiv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ SRC_URI="https://github.com/xyb3rt/sxiv/archive/v${PV}.tar.gz -> ${P}.tar.gz"
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
DESCRIPTION="Simple (or small or suckless) X Image Viewer"
-HOMEPAGE="https://github.com/muennich/sxiv/"
+HOMEPAGE="https://github.com/xyb3rt/sxiv/"
LICENSE="GPL-2+ public-domain"
SLOT="0"
diff --git a/media-gfx/tintii/tintii-2.10.0-r1.ebuild b/media-gfx/tintii/tintii-2.10.0-r1.ebuild
deleted file mode 100644
index ccb7a70d89da..000000000000
--- a/media-gfx/tintii/tintii-2.10.0-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER="3.0-gtk3"
-inherit wxwidgets
-
-DESCRIPTION="Photo editor for selective color, saturation, and hue shift adjustments"
-HOMEPAGE="https://www.indii.org/software/tintii/"
-SRC_URI="https://www.indii.org/files/tint/releases/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- x11-libs/wxGTK:${WX_GTK_VER}[X]
-"
-DEPEND="${RDEPEND}
- dev-libs/boost
-"
-BDEPEND="app-alternatives/bc"
-
-src_prepare() {
- default
- setup-wxwidgets
-}
diff --git a/media-gfx/transfig/transfig-3.2.5e-r2.ebuild b/media-gfx/transfig/transfig-3.2.5e-r2.ebuild
index ebb7a376390f..3aa1cb9bbdf4 100644
--- a/media-gfx/transfig/transfig-3.2.5e-r2.ebuild
+++ b/media-gfx/transfig/transfig-3.2.5e-r2.ebuild
@@ -9,7 +9,7 @@ MY_P="${PN}.${PV}"
DESCRIPTION="Set of tools for creating TeX documents with graphics"
HOMEPAGE="https://www.xfig.org/"
-SRC_URI="mirror://sourceforge/mcj/${MY_P}.tar.gz
+SRC_URI="https://downloads.sourceforge.net/mcj/${MY_P}.tar.gz
mirror://gentoo/fig2mpdf-1.1.2.tar.bz2
https://dev.gentoo.org/~sultan/distfiles/media-gfx/transfig/${P}-gentoo-patchset-r1.tar.bz2"
S="${WORKDIR}/${MY_P}"
diff --git a/media-gfx/ttfautohint/metadata.xml b/media-gfx/ttfautohint/metadata.xml
index f444ebcb9d85..82f6e7d06a5b 100644
--- a/media-gfx/ttfautohint/metadata.xml
+++ b/media-gfx/ttfautohint/metadata.xml
@@ -5,10 +5,6 @@
<email>matthew@gentoo.org</email>
<name>Matthew Smith</name>
</maintainer>
-<maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
-</maintainer>
<slots>
<subslots>reflect soname of libttfautohint</subslots>
</slots>
diff --git a/media-gfx/ttygif/metadata.xml b/media-gfx/ttygif/metadata.xml
index af87af9fe228..6869a982a6ee 100644
--- a/media-gfx/ttygif/metadata.xml
+++ b/media-gfx/ttygif/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">icholy/ttygif</remote-id>
</upstream>
diff --git a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild
index d235d332f2d0..77e7bbc0e46b 100644
--- a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild
+++ b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20090628-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2018 Gentoo Foundation
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -7,7 +7,7 @@ MY_P=${PN}-${PV:0:4}.${PV:4:2}.${PV:6:2}
DESCRIPTION="Set of 'Rubber Stamp' images which can be used within Tux Paint"
HOMEPAGE="http://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/tuxpaint/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/tuxpaint/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
diff --git a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild
index 1120a4741b3c..927e0bd4c4a5 100644
--- a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild
+++ b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20211125.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ MY_P=${PN}-${PV:0:4}.${PV:4:2}.${PV:6:2}
DESCRIPTION="Set of 'Rubber Stamp' images which can be used within Tux Paint"
HOMEPAGE="http://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/tuxpaint/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/tuxpaint/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
diff --git a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.ebuild b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.ebuild
index 58b34931ec63..0cf7868ad5bf 100644
--- a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.ebuild
+++ b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20220604.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ MY_P=${PN}-${PV:0:4}.${PV:4:2}.${PV:6:2}
DESCRIPTION="Set of 'Rubber Stamp' images which can be used within Tux Paint"
HOMEPAGE="https://www.tuxpaint.org/stamps"
-SRC_URI="mirror://sourceforge/tuxpaint/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/tuxpaint/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
diff --git a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild
index f3bf7e03560c..0cf7868ad5bf 100644
--- a/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild
+++ b/media-gfx/tuxpaint-stamps/tuxpaint-stamps-20230402.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,12 +7,12 @@ MY_P=${PN}-${PV:0:4}.${PV:4:2}.${PV:6:2}
DESCRIPTION="Set of 'Rubber Stamp' images which can be used within Tux Paint"
HOMEPAGE="https://www.tuxpaint.org/stamps"
-SRC_URI="mirror://sourceforge/tuxpaint/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/tuxpaint/${MY_P}.tar.gz"
S="${WORKDIR}"/${MY_P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ppc x86"
RDEPEND="media-gfx/tuxpaint"
DEPEND="${RDEPEND}"
diff --git a/media-gfx/tuxpaint/Manifest b/media-gfx/tuxpaint/Manifest
index 50d41b326b2a..5a7935a9caa0 100644
--- a/media-gfx/tuxpaint/Manifest
+++ b/media-gfx/tuxpaint/Manifest
@@ -1,3 +1 @@
-DIST tuxpaint-0.9.28.tar.gz 14802638 BLAKE2B 7f7a8f3d61faf052d9872b5af775a6becdefae7cee1207ebcbb5db108fc381b0fa5ba8b7a8facd55ba6dcfca59886125cba7837d2de432fd5c75d2c40b509c41 SHA512 038f92f8d7ee8d85b1c9b18f7781e814ee55067e090fbfa597028e2d13218911157d00f312de2be9db29754a07c5706fc3c3e0e6ea3c71a15f80c37bb2eceb34
-DIST tuxpaint-0.9.29.tar.gz 17144658 BLAKE2B db00b14862ca139b0ee2851b7f57bda0df12d09ae516649dab25eb260bfc65fef35c968ab39593a71c173f196dc24426c5d4be79eee230c7139a7832d5508171 SHA512 9642c7145d32848e663b69428d7ff046e6109b292f3c3104dc40f8fcbf4152ab39815cf7dd3a217b0a6bd26ea50c57e0b14b186a23157fbac091ee10436646b3
DIST tuxpaint-0.9.31.tar.gz 21733142 BLAKE2B 00041eacd062ac4e535451d4b4a6ac6d92fb7a0b6328dad4c7424b1bf0b95f0d3d2915e5ed7392cbf2f36174e56ceff5fadcf795c3368b3f2a958d794ce0b66a SHA512 7a3df8dce3e354cc22af34d55546de6e033e8ed4f44530b89986c3e1a07961e5e1a132f12f2d3fc5b699c500e7b9e7ab3503d2bafc5041d9fb2dbc8d1479b79f
diff --git a/media-gfx/tuxpaint/files/tuxpaint-0.9.28-r2-Makefile.patch b/media-gfx/tuxpaint/files/tuxpaint-0.9.28-r2-Makefile.patch
deleted file mode 100644
index 6ea373620e3e..000000000000
--- a/media-gfx/tuxpaint/files/tuxpaint-0.9.28-r2-Makefile.patch
+++ /dev/null
@@ -1,231 +0,0 @@
---- a/Makefile
-+++ b/Makefile
-@@ -73,7 +73,7 @@ endif
- # <HOSTROOT> is the directory containing support files for building for <HOST>:
- # <HOSTROOT>/include Header files.
- # <HOSTROOT>/lib Library files.
--# <HOSTROOT>/lib/pkgconfig *.pc files.
-+# <HOSTROOT>/pkgconfig *.pc files.
- #
- ifdef HOST
- ifdef HOSTROOT
-@@ -104,7 +104,7 @@ ifdef HOST
- # We set PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH because we want to
- # *change* where pkg-config looks for .pc files instead of adding to the
- # default path which may have libraries that aren't for HOST.
-- export PKG_CONFIG_LIBDIR:=$(HOSTROOT)/lib/pkgconfig
-+ export PKG_CONFIG_LIBDIR:=$(HOSTROOT)/$(GENTOO_LIBDIR)/pkgconfig
- endif
- endif
-
-@@ -170,14 +170,14 @@ windows_ARCH_CFLAGS:=
- macos_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -headerpad_max_install_names -DHAVE_STRCASESTR
- ios_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -fPIC -DHAVE_STRCASESTR -DUNLINK_ONLY
- beos_ARCH_CFLAGS:=
--linux_ARCH_CFLAGS:=
-+linux_ARCH_CFLAGS:=${CFLAGS}
- ARCH_CFLAGS:=$($(OS)_ARCH_CFLAGS)
-
- windows_ARCH_LDFLAGS:=
- macos_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS))
- ios_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS))
- beos_ARCH_LDFLAGS:=
--linux_ARCH_LDFLAGS:=
-+linux_ARCH_LDFLAGS:=${LDFLAGS}
- ARCH_LDFLAGS:=$($(OS)_ARCH_LDFLAGS)
- LDFLAGS:=$(ARCH_LDFLAGS)
-
-@@ -206,7 +206,7 @@ ARCH_HEADERS:=$($(OS)_ARCH_HEADERS)
- windows_PREFIX:=/usr/local
- macos_PREFIX:=Resources
- ios_PREFIX:=.
--linux_PREFIX:=/usr/local
-+linux_PREFIX:=/usr
- PREFIX:=$($(OS)_PREFIX)
-
- # Root directory to place files when creating packages.
-@@ -240,11 +240,11 @@ LIBDIR=$(PREFIX)
-
- # Magic Tool plug-ins
- INCLUDE_PREFIX:=$(DESTDIR)$(PREFIX)/include
--MAGIC_PREFIX:=$(DESTDIR)$(LIBDIR)/lib$(LIBDIRSUFFIX)/tuxpaint/plugins
-+MAGIC_PREFIX:=$(DESTDIR)$(LIBDIR)/${GENTOO_LIBDIR}/tuxpaint/plugins
-
- # Docs and man page:
--DOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/tuxpaint-$(VER_VERSION)
--DEVDOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/tuxpaint-$(VER_VERSION)/tuxpaint-dev
-+DOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/${PF}
-+DEVDOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/${PF}/tuxpaint-dev
- MAN_PREFIX:=$(DESTDIR)$(PREFIX)/share/man
- DEVMAN_PREFIX:=$(DESTDIR)$(PREFIX)/share/man
-
-@@ -359,7 +359,7 @@ MOUSE_CFLAGS:=-Isrc/$(MOUSEDIR) -D$(CURSOR_SHAPES)_CURSOR_SHAPES
- # are 132x80. On larger screens, they will be bigger (since the New dialog
- # is always 4x4 thumbnails); therefore, generating larger thumbs, which can
- # be still be scaled down fairly quickly (esp. complicated SVG ones).
--CONVERT_OPTS:=-alpha Background -alpha Off +depth -resize !264x160 -background white -interlace none
-+CONVERT_OPTS:=-resize 264x160 -background white -extent 0x0 -interlace none
-
- .SUFFIXES:
-
-@@ -447,7 +447,7 @@ INSTALLED_MODIRS:=$(patsubst trans/%.mo,$(LOCALE_PREFIX)/%/LC_MESSAGES,$(MOFILES
-
- $(INSTALLED_MODIRS): $(LOCALE_PREFIX)/%/LC_MESSAGES: trans/%.mo
- install -d -m 755 $@
--$(INSTALLED_MOFILES): $(LOCALE_PREFIX)/%/LC_MESSAGES/tuxpaint.mo: trans/%.mo
-+$(INSTALLED_MOFILES): $(LOCALE_PREFIX)/%/LC_MESSAGES/tuxpaint.mo: trans/%.mo $(INSTALLED_MODIRS)
- install -m 644 $< $@
-
- .PHONY: uninstall-i18n
-@@ -526,7 +526,7 @@ endif
-
- # Build the translation files for gettext
-
--$(MOFILES): trans/%.mo: src/po/%.po
-+$(MOFILES): trans/%.mo: src/po/%.po trans
- msgfmt -o $@ $<
-
- .PHONY: translations
-@@ -551,7 +551,7 @@ trans:
- windows_ARCH_INSTALL:=
- macos_ARCH_INSTALL:=install-macbundle
- ios_ARCH_INSTALL:=install-iosbundle
--linux_ARCH_INSTALL:=install-xdg install-man install-importscript install-bash-completion
-+linux_ARCH_INSTALL:=install-man install-importscript install-bash-completion
- ARCH_INSTALL:=$($(OS)_ARCH_INSTALL)
-
- # "make install" installs all of the various parts
-@@ -627,7 +627,7 @@ install-magic-plugins:
- $(DATA_PREFIX)/sounds/magic/*.ogg
-
- .PHONY: install-magic-plugins
--install-magic-plugin-dev: src/tp_magic_api.h
-+install-magic-plugin-dev: src/tp_magic_api.h install-bin
- @echo
- @echo "...Installing Magic Tool plug-in development files and docs..."
- @cp tp-magic-config $(BIN_PREFIX)
-@@ -719,12 +719,12 @@ uninstall: uninstall-i18n
- -rm $(BIN_PREFIX)/tuxpaint-import
- -rm -r $(DATA_PREFIX)
- -rm -r $(DOC_PREFIX)
-- -rm $(MAN_PREFIX)/man1/tuxpaint.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tuxpaint.1.gz
-- -rm $(MAN_PREFIX)/man1/tuxpaint-import.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tuxpaint-import.1.gz
-- -rm $(MAN_PREFIX)/man1/tp-magic-config.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tp-magic-config.1.gz
-+ -rm $(MAN_PREFIX)/man1/tuxpaint.1
-+ -rm $(MAN_PREFIX)/*/man1/tuxpaint.1
-+ -rm $(MAN_PREFIX)/man1/tuxpaint-import.1
-+ -rm $(MAN_PREFIX)/*/man1/tuxpaint-import.1
-+ -rm $(MAN_PREFIX)/man1/tp-magic-config.1
-+ -rm $(MAN_PREFIX)/*/man1/tp-magic-config.1
- -rm -f -r $(CONFDIR)
- -rm $(COMPLETIONDIR)/tuxpaint-completion.bash
- -rm -r $(MAGIC_PREFIX)
-@@ -783,7 +783,7 @@ install-example-stamps:
- STARTERS:=$(wildcard starters/*.*)
- INSTALLED_STARTERS:=$(patsubst %,$(DATA_PREFIX)/%,$(STARTERS))
-
--$(INSTALLED_STARTERS): $(DATA_PREFIX)/%: %
-+$(INSTALLED_STARTERS): $(DATA_PREFIX)/%: % install-example-starters-dirs
- install -m 644 $< $@
-
- install-example-starters-dirs:
-@@ -817,14 +817,14 @@ $(THUMB_STARTERS):
- @mkdir -p starters/.thumbs
- @if [ "x" != "x"$(STARTER_BACK_NAME) ] ; \
- then \
-- composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png ; \
-- convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ 2> /dev/null ; \
-+ gm composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png 2> /dev/null ; \
-+ gm convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ || echo "($@ failed)" ; \
- rm obj/tmp_$(notdir $(STARTER_NAME)).png ; \
- else \
-- convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-+ gm convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
- fi
-
--$(INSTALLED_THUMB_STARTERS): $(DATA_PREFIX)/%: %
-+$(INSTALLED_THUMB_STARTERS): $(DATA_PREFIX)/%: % install-example-starters-dirs
- @install -D -m 644 $< $@ || ( echo "NO THUMB $<" )
-
- .PHONY: echo-thumb-starters
-@@ -849,7 +849,7 @@ install-thumb-starters: echo-install-thumb-starters $(INSTALLED_THUMB_STARTERS)
- TEMPLATES:=$(wildcard templates/*.*)
- INSTALLED_TEMPLATES:=$(patsubst %,$(DATA_PREFIX)/%,$(TEMPLATES))
-
--$(INSTALLED_TEMPLATES): $(DATA_PREFIX)/%: %
-+$(INSTALLED_TEMPLATES): $(DATA_PREFIX)/%: % install-example-template-dirs
- install -m 644 $< $@
-
- install-example-template-dirs:
-@@ -876,7 +876,7 @@ TEMPLATE_NAME=$(or $(wildcard $(subst templates/.thumbs,templates,$(@:-t.png=.sv
- $(THUMB_TEMPLATES):
- @printf "."
- @mkdir -p templates/.thumbs
-- @convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-+ @gm convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-
- $(INSTALLED_THUMB_TEMPLATES): $(DATA_PREFIX)/%: %
- @install -D -m 644 $< $@ || ( echo "NO THUMB $<" )
-@@ -988,9 +988,9 @@ install-dlls:
- @cp -R win32/etc/ $(BIN_PREFIX)
- @echo
- @echo "...Installing Library Modules..."
-- @mkdir -p $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-- @cp $(MINGW_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-- @strip -s $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
-+ @mkdir -p $(BIN_PREFIX)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders
-+ @cp $(MINGW_DIR)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-+ @strip -s $(BIN_PREFIX)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
-
- # Install symlink:
- .PHONY: install-haiku
-@@ -1001,7 +1001,7 @@ install-haiku:
-
- # Install the import script:
- .PHONY: install-importscript
--install-importscript:
-+install-importscript: install-bin
- @echo
- @echo "...Installing 'tuxpaint-import' script..."
- @cp src/tuxpaint-import.sh $(BIN_PREFIX)/tuxpaint-import
-@@ -1065,24 +1065,20 @@ install-man:
- @install -d $(MAN_PREFIX)/man1
- @# tuxpaint.1
- @cp man/en/tuxpaint.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tuxpaint.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint.1
- @# tuxpaint-import.1
- @cp man/en/tuxpaint-import.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tuxpaint-import.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint-import.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint-import.1
- @# tp-magic-config.1
- @cp man/en/tp-magic-config.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tp-magic-config.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tp-magic-config.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tp-magic-config.1
- @echo
- for l in `ls -d man/*.UTF-8 | cut -d '/' -f 2`; do \
- DEST=$(MAN_PREFIX)/$$l/man1 ; \
- echo "...Installing $$l man pages into $$DEST..." ; \
- install -d $$DEST ; \
- cp man/$$l/tuxpaint.1 $$DEST ; \
-- gzip -f $$DEST/tuxpaint.1 ; \
-- chmod a+rx,g-w,o-w $$DEST/tuxpaint.1.gz ; \
-+ chmod a+rx,g-w,o-w $$DEST/tuxpaint.1 ; \
- done
- @# FIXME: The other man pages aren't localizable yet -bjk 2021.08.14
-
-@@ -1382,7 +1378,7 @@ SHARED_FLAGS:=-shared -fpic -lm
- MAGIC_C:=$(wildcard magic/src/*.c)
- MAGIC_SO:=$(patsubst magic/src/%.c,magic/%.$(SO_TYPE),$(MAGIC_C))
-
--$(MAGIC_SO): magic/%.$(SO_TYPE): magic/src/%.c
-+$(MAGIC_SO): magic/%.$(SO_TYPE): magic/src/%.c src/tp_magic_api.h
- $(CC) $(MAGIC_CFLAGS) $(LDFLAGS) $(SHARED_FLAGS) -o $@ $< $(PLUGIN_LIBS)
- # Probably should separate the various flags like the following:
- # $(CC) $(PLUG_CPPFLAGS) $(PLUG_CFLAGS) $(PLUG_LDFLAGS) -o $@ $< $(PLUG_LIBS)
diff --git a/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile-trans.patch b/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile-trans.patch
deleted file mode 100644
index 20868602f65b..000000000000
--- a/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile-trans.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-# Sometimes the trans directory isn't created before
-# accessing it.
-# Upstream commit b452d84d2544a38eca1d2e4e9686a8eaef197d0f
-# fixes this.
---- a/Makefile
-+++ b/Makefile
-@@ -535,6 +535,7 @@ endif
- # Build the translation files for gettext
-
- $(MOFILES): trans/%.mo: src/po/%.po
-+ @-mkdir -p trans
- msgfmt -o $@ $<
-
- %.desktop: %.desktop.in $(POTFILES)
-@@ -552,14 +553,9 @@ translations: trans
- @echo "Install gettext to run Tux Paint in non-U.S. English modes."
- @echo "--------------------------------------------------------------"
- else
--translations: trans $(MOFILES) src/tuxpaint.desktop src/tuxpaint-fullscreen.desktop src/org.tuxpaint.Tuxpaint.appdata.xml
-+translations: $(MOFILES) src/tuxpaint.desktop src/tuxpaint-fullscreen.desktop src/org.tuxpaint.Tuxpaint.appdata.xml
- endif
-
--trans:
-- @echo
-- @echo "...Preparing translation files..."
-- @mkdir trans
--
- ######
-
- windows_ARCH_INSTALL:=
diff --git a/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile.patch b/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile.patch
deleted file mode 100644
index e0b1c43a03bb..000000000000
--- a/media-gfx/tuxpaint/files/tuxpaint-0.9.29-Makefile.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-diff --git a/Makefile.old b/Makefile
-index 88d0d02..ab71f97 100644
---- a/Makefile.old
-+++ b/Makefile
-@@ -74,7 +74,7 @@ endif
- # <HOSTROOT> is the directory containing support files for building for <HOST>:
- # <HOSTROOT>/include Header files.
- # <HOSTROOT>/lib Library files.
--# <HOSTROOT>/lib/pkgconfig *.pc files.
-+# <HOSTROOT>/pkgconfig *.pc files.
- #
- ifdef HOST
- ifdef HOSTROOT
-@@ -105,7 +105,7 @@ ifdef HOST
- # We set PKG_CONFIG_LIBDIR instead of PKG_CONFIG_PATH because we want to
- # *change* where pkg-config looks for .pc files instead of adding to the
- # default path which may have libraries that aren't for HOST.
-- export PKG_CONFIG_LIBDIR:=$(HOSTROOT)/lib/pkgconfig
-+ export PKG_CONFIG_LIBDIR:=$(HOSTROOT)/$(GENTOO_LIBDIR)/pkgconfig
- endif
- endif
-
-@@ -171,14 +171,14 @@ windows_ARCH_CFLAGS:=
- macos_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -headerpad_max_install_names -DHAVE_STRCASESTR
- ios_ARCH_CFLAGS:=-isysroot $(SDKROOT) -I$(SDKROOT)/usr/include -I$(HOSTROOT)/include $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS)) -w -fPIC -DHAVE_STRCASESTR -DUNLINK_ONLY
- beos_ARCH_CFLAGS:=
--linux_ARCH_CFLAGS:=
-+linux_ARCH_CFLAGS:=${CFLAGS}
- ARCH_CFLAGS:=$($(OS)_ARCH_CFLAGS)
-
- windows_ARCH_LDFLAGS:=
- macos_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib -mmacosx-version-min=$(MINVER) -arch $(subst $() $(), -arch ,$(ARCHS))
- ios_ARCH_LDFLAGS:=-isysroot $(SDKROOT) -L$(HOSTROOT)/lib $(MINVEROPT) -arch $(subst $() $(), -arch ,$(ARCHS))
- beos_ARCH_LDFLAGS:=
--linux_ARCH_LDFLAGS:=
-+linux_ARCH_LDFLAGS:=${LDFLAGS}
- ARCH_LDFLAGS:=$($(OS)_ARCH_LDFLAGS)
- LDFLAGS:=$(ARCH_LDFLAGS)
-
-@@ -207,7 +207,7 @@ ARCH_HEADERS:=$($(OS)_ARCH_HEADERS)
- windows_PREFIX:=/usr/local
- macos_PREFIX:=Resources
- ios_PREFIX:=.
--linux_PREFIX:=/usr/local
-+linux_PREFIX:=/usr
- PREFIX:=$($(OS)_PREFIX)
-
- # Root directory to place files when creating packages.
-@@ -241,10 +241,10 @@ LIBDIR=$(PREFIX)
-
- # Magic Tool plug-ins
- INCLUDE_PREFIX:=$(DESTDIR)$(PREFIX)/include
--MAGIC_PREFIX:=$(DESTDIR)$(LIBDIR)/lib$(LIBDIRSUFFIX)/tuxpaint/plugins
-+MAGIC_PREFIX:=$(DESTDIR)$(LIBDIR)/${GENTOO_LIBDIR}/tuxpaint/plugins
-
- # Docs and man page:
--DOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/tuxpaint-$(VER_VERSION)
-+DOC_PREFIX:=$(DESTDIR)$(PREFIX)/share/doc/${PF}
- MAN_PREFIX:=$(DESTDIR)$(PREFIX)/share/man
- DEVMAN_PREFIX:=$(DESTDIR)$(PREFIX)/share/man
-
-@@ -367,7 +367,7 @@ MOUSE_CFLAGS:=-Isrc/$(MOUSEDIR) -D$(CURSOR_SHAPES)_CURSOR_SHAPES
- # are 132x80. On larger screens, they will be bigger (since the New dialog
- # is always 4x4 thumbnails); therefore, generating larger thumbs, which can
- # be still be scaled down fairly quickly (esp. complicated SVG ones).
--CONVERT_OPTS:=-alpha Background -alpha Off +depth -resize !264x160 -background white -interlace none
-+CONVERT_OPTS:=-resize 264x160 -background white -extent 0x0 -interlace none
-
- .SUFFIXES:
-
-@@ -551,7 +551,7 @@ trans:
- windows_ARCH_INSTALL:=
- macos_ARCH_INSTALL:=install-macbundle
- ios_ARCH_INSTALL:=install-iosbundle
--linux_ARCH_INSTALL:=install-xdg install-man install-importscript install-bash-completion
-+linux_ARCH_INSTALL:=install-man install-importscript install-bash-completion
- ARCH_INSTALL:=$($(OS)_ARCH_INSTALL)
-
- # "make install" installs all of the various parts
-@@ -719,12 +719,12 @@ uninstall: uninstall-i18n
- -rm $(BIN_PREFIX)/tuxpaint-import
- -rm -r $(DATA_PREFIX)
- -rm -r $(DOC_PREFIX)
-- -rm $(MAN_PREFIX)/man1/tuxpaint.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tuxpaint.1.gz
-- -rm $(MAN_PREFIX)/man1/tuxpaint-import.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tuxpaint-import.1.gz
-- -rm $(MAN_PREFIX)/man1/tp-magic-config.1.gz
-- -rm $(MAN_PREFIX)/*/man1/tp-magic-config.1.gz
-+ -rm $(MAN_PREFIX)/man1/tuxpaint.1
-+ -rm $(MAN_PREFIX)/*/man1/tuxpaint.1
-+ -rm $(MAN_PREFIX)/man1/tuxpaint-import.1
-+ -rm $(MAN_PREFIX)/*/man1/tuxpaint-import.1
-+ -rm $(MAN_PREFIX)/man1/tp-magic-config.1
-+ -rm $(MAN_PREFIX)/*/man1/tp-magic-config.1
- -rm -f -r $(CONFDIR)
- -rm $(COMPLETIONDIR)/tuxpaint-completion.bash
- -rm -r $(MAGIC_PREFIX)
-@@ -855,11 +855,11 @@ $(THUMB_STARTERS):
- @mkdir -p starters/.thumbs
- @if [ "x" != "x"$(STARTER_BACK_NAME) ] ; \
- then \
-- composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png ; \
-- convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ 2> /dev/null ; \
-+ gm composite $(STARTER_NAME) $(STARTER_BACK_NAME) obj/tmp_$(notdir $(STARTER_NAME)).png 2> /dev/null ; \
-+ gm convert $(CONVERT_OPTS) obj/tmp_$(notdir $(STARTER_NAME)).png $@ || echo "($@ failed)" ; \
- rm obj/tmp_$(notdir $(STARTER_NAME)).png ; \
- else \
-- convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-+ gm convert $(CONVERT_OPTS) $(STARTER_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
- fi
-
- $(INSTALLED_THUMB_STARTERS): $(DATA_PREFIX)/%: % install-example-starters-dirs
-@@ -876,7 +876,7 @@ TEMPLATE_NAME=$(or $(wildcard $(subst templates/.thumbs,templates,$(@:-t.png=.sv
- $(THUMB_TEMPLATES):
- @printf "."
- @mkdir -p templates/.thumbs
-- @convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-+ @gm convert $(CONVERT_OPTS) $(TEMPLATE_NAME) $@ 2> /dev/null || ( echo "($@ failed)" ; rm $@ ) ; \
-
- $(INSTALLED_THUMB_TEMPLATES): $(DATA_PREFIX)/%: %
- @install -D -m 644 $< $@ || ( echo "NO THUMB $<" )
-@@ -988,9 +988,9 @@ install-dlls:
- @cp -R win32/etc/ $(BIN_PREFIX)
- @echo
- @echo "...Installing Library Modules..."
-- @mkdir -p $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-- @cp $(MINGW_DIR)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-- @strip -s $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
-+ @mkdir -p $(BIN_PREFIX)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders
-+ @cp $(MINGW_DIR)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders/*.dll $(BIN_PREFIX)/lib/gdk-pixbuf-2.0/2.10.0/loaders
-+ @strip -s $(BIN_PREFIX)/$(GENTOO_LIBDIR)/gdk-pixbuf-2.0/2.10.0/loaders/*.dll
-
- # Install symlink:
- .PHONY: install-haiku
-@@ -1065,24 +1065,20 @@ install-man:
- @install -d $(MAN_PREFIX)/man1
- @# tuxpaint.1
- @cp man/en/tuxpaint.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tuxpaint.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint.1
- @# tuxpaint-import.1
- @cp man/en/tuxpaint-import.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tuxpaint-import.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint-import.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tuxpaint-import.1
- @# tp-magic-config.1
- @cp man/en/tp-magic-config.1 $(MAN_PREFIX)/man1/
-- @gzip -f $(MAN_PREFIX)/man1/tp-magic-config.1
-- @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tp-magic-config.1.gz
-+ @chmod a+rx,g-w,o-w $(MAN_PREFIX)/man1/tp-magic-config.1
- @echo
- for l in `ls -d man/*.UTF-8 | cut -d '/' -f 2`; do \
- DEST=$(MAN_PREFIX)/$$l/man1 ; \
- echo "...Installing $$l man pages into $$DEST..." ; \
- install -d $$DEST ; \
- cp man/$$l/tuxpaint.1 $$DEST ; \
-- gzip -f $$DEST/tuxpaint.1 ; \
-- chmod a+rx,g-w,o-w $$DEST/tuxpaint.1.gz ; \
-+ chmod a+rx,g-w,o-w $$DEST/tuxpaint.1 ; \
- done
- @# FIXME: The other man pages aren't localizable yet -bjk 2021.08.14
-
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild
deleted file mode 100644
index 4f052a0122e2..000000000000
--- a/media-gfx/tuxpaint/tuxpaint-0.9.28-r2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit desktop optfeature toolchain-funcs xdg
-
-DESCRIPTION="Drawing program designed for young children"
-HOMEPAGE="https://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}-sdl1.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}"/${P}-sdl1
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ppc x86"
-
-RDEPEND="
- app-text/libpaper:=
- dev-libs/fribidi
- gnome-base/librsvg:2
- >=media-libs/libpng-1.2:0=
- >=media-libs/freetype-2:2
- media-libs/libsdl[X,joystick]
- media-libs/sdl-image[png]
- media-libs/sdl-mixer
- media-libs/sdl-pango
- media-libs/sdl-ttf
- media-libs/sdl-gfx:=
- media-gfx/libimagequant
- sys-libs/zlib
- x11-libs/cairo
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/gperf
- media-gfx/graphicsmagick[jpeg,png,svg]
- sys-devel/gettext
-"
-
-PATCHES=(
- "${FILESDIR}"/${PF}-Makefile.patch
-)
-
-src_compile() {
- emake CC="$(tc-getCC)" GENTOO_LIBDIR="$(get_libdir)"
-}
-
-src_install() {
- emake DESTDIR="${D}" GENTOO_LIBDIR="$(get_libdir)" install
- local file size
- for file in data/images/icon[0-9]*x[0-9]*.png; do
- size=${file##*/icon}
- size=${size%%x*}
- newicon -s "${size}" "${file}" tux4kids-tuxpaint.png
- done
- newmenu src/tuxpaint.desktop tux4kids-tuxpaint.desktop
- docinto /usr/share/doc/${PF}
- dodoc docs/*.txt
- dodoc docs/en/*.txt
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
- optfeature "additional graphic stamps" media-gfx/tuxpaint-stamps
-}
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild
index 2c871dc42c61..1be1e1d0fdb1 100644
--- a/media-gfx/tuxpaint/tuxpaint-0.9.29.ebuild
+++ b/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,12 +7,12 @@ inherit desktop optfeature toolchain-funcs xdg
DESCRIPTION="Drawing program designed for young children"
HOMEPAGE="https://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
S="${WORKDIR}"/${P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ppc x86"
+KEYWORDS="amd64 ~ppc ~x86"
RDEPEND="
app-text/libpaper:=
@@ -33,13 +33,12 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gperf
- media-gfx/graphicsmagick[jpeg,png,svg]
+ media-gfx/graphicsmagick[jpeg,png]
sys-devel/gettext
"
PATCHES=(
- "${FILESDIR}"/${PF}-Makefile.patch
- "${FILESDIR}"/${PF}-Makefile-trans.patch
+ "${FILESDIR}"/${P}-Makefile.patch
)
src_compile() {
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild
index 24afdcf2e995..ff77b85852e0 100644
--- a/media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild
+++ b/media-gfx/tuxpaint/tuxpaint-0.9.31.ebuild
@@ -7,12 +7,12 @@ inherit desktop optfeature toolchain-funcs xdg
DESCRIPTION="Drawing program designed for young children"
HOMEPAGE="https://www.tuxpaint.org/"
-SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
S="${WORKDIR}"/${P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
+KEYWORDS="amd64 ppc x86"
RDEPEND="
app-text/libpaper:=
@@ -33,7 +33,7 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="
dev-util/gperf
- media-gfx/graphicsmagick[jpeg,png,svg]
+ media-gfx/graphicsmagick[jpeg,png]
sys-devel/gettext
"
diff --git a/media-gfx/ueberzug/Manifest b/media-gfx/ueberzug/Manifest
index 526b930ecc55..165aecc0a633 100644
--- a/media-gfx/ueberzug/Manifest
+++ b/media-gfx/ueberzug/Manifest
@@ -1 +1 @@
-DIST ueberzug-18.2.2.tar.gz 56773 BLAKE2B dd3fdfe3820ac7344c574ab2031f0217b17a4b4ec4cd59f2447968abb6605a57ee77bab45f943f6d2501ad9c6e5ee3bf4c677f990814d676641bfe314e301dd4 SHA512 027d3b92711981d2334ba000cef9b424b01d962516432defaa287e2ca22d496a1f29c663f155838d74d91f26c355ac6af54c6513c33258676f315f9560e7256a
+DIST ueberzug-18.2.3.tar.gz 57640 BLAKE2B c174f39cb20a24c07f12088e595492960319a9fd5079e0a23e9632353fa7c93762621224a3fde4b2462931647239e3614ed9a1dffc635fea7a51c58d2b846b68 SHA512 6f8f342b4a593e857f70c053fc5b9e75bc2c3a063221ca64850acb8c325323bee50c9d471fe55de6bbb484d8c958d5bf3037e836b52734d617f1cea4be509a08
diff --git a/media-gfx/ueberzug/ueberzug-18.2.2.ebuild b/media-gfx/ueberzug/ueberzug-18.2.3.ebuild
index 5a026a9cbace..2f812a2152f9 100644
--- a/media-gfx/ueberzug/ueberzug-18.2.2.ebuild
+++ b/media-gfx/ueberzug/ueberzug-18.2.3.ebuild
@@ -1,16 +1,19 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Command line util to draw images on terminals by using child windows"
HOMEPAGE="https://github.com/ueber-devel/ueberzug/"
-SRC_URI="https://github.com/ueber-devel/ueberzug/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="
+ https://github.com/ueber-devel/ueberzug/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.tar.gz
+"
LICENSE="GPL-3"
SLOT="0"
@@ -19,24 +22,19 @@ KEYWORDS="amd64 x86"
COMMON_DEPEND="
x11-libs/libX11
x11-libs/libXext
- x11-libs/libXres"
+ x11-libs/libXres
+"
RDEPEND="
${COMMON_DEPEND}
dev-python/attrs[${PYTHON_USEDEP}]
dev-python/docopt[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
- !media-gfx/ueberzugpp"
+ !media-gfx/ueberzugpp
+"
DEPEND="
${COMMON_DEPEND}
- x11-base/xorg-proto"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # fix version
- [[ ${PV} == 18.2.2 ]] || die "drop version workaround"
- sed -i "/^__version__/s/18.2.1/${PV}/" ueberzug/__init__.py || die
-}
+ x11-base/xorg-proto
+"
python_install() {
distutils-r1_python_install
diff --git a/media-gfx/ueberzugpp/Manifest b/media-gfx/ueberzugpp/Manifest
index 4000ef310ce6..88fcaf5db155 100644
--- a/media-gfx/ueberzugpp/Manifest
+++ b/media-gfx/ueberzugpp/Manifest
@@ -1 +1 @@
-DIST ueberzugpp-2.9.2.tar.gz 66310 BLAKE2B cef413922765f10cea65616c935e67b8a7c86d51f04be5a7383cc009dc238005ffa68638a7099f3c6dcf1a9a4bb3d874806e5ea90cabc53939da499692e5de82 SHA512 560a61a861eea7cd33b9a97819a9d97f2b8686640d366152cdfb677ee7d8e094e21ace923e9c83ef2a71a672df6e7d286633fc48da5f3e546d130d40723e0dde
+DIST ueberzugpp-2.9.6.tar.gz 69379 BLAKE2B 86d29724ff768536bef2385d456d61509db58c8e83fe0c9711684f86b70e1e45d1d1bb7b970a036c408f575e8d31659b336111cfcc0dc39f7867010e56d9e79b SHA512 bb70933cbc887cc3967c6011f0616d056f5723f333f6cfd70e7a3dd785791b83b9855c0b3d0c901efc59d65ba113462946bc0f08d57cf845ec6c59ec861da874
diff --git a/media-gfx/ueberzugpp/ueberzugpp-2.9.2.ebuild b/media-gfx/ueberzugpp/ueberzugpp-2.9.6.ebuild
index b96879079df3..1cb4d698e37a 100644
--- a/media-gfx/ueberzugpp/ueberzugpp-2.9.2.ebuild
+++ b/media-gfx/ueberzugpp/ueberzugpp-2.9.6.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic toolchain-funcs
DESCRIPTION="Drop in replacement for ueberzug written in C++"
HOMEPAGE="https://github.com/jstkdng/ueberzugpp/"
@@ -15,7 +15,7 @@ SRC_URI="
LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="amd64"
-IUSE="X opencv opengl wayland xcb-errors"
+IUSE="X dbus opencv opengl wayland xcb-errors"
REQUIRED_USE="xcb-errors? ( X )"
RDEPEND="
@@ -32,6 +32,7 @@ RDEPEND="
x11-libs/xcb-util-image
xcb-errors? ( x11-libs/xcb-util-errors )
)
+ dbus? ( sys-apps/dbus )
opencv? ( media-libs/opencv:= )
opengl? ( media-libs/libglvnd )
wayland? ( dev-libs/wayland )
@@ -40,8 +41,8 @@ RDEPEND="
DEPEND="
${RDEPEND}
dev-cpp/cli11
- dev-cpp/ms-gsl
dev-cpp/nlohmann_json
+ dev-cpp/range-v3
X? ( x11-base/xorg-proto )
wayland? ( dev-libs/wayland-protocols )
"
@@ -53,10 +54,18 @@ BDEPEND="
"
src_configure() {
+ if use X && tc-is-clang && has_version sys-libs/libcxx; then
+ # X support makes use of C++20's std::jthread which is currently
+ # marked experimental (at least) in <=libcxx-18 (should limit
+ # version in above libcxx check whenever this becomes unnecessary)
+ append-cxxflags $(test-flags-CXX -fexperimental-library)
+ fi
+
# TODO?: wayfire plugin is skipped for now (needs wlroots which is
# likely to be messier), but could be handled if there is a demand
local mycmakeargs=(
+ -DENABLE_DBUS=$(usex dbus)
-DENABLE_OPENCV=$(usex opencv)
-DENABLE_OPENGL=$(usex opengl)
-DENABLE_TURBOBASE64=no # not packaged
diff --git a/media-gfx/viewer/viewer-0.8.0-r1.ebuild b/media-gfx/viewer/viewer-0.8.0-r2.ebuild
index d598111f83fa..dc3ce3704fbb 100644
--- a/media-gfx/viewer/viewer-0.8.0-r1.ebuild
+++ b/media-gfx/viewer/viewer-0.8.0-r2.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
inherit autotools
@@ -12,14 +12,16 @@ SRC_URI="http://www-users.cs.umn.edu/~wburdick/ftp/geowall/${P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
+KEYWORDS="~amd64 ~x86"
-KEYWORDS="~amd64 ~ppc ~x86"
-DEPEND="virtual/opengl
+DEPEND="
+ virtual/opengl
media-libs/freeglut
x11-libs/libXmu
x11-libs/libXt
x11-libs/libICE
- x11-libs/libSM"
+ x11-libs/libSM
+"
RDEPEND="${DEPEND}"
src_prepare() {
@@ -27,6 +29,7 @@ src_prepare() {
sed -i configure.in \
-e "s|/usr/X11R6/lib|/usr/$(get_libdir)/X11|g" \
-e 's|/usr/X11R6/include|/usr/include/X11|g' || die
+ mv configure.in configure.ac || die # bug 922946
eautoreconf
}
diff --git a/media-gfx/vkBasalt/Manifest b/media-gfx/vkBasalt/Manifest
new file mode 100644
index 000000000000..920c207b174e
--- /dev/null
+++ b/media-gfx/vkBasalt/Manifest
@@ -0,0 +1 @@
+DIST vkBasalt-0.3.2.10.tar.gz 335903 BLAKE2B 535c84d40a213decac38e882878a977002ee377a38e3f496985d292f7a3d51f3879e1026340cbb3e87c473bab777a3dbae7ae63bb10829c5a636a70cb29e49a1 SHA512 b80ca0320b99832d05d2d38e5e9d8f5981a5608d1509a1e4ea16bb4d0970ac13474e53e35a1634f2683e24c9ca0e4661545edd388b63b23c63782998ec0e03a4
diff --git a/media-gfx/raw-thumbnailer/metadata.xml b/media-gfx/vkBasalt/metadata.xml
index 987c50f39bce..8e173854dd87 100644
--- a/media-gfx/raw-thumbnailer/metadata.xml
+++ b/media-gfx/vkBasalt/metadata.xml
@@ -3,7 +3,6 @@
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
- <remote-id type="google-code">raw-thumbnailer</remote-id>
- <remote-id type="github">erlendd/raw-thumbnailer</remote-id>
+ <remote-id type="github">DadSchoorse/vkBasalt</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/vkBasalt/vkBasalt-0.3.2.10.ebuild b/media-gfx/vkBasalt/vkBasalt-0.3.2.10.ebuild
new file mode 100644
index 000000000000..0474ba4b3c29
--- /dev/null
+++ b/media-gfx/vkBasalt/vkBasalt-0.3.2.10.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson-multilib
+
+DESCRIPTION="A Vulkan post-processing layer for Linux"
+HOMEPAGE="https://github.com/DadSchoorse/vkBasalt"
+SRC_URI="https://github.com/DadSchoorse/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="x11-libs/libX11"
+DEPEND="${RDEPEND}
+ dev-util/spirv-headers
+ dev-util/vulkan-headers"
+BDEPEND="dev-util/glslang
+ virtual/pkgconfig"
diff --git a/media-gfx/wings/wings-2.2.6.1.ebuild b/media-gfx/wings/wings-2.2.6.1.ebuild
index e27096cf47fe..261b738b994b 100644
--- a/media-gfx/wings/wings-2.2.6.1.ebuild
+++ b/media-gfx/wings/wings-2.2.6.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -6,7 +6,7 @@ inherit toolchain-funcs
DESCRIPTION="Wings 3D is an advanced subdivision modeler"
HOMEPAGE="http://www.wings3d.com/"
-SRC_URI="mirror://sourceforge/wings/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/wings/${P}.tar.bz2"
LICENSE="BSD"
SLOT="0"
diff --git a/media-gfx/word_cloud/Manifest b/media-gfx/word_cloud/Manifest
index 7891d689cb1a..daecd7ce5101 100644
--- a/media-gfx/word_cloud/Manifest
+++ b/media-gfx/word_cloud/Manifest
@@ -1,3 +1,2 @@
-DIST word_cloud-1.8.2.2-python-3.11.patch.xz 46740 BLAKE2B bc5a9396a2d2ef4912808732efca33ea2eb6f07cb0a4dba4945a07345e9981c15d96f995fa833709cb02a3f301b747d845ec1e4ad136507a05a33ef0f98f2211 SHA512 059db02d7e2690a8400ce0ceedd6abffd0b2c033dfef5c5b9561af3629fc60971f3b6cd3edb3ece5bc585b0059260168bcdb2e86ab3abd5a0caee31fb9d78395
-DIST word_cloud-1.8.2.2.tar.gz 27691528 BLAKE2B e342007e608897d6bcd3da48232ecefae41a5535a3c37f5a708138d5138502af81dcd2334725370745f4b791494e252366bf83b8d7960414ebbad74aa3160915 SHA512 50387a60e7ad961296fade5f099a1cc891772dfb9e5d5f4181c10461ae263a8067bed08a383eee6a822167b0998b159ecbf8732269c92dc4ef20ea4b63ea4c0a
DIST word_cloud-1.9.1.tar.gz 27693486 BLAKE2B b238217c2b6d36f057ae1bf730b06ffa50a006ce46c5895dab145ad0c09d40351b525ae3252f824422d35c0789e036c823bc812080cfc278bac4259c87d84ad1 SHA512 c324fb0bacbab911e9ae8507cf26543c57faa0d040f2f8a522595c4d01167b7d9ca948d875065bda5d2f44e24c67cd429b7eab10127fb2056aeb0170fd727df0
+DIST word_cloud-1.9.3.tar.gz 27568062 BLAKE2B bec2730f61a1065e94050f56bfed177c7fc594cb3ea4c3692416e2e30e22faefad8b93bc7165f7b6dd03f2bb079a26ce5475a72a55c6ea8a9ad6fb9492686d97 SHA512 9863bec2d3cc8972e30a147cfd4ae2eadb79cbb0b472936e7ca789363cde549bb5b8bf6c5669462e9e96288cafc844510e4b33a5fb0f574c771222e85689ca87
diff --git a/media-gfx/word_cloud/word_cloud-1.8.2.2-r1.ebuild b/media-gfx/word_cloud/word_cloud-1.9.3.ebuild
index e23142a10402..180f8312e7e8 100644
--- a/media-gfx/word_cloud/word_cloud-1.8.2.2-r1.ebuild
+++ b/media-gfx/word_cloud/word_cloud-1.9.3.ebuild
@@ -1,17 +1,17 @@
-# 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,10,11} )
+PYTHON_COMPAT=( python3_{9,10,11,12} )
DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
inherit distutils-r1
DESCRIPTION="A little word cloud generator in Python"
HOMEPAGE="https://amueller.github.io/word_cloud/"
-SRC_URI="https://github.com/amueller/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
- https://dev.gentoo.org/~ulm/distfiles/${P}-python-3.11.patch.xz"
+SRC_URI="https://github.com/amueller/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -23,7 +23,7 @@ RDEPEND="dev-python/matplotlib[${PYTHON_USEDEP}]
dev-python/pillow[${PYTHON_USEDEP}]
media-fonts/droid"
-PATCHES=(
- "${FILESDIR}"/${PN}-1.6.0-bundled-font.patch
- "${WORKDIR}"/${P}-python-3.11.patch
-)
+BDEPEND="dev-python/cython
+ dev-python/setuptools-scm"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/media-gfx/xdot/Manifest b/media-gfx/xdot/Manifest
index c9d87a4a1fbe..28ef33da829e 100644
--- a/media-gfx/xdot/Manifest
+++ b/media-gfx/xdot/Manifest
@@ -1 +1 @@
-DIST xdot-1.3.tar.gz 144187 BLAKE2B 38e89a8c47dd519a79221634ed3e451cc5ba9c0448545802561e92876c06af599b3327d2ab808d5f81842826baddc42d3921da9c6885a2b6485e39c79de80c9f SHA512 8d66a64182970b968adbb5031d17f0b2b3709d4daa0f6d32ba0e3616177be1e43bcaa62a3133a3a0d92f8468dbc12147918d04b5d543b94b5df6d39b7af31e17
+DIST xdot-1.4.tar.gz 144405 BLAKE2B bcca54099ad88ebbf82dc168d837f7343f527d8aff63d27e315e60267b4edecca97c2f69e47a6bd5889e9da7bd801ba38950f5f01ff1f0e40389551c6ded2890 SHA512 36065ca840ea0f3ffeca3d7bb16aa3f68b79ef3c7d43f0ba80d100d198f89edee1ca9cb3baff378a63c53a527c37dcccbd7262fd1aa26b7c61bc9e2c55c6e3ed
diff --git a/media-gfx/xdot/xdot-1.3.ebuild b/media-gfx/xdot/xdot-1.4.ebuild
index 6aa87e23e299..5592a37dd4f3 100644
--- a/media-gfx/xdot/xdot-1.3.ebuild
+++ b/media-gfx/xdot/xdot-1.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,6 @@ EGIT_REPO_URI="https://github.com/jrfonseca/${MY_PN}"
if [[ ${PV} = 9999* ]]; then
GIT_ECLASS="git-r3"
- SRC_URI=""
else
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
MY_P="${MY_PN}-${PV}"
@@ -28,6 +27,7 @@ SLOT="0"
DEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
media-gfx/graphviz
diff --git a/media-gfx/xdot/xdot-9999.ebuild b/media-gfx/xdot/xdot-9999.ebuild
index dc0e15d5f30b..bfd164986323 100644
--- a/media-gfx/xdot/xdot-9999.ebuild
+++ b/media-gfx/xdot/xdot-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -10,7 +10,6 @@ EGIT_REPO_URI="https://github.com/jrfonseca/${MY_PN}"
if [[ ${PV} = 9999* ]]; then
GIT_ECLASS="git-r3"
- SRC_URI=""
else
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
MY_P="${MY_PN}-${PV}"
@@ -28,6 +27,7 @@ SLOT="0"
DEPEND="
dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
dev-python/pycairo[${PYTHON_USEDEP}]
dev-python/pygobject:3[${PYTHON_USEDEP}]
media-gfx/graphviz
diff --git a/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild b/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild
index 36ae35639ba2..0a239d8a1b67 100644
--- a/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild
+++ b/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild
@@ -7,7 +7,7 @@ inherit autotools desktop toolchain-funcs xdg
DESCRIPTION="Image editor with tiff, jpeg and png support"
HOMEPAGE="https://sf-xpaint.sourceforge.net/"
-SRC_URI="mirror://sourceforge/sf-xpaint/${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/sf-xpaint/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
diff --git a/media-gfx/xv/Manifest b/media-gfx/xv/Manifest
index 0dba1fc6c996..2b0fc9216a39 100644
--- a/media-gfx/xv/Manifest
+++ b/media-gfx/xv/Manifest
@@ -1,3 +1,4 @@
DIST xv-3.10a-jumbo-patches-20070520.tar.gz 1363802 BLAKE2B 1a9f77b950dfa817aa861d9b2b6898d6e378b4a61a57c746a8822793a8e11e54165faf859e073ef99c9fbea5aa0c4c8caa4608ef03f553003b779a4bf59c3ab6 SHA512 e2ac5a3b4d743bf142c162b00815dd9d8dcaf345d0649016b2c6441fe2329879471b19453808e677c1a0b8eeb3468295dba160b1f30eacb2a7a9d8524ce03e75
DIST xv-3.10a.png.bz2 3082 BLAKE2B 05f56053fc0a77bba155db306ae181f5404bced3b2c22a33b3a0a0750b84461ffec98934d3dbabd764fbb6ec95ce2851f4cf3959682a315fe6e6653cbaaa5ae4 SHA512 41e81c34e74a034292c2a8f525d1452614a2b42e980a1a2c93e3fcf990db528853d633496815e5fb2c897a780a2da171af590f436e2c7ef181eea00eb6922e9b
DIST xv-3.10a.tar.gz 2259124 BLAKE2B 42cea578a879c819be8f42ffb1d247643904d8b462a4d6faa208185e49566798605c89006cbc190725fa6356b87da3375cf04d2ba86b559419cf8f7471c867e5 SHA512 5b8c5890503e2796638921cabae8967e458c73e332acea8561b1025ed13c771bc44c0e309b4592852e33726eeaa9784f933d1312073b0ba2e0b8c0cedabcaa3f
+DIST xv-5.2.0.tar.gz 4785784 BLAKE2B 46dc637cbbeabfe1c034c34e73040de6efebbf5f423fe429028ebfeefd2fce5af0fdaff1c52db4807b8eb88de89dae6b7f0e2c8a3522a3d9b103d5777783a52d SHA512 0af7ff6db152be849c27be9fba116513595deeca9e3eb42ec6fd74a4756d0c525b55a40de49aa37dd5d2ea4a29e6d644c8c4c709f0e1ec0a98cbc0ae7221b110
diff --git a/media-gfx/xv/files/xv-5.2.0-osx-bsd.patch b/media-gfx/xv/files/xv-5.2.0-osx-bsd.patch
new file mode 100644
index 000000000000..27059386446d
--- /dev/null
+++ b/media-gfx/xv/files/xv-5.2.0-osx-bsd.patch
@@ -0,0 +1,51 @@
+diff '--color=auto' -ur a/src/vdcomp.c b/src/vdcomp.c
+--- a/src/vdcomp.c 2024-07-17 09:37:04.957769272 -0500
++++ b/src/vdcomp.c 2024-07-17 09:44:30.582594953 -0500
+@@ -130,6 +130,8 @@
+
+ # if defined(hp300) || defined(hp800) || defined(NeXT)
+ # include <sys/malloc.h> /* it's in "sys" on HPs and NeXT */
++# elif defined(__APPLE__)
++# include <malloc/malloc.h>
+ # else
+ # include <malloc.h> /* FIXME: should explicitly list systems that NEED this, not everyone that doesn't */
+ # endif
+diff '--color=auto' -ur a/src/xv.h b/src/xv.h
+--- a/src/xv.h 2024-07-17 09:37:04.957769272 -0500
++++ b/src/xv.h 2024-07-17 09:41:42.912041683 -0500
+@@ -183,7 +183,7 @@
+
+ #ifndef VMS
+ # include <errno.h>
+-# ifndef __NetBSD__
++# if !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__APPLE__)
+ # if !(defined(__GLIBC__) && __GLIBC__ >= 2) && !defined(__OpenBSD__)
+ extern int errno; /* SHOULD be in errno.h, but often isn't */
+ # ifndef XV_HAVE_SYSERRLISTDECL
+@@ -199,7 +199,7 @@
+ # ifdef VMS
+ # define ERRSTR(x) strerror(x, vaxc$errno)
+ # else
+-# if defined(__BEOS__) || defined(__linux__) /* or all modern/glibc systems? */
++# if defined(__BEOS__) || defined(__linux__) || defined(__APPLE__) /* or all modern/glibc systems? */
+ # define ERRSTR(x) strerror(x)
+ # else
+ # define ERRSTR(x) sys_errlist[x]
+@@ -236,6 +236,8 @@
+ #ifdef NEED_MALLOC_H
+ # if defined(hp300) || defined(hp800) || defined(NeXT)
+ # include <sys/malloc.h> /* it's in "sys" on HPs and NeXT */
++# elif defined(__APPLE__)
++# include <malloc/malloc.h>
+ # else
+ # include <malloc.h>
+ # endif
+@@ -399,7 +401,7 @@
+ * them later. */
+ #ifndef VMS /* VMS hates multi-line definitions */
+ # if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || \
+- defined(__bsdi__)
++ defined(__FreeBSD__) || defined(__bsdi__) || defined(__APPLE__)
+ # ifndef USE_MKSTEMP
+ # define USE_MKSTEMP /* use 'mkstemp()' instead of 'mktemp()' */
+ # endif /* >> SECURITY ISSUE << */
diff --git a/media-gfx/xv/metadata.xml b/media-gfx/xv/metadata.xml
index 03458a5affcb..6f2f9f849997 100644
--- a/media-gfx/xv/metadata.xml
+++ b/media-gfx/xv/metadata.xml
@@ -1,8 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="person">
+ <email>bkohler@gentoo.org</email>
+ <name>Ben Kohler</name>
+ </maintainer>
<upstream>
<remote-id type="sourceforge">png-mng</remote-id>
+ <remote-id type="github">jasper-software/xv</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/xv/xv-3.10a-r22.ebuild b/media-gfx/xv/xv-3.10a-r22.ebuild
index cab75f7acfc4..6349d9814431 100644
--- a/media-gfx/xv/xv-3.10a-r22.ebuild
+++ b/media-gfx/xv/xv-3.10a-r22.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -8,7 +8,7 @@ inherit desktop flag-o-matic toolchain-funcs
JUMBOV=20070520
DESCRIPTION="Interactive image manipulation program supporting a wide variety of formats"
HOMEPAGE="http://www.trilon.com/xv/index.html http://www.sonic.net/~roelofs/greg_xv.html"
-SRC_URI="mirror://sourceforge/png-mng/${P}-jumbo-patches-${JUMBOV}.tar.gz
+SRC_URI="https://downloads.sourceforge.net/png-mng/${P}-jumbo-patches-${JUMBOV}.tar.gz
ftp://ftp.cis.upenn.edu/pub/xv/${P}.tar.gz
mirror://gentoo/${P}.png.bz2"
diff --git a/media-gfx/xv/xv-5.2.0.ebuild b/media-gfx/xv/xv-5.2.0.ebuild
new file mode 100644
index 000000000000..49af68754450
--- /dev/null
+++ b/media-gfx/xv/xv-5.2.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake desktop
+
+JUMBOV=20070520
+DESCRIPTION="Interactive image manipulation program supporting a wide variety of formats"
+HOMEPAGE="https://github.com/jasper-software/xv/"
+SRC_URI="https://github.com/jasper-software/xv/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz
+ mirror://gentoo/xv-3.10a.png.bz2"
+
+LICENSE="xv"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="jpeg tiff png webp"
+
+DEPEND="
+ x11-libs/libXt
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ tiff? ( media-libs/tiff:= )
+ png? (
+ >=media-libs/libpng-1.2:=
+ sys-libs/zlib
+ )
+ webp? ( media-libs/libwebp:= )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/xv-5.2.0-osx-bsd.patch"
+)
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_SYSCONFDIR="${EPREFIX}/etc"
+ -DXV_ENABLE_JPEG=$(usex jpeg)
+ -DXV_ENABLE_JP2K=OFF
+ -DXV_ENABLE_PNG=$(usex png)
+ -DXV_ENABLE_TIFF=$(usex tiff)
+ -DXV_ENABLE_WEBP=$(usex webp)
+ )
+
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ newicon "${WORKDIR}"/xv-3.10a.png ${PN}.png
+ make_desktop_entry xv "" "" "Graphics;Viewer"
+}