summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'media-gfx')
-rw-r--r--media-gfx/alembic/Manifest1
-rw-r--r--media-gfx/alembic/alembic-1.8.6-r1.ebuild4
-rw-r--r--media-gfx/alembic/alembic-1.8.8.ebuild (renamed from media-gfx/alembic/alembic-1.8.6.ebuild)19
-rw-r--r--media-gfx/asymptote/Manifest1
-rw-r--r--media-gfx/asymptote/asymptote-2.95.ebuild242
-rw-r--r--media-gfx/blender/Manifest1
-rw-r--r--media-gfx/blender/blender-3.6.18.ebuild4
-rw-r--r--media-gfx/blender/blender-4.2.4.ebuild4
-rw-r--r--media-gfx/blender/blender-4.3.2.ebuild614
-rw-r--r--media-gfx/blender/blender-9999.ebuild2
-rw-r--r--media-gfx/clockphoto/clockphoto-1.2-r1.ebuild (renamed from media-gfx/clockphoto/clockphoto-1.2.ebuild)10
-rw-r--r--media-gfx/converseen/Manifest3
-rw-r--r--media-gfx/converseen/converseen-0.12.2.4.ebuild (renamed from media-gfx/converseen/converseen-0.12.0.1.ebuild)23
-rw-r--r--media-gfx/converseen/converseen-0.9.11.1.ebuild68
-rw-r--r--media-gfx/converseen/files/converseen-0.12.2.4-appdata-path.patch11
-rw-r--r--media-gfx/converseen/files/converseen-0.9.11.1-graphicsmagick-support.patch53
-rw-r--r--media-gfx/converseen/files/converseen-0.9.9.0-appdata-path.patch17
-rw-r--r--media-gfx/curtail/Manifest1
-rw-r--r--media-gfx/curtail/curtail-1.12.0.ebuild71
-rw-r--r--media-gfx/darktable/Manifest5
-rw-r--r--media-gfx/darktable/darktable-4.6.0.ebuild194
-rw-r--r--media-gfx/darktable/darktable-4.8.0-r1.ebuild (renamed from media-gfx/darktable/darktable-4.8.0.ebuild)5
-rw-r--r--media-gfx/darktable/darktable-5.0.0-r1.ebuild (renamed from media-gfx/darktable/darktable-4.6.1.ebuild)29
-rw-r--r--media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch11
-rw-r--r--media-gfx/digikam/Manifest2
-rw-r--r--media-gfx/digikam/digikam-8.4.0-r11.ebuild134
-rw-r--r--media-gfx/digikam/digikam-8.5.0-r1.ebuild (renamed from media-gfx/digikam/digikam-8.5.0.ebuild)5
-rw-r--r--media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch28
-rw-r--r--media-gfx/enblend/enblend-4.2.0_p20240424.ebuild7
-rw-r--r--media-gfx/engauge/Manifest1
-rw-r--r--media-gfx/engauge/engauge-10.6.ebuild79
-rw-r--r--media-gfx/engauge/files/engauge-10.6-qt-5.11.patch26
-rw-r--r--media-gfx/eog-plugins/eog-plugins-44.1.ebuild2
-rw-r--r--media-gfx/eog/Manifest2
-rw-r--r--media-gfx/eog/eog-45.4.ebuild2
-rw-r--r--media-gfx/eog/eog-47.0.ebuild (renamed from media-gfx/eog/eog-45.3.ebuild)8
-rw-r--r--media-gfx/exiv2/Manifest1
-rw-r--r--media-gfx/exiv2/exiv2-0.28.4.ebuild128
-rw-r--r--media-gfx/fig2dev/Manifest1
-rw-r--r--media-gfx/fig2dev/fig2dev-3.2.9a.ebuild (renamed from media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild)14
-rw-r--r--media-gfx/fig2dev/fig2dev-9999.ebuild120
-rw-r--r--media-gfx/fig2dev/files/fig2dev-3.2.9a-prototypes.patch62
-rw-r--r--media-gfx/flameshot/Manifest3
-rw-r--r--media-gfx/flameshot/flameshot-0.10.2.ebuild47
-rw-r--r--media-gfx/flameshot/flameshot-11.0.0.ebuild44
-rw-r--r--media-gfx/flameshot/flameshot-12.0.0-r2.ebuild47
-rw-r--r--media-gfx/fotema/Manifest10
-rw-r--r--media-gfx/fotema/fotema-1.19.0.ebuild (renamed from media-gfx/fotema/fotema-1.14.2-r2.ebuild)44
-rw-r--r--media-gfx/fotema/fotema-1.19.1.ebuild (renamed from media-gfx/fotema/fotema-1.14.3-r1.ebuild)44
-rw-r--r--media-gfx/fotema/fotema-1.19.2.ebuild (renamed from media-gfx/fotema/fotema-1.14.4-r1.ebuild)44
-rw-r--r--media-gfx/fotocx/Manifest1
-rw-r--r--media-gfx/fotocx/fotocx-25.0.ebuild79
-rw-r--r--media-gfx/freecad/files/freecad-1.0.0-Gentoo-specific-don-t-check-vcs.patch15
-rw-r--r--media-gfx/freecad/freecad-1.0.0-r2.ebuild (renamed from media-gfx/freecad/freecad-1.0.0-r1.ebuild)3
-rw-r--r--media-gfx/freecad/freecad-1.0.0-r3.ebuild305
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild17
-rw-r--r--media-gfx/freecad/metadata.xml4
-rw-r--r--media-gfx/geeqie/geeqie-2.5.ebuild4
-rw-r--r--media-gfx/gimp/Manifest4
-rw-r--r--media-gfx/gimp/files/gimp-2.10.36_fix_strict-aliasing.patch34
-rw-r--r--media-gfx/gimp/gimp-2.10.34-r3.ebuild219
-rw-r--r--media-gfx/gimp/gimp-2.10.36-r3.ebuild218
-rw-r--r--media-gfx/gimp/gimp-2.10.36-r4.ebuild221
-rw-r--r--media-gfx/gimp/gimp-2.10.38-r1.ebuild9
-rw-r--r--media-gfx/gimp/gimp-2.99.18-r1.ebuild269
-rw-r--r--media-gfx/gimp/gimp-3.0.0_rc1.ebuild7
-rw-r--r--media-gfx/gimp/gimp-3.0.0_rc2.ebuild (renamed from media-gfx/gimp/gimp-2.99.18-r2.ebuild)64
-rw-r--r--media-gfx/gimp/gimp-9999.ebuild9
-rw-r--r--media-gfx/gnome-font-viewer/Manifest2
-rw-r--r--media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild2
-rw-r--r--media-gfx/gnome-font-viewer/gnome-font-viewer-47.0.ebuild (renamed from media-gfx/gnome-font-viewer/gnome-font-viewer-45.0.ebuild)11
-rw-r--r--media-gfx/gnome-photos/gnome-photos-44.0.ebuild4
-rw-r--r--media-gfx/gphoto2/gphoto2-2.5.28-r2.ebuild (renamed from media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild)2
-rw-r--r--media-gfx/graphviz/Manifest1
-rw-r--r--media-gfx/graphviz/graphviz-12.2.1-r1.ebuild225
-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/hugin-2023.0.0-r1.ebuild99
-rw-r--r--media-gfx/hugin/hugin-2024.0.1.ebuild2
-rw-r--r--media-gfx/hydrus/hydrus-565-r1.ebuild3
-rw-r--r--media-gfx/hydrus/hydrus-571.ebuild3
-rw-r--r--media-gfx/hydrus/hydrus-9999.ebuild3
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild34
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild242
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild34
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild36
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild254
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild36
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild252
-rw-r--r--media-gfx/imagemagick/imagemagick-9999.ebuild36
-rw-r--r--media-gfx/inkscape/Manifest1
-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-libxml2-2.12.patch29
-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/files/inkscape-1.4-poppler-24.12.0.patch53
-rw-r--r--media-gfx/inkscape/files/inkscape-1.4-poppler-25.02.0.patch179
-rw-r--r--media-gfx/inkscape/inkscape-1.3.2-r2.ebuild213
-rw-r--r--media-gfx/inkscape/inkscape-1.4-r1.ebuild6
-rw-r--r--media-gfx/kgeotag/Manifest2
-rw-r--r--media-gfx/kgeotag/files/kgeotag-1.3.1-cmake.patch43
-rw-r--r--media-gfx/kgeotag/kgeotag-1.6.0.ebuild39
-rw-r--r--media-gfx/kgeotag/kgeotag-1.7.0.ebuild37
-rw-r--r--media-gfx/kgraphviewer/Manifest1
-rw-r--r--media-gfx/kgraphviewer/kgraphviewer-24.12.2.ebuild34
-rw-r--r--media-gfx/kio-blender-thumbnailer/Manifest2
-rw-r--r--media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.12.2.ebuild (renamed from media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild)24
-rw-r--r--media-gfx/kio-mobi-thumbnailer/Manifest2
-rw-r--r--media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.12.2.ebuild (renamed from media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild)22
-rw-r--r--media-gfx/kio-ps-thumbnailer/Manifest2
-rw-r--r--media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.12.2.ebuild (renamed from media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild)22
-rw-r--r--media-gfx/kio-raw-thumbnailer/Manifest2
-rw-r--r--media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.12.2.ebuild (renamed from media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild)22
-rw-r--r--media-gfx/kphotoalbum/Manifest2
-rw-r--r--media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild70
-rw-r--r--media-gfx/kphotoalbum/kphotoalbum-6.0.1.ebuild66
-rw-r--r--media-gfx/krita/Manifest1
-rw-r--r--media-gfx/krita/krita-5.2.6.ebuild7
-rw-r--r--media-gfx/krita/krita-5.2.9.ebuild139
-rw-r--r--media-gfx/kxstitch/Manifest2
-rw-r--r--media-gfx/kxstitch/files/kxstitch-2.2.0-drop-xkeylock.patch180
-rw-r--r--media-gfx/kxstitch/files/kxstitch-2.2.0-fix-hidpi.patch26
-rw-r--r--media-gfx/kxstitch/files/kxstitch-2.2.0-fix-render-scaled-painter.patch202
-rw-r--r--media-gfx/kxstitch/kxstitch-2.2.0-r1.ebuild44
-rw-r--r--media-gfx/kxstitch/kxstitch-3.0.0_pre20250110.ebuild40
-rw-r--r--media-gfx/libimagequant/Manifest21
-rw-r--r--media-gfx/libimagequant/libimagequant-4.3.4.ebuild71
-rw-r--r--media-gfx/librecad/Manifest1
-rw-r--r--media-gfx/librecad/librecad-2.2.1.ebuild85
-rw-r--r--media-gfx/libredwg/libredwg-0.13.2.ebuild2
-rw-r--r--media-gfx/libredwg/libredwg-0.13.3.ebuild12
-rw-r--r--media-gfx/libredwg/libredwg-0.13.ebuild2
-rw-r--r--media-gfx/luminance-hdr/files/luminance-hdr-2.5.1-openmp-automagic.patch32
-rw-r--r--media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-clamp-redefinition.patch18
-rw-r--r--media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-compilersettings-and-openmp.patch82
-rw-r--r--media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-no-qtwebengine.patch213
-rw-r--r--media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild (renamed from media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild)23
-rw-r--r--media-gfx/lximage-qt/Manifest1
-rw-r--r--media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild4
-rw-r--r--media-gfx/lximage-qt/lximage-qt-2.1.1.ebuild38
-rw-r--r--media-gfx/mandelbulber/Manifest2
-rw-r--r--media-gfx/mandelbulber/mandelbulber-2.32.ebuild (renamed from media-gfx/mandelbulber/mandelbulber-2.31.ebuild)25
-rw-r--r--media-gfx/monica/monica-3.7-r2.ebuild (renamed from media-gfx/monica/monica-3.7-r1.ebuild)4
-rw-r--r--media-gfx/mypaint/mypaint-2.0.1-r3.ebuild2
-rw-r--r--media-gfx/netgen/Manifest1
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch121
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch29
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch17
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2406-link-against-jpeg.patch30
-rw-r--r--media-gfx/netgen/netgen-6.2.2406.ebuild185
-rw-r--r--media-gfx/nomacs/Manifest2
-rw-r--r--media-gfx/nomacs/files/nomacs-3.16.224-DkMath-ostream.patch24
-rw-r--r--media-gfx/nomacs/files/nomacs-3.16.224-exiv2-0.28.patch241
-rw-r--r--media-gfx/nomacs/files/nomacs-3.16.224-libdir-plugins.patch23
-rw-r--r--media-gfx/nomacs/files/nomacs-3.16.224-libdir.patch30
-rw-r--r--media-gfx/nomacs/files/nomacs-3.16.224-quazip1.patch127
-rw-r--r--media-gfx/nomacs/nomacs-3.16.224-r6.ebuild86
-rw-r--r--media-gfx/nomacs/nomacs-3.19.1-r1.ebuild (renamed from media-gfx/nomacs/nomacs-3.19.1.ebuild)11
-rw-r--r--media-gfx/openscad/Manifest3
-rw-r--r--media-gfx/openscad/files/50openscad-gentoo.el3
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-0001-Gentoo-specific-Disable-ccache-building.patch32
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-0002-fix-to-find-lib3mf-2.patch43
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-CGAL-build-fix-v5.4-renames-projection-traits-header.patch36
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-CVE-2022-0496-Out-of-bounds-memory-access-in-DXF-loa.patch74
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-CVE-2022-0497-Out-of-bounds-memory-access-in-comment.patch25
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-Fix-build-failure-with-generic_print_polyhedron-on-C.patch42
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-Fix-build-issue-with-overloaded-join.patch60
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-Remove-double-quoting-of-the-output-file-parameter-f.patch20
-rw-r--r--media-gfx/openscad/files/openscad-2021.01-boost-1.85.patch12
-rw-r--r--media-gfx/openscad/openscad-2021.01-r5.ebuild118
-rw-r--r--media-gfx/openscad/openscad-2024.11.14_pre.ebuild (renamed from media-gfx/openscad/openscad-20241114.ebuild)6
-rw-r--r--media-gfx/openscad/openscad-2024.12.30_pre.ebuild (renamed from media-gfx/openscad/openscad-99999999.ebuild)75
-rw-r--r--media-gfx/openscad/openscad-9999.ebuild275
-rw-r--r--media-gfx/openvdb/openvdb-10.0.1.ebuild4
-rw-r--r--media-gfx/openvdb/openvdb-11.0.0.ebuild2
-rw-r--r--media-gfx/pencil/Manifest3
-rw-r--r--media-gfx/pencil/pencil-0.6.6-r1.ebuild55
-rw-r--r--media-gfx/pencil/pencil-0.7.0.ebuild36
-rw-r--r--media-gfx/photoqt/Manifest2
-rw-r--r--media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch116
-rw-r--r--media-gfx/photoqt/metadata.xml3
-rw-r--r--media-gfx/photoqt/photoqt-3.2.ebuild75
-rw-r--r--media-gfx/photoqt/photoqt-4.7-r1.ebuild99
-rw-r--r--media-gfx/phototonic/metadata.xml2
-rw-r--r--media-gfx/phototonic/phototonic-9999.ebuild37
-rw-r--r--media-gfx/plantuml/Manifest3
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.8.ebuild50
-rw-r--r--media-gfx/plantuml/plantuml-1.2025.0.ebuild (renamed from media-gfx/plantuml/plantuml-1.2024.7.ebuild)2
-rw-r--r--media-gfx/prusaslicer/Manifest1
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.1-boost-1.87.patch374
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.9.0-arrange-static.patch46
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.9.0-missing-includes.patch10
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.8.1-r1.ebuild1
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.9.0.ebuild113
-rw-r--r--media-gfx/prusaslicer/prusaslicer-9999.ebuild10
-rw-r--r--media-gfx/quat/files/quat-1.20-fltk1.4.patch6
-rw-r--r--media-gfx/quat/quat-1.20-r4.ebuild (renamed from media-gfx/quat/quat-1.20-r3.ebuild)9
-rw-r--r--media-gfx/renderdoc/Manifest4
-rw-r--r--media-gfx/renderdoc/renderdoc-1.30-r2.ebuild188
-rw-r--r--media-gfx/renderdoc/renderdoc-1.31.ebuild191
-rw-r--r--media-gfx/ristretto/Manifest3
-rw-r--r--media-gfx/ristretto/ristretto-0.13.0.ebuild47
-rw-r--r--media-gfx/ristretto/ristretto-0.13.3.ebuild (renamed from media-gfx/ristretto/ristretto-0.13.2.ebuild)5
-rw-r--r--media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild7
-rw-r--r--media-gfx/sane-frontends/files/gimp-2.0.m4180
-rw-r--r--media-gfx/sane-frontends/files/gtk-2.0.m4189
-rw-r--r--media-gfx/sane-frontends/files/sane-frontends-1.0.14-c99.patch51
-rw-r--r--media-gfx/sane-frontends/sane-frontends-1.0.14-r7.ebuild (renamed from media-gfx/sane-frontends/sane-frontends-1.0.14-r6.ebuild)21
-rw-r--r--media-gfx/scrot/scrot-1.11.1.ebuild4
-rw-r--r--media-gfx/shotwell/shotwell-0.32.10.ebuild2
-rw-r--r--media-gfx/skanpage/Manifest1
-rw-r--r--media-gfx/skanpage/skanpage-24.12.2.ebuild49
-rw-r--r--media-gfx/symboleditor/Manifest2
-rw-r--r--media-gfx/symboleditor/metadata.xml3
-rw-r--r--media-gfx/symboleditor/symboleditor-2.1.0.ebuild43
-rw-r--r--media-gfx/symboleditor/symboleditor-3.0.0_pre20250127.ebuild41
-rw-r--r--media-gfx/ttfautohint/ttfautohint-1.8.4-r3.ebuild11
-rw-r--r--media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild4
-rw-r--r--media-gfx/ueberzug/Manifest2
-rw-r--r--media-gfx/ueberzug/ueberzug-18.2.3.ebuild44
-rw-r--r--media-gfx/ueberzug/ueberzug-18.3.0.ebuild39
-rw-r--r--media-gfx/valentina/Manifest2
-rw-r--r--media-gfx/valentina/files/5823.patch50
-rw-r--r--media-gfx/valentina/files/valentina-0.6.1-disable-vcs-version.patch75
-rw-r--r--media-gfx/valentina/valentina-0.6.1-r1.ebuild126
-rw-r--r--media-gfx/wings/Manifest1
-rw-r--r--media-gfx/wings/wings-2.4.ebuild62
-rw-r--r--media-gfx/xloadimage/files/xloadimage-4.1-fix-incomp-function-pointer-musl.patch14
-rw-r--r--media-gfx/xloadimage/xloadimage-4.1-r17.ebuild4
-rw-r--r--media-gfx/xloadimage/xloadimage-4.1-r18.ebuild97
-rw-r--r--media-gfx/xpaint/xpaint-3.1.4-r4.ebuild87
-rw-r--r--media-gfx/xpaint/xpaint-3.1.4-r5.ebuild2
-rw-r--r--media-gfx/xv/xv-6.0.1.ebuild2
-rw-r--r--media-gfx/xv/xv-6.0.2.ebuild2
235 files changed, 5569 insertions, 6362 deletions
diff --git a/media-gfx/alembic/Manifest b/media-gfx/alembic/Manifest
index 4810c74e5789..e6378a9716fe 100644
--- a/media-gfx/alembic/Manifest
+++ b/media-gfx/alembic/Manifest
@@ -1 +1,2 @@
DIST alembic-1.8.6.tar.gz 868945 BLAKE2B 1ac30ffa75a4b8bbb3f32820e6f67cebcd894465f16cd12ee0396c88611af821b13973f46228fd59726c6bc0cc8885afd4de81a0cebaa0f94cb30fd9daba9885 SHA512 6371b830242be90d4ea833248df5fd42d9e713e305d15eb1383d04410319acdae5743d48d65e8f75f1cedce777d2af7d969cde095f678b17322c19f1c69f477b
+DIST alembic-1.8.8.tar.gz 933258 BLAKE2B 4f56f5addcf153407da14d6646255ee35b1126b307179fbcfa2c13398825680652b557772db0a08906d04a9bd46c1fa82862a65367d9ce162f2b9d948ff9b701 SHA512 02b7bf5782e83efb08a8653f130b02565fa997e857dbd8d0523e1b218ff58d929fbf9690db0980e8101a31f01a67341b6000af8794538890ef7d759fe0289e2f
diff --git a/media-gfx/alembic/alembic-1.8.6-r1.ebuild b/media-gfx/alembic/alembic-1.8.6-r1.ebuild
index 1c389cb6e29c..368d5ac0b165 100644
--- a/media-gfx/alembic/alembic-1.8.6-r1.ebuild
+++ b/media-gfx/alembic/alembic-1.8.6-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{11..12} )
inherit cmake python-single-r1
diff --git a/media-gfx/alembic/alembic-1.8.6.ebuild b/media-gfx/alembic/alembic-1.8.8.ebuild
index de6bc765bcef..72f906df2218 100644
--- a/media-gfx/alembic/alembic-1.8.6.ebuild
+++ b/media-gfx/alembic/alembic-1.8.8.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{11..13} )
inherit cmake python-single-r1
@@ -13,7 +13,7 @@ SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
IUSE="examples hdf5 python test"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
@@ -23,7 +23,7 @@ RESTRICT="!test? ( test )"
RDEPEND="
${PYTHON_DEPS}
- dev-libs/imath:=
+ >=dev-libs/imath-3.1.11-r1:=
python? ( dev-libs/imath:=[python,${PYTHON_SINGLE_USEDEP}] )
hdf5? (
>=sci-libs/hdf5-1.10.2:=[zlib(+)]
@@ -33,15 +33,12 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
-PATCHES=( "${FILESDIR}"/${PN}-1.8.5-set-correct-libdir.patch )
+PATCHES=(
+ "${FILESDIR}/${PN}-1.8.6-py312.patch"
-DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt )
+)
-src_prepare() {
- cmake_src_prepare
- # Tests are broken with python 3.11. See also: https://github.com/alembic/alembic/issues/411
- cmake_run_in "${S}/python/PyAlembic" cmake_comment_add_subdirectory Tests
-}
+DOCS=( ACKNOWLEDGEMENTS.txt FEEDBACK.txt NEWS.txt README.txt )
src_configure() {
local mycmakeargs=(
diff --git a/media-gfx/asymptote/Manifest b/media-gfx/asymptote/Manifest
index d9b42c10937d..817b08c66203 100644
--- a/media-gfx/asymptote/Manifest
+++ b/media-gfx/asymptote/Manifest
@@ -1,3 +1,4 @@
DIST asymptote-2.89.src.tgz 15133552 BLAKE2B bde5acd3e76543b3c936e785ccf081c38687d535f336ee0e3da62f5fe078bb040dc162b64f02e94f392129c120bdf497b86e3862059abdb1b4544bab3cce3218 SHA512 a9874f0dc6eb05b95ef551611d85f39222af2a0628d7904160b08bdaf797c2b9ec6d12af7ae26dee69dbc056a5bffad4e450d4846a517d80990d89759e0c47a0
DIST asymptote-2.90.src.tgz 15154576 BLAKE2B 57e3c4287f2e8a6b6f3d660cdd04bb753b435294d4769bbcf84d6c7bf80c813609528767af7d19853d9f72f4f1ce9e6a8dcc6a75731a2f3d16098d5da5b81b6c SHA512 2d050f7a2cfc34d2d6b5382a48e7bf09031d98a77e61b654b4af84b5e8e11553a9a713a6dea8d09291761427d7134742a3d266e57ac57ffda3587ec0487ecfca
DIST asymptote-2.92.src.tgz 17075592 BLAKE2B 426fe3bb652f2f227d6f8cdd8e05c4b4bf0e2a0c47b3c252c5efb189ad3e7a0946664d714f161f70a9715f75dadf5510445e404d8c2e7b33f9e710200965caf0 SHA512 242a91357e7f0d2a4fc786fa881498d09d5b3b679cf1ee83e6af49f645935699a6e703eb8069446e11098028bc0cb0549f527695d3ea289066124d707c592559
+DIST asymptote-2.95.src.tgz 32055059 BLAKE2B 89d8c512599f4ff4f21d43287176541fc539793f1d467028a99f866f663b8b5093626b6d166ce48749534cfec998059dc5add5cef0d54b49afb636791643e1ba SHA512 e1e2401d5d1aef8f594dadcf7c49f775a816e15d9fbd43c52581e9f135942c20adcc78af134f46b101c32e2fc68aa9e9f4f5985d19eee9f6bfcb069813194d15
diff --git a/media-gfx/asymptote/asymptote-2.95.ebuild b/media-gfx/asymptote/asymptote-2.95.ebuild
new file mode 100644
index 000000000000..d1589a23dad5
--- /dev/null
+++ b/media-gfx/asymptote/asymptote-2.95.ebuild
@@ -0,0 +1,242 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit autotools elisp-common latex-package python-r1
+
+DESCRIPTION="A vector graphics language that provides a framework for technical drawing"
+HOMEPAGE="https://asymptote.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="+boehm-gc context curl doc emacs examples fftw gsl +imagemagick latex lsp offscreen +opengl python sigsegv svg test vim-syntax X"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ offscreen? ( opengl )
+ doc? ( boehm-gc )"
+
+RDEPEND="
+ >=sys-libs/ncurses-5.4-r5:0=
+ >=sys-libs/readline-4.3-r5:0=
+ net-libs/libtirpc:=
+ imagemagick? ( media-gfx/imagemagick[png] )
+ opengl? ( media-libs/mesa[X(+)] media-libs/freeglut media-libs/glew:0 media-libs/glm )
+ offscreen? ( media-libs/mesa[osmesa] )
+ svg? ( app-text/dvisvgm )
+ sigsegv? ( dev-libs/libsigsegv )
+ boehm-gc? ( >=dev-libs/boehm-gc-7.0[cxx,threads] )
+ fftw? ( >=sci-libs/fftw-3.0.1:= )
+ gsl? ( sci-libs/gsl:= )
+ python? ( ${PYTHON_DEPS} )
+ curl? ( net-misc/curl )
+ lsp? (
+ dev-libs/boost
+ dev-libs/rapidjson
+ dev-libs/utfcpp
+ )
+ X? (
+ ${PYTHON_DEPS}
+ dev-python/pyqt5[${PYTHON_USEDEP},gui,widgets,svg]
+ dev-python/cson
+ dev-python/numpy
+ >=gnome-base/librsvg-2.40
+ )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ )
+ context? ( dev-texlive/texlive-context )
+ emacs? ( >=app-editors/emacs-23.1:* )
+ vim-syntax? ( || ( app-editors/vim app-editors/gvim ) )"
+DEPEND="${RDEPEND}
+ dev-lang/perl
+ doc? (
+ media-gfx/imagemagick[png]
+ virtual/texi2dvi
+ virtual/latex-base
+ dev-texlive/texlive-latexextra
+ app-text/ghostscript-gpl )
+ test? ( app-text/ghostscript-gpl )"
+
+TEXMF=/usr/share/texmf-site
+
+PATCHES=(
+ # Changing pdf, ps, image viewers to xdg-open
+ "${FILESDIR}/${PN}-2.92-xdg-utils.patch"
+
+ # Bug #322473
+ "${FILESDIR}/${PN}-2.70-info.patch"
+)
+
+src_prepare() {
+ sed -e "s:Datadir/doc/asymptote:Datadir/doc/${PF}:" \
+ -i configure.ac \
+ || die "sed configure.ac failed"
+
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # for the CPPFLAGS see
+ # https://sourceforge.net/forum/forum.php?thread_id=1683277&forum_id=409349
+ econf \
+ CPPFLAGS=-DHAVE_SYS_TYPES_H \
+ CFLAGS="${CXXFLAGS}" \
+ --disable-gc-debug \
+ --disable-gc-full-debug \
+ --with-latex=/usr/share/texmf-site/tex/latex \
+ --with-context=/usr/share/texmf-site/tex/context \
+ $(use_enable boehm-gc gc system) \
+ $(use_enable curl) \
+ $(use_enable lsp) \
+ $(use_enable fftw) \
+ $(use_enable gsl) \
+ $(use_enable opengl gl) \
+ $(use_enable offscreen) \
+ $(use_enable sigsegv)
+}
+
+src_compile() {
+ default
+
+ emake doc/version.texi
+ cd doc || die
+ emake asy.1
+ einfo "Making info"
+ emake ${PN}.info
+ if use doc; then
+ cd FAQ || die
+ emake
+ cd .. || die
+ # pdf
+ einfo "Making pdf docs"
+ export VARTEXFONTS="${T}"/fonts
+ # see bug #260606
+ emake -j1 asymptote.pdf
+ emake CAD.pdf asy-latex.pdf asyRefCard.pdf
+ fi
+ cd .. || die
+
+ if use emacs; then
+ einfo "Compiling emacs lisp files"
+ elisp-compile base/*.el
+ fi
+}
+
+src_install() {
+ # the program
+ dobin asy
+
+ # .asy files
+ insinto /usr/share/${PN}
+ doins -r base/*.asy base/*.js base/*.sh base/*.ps base/shaders base/webgl
+ chmod 755 "${D}"/usr/share/${PN}/shaders/*
+
+ # documentation
+ dodoc README ReleaseNotes ChangeLog
+ cd doc || die
+ doman asy.1
+ doinfo png/${PN}.info
+ if use doc; then
+ dodoc FAQ/asy-faq.ascii
+ dodoc CAD.pdf asy-latex.pdf asyRefCard.pdf asymptote.pdf
+ fi
+ cd .. || die
+
+ # asymptote.py
+ if use python; then
+ python_moduleinto ${PN}
+ #python_foreach_impl python_domodule misc/aspy.py
+ python_foreach_impl python_domodule base/${PN}.py
+ fi
+
+ # X GUI
+ if use X; then
+ cd GUI || die
+ python_setup
+ sed -e 1d -i xasy.py
+ echo "#!/usr/bin/env ${EPYTHON}" > xasy1
+ cat xasy1 xasy.py > xasy
+ rm xasy1 xasy.py
+ mv xasy xasy.py
+ cd .. || die
+ python_domodule GUI
+ chmod 755 "${D}/$(python_get_sitedir)/${PN}/GUI/xasy.py"
+ dosym "$(python_get_sitedir)/${PN}/GUI/xasy.py" /usr/bin/xasy
+ doman doc/xasy.1x
+ fi
+
+ # examples
+ if use examples; then
+ docinto examples
+ dodoc \
+ examples/*.asy \
+ examples/*.views \
+ examples/*.dat \
+ examples/*.bib \
+ examples/*.png \
+ examples/*.pdb1 \
+ doc/*.asy \
+ doc/*.csv \
+ doc/*.dat \
+ doc/pixel.pdf \
+ doc/extra/*.asy
+ docinto examples/animations
+ dodoc examples/animations/*.asy
+ fi
+
+ # LaTeX style
+ if use latex; then
+ cd doc || die
+ insinto "${TEXMF}"/tex/latex/${PN}
+ doins *.sty latexmkrc
+ if use examples; then
+ docinto examples
+ dodoc latexusage.tex externalprc.tex
+ docinto examples/animations
+ dodoc ../examples/animations/*.tex
+ fi
+ cd .. || die
+ fi
+
+ # ConTeXt
+ if use context; then
+ insinto /usr/share/texmf-site/tex/context
+ doins doc/colo-asy.tex
+ fi
+
+ # emacs mode
+ if use emacs; then
+ elisp-install ${PN} base/*.el base/*.elc asy-keywords.el
+ elisp-site-file-install "${FILESDIR}"/64${PN}-gentoo.el
+ fi
+
+ # vim syntax
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles/syntax
+ doins base/asy.vim
+ insinto /usr/share/vim/vimfiles/ftdetect
+ doins base/asy_filetype.vim
+ fi
+}
+
+pkg_postinst() {
+ use latex && latex-package_rehash
+ use emacs && elisp-site-regen
+
+ elog 'Use the variable ASYMPTOTE_PSVIEWER to set the postscript viewer'
+ elog 'Use the variable ASYMPTOTE_PDFVIEWER to set the PDF viewer'
+}
+
+pkg_postrm() {
+ use latex && latex-package_rehash
+ use emacs && elisp-site-regen
+}
diff --git a/media-gfx/blender/Manifest b/media-gfx/blender/Manifest
index 74646405868e..fe33332a0cc7 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -4,3 +4,4 @@ DIST blender-3.6.8.tar.xz 70453744 BLAKE2B 5361977951fa1720899fad26092b967cc78b7
DIST blender-4.1.1.tar.xz 82146268 BLAKE2B 1ab4a6c1046851ef619394c62fc73794430dc091e2cab26d3d1d542e9d4519889e9b9731606385e9dc8657448ca3827875526f4a57dd1b5c326a73d8a6f9be8d SHA512 13ad0cdd09879b5c28554faca5a54172f43dc3dcb749d2d1723d3e89e741e6255179af3bd88309b735e058b9b350191e44f3158e882e55f1cedea70b8b21540e
DIST blender-4.2.1.tar.xz 72789532 BLAKE2B 74494e851e9e2e9fdcf4a77fa4e1c177d6b9f01ab1cde9daec40468e5399d84b04225ff3a6919191e685624e9094ea4cb2257a62344d3b0e87072f339253aa82 SHA512 20162bd1185e34c481a0520f4999f8c76018471b485fa72afa446f590638c564a370d036cc4a941bf204fce821d8305d4244b3ba9ec7f09f1839b8a276dfde39
DIST blender-4.2.4.tar.xz 72804204 BLAKE2B 613ae4671cc9263d18fe988b07e8744eb04f67fe53f1c14ad3fbc7d80c58a577e7753871ca775cd40ab5f26ef2bc9030cda57012dda0c4785769f04263aea15b SHA512 1f61c1866aaa680c91fc6e3402b1e10533c8cce32572ffb825c53dc7c15ca51f1157a32d10134ca9e612fbf719406421ccc920b2d8ddd2993675784797381c6a
+DIST blender-4.3.2.tar.xz 74473996 BLAKE2B 9a5c8973561f3296b0ec35990ab4951e34f7c0dd5bee3dd120a49989dc8ca7ebfc9610654e8be9d14463af2197626f490324cdd03118db755f5d0b1f7acce375 SHA512 44697faf9acc2c1e75783d432a1a0040339c3445834961a995e95974d4088e75ee5cb647a3908125259d1910d180910e5bc50d34d40d35f33e03197893581477
diff --git a/media-gfx/blender/blender-3.6.18.ebuild b/media-gfx/blender/blender-3.6.18.ebuild
index 698ccf250f72..bdf6973efd45 100644
--- a/media-gfx/blender/blender-3.6.18.ebuild
+++ b/media-gfx/blender/blender-3.6.18.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ else
# Update these between major releases.
TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
# SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
- KEYWORDS="~amd64 ~arm ~arm64"
+ KEYWORDS="amd64 ~arm ~arm64"
fi
LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
diff --git a/media-gfx/blender/blender-4.2.4.ebuild b/media-gfx/blender/blender-4.2.4.ebuild
index b062e630b1a5..1d63fa59b338 100644
--- a/media-gfx/blender/blender-4.2.4.ebuild
+++ b/media-gfx/blender/blender-4.2.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -27,7 +27,7 @@ else
# https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz
# )
# "
- KEYWORDS="~amd64 ~arm ~arm64"
+ KEYWORDS="amd64 ~arm ~arm64"
RESTRICT="test" # the test archive returns LFS references.
fi
diff --git a/media-gfx/blender/blender-4.3.2.ebuild b/media-gfx/blender/blender-4.3.2.ebuild
new file mode 100644
index 000000000000..b062e630b1a5
--- /dev/null
+++ b/media-gfx/blender/blender-4.3.2.ebuild
@@ -0,0 +1,614 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..12} )
+# NOTE must match media-libs/osl
+LLVM_COMPAT=( {15..18} )
+LLVM_OPTIONAL=1
+
+inherit check-reqs cmake cuda flag-o-matic llvm-r1 pax-utils python-single-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="3D Creation/Animation/Publishing System"
+HOMEPAGE="https://www.blender.org"
+
+if [[ ${PV} = *9999* ]] ; then
+ EGIT_LFS="yes"
+ inherit git-r3
+ EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
+ EGIT_SUBMODULES=( '*' '-lib/*' )
+ RESTRICT="!test? ( test )"
+else
+ SRC_URI="
+ https://download.blender.org/source/${P}.tar.xz
+ "
+ # test? (
+ # https://projects.blender.org/blender/blender-test-data/archive/blender-v$(ver_cut 1-2)-release.tar.gz
+ # )
+ # "
+ KEYWORDS="~amd64 ~arm ~arm64"
+ RESTRICT="test" # the test archive returns LFS references.
+fi
+
+LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
+SLOT="${PV%.*}"
+IUSE="
+ alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
+ debug doc +embree +ffmpeg +fftw +fluid +gmp gnome hip jack
+ jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp +openpgl
+ +opensubdiv +openvdb optix osl +otf +pdf +potrace +pugixml pulseaudio
+ renderdoc sdl +sndfile +tbb test +tiff valgrind vulkan wayland +webp X
+"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ alembic? ( openexr )
+ cuda? ( cycles )
+ cycles? ( openexr tiff tbb )
+ fluid? ( tbb )
+ gnome? ( wayland )
+ hip? ( cycles )
+ nanovdb? ( openvdb )
+ openvdb? ( tbb openexr )
+ optix? ( cuda )
+ osl? ( cycles pugixml )
+ test? ( color-management )"
+
+# Library versions for official builds can be found in the blender source directory in:
+# build_files/build_environment/cmake/versions.cmake
+RDEPEND="${PYTHON_DEPS}
+ app-arch/zstd
+ dev-libs/boost:=[nls?]
+ dev-libs/lzo:2=
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ ')
+ media-libs/freetype:=[brotli]
+ media-libs/libepoxy:=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/libsamplerate
+ >=media-libs/openimageio-2.5.6.0:=
+ sys-libs/zlib:=
+ virtual/glu
+ virtual/libintl
+ virtual/opengl
+ alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] )
+ collada? ( >=media-libs/opencollada-1.6.68 )
+ color-management? ( media-libs/opencolorio:= )
+ cuda? ( dev-util/nvidia-cuda-toolkit:= )
+ embree? ( media-libs/embree:=[raymask] )
+ ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
+ fftw? ( sci-libs/fftw:3.0= )
+ gmp? ( dev-libs/gmp[cxx] )
+ gnome? ( gui-libs/libdecor )
+ hip? (
+ llvm_slot_17? (
+ dev-util/hip:0/5.7
+ )
+ llvm_slot_18? (
+ >=dev-util/hip-6.1:=[llvm_slot_18(-)]
+ )
+ )
+ jack? ( virtual/jack )
+ jemalloc? ( dev-libs/jemalloc:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ ndof? (
+ app-misc/spacenavd
+ dev-libs/libspnav
+ )
+ nls? ( virtual/libiconv )
+ openal? ( media-libs/openal )
+ oidn? ( >=media-libs/oidn-2.1.0[${LLVM_USEDEP}] )
+ oneapi? ( dev-libs/intel-compute-runtime[l0] )
+ openexr? (
+ >=dev-libs/imath-3.1.7:=
+ >=media-libs/openexr-3.2.1:0=
+ )
+ openpgl? ( media-libs/openpgl:= )
+ opensubdiv? ( >=media-libs/opensubdiv-3.5.0 )
+ openvdb? (
+ >=media-gfx/openvdb-11.0.0:=[nanovdb?]
+ dev-libs/c-blosc:=
+ )
+ optix? ( dev-libs/optix )
+ osl? (
+ >=media-libs/osl-1.13:=[${LLVM_USEDEP}]
+ media-libs/mesa[${LLVM_USEDEP}]
+ )
+ pdf? ( media-libs/libharu )
+ potrace? ( media-gfx/potrace )
+ pugixml? ( dev-libs/pugixml )
+ pulseaudio? ( media-libs/libpulse )
+ sdl? ( media-libs/libsdl2[sound,joystick] )
+ sndfile? ( media-libs/libsndfile )
+ tbb? ( dev-cpp/tbb:= )
+ tiff? ( media-libs/tiff:= )
+ valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=dev-libs/wayland-1.12
+ >=dev-libs/wayland-protocols-1.15
+ >=x11-libs/libxkbcommon-0.2.0
+ dev-util/wayland-scanner
+ media-libs/mesa[wayland]
+ sys-apps/dbus
+ )
+ vulkan? (
+ media-libs/shaderc
+ dev-util/spirv-tools
+ dev-util/glslang
+ media-libs/vulkan-loader
+ )
+ otf? (
+ media-libs/harfbuzz
+ )
+ renderdoc? (
+ media-gfx/renderdoc
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXxf86vm
+ )
+"
+
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:=
+ vulkan? (
+ dev-util/spirv-headers
+ dev-util/vulkan-headers
+ )
+"
+
+BDEPEND="
+ virtual/pkgconfig
+ doc? (
+ app-text/doxygen[dot]
+ dev-python/sphinx[latex]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+ )
+ nls? ( sys-devel/gettext )
+ wayland? (
+ dev-util/wayland-scanner
+ )
+ X? (
+ x11-base/xorg-proto
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.0.2-FindClang.patch"
+ "${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
+ "${FILESDIR}/${PN}-4.1.1-FindLLVM.patch"
+ "${FILESDIR}/${PN}-4.1.1-numpy.patch"
+)
+
+blender_check_requirements() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+
+ if use doc; then
+ CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
+ fi
+}
+
+blender_get_version() {
+ # Get blender version from blender itself.
+ BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
+ if ((${BV:0:1} < 3)) ; then
+ # Add period (290 -> 2.90).
+ BV=${BV:0:1}.${BV:1}
+ else
+ # Add period and skip the middle number (301 -> 3.1)
+ BV=${BV:0:1}.${BV:2}
+ fi
+}
+
+pkg_pretend() {
+ blender_check_requirements
+
+ if use oneapi; then
+ einfo "The Intel oneAPI support is rudimentary."
+ einfo ""
+ einfo "Please report any bugs you find to https://bugs.gentoo.org/"
+ fi
+}
+
+pkg_setup() {
+ if use osl; then
+ llvm-r1_pkg_setup
+ fi
+
+ blender_check_requirements
+ python-single-r1_pkg_setup
+}
+
+src_unpack() {
+ if [[ ${PV} = *9999* ]] ; then
+ if ! use test; then
+ EGIT_SUBMODULES+=( '-tests/*' )
+ fi
+ git-r3_src_unpack
+ else
+ default
+
+ if use test; then
+ mkdir -p "${S}/tests/data/" || die
+ mv blender-test-data/* "${S}/tests/data/" || die
+ fi
+ fi
+}
+
+src_prepare() {
+ use cuda && cuda_src_prepare
+
+ cmake_src_prepare
+
+ blender_get_version
+
+ # Disable MS Windows help generation. The variable doesn't do what it
+ # it sounds like.
+ sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \
+ -i doc/doxygen/Doxyfile || die
+
+ # Prepare icons and .desktop files for slotting.
+ sed \
+ -e "s|blender.svg|blender-${BV}.svg|" \
+ -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" \
+ -e "s|blender.desktop|blender-${BV}.desktop|" \
+ -e "s|org.blender.Blender.metainfo.xml|blender-${BV}.metainfo.xml|" \
+ -i source/creator/CMakeLists.txt || die
+
+ sed \
+ -e "s|Name=Blender|Name=Blender ${BV}|" \
+ -e "s|Exec=blender|Exec=blender-${BV}|" \
+ -e "s|Icon=blender|Icon=blender-${BV}|" \
+ -i release/freedesktop/blender.desktop || die
+
+ sed -e "s|\${CMAKE_INSTALL_PREFIX}/\${BLENDER_BIN}|${T}/usr/\${BLENDER_BIN}|g" -i source/creator/CMakeLists.txt || die
+
+ mv \
+ release/freedesktop/icons/scalable/apps/blender.svg \
+ "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
+ mv \
+ release/freedesktop/icons/symbolic/apps/blender-symbolic.svg \
+ "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
+ mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die
+ mv release/freedesktop/org.blender.Blender.metainfo.xml "release/freedesktop/blender-${BV}.metainfo.xml"
+ mv release/freedesktop/org.blender.Blender.appdata.xml "release/freedesktop/blender-${BV}.appdata.xml"
+
+ if use test; then
+ # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
+ sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die
+ sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/testing.cmake || die
+ fi
+
+ if use vulkan; then
+ sed -e "s/extern_vulkan_memory_allocator/extern_vulkan_memory_allocator\nSPIRV-Tools-opt\nSPIRV-Tools\nSPIRV-Tools-link\nglslang\nSPIRV\nSPVRemapper/" -i source/blender/gpu/CMakeLists.txt || die
+ fi
+}
+
+src_configure() {
+ # -Werror=odr, -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/859607
+ # https://projects.blender.org/blender/blender/issues/120444
+ filter-lto
+
+ # Workaround for bug #922600
+ append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
+
+ append-lfs-flags
+ blender_get_version
+
+ local mycmakeargs=(
+ -DWITH_LIBS_PRECOMPILED=no
+ -DBUILD_SHARED_LIBS=no
+ -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
+ -DPYTHON_LIBRARY="$(python_get_library_path)"
+ -DPYTHON_VERSION="${EPYTHON/python/}"
+ -DWITH_ALEMBIC=$(usex alembic)
+ -DWITH_BOOST=yes
+ -DWITH_BULLET=$(usex bullet)
+ -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
+ -DWITH_CODEC_SNDFILE=$(usex sndfile)
+ -DWITH_CPU_CHECK=no
+
+ -DWITH_CYCLES=$(usex cycles)
+
+ -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda)
+ -DWITH_CYCLES_CUDA_BINARIES="$(usex cuda $(usex cycles-bin-kernels))"
+ -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
+
+ -DWITH_CYCLES_DEVICE_HIP="$(usex hip)"
+ -DWITH_CYCLES_HIP_BINARIES=$(usex hip $(usex cycles-bin-kernels))
+
+ -DWITH_CYCLES_DEVICE_ONEAPI="$(usex oneapi)"
+ -DWITH_CYCLES_ONEAPI_BINARIES="$(usex oneapi $(usex cycles-bin-kernels))"
+
+ -DWITH_CYCLES_HYDRA_RENDER_DELEGATE="no" # TODO: package Hydra
+ -DWITH_CYCLES_EMBREE="$(usex embree)"
+ -DWITH_CYCLES_OSL=$(usex osl)
+ -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl)
+ -DWITH_CYCLES_STANDALONE=no
+ -DWITH_CYCLES_STANDALONE_GUI=no
+
+ -DWITH_DOC_MANPAGE=$(usex man)
+ -DWITH_DRACO="no" # TODO: Package Draco
+ -DWITH_FFTW3=$(usex fftw)
+ -DWITH_GHOST_WAYLAND=$(usex wayland)
+ -DWITH_GHOST_WAYLAND_DYNLOAD="no"
+ -DWITH_GHOST_X11=$(usex X)
+ -DWITH_GMP=$(usex gmp)
+ -DWITH_GTESTS=$(usex test)
+ -DWITH_HARFBUZZ="$(usex otf)"
+ -DWITH_HARU=$(usex pdf)
+ -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON)
+ -DWITH_HYDRA="no" # TODO: Package Hydra
+ -DWITH_IMAGE_OPENEXR=$(usex openexr)
+ -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
+ -DWITH_IMAGE_WEBP=$(usex webp)
+ -DWITH_INPUT_NDOF=$(usex ndof)
+ -DWITH_INSTALL_PORTABLE="no"
+ -DWITH_INTERNATIONAL=$(usex nls)
+ -DWITH_JACK=$(usex jack)
+ -DWITH_MATERIALX="no" # TODO: Package MaterialX
+ -DWITH_MEM_JEMALLOC=$(usex jemalloc)
+ -DWITH_MEM_VALGRIND=$(usex valgrind)
+ -DWITH_MOD_FLUID=$(usex fluid)
+ -DWITH_MOD_OCEANSIM=$(usex fftw)
+ -DWITH_NANOVDB=$(usex nanovdb)
+ -DWITH_OPENAL=$(usex openal)
+ -DWITH_OPENCOLLADA=$(usex collada)
+ -DWITH_OPENCOLORIO=$(usex color-management)
+ -DWITH_OPENIMAGEDENOISE=$(usex oidn)
+ -DWITH_OPENMP=$(usex openmp)
+ -DWITH_OPENSUBDIV=$(usex opensubdiv)
+ -DWITH_OPENVDB=$(usex openvdb)
+ -DWITH_OPENVDB_BLOSC=$(usex openvdb)
+ -DWITH_POTRACE=$(usex potrace)
+ -DWITH_PUGIXML=$(usex pugixml)
+ -DWITH_PULSEAUDIO=$(usex pulseaudio)
+ -DWITH_PYTHON_INSTALL=no
+ -DWITH_PYTHON_INSTALL_NUMPY=no
+ -DWITH_PYTHON_INSTALL_ZSTANDARD=no
+ -DWITH_RENDERDOC="$(usex renderdoc)"
+ -DWITH_SDL=$(usex sdl)
+ -DWITH_STATIC_LIBS=no
+ -DWITH_STRICT_BUILD_OPTIONS=yes
+ -DWITH_SYSTEM_EIGEN3=yes
+ -DWITH_SYSTEM_FREETYPE=yes
+ -DWITH_SYSTEM_LZO=yes
+ -DWITH_TBB=$(usex tbb)
+ -DWITH_USD="no" # TODO: Package USD
+ -DWITH_VULKAN_BACKEND="$(usex vulkan)"
+ -DWITH_XR_OPENXR=no
+ )
+
+ if has_version ">=dev-python/numpy-2"; then
+ mycmakeargs+=(
+ -DPYTHON_NUMPY_INCLUDE_DIRS="$(python_get_sitedir)/numpy/_core/include"
+ -DPYTHON_NUMPY_PATH="$(python_get_sitedir)/numpy/_core/include"
+ )
+ fi
+
+ # requires dev-vcs/git
+ if [[ ${PV} = *9999* ]] ; then
+ mycmakeargs+=( -DWITH_BUILDINFO="yes" )
+ else
+ mycmakeargs+=( -DWITH_BUILDINFO="no" )
+ fi
+
+ if use cuda; then
+ mycmakeargs+=(
+ -DCUDA_NVCC_FLAGS="--compiler-bindir;$(cuda_gccdir)"
+ )
+ fi
+
+ if use hip; then
+ mycmakeargs+=(
+ -DROCM_PATH="$(hipconfig -R)"
+ -DHIP_HIPCC_FLAGS="-fcf-protection=none"
+ )
+ fi
+
+ if use optix; then
+ mycmakeargs+=(
+ -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
+ -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
+ )
+ fi
+
+ if use wayland; then
+ mycmakeargs+=(
+ -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
+ -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
+ )
+ fi
+
+ # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
+ use arm64 && append-flags -flax-vector-conversions
+
+ append-cflags "$(usex debug '-DDEBUG' '-DNDEBUG')"
+ append-cppflags "$(usex debug '-DDEBUG' '-DNDEBUG')"
+
+ if tc-is-gcc ; then
+ # These options only exist when GCC is detected.
+ # We disable these to respect the user's choice of linker.
+ mycmakeargs+=(
+ -DWITH_LINKER_GOLD=no
+ -DWITH_LINKER_LLD=no
+ )
+ # Ease compiling with required gcc similar to cuda_sanitize but for cmake
+ use cuda && use cycles-bin-kernels && mycmakeargs+=( -DCUDA_HOST_COMPILER="$(cuda_gccdir)" )
+ fi
+
+ if tc-is-clang || use osl; then
+ mycmakeargs+=(
+ -DWITH_CLANG=yes
+ -DWITH_LLVM=yes
+ )
+ fi
+
+ if use test ; then
+ local CYCLES_TEST_DEVICES=( "CPU" )
+ if use cycles-bin-kernels; then
+ use cuda && CYCLES_TEST_DEVICES+=( "CUDA" )
+ use optix && CYCLES_TEST_DEVICES+=( "OPTIX" )
+ use hip && CYCLES_TEST_DEVICES+=( "HIP" )
+ fi
+ mycmakeargs+=(
+ -DCYCLES_TEST_DEVICES:STRING="$(local IFS=";"; echo "${CYCLES_TEST_DEVICES[*]}")"
+ -DWITH_COMPOSITOR_REALTIME_TESTS=yes
+ -DWITH_GPU_DRAW_TESTS=yes
+ -DWITH_GPU_RENDER_TESTS=yes
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ # A lot of tests needs to have access to the installed data files.
+ # So install them into the image directory now.
+ DESTDIR="${T}" cmake_build install
+
+ blender_get_version
+ # By default, blender will look for system scripts and data in
+ # /usr/share/, but until this is installed, they are not necessarily
+ # available there. Use this to have blender search the intermediate
+ # install directory instead.
+ export BLENDER_SYSTEM_RESOURCES="${T}/usr/share/blender/${BV}"
+
+ # Brake check: Make sure the above path is valid.
+ # If not, blender will fallback to the default path which is not what
+ # we want.
+ [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!"
+
+ if use cuda; then
+ cuda_add_sandbox -w
+ addwrite "/dev/dri/renderD128"
+ addwrite "/dev/char/"
+ fi
+
+ if use X; then
+ xdg_environment_reset
+ fi
+
+ addwrite /dev/dri
+
+ cmake_src_test
+
+ # Clean up the image directory for src_install
+ rm -fr "${T}/usr" || die
+}
+
+src_install() {
+ blender_get_version
+
+ # Pax mark blender for hardened support.
+ pax-mark m "${BUILD_DIR}"/bin/blender
+
+ cmake_src_install
+
+ if use man; then
+ # Slot the man page
+ mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
+ fi
+
+ if use doc; then
+ # By default, blender will look for system scripts and data in
+ # /usr/share/, but until this is installed, they are not necessarily
+ # available there. Use this to have blender search the intermediate
+ # install directory instead.
+ export BLENDER_SYSTEM_RESOURCES="${ED}/usr/share/blender/${BV}"
+
+ # Brake check: Make sure the above path is valid.
+ # If not, blender will fallback to the default path which is not what
+ # we want.
+ [ -d "$BLENDER_SYSTEM_RESOURCES" ] || die "The custom script path is invalid, fix the ebuild!"
+
+ # Workaround for binary drivers.
+ addpredict /dev/ati
+ addpredict /dev/dri
+ addpredict /dev/nvidiactl
+
+ einfo "Generating Blender C/C++ API docs ..."
+ cd "${CMAKE_USE_DIR}"/doc/doxygen || die
+ doxygen -u Doxyfile || die
+ doxygen || die "doxygen failed to build API docs."
+
+ cd "${CMAKE_USE_DIR}" || die
+ einfo "Generating (BPY) Blender Python API docs ..."
+ "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
+
+ cd "${CMAKE_USE_DIR}"/doc/python_api || die
+ sphinx-build sphinx-in BPY_API || die "sphinx failed."
+
+ docinto "html/API/python"
+ dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
+
+ docinto "html/API/blender"
+ dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
+ fi
+
+ # Fix doc installdir
+ docinto html
+ dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
+ rm -r "${ED}"/usr/share/doc/blender || die
+
+ python_optimize "${ED}/usr/share/blender/${BV}/scripts"
+
+ mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die
+ mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die
+}
+
+pkg_postinst() {
+ elog
+ elog "Blender uses python integration. As such, may have some"
+ elog "inherent risks with running unknown python scripts."
+ elog
+ elog "It is recommended to change your blender temp directory"
+ elog "from /tmp to /home/user/tmp or another tmp file under your"
+ elog "home directory. This can be done by starting blender, then"
+ elog "changing the 'Temporary Files' directory in Blender preferences."
+ elog
+
+ if use osl; then
+ ewarn ""
+ ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to"
+ ewarn "an other LLVM version than what OSL is linked to."
+ ewarn "See https://bugs.gentoo.org/880671 for more details"
+ ewarn ""
+ fi
+
+ if ! use python_single_target_python3_11; then
+ elog "You are building Blender with a newer python version than"
+ elog "supported by this version upstream."
+ elog "If you experience breakages with e.g. plugins, please switch to"
+ elog "python_single_target_python3_11 instead."
+ elog "Bug: https://bugs.gentoo.org/737388"
+ elog
+ fi
+
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_mimeinfo_database_update
+ xdg_desktop_database_update
+
+ ewarn ""
+ ewarn "You may want to remove the following directory."
+ ewarn "~/.config/${PN}/${BV}/cache/"
+ ewarn "It may contain extra render kernels not tracked by portage"
+ ewarn ""
+}
diff --git a/media-gfx/blender/blender-9999.ebuild b/media-gfx/blender/blender-9999.ebuild
index b062e630b1a5..cd2204670f17 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-9999.ebuild
@@ -339,7 +339,7 @@ src_configure() {
-DWITH_CYCLES_STANDALONE_GUI=no
-DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_DRACO="no" # TODO: Package Draco
+ -DWITH_DRACO="yes" # TODO: Package Draco
-DWITH_FFTW3=$(usex fftw)
-DWITH_GHOST_WAYLAND=$(usex wayland)
-DWITH_GHOST_WAYLAND_DYNLOAD="no"
diff --git a/media-gfx/clockphoto/clockphoto-1.2.ebuild b/media-gfx/clockphoto/clockphoto-1.2-r1.ebuild
index 65ac45e140a5..05cf24100029 100644
--- a/media-gfx/clockphoto/clockphoto-1.2.ebuild
+++ b/media-gfx/clockphoto/clockphoto-1.2-r1.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2020 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit qmake-utils
@@ -15,16 +15,14 @@ KEYWORDS="amd64 x86"
IUSE=""
DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtwidgets:5
+ dev-qt/qtbase:6[gui,widgets]
"
RDEPEND="${DEPEND}
media-gfx/exiv2
"
src_configure() {
- eqmake5
+ eqmake6
}
src_install() {
diff --git a/media-gfx/converseen/Manifest b/media-gfx/converseen/Manifest
index f88d459fbfa5..ffd350a6d26e 100644
--- a/media-gfx/converseen/Manifest
+++ b/media-gfx/converseen/Manifest
@@ -1,2 +1 @@
-DIST converseen-0.12.0.1.tar.gz 2296100 BLAKE2B 83a0271e1451fa196852d717332fa7446cd22bac7b675f3f306692aa1e11d4c5500d033fd9bbb7dd4ec9190ff3b15149bad1e9646006f533d930fc1d686b0a9b SHA512 4e6efa44953b097f8c6af19e3d849caf570a0fa2db673133e1d8ca2abee98b43d2fbd2d12e6c8c2a8ec6a9dd61a1ca3f25ee7a7787791cc783d8c967eacb9d9d
-DIST converseen-0.9.11.1.tar.gz 770024 BLAKE2B 671599099abf5b143bde7c57efc547626c14e15bebbd3a70ce4ec43d4febbaf69eebedebaaac935572b785afaa086c383b68bae0f02bc16ca68625dfb55b8c85 SHA512 1d61fa88d9e3d6ed23fb98d0495b00315adca880fd1d0d95e8322c48d9fdcd161ee00b5e2f5f52212c4db66d97e26ac0da561926e55de4bc047d3ad98b6f69dd
+DIST converseen-0.12.2.4.tar.gz 941270 BLAKE2B 4ac582a2dc3bbbabb48c1d12fe4ba4ed1d61b20e946645edab4eb6ac2d62cfa2df149b61c60842b36b55239694013661af4dd7c27a5195ee25f808d0a9b29605 SHA512 7d207207859f57037038b595935e3b0c5b202eda6a39e64226f6e898d5c3762077424a52f2ae6029263eae672607d05e30bf4ad2005ce15fd50348cca374413a
diff --git a/media-gfx/converseen/converseen-0.12.0.1.ebuild b/media-gfx/converseen/converseen-0.12.2.4.ebuild
index 0535af0f44b8..ecda01d49008 100644
--- a/media-gfx/converseen/converseen-0.12.0.1.ebuild
+++ b/media-gfx/converseen/converseen-0.12.2.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,6 +9,7 @@ DESCRIPTION="Batch image converter and resizer based on ImageMagick"
HOMEPAGE="https://converseen.fasterland.net/
https://github.com/Faster3ck/Converseen/"
SRC_URI="https://github.com/Faster3ck/Converseen/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P^}"
LICENSE="GPL-3+"
SLOT="0"
@@ -16,24 +17,17 @@ KEYWORDS="amd64 x86"
IUSE="graphicsmagick debug"
RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
+ dev-qt/qtbase:6[gui,network,widgets]
graphicsmagick? ( media-gfx/graphicsmagick:=[cxx,imagemagick] )
!graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
"
DEPEND="${RDEPEND}"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-
-S="${WORKDIR}/${P^}"
+BDEPEND="dev-qt/qttools[linguist]"
PATCHES=(
- "${FILESDIR}/${PN}-0.9.9.0-appdata-path.patch"
+ "${FILESDIR}/${P}-appdata-path.patch"
"${FILESDIR}/${PN}-0.9.9.0-no-update.patch"
- "${FILESDIR}/${P}-graphicsmagick-support.patch"
+ "${FILESDIR}/${PN}-0.12.0.1-graphicsmagick-support.patch"
)
src_prepare() {
@@ -52,6 +46,11 @@ src_prepare() {
fi
}
+src_configure() {
+ local mycmakeargs=(-DUSE_QT6=yes)
+ cmake_src_configure
+}
+
pkg_postinst() {
elog "Please note that due to security policy restrictions"
elog "on media-gfx/imagemagick the support for PS, PDF and"
diff --git a/media-gfx/converseen/converseen-0.9.11.1.ebuild b/media-gfx/converseen/converseen-0.9.11.1.ebuild
deleted file mode 100644
index c77e1a0977df..000000000000
--- a/media-gfx/converseen/converseen-0.9.11.1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg-utils
-
-DESCRIPTION="Batch image converter and resizer based on ImageMagick"
-HOMEPAGE="https://converseen.fasterland.net/
- https://github.com/Faster3ck/Converseen/"
-SRC_URI="https://github.com/Faster3ck/Converseen/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="graphicsmagick debug"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtwidgets:5
- graphicsmagick? ( media-gfx/graphicsmagick:=[cxx,imagemagick] )
- !graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-
-S="${WORKDIR}/${P^}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.9.9.0-appdata-path.patch"
- "${FILESDIR}/${PN}-0.9.9.0-no-update.patch"
- "${FILESDIR}/${PN}-0.9.11.1-graphicsmagick-support.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
-
- if use graphicsmagick; then
- # Replace variables in CMakeLists.txt
- sed -i -e "s/GENTOO_LIB/\/usr\/$(get_libdir)/g" \
- -e "s/GENTOO_INCLUDE/\/usr\/include/g" \
- "${S}/CMakeLists.txt" ||
- die "Failed to sed graphicsmagick patch"
-
- # Replace MagickCore in globals.cpp
- sed -i -e "s/MagickCore/MagickLib/" "${S}/src/globals.cpp" ||
- die "Failed to sed globals.cpp"
- fi
-}
-
-pkg_postinst() {
- elog "Please note that due to security policy restrictions"
- elog "on media-gfx/imagemagick the support for PS, PDF and"
- elog "XPS files must be explicitly enabled by commenting out"
- elog "the respective policies in /etc/ImageMagick-7/policy.xml."
- elog "See https://wiki.gentoo.org/wiki/ImageMagick#Troubleshooting"
- elog "for more information."
-
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
-}
diff --git a/media-gfx/converseen/files/converseen-0.12.2.4-appdata-path.patch b/media-gfx/converseen/files/converseen-0.12.2.4-appdata-path.patch
new file mode 100644
index 000000000000..2b07399b420d
--- /dev/null
+++ b/media-gfx/converseen/files/converseen-0.12.2.4-appdata-path.patch
@@ -0,0 +1,11 @@
+--- a/converseen.pro 2024-10-29 16:39:33.000000000 +0100
++++ b/converseen.pro 2025-01-01 19:30:59.323494846 +0100
+@@ -171,7 +171,7 @@
+ desktopFile.files = res/converseen.desktop
+ kdeservicemenu.path = $${SHARE_DIR}/kio/servicemenus
+ kdeservicemenu.files = res/converseen_import.desktop
+- appdata.path = /usr/share/appdata/
++ appdata.path = /usr/share/metainfo/
+ appdata.files = converseen.appdata.xml
+
+ isEmpty(QMAKE_LRELEASE) {
diff --git a/media-gfx/converseen/files/converseen-0.9.11.1-graphicsmagick-support.patch b/media-gfx/converseen/files/converseen-0.9.11.1-graphicsmagick-support.patch
deleted file mode 100644
index a76f108e335c..000000000000
--- a/media-gfx/converseen/files/converseen-0.9.11.1-graphicsmagick-support.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-# See https://bugs.gentoo.org/628688 for further info and
-# development discussion about this patch.
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -100,6 +100,14 @@ FIND_PACKAGE(ImageMagick REQUIRED)
- FIND_PACKAGE(ImageMagick COMPONENTS Magick++)
- FIND_PACKAGE(ImageMagick COMPONENTS MagickWand)
- FIND_PACKAGE(ImageMagick COMPONENTS MagickCore)
-+if (NOT ImageMagick_MagickCore_FOUND)
-+ set(ImageMagick_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick")
-+ set(ImageMagick_Magick++_INCLUDE_DIRS "GENTOO_INCLUDE/GraphicsMagick/Magick++")
-+ set(ImageMagick_MagickCore_INCLUDE_DIRS "")
-+ set(ImageMagick_LIBRARY "GENTOO_LIB/libGraphicsMagick.so")
-+ set(ImageMagick_Magick++_LIBRARY "GENTOO_LIB/libGraphicsMagick++.so")
-+ set(ImageMagick_MagickCore_LIBRARY "")
-+endif ()
-
- INCLUDE_DIRECTORIES(${Qt5Core_INCLUDE_DIRS})
- INCLUDE_DIRECTORIES(${Qt5Gui_INCLUDE_DIRS})
---- a/src/converter.cpp
-+++ b/src/converter.cpp
-@@ -254,8 +254,14 @@ bool Converter::writeImage(Image &my_image, const QString &format, const int &qu
-
- error_status = "";
-
-+/* Workaround to compile with GraphicsMagick:
-+ GraphicsMagick "MagickLibVersion" is greater that 0x100000
-+ e.g. GraphicsMagick-1.3.25 has "MagickLibVersion=0x181501"
-+ or GraphicsMagick-1.3.26 has "MagickLibVersion=0x191600" */
- #if MagickLibVersion < 0x700
- hasTransparency = my_image.matte();
-+#elif MagickLibVersion > 0x100000
-+ hasTransparency = my_image.matte();
- #else
- hasTransparency = my_image.alpha();
- #endif
---- a/src/globals.h
-+++ b/src/globals.h
-@@ -32,8 +32,14 @@
- using namespace Magick;
- using namespace std;
-
-+/* Workaround to compile with GraphicsMagick:
-+ GraphicsMagick "MagickLibVersion" is greater that 0x100000
-+ e.g. GraphicsMagick-1.3.25 has "MagickLibVersion=0x181501"
-+ or GraphicsMagick-1.3.26 has "MagickLibVersion=0x191600" */
- #if MagickLibVersion < 0x700
- typedef FilterTypes IMFilterType;
-+#elif MagickLibVersion > 0x100000
-+ typedef FilterTypes IMFilterType;
- #else
- typedef FilterType IMFilterType;
- #endif
diff --git a/media-gfx/converseen/files/converseen-0.9.9.0-appdata-path.patch b/media-gfx/converseen/files/converseen-0.9.9.0-appdata-path.patch
deleted file mode 100644
index 127fc7ad926c..000000000000
--- a/media-gfx/converseen/files/converseen-0.9.9.0-appdata-path.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Description: install appdata to package directory
- The CMAKE_INSTALL_PREFIX was not set to install path and set its correct
- location.
-Author: Laszlo Boszormenyi (GCS) <gcs@debian.org>
-Last-Update: 2018-08-21
-
---- a/converseen.pro
-+++ b/converseen.pro
-@@ -122,7 +122,7 @@ loc/converseen_uk_UA.qm
- desktopFile.files = res/converseen.desktop
- kdeservicemenu.path = $${SHARE_DIR}/kservices5/ServiceMenus
- kdeservicemenu.files = res/converseen_import.desktop
-- appdata.path = /usr/share/appdata/
-+ appdata.path = /usr/share/metainfo/
- appdata.files = converseen.appdata.xml
-
- isEmpty(QMAKE_LRELEASE) {
diff --git a/media-gfx/curtail/Manifest b/media-gfx/curtail/Manifest
index 0c815036aa37..54574a1d99c7 100644
--- a/media-gfx/curtail/Manifest
+++ b/media-gfx/curtail/Manifest
@@ -1 +1,2 @@
DIST curtail-1.11.1.tar.gz 208910 BLAKE2B 6a8ed78ba5e09242d0ae497541d41e310b18c6a26cdc5292503d15c003b1e265ee79e6ca057964aac0782041efcbf2beeb16912802aff534465ea0e96c0a750d SHA512 d59bcad4e774a9aa1d195f6b18964d05e41b47e81cd6fcdd86638488c0a63702c0c2ee97e20712eed4e81a0de562b7218df5519573707ace53191c14ac875b86
+DIST curtail-1.12.0.tar.gz 223113 BLAKE2B 43521421e184e484a35938aae918c580298314cf8da877f593578183ad5849765a7ae7c4436d719b6d0ef00bc70c00ada625d5893fd41dba24c681c5f7f4362e SHA512 2d7d7db0a3f804653ba0fd5510dd3d51cfe5504b89fddb6c08b5ec8062e27dc76add63030ddc7b22bddd809655c7800e438c67afaf034dca772fe9d92bfae45e
diff --git a/media-gfx/curtail/curtail-1.12.0.ebuild b/media-gfx/curtail/curtail-1.12.0.ebuild
new file mode 100644
index 000000000000..d2791e61121b
--- /dev/null
+++ b/media-gfx/curtail/curtail-1.12.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit gnome2-utils meson python-single-r1 xdg
+
+DESCRIPTION="Image compressor, supporting PNG, JPEG and WebP"
+HOMEPAGE="https://github.com/Huluti/Curtail/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/Huluti/${PN^}.git"
+else
+ SRC_URI="https://github.com/Huluti/${PN^}/archive/${PV}.tar.gz
+ -> ${P}.tar.gz"
+ S="${WORKDIR}/${P^}"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="test" # Just desktop / schema / appstream file validation (fails).
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ gui-libs/gtk:4[introspection]
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ ${RDEPEND}
+ dev-libs/appstream-glib
+ dev-util/desktop-file-utils
+"
+RDEPEND+="
+ >=gui-libs/libadwaita-1.3.1
+ media-gfx/jpegoptim
+ media-gfx/oxipng
+ media-gfx/pngquant
+ media-libs/libwebp
+"
+
+DOCS=( CHANGELOG.md README.md )
+
+src_prepare() {
+ sed -i "s|@PYTHON@|${PYTHON}|" "${S}/src/${PN}.in" || die
+
+ default
+}
+
+src_install() {
+ meson_src_install
+ python_optimize
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/media-gfx/darktable/Manifest b/media-gfx/darktable/Manifest
index e0b1a097eb61..6d12aad05e82 100644
--- a/media-gfx/darktable/Manifest
+++ b/media-gfx/darktable/Manifest
@@ -1,7 +1,4 @@
-DIST darktable-4.6.0.tar.xz 6129572 BLAKE2B 170d874f6a35c4fe5a5555f308bc541885968b8b5535402f8087ad4d47ee93f3d22a78c633f9b3e14584d1925a7dd682a5f3e2bd187ef2f58d0dc2a407b9bb27 SHA512 825a63c9b8bd7420f5c4b53a9281587be92088e1cd617faaf1de2b455503092cc7476872803a1d82c7bf57fcc57f85a40fc4af8ca04367e48719030f08726df7
-DIST darktable-4.6.1.tar.xz 6240188 BLAKE2B cf0055a4dd5f0a246b8de8ca5a29488fd77162cf2e0d7b681235499da39e4dad69dc5e5f7083f67364171d89aa76e940e8338eadee959f6529fb27658f43b75b SHA512 a5bcbdded7cacbc22d82cc982ad1387dc316cf4c0369f6f215abf9f60906024f2236a988dc025c0553bc2d8d7ca9d7bee9eb28b164fa1d9312eef1a084156fb6
DIST darktable-4.8.0.tar.xz 6256036 BLAKE2B 386276776a68887c7b439bf71ecc2ba9cd4cf54c247073908eae0cafd1d1db390c39937dfd4a2fcbe5164317b6090e29f2d2caa66fb7da47a702ba8988833ed5 SHA512 cb0535274a2862dfb2c8d36149cfced828662e423e04347970c0e2546e4d70ed7ab52cb80b6d21785165a294dee74fc23ba749086aab0a78386936341eb8216a
-DIST darktable-usermanual-4.4.en.pdf 34311705 BLAKE2B 98094ed8288be092ec9c0398bf1719992ce80723aa803e3924e9d28c1c5f2717b120ed618cbec6eebb958be59d15fe107428099efd87926622b5d08110e36b67 SHA512 90e8b8912776b674a436a7e2377d16b0ef374d879ba16501a1c8a0c8407776ef362b747121859884e0aac1d9fc94f3bf0a58bbccdc6fce27cbcaf4cf169d6ef3
-DIST darktable-usermanual-4.4.uk.pdf 33796107 BLAKE2B 060218ec9b7fbcec947506ea9fdf355411d0b1242d41b9ffb7abd8dd991ece29e75c06231251d2ec2701e319e1b1e8134c08603649fe7e933d21b4aef597f7c3 SHA512 f2a6837a05114d4254fade358382be5fabcbd980a3c4fad702b1102176c7e261fd8646aeef1c0328001da8f7cb25d50b06c9f1163a54987985f556c616728bf5
+DIST darktable-5.0.0.tar.xz 6928316 BLAKE2B 0fd2f6e73d2a78b09c7d7490885301420ceb93230dfc8372be66c165fa76dd51ae4400cb46561abca0a0f3222ab5749d9f3cdb7e4c9822e4bc8ee75fd616da7d SHA512 84ccf8e30911d2d8c3d2fc2e5bd51962701a1d755ff3859da3e630d0d405d00c03ae8a3968ede33ec53a3de5f8b185ffcb9063355f09149573ce01ede15039de
DIST darktable-usermanual-4.6.en.pdf 26844087 BLAKE2B 5bdb5e012cd8ba7bace733006136b1f9e510214179e84a9cba0664a3c2e4b19828e2cc54addaf5999579b910b592bf0e9cd9796cf89f3a4e6ae369e8187fbfce SHA512 a1d610c42ae3d1ae4d0bf3e827ed9ccae6faeea20cbc03e7c12d74c3c41175bf3f61d9eba43406b9ba86750edf976c1539357ddf774733f566a076418c34f558
DIST darktable-usermanual-4.6.uk.pdf 27013345 BLAKE2B 4c0da0038576e8ea97da88a4481e1afdf4e5b5df6b8a52475d18b488ac10066db4ef679681a38a194dd84771e340f58beea0450ec60726abd19d600e73fc40f1 SHA512 6e2f036e3f845791aa8b6eb565230136bfb6ae7f9b1ee56a9201cd25bb09391fd2ec45ba7fa1ddd11b4c193ab6b097fae32107af6c11b6cd6eeada60b002d4b3
diff --git a/media-gfx/darktable/darktable-4.6.0.ebuild b/media-gfx/darktable/darktable-4.6.0.ebuild
deleted file mode 100644
index 1271ff136222..000000000000
--- a/media-gfx/darktable/darktable-4.6.0.ebuild
+++ /dev/null
@@ -1,194 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-LUA_COMPAT=( lua5-4 )
-
-inherit cmake flag-o-matic lua-single toolchain-funcs xdg
-
-DESCRIPTION="A virtual lighttable and darkroom for photographers"
-HOMEPAGE="https://www.darktable.org/"
-LICENSE="GPL-3 CC-BY-3.0"
-SLOT="0"
-
-if [[ ${PV} == *9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/darktable-org/${PN}.git"
-
- LANGS=" af ca cs da de el es fi fr gl he hu it ja nb nl pl pt-BR pt-PT ro ru sk sl sq sv th uk zh-CN zh-TW"
-else
- #DOC_PV=$(ver_cut 1-2)
- DOC_PV="4.4"
- MY_PV="${PV/_/}"
- MY_P="${P/_/.}"
-
- SRC_URI="https://github.com/darktable-org/${PN}/releases/download/release-${MY_PV}/${MY_P}.tar.xz
- doc? (
- https://docs.darktable.org/usermanual/${DOC_PV}/en/${PN}_user_manual.pdf -> ${PN}-usermanual-${DOC_PV}.en.pdf
- l10n_uk? (
- https://docs.darktable.org/usermanual/${DOC_PV}/uk/${PN}_user_manual.pdf
- -> ${PN}-usermanual-${DOC_PV}.uk.pdf
- )
- )"
-
- KEYWORDS="amd64 ~arm64 -x86"
- LANGS=" cs de es fi fr hu it ja nl pl pt-BR ru sl sq uk zh-CN zh-TW"
-fi
-
-IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi nls opencl openmp openexr test tools webp
- ${LANGS// / l10n_}"
-
-REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
-
-RESTRICT="!test? ( test )"
-
-# It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite]
-# in BDEPEND. This has not been done *on purpose*, for the following reason:
-# - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative,
-# in BDEPEND too
-# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which
-# by default pull in sys-devel/clang
-# - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op
-# (and curiously enough, empirical observations suggest current versions of Portage are
-# more likely to pull in Clang to build darktable with than to request enabling USE=graphite
-# on GCC; that might be a bug though)
-BDEPEND="dev-util/intltool
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- test? ( >=dev-python/jsonschema-3.2.0 )"
-DEPEND="dev-db/sqlite:3
- dev-libs/icu:=
- dev-libs/json-glib
- dev-libs/libxml2:2
- >=dev-libs/pugixml-1.8:=
- gnome-base/librsvg:2
- >=media-gfx/exiv2-0.25-r2:=[xmp]
- media-libs/lcms:2
- >=media-libs/lensfun-0.2.3:=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/tiff:=
- net-libs/libsoup:2.4
- net-misc/curl
- sys-libs/zlib:=
- x11-libs/cairo
- >=x11-libs/gtk+-3.22:3
- x11-libs/pango
- avif? ( >=media-libs/libavif-0.8.2:= )
- colord? ( x11-libs/colord-gtk:= )
- cups? ( net-print/cups )
- gamepad? ( media-libs/libsdl2 )
- geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 )
- keyring? ( >=app-crypt/libsecret-0.18 )
- gphoto2? ( media-libs/libgphoto2:= )
- graphicsmagick? ( media-gfx/graphicsmagick )
- heif? ( media-libs/libheif:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- jpegxl? ( media-libs/libjxl:= )
- lua? ( ${LUA_DEPS} )
- midi? ( media-libs/portmidi )
- opencl? ( virtual/opencl )
- openexr? ( media-libs/openexr:= )
- webp? ( media-libs/libwebp:= )"
-RDEPEND="${DEPEND}
- kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1:* )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
- "${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch
- "${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch
- "${FILESDIR}"/${PN}-4.4.2_fix-has-attribute-musl.patch
-)
-
-S="${WORKDIR}/${P/_/~}"
-
-pkg_pretend() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- # Bug #695658
- if tc-is-gcc; then
- if ! test-flags-CC -floop-block &> /dev/null; then
- eerror "Building ${PN} with GCC requires Graphite support."
- eerror "Please switch to a version of sys-devel/gcc built with USE=graphite, or use a different compiler."
- die "Selected compiler is sys-devel/gcc[-graphite]"
- fi
- fi
-
- use openmp && tc-check-openmp
- fi
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- use lua && lua-single_pkg_setup
-}
-
-src_prepare() {
- use cpu_flags_x86_avx && append-flags -mavx
- use cpu_flags_x86_sse3 && append-flags -msse3
-
- sed -i -e 's:/appdata:/metainfo:g' data/CMakeLists.txt || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_CURVE_TOOLS=$(usex tools)
- -DBUILD_NOISE_TOOLS=$(usex tools)
- -DBUILD_PRINT=$(usex cups)
- -DCUSTOM_CFLAGS=ON
- -DDONT_USE_INTERNAL_LUA=ON
- -DRAWSPEED_ENABLE_LTO=$(usex lto)
- -DRAWSPEED_ENABLE_WERROR=OFF
- -DRAWSPEED_MUSL_SYSTEM=$(usex elibc_musl)
- -DTESTBUILD_OPENCL_PROGRAMS=OFF
- -DUSE_AVIF=$(usex avif)
- -DUSE_CAMERA_SUPPORT=$(usex gphoto2)
- -DUSE_COLORD=$(usex colord)
- -DUSE_GMIC=OFF
- -DUSE_GRAPHICSMAGICK=$(usex graphicsmagick)
- -DUSE_HEIF=$(usex heif)
- -DUSE_JXL=$(usex jpegxl)
- -DUSE_KWALLET=$(usex kwallet)
- -DUSE_LIBSECRET=$(usex keyring)
- -DUSE_LUA=$(usex lua)
- -DUSE_MAP=$(usex geolocation)
- -DUSE_NLS=$(usex nls)
- -DUSE_OPENCL=$(usex opencl)
- -DUSE_OPENEXR=$(usex openexr)
- -DUSE_OPENJPEG=$(usex jpeg2k)
- -DUSE_OPENMP=$(usex openmp)
- -DUSE_PORTMIDI=$(usex midi)
- -DUSE_SDL2=$(usex gamepad)
- -DUSE_WEBP=$(usex webp)
- -DWANT_JSON_VALIDATION=$(usex test)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- # This USE flag is masked for -9999
- use doc && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.*.pdf
-
- if use nls; then
- for lang in ${LANGS} ; do
- if ! use l10n_${lang}; then
- rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
- fi
- done
- fi
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- elog
- elog "When updating a major version,"
- elog "please bear in mind that your edits will be preserved during this process,"
- elog "but it will not be possible to downgrade any more."
- elog
- ewarn "It will not be possible to downgrade!"
- ewarn
-}
diff --git a/media-gfx/darktable/darktable-4.8.0.ebuild b/media-gfx/darktable/darktable-4.8.0-r1.ebuild
index 0fe2792ac25b..36af6f4a95c5 100644
--- a/media-gfx/darktable/darktable-4.8.0.ebuild
+++ b/media-gfx/darktable/darktable-4.8.0-r1.ebuild
@@ -45,10 +45,10 @@ RESTRICT="!test? ( test )"
# It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite]
# in BDEPEND. This has not been done *on purpose*, for the following reason:
-# - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative,
+# - darktable can also be built with llvm-core/clang so we'd have to have that, as an alternative,
# in BDEPEND too
# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which
-# by default pull in sys-devel/clang
+# by default pull in llvm-core/clang
# - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op
# (and curiously enough, empirical observations suggest current versions of Portage are
# more likely to pull in Clang to build darktable with than to request enabling USE=graphite
@@ -69,7 +69,6 @@ DEPEND="dev-db/sqlite:3
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/tiff:=
- net-libs/libsoup:2.4
net-misc/curl
sys-libs/zlib:=
x11-libs/cairo
diff --git a/media-gfx/darktable/darktable-4.6.1.ebuild b/media-gfx/darktable/darktable-5.0.0-r1.ebuild
index 9bbb75a3f2c2..12f75aea8309 100644
--- a/media-gfx/darktable/darktable-4.6.1.ebuild
+++ b/media-gfx/darktable/darktable-5.0.0-r1.ebuild
@@ -9,6 +9,7 @@ inherit cmake flag-o-matic lua-single toolchain-funcs xdg
DESCRIPTION="A virtual lighttable and darkroom for photographers"
HOMEPAGE="https://www.darktable.org/"
+S="${WORKDIR}/${P/_/~}"
LICENSE="GPL-3 CC-BY-3.0"
SLOT="0"
@@ -33,29 +34,28 @@ else
)"
KEYWORDS="~amd64 ~arm64 -x86"
- LANGS=" cs de es fi fr hu it ja nl pl pt-BR ru sl sq tr uk zh-CN zh-TW"
+ LANGS=" cs de es fi fr ja nl pt-BR sl sq uk zh-CN zh-TW"
fi
-IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi nls opencl openmp openexr test tools webp
+IUSE="avif colord cpu_flags_x86_avx cpu_flags_x86_sse3 cups doc gamepad geolocation keyring gphoto2 graphicsmagick heif jpeg2k jpegxl kwallet lto lua midi opencl openmp openexr test tools webp
${LANGS// / l10n_}"
REQUIRED_USE="lua? ( ${LUA_REQUIRED_USE} )"
-
RESTRICT="!test? ( test )"
# It is sometimes requested, by both users and certain devs, to have sys-devel/gcc[graphite]
# in BDEPEND. This has not been done *on purpose*, for the following reason:
-# - darktable can also be built with sys-devel/clang so we'd have to have that, as an alternative,
+# - darktable can also be built with llvm-core/clang so we'd have to have that, as an alternative,
# in BDEPEND too
# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which
-# by default pull in sys-devel/clang
+# by default pull in llvm-core/clang
# - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op
# (and curiously enough, empirical observations suggest current versions of Portage are
# more likely to pull in Clang to build darktable with than to request enabling USE=graphite
# on GCC; that might be a bug though)
BDEPEND="dev-util/intltool
+ sys-devel/gettext
virtual/pkgconfig
- nls? ( sys-devel/gettext )
test? ( >=dev-python/jsonschema-3.2.0 )"
DEPEND="dev-db/sqlite:3
dev-libs/icu:=
@@ -69,7 +69,6 @@ DEPEND="dev-db/sqlite:3
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/tiff:=
- net-libs/libsoup:2.4
net-misc/curl
sys-libs/zlib:=
x11-libs/cairo
@@ -98,11 +97,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
"${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch
"${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch
- "${FILESDIR}"/${PN}-4.4.2_fix-has-attribute-musl.patch
)
-S="${WORKDIR}/${P/_/~}"
-
pkg_pretend() {
if [[ ${MERGE_TYPE} != binary ]]; then
# Bug #695658
@@ -155,7 +151,6 @@ src_configure() {
-DUSE_LIBSECRET=$(usex keyring)
-DUSE_LUA=$(usex lua)
-DUSE_MAP=$(usex geolocation)
- -DUSE_NLS=$(usex nls)
-DUSE_OPENCL=$(usex opencl)
-DUSE_OPENEXR=$(usex openexr)
-DUSE_OPENJPEG=$(usex jpeg2k)
@@ -176,13 +171,11 @@ src_install() {
use l10n_uk && dodoc "${DISTDIR}"/${PN}-usermanual-${DOC_PV}.uk.pdf
fi
- if use nls; then
- for lang in ${LANGS} ; do
- if ! use l10n_${lang}; then
- rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
- fi
- done
- fi
+ for lang in ${LANGS} ; do
+ if ! use l10n_${lang}; then
+ rm -r "${ED}"/usr/share/locale/${lang/-/_} || die
+ fi
+ done
}
pkg_postinst() {
diff --git a/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch b/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch
deleted file mode 100644
index 0aad42605c9e..000000000000
--- a/media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/common/darktable.h
-+++ b/src/common/darktable.h
-@@ -140,7 +140,7 @@ extern "C" {
- /* Create cloned functions for various CPU SSE generations */
- /* See for instructions https://hannes.hauswedell.net/post/2017/12/09/fmv/ */
- /* TL;DR : use only on SIMD functions containing low-level paralellized/vectorized loops */
--#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH)
-+#if __has_attribute(target_clones) && !defined(_WIN32) && !defined(NATIVE_ARCH) && defined(__GLIBC__)
- # if defined(__amd64__) || defined(__amd64) || defined(__x86_64__) || defined(__x86_64)
- #define __DT_CLONE_TARGETS__ __attribute__((target_clones("default", "sse2", "sse3", "sse4.1", "sse4.2", "popcnt", "avx", "avx2", "avx512f", "fma4")))
- # elif defined(__PPC64__)
diff --git a/media-gfx/digikam/Manifest b/media-gfx/digikam/Manifest
index 6e30881a5367..0c951842845e 100644
--- a/media-gfx/digikam/Manifest
+++ b/media-gfx/digikam/Manifest
@@ -1,3 +1 @@
-DIST digiKam-8.4.0.tar.xz 58025616 BLAKE2B 33441e023cd9d6edba2e7c01e482a6eea7a6b1972b6bad0fc804fb3e94f97cc62e2663690137b2445fb7043789b7e942d830b71209385de77ccffe57d22d09ff SHA512 4342d18a7c04ab239821de3cf908f8e7d676598778f0174164aa336e8cfdc0a76327d31c64e6c4e47dcf0d6fbef46b01918312e4622ce3359888a9a94948a22b
DIST digiKam-8.5.0.tar.xz 62028432 BLAKE2B ef061b73e72d9b2ad3da361fcdd3e27a4758b1ef837adde1a405cfbd759cc950d373464765f5ff07f36e8457c6c9c15550002e3ebd94215b154d2c51723192ee SHA512 5610f0173043e29a2b5ff62b2ed2c2bea79e10cd20a0c2416ebb425457cee55aa8b8d575ba57e8e188a899cc909516ea05e6c80e73e3316742cc9e8119855509
-DIST digikam-8.4.0-patchset.tar.xz 11904 BLAKE2B 6ab167cae66710505eb81bb538fde2a81458b6580bf8c70d0c28500ca81a3c9c9b9e0a12ca288a4dc6f39ae1a175f7b2bd09e4d94624337348084c228eafcc38 SHA512 df1199d3aaecc0afc032090424af69c031e95afba1fed70b00cf61c5ef52fa2a7c3d97918592c167f9ea918dd2823e4cc52f12a470a9eede815b3ff43314001b
diff --git a/media-gfx/digikam/digikam-8.4.0-r11.ebuild b/media-gfx/digikam/digikam-8.4.0-r11.ebuild
deleted file mode 100644
index ab9884b9b338..000000000000
--- a/media-gfx/digikam/digikam-8.4.0-r11.ebuild
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-KFMIN=6.3.0
-QTMIN=6.6.2
-inherit ecm kde.org toolchain-funcs
-
-DESCRIPTION="Digital photo management application"
-HOMEPAGE="https://www.digikam.org/"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/digiKam-${PV/_/-}.tar.xz
- https://dev.gentoo.org/~asturm/distfiles/${P}-patchset.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64"
-IUSE="addressbook calendar geolocation gphoto2 heif +imagemagick jpegxl +lensfun mysql openmp +panorama scanner semantic-desktop spell video"
-
-# bug 366505
-RESTRICT="test"
-
-COMMON_DEPEND="
- dev-libs/expat
- >=dev-qt/qtbase-${QTMIN}:6[concurrent,dbus,-gles2-only,gui,mysql?,network,opengl,sql,widgets,xml]
- >=dev-qt/qtnetworkauth-${QTMIN}:6
- >=dev-qt/qtscxml-${QTMIN}:6
- >=dev-qt/qtsvg-${QTMIN}:6
- >=dev-qt/qtwebengine-${QTMIN}:6[widgets]
- >=kde-frameworks/kconfig-${KFMIN}:6
- >=kde-frameworks/kconfigwidgets-${KFMIN}:6
- >=kde-frameworks/kcoreaddons-${KFMIN}:6
- >=kde-frameworks/ki18n-${KFMIN}:6
- >=kde-frameworks/kiconthemes-${KFMIN}:6
- >=kde-frameworks/kio-${KFMIN}:6
- >=kde-frameworks/knotifications-${KFMIN}:6
- >=kde-frameworks/knotifyconfig-${KFMIN}:6
- >=kde-frameworks/kservice-${KFMIN}:6
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
- >=kde-frameworks/kwindowsystem-${KFMIN}:6
- >=kde-frameworks/kxmlgui-${KFMIN}:6
- >=kde-frameworks/solid-${KFMIN}:6
- >=media-gfx/exiv2-0.27.1:=[xmp]
- media-libs/lcms:2
- media-libs/libjpeg-turbo:=
- media-libs/liblqr
- media-libs/libpng:=
- >=media-libs/opencv-3.3.0:=[contrib,contribdnn,features2d]
- media-libs/tiff:=
- virtual/opengl
- x11-libs/libX11
- addressbook? (
- >=kde-apps/akonadi-contacts-24.05.2:6
- >=kde-frameworks/kcontacts-${KFMIN}:6
- )
- calendar? ( >=kde-frameworks/kcalendarcore-${KFMIN}:6 )
- gphoto2? ( media-libs/libgphoto2:= )
- heif? (
- media-libs/libheif:=
- media-libs/x265:=
- )
- imagemagick? ( media-gfx/imagemagick:= )
- jpegxl? ( media-libs/libjxl:= )
- lensfun? ( media-libs/lensfun )
- panorama? ( >=kde-frameworks/threadweaver-${KFMIN}:6 )
- scanner? ( >=kde-apps/libksane-24.05.2:6 )
- semantic-desktop? ( >=kde-frameworks/kfilemetadata-${KFMIN}:6 )
- spell? ( >=kde-frameworks/sonnet-${KFMIN}:6 )
- video? ( >=dev-qt/qtmultimedia-${QTMIN}:6 )
-"
-DEPEND="${COMMON_DEPEND}
- dev-cpp/eigen:3
- dev-libs/boost
- addressbook? ( >=kde-apps/akonadi-24.05.2:6 )
-"
-RDEPEND="${COMMON_DEPEND}
- !${CATEGORY}/${PN}:5
- media-libs/exiftool
- mysql? ( virtual/mysql[server(+)] )
- panorama? ( media-gfx/hugin )
-"
-BDEPEND="
- sys-devel/gettext
- panorama? (
- app-alternatives/lex
- app-alternatives/yacc
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-8.4.0-cmake.patch"
- "${FILESDIR}/${PN}-8.3.0-cmake-addressbook.patch"
- # bug 936507; KDE-bugs 488662, 490611, 491007, 490484, 490821,
- # 490859, 490828, 490690, 490552, 490385, 489751, 490128
- "${WORKDIR}/${P}-patchset"
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- ecm_pkg_pretend
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- ecm_pkg_setup
-}
-
-# FIXME: Unbundle libraw (libs/rawengine/libraw)
-src_configure() {
- local mycmakeargs=(
- -DBUILD_WITH_QT6=ON
- -DBUILD_TESTING=OFF # bug 698192
- -DENABLE_APPSTYLES=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_Jasper=ON
- -DENABLE_SHOWFOTO=ON # built unconditionally so far, new option since 8.0
- -DENABLE_AKONADICONTACTSUPPORT=$(usex addressbook)
- $(cmake_use_find_package calendar KF6CalendarCore)
- -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)
- -DENABLE_MYSQLSUPPORT=$(usex mysql)
- -DENABLE_INTERNALMYSQL=$(usex mysql)
- $(cmake_use_find_package panorama KF6ThreadWeaver)
- $(cmake_use_find_package scanner KSaneWidgets6)
- -DENABLE_KFILEMETADATASUPPORT=$(usex semantic-desktop)
- $(cmake_use_find_package spell KF6Sonnet)
- -DENABLE_MEDIAPLAYER=$(usex video)
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/digikam/digikam-8.5.0.ebuild b/media-gfx/digikam/digikam-8.5.0-r1.ebuild
index ef0b73fd8aa9..4c3b3f8ba5ce 100644
--- a/media-gfx/digikam/digikam-8.5.0.ebuild
+++ b/media-gfx/digikam/digikam-8.5.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ SRC_URI="mirror://kde/stable/${PN}/${PV}/digiKam-${PV/_/-}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 ~arm64"
IUSE="addressbook calendar geolocation gphoto2 heif +imagemagick jpegxl +lensfun mysql openmp +panorama scanner semantic-desktop spell video"
# bug 366505
@@ -90,6 +90,7 @@ BDEPEND="
PATCHES=(
"${FILESDIR}/${PN}-8.4.0-cmake.patch"
"${FILESDIR}/${PN}-8.3.0-cmake-addressbook.patch"
+ "${FILESDIR}/${P}-cmake-have_ksane.patch" # bug 947312
)
pkg_pretend() {
diff --git a/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch b/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch
new file mode 100644
index 000000000000..9099b2f37468
--- /dev/null
+++ b/media-gfx/digikam/files/digikam-8.5.0-cmake-have_ksane.patch
@@ -0,0 +1,28 @@
+diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt
+index 2cef54510c..95e33cfc2f 100644
+--- a/core/CMakeLists.txt
++++ b/core/CMakeLists.txt
+@@ -201,7 +201,11 @@ MACOS_DEBUG_POLICIES()
+ message(STATUS "--------------------------------------------------")
+ message(STATUS "")
+
++if(Qt6_FOUND)
++MACRO_BOOL_TO_01(KSaneWidgets6_FOUND HAVE_KSANE)
++else()
+ MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}Sane_FOUND HAVE_KSANE)
++endif()
+ MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}FileMetaData_FOUND HAVE_KFILEMETADATA)
+ MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}CalendarCore_FOUND HAVE_KCALENDAR)
+ MACRO_BOOL_TO_01(KF${QT_VERSION_MAJOR}Notifications_FOUND HAVE_KNOTIFICATIONS)
+@@ -294,7 +302,11 @@ PRINT_OPTIONAL_LIBRARY_STATUS("libkio" "https://invent.kde.org/framew
+ PRINT_OPTIONAL_LIBRARY_STATUS("libknotifications" "https://invent.kde.org/frameworks/knotifyconfig" "(version >= ${KF${QT_VERSION_MAJOR}_MIN_VERSION})" "digiKam will be compiled without KDE desktop notifications support." KF${QT_VERSION_MAJOR}Notifications_FOUND)
+ PRINT_OPTIONAL_LIBRARY_STATUS("libknotifyconfig" "https://invent.kde.org/frameworks/knotifications" "(version >= ${KF${QT_VERSION_MAJOR}_MIN_VERSION})" "digiKam will be compiled without KDE desktop notify configuration support." KF${QT_VERSION_MAJOR}NotifyConfig_FOUND)
+ PRINT_OPTIONAL_LIBRARY_STATUS("libsonnet" "https://invent.kde.org/frameworks/sonnet" "(version >= ${KF${QT_VERSION_MAJOR}_MIN_VERSION})" "digiKam will be compiled without spell-checking support." KF${QT_VERSION_MAJOR}Sonnet_FOUND)
++if(Qt6_FOUND)
++PRINT_OPTIONAL_LIBRARY_STATUS("libksane" "https://invent.kde.org/graphics/libksane" "(version >= ${KSANE_MIN_VERSION})" "digiKam will be compiled without flat scanners support." KSaneWidgets6_FOUND)
++else()
+ PRINT_OPTIONAL_LIBRARY_STATUS("libksane" "https://invent.kde.org/graphics/libksane" "(version >= ${KSANE_MIN_VERSION})" "digiKam will be compiled without flat scanners support." KF${QT_VERSION_MAJOR}Sane_FOUND)
++endif()
+ PRINT_OPTIONAL_LIBRARY_STATUS("liblensfun" "https://github.com/lensfun/lensfun" "(version >= 0.2.6)" "digiKam will be compiled without Lens Auto Correction tool support." LensFun_FOUND)
+ PRINT_OPTIONAL_LIBRARY_STATUS("libglib2" "https://developer.gnome.org/glib/" "(version >= 2.0.0)" "digiKam will be compiled without Contents Aware Resizer tool support." GLIB2_FOUND)
+
diff --git a/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild b/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild
index 109b429e2424..07b3b2dc1fd0 100644
--- a/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild
+++ b/media-gfx/enblend/enblend-4.2.0_p20240424.ebuild
@@ -14,9 +14,7 @@ S=${WORKDIR}/enblend
LICENSE="GPL-2+ FDL-1.2+"
SLOT="0"
KEYWORDS="amd64 arm64 x86"
-IUSE="cpu_flags_x86_sse2 debug doc openmp tcmalloc"
-
-REQUIRED_USE="tcmalloc? ( !debug )"
+IUSE="cpu_flags_x86_sse2 doc openmp tcmalloc"
BDEPEND="
sys-apps/help2man
@@ -40,7 +38,6 @@ RDEPEND="
media-libs/tiff:=
media-libs/vigra[openexr]
sci-libs/gsl:=
- debug? ( dev-libs/dmalloc[threads] )
tcmalloc? ( dev-util/google-perftools )
"
DEPEND="${RDEPEND}
@@ -65,7 +62,7 @@ src_prepare() {
src_configure() {
local mycmakeargs=(
-DENABLE_SSE2=$(usex cpu_flags_x86_sse2)
- -DENABLE_DMALLOC=$(usex debug)
+ -DENABLE_DMALLOC=no
-DDOC=$(usex doc)
-DENABLE_OPENMP=$(usex openmp)
-DENABLE_TCMALLOC=$(usex tcmalloc)
diff --git a/media-gfx/engauge/Manifest b/media-gfx/engauge/Manifest
index fc493b850489..4ecc11162ad1 100644
--- a/media-gfx/engauge/Manifest
+++ b/media-gfx/engauge/Manifest
@@ -1,2 +1 @@
-DIST engauge-digitizer-10.6.tar.gz 68463313 BLAKE2B 2f939b383d2b2ca7d3ac73196ae6c9f4cd3380f7cb1bc7703d23ffe2554bfd6dfb6f206d3b9c33953757791855c908c7899f078c1c1472549859258d406e5796 SHA512 f571978298f0646f338ee786aae692800bd73242f68a4f35509023d3ea0daaa16ede6a1d45cbc28a31efc277697315c63fe3d2cce1f0cf80334bdeea11599a67
DIST engauge-digitizer-12.1.tar.gz 72358942 BLAKE2B c7581734f3c5591ee5c17e16f2e68d8f75fa083d4b53933d16ea15d36890664f375ac53b5e37872eb0d2ffb5980946fe920412ee56d8a1aa16b0a81e66fcb115 SHA512 54ae573eb1e82ec3a81403c3c64af43207e139a2d97eb633993ffe31e03fedb1c1a5fe63157011851ad4a89822a3109b87a2c90a71f77865b3629a517a353a61
diff --git a/media-gfx/engauge/engauge-10.6.ebuild b/media-gfx/engauge/engauge-10.6.ebuild
deleted file mode 100644
index 7edd5d1d42c9..000000000000
--- a/media-gfx/engauge/engauge-10.6.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit desktop qmake-utils xdg
-
-DESCRIPTION="Convert an image file showing a graph or map into numbers"
-HOMEPAGE="https://markummitchell.github.io/engauge-digitizer/"
-SRC_URI="https://github.com/markummitchell/engauge-digitizer/archive/v${PV}.tar.gz -> engauge-digitizer-${PV}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="doc examples jpeg2k pdf"
-
-RDEPEND="dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qthelp:5
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- dev-libs/log4cpp
- sci-libs/fftw:3.0
- jpeg2k? ( media-libs/openjpeg:2 )
- pdf? ( app-text/poppler[qt5] )"
-DEPEND="${RDEPEND}"
-
-S=${WORKDIR}/engauge-digitizer-${PV}
-
-PATCHES=( "${FILESDIR}/${P}-qt-5.11.patch" )
-
-src_prepare() {
- default
-
- # Make sure the documentation is looked for in the proper directory
- sed -e "s:engauge-digitizer/engauge.qhc:${PF}/engauge.qhc:" \
- -i src/Help/HelpWindow.cpp || die
-
- # This otherwise overrides user CFLAGS
- sed -e '/QMAKE_CXXFLAGS_WARN_ON/s/-O1//' \
- -i engauge.pro || die
-
- # Neuter the non-pkg-config hackery
- sed -e '/error.*OPENJPEG_/d' \
- -e '/LIBS.*OPENJPEG_LIB/d' \
- -e '/QMAKE_POST_LINK.*OPENJPEG_LIB/d' \
- -e '/error.*POPPLER_/d' \
- -e '/LIBS.*POPPLER_LIB/d' \
- -i engauge.pro || die
-}
-
-src_configure() {
- eqmake5 \
- CONFIG+=link_pkgconfig \
- $(usex jpeg2k "CONFIG+=jpeg2000 PKGCONFIG+=libopenjp2" "") \
- $(usex pdf "CONFIG+=pdf PKGCONFIG+=poppler-qt5" "") \
- engauge.pro
- pushd help >/dev/null || die
- ./build || die
- popd >/dev/null || die
-}
-
-src_install() {
- dobin bin/engauge
- doicon src/img/engauge-digitizer.svg
- make_desktop_entry engauge "Engauge Digitizer" engauge-digitizer Graphics
-
- # Install qt help files
- dodoc bin/documentation/engauge.{qch,qhc}
- docompress -x "${EPREFIX}"/usr/share/doc/${PF}/engauge.{qch,qhc}
-
- use doc && dodoc -r doc/.
- if use examples; then
- dodoc -r samples
- docompress -x "${EPREFIX}"/usr/share/doc/${PF}/samples
- fi
-}
diff --git a/media-gfx/engauge/files/engauge-10.6-qt-5.11.patch b/media-gfx/engauge/files/engauge-10.6-qt-5.11.patch
deleted file mode 100644
index 9070f5223939..000000000000
--- a/media-gfx/engauge/files/engauge-10.6-qt-5.11.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Bug: https://bugs.gentoo.org/662476
-
-From 5eab86bf84dd1e52fc52b427a8f3508780811976 Mon Sep 17 00:00:00 2001
-From: Michael Palimaka <kensington@gentoo.org>
-Date: Thu, 11 Oct 2018 23:51:15 +1100
-Subject: [PATCH] Add missing include.
-
----
- src/Load/LoadImageFromUrl.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/Load/LoadImageFromUrl.cpp b/src/Load/LoadImageFromUrl.cpp
-index 684629bd..1150dad0 100644
---- a/src/Load/LoadImageFromUrl.cpp
-+++ b/src/Load/LoadImageFromUrl.cpp
-@@ -10,6 +10,7 @@
- #include <QFileInfo>
- #include <QMessageBox>
- #include <QtNetwork/QNetworkReply>
-+#include <QTextStream>
- #include <QUrl>
- #include "Version.h"
-
---
-2.18.1
-
diff --git a/media-gfx/eog-plugins/eog-plugins-44.1.ebuild b/media-gfx/eog-plugins/eog-plugins-44.1.ebuild
index ac59330849d4..534a54e42420 100644
--- a/media-gfx/eog-plugins/eog-plugins-44.1.ebuild
+++ b/media-gfx/eog-plugins/eog-plugins-44.1.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/eog-plugins"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="+exif map +python test"
RESTRICT="!test? ( test )"
diff --git a/media-gfx/eog/Manifest b/media-gfx/eog/Manifest
index 1a9407e023a9..dba902d19893 100644
--- a/media-gfx/eog/Manifest
+++ b/media-gfx/eog/Manifest
@@ -1,2 +1,2 @@
-DIST eog-45.3.tar.xz 4656744 BLAKE2B ceebd9890da926ec7caea916ce2e4483fb398f1b5270f0a210bfc97fb844669ca8416a10cc020f145f8e0b1d2e5e2fd85dcaa4d948312e42b40c0850d657f988 SHA512 21693d659a5eb25bdec968266d7e6a1a6988bcec0bf5c3d914b098001ed4a8e64d7ff628181072fb1aabec1b89b56ed5e7c85e3b06ec79be1c9d7cf1c57d3145
DIST eog-45.4.tar.xz 4657420 BLAKE2B 422e9d9cfffe81fdd3af4948f371c11fcd6a2fba50df78469267747314cdcc840763a7057566c5e43c6eee9a0175e9dfaa1916736cfbef6d879076b9f2c11fcc SHA512 eb49d9c78b6e3d66eb20a714c2ebf5aad5c5547c2ca86e5c51e4b7f3c4c3bae5c4c356cec4c5815cc11d91c38ace58c00ea25c406de8cd9bf39a0ec65188baf8
+DIST eog-47.0.tar.xz 4658256 BLAKE2B 8e1162c3ca5ee89605eb8d6b616f3e2d034725948a32f568e3f1608247d6e35b67ad98351b5a0396b72031c0c3e1bcfa5f9e97f7e159e6020b7c7ba6c23a204a SHA512 5a3907988031360c53d7a2c9ba8c5e1c03c714f41f55bb980414e35591d522f32d9ae1c9e6c0ac6ca58e559074cd060572225417e30f39281a8f93473ec42159
diff --git a/media-gfx/eog/eog-45.4.ebuild b/media-gfx/eog/eog-45.4.ebuild
index 827642bb01f7..37c9ad56a731 100644
--- a/media-gfx/eog/eog-45.4.ebuild
+++ b/media-gfx/eog/eog-45.4.ebuild
@@ -11,7 +11,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/eog"
LICENSE="GPL-2+"
SLOT="1"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
IUSE="+exif gtk-doc +introspection +jpeg lcms +svg xmp tiff"
REQUIRED_USE="
diff --git a/media-gfx/eog/eog-45.3.ebuild b/media-gfx/eog/eog-47.0.ebuild
index d200bb7d2e69..176f838354cb 100644
--- a/media-gfx/eog/eog-45.3.ebuild
+++ b/media-gfx/eog/eog-47.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,19 +6,19 @@ EAPI=8
inherit gnome.org gnome2-utils meson xdg
DESCRIPTION="The Eye of GNOME image viewer"
-HOMEPAGE="https://wiki.gnome.org/Apps/EyeOfGnome https://gitlab.gnome.org/GNOME/eog"
+HOMEPAGE="https://gitlab.gnome.org/GNOME/eog"
LICENSE="GPL-2+"
SLOT="1"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
IUSE="+exif gtk-doc +introspection +jpeg lcms +svg xmp tiff"
REQUIRED_USE="
exif? ( jpeg )
gtk-doc? ( introspection )
"
-KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
-
RDEPEND="
>=dev-libs/glib-2.73.2:2
>=dev-libs/libpeas-0.7.4:0[gtk]
diff --git a/media-gfx/exiv2/Manifest b/media-gfx/exiv2/Manifest
index 117da48992c6..63ecbb920bfb 100644
--- a/media-gfx/exiv2/Manifest
+++ b/media-gfx/exiv2/Manifest
@@ -1 +1,2 @@
DIST exiv2-0.28.3.tar.gz 46480702 BLAKE2B 73ebdca376d69514a89261d2f78604c5d7ccbc6e73e5c5d61f8caa596fd6b60dd4d06df19cb9f93e402d9a76f1511955f77cfd74b407310a13952092ecfbf0ef SHA512 c8338a118feefa104d73932890c732247c884ab9ce1d170c43a22ab5884517a0e2a7fd1febde7705b8290fbbbc29e64738610404816e4db2b56a70fc444ca049
+DIST exiv2-0.28.4.tar.gz 46932087 BLAKE2B 609925c8615ee787f16087065dae503311ce9ca4af89724c6b680ec03f883697a75d0f55297e05d7d17cdda846356d0d8c3b3cf6b6570bd5120fbdc152645030 SHA512 2a10a25bd2a6226ecb1faee4fb02bcc9c91143bec73fe9ca5439ce2ed5fe66e68bb407a080916e8902de35efccc904af9eaf83a31a69cfab816adb91fdc0f2a9
diff --git a/media-gfx/exiv2/exiv2-0.28.4.ebuild b/media-gfx/exiv2/exiv2-0.28.4.ebuild
new file mode 100644
index 000000000000..42c69715bd8e
--- /dev/null
+++ b/media-gfx/exiv2/exiv2-0.28.4.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake-multilib python-any-r1
+
+DESCRIPTION="EXIF, IPTC and XMP metadata C++ library and command line utility"
+HOMEPAGE="https://exiv2.org/"
+
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/Exiv2/exiv2.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/Exiv2/exiv2/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+fi
+
+LICENSE="GPL-2"
+# Upstream hope to have stable ABI in 1.0. Until then, go off ${PV}.
+# We may be able to change it to $(ver_cut 1-2) once e.g.
+# https://github.com/Exiv2/exiv2/pull/917 is merged.
+SLOT="0/$(ver_cut 1-2)"
+IUSE="+bmff doc examples jpegxl nls +png test webready +xmp"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/inih[${MULTILIB_USEDEP}]
+ >=virtual/libiconv-0-r1[${MULTILIB_USEDEP}]
+ jpegxl? ( app-arch/brotli:=[${MULTILIB_USEDEP}] )
+ nls? ( >=virtual/libintl-0-r1[${MULTILIB_USEDEP}] )
+ png? ( sys-libs/zlib[${MULTILIB_USEDEP}] )
+ webready? ( net-misc/curl[${MULTILIB_USEDEP}] )
+ xmp? ( dev-libs/expat[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="
+ doc? (
+ ${PYTHON_DEPS}
+ app-text/doxygen
+ dev-libs/libxslt
+ media-gfx/graphviz
+ virtual/pkgconfig
+ )
+ test? ( ${PYTHON_DEPS} )
+ nls? ( sys-devel/gettext )
+"
+
+DOCS=( README.md doc/ChangeLog doc/cmd.txt )
+
+pkg_setup() {
+ if use doc || use test ; then
+ python-any-r1_pkg_setup
+ fi
+}
+
+src_prepare() {
+ # FIXME @upstream:
+ einfo "Converting doc/cmd.txt to UTF-8"
+ iconv -f LATIN1 -t UTF-8 doc/cmd.txt > doc/cmd.txt.tmp || die
+ mv -f doc/cmd.txt.tmp doc/cmd.txt || die
+
+ cmake_src_prepare
+
+ sed -e "/^include.*compilerFlags/s/^/#DONT /" -i CMakeLists.txt || die
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DEXIV2_BUILD_SAMPLES=NO
+ -DEXIV2_ENABLE_BROTLI=$(usex jpegxl)
+ -DEXIV2_ENABLE_NLS=$(usex nls)
+ -DEXIV2_ENABLE_PNG=$(usex png)
+ -DEXIV2_ENABLE_CURL=$(usex webready)
+ -DEXIV2_ENABLE_INIH=ON # must be enabled (bug #921937)
+ -DEXIV2_ENABLE_WEBREADY=$(usex webready)
+ -DEXIV2_ENABLE_XMP=$(usex xmp)
+ -DEXIV2_ENABLE_BMFF=$(usex bmff)
+
+ # We let users control this.
+ -DBUILD_WITH_CCACHE=OFF
+ # Our toolchain sets this by default.
+ -DBUILD_WITH_STACK_PROTECTOR=OFF
+
+ $(multilib_is_native_abi || echo -DEXIV2_BUILD_EXIV2_COMMAND=NO)
+ $(multilib_is_native_abi && echo -DEXIV2_BUILD_DOC=$(usex doc))
+ $(multilib_is_native_abi && echo -DEXIV2_BUILD_UNIT_TESTS=$(usex test))
+ -DCMAKE_INSTALL_DOCDIR="${EPREFIX}"/usr/share/doc/${PF}/html
+ )
+
+ if use doc || use test ; then
+ mycmakeargs+=(
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+multilib_src_compile() {
+ cmake_src_compile
+
+ if multilib_is_native_abi; then
+ use doc && eninja doc
+ fi
+}
+
+multilib_src_test() {
+ if multilib_is_native_abi; then
+ cd "${BUILD_DIR}"/bin || die
+ ./unit_tests || die "Failed to run tests"
+ fi
+}
+
+multilib_src_install_all() {
+ use xmp && DOCS+=( doc/{COPYING-XMPSDK,README-XMP,cmdxmp.txt} )
+
+ einstalldocs
+ find "${D}" -name '*.la' -delete || die
+
+ if use examples; then
+ docinto examples
+ dodoc samples/*.cpp
+ fi
+}
diff --git a/media-gfx/fig2dev/Manifest b/media-gfx/fig2dev/Manifest
index b56d9caad949..9071a302e380 100644
--- a/media-gfx/fig2dev/Manifest
+++ b/media-gfx/fig2dev/Manifest
@@ -1,2 +1,3 @@
DIST fig2dev-3.2.9.tar.xz 529892 BLAKE2B d6b4f84f89f85b282e2e02a3a4129ab8c9f67b3376b670fb553fc89347bf2552bfc3b3bfc4d4a4a35da7f9e5659f6f6fdf5a1fb4f82fb87d140dc09d079d9ffa SHA512 4a92539d79027c73cd9fa53d7e960db40ae5616d3197023a98346de4727cd70b28cd7d64ba33063dbe3dcacada7e97bb0e0c595547781a4244aea8c75d43f406
+DIST fig2dev-3.2.9a.tar.xz 536560 BLAKE2B 5648972433ed359f64da233748b556925e8efc7a87a5e49c1ce42f91b093c98846e588ea03c4655d393ba91f14714370cdfe7fca62627a2f69edcf3ce453ee5e SHA512 ffc56ef0bb3313d6650819c5a5bbf3c532c01a9649a1c424ade977411765cb413ef032d162695e14207918bbb535cb0a98e69df9060dd706c0c9d19d4f9435cc
DIST fig2mpdf-1.1.2.tar.bz2 191438 BLAKE2B 411791fecf6e10aac92c004c7da69a10c97a6e12f811452f12d0b51b3a1eeff8fff97d831a5e64c9047855d27e6825a4e65f62be2536651e5876edd00cc822a9 SHA512 36dea40008371386b47a4451e2f311cc2540ab063e3b61e628a535775d62a8840c5cc20c37b80465184bf041c6e583aaf3e5156079e72211d0a87ff3346d2980
diff --git a/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild b/media-gfx/fig2dev/fig2dev-3.2.9a.ebuild
index 5ba39f14e9c8..ad7e2fde03f6 100644
--- a/media-gfx/fig2dev/fig2dev-3.2.9-r2.ebuild
+++ b/media-gfx/fig2dev/fig2dev-3.2.9a.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,8 @@ SRC_URI="https://downloads.sourceforge.net/mcj/${P}.tar.xz
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+ghostscript"
RDEPEND="
media-libs/libpng
@@ -23,6 +24,11 @@ RDEPEND="
x11-apps/rgb
x11-libs/libXpm
!media-gfx/transfig
+ ghostscript?
+ (
+ app-text/ghostscript-gpl
+ virtual/imagemagick-tools[jpeg,png,postscript,tiff]
+ )
"
DEPEND="${RDEPEND}"
BDEPEND="
@@ -33,6 +39,10 @@ BDEPEND="
DOCS=( README CHANGES NOTES )
HTML_DOCS=( "${WORKDIR}/fig2mpdf/doc/." )
+PATCHES=(
+ "${FILESDIR}/${P}-prototypes.patch"
+)
+
sed_Imakefile() {
# see fig2dev/Imakefile for details
vars2subs="BINDIR=${EPREFIX}/usr/bin
diff --git a/media-gfx/fig2dev/fig2dev-9999.ebuild b/media-gfx/fig2dev/fig2dev-9999.ebuild
new file mode 100644
index 000000000000..f43717cd1e15
--- /dev/null
+++ b/media-gfx/fig2dev/fig2dev-9999.ebuild
@@ -0,0 +1,120 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Set of tools for creating TeX documents with graphics"
+HOMEPAGE="https://www.xfig.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ SRC_URI="mirror://gentoo/fig2mpdf-1.1.2.tar.bz2"
+ inherit autotools git-r3
+ EGIT_REPO_URI="https://git.code.sf.net/p/mcj/fig2dev"
+else
+ SRC_URI="https://downloads.sourceforge.net/mcj/${P}.tar.xz
+ mirror://gentoo/fig2mpdf-1.1.2.tar.bz2"
+ KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+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_unpack() {
+ if [[ ${PV} == 9999 ]]; then
+ git-r3_src_unpack
+ fi
+
+ # Unpack fig2mpdf for live ebuilds also
+ default
+}
+
+src_prepare() {
+ default
+
+ if [[ ${PV} == 9999 ]]; then
+ eautoreconf
+ fi
+}
+
+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/files/fig2dev-3.2.9a-prototypes.patch b/media-gfx/fig2dev/files/fig2dev-3.2.9a-prototypes.patch
new file mode 100644
index 000000000000..f2e8ca6831d8
--- /dev/null
+++ b/media-gfx/fig2dev/files/fig2dev-3.2.9a-prototypes.patch
@@ -0,0 +1,62 @@
+commit ab4eee3cf0d0c1d861d64b9569a5d1497800cae2
+Author: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
+Date: Thu Jan 30 22:36:48 2025 +0100
+
+ Specify argument types in function prototypes
+
+ Modern C standards require full prototypes. This commit fixes the bug
+ reported in https://bugs.gentoo.org/944153.
+
+Upstream: https://sourceforge.net/p/mcj/fig2dev/merge-requests/1/
+Bug: https://bugs.gentoo.org/944153
+--- a/transfig/mkfile.c
++++ b/transfig/mkfile.c
+@@ -17,10 +17,12 @@
+ #include <stdio.h>
+ #include "transfig.h"
+
+-void puttarget();
+-void putfig();
+-void putoptions();
+-void putclean();
++void puttarget(FILE *mk, char *i, char *suf1, char *suf2);
++void putfig(FILE *mk, enum language to, int altfonts,
++ char *f, char *s, char *m, char *o, char *i, char *suf);
++void putoptions(FILE *mk, int altfonts, char *f, char *s, char *m, char *o,
++ char *i, char *suf);
++void putclean(FILE *mk, char *i, char *suf);
+
+ /*
+ * create an appropriate makefile
+--- a/transfig/transfig.c
++++ b/transfig/transfig.c
+@@ -33,8 +33,10 @@ extern void texfile(FILE *tx, char *in); /* txfile.c */
+ extern void makefile(FILE *mk, int altfonts); /* mkfile.c */
+
+
+-argument *parse_arg(), *arglist = NULL, *lastarg = NULL;
+-char *strip();
++argument *parse_arg(enum language tolang, char *arg_f, char *arg_s,
++ char *arg_m, char *arg_o, char *arg);
++argument *arglist = NULL, *lastarg = NULL;
++char *strip(char *str, char *suf);
+
+ char *mkfile = "Makefile";
+ char *txfile = "transfig.tex";
+--- a/transfig/transfig.h
++++ b/transfig/transfig.h
+@@ -60,11 +60,12 @@ typedef struct argument{
+ struct argument *next;
+ } argument ;
+
+-extern enum language str2lang();
++extern enum language str2lang(char *s);
+ extern char *lname[];
+ extern char *iname[];
+
+-extern char *sysls(), *mksuff();
++extern char *sysls(void);
++extern char *mksuff(char *name, char *suff);
+ extern argument *arglist;
+ extern char *txfile, *mkfile;
+
diff --git a/media-gfx/flameshot/Manifest b/media-gfx/flameshot/Manifest
index e735adbfa0b3..fa5dda25de88 100644
--- a/media-gfx/flameshot/Manifest
+++ b/media-gfx/flameshot/Manifest
@@ -1,4 +1 @@
-DIST flameshot-0.10.2.tar.gz 7726687 BLAKE2B c7c7402d0cb6234473018571e67c39aebec3b4afa398fc2ef590f64527980ca218b1ebd8228ea47a3f9fd76e0edc2f8e1662965f79817bf6461bf0fc64d8b692 SHA512 b0eb1decd87dab1d4a375708448dd4c6f85c101d33814b76edbb328150d0e9ee7a588be698fddcb24e70e39cd4331f9aa2ff082525ff6975d52303a6d9c1ab12
-DIST flameshot-11.0.0.tar.gz 12662479 BLAKE2B 1adef0196a449c33ea57ecd214ad890f44a8530c9c1116d5bdc29074835c040c8fbbec207501e597fb09887ab1e80e937e8412acdc7eb38c8619aa993f986018 SHA512 de13f3c5bc18f164c6e37c0b3f42c8693d3ebfaba5f3d54360899df6479390e2a0c38970fa2595c9293304b4e52ca2198477f4f317abcb11df4c30a24ab1909f
-DIST flameshot-12.0.0.tar.gz 15617684 BLAKE2B 0c878c1efae7b1dd7fccc50471bb810bbf6067bcb1fe26b73965d4f5a78e514e33d74f4a0c28e68ff4e15875ec5d6f9eccfc91ee1635b6e0d31bb50133182277 SHA512 8a7d0878ff57f9c3fcb12791c33f2c11de08b057a68bb50684dd9195fbba8557e71236bc4f8a5f50062af021ed970d5b4362fc2bfdc90415143d7597c3df50f0
DIST flameshot-12.1.0.tar.gz 15618560 BLAKE2B 975019d71a31f32785f081a05d224f72927628a1142697ba7ef9646f65d2cf1dcb5457633522143201716fe20a320224c95047904408dc411975c3e711e48002 SHA512 159bf3a8ff406b3881dcc77fc48d9e7cc0d595bd47ee2363396d7efc95f69160cf25ccf99cd1b2c2b527baeadf91c209784a7bca23ed5f17caacc385e161c83c
diff --git a/media-gfx/flameshot/flameshot-0.10.2.ebuild b/media-gfx/flameshot/flameshot-0.10.2.ebuild
deleted file mode 100644
index 9edb962ea42d..000000000000
--- a/media-gfx/flameshot/flameshot-0.10.2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg
-
-DESCRIPTION="Powerful yet simple to use screenshot software"
-HOMEPAGE="https://flameshot.org https://github.com/flameshot-org/flameshot"
-SRC_URI="https://github.com/flameshot-org/flameshot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 Free-Art-1.3 GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- =dev-qt/qtsingleapplication-2.6*[qt5(+),X]
- dev-qt/qtwidgets:5
- dev-qt/qtsvg:5
- dev-qt/qtnetwork:5
- dev-qt/qtdbus:5
- sys-apps/dbus
- dev-libs/spdlog:=
-"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- rm -r external/spdlog || die
- rm -r external/singleapplication || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_EXTERNAL_SPDLOG=1
- -DUSE_EXTERNAL_SINGLEAPPLICATION=1
- -DENABLE_CACHE=0
- )
-
- cmake_src_configure
-}
diff --git a/media-gfx/flameshot/flameshot-11.0.0.ebuild b/media-gfx/flameshot/flameshot-11.0.0.ebuild
deleted file mode 100644
index cccbfdf33cd5..000000000000
--- a/media-gfx/flameshot/flameshot-11.0.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg
-
-DESCRIPTION="Powerful yet simple to use screenshot software"
-HOMEPAGE="https://flameshot.org https://github.com/flameshot-org/flameshot"
-SRC_URI="https://github.com/flameshot-org/flameshot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 Free-Art-1.3 GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- =dev-qt/qtsingleapplication-2.6*[qt5(+),X]
- dev-qt/qtwidgets:5
- dev-qt/qtsvg:5
- dev-qt/qtnetwork:5
- dev-qt/qtdbus:5
- sys-apps/dbus
-"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- rm -r external/singleapplication || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_EXTERNAL_SINGLEAPPLICATION=1
- -DENABLE_CACHE=0
- )
-
- cmake_src_configure
-}
diff --git a/media-gfx/flameshot/flameshot-12.0.0-r2.ebuild b/media-gfx/flameshot/flameshot-12.0.0-r2.ebuild
deleted file mode 100644
index 708edafe52aa..000000000000
--- a/media-gfx/flameshot/flameshot-12.0.0-r2.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake xdg
-
-DESCRIPTION="Powerful yet simple to use screenshot software"
-HOMEPAGE="https://flameshot.org https://github.com/flameshot-org/flameshot"
-SRC_URI="https://github.com/flameshot-org/flameshot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0 Free-Art-1.3 GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="wayland"
-
-DEPEND="
- =dev-qt/qtsingleapplication-2.6*[qt5(+),X]
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- sys-apps/dbus
- wayland? ( kde-frameworks/kguiaddons:5 )
-"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-RDEPEND="${DEPEND}"
-
-src_prepare() {
- rm -r external/singleapplication || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DUSE_EXTERNAL_SINGLEAPPLICATION=1
- -DENABLE_CACHE=0
- -DUSE_WAYLAND_CLIPBOARD=$(usex wayland)
- )
-
- cmake_src_configure
-}
diff --git a/media-gfx/fotema/Manifest b/media-gfx/fotema/Manifest
index cc3fce6ad625..0ac9a3fd31cd 100644
--- a/media-gfx/fotema/Manifest
+++ b/media-gfx/fotema/Manifest
@@ -1,3 +1,7 @@
-DIST fotema-1.14.2.tar.xz 78468972 BLAKE2B 59974a873381dd40cf80f274bb2fcd3763fbf946f168491e25f76f56c1646754b7cf49dd174a25726133fd774d04a9cee370c81d3c01f9d276e588d42b232f82 SHA512 27d96b0a47e312b2a7674f140646f24785dbfae47ea1bde74630fbb979946f23b1e1f5fab5ba20edb38ef91790003e138dcf4043ff371e3bf458c691dfd2db56
-DIST fotema-1.14.3.tar.xz 78412372 BLAKE2B 821ebb70e14e3e0d1a72ab712ecfe50da2299c2050593af0d6c64a2fc04ae904d56a4448fbcc022e9c7b1604e7a7ed8e55d8cba34aae4f1e6023fdea221a1c6d SHA512 461b84de9b4636cfed2d4e5132e18c831341cbddf8decfc856f85fa18fa7e4ead9d4d210a6795e077f7b7532aca51fc7835cd648cd9d7f7d8f9cc17e18b1f7e6
-DIST fotema-1.14.4.tar.xz 78458268 BLAKE2B 4f8cc8f1ba3df27eca16b41e11ae947fe15b83321bc2da23f01a16012d862999a0cf6572353bc74cf2868a91404b199712b4f4d9df63ed87970469d57bb5be16 SHA512 189638c8d7e4466b1318ec06324cd1bfb3eaa36b9b7116b7e44a654d4cd09fb38961c0a5fa02469180f66844614555773e2306becd590eb7b8ba8fb074e9c3cc
+DIST fotema-1.19.0-crates.tar.xz 62327412 BLAKE2B 099677191ca1634288d9f4e6055ddfaa3e6562d96fcd06dcc51aa1cb49fed648a61f60f2d47ac51c4fd97a8a238a8f064a8f9990768e2160fd9e002b4ffb978a SHA512 11b7510aae15359e0b2bb95a7e5b4b973f1438328f8fea075264bfb16da50876c4bec5bd82c0af965c8fc9bb5c2d1126c03c077ebd0d1cda704e6b89daf504c2
+DIST fotema-1.19.0.gh.tar.gz 8950038 BLAKE2B 131c013515b11ac068944e9d3c7e4ae1809ed75bf6d7d1eebdf10c09498d519363ab2b0d35b07a6f11c3e221d8665adf289ce9ff3f820585dd97b2065a5c1322 SHA512 4750028bd30a46f37a6ca85ff9d005dd99c4d4a0d1c0df60baadc094d9630bafeff21e898543c9ef41c612237fdfbe642f7abbbcb1fbd4c8c6d3dbed369f420f
+DIST fotema-1.19.1.gh.tar.gz 8951161 BLAKE2B 77bbb21eceb2b700f4e3ff787be05a71dd819c662f26813af74ddd1645b9f7864e63cab74ca35cb33e20cddc9fd286705b43fc375247b490c0ec9c6848afb82b SHA512 aebf3a37443292ec51d5fe9a079cd1e074d82bf65e6bd2ec3729181849b71c8b57d020a5382ca8b690b1278b372b56b895b35f9c7810981462543c82a13e4aeb
+DIST fotema-1.19.2.gh.tar.gz 8952377 BLAKE2B b41720af2f617c3d6f3e53be88bfdfec39d49a40b9b44b5a6c9b0c5e99d0280f8e8a79ebc7d0cee9fb083c0ed1ee54925953ca23e5a4807d0e1ca1c07170f337 SHA512 849ece52e13a1a8fc66864cad286e1c2bdcc9f3b73c0e0a45c42bf481e8b14a03f9e7d72a5461094a6fe804359d2ddcf0fbec1b7a82ce3a5c3cdc4e9b15c1311
+DIST fotema-rust-faces-43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e.gh.tar.gz 839519 BLAKE2B 7ba344d55c5d108e63556dda32aaf60cfbd2b14a05e2965ca69e54e2aab578f6ba49f7a7b89d6c32cb5ace4b80f7a84247dcbb43a98d5d709895810798966b0b SHA512 aac99659e2d82d342f52b5860d9f1e284e1658fa9e0986b1c54a81cc33f6391535a2773d79defc6a7bf1e52591dc91d91a1ef3742c38e599baed79975b42de51
+DIST fotema-v1.19.1-crates.tar.xz 63008632 BLAKE2B 62758bdd9d4cf54d3bceb187d027d8419b4ccdd2d64ab1e8c9e5679123ee729acbc16f3adeece965bac9a9a33ef093c6519581c0f75afd8327d53e159baae2f7 SHA512 0a366cc7b4bb19e0529fbc6fd5c37a9e03cdfe3ec0ff8e853f46985ffdb974f142f047376999779601abbb33385b7ed44cd6070959513fc471dec92ac76cd0cb
+DIST fotema-v1.19.2-crates.tar.xz 63106132 BLAKE2B f57f6e19bbaa2570530f8280e59c80cdc887d7808c9453ac27b6f64bbd175faec2f20f31b8decf61af21f1d38248a868412f27122b0ebe398c63ba3937ce0055 SHA512 58db1ef27c7e10e8d156af3beb6ba9941f7676e286ce51497ec3f6953586e648431fbd5cb8485d751b2fcce6cafd912037dc9c2ce9a5a1173d68e609b8c63712
diff --git a/media-gfx/fotema/fotema-1.14.2-r2.ebuild b/media-gfx/fotema/fotema-1.19.0.ebuild
index 34219ad68ea2..33bdf6a09676 100644
--- a/media-gfx/fotema/fotema-1.14.2-r2.ebuild
+++ b/media-gfx/fotema/fotema-1.19.0.ebuild
@@ -1,27 +1,47 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [rust-faces]='https://github.com/blissd/fotema-rust-faces;43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e;fotema-rust-faces-%commit%'
+)
+
inherit cargo gnome2-utils meson xdg-utils
+CRATE_P=${P}
DESCRIPTION="Photo gallery for Linux"
HOMEPAGE="https://github.com/blissd/fotema"
SRC_URI="
- https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz
+ https://github.com/blissd/fotema/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${CRATE_P}-crates.tar.xz
+ "
+fi
# see LICENSES/
LICENSE="
CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0
FDL-1.3+ GPL-3+ MIT
"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC MIT
+ MPL-2.0 Unicode-3.0 WTFPL-2 ZLIB
+"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
>=dev-libs/glib-2.66:2
- >=gui-libs/gtk-4.0.0:4
+ >=gui-libs/gtk-4.16:4
"
# indirect deps via crates
DEPEND+="
@@ -47,27 +67,9 @@ BDEPEND="
dev-libs/glib:2
"
-ECARGO_VENDOR=${S}/vendor
-
QA_FLAGS_IGNORED="/usr/bin/fotema"
-src_prepare() {
- default
-
- # patch the dependency on flatpak-spawn out (sigh)
- find "${S}"/{core,src} -name '*.rs' \
- -exec sed -i -e '/FlatpakSpawn/d' {} + || die
-}
-
src_configure() {
- cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die
-
- [source."git+https://github.com/blissd/rust-faces.git?branch=patch"]
- git = "https://github.com/blissd/rust-faces.git"
- branch = "patch"
- replace-with = "gentoo"
- EOF
-
local emesonargs=(
-Dprofile=$(usex debug development default)
)
diff --git a/media-gfx/fotema/fotema-1.14.3-r1.ebuild b/media-gfx/fotema/fotema-1.19.1.ebuild
index 34219ad68ea2..942b99bb6383 100644
--- a/media-gfx/fotema/fotema-1.14.3-r1.ebuild
+++ b/media-gfx/fotema/fotema-1.19.1.ebuild
@@ -1,27 +1,47 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [rust-faces]='https://github.com/blissd/fotema-rust-faces;43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e;fotema-rust-faces-%commit%'
+)
+
inherit cargo gnome2-utils meson xdg-utils
+CRATE_P=${P/-/-v}
DESCRIPTION="Photo gallery for Linux"
HOMEPAGE="https://github.com/blissd/fotema"
SRC_URI="
- https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz
+ https://github.com/blissd/fotema/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/fotema/releases/download/v${PV}/${CRATE_P}-crates.tar.xz
+ "
+fi
# see LICENSES/
LICENSE="
CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0
FDL-1.3+ GPL-3+ MIT
"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC MIT
+ MPL-2.0 UoI-NCSA Unicode-3.0 WTFPL-2 ZLIB
+"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
>=dev-libs/glib-2.66:2
- >=gui-libs/gtk-4.0.0:4
+ >=gui-libs/gtk-4.16:4
"
# indirect deps via crates
DEPEND+="
@@ -47,27 +67,9 @@ BDEPEND="
dev-libs/glib:2
"
-ECARGO_VENDOR=${S}/vendor
-
QA_FLAGS_IGNORED="/usr/bin/fotema"
-src_prepare() {
- default
-
- # patch the dependency on flatpak-spawn out (sigh)
- find "${S}"/{core,src} -name '*.rs' \
- -exec sed -i -e '/FlatpakSpawn/d' {} + || die
-}
-
src_configure() {
- cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die
-
- [source."git+https://github.com/blissd/rust-faces.git?branch=patch"]
- git = "https://github.com/blissd/rust-faces.git"
- branch = "patch"
- replace-with = "gentoo"
- EOF
-
local emesonargs=(
-Dprofile=$(usex debug development default)
)
diff --git a/media-gfx/fotema/fotema-1.14.4-r1.ebuild b/media-gfx/fotema/fotema-1.19.2.ebuild
index 34219ad68ea2..942b99bb6383 100644
--- a/media-gfx/fotema/fotema-1.14.4-r1.ebuild
+++ b/media-gfx/fotema/fotema-1.19.2.ebuild
@@ -1,27 +1,47 @@
-# Copyright 2024 Gentoo Authors
+# Copyright 2024-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [rust-faces]='https://github.com/blissd/fotema-rust-faces;43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e;fotema-rust-faces-%commit%'
+)
+
inherit cargo gnome2-utils meson xdg-utils
+CRATE_P=${P/-/-v}
DESCRIPTION="Photo gallery for Linux"
HOMEPAGE="https://github.com/blissd/fotema"
SRC_URI="
- https://github.com/blissd/fotema/releases/download/v${PV}/${P}.tar.xz
+ https://github.com/blissd/fotema/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://github.com/gentoo-crate-dist/fotema/releases/download/v${PV}/${CRATE_P}-crates.tar.xz
+ "
+fi
# see LICENSES/
LICENSE="
CC-BY-2.0 CC-BY-4.0 CC-BY-NC-SA-4.0 CC-BY-SA-4.0 CC0-1.0
FDL-1.3+ GPL-3+ MIT
"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD CC0-1.0 ISC MIT
+ MPL-2.0 UoI-NCSA Unicode-3.0 WTFPL-2 ZLIB
+"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
>=dev-libs/glib-2.66:2
- >=gui-libs/gtk-4.0.0:4
+ >=gui-libs/gtk-4.16:4
"
# indirect deps via crates
DEPEND+="
@@ -47,27 +67,9 @@ BDEPEND="
dev-libs/glib:2
"
-ECARGO_VENDOR=${S}/vendor
-
QA_FLAGS_IGNORED="/usr/bin/fotema"
-src_prepare() {
- default
-
- # patch the dependency on flatpak-spawn out (sigh)
- find "${S}"/{core,src} -name '*.rs' \
- -exec sed -i -e '/FlatpakSpawn/d' {} + || die
-}
-
src_configure() {
- cat >> "${ECARGO_HOME}/config.toml" <<-EOF || die
-
- [source."git+https://github.com/blissd/rust-faces.git?branch=patch"]
- git = "https://github.com/blissd/rust-faces.git"
- branch = "patch"
- replace-with = "gentoo"
- EOF
-
local emesonargs=(
-Dprofile=$(usex debug development default)
)
diff --git a/media-gfx/fotocx/Manifest b/media-gfx/fotocx/Manifest
index fbc2a2f18eb0..f8d1cd9a224c 100644
--- a/media-gfx/fotocx/Manifest
+++ b/media-gfx/fotocx/Manifest
@@ -1,3 +1,4 @@
DIST fotocx-24.50-source.tar.gz 16197289 BLAKE2B 468a3cd7ef2cee5a65d2a06283732e0994f9eeb823ed2fd02e319c68f7cb4686a33fbc61e85eaeb8bdd2c7455d1cebada49d0da6004007ad15333b1c39050768 SHA512 3f30b4efb43313980a1be8b92e66c8260484e10a3e50c5351d5462004fe6e5685ecd39be263fbd85bde495a5f1c539bd262124478516d8ddcd40420fa6de699e
DIST fotocx-24.60-source.tar.gz 15771741 BLAKE2B 89ab212cdaeb414637ad0b3c9833b0caea6c805422e3fccdd027912f1d32ed141cedaeb5826212e36e5b40591e40c85816ecc5d3cff7915693e11e78b962b890 SHA512 6a04e0d749865000b67497b897f691a5882c0d63dda8c64ffe824215582db051f9cc0ca528490112f26db41a58f1673affe2e2e55c90dbb9e6f24cef77e4d5d6
DIST fotocx-24.70-source.tar.gz 15771508 BLAKE2B 74343ee57a0611b470794ae211ac4923744ab5619895234b50ccf00e88d9fe4f15aa94a83112acbf160a5e0c2befbef070da258500d17f240f8ccd467784c8e5 SHA512 1b7b160ede154a80251ffd6935b8a10767e70fcb87e2071899ee1a8228c8d816323d947a631320d525f6a37768c32bcc2a998a30ee2ac4e1769354a85a0f7f27
+DIST fotocx-25.0-source.tar.gz 15651266 BLAKE2B e6330541a3a0d341055a326b0ab4e3cc7b79bd80ea1cebab7303302e3ec519fb732f1604fe4fce87de4a9690f0da1399a700a5400c7596bf4810c03a469cd768 SHA512 3f4dfdfdd5190599d7294ff10364f382effab5ccc8dde712b467e925c5823cd03bf67a5e85cad2177a194e49431d21b846eed2648a45a8855e922006f69cd4d8
diff --git a/media-gfx/fotocx/fotocx-25.0.ebuild b/media-gfx/fotocx/fotocx-25.0.ebuild
new file mode 100644
index 000000000000..8c904f825206
--- /dev/null
+++ b/media-gfx/fotocx/fotocx-25.0.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature xdg-utils
+
+DESCRIPTION="Program for improving image files made with a digital camera"
+HOMEPAGE="https://kornelix.net/fotocx/fotocx.html"
+SRC_URI="https://kornelix.net/downloads/downloads/${P}-source.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# For required dependencies read doc/README, for required tools read
+# data/userguide [INSTALLATION]. xdg-open (x11-misc/xdg-utils) is an
+# alternative to firefox and chromium-browser. `grep '"which ' * -R`
+# is helpful to report some required tools run via the shell.
+
+DEPEND="
+ media-libs/clutter
+ media-libs/clutter-gtk
+ media-libs/lcms:2
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ media-libs/libchamplain[gtk]
+ x11-libs/gtk+:3"
+RDEPEND="
+ ${DEPEND}
+ media-gfx/dcraw
+ media-libs/exiftool
+ x11-misc/xdg-utils
+"
+
+PATCHES=( "${FILESDIR}/${PN}-24.20-documentation.patch" )
+
+DOCS=()
+HTML_DOCS=()
+
+src_prepare() {
+ sed -i -e "/^DOCDIR/ s/${PN}$/${PF}/" Makefile || die
+ sed -i -e "/^Icon/ s/\.png$//" ${PN}.desktop || die
+ default
+}
+
+src_install() {
+ # For the Help menu items to work, *.html must be in /usr/share/doc/${PF},
+ # and README, changelog, copyright, license, etc. must not be compressed.
+ emake DESTDIR="${D}" PREFIX="/usr" install
+ rm -f "${D}"/usr/share/doc/${PF}/*.man || die
+ docompress -x /usr/share/doc
+}
+
+pkg_postinst() {
+ optfeature "HEIC & AVIF file support" media-libs/libheif
+ optfeature "additional RAW file support" media-gfx/rawtherapee
+ optfeature "additional RAW file support" media-gfx/darktable
+ optfeature "video thumbnails & playback" media-video/ffmpeg
+ optfeature "copying images to optical media" app-cdr/dvd+rw-tools
+ optfeature "WEBP file support" media-libs/libwebp
+
+ elog
+ elog "Please read the Help > User Guide for details. The source location is"
+ elog "/usr/share/fotocx/data/userguide and after running fotocx a copy will"
+ elog "be placed at /home/<user>/.fotocx/userguide."
+ elog
+ elog "To play videos, in Tools > Preferences set 'Video File Play Command'."
+ elog
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
diff --git a/media-gfx/freecad/files/freecad-1.0.0-Gentoo-specific-don-t-check-vcs.patch b/media-gfx/freecad/files/freecad-1.0.0-Gentoo-specific-don-t-check-vcs.patch
deleted file mode 100644
index 3c8b61ab56a4..000000000000
--- a/media-gfx/freecad/files/freecad-1.0.0-Gentoo-specific-don-t-check-vcs.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- a/src/Tools/SubWCRev.py
-+++ b/src/Tools/SubWCRev.py
-@@ -509,12 +509,6 @@ def main():
- bindir = a
-
- vcs = [
-- GitControl(),
-- DebianGitHub(),
-- BazaarControl(),
-- Subversion(),
-- MercurialControl(),
-- DebianChangelog(),
- UnknownControl(),
- ]
- for i in vcs:
diff --git a/media-gfx/freecad/freecad-1.0.0-r1.ebuild b/media-gfx/freecad/freecad-1.0.0-r2.ebuild
index 7c3e04d2865c..e4819c63e7f7 100644
--- a/media-gfx/freecad/freecad-1.0.0-r1.ebuild
+++ b/media-gfx/freecad/freecad-1.0.0-r2.ebuild
@@ -82,8 +82,7 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6:=[designer,gui,svg,${PYTHON_USEDEP}]
- dev-python/shiboken6:=[${PYTHON_USEDEP}]
+ dev-python/pyside:6=[uitools(-),gui,svg,${PYTHON_USEDEP}]
' )
virtual/glu
virtual/opengl
diff --git a/media-gfx/freecad/freecad-1.0.0-r3.ebuild b/media-gfx/freecad/freecad-1.0.0-r3.ebuild
new file mode 100644
index 000000000000..3460ebcd8d63
--- /dev/null
+++ b/media-gfx/freecad/freecad-1.0.0-r3.ebuild
@@ -0,0 +1,305 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit check-reqs cmake flag-o-matic optfeature python-single-r1 qmake-utils xdg
+
+DESCRIPTION="Qt based Computer Aided Design application"
+HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
+
+MY_PN=FreeCAD
+
+if [[ ${PV} == *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
+ S="${WORKDIR}/freecad-${PV}"
+else
+ SRC_URI="https://github.com/${MY_PN}/${MY_PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+ S="${WORKDIR}/FreeCAD-${PV}"
+fi
+
+# code is licensed LGPL-2
+# examples are licensed CC-BY-SA (without note of specific version)
+LICENSE="LGPL-2 CC-BY-SA-4.0"
+SLOT="0"
+IUSE="debug designer +gui netgen pcl +smesh spacenav test X"
+# Modules are found in src/Mod/ and their options defined in:
+# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake
+# To get their dependencies:
+# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
+IUSE+=" addonmgr assembly +bim cam cloud fem idf inspection +mesh openscad points reverse robot surface +techdraw"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ bim? ( mesh )
+ cam? ( mesh )
+ gui? ( bim )
+ designer? ( gui )
+ fem? ( smesh )
+ inspection? ( points )
+ mesh? ( smesh )
+ openscad? ( mesh )
+ reverse? ( mesh points )
+ test? ( techdraw )
+"
+# Draft Workbench needs BIM
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-cpp/gtest
+ dev-cpp/yaml-cpp
+ dev-libs/boost:=
+ dev-libs/libfmt:=
+ dev-libs/xerces-c[icu]
+ dev-qt/qtbase:6[concurrent,network,xml]
+ media-libs/freetype
+ sci-libs/opencascade:=[json]
+ sys-libs/zlib
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ ')
+ assembly? ( sci-libs/ondselsolver )
+ cloud? (
+ dev-libs/openssl:=
+ net-misc/curl
+ )
+ fem? (
+ sci-libs/vtk:=
+ $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]')
+ )
+ gui? (
+ >=media-libs/coin-4.0.0
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ dev-qt/qtsvg:6
+ dev-qt/qttools:6[designer?,widgets]
+ $(python_gen_cond_dep '
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
+ dev-python/pyside:6=[uitools(-),gui,svg,${PYTHON_USEDEP}]
+
+ ' )
+ virtual/glu
+ virtual/opengl
+ spacenav? ( dev-libs/libspnav[X?] )
+ )
+ netgen? ( media-gfx/netgen[opencascade] )
+ openscad? ( $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') )
+ pcl? ( sci-libs/pcl:= )
+ smesh? (
+ sci-libs/hdf5:=[zlib]
+ >=sci-libs/med-4.0.0-r1
+ sci-libs/vtk:=
+ )
+"
+DEPEND="${RDEPEND}
+ >=dev-cpp/eigen-3.3.1:3
+ dev-cpp/ms-gsl
+"
+BDEPEND="
+ dev-lang/swig
+ test? ( dev-cpp/gtest )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch
+ "${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch
+ "${FILESDIR}"/${PN}-9999-tests-src-Qt-only-build-test-for-BUILD_GUI-ON.patch
+)
+
+DOCS=( CODE_OF_CONDUCT.md README.md )
+
+CHECKREQS_DISK_BUILD="2G"
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # Fix desktop file
+ sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # -Werror=odr, -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/875221
+ # https://github.com/FreeCAD/FreeCAD/issues/13173
+ filter-lto
+
+ # Fix building tests
+ append-ldflags -Wl,--copy-dt-needed-entries
+
+ local mycmakeargs=(
+ -DBUILD_DESIGNER_PLUGIN=$(usex designer)
+ -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
+ -DBUILD_GUI=$(usex gui)
+ -DBUILD_SMESH=$(usex smesh)
+ -DBUILD_VR=OFF
+ -DBUILD_WITH_CONDA=OFF
+
+ # Modules
+ -DBUILD_ADDONMGR=$(usex addonmgr)
+ -DBUILD_ASSEMBLY=$(usex assembly)
+ -DBUILD_BIM=$(usex bim)
+ -DBUILD_CAM=$(usex cam)
+ -DBUILD_CLOUD=$(usex cloud)
+ -DBUILD_DRAFT=ON
+ # see below for DRAWING
+ -DBUILD_FEM=$(usex fem)
+ -DBUILD_FEM_NETGEN=$(usex fem $(usex netgen))
+ -DBUILD_FLAT_MESH=$(usex mesh) # a submodule of MeshPart
+ -DBUILD_HELP=ON
+ -DBUILD_IDF=$(usex idf)
+ -DBUILD_IMPORT=ON # import module for various file formats
+ -DBUILD_INSPECTION=$(usex inspection)
+ -DBUILD_JTREADER=OFF # uses an old proprietary library
+ -DBUILD_MATERIAL=ON
+ -DBUILD_MEASURE=ON
+ -DBUILD_MESH=$(usex mesh)
+ -DBUILD_MESH_PART=$(usex mesh)
+ -DBUILD_OPENSCAD=$(usex openscad)
+ -DBUILD_PART=ON
+ -DBUILD_PART_DESIGN=ON
+ -DBUILD_PLOT=ON
+ -DBUILD_POINTS=$(usex points)
+ -DBUILD_REVERSEENGINEERING=$(usex reverse)
+ -DBUILD_ROBOT=$(usex robot)
+ -DBUILD_SANDBOX=OFF
+ -DBUILD_SHOW=$(usex gui)
+ -DBUILD_SKETCHER=ON # needed by draft workspace
+ -DBUILD_SPREADSHEET=ON
+ -DBUILD_START=ON
+ -DBUILD_SURFACE=$(usex surface)
+ -DBUILD_TECHDRAW=$(usex techdraw)
+ -DBUILD_TEST=ON # always build test workbench for run-time testing
+ -DBUILD_TUX=$(usex gui)
+ -DBUILD_WEB=ON # needed by start workspace
+
+ -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
+ -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
+ -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
+ -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
+
+ -DFREECAD_BUILD_DEBIAN=OFF
+
+ -DFREECAD_USE_EXTERNAL_ONDSELSOLVER=$(usex assembly)
+ -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
+ -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
+ -DFREECAD_USE_FREETYPE=ON
+ -DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
+ -DFREECAD_USE_PCL=$(usex pcl)
+ -DFREECAD_USE_PYBIND11=ON
+ -DFREECAD_USE_QT_FILEDIALOG=ON
+
+ # install python modules to site-packages' dir. True only for the main package,
+ # sub-packages will still be installed inside /usr/lib64/freecad
+ -DINSTALL_TO_SITEPACKAGES=ON
+
+ # Use the version of shiboken2 that matches the selected python version
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPython3_EXECUTABLE=${PYTHON}
+ )
+
+ if use debug; then
+ # BUILD_SANDBOX currently broken, see
+ # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
+ mycmakeargs+=(
+ -DBUILD_SANDBOX=OFF
+ -DBUILD_TEMPLATE=ON
+ )
+ else
+ mycmakeargs+=(
+ -DBUILD_SANDBOX=OFF
+ -DBUILD_TEMPLATE=OFF
+ )
+ fi
+
+ if use gui; then
+ mycmakeargs+=(
+ -DFREECAD_QT_MAJOR_VERSION=6
+ -DFREECAD_QT_VERSION=6
+ -DQT_DEFAULT_MAJOR_VERSION=6
+ -DQt6Core_MOC_EXECUTABLE="$(qt6_get_bindir)/moc"
+ -DQt6Core_RCC_EXECUTABLE="$(qt6_get_bindir)/rcc"
+ -DBUILD_QT5=OFF
+ # Drawing module unmaintained and not ported to qt6
+ -DBUILD_DRAWING=OFF
+ )
+ fi
+
+ cmake_src_configure
+}
+
+# We use the FreeCADCmd binary instead of the FreeCAD binary here
+# for two reasons:
+# 1. It works out of the box with USE=-gui as well, not needing a guard
+# 2. We don't need virtualx.eclass and its dependencies
+# The environment variables are needed, so that FreeCAD knows
+# where to save its temporary files, and where to look and write its
+# configuration. Without those, there is a sandbox violation, when it
+# tries to create /var/lib/portage/home/.FreeCAD directory.
+src_test() {
+ cd "${BUILD_DIR}" || die
+
+ local -x FREECAD_USER_HOME="${HOME}"
+ local -x FREECAD_USER_DATA="${T}"
+ local -x FREECAD_USER_TEMP="${T}"
+ ./bin/FreeCADCmd --run-test 0 --set-config AppHomePath="${BUILD_DIR}/" || die
+}
+
+src_install() {
+ cmake_src_install
+
+ dobin src/Tools/freecad-thumbnailer
+
+ if use gui; then
+ newbin - freecad <<- _EOF_
+ #!/bin/sh
+ # https://github.com/coin3d/coin/issues/451
+ : "\${QT_QPA_PLATFORM:=xcb}"
+ export QT_QPA_PLATFORM
+ exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}"
+ _EOF_
+ mv "${ED}"/usr/$(get_libdir)/${PN}/share/* "${ED}"/usr/share || die "failed to move shared resources"
+ fi
+ dosym -r /usr/$(get_libdir)/${PN}/bin/FreeCADCmd /usr/bin/freecadcmd
+
+ rm -r "${ED}"/usr/$(get_libdir)/${PN}/include/E57Format || die "failed to drop unneeded include directory E57Format"
+
+ python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
+ # compile main package in python site-packages as well
+ python_optimize
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ einfo "You can load a lot of additional workbenches using the integrated"
+ einfo "AddonManager."
+
+ einfo "There are a lot of additional tools, for which FreeCAD has builtin"
+ einfo "support. Some of them are available in Gentoo. Take a look at"
+ einfo "https://wiki.freecad.org/Installing_additional_components"
+ optfeature_header "External programs used by FreeCAD"
+ optfeature "dependency graphs" media-gfx/graphviz
+ optfeature "importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
+ optfeature "importing OpenSCAD files, Mesh booleans" media-gfx/openscad
+ use bim && optfeature "working with COLLADA documents" dev-python/pycollada
+ if use fem || use mesh; then
+ optfeature "mesh generation" sci-libs/gmsh
+ fi
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index 8bb35b34546c..fce4aa961fa8 100644
--- a/media-gfx/freecad/freecad-9999.ebuild
+++ b/media-gfx/freecad/freecad-9999.ebuild
@@ -26,17 +26,18 @@ fi
# examples are licensed CC-BY-SA (without note of specific version)
LICENSE="LGPL-2 CC-BY-SA-4.0"
SLOT="0"
-IUSE="debug designer +gui netgen pcl smesh spacenav test X"
+IUSE="debug designer +gui netgen pcl +smesh spacenav test X"
# Modules are found in src/Mod/ and their options defined in:
# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake
# To get their dependencies:
# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-IUSE+=" addonmgr bim cam cloud fem idf inspection mesh openscad points reverse robot surface +techdraw"
+IUSE+=" addonmgr assembly +bim cam cloud fem idf inspection +mesh openscad points reverse robot surface +techdraw"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
bim? ( mesh )
cam? ( mesh )
+ gui? ( bim )
designer? ( gui )
fem? ( smesh )
inspection? ( points )
@@ -45,6 +46,7 @@ REQUIRED_USE="
reverse? ( mesh points )
test? ( techdraw )
"
+# Draft Workbench needs BIM
RESTRICT="!test? ( test )"
@@ -64,6 +66,7 @@ RDEPEND="
dev-python/pybind11[${PYTHON_USEDEP}]
dev-python/pyyaml[${PYTHON_USEDEP}]
')
+ assembly? ( sci-libs/ondselsolver )
cloud? (
dev-libs/openssl:=
net-misc/curl
@@ -80,8 +83,7 @@ RDEPEND="
$(python_gen_cond_dep '
dev-python/matplotlib[${PYTHON_USEDEP}]
>=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6:=[designer,gui,svg,${PYTHON_USEDEP}]
- dev-python/shiboken6:=[${PYTHON_USEDEP}]
+ dev-python/pyside:6=[uitools(-),gui,svg,${PYTHON_USEDEP}]
' )
virtual/glu
virtual/opengl
@@ -146,12 +148,12 @@ src_configure() {
# Modules
-DBUILD_ADDONMGR=$(usex addonmgr)
- -DBUILD_ASSEMBLY=OFF # Requires OndselSolver
+ -DBUILD_ASSEMBLY=$(usex assembly)
-DBUILD_BIM=$(usex bim)
-DBUILD_CAM=$(usex cam)
-DBUILD_CLOUD=$(usex cloud)
-DBUILD_DRAFT=ON
- -DBUILD_DRAWING=OFF # Unmaintained and not ported to Qt 6
+ # see below for DRAWING
-DBUILD_FEM=$(usex fem)
-DBUILD_FEM_NETGEN=$(usex fem $(usex netgen))
-DBUILD_FLAT_MESH=$(usex mesh) # a submodule of MeshPart
@@ -189,6 +191,7 @@ src_configure() {
-DFREECAD_BUILD_DEBIAN=OFF
+ -DFREECAD_USE_EXTERNAL_ONDSELSOLVER=$(usex assembly)
-DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
-DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
-DFREECAD_USE_FREETYPE=ON
@@ -228,6 +231,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
)
fi
diff --git a/media-gfx/freecad/metadata.xml b/media-gfx/freecad/metadata.xml
index 35a605b4e6ef..7cc8bc2a327b 100644
--- a/media-gfx/freecad/metadata.xml
+++ b/media-gfx/freecad/metadata.xml
@@ -14,6 +14,10 @@
Build the addon manager module for automatic handling of 3rd
party addons
</flag>
+ <flag name="assembly">
+ Build the assembly module to create 3D models composed of several
+ distinguishable parts as a conformed machine.
+ </flag>
<flag name="bim">
Build the BIM module and workbench
</flag>
diff --git a/media-gfx/geeqie/geeqie-2.5.ebuild b/media-gfx/geeqie/geeqie-2.5.ebuild
index 8b572c0532f3..c5d6199a70b2 100644
--- a/media-gfx/geeqie/geeqie-2.5.ebuild
+++ b/media-gfx/geeqie/geeqie-2.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ SRC_URI="https://github.com/BestImageViewer/${PN}/releases/download/v${PV}/${P}.
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc x86"
IUSE="debug djvu exif ffmpegthumbnailer heif jpeg jpeg2k jpegxl lcms lua map pdf raw spell tiff webp xmp zip"
RDEPEND="gnome-extra/zenity
diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest
index b19973e7b755..6cc41942d6a9 100644
--- a/media-gfx/gimp/Manifest
+++ b/media-gfx/gimp/Manifest
@@ -1,5 +1,3 @@
-DIST gimp-2.10.34.tar.bz2 31405329 BLAKE2B 0b2d3a81abf89684bb90e2101896db3479a25c5da76738543dba8d0378e64608eee9aeb24888e15f5e347f72fa1df3e9b82aa27e503ee61d1c4d45d44fa7bddc SHA512 4802ce3758daba868570f1ac97a3f1cb41e1130fcc6376f9bf4c999441f8fd25937aa71b6f726d82d7c780f4153b11d2595bb76bc2356a42266909fbcc0bd34a
-DIST gimp-2.10.36.tar.bz2 31532334 BLAKE2B d033cd1407df3399b5968b7e3f7838d288143080b516476a5dd46599b6a84ac2efca591521368cef7a1c3d9935b45ed3262fb469e1ae36ccf60a1199f5cfa44d SHA512 dbe6152ea6ff99cca59bbf2c88a64fb4ff6b529d98ace7723eadf5dfb0e10d9cbaf2de1e0d5251e9ecf9abca73da9ae1a501f229997802fd4077fb9594f4ba66
DIST gimp-2.10.38.tar.bz2 31698453 BLAKE2B 58c29e3e00d873e69a5e5f4e9c3ff4d868ccfb11914570306ef12c54ca7d3ef89a62d8c71fac1f2d1f426ac615dc4caf7a7260351c00301dce2b1aa4193bab6d SHA512 343bf1c3bd14bf8e7c7af79c05920faca213da68549127c1d8af53e2e872e55aeaf39a3cfcf578183a34fdc4f98e1c859be63956b0611067186eefd1fdee2aaa
-DIST gimp-2.99.18.tar.xz 25418968 BLAKE2B ccb76bb5c375925d4d71505f3e1546f05ba0e20533859b1b6250a4d9054efb6bec4927a5e0c525272fa24d5a6bdf4fb7881d60a1d34b1210ee38b90e661ef707 SHA512 151ccd0322601e76ed0198b40832ab0b6c138428f2e75806dd558e29c9b3437d9226a243142bf4a86113fa5ea4f5965b99cf7cd0ab0ecb7bdfc48036de35a9c6
DIST gimp-3.0.0-RC1.tar.xz 28863948 BLAKE2B d9e1ae51809d1c8e5084a9e85b660cd0f3a763f8ee220075fe73f512940e9637d50675a06d0dca88c501571a26404cb6b53c9573348002586143c52736dfa196 SHA512 844896976b66b0498ba9149c7176f5442b2305fd3dc51fce7ff92eb05b7b0f86f16d0bd16e50a3c43ab2c6b9be4e610dbbfc50a99c84a62a4de80a6937d43985
+DIST gimp-3.0.0-RC2.tar.xz 26980968 BLAKE2B 56b98a7863df22cf81015a9da5d7535cfef5a154c47418b1b6c6212cc76423e0769a4aa8d76714d2eb22595b1f6e2c623e4444e35675db5fe7e40c8820fe71dd SHA512 c0a6e096d954f3048cb68fe4ff71dd2f49c802f800014ab8a3089a0e097e7d6f595e5716230c06e7edfddba948f0d01da14800935aa6ceb9dc2e12fb7f19d7e6
diff --git a/media-gfx/gimp/files/gimp-2.10.36_fix_strict-aliasing.patch b/media-gfx/gimp/files/gimp-2.10.36_fix_strict-aliasing.patch
deleted file mode 100644
index 2acf31361278..000000000000
--- a/media-gfx/gimp/files/gimp-2.10.36_fix_strict-aliasing.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-Gentoo issue: https://bugs.gentoo.org/917497
-Upstream issue: https://gitlab.gnome.org/GNOME/gimp/-/issues/10359
-Upstream patch:
-
-From b45a304df4f038eccb64e098f3643ae35d8f3e77 Mon Sep 17 00:00:00 2001
-From: Alx Sa <cmyk.student@gmail.com>
-Date: Sun, 19 Nov 2023 13:54:00 +0000
-Subject: [PATCH] core: Fix strict-aliasing error on ASE load
-
-Resolves #10359
-
-When compiled with -Werror=strict-aliasing, the build fails
-on this line due to converting pointer datatypes.
-This patch switches to using memcpy () instead.
----
- app/core/gimppalette-load.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/app/core/gimppalette-load.c b/app/core/gimppalette-load.c
-index 7605b92fcfb..e9813ebb168 100644
---- a/app/core/gimppalette-load.c
-+++ b/app/core/gimppalette-load.c
-@@ -1095,7 +1095,7 @@ gimp_palette_load_ase (GimpContext *context,
-
- /* Convert 4 bytes to a 32bit float value */
- tmp = GINT32_FROM_BE (tmp);
-- pixels[j] = *(gfloat *) &tmp;
-+ memcpy (&pixels[j], &tmp, 4);
- }
-
- if (! valid_color)
---
-GitLab
-
diff --git a/media-gfx/gimp/gimp-2.10.34-r3.ebuild b/media-gfx/gimp/gimp-2.10.34-r3.ebuild
deleted file mode 100644
index d1af397feaf9..000000000000
--- a/media-gfx/gimp/gimp-2.10.34-r3.ebuild
+++ /dev/null
@@ -1,219 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-GNOME2_EAUTORECONF=yes
-WANT_AUTOMAKE=
-
-inherit autotools gnome2 toolchain-funcs virtualx
-
-DESCRIPTION="GNU Image Manipulation Program"
-HOMEPAGE="https://www.gimp.org/"
-SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2"
-LICENSE="GPL-3+ LGPL-3+"
-SLOT="0/2"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86"
-
-IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse"
-
-RESTRICT="!test? ( test )"
-
-COMMON_DEPEND="
- >=app-accessibility/at-spi2-core-2.46.0
- >=app-text/poppler-0.50[cairo]
- >=app-text/poppler-data-0.4.7
- >=dev-libs/glib-2.56.2:2
- >=dev-libs/json-glib-1.2.6
- dev-libs/libxml2:2
- dev-libs/libxslt
- >=gnome-base/librsvg-2.40.6:2
- >=media-gfx/mypaint-brushes-2.0.2:=
- >=media-libs/babl-0.1.98
- >=media-libs/fontconfig-2.12.4
- >=media-libs/freetype-2.1.7
- >=media-libs/gegl-0.4.40:0.4[cairo]
- >=media-libs/gexiv2-0.10.6
- >=media-libs/harfbuzz-0.9.19:=
- >=media-libs/lcms-2.8:2
- media-libs/libjpeg-turbo:=
- >=media-libs/libmypaint-1.6.1:=
- >=media-libs/libpng-1.6.25:0=
- >=media-libs/tiff-3.5.7:=
- net-libs/glib-networking[ssl]
- sys-libs/zlib
- >=x11-libs/cairo-1.12.2
- >=x11-libs/gdk-pixbuf-2.31:2
- >=x11-libs/gtk+-2.24.32:2
- x11-libs/libXcursor
- >=x11-libs/pango-1.29.4
- aalib? ( media-libs/aalib )
- alsa? ( >=media-libs/alsa-lib-1.0.0 )
- aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 )
- heif? ( >=media-libs/libheif-1.9.1:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
- jpegxl? ( >=media-libs/libjxl-0.7.0:= )
- mng? ( media-libs/libmng:= )
- openexr? ( >=media-libs/openexr-1.6.1:= )
- postscript? ( app-text/ghostscript-gpl:= )
- udev? ( dev-libs/libgudev:= )
- unwind? ( >=sys-libs/libunwind-1.1.0:= )
- webp? ( >=media-libs/libwebp-0.6.0:= )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- xpm? ( x11-libs/libXpm )
-"
-
-RDEPEND="
- ${COMMON_DEPEND}
- x11-themes/hicolor-icon-theme
- gnome? ( gnome-base/gvfs )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- >=dev-lang/perl-5.10.0
- dev-libs/appstream-glib
- >=dev-build/gtk-doc-am-1
- dev-util/gtk-update-icon-cache
- >=dev-util/intltool-0.40.1
- >=sys-devel/gettext-0.19
- >=dev-build/libtool-2.2
- virtual/pkgconfig
-"
-
-DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" )
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070)
- "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148
- "${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796
-)
-
-src_prepare() {
- sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794
-
- sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
- sed 's/-DGIMP_DISABLE_DEPRECATED/-DGIMP_protect_DISABLE_DEPRECATED/g' -i configure.ac || die #615144
-
- if use heif ; then
- has_version -d ">=media-libs/libheif-1.18.0" && eapply "${FILESDIR}/${PN}-2.10_libheif-1.18_unconditional_compat.patch" # 940915
- fi
-
- gnome2_src_prepare # calls eautoreconf
-
- sed 's/-DGIMP_protect_DISABLE_DEPRECATED/-DGIMP_DISABLE_DEPRECATED/g' -i configure || die #615144
- grep -F -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-}
-
-_adjust_sandbox() {
- # Bugs #569738 and #591214
- local nv
- for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do
- # We do not check for existence as they may show up later
- # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21
- addwrite "${nv}"
- done
-
- addwrite /dev/dri/ # bugs #574038 and #684886
- addwrite /dev/ati/ # bug #589198
- addwrite /proc/mtrr # bug #589198
-}
-
-src_configure() {
- _adjust_sandbox
-
- local myconf=(
- GEGL="${EPREFIX}"/usr/bin/gegl-0.4
- GDBUS_CODEGEN="${EPREFIX}"/bin/false
-
- --enable-default-binary
-
- --disable-check-update
- --disable-python
- --enable-mp
- --with-appdata-test
- --with-bug-report-url=https://bugs.gentoo.org/
- --with-xmc
- --without-libbacktrace
- --without-webkit
- --without-xvfb-run
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_x86_mmx mmx)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable debug)
- $(use_enable vector-icons)
- $(use_with aalib aa)
- $(use_with alsa)
- $(use_with !aqua x)
- $(use_with heif libheif)
- $(use_with jpeg2k jpeg2000)
- $(use_with jpegxl)
- $(use_with mng libmng)
- $(use_with openexr)
- $(use_with postscript gs)
- $(use_with udev gudev)
- $(use_with unwind libunwind)
- $(use_with webp)
- $(use_with wmf)
- $(use_with xpm libxpm)
- )
-
- gnome2_src_configure "${myconf[@]}"
-}
-
-src_compile() {
- export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004
- gnome2_src_compile
-}
-
-# for https://bugs.gentoo.org/664938
-_rename_plugins() {
- einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
- local prename=gimp-org-
- (
- cd "${ED}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die
- for plugin_slash in $(ls -d1 */); do
- plugin=${plugin_slash%/}
- if [[ -f ${plugin}/${plugin} ]]; then
- # NOTE: Folder and file name need to match for Gimp to load that plug-in
- # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg"
- mv ${plugin}/{,${prename}}${plugin} || die
- mv {,${prename}}${plugin} || die
- fi
- done
- )
-}
-
-src_test() {
- virtx emake check
-}
-
-src_install() {
- gnome2_src_install
-
- # Workaround for bug #321111 to give GIMP the least
- # precedence on PDF documents by default
- mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- local gimp_app_version=$(ver_cut 1-2)
- mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
-
- # Remove gimp devel-docs html files if user doesn't need it
- if ! use doc; then
- rm -r "${ED}"/usr/share/gtk-doc || die
- fi
-
- _rename_plugins || die
-}
-
-pkg_postinst() {
- gnome2_pkg_postinst
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-}
diff --git a/media-gfx/gimp/gimp-2.10.36-r3.ebuild b/media-gfx/gimp/gimp-2.10.36-r3.ebuild
deleted file mode 100644
index e0082d3fdfdb..000000000000
--- a/media-gfx/gimp/gimp-2.10.36-r3.ebuild
+++ /dev/null
@@ -1,218 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-GNOME2_EAUTORECONF=yes
-WANT_AUTOMAKE=
-
-inherit autotools gnome2 toolchain-funcs virtualx
-
-DESCRIPTION="GNU Image Manipulation Program"
-HOMEPAGE="https://www.gimp.org/"
-SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2"
-LICENSE="GPL-3+ LGPL-3+"
-SLOT="0/2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86"
-
-IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=app-accessibility/at-spi2-core-2.46.0
- >=app-text/poppler-0.50[cairo]
- >=app-text/poppler-data-0.4.7
- >=dev-libs/glib-2.56.2:2
- >=dev-libs/json-glib-1.2.6
- dev-libs/libxml2:2
- dev-libs/libxslt
- >=gnome-base/librsvg-2.40.6:2
- >=media-gfx/mypaint-brushes-2.0.2:=
- >=media-libs/babl-0.1.98
- >=media-libs/fontconfig-2.12.4
- >=media-libs/freetype-2.1.7
- >=media-libs/gegl-0.4.40:0.4[cairo]
- >=media-libs/gexiv2-0.10.6
- >=media-libs/harfbuzz-0.9.19:=
- >=media-libs/lcms-2.8:2
- media-libs/libjpeg-turbo:=
- >=media-libs/libmypaint-1.6.1:=
- >=media-libs/libpng-1.6.25:0=
- >=media-libs/tiff-3.5.7:=
- net-libs/glib-networking[ssl]
- sys-libs/zlib
- >=x11-libs/cairo-1.12.2
- >=x11-libs/gdk-pixbuf-2.31:2
- >=x11-libs/gtk+-2.24.32:2
- x11-libs/libXcursor
- >=x11-libs/pango-1.29.4
- aalib? ( media-libs/aalib )
- alsa? ( >=media-libs/alsa-lib-1.0.0 )
- aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 )
- heif? ( >=media-libs/libheif-1.9.1:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
- jpegxl? ( >=media-libs/libjxl-0.7.0:= )
- mng? ( media-libs/libmng:= )
- openexr? ( >=media-libs/openexr-1.6.1:= )
- postscript? ( app-text/ghostscript-gpl:= )
- udev? ( dev-libs/libgudev:= )
- unwind? ( >=sys-libs/libunwind-1.1.0:= )
- webp? ( >=media-libs/libwebp-0.6.0:= )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- xpm? ( x11-libs/libXpm )
-"
-
-RDEPEND="
- ${DEPEND}
- x11-themes/hicolor-icon-theme
- gnome? ( gnome-base/gvfs )
-"
-
-BDEPEND="
- >=dev-lang/perl-5.10.0
- dev-libs/appstream-glib
- >=dev-build/gtk-doc-am-1
- dev-util/gtk-update-icon-cache
- >=dev-util/intltool-0.40.1
- >=sys-devel/gettext-0.19.8
- >=dev-build/libtool-2.2
- virtual/pkgconfig
-"
-
-DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" )
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070)
- "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148
- "${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796
-)
-
-src_prepare() {
- sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794
-
- sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
- sed 's/-DGIMP_DISABLE_DEPRECATED/-DGIMP_protect_DISABLE_DEPRECATED/g' -i configure.ac || die #615144
-
- if use heif ; then
- has_version -d ">=media-libs/libheif-1.18.0" && eapply "${FILESDIR}/${PN}-2.10_libheif-1.18_unconditional_compat.patch" # 940915
- fi
-
- gnome2_src_prepare # calls eautoreconf
-
- sed 's/-DGIMP_protect_DISABLE_DEPRECATED/-DGIMP_DISABLE_DEPRECATED/g' -i configure || die #615144
- grep -F -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-}
-
-_adjust_sandbox() {
- # Bugs #569738 and #591214
- local nv
- for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do
- # We do not check for existence as they may show up later
- # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21
- addwrite "${nv}"
- done
-
- addwrite /dev/dri/ # bugs #574038 and #684886
- addwrite /dev/ati/ # bug #589198
- addwrite /proc/mtrr # bug #589198
-}
-
-src_configure() {
- _adjust_sandbox
-
- local myconf=(
- GEGL="${EPREFIX}"/usr/bin/gegl-0.4
- GDBUS_CODEGEN="${EPREFIX}"/bin/false
-
- --enable-default-binary
-
- --disable-check-update
- --disable-python
- --enable-mp
- --with-appdata-test
- --with-bug-report-url=https://bugs.gentoo.org/
- --with-xmc
- --without-libbacktrace
- --without-webkit
- --without-xvfb-run
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_x86_mmx mmx)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable debug)
- $(use_enable vector-icons)
- $(use_with aalib aa)
- $(use_with alsa)
- $(use_with !aqua x)
- $(use_with heif libheif)
- $(use_with jpeg2k jpeg2000)
- $(use_with jpegxl)
- $(use_with mng libmng)
- $(use_with openexr)
- $(use_with postscript gs)
- $(use_with udev gudev)
- $(use_with unwind libunwind)
- $(use_with webp)
- $(use_with wmf)
- $(use_with xpm libxpm)
- )
-
- gnome2_src_configure "${myconf[@]}"
-}
-
-src_compile() {
- export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004
- gnome2_src_compile
-}
-
-# for https://bugs.gentoo.org/664938
-_rename_plugins() {
- einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
- local prename=gimp-org-
- (
- cd "${ED}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die
- for plugin_slash in $(ls -d1 */); do
- plugin=${plugin_slash%/}
- if [[ -f ${plugin}/${plugin} ]]; then
- # NOTE: Folder and file name need to match for Gimp to load that plug-in
- # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg"
- mv ${plugin}/{,${prename}}${plugin} || die
- mv {,${prename}}${plugin} || die
- fi
- done
- )
-}
-
-src_test() {
- virtx emake check
-}
-
-src_install() {
- gnome2_src_install
-
- # Workaround for bug #321111 to give GIMP the least
- # precedence on PDF documents by default
- mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- local gimp_app_version=$(ver_cut 1-2)
- mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
-
- # Remove gimp devel-docs html files if user doesn't need it
- if ! use doc; then
- rm -r "${ED}"/usr/share/gtk-doc || die
- fi
-
- _rename_plugins || die
-}
-
-pkg_postinst() {
- gnome2_pkg_postinst
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-}
diff --git a/media-gfx/gimp/gimp-2.10.36-r4.ebuild b/media-gfx/gimp/gimp-2.10.36-r4.ebuild
deleted file mode 100644
index 1acf5d818486..000000000000
--- a/media-gfx/gimp/gimp-2.10.36-r4.ebuild
+++ /dev/null
@@ -1,221 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-GNOME2_EAUTORECONF=yes
-WANT_AUTOMAKE=
-
-inherit autotools gnome2 toolchain-funcs virtualx
-
-DESCRIPTION="GNU Image Manipulation Program"
-HOMEPAGE="https://www.gimp.org/"
-SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2"
-LICENSE="GPL-3+ LGPL-3+"
-SLOT="0/2"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse"
-
-RESTRICT="!test? ( test )"
-
-DEPEND="
- >=app-accessibility/at-spi2-core-2.46.0
- >=app-text/poppler-0.50[cairo]
- >=app-text/poppler-data-0.4.7
- >=dev-libs/glib-2.56.2:2
- >=dev-libs/json-glib-1.2.6
- dev-libs/libxml2:2
- dev-libs/libxslt
- >=gnome-base/librsvg-2.40.6:2
- >=media-gfx/mypaint-brushes-2.0.2:=
- >=media-libs/babl-0.1.98
- >=media-libs/fontconfig-2.12.4
- >=media-libs/freetype-2.1.7
- >=media-libs/gegl-0.4.40:0.4[cairo]
- >=media-libs/gexiv2-0.10.6
- >=media-libs/harfbuzz-0.9.19:=
- >=media-libs/lcms-2.8:2
- media-libs/libjpeg-turbo:=
- >=media-libs/libmypaint-1.6.1:=
- >=media-libs/libpng-1.6.25:0=
- >=media-libs/tiff-3.5.7:=
- net-libs/glib-networking[ssl]
- sys-libs/zlib
- >=x11-libs/cairo-1.12.2
- >=x11-libs/gdk-pixbuf-2.31:2
- >=x11-libs/gtk+-2.24.32:2
- x11-libs/libXcursor
- >=x11-libs/pango-1.29.4
- aalib? ( media-libs/aalib )
- alsa? ( >=media-libs/alsa-lib-1.0.0 )
- aqua? ( >=x11-libs/gtk-mac-integration-2.0.0 )
- heif? ( >=media-libs/libheif-1.9.1:= )
- jpeg2k? ( >=media-libs/openjpeg-2.1.0:2= )
- jpegxl? ( >=media-libs/libjxl-0.7.0:= )
- mng? ( media-libs/libmng:= )
- openexr? ( >=media-libs/openexr-1.6.1:= )
- postscript? ( app-text/ghostscript-gpl:= )
- udev? ( dev-libs/libgudev:= )
- unwind? ( >=sys-libs/libunwind-1.1.0:= )
- webp? ( >=media-libs/libwebp-0.6.0:= )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- xpm? ( x11-libs/libXpm )
-"
-
-RDEPEND="
- ${DEPEND}
- x11-themes/hicolor-icon-theme
- gnome? ( gnome-base/gvfs )
-"
-
-BDEPEND="
- >=dev-lang/perl-5.10.0
- dev-libs/appstream-glib
- >=dev-build/gtk-doc-am-1
- dev-util/gtk-update-icon-cache
- >=dev-util/intltool-0.40.1
- >=sys-devel/gettext-0.19.8
- >=dev-build/libtool-2.2
- virtual/pkgconfig
-"
-
-DOCS=( "AUTHORS" "ChangeLog" "HACKING" "NEWS" "README" "README.i18n" )
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.10_fix_test-appdata.patch" # Bugs 685210 (and duplicate 691070)
- "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148
- "${FILESDIR}/${PN}-2.10_fix_configure_GCC13_implicit_function_declarations.patch" #899796
- "${FILESDIR}/${P}_fix_strict-aliasing.patch" #917497
- "${FILESDIR}/${P}_c99_tiff.patch" #919282
- "${FILESDIR}/${P}_c99_metadata.patch" #919282
-)
-
-src_prepare() {
- sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' configure.ac || die #737794
-
- sed -i -e 's/== "xquartz"/= "xquartz"/' configure.ac || die #494864
- sed 's/-DGIMP_DISABLE_DEPRECATED/-DGIMP_protect_DISABLE_DEPRECATED/g' -i configure.ac || die #615144
-
- if use heif ; then
- has_version -d ">=media-libs/libheif-1.18.0" && eapply "${FILESDIR}/${PN}-2.10_libheif-1.18_unconditional_compat.patch" # 940915
- fi
-
- gnome2_src_prepare # calls eautoreconf
-
- sed 's/-DGIMP_protect_DISABLE_DEPRECATED/-DGIMP_DISABLE_DEPRECATED/g' -i configure || die #615144
- grep -F -q GIMP_DISABLE_DEPRECATED configure || die #615144, self-test
-
- export CC_FOR_BUILD="$(tc-getBUILD_CC)"
-}
-
-_adjust_sandbox() {
- # Bugs #569738 and #591214
- local nv
- for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do
- # We do not check for existence as they may show up later
- # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21
- addwrite "${nv}"
- done
-
- addwrite /dev/dri/ # bugs #574038 and #684886
- addwrite /dev/ati/ # bug #589198
- addwrite /proc/mtrr # bug #589198
-}
-
-src_configure() {
- _adjust_sandbox
-
- local myconf=(
- GEGL="${EPREFIX}"/usr/bin/gegl-0.4
- GDBUS_CODEGEN="${EPREFIX}"/bin/false
-
- --enable-default-binary
-
- --disable-check-update
- --disable-python
- --enable-mp
- --with-appdata-test
- --with-bug-report-url=https://bugs.gentoo.org/
- --with-xmc
- --without-libbacktrace
- --without-webkit
- --without-xvfb-run
- $(use_enable cpu_flags_ppc_altivec altivec)
- $(use_enable cpu_flags_x86_mmx mmx)
- $(use_enable cpu_flags_x86_sse sse)
- $(use_enable debug)
- $(use_enable vector-icons)
- $(use_with aalib aa)
- $(use_with alsa)
- $(use_with !aqua x)
- $(use_with heif libheif)
- $(use_with jpeg2k jpeg2000)
- $(use_with jpegxl)
- $(use_with mng libmng)
- $(use_with openexr)
- $(use_with postscript gs)
- $(use_with udev gudev)
- $(use_with unwind libunwind)
- $(use_with webp)
- $(use_with wmf)
- $(use_with xpm libxpm)
- )
-
- gnome2_src_configure "${myconf[@]}"
-}
-
-src_compile() {
- export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004
- gnome2_src_compile
-}
-
-# for https://bugs.gentoo.org/664938
-_rename_plugins() {
- einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
- local prename=gimp-org-
- (
- cd "${ED}"/usr/$(get_libdir)/gimp/2.0/plug-ins || die
- for plugin_slash in $(ls -d1 */); do
- plugin=${plugin_slash%/}
- if [[ -f ${plugin}/${plugin} ]]; then
- # NOTE: Folder and file name need to match for Gimp to load that plug-in
- # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg"
- mv ${plugin}/{,${prename}}${plugin} || die
- mv {,${prename}}${plugin} || die
- fi
- done
- )
-}
-
-src_test() {
- virtx emake check
-}
-
-src_install() {
- gnome2_src_install
-
- # Workaround for bug #321111 to give GIMP the least
- # precedence on PDF documents by default
- mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
-
- find "${ED}" -name '*.la' -type f -delete || die
-
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- local gimp_app_version=$(ver_cut 1-2)
- mv "${ED}"/usr/share/man/man1/gimp-console{-${gimp_app_version},}.1 || die
-
- # Remove gimp devel-docs html files if user doesn't need it
- if ! use doc; then
- rm -r "${ED}"/usr/share/gtk-doc || die
- fi
-
- _rename_plugins || die
-}
-
-pkg_postinst() {
- gnome2_pkg_postinst
-}
-
-pkg_postrm() {
- gnome2_pkg_postrm
-}
diff --git a/media-gfx/gimp/gimp-2.10.38-r1.ebuild b/media-gfx/gimp/gimp-2.10.38-r1.ebuild
index 89d2bf00caac..74d5c6cb1ae3 100644
--- a/media-gfx/gimp/gimp-2.10.38-r1.ebuild
+++ b/media-gfx/gimp/gimp-2.10.38-r1.ebuild
@@ -1,18 +1,18 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
GNOME2_EAUTORECONF=yes
WANT_AUTOMAKE=
-inherit autotools gnome2 toolchain-funcs virtualx
+inherit autotools flag-o-matic gnome2 toolchain-funcs virtualx
DESCRIPTION="GNU Image Manipulation Program"
HOMEPAGE="https://www.gimp.org/"
SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.bz2"
LICENSE="GPL-3+ LGPL-3+"
SLOT="0/2"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv x86"
IUSE="aalib alsa aqua debug doc gnome heif jpeg2k jpegxl mng openexr postscript udev unwind vector-icons webp wmf xpm cpu_flags_ppc_altivec cpu_flags_x86_mmx cpu_flags_x86_sse"
@@ -134,6 +134,9 @@ _adjust_sandbox() {
src_configure() {
_adjust_sandbox
+ # bug #944284 (https://gitlab.gnome.org/GNOME/gimp/-/issues/12843)
+ append-cflags -std=gnu17
+
local myconf=(
GEGL="${EPREFIX}"/usr/bin/gegl-0.4
GDBUS_CODEGEN="${EPREFIX}"/bin/false
diff --git a/media-gfx/gimp/gimp-2.99.18-r1.ebuild b/media-gfx/gimp/gimp-2.99.18-r1.ebuild
deleted file mode 100644
index a206f158550c..000000000000
--- a/media-gfx/gimp/gimp-2.99.18-r1.ebuild
+++ /dev/null
@@ -1,269 +0,0 @@
-# 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..12} )
-VALA_USE_DEPEND=vapigen
-
-inherit lua-single meson python-single-r1 toolchain-funcs vala xdg
-
-DESCRIPTION="GNU Image Manipulation Program"
-HOMEPAGE="https://www.gimp.org/"
-SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.xz"
-
-LICENSE="GPL-3+ LGPL-3+"
-SLOT="0/3"
-
-IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript python test udev unwind vala vector-icons webp wmf xpm"
-REQUIRED_USE="
- lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
-"
-
-RESTRICT="!test? ( test )"
-
-# media-libs/{babl,gegl} are required to be built with USE="introspection"
-# to fix the compilation checking of /usr/share/gir-1.0/{Babl-0.1gir,Gegl-0.4.gir}
-COMMON_DEPEND="
- >=app-accessibility/at-spi2-core-2.46.0
- >=app-text/poppler-0.90.1[cairo]
- >=app-text/poppler-data-0.4.9
- >=dev-libs/appstream-glib-0.7.16
- >=dev-libs/glib-2.70.0:2
- >=dev-libs/json-glib-1.4.4
- dev-libs/libxml2:2
- dev-libs/libxslt
- >=gnome-base/librsvg-2.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.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
- media-libs/libjpeg-turbo:=
- >=media-libs/libmypaint-1.6.1:=
- >=media-libs/libpng-1.6.37:0=
- >=media-libs/tiff-4.1.0:=
- net-libs/glib-networking[ssl]
- sys-libs/zlib
- >=x11-libs/cairo-1.16.0
- >=x11-libs/gdk-pixbuf-2.40.0:2[introspection]
- >=x11-libs/gtk+-3.24.16:3[introspection]
- >=x11-libs/pango-1.50.0
- >=x11-libs/libXmu-1.1.4
- aalib? ( media-libs/aalib )
- alsa? ( >=media-libs/alsa-lib-1.0.0 )
- fits? ( sci-libs/cfitsio )
- heif? ( >=media-libs/libheif-1.13.0:= )
- javascript? ( dev-libs/gjs )
- jpeg2k? ( >=media-libs/openjpeg-2.3.1:2= )
- jpegxl? ( >=media-libs/libjxl-0.6.1:= )
- lua? (
- ${LUA_DEPS}
- $(lua_gen_cond_dep '
- dev-lua/lgi[${LUA_USEDEP}]
- ')
- )
- mng? ( media-libs/libmng:= )
- openexr? ( >=media-libs/openexr-2.3.0:= )
- postscript? ( app-text/ghostscript-gpl:= )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}]
- ')
- )
- udev? ( >=dev-libs/libgudev-167:= )
- unwind? ( >=sys-libs/libunwind-1.1.0:= )
- webp? ( >=media-libs/libwebp-0.6.0:= )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- X? ( x11-libs/libXcursor )
- xpm? ( x11-libs/libXpm )
-"
-
-RDEPEND="
- ${COMMON_DEPEND}
- x11-themes/hicolor-icon-theme
- gnome? ( gnome-base/gvfs )
-"
-
-DEPEND="
- ${COMMON_DEPEND}
- test? ( x11-misc/xvfb-run )
- vala? ( $(vala_depend) )
-"
-
-# TODO: there are probably more atoms in DEPEND which should be in BDEPEND now
-BDEPEND="
- >=dev-lang/perl-5.30.3
- dev-util/gdbus-codegen
- >=sys-devel/gettext-0.21
- doc? (
- app-text/yelp-tools
- dev-libs/gobject-introspection[doctool]
- dev-util/gi-docgen
- )
- virtual/pkgconfig
-"
-
-DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" )
-
-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
- python-single-r1_pkg_setup
- fi
-}
-
-src_prepare() {
- default
-
- sed -i -e 's/mypaint-brushes-1.0/mypaint-brushes-2.0/' meson.build || die #737794
-
- # Fix Gimp and GimpUI devel doc installation paths
- sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp/meson.build || die
- sed -i -e "s/'doc'/'gtk-doc'/" devel-docs/reference/gimp-ui/meson.build || die
-
- # Fix pygimp.interp python implementation path.
- # Meson @PYTHON_PATH@ use sandbox path e.g.:
- # '/var/tmp/portage/media-gfx/gimp-2.99.12/temp/python3.10/bin/python3'
- sed -i -e 's/@PYTHON_PATH@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die
-
- # Set proper intallation path of documentation logo
- sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" data/images/meson.build || die
-}
-
-_adjust_sandbox() {
- # Bugs #569738 and #591214
- local nv
- for nv in /dev/nvidia-uvm /dev/nvidiactl /dev/nvidia{0..9} ; do
- # We do not check for existence as they may show up later
- # https://bugs.gentoo.org/show_bug.cgi?id=569738#c21
- addwrite "${nv}"
- done
-
- addwrite /dev/dri/ # bugs #574038 and #684886
- addwrite /dev/ati/ # bug #589198
- addwrite /proc/mtrr # bug #589198
-}
-
-src_configure() {
- _adjust_sandbox
-
- use vala && vala_setup
-
- local emesonargs=(
- -Denable-default-bin=enabled
-
- -Dcheck-update=no
- -Denable-multiproc=true
- -Dappdata-test=disabled
- -Dbug-report-url=https://bugs.gentoo.org/
- -Dilbm=disabled
- -Dlibbacktrace=false
- -Dwebkit-unmaintained=false
- $(meson_feature aalib aa)
- $(meson_feature alsa)
- $(meson_feature doc gi-docgen)
- $(meson_feature fits)
- $(meson_feature heif)
- $(meson_feature javascript)
- $(meson_feature jpeg2k jpeg2000)
- $(meson_feature jpegxl jpeg-xl)
- $(meson_feature lua)
- $(meson_feature mng)
- $(meson_feature openexr)
- $(meson_feature openmp)
- $(meson_feature postscript ghostscript)
- $(meson_feature python)
- $(meson_feature test headless-tests)
- $(meson_feature udev gudev)
- $(meson_feature vala)
- $(meson_feature webp)
- $(meson_feature wmf)
- $(meson_feature X xcursor)
- $(meson_feature xpm)
- $(meson_use doc g-ir-doc)
- $(meson_use unwind libunwind)
- $(meson_use vector-icons)
- )
-
- meson_src_configure
-}
-
-src_compile() {
- export XDG_DATA_DIRS="${EPREFIX}"/usr/share # bug 587004
- meson_src_compile
-}
-
-# for https://bugs.gentoo.org/664938
-_rename_plugins() {
- einfo 'Renaming plug-ins to not collide with pre-2.10.6 file layout (bug #664938)...'
- local prename=gimp-org-
- (
- cd "${ED}"/usr/$(get_libdir)/gimp/2.99/plug-ins || exit 1
- for plugin_slash in $(ls -d1 */); do
- plugin=${plugin_slash%/}
- if [[ -f ${plugin}/${plugin} ]]; then
- # NOTE: Folder and file name need to match for Gimp to load that plug-in
- # so "file-svg/file-svg" becomes "${prename}file-svg/${prename}file-svg"
- mv ${plugin}/{,${prename}}${plugin} || exit 1
- mv {,${prename}}${plugin} || exit 1
- fi
- done
- )
-}
-
-src_test() {
- local -x LD_LIBRARY_PATH="${BUILD_DIR}/libgimp:${LD_LIBRARY_PATH}"
- meson_src_test
-}
-
-src_install() {
- meson_src_install
-
- if use python; then
- python_optimize
- fi
-
- # Workaround for bug #321111 to give GIMP the least
- # precedence on PDF documents by default
- mv "${ED}"/usr/share/applications/{,zzz-}gimp.desktop || die
-
- find "${D}" -name '*.la' -type f -delete || die
-
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- mv "${ED}"/usr/share/man/man1/gimp-console{-*,}.1 || die
-
- # Create symlinks for Gimp exec in /usr/bin
- dosym "${ESYSROOT}"/usr/bin/gimp-2.99 /usr/bin/gimp
- dosym "${ESYSROOT}"/usr/bin/gimp-console-2.99 /usr/bin/gimp-console
- dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter
- dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-2.99 /usr/bin/gimp-test-clipboard
- dosym "${ESYSROOT}"/usr/bin/gimptool-2.99 /usr/bin/gimptool
-
- _rename_plugins || die
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-gfx/gimp/gimp-3.0.0_rc1.ebuild b/media-gfx/gimp/gimp-3.0.0_rc1.ebuild
index 00639d92cbe4..88005560e5f9 100644
--- a/media-gfx/gimp/gimp-3.0.0_rc1.ebuild
+++ b/media-gfx/gimp/gimp-3.0.0_rc1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ LUA_COMPAT=( luajit )
PYTHON_COMPAT=( python3_{10..13} )
VALA_USE_DEPEND=vapigen
-inherit lua-single meson python-single-r1 toolchain-funcs vala xdg
+inherit lua-single flag-o-matic meson python-single-r1 toolchain-funcs vala xdg
DESCRIPTION="GNU Image Manipulation Program"
HOMEPAGE="https://www.gimp.org/"
@@ -162,6 +162,9 @@ _adjust_sandbox() {
src_configure() {
_adjust_sandbox
+ # bug #944284 (https://gitlab.gnome.org/GNOME/gimp/-/issues/12843)
+ append-cflags -std=gnu17
+
use vala && vala_setup
local emesonargs=(
diff --git a/media-gfx/gimp/gimp-2.99.18-r2.ebuild b/media-gfx/gimp/gimp-3.0.0_rc2.ebuild
index 9166dcd6ee43..4fb8488213ef 100644
--- a/media-gfx/gimp/gimp-2.99.18-r2.ebuild
+++ b/media-gfx/gimp/gimp-3.0.0_rc2.ebuild
@@ -1,25 +1,26 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VALA_USE_DEPEND=vapigen
-inherit lua-single meson python-single-r1 toolchain-funcs vala xdg
+inherit lua-single flag-o-matic meson python-single-r1 toolchain-funcs vala xdg
DESCRIPTION="GNU Image Manipulation Program"
HOMEPAGE="https://www.gimp.org/"
-SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${P}.tar.xz"
+SRC_URI="mirror://gimp/v$(ver_cut 1-2)/${PN}-$(ver_cut 1-3)-RC2.tar.xz"
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)-RC2"
LICENSE="GPL-3+ LGPL-3+"
SLOT="0/3"
-IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript python test udev unwind vala vector-icons webp wmf xpm"
+IUSE="X aalib alsa doc fits gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript test udev unwind vala vector-icons webp wmf xpm"
REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
lua? ( ${LUA_REQUIRED_USE} )
- python? ( ${PYTHON_REQUIRED_USE} )
test? ( X )
xpm? ( X )
"
@@ -29,6 +30,10 @@ RESTRICT="!test? ( test )"
# media-libs/{babl,gegl} are required to be built with USE="introspection"
# to fix the compilation checking of /usr/share/gir-1.0/{Babl-0.1gir,Gegl-0.4.gir}
COMMON_DEPEND="
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}]
+ ')
>=app-accessibility/at-spi2-core-2.46.0
>=app-text/poppler-0.90.1[cairo]
>=app-text/poppler-data-0.4.9
@@ -37,12 +42,12 @@ COMMON_DEPEND="
>=dev-libs/json-glib-1.4.4
dev-libs/libxml2:2
dev-libs/libxslt
- >=gnome-base/librsvg-2.46.0:2
+ >=gnome-base/librsvg-2.57.3:2
>=media-gfx/mypaint-brushes-2.0.2:=
- >=media-libs/babl-0.1.98[introspection,lcms,vala?]
+ >=media-libs/babl-0.1.110[introspection,lcms,vala?]
>=media-libs/fontconfig-2.12.6
>=media-libs/freetype-2.10.2
- >=media-libs/gegl-0.4.48:0.4[cairo,introspection,lcms,vala?]
+ >=media-libs/gegl-0.4.52:0.4[cairo,introspection,lcms,vala?]
>=media-libs/gexiv2-0.14.0
>=media-libs/harfbuzz-2.6.5:=
>=media-libs/lcms-2.13.1:2
@@ -72,12 +77,6 @@ COMMON_DEPEND="
mng? ( media-libs/libmng:= )
openexr? ( >=media-libs/openexr-2.3.0:= )
postscript? ( app-text/ghostscript-gpl:= )
- python? (
- ${PYTHON_DEPS}
- $(python_gen_cond_dep '
- >=dev-python/pygobject-3.0:3[${PYTHON_USEDEP}]
- ')
- )
udev? ( >=dev-libs/libgudev-167:= )
unwind? ( >=sys-libs/libunwind-1.1.0:= )
webp? ( >=media-libs/libwebp-0.6.0:= )
@@ -118,22 +117,14 @@ BDEPEND="
DOCS=( "AUTHORS" "NEWS" "README" "README.i18n" )
-PATCHES=(
- "${FILESDIR}/${PN}-2.10_fix_musl_backtrace_backend_switch.patch" #900148
-)
-
pkg_pretend() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
}
pkg_setup() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
+ python-single-r1_pkg_setup
use lua && lua-single_pkg_setup
-
- if use python; then
- python-single-r1_pkg_setup
- fi
}
src_prepare() {
@@ -151,7 +142,7 @@ src_prepare() {
sed -i -e 's/@PYTHON_PATH@/'${EPYTHON}'/' plug-ins/python/pygimp.interp.in || die
# Set proper intallation path of documentation logo
- sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" data/images/meson.build || die
+ sed -i -e "s/'gimp-@0@'.format(gimp_app_version)/'gimp-${PVR}'/" gimp-data/images/logo/meson.build || die
}
_adjust_sandbox() {
@@ -171,6 +162,9 @@ _adjust_sandbox() {
src_configure() {
_adjust_sandbox
+ # bug #944284 (https://gitlab.gnome.org/GNOME/gimp/-/issues/12843)
+ append-cflags -std=gnu17
+
use vala && vala_setup
local emesonargs=(
@@ -191,12 +185,10 @@ src_configure() {
$(meson_feature javascript)
$(meson_feature jpeg2k jpeg2000)
$(meson_feature jpegxl jpeg-xl)
- $(meson_feature lua)
$(meson_feature mng)
$(meson_feature openexr)
$(meson_feature openmp)
$(meson_feature postscript ghostscript)
- $(meson_feature python)
$(meson_feature test headless-tests)
$(meson_feature udev gudev)
$(meson_feature vala)
@@ -205,6 +197,7 @@ src_configure() {
$(meson_feature X xcursor)
$(meson_feature xpm)
$(meson_use doc g-ir-doc)
+ $(meson_use lua)
$(meson_use unwind libunwind)
$(meson_use vector-icons)
)
@@ -222,7 +215,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
@@ -243,9 +236,7 @@ src_test() {
src_install() {
meson_src_install
- if use python; then
- python_optimize
- fi
+ python_optimize
# Workaround for bug #321111 to give GIMP the least
# precedence on PDF documents by default
@@ -253,15 +244,12 @@ src_install() {
find "${D}" -name '*.la' -type f -delete || die
- # Prevent dead symlink gimp-console.1 from downstream man page compression (bug #433527)
- mv "${ED}"/usr/share/man/man1/gimp-console{-*,}.1 || die
-
# Create symlinks for Gimp exec in /usr/bin
- dosym "${ESYSROOT}"/usr/bin/gimp-2.99 /usr/bin/gimp
- dosym "${ESYSROOT}"/usr/bin/gimp-console-2.99 /usr/bin/gimp-console
+ dosym "${ESYSROOT}"/usr/bin/gimp-3.0 /usr/bin/gimp
+ dosym "${ESYSROOT}"/usr/bin/gimp-console-3.0 /usr/bin/gimp-console
dosym "${ESYSROOT}"/usr/bin/gimp-script-fu-interpreter-3.0 /usr/bin/gimp-script-fu-interpreter
- dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-2.99 /usr/bin/gimp-test-clipboard
- dosym "${ESYSROOT}"/usr/bin/gimptool-2.99 /usr/bin/gimptool
+ dosym "${ESYSROOT}"/usr/bin/gimp-test-clipboard-3.0 /usr/bin/gimp-test-clipboard
+ dosym "${ESYSROOT}"/usr/bin/gimptool-3.0 /usr/bin/gimptool
_rename_plugins || die
}
diff --git a/media-gfx/gimp/gimp-9999.ebuild b/media-gfx/gimp/gimp-9999.ebuild
index 918db05ef232..31b624a374d0 100644
--- a/media-gfx/gimp/gimp-9999.ebuild
+++ b/media-gfx/gimp/gimp-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ LUA_COMPAT=( luajit )
PYTHON_COMPAT=( python3_{10..13} )
VALA_USE_DEPEND=vapigen
-inherit git-r3 lua-single meson python-single-r1 toolchain-funcs vala xdg
+inherit git-r3 lua-single flag-o-matic meson python-single-r1 toolchain-funcs vala xdg
DESCRIPTION="GNU Image Manipulation Program"
HOMEPAGE="https://www.gimp.org/"
@@ -106,7 +106,6 @@ BDEPEND="
dev-util/gdbus-codegen
>=sys-devel/gettext-0.21
doc? (
- app-text/yelp-tools
dev-libs/gobject-introspection[doctool]
dev-util/gi-docgen
)
@@ -165,6 +164,9 @@ _adjust_sandbox() {
src_configure() {
_adjust_sandbox
+ # bug #944284 (https://gitlab.gnome.org/GNOME/gimp/-/issues/12843)
+ append-cflags -std=gnu17
+
use vala && vala_setup
local emesonargs=(
@@ -196,7 +198,6 @@ src_configure() {
$(meson_feature wmf)
$(meson_feature X xcursor)
$(meson_feature xpm)
- $(meson_use doc g-ir-doc)
$(meson_use lua)
$(meson_use unwind libunwind)
$(meson_use vector-icons)
diff --git a/media-gfx/gnome-font-viewer/Manifest b/media-gfx/gnome-font-viewer/Manifest
index 8dd47f50c0f8..4b9ce4c15704 100644
--- a/media-gfx/gnome-font-viewer/Manifest
+++ b/media-gfx/gnome-font-viewer/Manifest
@@ -1,2 +1,2 @@
-DIST gnome-font-viewer-45.0.tar.xz 300420 BLAKE2B 3cc71c056a1254447a9b0c5e838a8950e0414293b9788373b1de90657e364b55784fcef7749abd4e75e29cc6246b081baab66135276744020695ef1e8952a03f SHA512 94289be78831dbc9be8d73348fd423379ebe691b08cf2547acd2648e0e7b1dafcd6c63ffa2c9ec033786b7b65912187c782bb279cc0fb6227d6ee74c1541701e
DIST gnome-font-viewer-46.0.tar.xz 304092 BLAKE2B 4128c343d5f139ebae6f342b47ef98c39846ce25561411b0b7821be1f9e985aaea4e9a2fd354328b41972df2771db5383cdc68b21cd6a6987aac24596b2b1d1a SHA512 c97e109c16d59b22afa1b8c9736b99cf687284783691e624e331218d39a5ac509e53555416672bf8967ed8611ac25e7817766f8d5c66ca73cd2309b2405c2ebe
+DIST gnome-font-viewer-47.0.tar.xz 201744 BLAKE2B 62370660dc48269eb23b817fbea9a976e5b9ff78ee5e4c80cc96a2a65e32c915beaae2cb9066be21b6cd20ea1bdec5e4482c8397024dae40b27681f8cf0df0ae SHA512 f81624999468d0a3041859623769bef3bc51350328e21bf20e890435dc8308afc620f6580d26f815f33b77994e21cbfc27d934aae33636b970d1fe62f60569d7
diff --git a/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild b/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild
index 163cee416bb5..a92653f375f4 100644
--- a/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild
+++ b/media-gfx/gnome-font-viewer/gnome-font-viewer-46.0.ebuild
@@ -9,7 +9,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-font-viewer"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
DEPEND="
>=dev-libs/glib-2.56.0:2
diff --git a/media-gfx/gnome-font-viewer/gnome-font-viewer-45.0.ebuild b/media-gfx/gnome-font-viewer/gnome-font-viewer-47.0.ebuild
index 37a17d7e48a6..c27b3be90c14 100644
--- a/media-gfx/gnome-font-viewer/gnome-font-viewer-45.0.ebuild
+++ b/media-gfx/gnome-font-viewer/gnome-font-viewer-47.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,16 +9,15 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/gnome-font-viewer"
LICENSE="GPL-2+ LGPL-2.1+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
DEPEND="
>=dev-libs/glib-2.56.0:2
>=gui-libs/gtk-4.5.0:4
- >=gui-libs/libadwaita-1.4_alpha:1
+ >=gui-libs/libadwaita-1.5:1
>=media-libs/harfbuzz-0.9.9:=
media-libs/fontconfig:1.0
media-libs/freetype:2
- gnome-base/gnome-desktop:4=
dev-libs/fribidi
"
RDEPEND="${DEPEND}"
@@ -28,7 +27,3 @@ BDEPEND="
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-window-Fix-function-callback-definition.patch
-)
diff --git a/media-gfx/gnome-photos/gnome-photos-44.0.ebuild b/media-gfx/gnome-photos/gnome-photos-44.0.ebuild
index 189d865b1d57..11827b30925a 100644
--- a/media-gfx/gnome-photos/gnome-photos-44.0.ebuild
+++ b/media-gfx/gnome-photos/gnome-photos-44.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/Apps/Photos"
LICENSE="GPL-3+ LGPL-2+ CC0-1.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE="test upnp-av"
RESTRICT="!test? ( test )"
diff --git a/media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild b/media-gfx/gphoto2/gphoto2-2.5.28-r2.ebuild
index 634fbfe666c8..aa47c54d4afb 100644
--- a/media-gfx/gphoto2/gphoto2-2.5.28-r1.ebuild
+++ b/media-gfx/gphoto2/gphoto2-2.5.28-r2.ebuild
@@ -23,7 +23,7 @@ RDEPEND="
media-libs/aalib
media-libs/libjpeg-turbo
)
- ncurses? ( dev-libs/cdk:= )
+ ncurses? ( >=dev-libs/cdk-5.0.20240331:= )
readline? ( sys-libs/readline:= )
"
DEPEND="${RDEPEND}"
diff --git a/media-gfx/graphviz/Manifest b/media-gfx/graphviz/Manifest
index a153e309e43a..b2650949883d 100644
--- a/media-gfx/graphviz/Manifest
+++ b/media-gfx/graphviz/Manifest
@@ -1,3 +1,4 @@
DIST graphviz-12.0.0.tar.xz 21279920 BLAKE2B 67d4444dcc31417fd01268b0fdc81538d86e26f961227d106ae57eb3d6d0e4a2e0ba684413a2d1b66f17340e0ad3a244ce5554c180873683e3ad4775f661739d SHA512 b5d4c8e9b565d4268fff28f169e3bfdb9ebf8b809996f7e35887430e5745aeac92c092fe2a9e15b23c9ba3364aa89fe2eeed85ab3fba61acce21634bc9632813
DIST graphviz-12.1.2.tar.xz 20939968 BLAKE2B 4c9ad31f9ce6c68e67a48330b6693c9d6dc9ecebd4ef74e0aa250fd6cb86f02a585c8b6fe16b1322aedfa844004327f72ac4cbcca782848d55202b8e4695371d SHA512 2c31c33bcc0a912b08bf837df318152f910452e3efa5e6c19cf76c49017c64d6dad4cde719d4713bb41343c4484381d94706c2e993233aaa45a334390338cde9
DIST graphviz-12.2.0.tar.xz 20940240 BLAKE2B 2ba832db442e43ea49ff0aa28f57709757f842efa6ff6188de84b1c11e1932c8c267182f59f7dbd0b1c86d625a686ecc826da6fea087a5f70fea1ac20c60e47c SHA512 542115aa4463e3383c13368d5abcab6715bc9fa2bb886700e6a9072be363641f4a3628d5f07297fde5f3650f2ef67ecdea42bc8f1600b1576abc3e1bf88bdf46
+DIST graphviz-12.2.1.tar.xz 20945996 BLAKE2B f16804eab1a08996934526a1ed03c855e681c67fef51ba99e57b5147355bedc6bfe31840dda07bf845e14e6948bc4f08a4a16aa86f258140699be450e7929922 SHA512 e0f93f69108c5b5bbde8a27a4359c2c834b03142f1e7dfda7c5c19a2fb780c23c287bacfa8724708b8ced604020554ea194bf0c3b1d9f584b3b5862445554c4e
diff --git a/media-gfx/graphviz/graphviz-12.2.1-r1.ebuild b/media-gfx/graphviz/graphviz-12.2.1-r1.ebuild
new file mode 100644
index 000000000000..4df539855daa
--- /dev/null
+++ b/media-gfx/graphviz/graphviz-12.2.1-r1.ebuild
@@ -0,0 +1,225 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+GUILE_COMPAT=( 2-2 3-0 )
+PYTHON_COMPAT=( python3_{10..13} )
+inherit guile-single libtool python-single-r1
+
+DESCRIPTION="Open Source Graph Visualization Software"
+HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
+# 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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt6 ruby svg tcl webp X"
+
+REQUIRED_USE="
+ !cairo? ( !X !gtk2 !postscript !lasi )
+ guile? ( ${GUILE_REQUIRED_USE} )
+ pdf? ( cairo )
+ python? ( ${PYTHON_REQUIRED_USE} )"
+
+# 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? ( ${GUILE_DEPS} )
+ lasi? ( media-libs/lasi )
+ pdf? ( app-text/poppler )
+ perl? ( dev-lang/perl:= )
+ postscript? ( app-text/ghostscript-gpl )
+ python? ( ${PYTHON_DEPS} )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
+ 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
+ ${GUILE_DEPS}
+ )
+ 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 'qt6'):
+# based on ./configure it needs qt-core and qt-gui only
+# - smyrna : experimental opengl front-end (via 'smyrna')
+# currently disabled -- it segfaults a lot
+# 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 guile && guile-single_pkg_setup
+ use python && python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ if use guile; then
+ guile-single_src_prepare
+ else
+ default
+ fi
+ 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 qt6 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 qt6 qmake6)
+ )
+ # 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 guile && guile_unstrip_ccache
+
+ 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/hugin/Manifest b/media-gfx/hugin/Manifest
index 117106f411bc..3d3cf1c9fd54 100644
--- a/media-gfx/hugin/Manifest
+++ b/media-gfx/hugin/Manifest
@@ -1,2 +1 @@
-DIST hugin-2023.0.0.tar.bz2 10336322 BLAKE2B 5c35f67160d76f961e812a309a0c50bb012beac74dc888ce716e8d0e3da35dbb053ab4e5d5d043b3d3fee9885f2fc1afa962a73e794cd4df920527456d477e89 SHA512 f950afec9020972baa20931d5001cd479a9169a4eec0d459d830612f40177eea6a25e059047054b8e9679017687e4c2db9fb27f755a3d0b749e5055e2ff0adc8
DIST hugin-2024.0.1.tar.bz2 10352250 BLAKE2B 07b6ec632ad8525f58750a1894223102f354879e95c33cb4251d7aa237328a5180ffe6c7de0f3e23fc07dd8dd4f254cda7a9f452dc02b786bc867f15ca20b8f4 SHA512 4109f3be0b03d8b4205a79e0d76e18186278601d3e56f46271df1804db6f11f2e93fe1e1b68f2d7966c6d50ce58d4bf47e555e9cf8c34674315b2e89da36a722
diff --git a/media-gfx/hugin/files/boost-1.85-932315.patch b/media-gfx/hugin/files/boost-1.85-932315.patch
deleted file mode 100644
index e8fc5c2daa1f..000000000000
--- a/media-gfx/hugin/files/boost-1.85-932315.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-# HG changeset patch
-# User tmodes
-# Date 1710260877 -3600
-# Tue Mar 12 17:27:57 2024 +0100
-# Node ID 4d081490b48aaff820cee7601b8624b37b652c06
-# Parent 4b55f17c4e72d6c2f8b4930e3367ff52e1741b45
-Fixed deprecated boost::filesystem::copy_option enum
-
-diff -r 4b55f17c4e72 -r 4d081490b48a src/hugin_base/hugin_utils/filesystem.h
---- a/src/hugin_base/hugin_utils/filesystem.h Tue Mar 12 17:27:29 2024 +0100
-+++ b/src/hugin_base/hugin_utils/filesystem.h Tue Mar 12 17:27:57 2024 +0100
-@@ -64,6 +64,12 @@
- #endif
- #include <boost/filesystem.hpp>
- namespace fs = boost::filesystem;
-- #define OVERWRITE_EXISTING boost::filesystem::copy_option::overwrite_if_exists
-+ #if BOOST_VERSION>=107400
-+ // in Boost 1.74 and later filesystem::copy_option is deprecated
-+ // use filesystem::copy_options instead
-+ #define OVERWRITE_EXISTING boost::filesystem::copy_options::overwrite_existing
-+ #else
-+ #define OVERWRITE_EXISTING boost::filesystem::copy_option::overwrite_if_exists
-+ #endif
- #endif
- #endif // _HUGIN_UTILS_FILESYSTEM_H
diff --git a/media-gfx/hugin/hugin-2023.0.0-r1.ebuild b/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
deleted file mode 100644
index 40c4d46a93f6..000000000000
--- a/media-gfx/hugin/hugin-2023.0.0-r1.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-WX_GTK_VER="3.2-gtk3"
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit python-single-r1 wxwidgets cmake xdg
-
-DESCRIPTION="GUI for the creation & processing of panoramic images"
-HOMEPAGE="http://hugin.sf.net"
-SRC_URI="https://downloads.sourceforge.net/${PN}/${P/_/}.tar.bz2"
-
-LICENSE="GPL-2+ BSD BSD-2 MIT wxWinLL-3 ZLIB FDL-1.2"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-LANGS=" ca ca-valencia cs da de en-GB es eu fi fr hu it ja nl pl pt-BR ro ru sk sv zh-CN zh-TW"
-IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})"
-
-CDEPEND="
- dev-db/sqlite:3
- dev-libs/boost:=
- >=media-gfx/enblend-4.0
- media-gfx/exiv2:=
- media-libs/freeglut
- media-libs/glew:=
- media-libs/libjpeg-turbo:=
- >=media-libs/libpano13-2.9.19_beta1:=
- media-libs/libpng:=
- media-libs/openexr:=
- media-libs/tiff:=
- >=media-libs/vigra-1.11.1-r5[openexr]
- sci-libs/fftw:3.0=
- sci-libs/flann
- sys-libs/zlib
- virtual/glu
- virtual/opengl
- x11-libs/wxGTK:${WX_GTK_VER}=[X,opengl]
- lapack? ( virtual/blas virtual/lapack )
- python? ( ${PYTHON_DEPS} )
- sift? ( media-gfx/autopano-sift-C )"
-RDEPEND="${CDEPEND}
- media-libs/exiftool
- raw? ( media-gfx/dcraw )"
-DEPEND="${CDEPEND}
- dev-cpp/tclap
- sys-devel/gettext
- virtual/pkgconfig
- python? ( >=dev-lang/swig-2.0.4 )"
-
-REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
-
-DOCS=( authors.txt README TODO )
-
-S=${WORKDIR}/${PN}-$(ver_cut 1-2).0
-
-pkg_setup() {
- use python && python-single-r1_pkg_setup
- setup-wxwidgets
-}
-
-src_prepare() {
- # Fix build with boost >=1.85
- eapply "${FILESDIR}/boost-1.85-932315.patch"
-
- sed -i \
- -e "/COMMAND.*GZIP/d" \
- -e "s/\.gz//g" \
- "${S}"/doc/CMakeLists.txt || die
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_HSI=$(usex python)
- -DENABLE_LAPACK=$(usex lapack)
- )
- cmake_src_configure
-}
-
-src_install() {
- cmake_src_install
- use python && python_optimize
-
- local lang
- for lang in ${LANGS} ; do
- case ${lang} in
- ca) dir=ca_ES;;
- ca-valencia) dir=ca_ES@valencia;;
- cs) dir=cs_CZ;;
- *) dir=${lang/-/_};;
- esac
- if ! use l10n_${lang} ; then
- rm -r "${ED}"/usr/share/locale/${dir} || die
- fi
- done
-}
diff --git a/media-gfx/hugin/hugin-2024.0.1.ebuild b/media-gfx/hugin/hugin-2024.0.1.ebuild
index 54769a57eedb..a9919d40d6b9 100644
--- a/media-gfx/hugin/hugin-2024.0.1.ebuild
+++ b/media-gfx/hugin/hugin-2024.0.1.ebuild
@@ -14,7 +14,7 @@ SRC_URI="https://downloads.sourceforge.net/${PN}/${P/_/}.tar.bz2"
LICENSE="GPL-2+ BSD BSD-2 MIT wxWinLL-3 ZLIB FDL-1.2"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
LANGS=" ca ca-valencia cs da de en-GB es eu fi fr hu it ja nl pl pt-BR ro ru sk sv zh-CN zh-TW"
IUSE="debug lapack python raw sift $(echo ${LANGS//\ /\ l10n_})"
diff --git a/media-gfx/hydrus/hydrus-565-r1.ebuild b/media-gfx/hydrus/hydrus-565-r1.ebuild
index 75824275560f..dd1049f2921a 100644
--- a/media-gfx/hydrus/hydrus-565-r1.ebuild
+++ b/media-gfx/hydrus/hydrus-565-r1.ebuild
@@ -62,7 +62,6 @@ RDEPEND="
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
@@ -151,5 +150,5 @@ pkg_postinst() {
optfeature "automatic port forwarding support" "net-libs/miniupnpc"
optfeature "memory compression in the client" "dev-python/lz4"
optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks"
- optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]"
+ optfeature "bandwidth charts support" "dev-python/pyside[charts]"
}
diff --git a/media-gfx/hydrus/hydrus-571.ebuild b/media-gfx/hydrus/hydrus-571.ebuild
index 75824275560f..dd1049f2921a 100644
--- a/media-gfx/hydrus/hydrus-571.ebuild
+++ b/media-gfx/hydrus/hydrus-571.ebuild
@@ -62,7 +62,6 @@ RDEPEND="
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
@@ -151,5 +150,5 @@ pkg_postinst() {
optfeature "automatic port forwarding support" "net-libs/miniupnpc"
optfeature "memory compression in the client" "dev-python/lz4"
optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks"
- optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]"
+ optfeature "bandwidth charts support" "dev-python/pyside[charts]"
}
diff --git a/media-gfx/hydrus/hydrus-9999.ebuild b/media-gfx/hydrus/hydrus-9999.ebuild
index f63b7c6b7f36..0a2743c1a8cf 100644
--- a/media-gfx/hydrus/hydrus-9999.ebuild
+++ b/media-gfx/hydrus/hydrus-9999.ebuild
@@ -58,7 +58,6 @@ RDEPEND="
dev-python/twisted[${PYTHON_USEDEP}]
dev-python/qtpy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
- || ( dev-python/qtpy[pyside2] dev-python/qtpy[pyside6] )
media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
media-video/ffmpeg
@@ -145,5 +144,5 @@ pkg_postinst() {
optfeature "automatic port forwarding support" "net-libs/miniupnpc"
optfeature "memory compression in the client" "dev-python/lz4"
optfeature "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks"
- optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]"
+ optfeature "bandwidth charts support" "dev-python/pyside[charts]"
}
diff --git a/media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild b/media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild
index 3a27a91f6b96..080fc19e0b33 100644
--- a/media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild
+++ b/media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -103,22 +103,22 @@ src_prepare() {
# For testsuite, see bug #500580#c3
local ati_cards mesa_cards nvidia_cards render_cards
shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
+ ati_cards=$(echo -n /dev/ati/card*)
+ for card in "${ati_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ mesa_cards=$(echo -n /dev/dri/card*)
+ for card in "${mesa_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ nvidia_cards=$(echo -n /dev/nvidia*)
+ for card in "${nvidia_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ render_cards=$(echo -n /dev/dri/renderD128*)
+ for card in "${render_cards[@]}" ; do
+ addpredict "${card}"
+ done
shopt -u nullglob
addpredict /dev/nvidiactl
}
diff --git a/media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild b/media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild
deleted file mode 100644
index d5470d00ae36..000000000000
--- a/media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild
+++ /dev/null
@@ -1,242 +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 ~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://imagemagick.org/index.php"
-
-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"
-
-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 51feb1ba7e34..81adc8b3bf07 100644
--- a/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild
+++ b/media-gfx/imagemagick/imagemagick-6.9.13.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -103,22 +103,22 @@ src_prepare() {
# For testsuite, see bug #500580#c3
local ati_cards mesa_cards nvidia_cards render_cards
shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
+ ati_cards=$(echo -n /dev/ati/card*)
+ for card in "${ati_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ mesa_cards=$(echo -n /dev/dri/card*)
+ for card in "${mesa_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ nvidia_cards=$(echo -n /dev/nvidia*)
+ for card in "${nvidia_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ render_cards=$(echo -n /dev/dri/renderD128*)
+ for card in "${render_cards[@]}" ; do
+ addpredict "${card}"
+ done
shopt -u nullglob
addpredict /dev/nvidiactl
}
diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild
index 52d6378e2f26..a9b0dde7fb7c 100644
--- a/media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild
+++ b/media-gfx/imagemagick/imagemagick-7.1.1.25-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -106,25 +106,25 @@ src_prepare() {
#elibtoolize # for Darwin modules
eautoreconf
- # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ # For testsuite, see bug #500580#c3
local ati_cards mesa_cards nvidia_cards render_cards
shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
+ ati_cards=$(echo -n /dev/ati/card*)
+ for card in "${ati_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ mesa_cards=$(echo -n /dev/dri/card*)
+ for card in "${mesa_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ nvidia_cards=$(echo -n /dev/nvidia*)
+ for card in "${nvidia_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ render_cards=$(echo -n /dev/dri/renderD128*)
+ for card in "${render_cards[@]}" ; do
+ addpredict "${card}"
+ done
shopt -u nullglob
addpredict /dev/nvidiactl
}
diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild
deleted file mode 100644
index 7a411d2e2d91..000000000000
--- a/media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild
+++ /dev/null
@@ -1,254 +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 ~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://imagemagick.org/index.php"
-
-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.38-perl-1.patch"
- "${FILESDIR}/${PN}-7.1.1.38-perl-2.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
- --with-uhdr
- $(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
-
- einstalldocs
-
- 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.38-r2.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild
index 63f2b61e4b69..16d4e4c94e35 100644
--- a/media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild
+++ b/media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -108,25 +108,25 @@ src_prepare() {
#elibtoolize # for Darwin modules
eautoreconf
- # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ # For testsuite, see bug #500580#c3
local ati_cards mesa_cards nvidia_cards render_cards
shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
+ ati_cards=$(echo -n /dev/ati/card*)
+ for card in "${ati_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ mesa_cards=$(echo -n /dev/dri/card*)
+ for card in "${mesa_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ nvidia_cards=$(echo -n /dev/nvidia*)
+ for card in "${nvidia_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ render_cards=$(echo -n /dev/dri/renderD128*)
+ for card in "${render_cards[@]}" ; do
+ addpredict "${card}"
+ done
shopt -u nullglob
addpredict /dev/nvidiactl
}
diff --git a/media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild b/media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild
deleted file mode 100644
index 45cfe4d2db47..000000000000
--- a/media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild
+++ /dev/null
@@ -1,252 +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 ~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://imagemagick.org/index.php"
-
-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}-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
- --with-uhdr
- $(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
-
- einstalldocs
-
- 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-9999.ebuild b/media-gfx/imagemagick/imagemagick-9999.ebuild
index 36da9357938f..dae61feb43e4 100644
--- a/media-gfx/imagemagick/imagemagick-9999.ebuild
+++ b/media-gfx/imagemagick/imagemagick-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -106,25 +106,25 @@ src_prepare() {
#elibtoolize # for Darwin modules
eautoreconf
- # For testsuite, see https://bugs.gentoo.org/show_bug.cgi?id=500580#c3
+ # For testsuite, see bug #500580#c3
local ati_cards mesa_cards nvidia_cards render_cards
shopt -s nullglob
- ati_cards=$(echo -n /dev/ati/card* | sed 's/ /:/g')
- if test -n "${ati_cards}"; then
- addpredict "${ati_cards}"
- fi
- mesa_cards=$(echo -n /dev/dri/card* | sed 's/ /:/g')
- if test -n "${mesa_cards}"; then
- addpredict "${mesa_cards}"
- fi
- nvidia_cards=$(echo -n /dev/nvidia* | sed 's/ /:/g')
- if test -n "${nvidia_cards}"; then
- addpredict "${nvidia_cards}"
- fi
- render_cards=$(echo -n /dev/dri/renderD128* | sed 's/ /:/g')
- if test -n "${render_cards}"; then
- addpredict "${render_cards}"
- fi
+ ati_cards=$(echo -n /dev/ati/card*)
+ for card in "${ati_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ mesa_cards=$(echo -n /dev/dri/card*)
+ for card in "${mesa_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ nvidia_cards=$(echo -n /dev/nvidia*)
+ for card in "${nvidia_cards[@]}" ; do
+ addpredict "${card}"
+ done
+ render_cards=$(echo -n /dev/dri/renderD128*)
+ for card in "${render_cards[@]}" ; do
+ addpredict "${card}"
+ done
shopt -u nullglob
addpredict /dev/nvidiactl
}
diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest
index 4a8d70c059b9..451ba470c5b6 100644
--- a/media-gfx/inkscape/Manifest
+++ b/media-gfx/inkscape/Manifest
@@ -1,2 +1 @@
-DIST inkscape-1.3.2.tar.xz 44720944 BLAKE2B 24120f8c671e1fb54bb6626cab95e7086e3c60fbc117bbe8017d081c799bc26812b1286e670771e7ffe88720ba25f237146c452afaf65c1ee2ee554fb07f79a2 SHA512 a6da4b676ba3e7f954f95e3916ce78ce358b49c8052795a52d478064ef02eeae0337b0a94e89b9752ea6824a5758d28072c2bbf83f1e9ee28daebd3b0ef87343
DIST inkscape-1.4.tar.xz 46321868 BLAKE2B 3f21402019995122f043f5ebd8f07e1c9548c507f27c494e4214e090c46acae016c21f950609c95cef2e1b0011693e6629326d733b257402391e2d919bcd0303 SHA512 3b81306b81416597073e7eda2a103112cee63493bcf96fa737bb1edfbd682ebb329e415bbbbfda877aef2a78dc376460040ebc5c0cc2c90c0fe60db5d7d12368
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch
deleted file mode 100644
index 6364c3f88a9e..000000000000
--- a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20-2.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/ui/dialog/filter-effects-dialog.cpp
-+++ b/src/ui/dialog/filter-effects-dialog.cpp
-@@ -202,7 +202,7 @@
- template< typename T> class ComboWithTooltip : public Gtk::EventBox
- {
- public:
-- ComboWithTooltip<T>(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr)
-+ ComboWithTooltip(T default_value, const Util::EnumDataConverter<T>& c, const SPAttr a = SPAttr::INVALID, char* tip_text = nullptr)
- {
- if (tip_text) {
- set_tooltip_text(tip_text);
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch b/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch
deleted file mode 100644
index 3c61b1919278..000000000000
--- a/media-gfx/inkscape/files/inkscape-1.3.2-cxx20.patch
+++ /dev/null
@@ -1,91 +0,0 @@
-From 1798e9c13b786f3d077ba0132592c4d5c1d1fb9b Mon Sep 17 00:00:00 2001
-From: Tavmjong Bah <tavmjong@free.fr>
-Date: Tue, 26 Sep 2023 19:23:27 +0000
-Subject: [PATCH] Up C++ version to C++20.
-
----
- CMakeLists.txt | 4 ++--
- _clang-format | 2 +-
- src/ui/knot/knot-holder-entity.cpp | 2 +-
- src/ui/tools/pencil-tool.cpp | 9 ++++++---
- 4 files changed, 10 insertions(+), 7 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index fe6b10cda24..de2680bd651 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -18,9 +18,9 @@ message("Binary Dir: ${CMAKE_CURRENT_BINARY_DIR}")
- # -----------------------------------------------------------------------------
- # CMake Configuration
- # -----------------------------------------------------------------------------
--set(CMAKE_CXX_STANDARD 17)
-+set(CMAKE_CXX_STANDARD 20)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
--# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++17 instead of -std=gnu++17
-+# set(CMAKE_CXX_EXTENSIONS OFF) # enforces -std=c++20 instead of -std=gnu++20
- # TODO: build currently fails with it as we actually depend on GNU compiler extensions...
- # mostly use of the non-Standard M_PI et al. TODO: C++20: Use the <numbers> header.
-
-diff --git a/_clang-format b/_clang-format
-index 39396fad65a..48de4d2bd88 100644
---- a/_clang-format
-+++ b/_clang-format
-@@ -103,7 +103,7 @@ SpacesInContainerLiterals: false
- SpacesInCStyleCastParentheses: false
- SpacesInParentheses: false
- SpacesInSquareBrackets: false
--Standard: c++17
-+Standard: c++20
- StatementMacros: []
- TypenameMacros: []
- TabWidth: 4
-diff --git a/src/ui/knot/knot-holder-entity.cpp b/src/ui/knot/knot-holder-entity.cpp
-index 8703f5975f7..add66d2fa29 100644
---- a/src/ui/knot/knot-holder-entity.cpp
-+++ b/src/ui/knot/knot-holder-entity.cpp
-@@ -315,7 +315,7 @@ void PatternKnotHolderEntityScale::knot_set(Geom::Point const &p, Geom::Point co
- double scale_x = std::clamp(new_extent[X] / _cached_diagonal[X], _cached_min_scale, 1e9);
- double scale_y = std::clamp(new_extent[Y] / _cached_diagonal[Y], _cached_min_scale, 1e9);
-
-- Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale(lerp(0.5, scale_x, scale_y))
-+ Affine new_transform = (state & GDK_CONTROL_MASK) ? Scale((scale_x + scale_y) * 0.5)
- : Scale(scale_x, scale_y);
-
- // 2. Calculate offset to keep pattern origin aligned
-diff --git a/src/ui/tools/pencil-tool.cpp b/src/ui/tools/pencil-tool.cpp
-index fd2d08cad0c..7324f7c8515 100644
---- a/src/ui/tools/pencil-tool.cpp
-+++ b/src/ui/tools/pencil-tool.cpp
-@@ -17,7 +17,11 @@
- * Released under GNU GPL v2+, read the file 'COPYING' for more information.
- */
-
--#include <numeric> // For std::accumulate
-+#include "pencil-tool.h"
-+
-+#include <cmath> // std::lerp
-+#include <numeric> // std::accumulate
-+
- #include <gdk/gdkkeysyms.h>
- #include <glibmm/i18n.h>
-
-@@ -26,7 +30,6 @@
- #include <2geom/sbasis-to-bezier.h>
- #include <2geom/svg-path-parser.h>
-
--#include "pencil-tool.h"
-
- #include "context-fns.h"
- #include "desktop.h"
-@@ -806,7 +809,7 @@ void PencilTool::_addFreehandPoint(Geom::Point const &p, guint /*state*/, bool l
- min = max;
- }
- double dezoomify_factor = 0.05 * 1000 / _desktop->current_zoom();
-- double const pressure_shrunk = pressure * (max - min) + min; // C++20 -> use std::lerp()
-+ double const pressure_shrunk = std::lerp(min, max, pressure);
- double pressure_computed = std::abs(pressure_shrunk * dezoomify_factor);
- double pressure_computed_scaled = std::abs(pressure_computed * _desktop->getDocument()->getDocumentScale().inverse()[Geom::X]);
- if (p != p_array[_npoints - 1]) {
---
-GitLab
-
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-libxml2-2.12.patch b/media-gfx/inkscape/files/inkscape-1.3.2-libxml2-2.12.patch
deleted file mode 100644
index 7e981e36fc1e..000000000000
--- a/media-gfx/inkscape/files/inkscape-1.3.2-libxml2-2.12.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/923247
-https://gitlab.com/inkscape/inkscape/-/merge_requests/6089
-
-From 694d8ae43d06efff21adebf377ce614d660b24cd Mon Sep 17 00:00:00 2001
-From: Christian Hesse <mail@eworm.de>
-Date: Fri, 17 Nov 2023 22:30:42 +0100
-Subject: [PATCH] include missing header file
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This fixes build error:
-```
-/build/inkscape/src/inkscape/src/object/uri.cpp: In constructor ‘Inkscape::URI::URI(const gchar*, const char*)’:
-/build/inkscape/src/inkscape/src/object/uri.cpp:86:9: error: ‘xmlFree’ was not declared in this scope; did you mean ‘xmlFreeURI’?
- 86 | xmlFree(full);
-```
---- a/src/object/uri.h
-+++ b/src/object/uri.h
-@@ -13,6 +13,7 @@
- #define INKSCAPE_URI_H
-
- #include <libxml/uri.h>
-+#include <libxml/xmlmemory.h>
- #include <memory>
- #include <string>
-
---
-GitLab
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch
deleted file mode 100644
index 53cf3fd2b6cd..000000000000
--- a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.03.patch
+++ /dev/null
@@ -1,61 +0,0 @@
-From 3dd9846ab99260134e11938f0e575be822507037 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Mon, 4 Mar 2024 22:59:40 +0100
-Subject: [PATCH] Fix build with >=poppler-24.03.0
-
-Fixes build errors caused by:
-
-"Use an enum for Function getType"
-Upstream commit 6e3824d45d42cb806a28a2df84e4ab6bb3587083
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- src/extension/internal/pdfinput/svg-builder.cpp | 14 +++++++++++++-
- 1 file changed, 13 insertions(+), 1 deletion(-)
-
-diff --git a/src/extension/internal/pdfinput/svg-builder.cpp b/src/extension/internal/pdfinput/svg-builder.cpp
-index 525fbfec0..bcd7b1f61 100644
---- a/src/extension/internal/pdfinput/svg-builder.cpp
-+++ b/src/extension/internal/pdfinput/svg-builder.cpp
-@@ -1175,9 +1175,13 @@ static bool svgGetShadingColor(GfxShading *shading, double offset, GfxColor *res
- #define INT_EPSILON 8
- bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *shading,
- _POPPLER_CONST Function *func) {
-- int type = func->getType();
-+ auto type = func->getType();
- auto space = shading->getColorSpace();
-+#if POPPLER_CHECK_VERSION(24, 3, 0)
-+ if ( type == Function::Type::Sampled || type == Function::Type::Exponential ) { // Sampled or exponential function
-+#else
- if ( type == 0 || type == 2 ) { // Sampled or exponential function
-+#endif
- GfxColor stop1, stop2;
- if (!svgGetShadingColor(shading, 0.0, &stop1) || !svgGetShadingColor(shading, 1.0, &stop2)) {
- return false;
-@@ -1185,7 +1189,11 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh
- _addStopToGradient(gradient, 0.0, &stop1, space, 1.0);
- _addStopToGradient(gradient, 1.0, &stop2, space, 1.0);
- }
-+#if POPPLER_CHECK_VERSION(24, 3, 0)
-+ } else if ( type == Function::Type::Stitching ) { // Stitching
-+#else
- } else if ( type == 3 ) { // Stitching
-+#endif
- auto stitchingFunc = static_cast<_POPPLER_CONST StitchingFunction*>(func);
- const double *bounds = stitchingFunc->getBounds();
- const double *encode = stitchingFunc->getEncode();
-@@ -1200,7 +1208,11 @@ bool SvgBuilder::_addGradientStops(Inkscape::XML::Node *gradient, GfxShading *sh
- for ( int i = 0 ; i < num_funcs ; i++ ) {
- svgGetShadingColor(shading, bounds[i + 1], &color);
- // Add stops
-+#if POPPLER_CHECK_VERSION(24, 3, 0)
-+ if (stitchingFunc->getFunc(i)->getType() == Function::Type::Exponential) { // process exponential fxn
-+#else
- if (stitchingFunc->getFunc(i)->getType() == 2) { // process exponential fxn
-+#endif
- double expE = (static_cast<_POPPLER_CONST ExponentialFunction*>(stitchingFunc->getFunc(i)))->getE();
- if (expE > 1.0) {
- expE = (bounds[i + 1] - bounds[i])/expE; // approximate exponential as a single straight line at x=1
---
-2.44.0
-
diff --git a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch b/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch
deleted file mode 100644
index bb2764032c44..000000000000
--- a/media-gfx/inkscape/files/inkscape-1.3.2-poppler-24.05.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 96ca7a6c215aa14336b52753f56244dc8796ec43 Mon Sep 17 00:00:00 2001
-From: Heiko Becker <mail@heiko-becker.de>
-Date: Fri, 3 May 2024 14:52:00 +0200
-Subject: [PATCH] Fix build with poppler >= 24.05.0
-
-GooString::hasUnicodeMarkerLE and GooString::hasUnicodeMarker were
-rename and moved to UTF.h [1][2]
-
-[1] https://gitlab.freedesktop.org/poppler/poppler/-/commit/98fabb298b0e8eaef9193bbce68c99c85473a314
-[2] https://gitlab.freedesktop.org/poppler/poppler/-/commit/1f06dca08c32ed18c3030530d98a0e30d41dd7a2
----
- src/extension/internal/pdfinput/poppler-transition-api.h | 9 +++++++++
- src/extension/internal/pdfinput/poppler-utils.cpp | 6 ++++--
- 2 files changed, 13 insertions(+), 2 deletions(-)
-
-diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
-index 58aa1ec921d..481aefadf46 100644
---- a/src/extension/internal/pdfinput/poppler-transition-api.h
-+++ b/src/extension/internal/pdfinput/poppler-transition-api.h
-@@ -13,6 +13,15 @@
- #define SEEN_POPPLER_TRANSITION_API_H
-
- #include <glib/poppler-features.h>
-+#include <poppler/UTF.h>
-+
-+#if POPPLER_CHECK_VERSION(24, 5, 0)
-+#define _POPPLER_HAS_UNICODE_BOM(value) (hasUnicodeByteOrderMark(value->toStr()))
-+#define _POPPLER_HAS_UNICODE_BOMLE(value) (hasUnicodeByteOrderMarkLE(value->toStr()))
-+#else
-+#define _POPPLER_HAS_UNICODE_BOM(value) (value->hasUnicodeMarker())
-+#define _POPPLER_HAS_UNICODE_BOMLE(value) (value->hasUnicodeMarkerLE())
-+#endif
-
- #if POPPLER_CHECK_VERSION(24, 3, 0)
- #define _POPPLER_FUNCTION_TYPE_SAMPLED Function::Type::Sampled
-diff --git a/src/extension/internal/pdfinput/poppler-utils.cpp b/src/extension/internal/pdfinput/poppler-utils.cpp
-index 78d90c66c9d..c02815f64b9 100644
---- a/src/extension/internal/pdfinput/poppler-utils.cpp
-+++ b/src/extension/internal/pdfinput/poppler-utils.cpp
-@@ -12,6 +12,8 @@
-
- #include "poppler-utils.h"
-
-+#include <poppler/UTF.h>
-+
- #include "2geom/affine.h"
- #include "GfxFont.h"
- #include "GfxState.h"
-@@ -563,10 +565,10 @@ std::string getDictString(Dict *dict, const char *key)
- */
- std::string getString(const GooString *value)
- {
-- if (value->hasUnicodeMarker()) {
-+ if (_POPPLER_HAS_UNICODE_BOM(value)) {
- return g_convert(value->getCString () + 2, value->getLength () - 2,
- "UTF-8", "UTF-16BE", NULL, NULL, NULL);
-- } else if (value->hasUnicodeMarkerLE()) {
-+ } else if (_POPPLER_HAS_UNICODE_BOMLE(value)) {
- return g_convert(value->getCString () + 2, value->getLength () - 2,
- "UTF-8", "UTF-16LE", NULL, NULL, NULL);
- }
---
-GitLab
-
diff --git a/media-gfx/inkscape/files/inkscape-1.4-poppler-24.12.0.patch b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.12.0.patch
new file mode 100644
index 000000000000..f4e0a8391b78
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.12.0.patch
@@ -0,0 +1,53 @@
+From c9046810d899a408bfbd489aad91872b1203ee6d Mon Sep 17 00:00:00 2001
+From: KrIr17 <elendil.krir17@gmail.com>
+Date: Thu, 5 Dec 2024 15:03:47 +0100
+Subject: [PATCH] Fix building with poppler 24.12.0
+
+Fixes https://gitlab.com/inkscape/inkscape/-/issues/5415
+---
+ src/extension/internal/pdfinput/pdf-parser.cpp | 4 +++-
+ src/extension/internal/pdfinput/poppler-transition-api.h | 6 ++++++
+ 2 files changed, 9 insertions(+), 1 deletion(-)
+
+diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
+index 28000a87b0c..9ea30b90a48 100644
+--- a/src/extension/internal/pdfinput/pdf-parser.cpp
++++ b/src/extension/internal/pdfinput/pdf-parser.cpp
+@@ -2403,6 +2403,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ int bits;
+ GBool interpolate;
+ StreamColorSpaceMode csMode;
++ GBool hasAlpha;
+ GBool mask;
+ GBool invert;
+ Object maskObj, smaskObj;
+@@ -2414,7 +2415,8 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ // get info from the stream
+ bits = 0;
+ csMode = streamCSNone;
+- str->getImageParams(&bits, &csMode);
++ hasAlpha = false;
++ str->_POPPLER_GET_IMAGE_PARAMS(&bits, &csMode, &hasAlpha);
+
+ // get stream dict
+ dict = str->getDict();
+diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
+index 8f03aa17779..b7a54828e74 100644
+--- a/src/extension/internal/pdfinput/poppler-transition-api.h
++++ b/src/extension/internal/pdfinput/poppler-transition-api.h
+@@ -39,6 +39,12 @@
+ #define _POPPLER_FUNCTION_TYPE_STITCHING 3
+ #endif
+
++#if POPPLER_CHECK_VERSION(24,12,0)
++#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha) getImageParams(bits, csMode, hasAlpha)
++#else
++#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha) getImageParams(bits, csMode)
++#endif
++
+ #if POPPLER_CHECK_VERSION(22, 4, 0)
+ #define _POPPLER_FONTPTR_TO_GFX8(font_ptr) ((Gfx8BitFont *)font_ptr.get())
+ #else
+--
+GitLab
+
diff --git a/media-gfx/inkscape/files/inkscape-1.4-poppler-25.02.0.patch b/media-gfx/inkscape/files/inkscape-1.4-poppler-25.02.0.patch
new file mode 100644
index 000000000000..21f41e1b155c
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.4-poppler-25.02.0.patch
@@ -0,0 +1,179 @@
+From 5c4c6d116dae5250d75d34a45f0d9220824d2e20 Mon Sep 17 00:00:00 2001
+From: KrIr17 <elendil.krir17@gmail.com>
+Date: Sun, 9 Feb 2025 22:52:53 +0530
+Subject: [PATCH] Fix building with poppler 25.02.0
+
+1. `getCodeToGIDMap`, `getCIDToGID`, `getCIDToGIDMap` are now `std::vector`
+
+2. `pdfDocEncodingToUTF16` returns an `std::string`
+---
+ .../pdfinput/poppler-cairo-font-engine.cpp | 50 +++++++++++++++----
+ .../pdfinput/poppler-transition-api.h | 20 +++++---
+ 3 files changed, 63 insertions(+), 16 deletions(-)
+
+diff --git a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+index 728b1d1aac4..bd1d4e49367 100644
+--- a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
++++ b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+@@ -405,14 +405,22 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ break;
+ case fontCIDType2:
+ case fontCIDType2OT:
++#if POPPLER_CHECK_VERSION(25,2,0)
++ if (!gfxcid->getCIDToGID().empty()) {
++ const auto src = gfxcid->getCIDToGID();
++ codeToGID = std::move(src);
++ }
++#else
+ if (gfxcid->getCIDToGID()) {
+ n = gfxcid->getCIDToGIDLen();
+ if (n) {
+- const int *src = gfxcid->getCIDToGID();
++ const auto src = gfxcid->getCIDToGID();
+ codeToGID.reserve(n);
+ codeToGID.insert(codeToGID.begin(), src, src + n);
+ }
+- } else {
++ }
++#endif
++ else {
+ #if POPPLER_CHECK_VERSION(22, 1, 0)
+ std::unique_ptr<FoFiTrueType> ff;
+ #else
+@@ -427,13 +435,18 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ goto err2;
+ }
+ #if POPPLER_CHECK_VERSION(22, 1, 0)
+- int *src = gfxcid->getCodeToGIDMap(ff.get(), &n);
++ auto src = gfxcid->_POPPLER_GET_CODE_TO_GID_MAP(ff.get(), &n);
+ #else
+- int *src = gfxcid->getCodeToGIDMap(ff, &n);
++ auto src = gfxcid->_POPPLER_GET_CODE_TO_GID_MAP(ff, &n);
+ #endif
++
++#if POPPLER_CHECK_VERSION(25,2,0)
++ codeToGID = std::move(src);
++#else
+ codeToGID.reserve(n);
+ codeToGID.insert(codeToGID.begin(), src, src + n);
+ gfree(src);
++#endif
+ }
+ /* Fall through */
+ case fontTrueType:
+@@ -455,13 +468,17 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ /* This might be set already for the CIDType2 case */
+ if (fontType == fontTrueType || fontType == fontTrueTypeOT) {
+ #if POPPLER_CHECK_VERSION(22, 1, 0)
+- int *src = gfx8bit->getCodeToGIDMap(ff.get());
++ auto src = gfx8bit->getCodeToGIDMap(ff.get());
+ #else
+- int *src = gfx8bit->getCodeToGIDMap(ff);
++ auto src = gfx8bit->getCodeToGIDMap(ff);
+ #endif
++#if POPPLER_CHECK_VERSION(25,2,0)
++ codeToGID = std::move(src);
++#else
+ codeToGID.reserve(256);
+ codeToGID.insert(codeToGID.begin(), src, src + 256);
+ gfree(src);
++#endif
+ }
+ font_face = getFreeTypeFontFace(fontEngine, lib, fileName, std::move(font_data));
+ if (!font_face) {
+@@ -479,10 +496,14 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ ff1c = FoFiType1C::load(fileName.c_str());
+ }
+ if (ff1c) {
+- int *src = ff1c->getCIDToGIDMap(&n);
++ auto src = ff1c->_POPPLER_GET_CID_TO_GID_MAP(&n);
++#if POPPLER_CHECK_VERSION(25,2,0)
++ codeToGID = std::move(src);
++#else
+ codeToGID.reserve(n);
+ codeToGID.insert(codeToGID.begin(), src, src + n);
+ gfree(src);
++#endif
+ delete ff1c;
+ }
+ }
+@@ -495,14 +516,21 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ break;
+
+ case fontCIDType0COT:
++#if POPPLER_CHECK_VERSION(25,2,0)
++ if (!gfxcid->getCIDToGID().empty()) {
++ const auto src = gfxcid->getCIDToGID();
++ codeToGID = std::move(src);
++ }
++#else
+ if (gfxcid->getCIDToGID()) {
+ n = gfxcid->getCIDToGIDLen();
+ if (n) {
+- const int *src = gfxcid->getCIDToGID();
++ const auto src = gfxcid->getCIDToGID();
+ codeToGID.reserve(n);
+ codeToGID.insert(codeToGID.begin(), src, src + n);
+ }
+ }
++#endif
+
+ if (codeToGID.empty()) {
+ if (!useCIDs) {
+@@ -518,10 +546,14 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ }
+ if (ff) {
+ if (ff->isOpenTypeCFF()) {
+- int *src = ff->getCIDToGIDMap(&n);
++ auto src = ff1c->_POPPLER_GET_CID_TO_GID_MAP(&n);
++#if POPPLER_CHECK_VERSION(25,2,0)
++ codeToGID = std::move(src);
++#else
+ codeToGID.reserve(n);
+ codeToGID.insert(codeToGID.begin(), src, src + n);
+ gfree(src);
++#endif
+ }
+ }
+ }
+diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
+index b7a54828e74..a67132ba6bd 100644
+--- a/src/extension/internal/pdfinput/poppler-transition-api.h
++++ b/src/extension/internal/pdfinput/poppler-transition-api.h
+@@ -15,6 +15,20 @@
+ #include <glib/poppler-features.h>
+ #include <poppler/UTF.h>
+
++#if POPPLER_CHECK_VERSION(25,2,0)
++#define _POPPLER_GET_CODE_TO_GID_MAP(ff, len) getCodeToGIDMap(ff)
++#define _POPPLER_GET_CID_TO_GID_MAP(len) getCIDToGIDMap()
++#else
++#define _POPPLER_GET_CODE_TO_GID_MAP(ff, len) getCodeToGIDMap(ff, len)
++#define _POPPLER_GET_CID_TO_GID_MAP(len) getCIDToGIDMap(len)
++#endif
++
++#if POPPLER_CHECK_VERSION(24,12,0)
++#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha) getImageParams(bits, csMode, hasAlpha)
++#else
++#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha) getImageParams(bits, csMode)
++#endif
++
+ #if POPPLER_CHECK_VERSION(24, 10, 0)
+ #define _POPPLER_CONSUME_UNIQPTR_ARG(value) std::move(value)
+ #else
+@@ -39,12 +53,6 @@
+ #define _POPPLER_FUNCTION_TYPE_STITCHING 3
+ #endif
+
+-#if POPPLER_CHECK_VERSION(24,12,0)
+-#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha) getImageParams(bits, csMode, hasAlpha)
+-#else
+-#define _POPPLER_GET_IMAGE_PARAMS(bits, csMode, hasAlpha) getImageParams(bits, csMode)
+-#endif
+-
+ #if POPPLER_CHECK_VERSION(22, 4, 0)
+ #define _POPPLER_FONTPTR_TO_GFX8(font_ptr) ((Gfx8BitFont *)font_ptr.get())
+ #else
+--
+GitLab
+
diff --git a/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild b/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild
deleted file mode 100644
index d9b60c0ac627..000000000000
--- a/media-gfx/inkscape/inkscape-1.3.2-r2.ebuild
+++ /dev/null
@@ -1,213 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit cmake flag-o-matic xdg toolchain-funcs python-single-r1
-
-MY_P="${P/_/}"
-DESCRIPTION="SVG based generic vector-drawing program"
-HOMEPAGE="https://inkscape.org/ https://gitlab.com/inkscape/inkscape/"
-
-if [[ ${PV} = 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git"
-else
- SRC_URI="https://media.inkscape.org/dl/resources/file/${P}.tar.xz"
- KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
-fi
-
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-2 LGPL-2.1"
-SLOT="0"
-IUSE="cdr dia exif graphicsmagick imagemagick inkjar jpeg openmp postscript readline sourceview spell svg2 test visio wpg X"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-# Lots of test failures which need investigating, bug #871621
-RESTRICT="!test? ( test ) test"
-
-BDEPEND="
- dev-util/glib-utils
- >=sys-devel/gettext-0.17
- virtual/pkgconfig
- test? ( virtual/imagemagick-tools )
-"
-COMMON_DEPEND="${PYTHON_DEPS}
- >=app-text/poppler-0.57.0:=[cairo]
- >=dev-cpp/cairomm-1.12:0
- >=dev-cpp/glibmm-2.54.1:2
- dev-cpp/gtkmm:3.0
- >=dev-cpp/pangomm-2.40:1.4
- >=dev-libs/boehm-gc-7.1:=
- dev-libs/boost:=[stacktrace(-)]
- dev-libs/double-conversion:=
- >=dev-libs/glib-2.41
- >=dev-libs/libsigc++-2.8:2
- >=dev-libs/libxml2-2.7.4
- >=dev-libs/libxslt-1.1.25
- dev-libs/popt
- media-gfx/potrace
- media-libs/libepoxy
- media-libs/fontconfig
- media-libs/freetype:2
- media-libs/lcms:2
- media-libs/libpng:0=
- net-libs/libsoup:2.4
- sci-libs/gsl:=
- >=x11-libs/pango-1.44
- x11-libs/gtk+:3[X?]
- X? ( x11-libs/libX11 )
- $(python_gen_cond_dep '
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/cachecontrol[${PYTHON_USEDEP}]
- dev-python/cssselect[${PYTHON_USEDEP}]
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/lockfile[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}]
- media-gfx/scour[${PYTHON_USEDEP}]
- ')
- cdr? (
- app-text/libwpg:0.3
- dev-libs/librevenge
- media-libs/libcdr
- )
- exif? ( media-libs/libexif )
- imagemagick? (
- !graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
- graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
- )
- jpeg? ( media-libs/libjpeg-turbo:= )
- readline? ( sys-libs/readline:= )
- sourceview? ( x11-libs/gtksourceview:4 )
- spell? ( app-text/gspell )
- visio? (
- app-text/libwpg:0.3
- dev-libs/librevenge
- media-libs/libvisio
- )
- wpg? (
- app-text/libwpg:0.3
- dev-libs/librevenge
- )
-"
-# These only use executables provided by these packages
-# See share/extensions for more details. inkscape can tell you to
-# install these so we could of course just not depend on those and rely
-# on that.
-RDEPEND="${COMMON_DEPEND}
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ')
- dia? ( app-office/dia )
- postscript? ( app-text/ghostscript-gpl )
-"
-DEPEND="${COMMON_DEPEND}
- test? ( dev-cpp/gtest )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-libxml2-2.12.patch
- "${FILESDIR}"/${P}-poppler-24.03.patch
- "${FILESDIR}"/${P}-poppler-24.05.patch # bug 931917
- "${FILESDIR}"/${P}-cxx20.patch # bug 931917
- "${FILESDIR}"/${P}-cxx20-2.patch # bug 933216
-)
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = 9999* ]]; then
- git-r3_src_unpack
- else
- default
- fi
- [[ -d "${S}" ]] || mv -v "${WORKDIR}/${P}_202"?-??-* "${S}" || die
-}
-
-src_prepare() {
- cmake_src_prepare
- sed -i "/install.*COPYING/d" CMakeScripts/ConfigCPack.cmake || die
-}
-
-src_configure() {
- # ODR violation (https://gitlab.com/inkscape/lib2geom/-/issues/71, bug #859628)
- filter-lto
- # Aliasing unsafe (bug #310393)
- append-flags -fno-strict-aliasing
-
- local mycmakeargs=(
- # -DWITH_LPETOOL # Compile with LPE Tool and experimental LPEs enabled
- -DWITH_NLS=ON
- -DENABLE_POPPLER=ON
- -DENABLE_POPPLER_CAIRO=ON
- -DWITH_PROFILING=OFF
- -DWITH_INTERNAL_CAIRO=OFF
- -DWITH_INTERNAL_2GEOM=ON
- -DBUILD_TESTING=$(usex test)
- -DWITH_LIBCDR=$(usex cdr)
- -DWITH_IMAGE_MAGICK=$(usex imagemagick $(usex !graphicsmagick)) # requires ImageMagick 6, only IM must be enabled
- -DWITH_GRAPHICS_MAGICK=$(usex graphicsmagick $(usex imagemagick)) # both must be enabled to use GraphicsMagick
- -DWITH_GNU_READLINE=$(usex readline)
- -DWITH_GSPELL=$(usex spell)
- -DWITH_JEMALLOC=OFF
- -DENABLE_LCMS=ON
- -DWITH_OPENMP=$(usex openmp)
- -DBUILD_SHARED_LIBS=ON
- -DWITH_GSOURCEVIEW=$(usex sourceview)
- -DWITH_SVG2=$(usex svg2)
- -DWITH_LIBVISIO=$(usex visio)
- -DWITH_LIBWPG=$(usex wpg)
- -DWITH_X11=$(usex X)
- )
-
- cmake_src_configure
-}
-
-src_test() {
- CMAKE_SKIP_TESTS=(
- # render_text*: needs patched Cairo / maybe upstream changes
- # not yet in a release.
- # test_lpe/test_lpe64: precision differences b/c of new GCC?
- # cli_export-png-color-mode-gray-8_png_check_output: ditto?
- render_test-use
- render_test-glyph-y-pos
- render_text-glyphs-combining
- render_text-glyphs-vertical
- render_test-rtl-vertical
- test_lpe
- test_lpe64
- cli_export-png-color-mode-gray-8_png_check_output
- )
-
- # bug #871621
- cmake_src_compile tests
- cmake_src_test -j1
-}
-
-src_install() {
- cmake_src_install
-
- find "${ED}" -type f -name "*.la" -delete || die
- find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.bz2' -exec bzip2 -d {} \; || die
- find "${ED}"/usr/share/man -type f -maxdepth 3 -name '*.gz' -exec gzip -d {} \; || die
-
- local extdir="${ED}"/usr/share/${PN}/extensions
- if [[ -e "${extdir}" ]] && [[ -n $(find "${extdir}" -mindepth 1) ]]; then
- python_fix_shebang "${ED}"/usr/share/${PN}/extensions
- python_optimize "${ED}"/usr/share/${PN}/extensions
- fi
-
- # Empty directory causes sandbox issues, see bug #761915
- rm -r "${ED}/usr/share/inkscape/fonts" || die "Failed to remove fonts directory."
-}
diff --git a/media-gfx/inkscape/inkscape-1.4-r1.ebuild b/media-gfx/inkscape/inkscape-1.4-r1.ebuild
index b3ecdedf0a6f..5991d288758d 100644
--- a/media-gfx/inkscape/inkscape-1.4-r1.ebuild
+++ b/media-gfx/inkscape/inkscape-1.4-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ if [[ ${PV} = 9999* ]]; then
EGIT_REPO_URI="https://gitlab.com/inkscape/inkscape.git"
else
SRC_URI="https://media.inkscape.org/dl/resources/file/${MY_P}.tar.xz"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
fi
S="${WORKDIR}/${MY_P}"
@@ -116,6 +116,8 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.4-gcc15.patch
"${FILESDIR}"/${PN}-1.4-poppler-24.10-fix-backport.patch
"${FILESDIR}"/${P}-poppler-24.11.0.patch # bug 943499
+ "${FILESDIR}"/${P}-poppler-24.12.0.patch # bug 946597
+ "${FILESDIR}"/${P}-poppler-25.02.0.patch # bug 949531
)
pkg_pretend() {
diff --git a/media-gfx/kgeotag/Manifest b/media-gfx/kgeotag/Manifest
index 25d6e8222789..de34698af822 100644
--- a/media-gfx/kgeotag/Manifest
+++ b/media-gfx/kgeotag/Manifest
@@ -1 +1 @@
-DIST kgeotag-1.6.0.tar.xz 421756 BLAKE2B c7095ff83d40a68ece81c2a54d2a5f3182872a69242d21341d155cf83d50d11fbb6cea8b0b354a91ff6082ae93787e24fd06981586e8bf02abf63571ab83f015 SHA512 cd2ac5e30e5c4267fec39d73a56550c22c1e9197a231e63a429dceeb692e06cd907959f97a96cb875e8d69008c6289ebdc1f1f93e876818383896e8024bde721
+DIST kgeotag-1.7.0.tar.xz 422672 BLAKE2B fa3d5582c496506a869898eaed163fa488b63311fcf71651fc927b1ed54ede4840791a23a16a0d11883fe743e29e70b4aa4ec957881b4287ced4f66017840fdb SHA512 6f8813788d8257feb3a96588675c9d066220486ba3f9a216bef55d372cf0f4aebce86a1a52565b93022eb424aace2df9a13d09b1903dd03ed33495d01581489e
diff --git a/media-gfx/kgeotag/files/kgeotag-1.3.1-cmake.patch b/media-gfx/kgeotag/files/kgeotag-1.3.1-cmake.patch
deleted file mode 100644
index 77be87736126..000000000000
--- a/media-gfx/kgeotag/files/kgeotag-1.3.1-cmake.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From d119fbfaabb7709710243f353211bab69b5ad5b6 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sun, 11 Sep 2022 23:26:04 +0200
-Subject: [PATCH] Add doc subdirectory as usual and create docbook in subdir
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- CMakeLists.txt | 6 +-----
- doc/CMakeLists.txt | 5 +++++
- 2 files changed, 6 insertions(+), 5 deletions(-)
- create mode 100644 doc/CMakeLists.txt
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 8ba51d5..62f0d35 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -124,11 +124,7 @@ target_link_libraries(kgeotag
- )
-
- # Documentation
--kdoctools_create_handbook(
-- doc/index.docbook
-- INSTALL_DESTINATION "${KDE_INSTALL_DOCBUNDLEDIR}/en"
-- SUBDIR kgeotag
--)
-+add_subdirectory(doc)
-
- # Installation
-
-diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
-new file mode 100644
-index 0000000..6200463
---- /dev/null
-+++ b/doc/CMakeLists.txt
-@@ -0,0 +1,5 @@
-+kdoctools_create_handbook(
-+ index.docbook
-+ INSTALL_DESTINATION "${KDE_INSTALL_DOCBUNDLEDIR}/en"
-+ SUBDIR kgeotag
-+)
---
-2.37.3
-
diff --git a/media-gfx/kgeotag/kgeotag-1.6.0.ebuild b/media-gfx/kgeotag/kgeotag-1.6.0.ebuild
deleted file mode 100644
index ebbc9c06e6f5..000000000000
--- a/media-gfx/kgeotag/kgeotag-1.6.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_HANDBOOK="forceoptional"
-KFMIN=5.106.0
-QTMIN=5.15.9
-inherit ecm kde.org
-
-DESCRIPTION="Photo geotagging program"
-HOMEPAGE="https://kgeotag.kde.org/ https://apps.kde.org/kgeotag/"
-
-if [[ ${KDE_BUILD_TYPE} != live ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64"
-fi
-
-LICENSE="GPL-3+"
-SLOT="5"
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- kde-apps/libkexiv2:5
- kde-apps/marble: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/kxmlgui-${KFMIN}:5
-"
-RDEPEND="${DEPEND}"
-
-DOCS=( CHANGELOG.rst README.md )
-
-PATCHES=( "${FILESDIR}/${PN}-1.3.1-cmake.patch" )
diff --git a/media-gfx/kgeotag/kgeotag-1.7.0.ebuild b/media-gfx/kgeotag/kgeotag-1.7.0.ebuild
new file mode 100644
index 000000000000..a8764167058c
--- /dev/null
+++ b/media-gfx/kgeotag/kgeotag-1.7.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.5.0
+QTMIN=6.7.2
+inherit ecm kde.org
+
+DESCRIPTION="Photo geotagging program"
+HOMEPAGE="https://kgeotag.kde.org/ https://apps.kde.org/kgeotag/"
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui,network,widgets]
+ kde-apps/libkexiv2:6
+ kde-apps/marble:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kcrash-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+"
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:5
+"
+
+DOCS=( CHANGELOG.rst README.md )
diff --git a/media-gfx/kgraphviewer/Manifest b/media-gfx/kgraphviewer/Manifest
index 011ef0bbd630..c30089ea6e60 100644
--- a/media-gfx/kgraphviewer/Manifest
+++ b/media-gfx/kgraphviewer/Manifest
@@ -1 +1,2 @@
DIST kgraphviewer-24.08.3.tar.xz 1585380 BLAKE2B fc81b58297565e816ab6b7fae266d0e485b31792ae4796cb3d3ac3b9b51a5494a5209fe8f3176f003d1427cf34587376683c1700c6dc9919fe0caacddf3df4d5 SHA512 2508800733799ce554b929748129610fcc10dae6769de961b58aff4f21fed3260b100004284b472bc4e7b3be2b3bbd860f13215f643a9ff30cef255212f228e6
+DIST kgraphviewer-24.12.2.tar.xz 1590408 BLAKE2B a5d999d86949c052d53cc8f2224e483bd3dff1ed850a70d7fe74618a9371e39f45ff3a7bb02a4eec731535af59f78dad5496103ae2b922606acd4c33e14f5649 SHA512 7192eaad4008c414da0ec3f4f11fc71be147b955168fb11ac86b5561c626be4a4c6db4c6afd55e540bd8581838efd01333185efb82abc016bc29df9da33d1bed
diff --git a/media-gfx/kgraphviewer/kgraphviewer-24.12.2.ebuild b/media-gfx/kgraphviewer/kgraphviewer-24.12.2.ebuild
new file mode 100644
index 000000000000..c43c182e73d8
--- /dev/null
+++ b/media-gfx/kgraphviewer/kgraphviewer-24.12.2.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="optional"
+KFMIN=6.7.0
+QTMIN=6.7.2
+inherit ecm gear.kde.org
+
+DESCRIPTION="Graphviz dot graph file viewer"
+HOMEPAGE="https://apps.kde.org/kgraphviewer/"
+
+LICENSE="GPL-2 GPL-2+ LGPL-2+ LGPL-2.1+ handbook? ( FDL-1.2 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE=""
+
+RDEPEND="
+ >=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="${RDEPEND}
+ dev-libs/boost
+"
diff --git a/media-gfx/kio-blender-thumbnailer/Manifest b/media-gfx/kio-blender-thumbnailer/Manifest
index 6fe273e80734..b38c61ca1612 100644
--- a/media-gfx/kio-blender-thumbnailer/Manifest
+++ b/media-gfx/kio-blender-thumbnailer/Manifest
@@ -1,2 +1,2 @@
-DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f
DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d
+DIST kdegraphics-thumbnailers-24.12.2.tar.xz 49160 BLAKE2B 9a37e1744bbf7aea50d8e6c529c9ed9f53584c0999351ea5dec5420409de0736910d4b090883dd367906f58a10207c83c11194d96e606f246d8c20384e044b07 SHA512 639fb54e727986ce307e4dca1713fef5d66b689ae0a8ec070b210c3d02475a69f4861f678a25a91f57d0deee03473519e982594cc2bd64df00734869a4bd81bd
diff --git a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.12.2.ebuild
index 5c0f56be9ad1..e852be248b99 100644
--- a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild
+++ b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.12.2.ebuild
@@ -1,36 +1,36 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
KDE_ORG_NAME="kdegraphics-thumbnailers"
-KFMIN=5.106.0
-QTMIN=5.15.9
+KFMIN=6.7.0
+QTMIN=6.7.2
inherit ecm gear.kde.org
DESCRIPTION="KIO thumbnail generator for Blender files"
HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/"
LICENSE="GPL-2+"
-SLOT="5"
-KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-frameworks/karchive-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
"
RDEPEND="${DEPEND}
- !<kde-apps/thumbnailers-23.08.5-r1:5
+ !<kde-apps/thumbnailers-24.05.2-r1:6
"
src_configure() {
local mycmakeargs=(
-DBUILD_ps=OFF
-DDISABLE_MOBIPOCKET=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_KF5KDcraw=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket6=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KExiv2Qt6=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KDcrawQt6=ON
)
ecm_src_configure
}
diff --git a/media-gfx/kio-mobi-thumbnailer/Manifest b/media-gfx/kio-mobi-thumbnailer/Manifest
index 6fe273e80734..b38c61ca1612 100644
--- a/media-gfx/kio-mobi-thumbnailer/Manifest
+++ b/media-gfx/kio-mobi-thumbnailer/Manifest
@@ -1,2 +1,2 @@
-DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f
DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d
+DIST kdegraphics-thumbnailers-24.12.2.tar.xz 49160 BLAKE2B 9a37e1744bbf7aea50d8e6c529c9ed9f53584c0999351ea5dec5420409de0736910d4b090883dd367906f58a10207c83c11194d96e606f246d8c20384e044b07 SHA512 639fb54e727986ce307e4dca1713fef5d66b689ae0a8ec070b210c3d02475a69f4861f678a25a91f57d0deee03473519e982594cc2bd64df00734869a4bd81bd
diff --git a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.12.2.ebuild
index 2c151ad528c0..4c05aa88f6cc 100644
--- a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild
+++ b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.12.2.ebuild
@@ -1,28 +1,28 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
KDE_ORG_NAME="kdegraphics-thumbnailers"
PVCUT=$(ver_cut 1-3)
-KFMIN=5.106.0
-QTMIN=5.15.9
+KFMIN=6.7.0
+QTMIN=6.7.2
inherit ecm gear.kde.org
DESCRIPTION="KIO thumbnail generator for Mobipocket files"
HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/"
LICENSE="GPL-2+"
-SLOT="5"
-KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-apps/kdegraphics-mobipocket-${PVCUT}:5
- >=kde-frameworks/kio-${KFMIN}:5
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=kde-apps/kdegraphics-mobipocket-${PVCUT}:6
+ >=kde-frameworks/kio-${KFMIN}:6
"
RDEPEND="${DEPEND}
- !<kde-apps/thumbnailers-23.08.5-r1:5
+ !<kde-apps/thumbnailers-24.05.2-r1:6
"
src_prepare() {
@@ -34,8 +34,8 @@ src_configure() {
local mycmakeargs=(
-DBUILD_ps=OFF
-DBUILD_blend=OFF
- -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_KF5KDcraw=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KExiv2Qt6=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KDcrawQt6=ON
)
ecm_src_configure
diff --git a/media-gfx/kio-ps-thumbnailer/Manifest b/media-gfx/kio-ps-thumbnailer/Manifest
index 6fe273e80734..b38c61ca1612 100644
--- a/media-gfx/kio-ps-thumbnailer/Manifest
+++ b/media-gfx/kio-ps-thumbnailer/Manifest
@@ -1,2 +1,2 @@
-DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f
DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d
+DIST kdegraphics-thumbnailers-24.12.2.tar.xz 49160 BLAKE2B 9a37e1744bbf7aea50d8e6c529c9ed9f53584c0999351ea5dec5420409de0736910d4b090883dd367906f58a10207c83c11194d96e606f246d8c20384e044b07 SHA512 639fb54e727986ce307e4dca1713fef5d66b689ae0a8ec070b210c3d02475a69f4861f678a25a91f57d0deee03473519e982594cc2bd64df00734869a4bd81bd
diff --git a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.12.2.ebuild
index c6e1caecc1b5..d002dcff1a42 100644
--- a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild
+++ b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.12.2.ebuild
@@ -1,26 +1,26 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
KDE_ORG_NAME="kdegraphics-thumbnailers"
-KFMIN=5.106.0
-QTMIN=5.15.9
+KFMIN=6.7.0
+QTMIN=6.7.2
inherit ecm gear.kde.org
DESCRIPTION="KIO thumbnail generator for DVI, EPS, PDF and PS files"
HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/"
LICENSE="GPL-2+"
-SLOT="5"
-KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=kde-frameworks/kio-${KFMIN}:6
"
RDEPEND="${DEPEND}
- !<kde-apps/thumbnailers-23.08.5-r1:5
+ !<kde-apps/thumbnailers-24.05.2-r1:6
app-text/dvipsk
app-text/ghostscript-gpl
"
@@ -34,9 +34,9 @@ src_configure() {
local mycmakeargs=(
-DBUILD_blend=OFF
-DDISABLE_MOBIPOCKET=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_KF5KDcraw=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket6=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KExiv2Qt6=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_KDcrawQt6=ON
)
ecm_src_configure
diff --git a/media-gfx/kio-raw-thumbnailer/Manifest b/media-gfx/kio-raw-thumbnailer/Manifest
index 6fe273e80734..b38c61ca1612 100644
--- a/media-gfx/kio-raw-thumbnailer/Manifest
+++ b/media-gfx/kio-raw-thumbnailer/Manifest
@@ -1,2 +1,2 @@
-DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f
DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d
+DIST kdegraphics-thumbnailers-24.12.2.tar.xz 49160 BLAKE2B 9a37e1744bbf7aea50d8e6c529c9ed9f53584c0999351ea5dec5420409de0736910d4b090883dd367906f58a10207c83c11194d96e606f246d8c20384e044b07 SHA512 639fb54e727986ce307e4dca1713fef5d66b689ae0a8ec070b210c3d02475a69f4861f678a25a91f57d0deee03473519e982594cc2bd64df00734869a4bd81bd
diff --git a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.12.2.ebuild
index 632c1da4fcfb..339e42401a70 100644
--- a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild
+++ b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.12.2.ebuild
@@ -1,29 +1,29 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
KDE_ORG_NAME="kdegraphics-thumbnailers"
PVCUT=$(ver_cut 1-3)
-KFMIN=5.106.0
-QTMIN=5.15.9
+KFMIN=6.7.0
+QTMIN=6.7.2
inherit ecm gear.kde.org
DESCRIPTION="KIO thumbnail generator for RAW files"
HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/"
LICENSE="GPL-2+"
-SLOT="5"
-KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+SLOT="6"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-apps/libkdcraw-${PVCUT}:5
- >=kde-apps/libkexiv2-${PVCUT}:5
- >=kde-frameworks/kio-${KFMIN}:5
+ >=dev-qt/qtbase-${QTMIN}:6[gui]
+ >=kde-apps/libkdcraw-${PVCUT}:6
+ >=kde-apps/libkexiv2-${PVCUT}:6
+ >=kde-frameworks/kio-${KFMIN}:6
"
RDEPEND="${DEPEND}
- !<kde-apps/thumbnailers-23.08.5-r1:5
+ !<kde-apps/thumbnailers-24.05.2-r1:6
"
src_prepare() {
@@ -36,7 +36,7 @@ src_configure() {
-DBUILD_blend=OFF
-DBUILD_ps=OFF
-DDISABLE_MOBIPOCKET=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket=ON
+ -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket6=ON
)
ecm_src_configure
diff --git a/media-gfx/kphotoalbum/Manifest b/media-gfx/kphotoalbum/Manifest
index cb8b642f1423..dee21061f66e 100644
--- a/media-gfx/kphotoalbum/Manifest
+++ b/media-gfx/kphotoalbum/Manifest
@@ -1 +1 @@
-DIST kphotoalbum-5.13.0.tar.xz 11477268 BLAKE2B 7127b544822aadb73fc94cc660065bab5ac682d2ce60c92d8e2d436de0fedfc06868c5117645141a9c1a0147abec5440bb91b66d923a3af6c23bd8436a77756a SHA512 0e26d0ee3ac94803427c09375325625122fbda2b1ec0974e9b6d5c5fea33f05c95707bc7e42cfc9ed2403003355c3ba55a8b0ada8c32e85d923c4c499aa28b13
+DIST kphotoalbum-6.0.1.tar.xz 11526784 BLAKE2B 2ebeb977ed902a66116305d3774f86820efa0eb1676af1f07847fc9374d1e6f51010e8953eafd9b95efd1f5f866b7ef0d1835c7e1cec8ed777e4b045fa52dc6b SHA512 9d0a9e45f32da3f129688b575021a6fff2dd6c0cdb0f8b8c479c33d5243f251d0598e331b8029a9e95d442a9b63cae8a43f2e1232a82b6c6a86daa5d0d6e7690
diff --git a/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild b/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild
deleted file mode 100644
index 41dc69e86f90..000000000000
--- a/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_HANDBOOK="forceoptional"
-ECM_TEST="forceoptional"
-KFMIN=5.115.0
-QTMIN=5.15.12
-inherit ecm kde.org
-
-DESCRIPTION="Tool for indexing, searching, and viewing images"
-HOMEPAGE="https://www.kphotoalbum.org/"
-
-if [[ ${KDE_BUILD_TYPE} != live ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="GPL-2+ FDL-1.2 CC-BY-SA-4.0"
-SLOT="5"
-IUSE="map phonon +raw share +vlc"
-
-REQUIRED_USE="|| ( phonon vlc )"
-
-DEPEND="
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5[jpeg]
- >=dev-qt/qtsql-${QTMIN}:5[sqlite]
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtxml-${QTMIN}:5
- >=kde-frameworks/karchive-${KFMIN}:5
- >=kde-frameworks/kcompletion-${KFMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kconfigwidgets-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kiconthemes-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
- >=kde-frameworks/kjobwidgets-${KFMIN}:5
- >=kde-frameworks/kservice-${KFMIN}:5
- >=kde-frameworks/ktextwidgets-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- media-gfx/exiv2:=
- media-libs/libjpeg-turbo:=
- map? ( kde-apps/marble:5 )
- phonon? ( >=media-libs/phonon-4.12.0[qt5(-)] )
- raw? ( kde-apps/libkdcraw:5 )
- share? ( >=kde-frameworks/kxmlgui-${KFMIN}:5 )
- vlc? ( media-video/vlc:= )
-"
-RDEPEND="${DEPEND}
- media-video/ffmpeg
-"
-
-DOCS=( CHANGELOG.{md,old} README.md )
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_QtAV=ON # bug 758641, last-rited
- $(cmake_use_find_package map Marble)
- $(cmake_use_find_package phonon Phonon4Qt5)
- $(cmake_use_find_package raw KF5KDcraw)
- $(cmake_use_find_package share KF5Purpose)
- $(cmake_use_find_package vlc LIBVLC)
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/kphotoalbum/kphotoalbum-6.0.1.ebuild b/media-gfx/kphotoalbum/kphotoalbum-6.0.1.ebuild
new file mode 100644
index 000000000000..5e84b2de7265
--- /dev/null
+++ b/media-gfx/kphotoalbum/kphotoalbum-6.0.1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_HANDBOOK="forceoptional"
+ECM_TEST="forceoptional"
+KFMIN=6.5.0
+QTMIN=6.7.2
+inherit ecm kde.org
+
+DESCRIPTION="Tool for indexing, searching, and viewing images"
+HOMEPAGE="https://www.kphotoalbum.org/"
+
+if [[ ${KDE_BUILD_TYPE} != live ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="GPL-2+ FDL-1.2 CC-BY-SA-4.0"
+SLOT="0"
+IUSE="+map phonon +raw share +vlc"
+
+REQUIRED_USE="|| ( phonon vlc )"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,sql,sqlite,widgets,xml]
+ >=kde-frameworks/karchive-${KFMIN}:6
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kiconthemes-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kjobwidgets-${KFMIN}:6
+ >=kde-frameworks/kservice-${KFMIN}:6
+ >=kde-frameworks/ktextwidgets-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ media-gfx/exiv2:=
+ media-libs/libjpeg-turbo:=
+ map? ( kde-apps/marble:6 )
+ phonon? ( >=media-libs/phonon-4.12.0[qt6(+)] )
+ raw? ( kde-apps/libkdcraw:6 )
+ share? ( >=kde-frameworks/kxmlgui-${KFMIN}:6 )
+ vlc? ( media-video/vlc:= )
+"
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:5
+ media-video/ffmpeg
+"
+
+DOCS=( CHANGELOG.{md,old} README.md )
+
+src_configure() {
+ local mycmakeargs=(
+ $(cmake_use_find_package map Marble)
+ $(cmake_use_find_package phonon Phonon4Qt6)
+ $(cmake_use_find_package raw KDcrawQt6)
+ $(cmake_use_find_package share KF6Purpose)
+ $(cmake_use_find_package vlc LIBVLC)
+ )
+
+ ecm_src_configure
+}
diff --git a/media-gfx/krita/Manifest b/media-gfx/krita/Manifest
index 03f79f628ff9..c4dbd845af4d 100644
--- a/media-gfx/krita/Manifest
+++ b/media-gfx/krita/Manifest
@@ -1 +1,2 @@
DIST krita-5.2.6.tar.xz 186560016 BLAKE2B 788385983b371626214898391b08b1276a74b2ee3c9f01c1b1ae19d8791bfcf1ea1f59f6304643aeb6b16a2559fd2e45464596c721eb5d53546672d0efe17903 SHA512 8502ebef11ae066b298e999aba06df7858605cca14b889cec167b7ee3953b8ed86459b44ed90508d59bd7a9968cc9957309cefaa140a8d20293344f4dcb7fea7
+DIST krita-5.2.9.tar.xz 186574780 BLAKE2B de6be9c1de9854271fedd115902693183ed1953ad4a7dc47602bcdc5f70907bac5489ecd510fcf9507f35293e8fd8d34385374cca3ca054fb01749d96c63a22b SHA512 fc4af177371afad307a77047ceff3fb793c76e6e8b64382acd950bd89d6fc12fb2c83d76d8e8d0482860add178b8fe70ac05b1db4bc0e17520be53b9190e4bfe
diff --git a/media-gfx/krita/krita-5.2.6.ebuild b/media-gfx/krita/krita-5.2.6.ebuild
index 057f0f3539d7..00fbf4b56f35 100644
--- a/media-gfx/krita/krita-5.2.6.ebuild
+++ b/media-gfx/krita/krita-5.2.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -107,6 +107,11 @@ pkg_setup() {
ecm_pkg_setup
}
+src_prepare() {
+ ecm_src_prepare
+ cmake_comment_add_subdirectory benchmarks # bug 939842
+}
+
src_configure() {
# Prevent sandbox violation from FindPyQt5.py module
# See Gentoo-bug 655918
diff --git a/media-gfx/krita/krita-5.2.9.ebuild b/media-gfx/krita/krita-5.2.9.ebuild
new file mode 100644
index 000000000000..78250afcc18b
--- /dev/null
+++ b/media-gfx/krita/krita-5.2.9.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_TEST="forceoptional"
+PYTHON_COMPAT=( python3_{10..13} )
+KFMIN=5.115.0
+QTMIN=5.15.12
+inherit ecm kde.org python-single-r1
+
+if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+DESCRIPTION="Free digital painting application. Digital Painting, Creative Freedom!"
+HOMEPAGE="https://apps.kde.org/krita/ https://krita.org/en/"
+
+LICENSE="GPL-3"
+SLOT="5"
+IUSE="color-management fftw gif +gsl heif 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-1.3-r2:=[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}"/${PN}-5.2.3-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_prepare() {
+ ecm_src_prepare
+ cmake_comment_add_subdirectory benchmarks # bug 939842
+}
+
+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/kxstitch/Manifest b/media-gfx/kxstitch/Manifest
index 756774fdacc0..b48dbbf9c7f6 100644
--- a/media-gfx/kxstitch/Manifest
+++ b/media-gfx/kxstitch/Manifest
@@ -1 +1 @@
-DIST kxstitch-2.2.0.tar.xz 1784360 BLAKE2B 6d06090bb33ccd4db7e8b8a3521b0e1377f253b472cc500862b1b8b0da1abf0d759a85a870b50a1a1f55f385274cdc94761e612a838d93aaffb76191df725150 SHA512 bf09130a35bc605db2bbd6e5e129ac494e8f02b920d4a8d6705b5030a9339306b3b302bd988839e1684da3e5e15e91d655dadf916eb4bf2dc9c1322fd435281d
+DIST kxstitch-3.0.0_pre20250110-073debc5.tar.gz 2407504 BLAKE2B b564193a21094f25356cc2ef90815c90f975d307ef3fed2468ebf5f2a980e1976e5267a8362bb441ca7e67f4f53e3c64e481c285a243d0c0d5a77ee2b7ae0c41 SHA512 e4888f526c113425efad0a7de5705e5e9b28359ef581dc0445be6492754c61ff689233583907d953298532da025769b99ed2e54c3e9b2f4f7c0688c4265e5533
diff --git a/media-gfx/kxstitch/files/kxstitch-2.2.0-drop-xkeylock.patch b/media-gfx/kxstitch/files/kxstitch-2.2.0-drop-xkeylock.patch
deleted file mode 100644
index 805a67ea97c8..000000000000
--- a/media-gfx/kxstitch/files/kxstitch-2.2.0-drop-xkeylock.patch
+++ /dev/null
@@ -1,180 +0,0 @@
-From f97d3eaf4c06b4740fcec63c9c0ca64a5bd56281 Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Sun, 28 Jun 2020 12:01:49 +0200
-Subject: [PATCH] cmake: require KGuiAddons
-
-It will be used soon.
----
- CMakeLists.txt | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 36e3169..7ccf7f0 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -32,6 +32,7 @@ find_package (KF5 REQUIRED COMPONENTS
- Config
- ConfigWidgets
- Completion
-+ GuiAddons
- I18n
- KIO
- TextWidgets
-@@ -145,6 +146,7 @@ target_link_libraries (kxstitch
- Qt5::X11Extras
- KF5::Completion
- KF5::ConfigGui
-+ KF5::GuiAddons
- KF5::KIOFileWidgets
- KF5::I18n
- KF5::TextWidgets
---
-GitLab
-
-From 817be56369a25de4dd12f2548f97e4ebcfb73571 Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Sun, 28 Jun 2020 12:02:34 +0200
-Subject: [PATCH] Switch from XKeyLock to KModifierKeyInfo
-
-Use KModifierKeyInfo from the KGuiAddons framework to get the status
-of keys. In particular, use it to get the status of the Caps Lock key
-instead of the local XKeyLock implementation.
-
-The KModifierKeyInfo object is kept as class member to avoid recreating
-it at each key press in Alphabet mode.
----
- src/Editor.cpp | 4 +---
- src/Editor.h | 4 ++++
- 2 files changed, 5 insertions(+), 3 deletions(-)
-
-diff --git a/src/Editor.cpp b/src/Editor.cpp
-index bba0760..163e88e 100644
---- a/src/Editor.cpp
-+++ b/src/Editor.cpp
-@@ -46,7 +46,6 @@
- #include "Scale.h"
- #include "SchemeManager.h"
- #include "TextToolDlg.h"
--#include "XKeyLock.h"
-
-
- const Editor::keyPressCallPointer Editor::keyPressCallPointers[] = {
-@@ -858,10 +857,9 @@ void Editor::keyPressText(QKeyEvent *e)
-
- void Editor::keyPressAlphabet(QKeyEvent *e)
- {
-- XKeyLock keylock(QX11Info::display());
- Qt::KeyboardModifiers modifiers = e->modifiers();
-
-- if (keylock.getCapsLock() && Configuration::alphabet_UseCapsLock()) {
-+ if (m_keyInfo.isKeyPressed(Qt::Key_CapsLock) && Configuration::alphabet_UseCapsLock()) {
- modifiers = static_cast<Qt::KeyboardModifiers>(modifiers ^ Qt::ShiftModifier);
- }
-
-diff --git a/src/Editor.h b/src/Editor.h
-index 3189249..8345a38 100644
---- a/src/Editor.h
-+++ b/src/Editor.h
-@@ -16,6 +16,8 @@
- #include <QStack>
- #include <QWidget>
-
-+#include <KModifierKeyInfo>
-+
- #include "Stitch.h"
-
- #include "configuration.h"
-@@ -337,6 +339,8 @@ private:
- QStack<QPoint> m_cursorStack;
- QMap<int, int> m_cursorCommands;
-
-+ KModifierKeyInfo m_keyInfo;
-+
- typedef void (Editor::*keyPressCallPointer)(QKeyEvent*);
- typedef void (Editor::*toolInitCallPointer)();
- typedef void (Editor::*toolCleanupCallPointer)();
---
-GitLab
-
-From 17d6a17830ce190cd21f266dd319e36e4865e30a Mon Sep 17 00:00:00 2001
-From: Pino Toscano <pino@kde.org>
-Date: Sun, 28 Jun 2020 12:13:37 +0200
-Subject: [PATCH] Drop XKeyLock & X11 leftovers
-
-XKeyLock is not used anymore, so it can be dropped together with the
-X11 and QX11Extras requirements.
----
- CMakeLists.txt | 6 --
- src/Editor.cpp | 1 -
- src/XKeyLock.cpp | 202 -----------------------------------------------
- src/XKeyLock.h | 70 ----------------
- 4 files changed, 279 deletions(-)
- delete mode 100644 src/XKeyLock.cpp
- delete mode 100644 src/XKeyLock.h
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 7ccf7f0..c225859 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -23,7 +23,6 @@ find_package (Qt5 CONFIG REQUIRED
- Core
- PrintSupport
- Widgets
-- X11Extras
- )
-
- find_package (KF5DocTools)
-@@ -41,7 +40,6 @@ find_package (KF5 REQUIRED COMPONENTS
- )
-
- find_package (ImageMagick COMPONENTS MagickCore Magick++ REQUIRED)
--find_package (X11 REQUIRED)
- find_package (Doxygen)
- find_package (SharedMimeInfo)
-
-@@ -57,7 +55,6 @@ include_directories (BEFORE ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_D
- # only in older cmake versions, while the latter only in newer ones
- include_directories (${ImageMagick_Magick++_INCLUDE_DIR} ${ImageMagick_MagickCore_INCLUDE_DIR})
- include_directories (${ImageMagick_Magick++_INCLUDE_DIRS} ${ImageMagick_MagickCore_INCLUDE_DIRS})
--include_directories (${X11_INCLUDE_DIR})
-
- set (kxstitch_SRCS
- src/BackgroundImage.cpp
-@@ -96,7 +93,6 @@ set (kxstitch_SRCS
- src/Symbol.cpp
- src/SymbolLibrary.cpp
- src/SymbolManager.cpp
-- src/XKeyLock.cpp
-
- src/AlphaSelect.cpp
- src/CalibrateFlossDlg.cpp
-@@ -143,7 +139,6 @@ target_link_libraries (kxstitch
- Qt5::Core
- Qt5::PrintSupport
- Qt5::Widgets
-- Qt5::X11Extras
- KF5::Completion
- KF5::ConfigGui
- KF5::GuiAddons
-@@ -153,7 +148,6 @@ target_link_libraries (kxstitch
- KF5::WidgetsAddons
- KF5::XmlGui
- ${ImageMagick_Magick++_LIBRARY} ${ImageMagick_MagickCore_LIBRARY}
-- ${X11_LIBRARIES}
- )
-
- set (WITH_PROFILING OFF CACHE BOOL "Build with profiling support")
-diff --git a/src/Editor.cpp b/src/Editor.cpp
-index 163e88e..4d314e4 100644
---- a/src/Editor.cpp
-+++ b/src/Editor.cpp
-@@ -24,7 +24,6 @@
- #include <QScrollArea>
- #include <QStyleOptionRubberBand>
- #include <QToolTip>
--#include <QX11Info>
-
- #include <KLocalizedString>
- #include <KMessageBox>
---
-GitLab
diff --git a/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-hidpi.patch b/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-hidpi.patch
deleted file mode 100644
index bf5d94dae4d6..000000000000
--- a/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-hidpi.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 44d231b5604480601bedc623ca2f5204bd4a3ac8 Mon Sep 17 00:00:00 2001
-From: Nicolas Fella <nicolas.fella@gmx.de>
-Date: Sun, 11 Sep 2022 15:55:44 +0200
-Subject: [PATCH] Enable highdpi scaling and pixmaps
-
----
- src/Main.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/src/Main.cpp b/src/Main.cpp
-index 0af162a..4088d37 100644
---- a/src/Main.cpp
-+++ b/src/Main.cpp
-@@ -85,6 +85,9 @@
- */
- int main(int argc, char *argv[])
- {
-+ QGuiApplication::setAttribute(Qt::AA_UseHighDpiPixmaps);
-+ QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling);
-+
- QApplication app(argc, argv);
- KLocalizedString::setApplicationDomain("kxstitch");
-
---
-GitLab
-
diff --git a/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-render-scaled-painter.patch b/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-render-scaled-painter.patch
deleted file mode 100644
index 5b2bc07aa1ed..000000000000
--- a/media-gfx/kxstitch/files/kxstitch-2.2.0-fix-render-scaled-painter.patch
+++ /dev/null
@@ -1,202 +0,0 @@
-From c9e6a03c32fe6e6901fad8439bf2235ddb8c288c Mon Sep 17 00:00:00 2001
-From: Steve Allewell <steve.allewell@gmail.com>
-Date: Sun, 3 Jan 2021 13:43:59 +0000
-Subject: [PATCH] Fix for rendering on scaled painter
-
-Fixes for rendering seletion areas on scaled painter in recent versions
-of Qt which were half a square out.
----
- src/Editor.cpp | 74 ++++++++++++++++++++++++++++----------------------
- 1 file changed, 41 insertions(+), 33 deletions(-)
-
-diff --git a/src/Editor.cpp b/src/Editor.cpp
-index 4d314e4..263df1e 100644
---- a/src/Editor.cpp
-+++ b/src/Editor.cpp
-@@ -1388,11 +1388,12 @@ void Editor::renderRubberBandRectangle(QPainter *painter, const QRect&)
- if (m_rubberBand.isValid()) {
- painter->setRenderHint(QPainter::Qt4CompatiblePainting, true);
-
-+ painter->resetTransform();
- QStyleOptionRubberBand opt;
- opt.initFrom(this);
- opt.shape = QRubberBand::Rectangle;
- opt.opaque = false;
-- opt.rect = m_rubberBand.adjusted(0, 0, 1, 1);
-+ opt.rect = rectToContents(m_rubberBand);
-
- style()->drawControl(QStyle::CE_RubberBand, &opt, painter);
- }
-@@ -1408,14 +1409,15 @@ void Editor::renderRubberBandEllipse(QPainter *painter, const QRect&)
- if (m_rubberBand.isValid()) {
- painter->setRenderHint(QPainter::Qt4CompatiblePainting, true);
-
-- painter->setPen(Qt::NoPen);
-- painter->setBrush(QColor(200,225,255));
-- painter->setOpacity(0.5);
-- painter->drawEllipse(m_rubberBand);
-+ painter->resetTransform();
-+ QStyleOptionRubberBand opt;
-+ opt.initFrom(this);
-
-- painter->setPen(Qt::darkBlue);
-- painter->setBrush(Qt::NoBrush);
-- painter->drawEllipse(m_rubberBand);
-+ painter->setPen(opt.palette.color(QPalette::WindowText));
-+ painter->setBrush(QBrush(opt.palette.color(QPalette::Highlight), Qt::Dense4Pattern));
-+ painter->setBackground(QBrush(opt.palette.base()));
-+ painter->setBackgroundMode(Qt::TransparentMode);
-+ painter->drawEllipse(rectToContents(m_rubberBand));
- }
-
- painter->restore();
-@@ -1427,7 +1429,10 @@ void Editor::renderFillPolygon(QPainter *painter, const QRect&)
- QPolygonF polyline;
- painter->save();
-
-- painter->setPen(Qt::green); // use green for the first point
-+ QPen pen(Qt::green);
-+ pen.setWidth(0);
-+
-+ painter->setPen(pen); // use green for the first point
- painter->setBrush(Qt::green);
-
- QVector<QPoint>::const_iterator i;
-@@ -1435,7 +1440,8 @@ void Editor::renderFillPolygon(QPainter *painter, const QRect&)
- for (i = m_polygon.constBegin() ; i != m_polygon.constEnd() ; ++i) {
- QPointF cell = QPointF(*i) + QPointF(0.5, 0.5);
- painter->drawEllipse(QRectF(-0.5, -0.5, 1, 1).translated(cell));
-- painter->setPen(Qt::blue); // use blue for subsequent points
-+ pen.setColor(Qt::blue);
-+ painter->setPen(pen); // use blue for subsequent points
- painter->setBrush(Qt::blue);
- polyline.append(cell);
- }
-@@ -1555,9 +1561,9 @@ void Editor::mouseMoveEvent_Draw(QMouseEvent *e)
-
- dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y());
-
-- m_cellTracking = contentsToCell(p);
-- m_cellEnd = m_cellTracking;
-- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized();
-+ m_cellEnd = m_cellTracking = contentsToCell(p);
-+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1)));
-+
- update();
- }
-
-@@ -1703,9 +1709,9 @@ void Editor::mouseMoveEvent_Rectangle(QMouseEvent *e)
-
- dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y());
-
-- m_cellTracking = contentsToCell(p);
-- m_cellEnd = m_cellTracking;
-- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized();
-+ m_cellEnd = m_cellTracking = contentsToCell(p);
-+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1)));
-+
- update();
- }
-
-@@ -1757,9 +1763,9 @@ void Editor::mouseMoveEvent_FillRectangle(QMouseEvent *e)
-
- dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y());
-
-- m_cellTracking = contentsToCell(p);
-- m_cellEnd = m_cellTracking;
-- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized();
-+ m_cellEnd = m_cellTracking = contentsToCell(p);
-+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1)));
-+
- update();
- }
-
-@@ -1793,9 +1799,9 @@ void Editor::mouseMoveEvent_Ellipse(QMouseEvent *e)
-
- dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y());
-
-- m_cellTracking = contentsToCell(p);
-- m_cellEnd = m_cellTracking;
-- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized();
-+ m_cellEnd = m_cellTracking = contentsToCell(p);
-+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1)));
-+
- update();
- }
-
-@@ -1848,9 +1854,9 @@ void Editor::mouseMoveEvent_FillEllipse(QMouseEvent *e)
-
- dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y());
-
-- m_cellTracking = contentsToCell(p);
-- m_cellEnd = m_cellTracking;
-- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized();
-+ m_cellEnd = m_cellTracking = contentsToCell(p);
-+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1)));
-+
- update();
- }
-
-@@ -1877,7 +1883,7 @@ void Editor::mouseReleaseEvent_FillEllipse(QMouseEvent*)
- painter.setRenderHint(QPainter::Antialiasing, !useFractionals);
- painter.setPen(QPen(Qt::color1));
- painter.setBrush(Qt::color1);
-- painter.drawEllipse(QRect(m_cellStart, m_cellEnd).normalized());
-+ painter.drawEllipse(QRect(m_cellStart, QSize(1,1)).united(QRect(m_cellEnd, QSize(1, 1))));
- painter.end();
-
- QUndoCommand *cmd = new FillEllipseCommand(m_document);
-@@ -1894,6 +1900,7 @@ void Editor::mousePressEvent_FillPolygon(QMouseEvent *e)
- {
- m_cellStart = m_cellTracking = m_cellEnd = contentsToCell(e->pos());
- m_polygon.append(m_cellStart);
-+
- update();
- }
-
-@@ -2001,6 +2008,7 @@ void Editor::mouseReleaseEvent_Alphabet(QMouseEvent *e)
-
- m_cellStart = m_cellTracking = m_cellEnd = contentsToCell(e->pos());
- m_cursorStack.push(m_cellEnd);
-+
- update();
- }
-
-@@ -2023,9 +2031,9 @@ void Editor::mouseMoveEvent_Select(QMouseEvent *e)
-
- dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y());
-
-- m_cellTracking = contentsToCell(p);
-- m_cellEnd = m_cellTracking;
-- m_rubberBand = QRect(m_cellStart, m_cellEnd).normalized();
-+ m_cellEnd = m_cellTracking = contentsToCell(p);
-+ m_rubberBand = QRect(m_cellStart, QSize(1, 1)).united(QRect(m_cellEnd, QSize(1, 1)));
-+
- update();
-
- QToolTip::showText(QCursor::pos(), QString::fromLatin1("%1,%2 %3 x %4").arg(m_rubberBand.left()).arg(m_rubberBand.top()).arg(m_rubberBand.width()).arg(m_rubberBand.height()));
-@@ -2034,7 +2042,7 @@ void Editor::mouseMoveEvent_Select(QMouseEvent *e)
-
- void Editor::mouseReleaseEvent_Select(QMouseEvent*)
- {
-- m_selectionArea = QRect(m_cellStart, m_cellEnd).normalized();
-+ m_selectionArea = m_rubberBand;
- emit(selectionMade(true));
- }
-
-@@ -2052,9 +2060,9 @@ void Editor::mouseMoveEvent_Backstitch(QMouseEvent *e)
-
- dynamic_cast<QScrollArea *>(parentWidget()->parentWidget())->ensureVisible(p.x(), p.y());
-
-- m_cellTracking = contentsToSnap(p);
-- m_cellEnd = m_cellTracking;
-- m_rubberBand = (snapToCells(m_cellStart).united(snapToCells(m_cellEnd))).normalized();
-+ m_cellEnd = m_cellTracking = contentsToSnap(p);
-+ m_rubberBand = snapToCells(m_cellStart).united(snapToCells(m_cellEnd));
-+
- update();
- }
-
---
-GitLab
-
diff --git a/media-gfx/kxstitch/kxstitch-2.2.0-r1.ebuild b/media-gfx/kxstitch/kxstitch-2.2.0-r1.ebuild
deleted file mode 100644
index 927de1cf02ef..000000000000
--- a/media-gfx/kxstitch/kxstitch-2.2.0-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_HANDBOOK="forceoptional"
-KFMIN=5.82.0
-QTMIN=5.15.5
-inherit ecm kde.org
-
-DESCRIPTION="Program to create cross stitch patterns"
-HOMEPAGE="https://apps.kde.org/kxstitch/ https://userbase.kde.org/KXStitch"
-SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
-
-LICENSE="GPL-2+"
-SLOT="5"
-KEYWORDS="~amd64"
-IUSE=""
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtxml-${QTMIN}:5
- >=kde-frameworks/kcompletion-${KFMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kconfigwidgets-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kguiaddons-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
- >=kde-frameworks/ktextwidgets-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- media-gfx/imagemagick[cxx]
-"
-RDEPEND="${DEPEND}"
-BDEPEND="sys-devel/gettext"
-
-PATCHES=(
- "${FILESDIR}/${P}-drop-xkeylock.patch"
- "${FILESDIR}/${P}-fix-render-scaled-painter.patch"
- "${FILESDIR}/${P}-fix-hidpi.patch"
-)
diff --git a/media-gfx/kxstitch/kxstitch-3.0.0_pre20250110.ebuild b/media-gfx/kxstitch/kxstitch-3.0.0_pre20250110.ebuild
new file mode 100644
index 000000000000..3a9523862ca1
--- /dev/null
+++ b/media-gfx/kxstitch/kxstitch-3.0.0_pre20250110.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=073debc567d0d6e14bbe560b2322dd1571520a96
+ECM_HANDBOOK="forceoptional"
+KFMIN=6.5.0
+QTMIN=6.7.2
+inherit ecm kde.org
+
+DESCRIPTION="Program to create cross stitch patterns"
+HOMEPAGE="https://apps.kde.org/kxstitch/ https://userbase.kde.org/KXStitch"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE=""
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui,widgets,xml]
+ >=kde-frameworks/kcompletion-${KFMIN}:6
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/kguiaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/ktextwidgets-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+ media-gfx/imagemagick[cxx]
+"
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:5
+"
+BDEPEND="
+ sys-devel/gettext
+ virtual/pkgconfig
+"
diff --git a/media-gfx/libimagequant/Manifest b/media-gfx/libimagequant/Manifest
index fd1d00911a74..346616bb6bc6 100644
--- a/media-gfx/libimagequant/Manifest
+++ b/media-gfx/libimagequant/Manifest
@@ -1,37 +1,58 @@
DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
+DIST adler2-2.0.0.crate 13529 BLAKE2B ec575b0bf12e321399ac3a1d59fce4ddbeabcc60cb3d7c2f362cce23eb29b4ea836451372d6d88552a4435ae29bb41d6230d55f625a4359eace680b9b771d0ad SHA512 12d12579ad617cf1a94cf95ab9d3f5db566c3b2de4bd5735eccd83c668fdad0eff134c996b73c46cbb9f932837682043878b8cc4764191625e9f93ccffcce423
DIST ahash-0.8.6.crate 42780 BLAKE2B ce2fb8201a484715d42bbd9ca1bfe2d5f541d90e3619ebd437c34a018920b679d5a11f9e96be48fbdabd2e98a379c0395d118616f21eb9004724d8fcb04b2b2b SHA512 46428b27e96be1f30058b9383a94988beeb5064dfb4df04d6959b451d0c77ef69fc51f07fdf9511ab9728295eb6beee7783c31a2297f9e473fc537883e722b73
DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
+DIST arrayvec-0.7.6.crate 31237 BLAKE2B b9d1df7e3ec47d434a2606fe9540e37e02351873b376a4e113b54461288e9ab20e02285eed5c4bc0f052ec4d6b3c804044413490ea706c31a852624b03bde7bb SHA512 b1f320746018a7f32340a833420089446ec5cefb7f299b4506eab7423d5db49f00b72d8aa8c6600f9159b9480d5eb3ce69407d93f5c9934147860c83e4d6eca8
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
+DIST bitflags-2.8.0.crate 47482 BLAKE2B cfa5dac5bb9fda57a5887773399d2507e83ed30fb0c5a332c48905f912c9b8d3c5e6493a9626a73459cb67d63973efff719ab4153a14e774ff4a632c96872ca2 SHA512 f1bc02c858432b0e1fc3b10f239c5886e51d620d55a75521bdf35c8e8f6b6cf8db97e90e08eb2e96715a2c5b28858af305eb266f1ce0c90f9d3945d6d9bdda8b
DIST bytemuck-1.14.0.crate 44933 BLAKE2B afd34f2becc41484e7bf71fb4a9f0925870a4f2d9d59daff9e91bada000462baeced4314e469a508d4413a8f2442d83a5f3082193653403fbee1340ab5c3f6c5 SHA512 f072a97e5de93228435bb362363ac1af0738b7927832b02a837f44eb21b0b089589b61e73004a06c5e4d4601e66bb42e67b9f707bbf13429a40b6250a0f05ae5
+DIST bytemuck-1.21.0.crate 51553 BLAKE2B dbd88d153c79cd87d6a51d33e49dde7b825711339367a168cf2471fc98a41e72d4d759873d542c3c6e196a6baed4f099103dbdfd369a329bb4578864b9ffb448 SHA512 64abfc5c0430b8bbb4b75fa7ee43037ceb180699655c0862b2699f3823fc445d931d3284ccc88dfdc98ed1a24a660cf6ea1040f91c6b2ba1cb21ab83c89d9b18
DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cc-1.2.13.crate 102839 BLAKE2B 8a9134b529123badc5e16263fb0a778ad53e84c6aae415fc68029769eb2bc1ab62323e609372f3321ce34d2b56c57637165297694ea8933128952d628d541adf SHA512 291880b18276aeb8a5e436a1e114127bc266842b42708168a5cd41b8b46b0bbd84431346a393de0b961e7dd46eee992ad1a0c61e4c72384f99a09884162c2773
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST crc32fast-1.3.2.crate 38661 BLAKE2B ce3762b03d24d5367d89738991c060f4b3af7840e0a7ac7fc17d01ed438caf964bbaefad0fc4d0c438dafa5a578429ddd353c71197f8b54b1ec441395f2f7ee0 SHA512 a683943e252afdb1b9d626a07533ed11cf7a63af603c19640056c5d2b9c884ad9aff33ac54c0853ffca2f6cf94b0730eae6c05abf3e53e55e709d180c8152357
+DIST crc32fast-1.4.2.crate 38491 BLAKE2B aaa3acca66e5814a45f12a90ae09f6ff5fc14ca94c8539184dab6ed928abc68cd1d37e539c268c1effd50ab3af20de6038593fb9c6bd6a664785dac52f6939fd SHA512 c7608d33022062e217d3576f536ffbd51479855a5e5874529c71db2bf6a937ce04d814c39cf777309c38445393bf43cb9996161947e28738abd432f11beb7266
DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
+DIST crossbeam-deque-0.8.6.crate 22471 BLAKE2B 02b854df171b0430ca8a40349674ff251698d0c322c317055da8678da6661730c945d86737fa4947c3bd824ffe402271ee2f77fd6a505d2d46b4a41454c510c8 SHA512 9368c0c224c4b84356f1d422d8869a5ab4bfb36b0ff69244a9e7a7304ed51f034001cd9b2bc35849df874d36ed34285c66574943573522ea32bbdc5a05df6989
DIST crossbeam-epoch-0.9.15.crate 48553 BLAKE2B 23aa0532d3126e22efc779859478098e505b4ec895c643530a3f7e8dba0543df3d8ffcb6825b1d3869a4418e17d798d464b3e1bb51522435d50f53ac224e22c8 SHA512 d9292c059ef1d156da52950137b2b3ea5eab66c4cc2f763d02078d0b0106980839ebed2ae2aec53e026ee7b3ddc37c4b51370d925ada1ad13d9981934daa7bde
+DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
DIST crossbeam-utils-0.8.16.crate 42508 BLAKE2B dfaf9e7cade2cb5a2de90dc622e58a69c5b28fe9f69d3cbb945431683cf48fb409565190e3414a815563afb12631d990476919890fc482ce6b5792fdc25536a7 SHA512 4b8d599a8b93015eea2fd404cdf1526fbb94662fffc7c64d2f0659aeef349e4ad682f61b2b85d075c7f3fbbc4d8106cd7caf6e65dae117ba982f31262df3f831
+DIST crossbeam-utils-0.8.21.crate 42691 BLAKE2B cd9015c41f532eb3c90101603f32d383f01e6880718b727d6d1fe46872ae276cda685e1b548cf77dd22bb1a05f0d4c4982332c2bde90e1743dbd7f51919022a7 SHA512 6f4aa7ca10c20da291c4714b56ceb1fab1c06b03b2f4e28e474e9aeb95ab6615a25462dc7819713652c3b5f6a06fa0f24ebc92c533fcf35dfcf2655857d975f8
+DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322
DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
DIST fallible_collections-0.4.9.crate 49824 BLAKE2B 467d10142eacb467917d4a6ddf086751bc3d66be1ef8925bee2c6fba85e002dc85c3f536ed2026172af02f239d2b1efc8aa066df7ea8dde6f040cb37efb5a363 SHA512 0b669e8cd7f3335e793b3c420ce1629ace341654d4c2d88a7c665bb24ca747236b85f999d08cd1fe9f46288ce588890d9d7b5d5fc3eb7fbbc0f2cea9822b8682
DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
+DIST flate2-1.0.35.crate 109188 BLAKE2B 8bd6e51c3bcc06044e5b8d7ead950c3beab6c6337052fd48e86175f0fc98c8d12804274308ee515dc6156bbedb2277dfa2706cdcd7baaf2a789122473248486e SHA512 aa2c4f0ad46cfbc7d2bfbdffd226eaa37f5223a34d132d8fb2dfd04c20d15a96c4882cc377fd72afbc7d13e512f5e9934386b0390a0ab2b171d081335c58fad4
DIST hashbrown-0.13.2.crate 105265 BLAKE2B e9ff7e6e753166ab3051a834df6f2da81a19ac6997ba269ab13a65e0abb9ce00839311785aefb451553284ad5ef3a0cda925dc2bc188d2a138a78578e530969c SHA512 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70
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 libc-0.2.169.crate 757901 BLAKE2B 1012cf93d8975aa20fc3f2332e253426ff66be6aed63ace5292cc8568ee419b0f1a4b5b39ddbb78d9c2dfd8d72eb0d068c98faa229ab55556da5e674429f0e97 SHA512 c4566330a7967efc211edf31a23647d1a33aa51fc25aa4e9337716748c8fd4be0ae63679220ff2cf6e892f37d03bc5264c55e8f082eb82574a6ec1fa8e5e45ce
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.2.tar.gz 87901 BLAKE2B ea824acbefab49a6a891fda7b495d9f654ade94ce02ffddd79338957da177f32a7772bf3004f9a874122f2a39c34aeaa8598733a05b1ec233c8701411caabb6d SHA512 31bd79024abc1fd884461f8f422d6eac1f5786ce347ac3c517e9cb66f289ad1ace0e3a25c55c7b7384badb2545174871464d60f1238ed2deb1f521d5f3ede96b
DIST libimagequant-4.3.0.tar.gz 87960 BLAKE2B 7d386572970314f6571c4f68cceb440d3cf74740fb5e5d8271608f979d14a05b233e85da5f06489224fc2ef9de0382fa55992bb810e533a0c025aaf4db8cc790 SHA512 5bff79a88592508718af87773ca2234952d27ae06439b3bf0128a1043f3f9fc92d9cdebe57da55996d4709dffd6a9009adc7a45fd11330cdaf99f5623a7fe47f
+DIST libimagequant-4.3.4.tar.gz 88710 BLAKE2B 7cfd695b4514c6f8c7414b447a96c638ccc7d3a6d3fe71584c22c5d2cd0ba984a5da5123c77d0a06e271b350d8fbdbdec2ecc5be8de178287ac2f46a98d0d53a SHA512 224ea686792a25ff49aea6a94554222d155eef37e1c70644351717cc3eb6db7918da5cc555c11c0d48344879dade7b5536f58299a6ce997c7ccfd32122c0a7b8
+DIST lodepng-3.11.0.crate 52160 BLAKE2B 5bb7f1e5ea755bb0794dde05c236506830e6d332d3b5cbacd2531f912701aa1246fcf9e23c1245b971d3427c2fbb9bb556ccacc4687dc3f66dff57e8d03f5d47 SHA512 46eaf62834496551d23e012e533314fc51f88c43aafe4dad5876f0c1bbd7a213d12e92e698e8a2dd4436e1a1085ab75676e859962e1a2bdc1240daa3f0de4d59
DIST lodepng-3.9.1.crate 50399 BLAKE2B 26b6b85d8d2cb412bdc7f16a60d1b291eb2d15bb37085bb862a19f62436cb1c82ed185e8c86a51c7540ca4a3829c7176e10fc942b3f48530e91a6c77e7e5690b SHA512 f659ef159f3bf450a94fe27ff0b7f7de05e44148aad3343a076fa9494899aea9b0c9c4df935a4a2bbee7a6863dc9ba5d7a8a6f907a052c47d8aaf3c88539d7e2
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
DIST miniz_oxide-0.7.1.crate 55194 BLAKE2B 56afbe0c0b3eca98105ae2d507493f365353cce29a6b04910ff26bc75899400fdbd067756cbda7b3d86f047fb8f3d737de00043a4a7348a813cc43e45824e33f SHA512 5eb6ffe34a866403273ff0267ff7838aeb50722ca57a03d5a1d842a5f19a3b4af570b133a3b9d64d78eafe49e4b9732b92dd63fd9c6b0ce59b3295daf10f6a3c
+DIST miniz_oxide-0.8.3.crate 61827 BLAKE2B ae8626de8711a8b7c2bce52d2e226a3e973ba6919ed33904883ae6287f848fcf40642afdb9ad71bba19db181fe9ea354c85cd81c1dad889588d5df8fcc99b9f2 SHA512 b79cd67a477851b18ed87c887bfd9f40f97059eb3fedbdc3a52eac66b5fcea42cae833eea39fd62becdb057b337f91d27f2087a407d02770feeaea934c0b1e1c
DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST once_cell-1.20.3.crate 33456 BLAKE2B b16081751a1b6649d0235fe9cef3fd0a9023d4f6980521933e4a411282458050ca27c1a8aa01d5237d424fa279219b5713da21d8900eccc3100d19c37d24b7a2 SHA512 3ede903f232d6ced73aa74c6b2e2ec306012517eac684db253913df4656515d087d1aff9f437a58fdeecb77cedf8a5960d6772d72bf1f1f19f1ce3fe54bc72dd
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.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
DIST rayon-1.8.0.crate 170172 BLAKE2B e2df52c64435926a13f4f275c4f25a9694316aeb02b73856c600a1a813686ceb20828676d8272393d1aec18eac4f05bfcdc5ef02ff1e19245c547c0313a2a03c SHA512 ab1cef238530d81c255b6631ecfed9cc4f3f8d7cb6a74701d29c1dcb022cc5b859db1d246cf8247d47702fdadcedfe64a6749e24cf6c7258e8c9411af7e4524a
DIST rayon-core-1.12.0.crate 70081 BLAKE2B ef1bb1d430776b0ad49aa523cfe83bb0aa3a381b2e571db74cb8de04bbff884b8c269de31d7afbfd609118c445bf079afd2d4920842c8a8b312d329e4675cfc0 SHA512 588fa479c499e1620e25c5818996f0376d3bf526272af6c50a17ca0ccf0f8f67b03a3a665938575a86a8edc1f101a37ab01133b27f904eb5c291bbfc581135b2
+DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
DIST rgb-0.8.37.crate 16644 BLAKE2B 4f158ac34c03627bae762a3b579901d4737c2b71d9cd96b18024bf7f297169c3edb097d0d67289f8e20b2275a0613a45eedc8fae306437b76435eabaf8cb0793 SHA512 72491fb2c315ee347c7474e6f9b3d6eaaf1db66ddf163214df8466a4a8ccb0aaaed76fc4c72808b70bfbcdf9dc2a109511ccf8e405e4a006b349030e8ad199a8
+DIST rgb-0.8.50.crate 21980 BLAKE2B 9a1b50f41e335e558d7404b342c81b5d9862a256456ade25bbe46dc18592170a9c7e8ce388901a5453e4d14ef24231ea2bf2d684f62c3051d79fd0bb85a87359 SHA512 cfbbaea59d5ba440c2c7e781771885a23e7f86c0c255e060010e04b55b8228242a5d566f2247753fbd4e339249add996d607271fa3dd90025324d413c6506550
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST shlex-1.3.0.crate 18713 BLAKE2B 18800c364d3a628f1a3125097ea82fe6286550c2997235df0bf8483a3906aacabc81308cb239887d46ba2f457cc6f8acd5aca78316707eea5098cd5666aea67d SHA512 5c8cedbe666a14b8a0874defb9208146ce64579cde52ed483e4a794cac5dde6a24bf8d684404edff582f842e1fd4fa3fbeddbe074f191e4ec4aa517aa456fe8a
DIST syn-2.0.38.crate 243284 BLAKE2B 660de454989016dbb352c262d5d066ddc663eafcb928a2f62f61e6faf14cceed5cfbc37559e3795e1ce7886c78842be71eaa82ddced0cd6dd99ad99f95ab8ca4 SHA512 84fd4f4bc6de97cdb63a1ee9161daf8fb8fd1fa0f3c3bba4a29c463cd62cffd292c45b8cf17fd0911e580098cadc7b167e4e686595d31d72e7b53ee7df6d5f04
DIST thread_local-1.1.7.crate 13585 BLAKE2B f497dbcdfaf7dbc8b4b0dd97f77ba93df15b63303e7894c9032c9822a5b8111e0a21db2fa8cfdce5a503f70959ac9cdf48c840b925bdd850dc15e8436ba72379 SHA512 3772452c2a349fb564d29bb06e13c8ae64807db27c3ee217fa04fd0e9847e94adeea582b82ffc2d9116f31ff478eb088550caf1346c263de49b55fa17b431c31
+DIST thread_local-1.1.8.crate 13962 BLAKE2B fce2feddaaebde42bdb83d814929868f06387a4fa25d5becc73ff0b983395aabe076268569c6a89e2d90ce6e68d2ebca7c3e0ba1c9159c61b32631ce39289a9f SHA512 6d7e3941f43c43ac091db5d1cf2a8a3892b54b0634d9200426eadeb82015566532f04b6040085dbdcb10580ac724b6ded8416931d764d795a5f923aced66c492
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST zerocopy-0.7.20.crate 121557 BLAKE2B 24e63690b03c5becade47aa7ed16ef7a3d482c4cc8d0dfcf470f01f7592e3a704e4c52f0ab361b6fca4af18f977e33ff2bb4feb64d13daa1fcb62af9f9731be5 SHA512 fc3f883e4cfa38d01443841242a64575e69fb2ce0cfcdd71a28dd4ccb95e383ea1839a199fb13a58f9faf7608720a38cb0537612d7d832c3582946ee638886a0
diff --git a/media-gfx/libimagequant/libimagequant-4.3.4.ebuild b/media-gfx/libimagequant/libimagequant-4.3.4.ebuild
new file mode 100644
index 000000000000..60bcb0817fff
--- /dev/null
+++ b/media-gfx/libimagequant/libimagequant-4.3.4.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2023-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ adler2@2.0.0
+ arrayvec@0.7.6
+ bitflags@2.8.0
+ bytemuck@1.21.0
+ cc@1.2.13
+ cfg-if@1.0.0
+ crc32fast@1.4.2
+ crossbeam-deque@0.8.6
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.21
+ either@1.13.0
+ flate2@1.0.35
+ libc@0.2.169
+ lodepng@3.11.0
+ miniz_oxide@0.8.3
+ once_cell@1.20.3
+ rayon-core@1.12.1
+ rayon@1.10.0
+ rgb@0.8.50
+ shlex@1.3.0
+ thread_local@1.1.8
+"
+
+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
+ ${CARGO_CRATE_URIS}"
+S="${WORKDIR}"/${P}/imagequant-sys
+
+LICENSE="GPL-3+"
+# Dependent crate licenses
+LICENSE+=" MIT ZLIB"
+SLOT="0/0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~s390 ~sparc"
+
+BDEPEND="
+ >=dev-util/cargo-c-0.9.14
+"
+
+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/librecad/Manifest b/media-gfx/librecad/Manifest
index 031395d55f0b..9e26725ba860 100644
--- a/media-gfx/librecad/Manifest
+++ b/media-gfx/librecad/Manifest
@@ -1 +1,2 @@
DIST librecad-2.2.0.2.tar.gz 13645528 BLAKE2B 43a9ada4d6fe8c0cb96dc1003a9e7aa3b4d21619ce9776de1e6d273dd884f2313f9e90abed9cadcd44aaac2131bb62ffb0105bc0d8a097513ac42b9886107021 SHA512 054c6e6cf35a30099e71dd022574864c42d99db8bfa73b544113573723f8e6db2c92f9b7a827b947528f8ad9c743bca73a77a81bc50a9dc66f290480bb38db05
+DIST librecad-2.2.1.tar.gz 14107087 BLAKE2B 44c7960b79348515661fb59ae9c04949e8ff51282e80ce8335ca4679c74880552d229afcd3cc63d36fe75e06ce7d2dfce399c75f3cb1786448b487765b8966db SHA512 6a76d846e812fbed185c87e0e8362f7c429f9bd78bf739f19bcb12f1f88e5be944e48a38427820907826adec8d33204b7ce51ca2fbacecd0f7b39c6cab09687c
diff --git a/media-gfx/librecad/librecad-2.2.1.ebuild b/media-gfx/librecad/librecad-2.2.1.ebuild
new file mode 100644
index 000000000000..3cb967e47ad6
--- /dev/null
+++ b/media-gfx/librecad/librecad-2.2.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PLOCALES="ar ca cs da de el en en_au es es_ar es_bo es_cl es_co es_cr es_do es_ec es_gt es_hn es_mx es_ni es_pa es_pe es_pr es_py es_sv es_us es_uy es_ve et eu fi fr gl hi hu id_ID it ja ko lv mk nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sv ta tr uk zh_cn zh_tw"
+
+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/libredwg/libredwg-0.13.2.ebuild b/media-gfx/libredwg/libredwg-0.13.2.ebuild
index 57215dfb3169..33c41174dd0d 100644
--- a/media-gfx/libredwg/libredwg-0.13.2.ebuild
+++ b/media-gfx/libredwg/libredwg-0.13.2.ebuild
@@ -41,7 +41,7 @@ DEPEND="${RDEPEND}
"
BDEPEND="|| (
sys-devel/gcc[sanitize]
- sys-libs/compiler-rt-sanitizers[asan(-)]
+ llvm-runtimes/compiler-rt-sanitizers[asan(-)]
)
dev-vcs/git
"
diff --git a/media-gfx/libredwg/libredwg-0.13.3.ebuild b/media-gfx/libredwg/libredwg-0.13.3.ebuild
index d29a75a7f99d..1f179a250623 100644
--- a/media-gfx/libredwg/libredwg-0.13.3.ebuild
+++ b/media-gfx/libredwg/libredwg-0.13.3.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DOCS_BUILDER="doxygen"
# File is hardcoded to be run from ../ so we use this instead of DOCS_DIR
DOCS_CONFIG_NAME="doc/Doxyfile"
@@ -23,12 +23,12 @@ LICENSE="GPL-3+ MIT"
SLOT="0"
KEYWORDS="~amd64"
-# https://github.com/LibreDWG/libredwg/issues/342
-RESTRICT="test"
-
IUSE="debug python perl static-libs"
REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )"
+# https://github.com/LibreDWG/libredwg/issues/342
+RESTRICT="test"
+
RDEPEND="
python? ( ${PYTHON_DEPS} )
perl? ( dev-lang/perl )
@@ -41,7 +41,7 @@ DEPEND="${RDEPEND}
"
BDEPEND="|| (
sys-devel/gcc[sanitize]
- sys-libs/compiler-rt-sanitizers[asan(-)]
+ llvm-runtimes/compiler-rt-sanitizers[asan(-)]
)
dev-vcs/git
"
diff --git a/media-gfx/libredwg/libredwg-0.13.ebuild b/media-gfx/libredwg/libredwg-0.13.ebuild
index 57215dfb3169..33c41174dd0d 100644
--- a/media-gfx/libredwg/libredwg-0.13.ebuild
+++ b/media-gfx/libredwg/libredwg-0.13.ebuild
@@ -41,7 +41,7 @@ DEPEND="${RDEPEND}
"
BDEPEND="|| (
sys-devel/gcc[sanitize]
- sys-libs/compiler-rt-sanitizers[asan(-)]
+ llvm-runtimes/compiler-rt-sanitizers[asan(-)]
)
dev-vcs/git
"
diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.5.1-openmp-automagic.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.5.1-openmp-automagic.patch
deleted file mode 100644
index f0399d271a59..000000000000
--- a/media-gfx/luminance-hdr/files/luminance-hdr-2.5.1-openmp-automagic.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-diff --git a/build_files/Modules/CompilerSettings.cmake b/build_files/Modules/CompilerSettings.cmake
-index f55c130..81e1916 100644
---- a/build_files/Modules/CompilerSettings.cmake
-+++ b/build_files/Modules/CompilerSettings.cmake
-@@ -45,16 +45,19 @@ else()
- message(WARNING "Your C++ compiler does not support C++11.")
- endif()
- #OpenMP Support under Linux, Windows with MSVC & MacOS X with GCC >= 4.3
--IF(MSVC)
-- FIND_PACKAGE(OpenMP REQUIRED)
-- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
-- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
--ELSEIF(CMAKE_COMPILER_IS_GNUCC AND UNIX)
-- EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
-- IF(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
-- MESSAGE(STATUS "GCC >= 4.3")
-+OPTION(USE_OPENMP "Use openmp threading support." ON)
-+IF(USE_OPENMP)
-+ IF(MSVC)
- FIND_PACKAGE(OpenMP REQUIRED)
- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
-+ ELSEIF(CMAKE_COMPILER_IS_GNUCC AND UNIX)
-+ EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
-+ IF(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
-+ MESSAGE(STATUS "GCC >= 4.3")
-+ FIND_PACKAGE(OpenMP REQUIRED)
-+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
-+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
-+ ENDIF()
- ENDIF()
- ENDIF()
diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-clamp-redefinition.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-clamp-redefinition.patch
new file mode 100644
index 000000000000..121a4403b688
--- /dev/null
+++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-clamp-redefinition.patch
@@ -0,0 +1,18 @@
+diff --git a/src/Libpfs/manip/gamma_levels.cpp b/src/Libpfs/manip/gamma_levels.cpp
+index 67975111..c0fb1798 100644
+--- a/src/Libpfs/manip/gamma_levels.cpp
++++ b/src/Libpfs/manip/gamma_levels.cpp
+@@ -31,13 +31,6 @@
+
+ namespace {
+
+-template <typename T>
+-inline T clamp(const T &v, const T &lower_bound, const T &upper_bound) {
+- if (v <= lower_bound) return lower_bound;
+- if (v >= upper_bound) return upper_bound;
+- return v;
+-}
+-
+ ////! \note I assume that *in* contains only value between [0,1]
+ // void gamma_levels_array(const pfs::Array2D* in, pfs::Array2D* out,
+ // float black_in, float white_in,
diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-compilersettings-and-openmp.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-compilersettings-and-openmp.patch
new file mode 100644
index 000000000000..3d3d59bb0166
--- /dev/null
+++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-compilersettings-and-openmp.patch
@@ -0,0 +1,82 @@
+From b44ecdcbfdf4ee1eca2fdb431dfb7dfd63cc8b1f Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 21 Jan 2025 21:37:28 +0100
+Subject: [PATCH] CMake: Cleanup CompilerSettings.cmake
+
+>C++11 is a given, so don't tie down to now old standard;
+fixes build w/ boost-1.87
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ build_files/Modules/CompilerSettings.cmake | 49 ++++------------------
+ 1 file changed, 8 insertions(+), 41 deletions(-)
+
+diff --git a/build_files/Modules/CompilerSettings.cmake b/build_files/Modules/CompilerSettings.cmake
+index 76dbc219..5e25a718 100644
+--- a/build_files/Modules/CompilerSettings.cmake
++++ b/build_files/Modules/CompilerSettings.cmake
+@@ -9,53 +9,20 @@ ADD_DEFINITIONS(-march=core2)
+ ENDIF()
+ ENDIF()
+
+-#Activate C++11 support, when available
+-if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+- add_definitions(-DBRANCH_PREDICTION)
+- execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
+- if (GCC_VERSION VERSION_GREATER 4.7 OR GCC_VERSION VERSION_EQUAL 4.7)
+- message(STATUS "C++11 activated for GCC ${GCC_VERSION}")
+- set(CMAKE_CXX_STANDARD 11)
+- add_definitions(-DLHDR_CXX11_ENABLED)
+- elseif(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
+- message(WARNING "C++0x activated for GCC ${GCC_VERSION}. If you get any errors update to a compiler that fully supports C++11")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x") # add_definitions("-std=gnu++0x")
+- add_definitions(-DLHDR_CXX11_ENABLED)
+- else()
+- message(WARNING "C++11 NOT available. GCC >= 4.3 is needed.")
+- endif()
+-elseif("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+- message(STATUS "C++11 activated for Clang")
+- set(CMAKE_CXX_STANDARD 11)
++set(CMAKE_CXX_STANDARD 20)
++add_definitions(-DLHDR_CXX11_ENABLED)
++add_definitions(-DBRANCH_PREDICTION)
++if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
+ if (APPLE)
+ set(CMAKE_EXE_LINKER_FLAGS "-lc++abi -stdlib=libc++ -rpath @loader_path/../Frameworks/")
+- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ endif()
+- add_definitions(-DLHDR_CXX11_ENABLED)
+- add_definitions(-DBRANCH_PREDICTION)
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wnull-dereference -Wdelete-non-virtual-dtor -Wsign-compare -Wswitch")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wreturn-type -Wself-assign -Wunused-argument -Wunused-function -Wtautological-compare")
+- #OpenMP support under Linux with clang
+- if (UNIX)
+- FIND_PACKAGE(OpenMP REQUIRED)
+- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+- endif()
+-elseif(MSVC)
+- message(STATUS "C++11 is active by default on Microsoft Visual Studio")
+- add_definitions(-DLHDR_CXX11_ENABLED)
+-else()
+- message(WARNING "Your C++ compiler does not support C++11.")
+ endif()
+-#OpenMP Support under Linux, Windows with MSVC & MacOS X with GCC >= 4.3
+-IF(MSVC)
+- FIND_PACKAGE(OpenMP REQUIRED)
+- SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+- SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+-ELSEIF(CMAKE_COMPILER_IS_GNUCC AND UNIX)
+- EXECUTE_PROCESS(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION)
+- IF(GCC_VERSION VERSION_GREATER 4.3 OR GCC_VERSION VERSION_EQUAL 4.3)
+- MESSAGE(STATUS "GCC >= 4.3")
++
++OPTION(USE_OPENMP "Use openmp threading support." ON)
++IF(USE_OPENMP)
++ IF(MSVC OR UNIX)
+ FIND_PACKAGE(OpenMP REQUIRED)
+ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
+ SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+--
+2.45.3
+
diff --git a/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-no-qtwebengine.patch b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-no-qtwebengine.patch
new file mode 100644
index 000000000000..1d0865875259
--- /dev/null
+++ b/media-gfx/luminance-hdr/files/luminance-hdr-2.6.1.1-no-qtwebengine.patch
@@ -0,0 +1,213 @@
+From 94f7edf3712b735219eb31eda71b7e188d718bdd Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Tue, 21 Jan 2025 19:35:21 +0100
+Subject: [PATCH 1/2] CMake: UI: Drop bogus Qt5WebKit/Qt5WebEngineWidgets
+ dependency
+
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ src/UI/CMakeLists.txt | 10 +---------
+ 1 file changed, 1 insertion(+), 9 deletions(-)
+
+diff --git a/src/UI/CMakeLists.txt b/src/UI/CMakeLists.txt
+index 96df52b4..4f6cb53e 100644
+--- a/src/UI/CMakeLists.txt
++++ b/src/UI/CMakeLists.txt
+@@ -50,14 +50,6 @@ QT5_WRAP_CPP(FILES_MOC ${FILES_H})
+ QT5_WRAP_UI(FILES_UI_H ${FILES_UI})
+
+ ADD_LIBRARY(ui STATIC ${FILES_H} ${FILES_CPP} ${FILES_MOC} ${FILES_UI_H})
+-IF(MINGW)
+- TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebKitWidgets Qt5::Sql)
+-ELSE()
+- IF(Qt5WebEngineCore_FOUND)
+- TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebEngineWidgets Qt5::Sql)
+- ELSE()
+- TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::WebKitWidgets Qt5::Sql)
+- ENDIF()
+-ENDIF()
++TARGET_LINK_LIBRARIES(ui Qt5::Core Qt5::Concurrent Qt5::Gui Qt5::Widgets Qt5::Sql)
+ SET(FILES_TO_TRANSLATE ${FILES_TO_TRANSLATE} ${FILES_CPP} ${FILES_H} ${FILES_UI} PARENT_SCOPE)
+ SET(LUMINANCE_MODULES_GUI ${LUMINANCE_MODULES_GUI} ui PARENT_SCOPE)
+--
+2.45.3
+
+
+From d3e354dba3e1e20d5bcf3d97222d951b857bcb23 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Mon, 20 Jan 2025 18:18:16 +0100
+Subject: [PATCH 2/2] CMake: Hard-disable helpbrowser (with it Qt5WebEngine)
+
+Gentoo-bug: https://bugs.gentoo.org/926664
+Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
+---
+ CMakeLists.txt | 32 +++++++++++++++++++-------------
+ src/CMakeLists.txt | 4 +++-
+ src/MainWindow/MainWindow.cpp | 8 ++++++++
+ src/MainWindow/MainWindow.h | 4 ++++
+ src/MainWindow/MainWindow.ui | 1 +
+ 5 files changed, 35 insertions(+), 14 deletions(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 3c8b093f..5f0aaa6d 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -59,6 +59,8 @@ else( HAS_BRANCH_PREDICTION )
+ set( BRANCH_PREDICTION 0 )
+ endif( HAS_BRANCH_PREDICTION )
+
++option(WITH_HELPBROWSER "Build help browser" ON)
++
+ # find and setup Qt5 for this project
+
+ find_package(Qt5Core REQUIRED)
+@@ -69,13 +71,15 @@ find_package(Qt5Gui REQUIRED)
+ # https://wiki.qt.io/New-Features-in-Qt-5.5#Deprecated_Functionality. Unfortunately,
+ # some Qt distributions still provide QtWebKit instead of QtWebEngine. So first we
+ # try to find QtWebEngine and if not found, we fall back to QtWebKit.
+-find_package(Qt5WebEngineCore QUIET)
+-if(Qt5WebEngineCore_FOUND)
+- find_package(Qt5WebEngineWidgets REQUIRED)
+-else()
+- find_package(Qt5WebKit REQUIRED)
+- find_package(Qt5WebKitWidgets REQUIRED)
+- add_definitions(-DUSE_DEPRECATED_QTWEBKIT)
++if(WITH_HELPBROWSER)
++ find_package(Qt5WebEngineCore QUIET)
++ if(Qt5WebEngineCore_FOUND)
++ find_package(Qt5WebEngineWidgets REQUIRED)
++ else()
++ find_package(Qt5WebKit REQUIRED)
++ find_package(Qt5WebKitWidgets REQUIRED)
++ add_definitions(-DUSE_DEPRECATED_QTWEBKIT)
++ endif()
+ endif()
+ find_package(Qt5Xml REQUIRED)
+ find_package(Qt5Sql REQUIRED)
+@@ -96,12 +100,14 @@ set(LIBS ${LIBS}
+ ${QT_QTCORE_LIBRARIES} ${QT_QTGUI_LIBRARIES} ${QT_QTNETWORK_LIBRARIES}
+ ${QT_QTXML_LIBRARIES} ${QT_QTSQL_LIBRARIES})
+
+-if(Qt5WebEngineCore_FOUND)
+- message(STATUS "Building with QtWebEngine")
+- set(LIBS ${LIBS} ${QT_QTWEBENGINE_LIBRARIES})
+-else()
+- message(STATUS "Building with QtWebKit")
+- set(LIBS ${LIBS} ${QT_QTWEBKIT_LIBRARIES})
++if(WITH_HELPBROWSER)
++ if(Qt5WebEngineCore_FOUND)
++ message(STATUS "Building with QtWebEngine")
++ set(LIBS ${LIBS} ${QT_QTWEBENGINE_LIBRARIES})
++ else()
++ message(STATUS "Building with QtWebKit")
++ set(LIBS ${LIBS} ${QT_QTWEBKIT_LIBRARIES})
++ endif()
+ endif()
+
+ FIND_PACKAGE(Git)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index a5757bb9..8221c7ec 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -22,7 +22,9 @@ ADD_SUBDIRECTORY(Exif)
+ ADD_SUBDIRECTORY(Fileformat)
+ ADD_SUBDIRECTORY(Alignment)
+ ADD_SUBDIRECTORY(HdrWizard)
+-ADD_SUBDIRECTORY(HelpBrowser)
++if(WITH_HELPBROWSER)
++ ADD_SUBDIRECTORY(HelpBrowser)
++endif()
+ ADD_SUBDIRECTORY(Preferences)
+ ADD_SUBDIRECTORY(Projection)
+ ADD_SUBDIRECTORY(Resize)
+diff --git a/src/MainWindow/MainWindow.cpp b/src/MainWindow/MainWindow.cpp
+index 6459229a..b49d3d14 100644
+--- a/src/MainWindow/MainWindow.cpp
++++ b/src/MainWindow/MainWindow.cpp
+@@ -98,7 +98,9 @@
+ #include <HdrWizard/AutoAntighosting.h>
+ #include <HdrWizard/HdrWizard.h>
+ #include <HdrWizard/WhiteBalance.h>
++#ifdef WITH_HELPBROWSER
+ #include <HelpBrowser/helpbrowser.h>
++#endif
+ #include <LibpfsAdditions/formathelper.h>
+ #include <Preferences/PreferencesDialog.h>
+ #include <PreviewPanel/PreviewPanel.h>
+@@ -208,7 +210,9 @@ int MainWindow::sm_counter = 0;
+ QMap<int, MainWindow *> MainWindow::sm_mainWindowMap =
+ QMap<int, MainWindow *>();
+ QScopedPointer<UpdateChecker> MainWindow::sm_updateChecker;
++#ifdef WITH_HELPBROWSER
+ HelpBrowser *MainWindow::sm_helpBrowser = nullptr;
++#endif
+
+ MainWindow::MainWindow(QWidget *parent)
+ : QMainWindow(parent),
+@@ -1059,6 +1063,7 @@ void MainWindow::on_normalSizeAct_triggered() {
+ }
+ // Zoom = Viewers (END)
+
++#ifdef WITH_HELPBROWSER
+ void MainWindow::on_documentationAction_triggered() {
+ if (sm_helpBrowser == nullptr) {
+ sm_helpBrowser =
+@@ -1079,6 +1084,7 @@ void MainWindow::on_documentationAction_triggered() {
+ void MainWindow::helpBrowserClosed() {
+ sm_helpBrowser = nullptr;
+ }
++#endif
+
+ void MainWindow::enterWhatsThis() { QWhatsThis::enterWhatsThisMode(); }
+
+@@ -1451,9 +1457,11 @@ void MainWindow::closeEvent(QCloseEvent *event) {
+ }
+ sm_NumMainWindows--;
+ if (sm_NumMainWindows == 0) {
++#ifdef WITH_HELPBROWSER
+ if (sm_helpBrowser) {
+ sm_helpBrowser->close();
+ }
++#endif
+ }
+
+ if (sm_NumMainWindows == 0) {
+diff --git a/src/MainWindow/MainWindow.h b/src/MainWindow/MainWindow.h
+index 029cf813..68aa2fd4 100644
+--- a/src/MainWindow/MainWindow.h
++++ b/src/MainWindow/MainWindow.h
+@@ -146,7 +146,9 @@ class MainWindow : public QMainWindow {
+ void on_normalSizeAct_triggered();
+ void updateMagnificationButtons(GenericViewer *);
+
++#ifdef WITH_HELPBROWSER
+ void on_documentationAction_triggered();
++#endif
+ void enterWhatsThis();
+
+ void on_OptionsAction_triggered();
+@@ -180,7 +182,9 @@ class MainWindow : public QMainWindow {
+ void enableCrop(bool);
+ void disableCrop();
+
++#ifdef WITH_HELPBROWSER
+ void helpBrowserClosed();
++#endif
+ void on_actionDonate_triggered();
+
+ void onUpdateAvailable();
+diff --git a/src/MainWindow/MainWindow.ui b/src/MainWindow/MainWindow.ui
+index 775bfb2c..e4734a43 100644
+--- a/src/MainWindow/MainWindow.ui
++++ b/src/MainWindow/MainWindow.ui
+@@ -423,6 +423,7 @@
+ </property>
+ </action>
+ <action name="documentationAction">
++ <property name="enabled"><bool>false</bool></property>
+ <property name="icon">
+ <iconset theme="help-contents">
+ <normaloff>.</normaloff>.</iconset>
+--
+2.45.3
+
diff --git a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild
index 31a315e6724e..a5b11fa3265c 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-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake toolchain-funcs flag-o-matic xdg-utils
+inherit cmake toolchain-funcs xdg-utils
DESCRIPTION="Graphical user interface that provides a workflow for HDR imaging"
HOMEPAGE="http://qtpfsgui.sourceforge.net https://github.com/LuminanceHDR/LuminanceHDR"
@@ -12,7 +12,7 @@ SRC_URI="https://downloads.sourceforge.net/qtpfsgui/${P/_/.}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="amd64"
-IUSE="cpu_flags_x86_sse2 fits openmp test"
+IUSE="fits openmp test"
RESTRICT="!test? ( test )"
RDEPEND="
@@ -25,7 +25,6 @@ RDEPEND="
dev-qt/qtprintsupport:5
dev-qt/qtsql:5
dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
dev-qt/qtwidgets:5
dev-qt/qtxml:5
media-gfx/exiv2:=
@@ -51,10 +50,14 @@ PATCHES=(
"${FILESDIR}"/${PN}-2.6.0-cmake.patch
"${FILESDIR}"/${PN}-2.6.0-no-git.patch
"${FILESDIR}"/${PN}-2.6.0-docs.patch
- "${FILESDIR}"/${PN}-2.5.1-openmp-automagic.patch
"${FILESDIR}"/${PN}-2.6.1.1-boost-1.85.patch
+ # downstream; fix build w/ boost-1.87, openmp automagic
+ "${FILESDIR}"/${P}-clamp-redefinition.patch
+ "${FILESDIR}"/${P}-compilersettings-and-openmp.patch
# patch by ArchLinux
"${FILESDIR}"/${P}-exiv2-0.28.patch
+ # inspired by FreeBSD
+ "${FILESDIR}"/${P}-no-qtwebengine.patch
)
pkg_pretend() {
@@ -66,16 +69,8 @@ pkg_setup() {
}
src_configure() {
- if use cpu_flags_x86_sse2 ; then
- append-flags -msse2
- else
- eerror "This package requires a CPU supporting the SSE2 instruction set."
- die "SSE2 support missing"
- fi
-
- append-flags -std=c++17
-
local mycmakeargs=(
+ -DWITH_HELPBROWSER=OFF
$(cmake_use_find_package fits CFITSIO)
-DUSE_OPENMP="$(usex openmp)"
)
diff --git a/media-gfx/lximage-qt/Manifest b/media-gfx/lximage-qt/Manifest
index eca46bfea59f..f94f12318640 100644
--- a/media-gfx/lximage-qt/Manifest
+++ b/media-gfx/lximage-qt/Manifest
@@ -1,2 +1,3 @@
DIST lximage-qt-2.0.1.tar.xz 848348 BLAKE2B d2484baffaae220436ae157dccda86e126b416101f047133f494cb44d9c3bba007ce797c1aa88d21ba4b242abdf8cacf73706831570943e4d7a36eb02591fc7b SHA512 594e86a4bedf3f9689107d79d852ba1ef4db83f06572b8c077ed5850dc10cc05a33fe79a0c05632f7e7541a6f895919b72c264635306f7a468eac6ecde531ba4
DIST lximage-qt-2.1.0.tar.xz 852988 BLAKE2B 76b9e5b87ed216474c28b8f9f5ceddb012b83c5239c506ebd51e306c53ffdbe84da44f6c752c17dc26be0705ce6a23d7dcd25d93b608089dfe580b069e37c40c SHA512 f94f6ee07e83524ac37f2377d5e5fec4926e2fdd33af67213cbe91ce1e40215774c2a79b81f16ac9d88e44e8bb55750a48cc4d68266d03d9c8973e1319f393c5
+DIST lximage-qt-2.1.1.tar.xz 857380 BLAKE2B a4e78e66b569533d1259463f5e3ec60a1b281076f7270576c6bf8406cc4adb416522b7ed4c5aac073ca7e48fcee448c4610b4ecaf0259f8afaf44c721235e19c SHA512 c0f070dbee821fc86bdebb09c09a5a1cac5d23033c73bdefe8d2ff62deee4d4ecdec18319f9d9badba1808f2cf94c7e87660d6193caed85900b68d7b59ccaa6f
diff --git a/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild b/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild
index 0c866b89aefd..bfe9214eb11b 100644
--- a/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild
+++ b/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ if [[ ${PV} == 9999 ]]; then
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 ~arm64 ~ppc64 ~riscv ~x86"
+ KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
fi
LICENSE="GPL-2+"
diff --git a/media-gfx/lximage-qt/lximage-qt-2.1.1.ebuild b/media-gfx/lximage-qt/lximage-qt-2.1.1.ebuild
new file mode 100644
index 000000000000..3a53ce9cb021
--- /dev/null
+++ b/media-gfx/lximage-qt/lximage-qt-2.1.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_cut 1-2)"
+
+inherit cmake xdg
+
+DESCRIPTION="Qt Image Viewer"
+HOMEPAGE="https://lxqt-project.org/"
+
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/lxqt/${PN}.git"
+else
+ SRC_URI="https://github.com/lxqt/${PN}/releases/download/${PV}/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="GPL-2+"
+SLOT="0"
+
+BDEPEND="
+ >=dev-qt/qttools-6.6:6[linguist]
+ >=dev-util/lxqt-build-tools-2.1.0
+ virtual/pkgconfig
+"
+DEPEND="
+ dev-libs/glib:2
+ >=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
+ x11-libs/libXfixes
+"
+RDEPEND="${DEPEND}"
diff --git a/media-gfx/mandelbulber/Manifest b/media-gfx/mandelbulber/Manifest
index d77eac8d43a9..1d4c15d1b6a9 100644
--- a/media-gfx/mandelbulber/Manifest
+++ b/media-gfx/mandelbulber/Manifest
@@ -1 +1 @@
-DIST mandelbulber2-2.31.tar.gz 133379945 BLAKE2B c7b4cfa151f3bf0161b5871d0b22cd05567edc5a7145d64f38c4059b1f4b6f19f1ac3285d7a60cfb2979cd98f10041b7c7dd9100dab9ec93258e567034a03d63 SHA512 cf70c73f80c89731da6711af6ad6e1be33d43d7b014e16a6516eabf22d39b49469ee3e7b4ecc5e5adad3a1b26c8c1892c1a82d5891fe2b71fe524cdd1c3460c7
+DIST mandelbulber2-2.32.tar.gz 134765742 BLAKE2B a43ab2e445a65901190c42d6afb947e94d322ddb41f179a9a4763feee8ae5b8e510c2ab6f842b7f17b5b800184a73088b2a3ee4b8d359ffa5e15159eb7f957ad SHA512 f42cebd4939a7d1216c1c09f669bf3bf244e249a8428c02919a735959a5dd91c8614313d21b25cb6f26acd5f7d711287e3c10239c143f542887706f4f970fff4
diff --git a/media-gfx/mandelbulber/mandelbulber-2.31.ebuild b/media-gfx/mandelbulber/mandelbulber-2.32.ebuild
index 97b894bb80c0..328c2a2bef17 100644
--- a/media-gfx/mandelbulber/mandelbulber-2.31.ebuild
+++ b/media-gfx/mandelbulber/mandelbulber-2.32.ebuild
@@ -8,26 +8,23 @@ 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"
+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"
+IUSE="opencl openexr sndfile tiff"
+# IUSE="joystick"
+# joystick? ( dev-qt/qtgamepad:6 )
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
+ dev-qt/qtbase:6[concurrent,gui,network,widgets]
+ dev-qt/qtmultimedia:6[qml]
media-libs/libpng:=
sci-libs/gsl:=
- joystick? ( dev-qt/qtgamepad:5 )
opencl? (
dev-cpp/clhpp
virtual/opencl
@@ -40,7 +37,7 @@ RDEPEND="
tiff? ( media-libs/tiff:= )
"
DEPEND="${RDEPEND}
- dev-qt/designer:5
+ dev-qt/qttools:6[designer]
"
BDEPEND="virtual/pkgconfig"
@@ -55,7 +52,7 @@ pkg_setup() {
src_prepare() {
default
- use joystick || sed -i -e "s/qtHaveModule(gamepad)/false/" makefiles/common.pri || die
+ sed -i -e "s/qtHaveModule(gamepad)/false/" makefiles/common.pri || die # TODO: dev-qt/qtgamepad:6
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
@@ -63,9 +60,9 @@ src_prepare() {
src_configure() {
if use opencl; then
- eqmake5 makefiles/${PN}-opencl.pro
+ eqmake6 makefiles/${PN}-opencl.pro
else
- eqmake5 makefiles/${PN}.pro
+ eqmake6 makefiles/${PN}.pro
fi
}
diff --git a/media-gfx/monica/monica-3.7-r1.ebuild b/media-gfx/monica/monica-3.7-r2.ebuild
index b6be41461371..e93b87dfeff1 100644
--- a/media-gfx/monica/monica-3.7-r1.ebuild
+++ b/media-gfx/monica/monica-3.7-r2.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=8
@@ -13,7 +13,7 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 ppc x86"
-DEPEND=">=x11-libs/fltk-1.1:1"
+DEPEND="x11-libs/fltk:1="
RDEPEND="${DEPEND}
x11-apps/xgamma"
diff --git a/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild b/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
index 139d3d762797..10930b0a7498 100644
--- a/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
+++ b/media-gfx/mypaint/mypaint-2.0.1-r3.ebuild
@@ -33,7 +33,7 @@ RDEPEND="
>=media-libs/libmypaint-1.5.0[openmp?]
media-libs/libpng:=
sys-devel/gettext
- sys-libs/libomp
+ llvm-runtimes/openmp
x11-libs/gdk-pixbuf[jpeg]
x11-libs/gtk+:3
"
diff --git a/media-gfx/netgen/Manifest b/media-gfx/netgen/Manifest
index f0b39cad7c0f..e686d01f85c8 100644
--- a/media-gfx/netgen/Manifest
+++ b/media-gfx/netgen/Manifest
@@ -1 +1,2 @@
DIST netgen-6.2.2302.tar.gz 3398683 BLAKE2B 7cf4626ee8163898864af0346cf2c4fa73dcca3ac2068d67f80b05ee926024b36552b33013c2ef8f74026ab942ae08c0628af0ce0c0dac2d004ba26e18bf4619 SHA512 da6e8e43d73af6b7bfae2e3c771d46e34601ff481c251924673f7330bae032a743fb9d5ff2792855e91ed5addb4d22fd4bf9cd7a9dcfb53f476e22a30f1eedb3
+DIST netgen-6.2.2406.tar.gz 3452436 BLAKE2B 4cb42f20e7627a98e54a9f2e6da5d1b4af174fa7e33c6f72a731b4879c3e4324b20016f1980d2ceb50976fedc2b001a0824e2edd03b03c434c49baa947ded126 SHA512 262e57dca39519c797ea58b32eb886d523926aa48979b31df0c61839f9db09eea76346d3519742b7173a78a80335c16960860772646edd20f365dab1e1a6bed8
diff --git a/media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch b/media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch
new file mode 100644
index 000000000000..9d9288412efb
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2406-encoding_h.patch
@@ -0,0 +1,121 @@
+From 8504832e746b1581d5b51be7f04f24826440255f Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Thu, 6 Jun 2024 15:59:51 +0200
+Subject: [PATCH 1/2] use std namespace prefix
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ ng/encoding.hpp | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/ng/encoding.hpp b/ng/encoding.hpp
+index 9ea2ffb..498431c 100644
+--- a/ng/encoding.hpp
++++ b/ng/encoding.hpp
+@@ -16,6 +16,8 @@ extern "C" {
+ #include <libswresample/swresample.h>
+ }
+
++#include <iostream>
++
+ constexpr int BITRATE = 50000000;
+
+ class Mpeg {
+@@ -55,6 +57,8 @@ class Mpeg {
+ int height;
+ bool IsStarted() { return is_started; }
+ int AddFrame() {
++ using std::cerr;
++ using std::endl;
+ int ret;
+ int got_packet = 0;
+ AVPacket pkt = { 0 };
+@@ -113,7 +117,9 @@ class Mpeg {
+ return 0;
+ }
+
+- int Start(string filename) {
++ int Start(std::string filename) {
++ using std::cerr;
++ using std::endl;
+ AVCodec *video_codec;
+ if(is_started) {
+ cerr << "Stream already started" << endl;
+--
+2.45.2
+
+
+From 2e52e913603745670cfc5c4a461845a6fb22e118 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Thu, 6 Jun 2024 16:00:40 +0200
+Subject: [PATCH 2/2] av_init_packet is deprecated
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ ng/encoding.hpp | 18 +++++++++++-------
+ 1 file changed, 11 insertions(+), 7 deletions(-)
+
+diff --git a/ng/encoding.hpp b/ng/encoding.hpp
+index 498431c..97b9e6a 100644
+--- a/ng/encoding.hpp
++++ b/ng/encoding.hpp
+@@ -61,7 +61,6 @@ class Mpeg {
+ using std::endl;
+ int ret;
+ int got_packet = 0;
+- AVPacket pkt = { 0 };
+
+ glReadPixels (0, 0, width, height, GL_RGB, GL_UNSIGNED_BYTE, rgb_buffer);
+ av_image_fill_arrays(rgb_frame->data, rgb_frame->linesize, rgb_buffer, AV_PIX_FMT_RGB24, width, height, 1);
+@@ -77,8 +76,6 @@ class Mpeg {
+ sws_scale(sws_ctx, flipped_data, flipped_stride, 0, enc->height, frame->data, frame->linesize);
+
+
+- av_init_packet(&pkt);
+-
+ got_packet = 0;
+ ret = avcodec_send_frame(enc, frame);
+ if (ret < 0)
+@@ -87,28 +84,35 @@ class Mpeg {
+ return(1);
+ }
+
+- ret = avcodec_receive_packet(enc, &pkt);
++ AVPacket* pkt = av_packet_alloc();
++ ret = avcodec_receive_packet(enc, pkt);
+ if (!ret)
+ got_packet = 1;
+ if (ret == AVERROR(EAGAIN))
++ {
++ av_packet_free(&pkt);
+ return 0;
++ }
+
+ if (ret < 0) {
+ cerr << "Error encoding video frame: " << endl;
++ av_packet_free(&pkt);
+ return 1;
+ }
+
+ if (got_packet) {
+ /* rescale output packet timestamp values from codec to stream timebase */
+- av_packet_rescale_ts(&pkt, enc->time_base, st->time_base);
+- pkt.stream_index = st->index;
++ av_packet_rescale_ts(pkt, enc->time_base, st->time_base);
++ pkt->stream_index = st->index;
+
+ /* Write the compressed frame to the media file. */
+- ret = av_interleaved_write_frame(oc, &pkt);
++ ret = av_interleaved_write_frame(oc, pkt);
+ } else {
+ ret = 0;
+ }
+
++ av_packet_free(&pkt);
++
+ if (ret < 0) {
+ cerr << "Error while writing video frame: " << endl;
+ return(1);
+--
+2.45.2
+
diff --git a/media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch b/media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch
new file mode 100644
index 000000000000..17bf2ad95f61
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2406-find-libjpeg-turbo-library.patch
@@ -0,0 +1,29 @@
+From 49507f7708d72b25fd5e350f7f6b30aa80a50cb4 Mon Sep 17 00:00:00 2001
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+Date: Thu, 6 Jun 2024 15:40:10 +0200
+Subject: [PATCH] [PATCH] find libjpeg-turbo library
+
+Signed-off-by: Paul Zander <negril.nx+gentoo@gmail.com>
+---
+ nglib/CMakeLists.txt | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/nglib/CMakeLists.txt b/nglib/CMakeLists.txt
+index b1036ea..78340b6 100644
+--- a/nglib/CMakeLists.txt
++++ b/nglib/CMakeLists.txt
+@@ -13,6 +13,11 @@ if(EMSCRIPTEN)
+ target_link_libraries(nglib PRIVATE ${ZLIB_LIBRARIES} $<BUILD_INTERFACE:$<TARGET_PROPERTY:occ_libs,INTERFACE_LINK_LIBRARIES>>)
+ else(EMSCRIPTEN)
+ target_link_libraries(nglib PUBLIC ngcore)
++ if(TARGET JPEG::JPEG)
++ get_target_property(JPEG_LIBRARIES JPEG::JPEG IMPORTED_LOCATION_RELEASE)
++ else()
++ set(JPEG_LIBRARIES ${JPEG_LIBRARY_RELEASE})
++ endif()
+ target_link_libraries( nglib PRIVATE ${CMAKE_THREAD_LIBS_INIT} ${JPEG_LIBRARIES} ${MKL_LIBRARIES} ${ZLIB_LIBRARIES} occ_libs netgen_cgns )
+ endif(EMSCRIPTEN)
+
+--
+2.45.2
+
diff --git a/media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch b/media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch
new file mode 100644
index 000000000000..c609e06fe94b
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2406-link-against-ffmpeg.patch
@@ -0,0 +1,17 @@
+From 69d9c2da29adc9b7a209e78aae950d9834683f58 Mon Sep 17 00:00:00 2001
+From: Bernd Waibel <waebbl-gentoo@posteo.net>
+Date: Mon, 31 Oct 2022 13:07:05 +0100
+Subject: [PATCH] link against ffmpeg
+
+Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
+--- a/ng/CMakeLists.txt
++++ b/ng/CMakeLists.txt
+@@ -28,7 +28,7 @@ if(USE_GUI)
+ if(APPLE)
+ set_target_properties(netgen PROPERTIES OUTPUT_NAME netgen)
+ endif(APPLE)
+- target_link_libraries( netgen ${Python3_LIBRARIES} ${TCL_LIBRARY} ${TK_LIBRARY})
++ target_link_libraries( netgen ${Python3_LIBRARIES} ${TCL_LIBRARY} ${TK_LIBRARY} ${FFMPEG_LIBRARIES})
+ endif(NOT BUILD_FOR_CONDA)
+
+ install(TARGETS nggui ${NG_INSTALL_DIR})
diff --git a/media-gfx/netgen/files/netgen-6.2.2406-link-against-jpeg.patch b/media-gfx/netgen/files/netgen-6.2.2406-link-against-jpeg.patch
new file mode 100644
index 000000000000..0460a1a6fefe
--- /dev/null
+++ b/media-gfx/netgen/files/netgen-6.2.2406-link-against-jpeg.patch
@@ -0,0 +1,30 @@
+From 3d82bf88360b9d032671a72a31cd9c351bf674f8 Mon Sep 17 00:00:00 2001
+From: Alexey Shvetsov <alexxy@gentoo.org>
+Date: Sun, 9 Feb 2025 23:56:10 +0300
+Subject: [PATCH] Patch to fix build with jpeg enabled
+
+Issue #210
+Bug https://bugs.gentoo.org/947728
+
+Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org>
+---
+ CMakeLists.txt | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 9c54e30e..deb77192 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -432,6 +432,9 @@ if (USE_JPEG)
+ find_package(JPEG REQUIRED)
+ add_definitions(-DJPEGLIB)
+ include_directories(${JPEG_INCLUDE_DIR})
++ if(USE_GUI)
++ target_link_libraries(nggui INTERFACE ${JPEG_LIBRARIES})
++ endif(USE_GUI)
+ endif (USE_JPEG)
+
+ #######################################################################
+--
+2.48.1
+
diff --git a/media-gfx/netgen/netgen-6.2.2406.ebuild b/media-gfx/netgen/netgen-6.2.2406.ebuild
new file mode 100644
index 000000000000..32925744f381
--- /dev/null
+++ b/media-gfx/netgen/netgen-6.2.2406.ebuild
@@ -0,0 +1,185 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake desktop flag-o-matic python-single-r1 xdg
+
+DESCRIPTION="Automatic 3d tetrahedral mesh generator"
+HOMEPAGE="https://ngsolve.org/ https://github.com/NGSolve/netgen"
+SRC_URI="https://github.com/NGSolve/netgen/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="ffmpeg gui jpeg mpi +opencascade python test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ ffmpeg? ( gui )
+ jpeg? ( gui )
+ python? ( gui )
+"
+
+DEPEND="
+ sys-libs/zlib
+ ffmpeg? ( media-video/ffmpeg:= )
+ gui? (
+ dev-lang/tcl:0/8.6
+ dev-lang/tk:0/8.6
+ media-libs/glu
+ media-libs/libglvnd[X]
+ x11-libs/libX11
+ x11-libs/libXmu
+ x11-libs/libxcb:=
+ )
+ jpeg? ( media-libs/libjpeg-turbo:0= )
+ mpi? (
+ sci-libs/metis
+ virtual/mpi
+ )
+ opencascade? ( sci-libs/opencascade:= )
+ python? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep '
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ '
+ )
+ mpi? (
+ $(python_gen_cond_dep 'dev-python/mpi4py[${PYTHON_USEDEP}]' )
+ )
+ )
+"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ sys-apps/lsb-release
+ virtual/pkgconfig
+ gui? ( virtual/imagemagick-tools[png] )
+ test? (
+ <dev-cpp/catch-3:0
+ python? ( $(python_gen_cond_dep '
+ dev-python/pytest-check[${PYTHON_USEDEP}]
+ ') )
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.2.2204-find-Tk-include-directories.patch"
+ "${FILESDIR}/${PN}-6.2.2406-link-against-ffmpeg.patch"
+ "${FILESDIR}/${PN}-6.2.2204-use-system-catch.patch"
+ "${FILESDIR}/${PN}-6.2.2406-find-libjpeg-turbo-library.patch"
+ "${FILESDIR}/${PN}-6.2.2301-fix-nullptr-deref-in-archive.patch"
+ "${FILESDIR}/${PN}-6.2.2406-encoding_h.patch"
+ "${FILESDIR}/${PN}-6.2.2406-link-against-jpeg.patch"
+)
+
+pkg_setup() {
+ if use python; then
+ python-single-r1_pkg_setup
+
+ # NOTE This calls find_package(Python3) without specifying Interpreter in COMPONENTS.
+ # Python3_FIND_UNVERSIONED_NAMES=FIRST is thus never checked and we search the highest python version first.
+ pushd "${T}/${EPYTHON}/bin" > /dev/null || die
+ cp "python-config" "${EPYTHON}-config" || die
+ chmod +x "${EPYTHON}-config" || die
+ popd > /dev/null || die
+ fi
+}
+
+src_prepare() {
+ # # NOTE: need to manually check and update this string on version bumps!
+ # # git describe --tags --match "v[0-9]*" --long --dirty
+ # cat <<- EOF > "${S}/version.txt" || die
+ # v${PV}-0-08eec44
+ # EOF
+
+ rm external_dependencies -r || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ filter-lto
+
+ local mycmakeargs=(
+ # currently not working in a sandbox, expects netgen to be installed
+ # see https://github.com/NGSolve/netgen/issues/132
+ -DBUILD_STUB_FILES=OFF
+ -DENABLE_UNIT_TESTS=$(usex test)
+ -DINSTALL_PROFILES=OFF
+ -DNG_INSTALL_DIR_CMAKE="$(get_libdir)/cmake/${PN}"
+ -DNG_INSTALL_DIR_INCLUDE="include/${PN}"
+ -DNG_INSTALL_DIR_LIB="$(get_libdir)"
+ -DUSE_CCACHE=OFF
+ # doesn't build with this version
+ -DUSE_CGNS=OFF
+ -DUSE_GUI=$(usex gui)
+ -DUSE_INTERNAL_TCL=OFF
+ -DUSE_JPEG=$(usex jpeg)
+ -DUSE_MPEG=$(usex ffmpeg)
+ # respect users -march= choice
+ -DUSE_NATIVE_ARCH=OFF
+ -DUSE_MPI=$(usex mpi)
+ -DUSE_OCC=$(usex opencascade)
+ -DUSE_PYTHON="$(usex python)"
+ -DUSE_SUPERBUILD=OFF
+ -DNETGEN_VERSION_GIT="v${PV}"
+ )
+ # no need to set this, if we only build the library
+ if use gui; then
+ mycmakeargs+=( -DTK_INCLUDE_PATH="/usr/$(get_libdir)/tk8.6/include" )
+ fi
+ if use python; then
+ mycmakeargs+=(
+ -DPREFER_SYSTEM_PYBIND11=ON
+ # # needed, so the value gets passed to NetgenConfig.cmake instead of ${T}/pythonX.Y
+ # -DPYTHON_EXECUTABLE="${PYTHON}"
+ )
+ fi
+ if use mpi && use python; then
+ mycmakeargs+=( -DUSE_MPI4PY=ON )
+ else
+ mycmakeargs+=( -DUSE_MPI4PY=OFF )
+ fi
+ cmake_src_configure
+}
+
+src_test() {
+ DESTDIR="${T}" cmake_build install
+
+ if use python; then
+ export PYTHONPATH="${T}/$(python_get_sitedir):${T}/usr/$(get_libdir):${BUILD_DIR}/libsrc/core"
+ fi
+
+ CMAKE_SKIP_TESTS=(
+ '^unit_symboltable$'
+ '^pytest$' # SEGFAULT
+ )
+ cmake_src_test
+}
+
+src_install() {
+ cmake_src_install
+ use python && python_optimize
+
+ local NETGENDIR="/usr/share/${PN}"
+ echo -e "NETGENDIR=${NETGENDIR}" > ./99netgen || die
+ doenvd 99netgen
+
+ if use gui; then
+ mv "${ED}"/usr/bin/{*.tcl,*.ocf} "${ED}${NETGENDIR}" || die
+
+ convert -deconstruct "${S}/windows/${PN}.ico" netgen.png || die
+ newicon -s 32 "${S}"/${PN}-2.png ${PN}.png
+ newicon -s 16 "${S}"/${PN}-3.png ${PN}.png
+ make_desktop_entry ${PN} "Netgen" netgen Graphics
+ fi
+
+ mv "${ED}"/usr/share/${PN}/doc/ng4.pdf "${ED}"/usr/share/doc/${PF} || die
+ dosym -r /usr/share/doc/${PF}/ng4.pdf /usr/share/${PN}/doc/ng4.pdf
+
+ use python || rm -r "${ED}${NETGENDIR}"/py_tutorials || die
+}
diff --git a/media-gfx/nomacs/Manifest b/media-gfx/nomacs/Manifest
index 65f4d3852ff5..f36b951538dc 100644
--- a/media-gfx/nomacs/Manifest
+++ b/media-gfx/nomacs/Manifest
@@ -1,4 +1,2 @@
-DIST nomacs-3.16.224.tar.gz 1932366 BLAKE2B 4a2dc6ef70b0ae5dc9c9397bd2c88ede0db2bb8660e1907d08b36c4a9cf5a9bd151180aa4b2d6b5f529c1786004a6621eff88fa4bc851d60835e8ba6d6269602 SHA512 7ca8e713eedd71bc3dd3804a9a09ece15badb74949b155ea4da72a0ea129be173c8d0951604a6139d4490525cd420da8635773c11f0d133f666a48dcd9064257
DIST nomacs-3.19.1.tar.gz 1928697 BLAKE2B ee8a10ebd777a589df179b51591893fe083505b066bf409e11a54a4bc21054d6d61d8c5e397cf01fa7907fd2e4b69401729a8fab7f1a8079769bfef53692230b SHA512 7cbe80d6c336547a00761c64e591444827998aa79a52d51219ca69aacca4d3361c1e7cbccba1f9c06c7e93f09f4b732abd25757107e1c50d8a43eb45ced0ee97
-DIST nomacs-plugins-3.16.tar.gz 561522 BLAKE2B 2bda4f36d56709653f6696af3404e416fd2d9fe7fa11de9636643c728028018ac769df3e2e519799322c5c42006cdc114d0e6406f9f60294234b07d9fd8d8409 SHA512 cd72f6ddbe3e07d7ed97f08405bac7574f4f3285c81e835f5630e011c8a9b105f23d892fed8084cb35ce521aca5524db071d0edb8bb04850dd2209d9ed019747
DIST nomacs-plugins-3.19.0.tar.gz 559925 BLAKE2B 4e3d8e07974d418510d2e806980bc9793567813b9418c0754dcaaa9e6f43e88d76e35264f05e05b2e21345467c8038db3c37ce3d1b003adcd3b019796a737080 SHA512 36b96b0270cb7cc34ee3f9f948eb1f2e5b4facd1f6eb273afe1fbf865c7712fb6487ef59f3d4e7723b9bca7930255f4247a8381c05ee8cfb9acf2b5cc225303c
diff --git a/media-gfx/nomacs/files/nomacs-3.16.224-DkMath-ostream.patch b/media-gfx/nomacs/files/nomacs-3.16.224-DkMath-ostream.patch
deleted file mode 100644
index 318953f7896a..000000000000
--- a/media-gfx/nomacs/files/nomacs-3.16.224-DkMath-ostream.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From aca8443079ff926be873a77e3077b249a12487dd Mon Sep 17 00:00:00 2001
-From: Stephan Hartmann <sultan@gentoo.org>
-Date: Sun, 23 Jan 2022 18:51:56 +0100
-Subject: [PATCH] IWYU: add missing ostream in DkMath
-
----
- src/DkCore/DkMath.h | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/DkCore/DkMath.h b/src/DkCore/DkMath.h
-index c37ef23..2c3a5be 100644
---- a/src/DkCore/DkMath.h
-+++ b/src/DkCore/DkMath.h
-@@ -30,6 +30,7 @@
- #pragma warning(push, 0) // no warnings from includes - begin
- #include <cmath>
- #include <float.h>
-+#include <ostream>
- #include <QDebug>
- #include <QPointF>
- #include <QPolygonF>
---
-2.34.1
-
diff --git a/media-gfx/nomacs/files/nomacs-3.16.224-exiv2-0.28.patch b/media-gfx/nomacs/files/nomacs-3.16.224-exiv2-0.28.patch
deleted file mode 100644
index 280d7ec59e8b..000000000000
--- a/media-gfx/nomacs/files/nomacs-3.16.224-exiv2-0.28.patch
+++ /dev/null
@@ -1,241 +0,0 @@
-From 6785f15d9ed05ebc66ee200b3c94451c6c633646 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sun, 3 Sep 2023 13:30:43 +0200
-Subject: [PATCH] Fix 3.16.224 build with exiv2-0.28
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- ImageLounge/src/DkCore/DkMetaData.cpp | 59 ++++++++++++++++++---------
- ImageLounge/src/DkCore/DkMetaData.h | 4 +-
- 2 files changed, 41 insertions(+), 22 deletions(-)
-
-diff --git a/ImageLounge/src/DkCore/DkMetaData.cpp b/ImageLounge/src/DkCore/DkMetaData.cpp
-index bf1d111e..5eaeebf4 100644
---- a/ImageLounge/src/DkCore/DkMetaData.cpp
-+++ b/ImageLounge/src/DkCore/DkMetaData.cpp
-@@ -73,8 +73,12 @@ void DkMetaDataT::readMetaData(const QString& filePath, QSharedPointer<QByteArra
- mExifImg = Exiv2::ImageFactory::open(strFilePath);
- }
- else {
-+#if EXIV2_TEST_VERSION(0, 28, 0)
-+ mExifImg = Exiv2::ImageFactory::open((const byte *)ba->constData(), ba->size());
-+#else
- Exiv2::BasicIo::AutoPtr exifBuffer(new Exiv2::MemIo((const byte*)ba->constData(), ba->size()));
- mExifImg = Exiv2::ImageFactory::open(exifBuffer);
-+#endif
- }
- }
- catch (...) {
-@@ -155,14 +159,18 @@ bool DkMetaDataT::saveMetaData(QSharedPointer<QByteArray>& ba, bool force) {
- Exiv2::ExifData &exifData = mExifImg->exifData();
- Exiv2::XmpData &xmpData = mExifImg->xmpData();
- Exiv2::IptcData &iptcData = mExifImg->iptcData();
--
-- Exiv2::Image::AutoPtr exifImgN;
-+ std::unique_ptr<Exiv2::Image> exifImgN;
-+#if !EXIV2_TEST_VERSION(0, 28, 0)
- Exiv2::MemIo::AutoPtr exifMem;
-+#endif
-
- try {
--
-+#if EXIV2_TEST_VERSION(0, 28, 0)
-+ exifImgN = Exiv2::ImageFactory::open((byte *)ba->data(), ba->size());
-+#else
- exifMem = Exiv2::MemIo::AutoPtr(new Exiv2::MemIo((byte*)ba->data(), ba->size()));
- exifImgN = Exiv2::ImageFactory::open(exifMem);
-+#endif
- }
- catch (...) {
-
-@@ -186,8 +194,13 @@ bool DkMetaDataT::saveMetaData(QSharedPointer<QByteArray>& ba, bool force) {
-
- // now get the data again
- Exiv2::DataBuf exifBuf = exifImgN->io().read((long)exifImgN->io().size());
-+#if EXIV2_TEST_VERSION(0, 28, 0)
-+ if (!exifBuf.empty()) {
-+ QSharedPointer<QByteArray> tmp = QSharedPointer<QByteArray>(new QByteArray((const char *)exifBuf.c_data(), exifBuf.size()));
-+#else
- if (exifBuf.pData_) {
- QSharedPointer<QByteArray> tmp = QSharedPointer<QByteArray>(new QByteArray((const char*)exifBuf.pData_, exifBuf.size_));
-+#endif
-
- if (tmp->size() > qRound(ba->size()*0.5f))
- ba = tmp;
-@@ -197,7 +210,7 @@ bool DkMetaDataT::saveMetaData(QSharedPointer<QByteArray>& ba, bool force) {
- else
- return false;
-
-- mExifImg = exifImgN;
-+ mExifImg.swap(exifImgN);
- mExifState = loaded;
-
- return true;
-@@ -250,7 +263,7 @@ int DkMetaDataT::getOrientationDegree() const {
-
- if (pos != exifData.end() && pos->count() != 0) {
-
-- Exiv2::Value::AutoPtr v = pos->getValue();
-+ std::unique_ptr<Exiv2::Value> v = pos->getValue();
- orientation = (int)pos->toFloat();
-
- switch (orientation) {
-@@ -315,7 +328,7 @@ int DkMetaDataT::getRating() const {
- Exiv2::ExifData::iterator pos = exifData.findKey(key);
-
- if (pos != exifData.end() && pos->count() != 0) {
-- Exiv2::Value::AutoPtr v = pos->getValue();
-+ std::unique_ptr<Exiv2::Value> v = pos->getValue();
- exifRating = v->toFloat();
- }
- }
-@@ -327,7 +340,7 @@ int DkMetaDataT::getRating() const {
-
- //xmp Rating tag
- if (pos != xmpData.end() && pos->count() != 0) {
-- Exiv2::Value::AutoPtr v = pos->getValue();
-+ std::unique_ptr<Exiv2::Value> v = pos->getValue();
- xmpRating = v->toFloat();
- }
-
-@@ -336,7 +349,7 @@ int DkMetaDataT::getRating() const {
- key = Exiv2::XmpKey("Xmp.MicrosoftPhoto.Rating");
- pos = xmpData.findKey(key);
- if (pos != xmpData.end() && pos->count() != 0) {
-- Exiv2::Value::AutoPtr v = pos->getValue();
-+ std::unique_ptr<Exiv2::Value> v = pos->getValue();
- xmpRating = v->toFloat();
- }
- }
-@@ -399,7 +412,7 @@ QString DkMetaDataT::getNativeExifValue(const QString& key) const {
- if (pos->count () < 2000) { // diem: this is about performance - adobe obviously embeds whole images into tiff exiv data
-
- //qDebug() << "pos count: " << pos->count();
-- //Exiv2::Value::AutoPtr v = pos->getValue();
-+ //std::unique_ptr<Exiv2::Value> v = pos->getValue();
- info = exiv2ToQString(pos->toString());
-
- }
-@@ -436,7 +449,7 @@ QString DkMetaDataT::getXmpValue(const QString& key) const {
- }
-
- if (pos != xmpData.end() && pos->count() != 0) {
-- Exiv2::Value::AutoPtr v = pos->getValue();
-+ std::unique_ptr<Exiv2::Value> v = pos->getValue();
- info = exiv2ToQString(pos->toString());
- }
- }
-@@ -478,7 +491,7 @@ QString DkMetaDataT::getExifValue(const QString& key) const {
- }
-
- if (pos != exifData.end() && pos->count() != 0) {
-- //Exiv2::Value::AutoPtr v = pos->getValue();
-+ //std::unique_ptr<Exiv2::Value> v = pos->getValue();
- info = exiv2ToQString(pos->toString());
- }
- }
-@@ -508,7 +521,7 @@ QString DkMetaDataT::getIptcValue(const QString& key) const {
- }
-
- if (pos != iptcData.end() && pos->count() != 0) {
-- Exiv2::Value::AutoPtr v = pos->getValue();
-+ std::unique_ptr<Exiv2::Value> v = pos->getValue();
- info = exiv2ToQString(pos->toString());
- }
- }
-@@ -653,8 +666,11 @@ QImage DkMetaDataT::getThumbnail() const {
- try {
- Exiv2::ExifThumb thumb(exifData);
- Exiv2::DataBuf buffer = thumb.copy();
--
-+#if EXIV2_TEST_VERSION(0, 28, 0)
-+ QByteArray ba = QByteArray((char *)buffer.c_data(), buffer.size());
-+#else
- QByteArray ba = QByteArray((char*)buffer.pData_, buffer.size_);
-+#endif
- qThumb.loadFromData(ba);
- }
- catch (...) {
-@@ -931,9 +947,12 @@ void DkMetaDataT::setThumbnail(QImage thumb) {
-
- try {
- // whipe all exif data of the thumbnail
-+#if EXIV2_TEST_VERSION(0, 28, 0)
-+ Exiv2::Image::UniquePtr exifImgThumb = Exiv2::ImageFactory::open((const byte *)ba.constData(), ba.size());
-+#else
- Exiv2::MemIo::AutoPtr exifBufferThumb(new Exiv2::MemIo((const byte*)ba.constData(), ba.size()));
- Exiv2::Image::AutoPtr exifImgThumb = Exiv2::ImageFactory::open(exifBufferThumb);
--
-+#endif
- if (exifImgThumb.get() != 0 && exifImgThumb->good())
- exifImgThumb->clearExifData();
- }
-@@ -1045,11 +1064,11 @@ void DkMetaDataT::setOrientation(int o) {
- pos = exifData.findKey(key);
- }
-
-- Exiv2::Value::AutoPtr v = pos->getValue();
-+ std::unique_ptr<Exiv2::Value> v = pos->getValue();
- Exiv2::UShortValue* prv = dynamic_cast<Exiv2::UShortValue*>(v.release());
- if (!prv) return;
-
-- Exiv2::UShortValue::AutoPtr rv = Exiv2::UShortValue::AutoPtr(prv);
-+ std::unique_ptr<Exiv2::UShortValue> rv = std::unique_ptr<Exiv2::UShortValue>(prv);
- if (rv->value_.empty()) return;
-
- orientation = (int) rv->value_[0];
-@@ -1110,7 +1129,7 @@ void DkMetaDataT::setRating(int r) {
- exifData["Exif.Image.Rating"] = uint16_t(r);
- exifData["Exif.Image.RatingPercent"] = uint16_t(r);
-
-- Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::xmpText);
-+ std::unique_ptr<Exiv2::Value> v = Exiv2::Value::create(Exiv2::xmpText);
- v->read(sRating);
- xmpData.add(Exiv2::XmpKey("Xmp.xmp.Rating"), v.get());
- v->read(sRatingPercent);
-@@ -1354,9 +1373,9 @@ DkRotatingRect DkMetaDataT::getXMPRect(const QSize& size) const {
- return DkRotatingRect(rr);
- }
-
--Exiv2::Image::AutoPtr DkMetaDataT::loadSidecar(const QString& filePath) const {
-+std::unique_ptr<Exiv2::Image> DkMetaDataT::loadSidecar(const QString& filePath) const {
-
-- Exiv2::Image::AutoPtr xmpImg;
-+ std::unique_ptr<Exiv2::Image> xmpImg;
-
- //TODO: check if the file type supports xmp
-
-@@ -1409,7 +1428,7 @@ bool DkMetaDataT::setXMPValue(Exiv2::XmpData& xmpData, QString xmpKey, QString x
- setXMPValueSuccessful = true;
- }
- else {
-- Exiv2::Value::AutoPtr v = Exiv2::Value::create(Exiv2::xmpText);
-+ std::unique_ptr<Exiv2::Value> v = Exiv2::Value::create(Exiv2::xmpText);
- if (!v->read(xmpValue.toStdString())) {
- if (!xmpData.add(Exiv2::XmpKey(key), v.get()))
- setXMPValueSuccessful = true;
-diff --git a/ImageLounge/src/DkCore/DkMetaData.h b/ImageLounge/src/DkCore/DkMetaData.h
-index c1f73c93..183a906a 100644
---- a/ImageLounge/src/DkCore/DkMetaData.h
-+++ b/ImageLounge/src/DkCore/DkMetaData.h
-@@ -148,7 +148,7 @@ public:
-
- protected:
-
-- Exiv2::Image::AutoPtr loadSidecar(const QString& filePath) const;
-+ std::unique_ptr<Exiv2::Image> loadSidecar(const QString& filePath) const;
-
- enum {
- not_loaded,
-@@ -157,7 +157,7 @@ protected:
- dirty,
- };
-
-- Exiv2::Image::AutoPtr mExifImg;
-+ std::unique_ptr<Exiv2::Image> mExifImg;
- QString mFilePath;
- QStringList mQtKeys;
- QStringList mQtValues;
---
-2.42.0
-
diff --git a/media-gfx/nomacs/files/nomacs-3.16.224-libdir-plugins.patch b/media-gfx/nomacs/files/nomacs-3.16.224-libdir-plugins.patch
deleted file mode 100644
index 0c613929add0..000000000000
--- a/media-gfx/nomacs/files/nomacs-3.16.224-libdir-plugins.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From e1d32cd424462b2ac414d3a4ea3e1285d5ca2aef Mon Sep 17 00:00:00 2001
-From: Markus Diem <diemmarkus@gmail.com>
-Date: Mon, 27 Jul 2020 13:11:31 +0200
-Subject: [PATCH] patches wrong plugin installation path
-
-- thanks to @tieugene
----
- ImageLounge/plugins/cmake/Utils.cmake | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cmake/Utils.cmake b/cmake/Utils.cmake
-index f2d1b62..5578aa7 100644
---- a/ImageLounge/plugins/cmake/Utils.cmake
-+++ b/ImageLounge/plugins/cmake/Utils.cmake
-@@ -139,7 +139,7 @@ macro(NMC_CREATE_TARGETS)
-
- elseif(UNIX)
- set_target_properties(${PROJECT_NAME} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${NOMACS_BUILD_DIRECTORY}/plugins)
-- install(TARGETS ${PROJECT_NAME} RUNTIME LIBRARY DESTINATION lib/nomacs-plugins)
-+ install(TARGETS ${PROJECT_NAME} RUNTIME LIBRARY DESTINATION lib${LIB_SUFFIX}/nomacs-plugins)
- set_property(TARGET ${PROJECT_NAME} PROPERTY VERSION ${NOMACS_VERSION_MAJOR}.${NOMACS_VERSION_MINOR}.${NOMACS_VERSION_PATCH})
- set_property(TARGET ${PROJECT_NAME} PROPERTY SOVERSION ${NOMACS_VERSION_MAJOR})
- endif(MSVC)
diff --git a/media-gfx/nomacs/files/nomacs-3.16.224-libdir.patch b/media-gfx/nomacs/files/nomacs-3.16.224-libdir.patch
deleted file mode 100644
index 50b73028f303..000000000000
--- a/media-gfx/nomacs/files/nomacs-3.16.224-libdir.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c8f6c325c5f5170bb473c41ee716b781d37bdd41 Mon Sep 17 00:00:00 2001
-From: Markus Diem <diemmarkus@gmail.com>
-Date: Mon, 27 Jul 2020 13:19:01 +0200
-Subject: [PATCH] fixes plugin path for fedora
-
-- thanks @tieugene
-- beta version: 3.17
----
- ImageLounge/src/DkCore/DkPluginManager.cpp | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
---- a/ImageLounge/src/DkCore/DkPluginManager.cpp
-+++ b/ImageLounge/src/DkCore/DkPluginManager.cpp
-@@ -62,6 +62,7 @@
- #include <QAction>
- #include <QMenu>
- #include <QJsonValue>
-+#include <QLibraryInfo>
- #pragma warning(pop) // no warnings from includes - end
-
- #ifdef QT_NO_DEBUG_OUTPUT
-@@ -1309,7 +1310,7 @@ void DkPluginManager::createPluginsPath() {
- #ifdef Q_OS_WIN
- QDir pluginsDir = QCoreApplication::applicationDirPath() + "/plugins";
- #else
-- QDir pluginsDir = QCoreApplication::applicationDirPath() + "/../lib/nomacs-plugins/";
-+ QDir pluginsDir = QLibraryInfo::location(QLibraryInfo::LibrariesPath) + "/nomacs-plugins/";
- #endif // Q_OS_WIN
-
- if (!pluginsDir.exists())
diff --git a/media-gfx/nomacs/files/nomacs-3.16.224-quazip1.patch b/media-gfx/nomacs/files/nomacs-3.16.224-quazip1.patch
deleted file mode 100644
index 06f6b8c2fb81..000000000000
--- a/media-gfx/nomacs/files/nomacs-3.16.224-quazip1.patch
+++ /dev/null
@@ -1,127 +0,0 @@
-From b4a1e98a83598072ea6d720ae4d56d380bee5a75 Mon Sep 17 00:00:00 2001
-From: Petr Vanek <petr@yarpen.cz>
-Date: Sun, 15 Nov 2020 19:15:59 +0100
-Subject: [PATCH] fixed #569 Build fails with quazip 1.0 (#576)
-
----
- cmake/Unix.cmake | 28 +++++++++++++++------
- src/DkCore/DkBasicLoader.cpp | 4 +++
- src/DkCore/DkImageContainer.cpp | 4 +++
- src/DkCore/DkImageLoader.cpp | 6 ++++-
- src/DkGui/DkDialog.cpp | 4 +++
- 5 files changed, 37 insertions(+), 9 deletions(-)
-
-diff --git a/cmake/Unix.cmake b/cmake/Unix.cmake
-index 5567084b..c90ba320 100644
---- a/cmake/Unix.cmake
-+++ b/cmake/Unix.cmake
-@@ -102,14 +102,26 @@ unset(QT_ROOT CACHE)
-
- if(ENABLE_QUAZIP)
- if(USE_SYSTEM_QUAZIP)
-- SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
--
-- find_package(QuaZip5 QUIET)
-- if(NOT QUAZIP_FOUND)
-- message(FATAL_ERROR "QUAZIP not found. It's mandatory when used with ENABLE_QUAZIP enabled, you can also disable USE_SYSTEM_QUAZIP")
-- else()
-- add_definitions(-DWITH_QUAZIP)
-- endif()
-+ # Let's try QuaZip1 first (it's the bright future)
-+ find_package(QuaZip-Qt5 QUIET)
-+ if (QuaZip-Qt5_FOUND)
-+ message(STATUS "QUAZIP: QuaZip-1 for Qt5 found")
-+ set(QUAZIP_LIBRARIES QuaZip::QuaZip)
-+ add_definitions(-DWITH_QUAZIP1)
-+ else ()
-+ message(WARNING "QUAZIP: 1.x not found. Trying to find 0.x")
-+ # QuaZip < 1.0. This leg can be removed (including cmake/FindQuaZip5.cmake)
-+ # ater the final migration to 1.x in Linux distros
-+ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
-+
-+ find_package(QuaZip5 QUIET)
-+ if(NOT QUAZIP_FOUND)
-+ message(FATAL_ERROR "QUAZIP: even 0.x not found. It's mandatory when used with ENABLE_QUAZIP enabled, you can also disable USE_SYSTEM_QUAZIP")
-+ endif()
-+
-+ endif (QuaZip-Qt5_FOUND)
-+ # we have any QuaZip after all
-+ add_definitions(-DWITH_QUAZIP)
- else()
- find_package(ZLIB REQUIRED)
- set(QUAZIP_INCLUDE_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/quazip-0.7/quazip ${CMAKE_CURRENT_SOURCE_DIR}/3rdparty/quazip-0.7/)
-diff --git a/src/DkCore/DkBasicLoader.cpp b/src/DkCore/DkBasicLoader.cpp
-index 7f9e889c..b7edfd43 100644
---- a/src/DkCore/DkBasicLoader.cpp
-+++ b/src/DkCore/DkBasicLoader.cpp
-@@ -54,8 +54,12 @@
-
- // quazip
- #ifdef WITH_QUAZIP
-+#ifdef WITH_QUAZIP1
-+#include <quazip/JlCompress.h>
-+#else
- #include <quazip5/JlCompress.h>
- #endif
-+#endif
-
- // opencv
- #ifdef WITH_OPENCV
-diff --git a/src/DkCore/DkImageContainer.cpp b/src/DkCore/DkImageContainer.cpp
-index 810994d3..150da9c2 100644
---- a/src/DkCore/DkImageContainer.cpp
-+++ b/src/DkCore/DkImageContainer.cpp
-@@ -41,8 +41,12 @@
-
- // quazip
- #ifdef WITH_QUAZIP
-+#ifdef WITH_QUAZIP1
-+#include <quazip/JlCompress.h>
-+#else
- #include <quazip5/JlCompress.h>
- #endif
-+#endif
- #pragma warning(pop) // no warnings from includes - end
-
- #pragma warning(disable: 4251) // TODO: remove
-diff --git a/src/DkCore/DkImageLoader.cpp b/src/DkCore/DkImageLoader.cpp
-index 09d25d23..e4186f2b 100644
---- a/src/DkCore/DkImageLoader.cpp
-+++ b/src/DkCore/DkImageLoader.cpp
-@@ -79,8 +79,12 @@
-
- // quazip
- #ifdef WITH_QUAZIP
-+#ifdef WITH_QUAZIP1
-+#include <quazip/JlCompress.h>
-+#else
- #include <quazip5/JlCompress.h>
- #endif
-+#endif
-
- // opencv
- #ifdef WITH_OPENCV
-@@ -2212,4 +2216,4 @@ QString DkImageLoader::fileName() const {
- return mCurrentImage->fileName();
- }
-
--}
-\ No newline at end of file
-+}
-diff --git a/src/DkGui/DkDialog.cpp b/src/DkGui/DkDialog.cpp
-index 008c9a3b..85842eca 100644
---- a/src/DkGui/DkDialog.cpp
-+++ b/src/DkGui/DkDialog.cpp
-@@ -97,8 +97,12 @@
-
- // quazip
- #ifdef WITH_QUAZIP
-+#ifdef WITH_QUAZIP1
-+#include <quazip/JlCompress.h>
-+#else
- #include <quazip5/JlCompress.h>
- #endif
-+#endif
-
- #pragma warning(pop) // no warnings from includes - end
-
diff --git a/media-gfx/nomacs/nomacs-3.16.224-r6.ebuild b/media-gfx/nomacs/nomacs-3.16.224-r6.ebuild
deleted file mode 100644
index d174453289b1..000000000000
--- a/media-gfx/nomacs/nomacs-3.16.224-r6.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CMAKE_BUILD_TYPE="Release" # buildsys: what a mess
-PLUGIN_PKG="${PN}-plugins-$(ver_cut 1-2)"
-inherit cmake xdg
-
-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 )"
-CMAKE_USE_DIR="${S}/ImageLounge"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv x86 ~amd64-linux"
-IUSE="+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
-"
-
-DOCS=( src/changelog.txt )
-
-PATCHES=(
- "${FILESDIR}"/${P}-libdir.patch
- "${FILESDIR}"/${P}-exiv2-0.28.patch # bug 906488
-)
-
-src_prepare() {
- if use plugins ; then
- rmdir ImageLounge/plugins || die
- mv -v ../${PLUGIN_PKG} ImageLounge/plugins || die
- fi
-
- # from git master # reuse existing patches w/o paths adjusted
- pushd "ImageLounge" > /dev/null || die
- eapply "${FILESDIR}"/${P}-quazip1.patch
- eapply "${FILESDIR}"/${P}-DkMath-ostream.patch
- popd > /dev/null || die
-
- use plugins && eapply "${FILESDIR}"/${P}-libdir-plugins.patch
-
- cmake_src_prepare
-}
-
-src_configure() {
- local mycmakeargs=(
- -DQT_QMAKE_EXECUTABLE=qmake5 # bug 847112
- -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
-}
diff --git a/media-gfx/nomacs/nomacs-3.19.1.ebuild b/media-gfx/nomacs/nomacs-3.19.1-r1.ebuild
index 4b9b1ed6c616..7b47804f0c79 100644
--- a/media-gfx/nomacs/nomacs-3.19.1.ebuild
+++ b/media-gfx/nomacs/nomacs-3.19.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,16 +15,16 @@ CMAKE_USE_DIR="${S}/ImageLounge"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux"
+KEYWORDS="amd64 ~arm64 ~riscv x86 ~amd64-linux"
IUSE="+opencv plugins raw +tiff test zip"
-RESTRICT="!test? ( test )"
-
REQUIRED_USE="
raw? ( opencv )
tiff? ( opencv )
"
+RESTRICT="!test? ( test )"
RDEPEND="
+ dev-qt/qt5compat:6
dev-qt/qtbase:6[concurrent,cups,gui,network,widgets]
dev-qt/qtsvg:6
media-gfx/exiv2:=
@@ -36,8 +36,7 @@ RDEPEND="
)
zip? ( dev-libs/quazip:0=[qt6(+)] )
"
-DEPEND="
- ${RDEPEND}
+DEPEND="${RDEPEND}
test? ( dev-cpp/gtest )
"
BDEPEND="
diff --git a/media-gfx/openscad/Manifest b/media-gfx/openscad/Manifest
index c20624a8c4dc..1f822d2c1cc8 100644
--- a/media-gfx/openscad/Manifest
+++ b/media-gfx/openscad/Manifest
@@ -1,4 +1,5 @@
-DIST openscad-2021.01.tar.gz 15817555 BLAKE2B 417857d704fa3c14312641ebda983eb85a1e3bc0d517a235fa3bd2523fce6f93c1ea526c330179bc35f03e6c73d3cd7c4c57cd71480088c21bfc99bb020ab7cd SHA512 8deaa26bf4c295c12da38f323d2b2e6f827851337f5bc1cc9c79afc083c9f913c19a263086e6e853bf2c8434c1ccc705ea22ddb02dc99d39bb1e5e03fc58d128
+DIST openscad-2024.12.30_pre.tar.gz 25338952 BLAKE2B 41baa7f5df30e46611a2ef59dc0aa05ccb85644dddfb979224b5b026f1b9338285eecd50e2078543163621c89fbc81e97b7593b641a223b48ca02029962f8076 SHA512 e63ac792c16852c1bbdf06a3cb044b453e05c20a95158adddbc09239bcf228fd113a6e33f83d5580e615ecab3cdab8436da9e21d2ab3c3f8846f66219218713b
DIST openscad-20241114.tar.gz 25288312 BLAKE2B 0c1a9b4b15c12f4b3b600e81cdb5eeddb34887c83e2ae67735d7221b6660730dc5e7f97f80b84d187772adfa20d15e20f0cded1b4937e26305434847bbf2af27 SHA512 6c66c09e4b72ec5ef200d077b58fcb7a5a9acd359551a5daebdc3e24cb2cb7ed7d607b04e5563ea6f14d9d929310c3a9194ac889f2530c2c933235271040981a
DIST openscad-MCAD-bd0a7ba3f042bfbced5ca1894b236cea08904e26.tar.gz 58895 BLAKE2B e154a38e1c36873a34f7c80b8fa484e4bbcb1b0c217e15b977e6cedc9a83fd2e1518791f9a58a4f0e893c2a55947d7eaddb660d8b725eca048c30f0ea41cf14a SHA512 c6208a90f6a58ebdc0477d3e1b6be2f52e4ce976ac619a87818437cb9696b7e83285564fde757d32efaf50033d5217b55f67b6ce342250de838dd09fef334f36
+DIST sanitizers-cmake-0573e2ea8651b9bb3083f193c41eb086497cc80a.tar.gz 7495 BLAKE2B 57efaac8861755fd7fe3a9c9db2a68f775169ef82b91fbcf44da375540dce7673f319908c0d1a8ac324584bc217f9e2a1e27d6f935fe84f1f640049324ea3b24 SHA512 80d1c471492a771b12291e36cc7523e65c8f9add5b14643c9554156bbcc3e1753772054998306c3f89d33b7f5c9969e89670e16428a72040033b41329c9cb71b
DIST sanitizers-cmake-3f0542e4e034aab417c51b2b22c94f83355dee15.tar.gz 7451 BLAKE2B 2ca72e3ecda02d4f0eed05be0954af02706425e94626d5a4b9d897968e35c341413171e2388ece7e83dad9eb7b5e2c2f73811ea8db8fa33b0bce6d5dd53550b7 SHA512 10cd4eeb3bbb7bf5c6f5cf8b5bc6a531b1ec8bdc147583d8de028a3e4b8b9d0e258aad81f02135267ce8f7d87b30999dedd25b44c0754b5c31e00d8481cd412f
diff --git a/media-gfx/openscad/files/50openscad-gentoo.el b/media-gfx/openscad/files/50openscad-gentoo.el
deleted file mode 100644
index 3cc7c1a7c46f..000000000000
--- a/media-gfx/openscad/files/50openscad-gentoo.el
+++ /dev/null
@@ -1,3 +0,0 @@
-(add-to-list 'load-path "@SITELISP@")
-(autoload 'scad-mode "scad-mode" "Major mode for editing SCAD code." t)
-(add-to-list 'auto-mode-alist '("\\.scad$" . scad-mode))
diff --git a/media-gfx/openscad/files/openscad-2021.01-0001-Gentoo-specific-Disable-ccache-building.patch b/media-gfx/openscad/files/openscad-2021.01-0001-Gentoo-specific-Disable-ccache-building.patch
deleted file mode 100644
index 6de581078d27..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-0001-Gentoo-specific-Disable-ccache-building.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From c138881767262b9f5c64a465a0e1e46ffcfc5899 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Sun, 28 Feb 2021 16:51:30 +0100
-Subject: [PATCH] [Gentoo specific] Disable ccache building
-
-On Gentoo, we use a USE flag to determine whether ccache
-should be used for building.
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
----
- openscad.pro | 5 -----
- 1 file changed, 5 deletions(-)
-
-diff --git a/openscad.pro b/openscad.pro
-index b76ca76..678e08d 100755
---- a/openscad.pro
-+++ b/openscad.pro
-@@ -211,11 +211,6 @@ mdi {
- DEFINES += ENABLE_MDI
- }
-
--system("ccache -V >/dev/null 2>/dev/null") {
-- CONFIG += ccache
-- message("Using ccache")
--}
--
- include(common.pri)
-
- # mingw has to come after other items so OBJECT_DIRS will work properly
---
-2.30.1
-
diff --git a/media-gfx/openscad/files/openscad-2021.01-0002-fix-to-find-lib3mf-2.patch b/media-gfx/openscad/files/openscad-2021.01-0002-fix-to-find-lib3mf-2.patch
deleted file mode 100644
index 1995bd6e0ac4..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-0002-fix-to-find-lib3mf-2.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 16847a70cf05484a668d8f79aba4ccec7e16c025 Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Sat, 6 Mar 2021 22:59:17 +0100
-Subject: [PATCH] fix to find lib3mf-2
-
-The pkgconfig file for lib3mf has been renamed in case
-for lib3mf-2 versions.
-This patch uses the news names.
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
----
- features/lib3mf.prf | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/features/lib3mf.prf b/features/lib3mf.prf
-index 2c512da..47be364 100644
---- a/features/lib3mf.prf
-+++ b/features/lib3mf.prf
-@@ -15,8 +15,8 @@ isEmpty(LIB3MF_LIBPATH) {
- }
-
- isEmpty(LIB3MF_INCLUDEPATH) {
-- LIB3MF_CFLAGS = $$system("$$PKG_CONFIG --cflags lib3MF")
-- LIB3MF_INCLUDEPATH = $$system("$$PKG_CONFIG --variable=includedir lib3MF")
-+ LIB3MF_CFLAGS = $$system("$$PKG_CONFIG --cflags lib3mf")
-+ LIB3MF_INCLUDEPATH = $$system("$$PKG_CONFIG --variable=includedir lib3mf")
- !isEmpty(LIB3MF_CFLAGS) {
- ENABLE_LIB3MF=yes
- }
-@@ -25,8 +25,8 @@ isEmpty(LIB3MF_INCLUDEPATH) {
- }
-
- isEmpty(LIB3MF_LIBPATH) {
-- LIB3MF_LIBS = $$system("$$PKG_CONFIG --libs lib3MF")
-- LIB3MF_LIBPATH = $$system("$$PKG_CONFIG --variable=libdir lib3MF")
-+ LIB3MF_LIBS = $$system("$$PKG_CONFIG --libs lib3mf")
-+ LIB3MF_LIBPATH = $$system("$$PKG_CONFIG --variable=libdir lib3mf")
- !isEmpty(LIB3MF_LIBS) {
- ENABLE_LIB3MF=yes
- }
---
-2.30.1
-
diff --git a/media-gfx/openscad/files/openscad-2021.01-CGAL-build-fix-v5.4-renames-projection-traits-header.patch b/media-gfx/openscad/files/openscad-2021.01-CGAL-build-fix-v5.4-renames-projection-traits-header.patch
deleted file mode 100644
index 5fea4998683d..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-CGAL-build-fix-v5.4-renames-projection-traits-header.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-https://bugs.gentoo.org/851189
-From https://github.com/openscad/openscad/commit/abfebc651343909b534ef337aacc7604c99cf0ea Mon Sep 17 00:00:00 2001
-From: Torsten Paul <Torsten.Paul@gmx.de>
-Date: Wed, 2 Feb 2022 02:30:59 +0100
-Subject: [PATCH 09/11] CGAL build fix, v5.4 renames projection traits header
- files and classes.
-
---- a/src/cgalutils-tess.cc
-+++ b/src/cgalutils-tess.cc
-@@ -6,10 +6,12 @@
- #pragma push_macro("NDEBUG")
- #undef NDEBUG
- #include <CGAL/Constrained_Delaunay_triangulation_2.h>
--#if CGAL_VERSION_NR >= CGAL_VERSION_NUMBER(4,11,0)
-- #include <CGAL/Triangulation_2_projection_traits_3.h>
-+#if CGAL_VERSION_NR < 1050401000
-+#include <CGAL/Triangulation_2_projection_traits_3.h>
-+typedef CGAL::Triangulation_2_filtered_projection_traits_3<K> Projection;
- #else
-- #include <CGAL/Triangulation_2_filtered_projection_traits_3.h>
-+#include <CGAL/Projection_traits_3.h>
-+typedef CGAL::Filtered_projection_traits_3<K> Projection;
- #endif
- #include <CGAL/Triangulation_face_base_with_info_2.h>
- #pragma pop_macro("NDEBUG")
-@@ -19,7 +21,6 @@ struct FaceInfo {
- bool in_domain() { return nesting_level%2 == 1; }
- };
-
--typedef CGAL::Triangulation_2_filtered_projection_traits_3<K> Projection;
- typedef CGAL::Triangulation_face_base_with_info_2<FaceInfo, K> Fbb;
- typedef CGAL::Triangulation_data_structure_2<
- CGAL::Triangulation_vertex_base_2<Projection>,
---
-2.35.1
-
diff --git a/media-gfx/openscad/files/openscad-2021.01-CVE-2022-0496-Out-of-bounds-memory-access-in-DXF-loa.patch b/media-gfx/openscad/files/openscad-2021.01-CVE-2022-0496-Out-of-bounds-memory-access-in-DXF-loa.patch
deleted file mode 100644
index 6c0a9558e3fb..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-CVE-2022-0496-Out-of-bounds-memory-access-in-DXF-loa.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From https://github.com/openscad/openscad/commit/00a4692989c4e2f191525f73f24ad8727bacdf41 Mon Sep 17 00:00:00 2001
-From: Torsten Paul <Torsten.Paul@gmx.de>
-Date: Sat, 5 Feb 2022 18:38:31 +0100
-Subject: [PATCH 01/11] CVE-2022-0496 Out-of-bounds memory access in DXF
- loader.
-
-Public issue:
-https://github.com/openscad/openscad/issues/4037
-
-Fix in master branch:
-https://github.com/openscad/openscad/pull/4090
---- a/src/dxfdata.cc
-+++ b/src/dxfdata.cc
-@@ -441,6 +441,11 @@ DxfData::DxfData(double fn, double fs, double fa,
- auto lv = grid.data(this->points[lines[idx].idx[j]][0], this->points[lines[idx].idx[j]][1]);
- for (size_t ki = 0; ki < lv.size(); ++ki) {
- int k = lv.at(ki);
-+ if (k < 0 || k >= lines.size()) {
-+ LOG(message_group::Warning,Location::NONE,"",
-+ "Bad DXF line index in %1$s.",QuotedString(boostfs_uncomplete(filename, fs::current_path()).generic_string()));
-+ continue;
-+ }
- if (k == idx || lines[k].disabled) continue;
- goto next_open_path_j;
- }
-@@ -466,13 +471,20 @@ DxfData::DxfData(double fn, double fs, double fa,
- auto lv = grid.data(ref_point[0], ref_point[1]);
- for (size_t ki = 0; ki < lv.size(); ++ki) {
- int k = lv.at(ki);
-+ if (k < 0 || k >= lines.size()) {
-+ LOG(message_group::Warning,Location::NONE,"",
-+ "Bad DXF line index in %1$s.",QuotedString(boostfs_uncomplete(filename, fs::current_path()).generic_string()));
-+ continue;
-+ }
- if (lines[k].disabled) continue;
-- if (grid.eq(ref_point[0], ref_point[1], this->points[lines[k].idx[0]][0], this->points[lines[k].idx[0]][1])) {
-+ auto idk0 = lines[k].idx[0]; // make it easier to read and debug
-+ auto idk1 = lines[k].idx[1];
-+ if (grid.eq(ref_point[0], ref_point[1], this->points[idk0][0], this->points[idk0][1])) {
- current_line = k;
- current_point = 0;
- goto found_next_line_in_open_path;
- }
-- if (grid.eq(ref_point[0], ref_point[1], this->points[lines[k].idx[1]][0], this->points[lines[k].idx[1]][1])) {
-+ if (grid.eq(ref_point[0], ref_point[1], this->points[idk1][0], this->points[idk1][1])) {
- current_line = k;
- current_point = 1;
- goto found_next_line_in_open_path;
-@@ -501,13 +513,20 @@ DxfData::DxfData(double fn, double fs, double fa,
- auto lv = grid.data(ref_point[0], ref_point[1]);
- for (size_t ki = 0; ki < lv.size(); ++ki) {
- int k = lv.at(ki);
-+ if (k < 0 || k >= lines.size()) {
-+ LOG(message_group::Warning,Location::NONE,"",
-+ "Bad DXF line index in %1$s.",QuotedString(boostfs_uncomplete(filename, fs::current_path()).generic_string()));
-+ continue;
-+ }
- if (lines[k].disabled) continue;
-- if (grid.eq(ref_point[0], ref_point[1], this->points[lines[k].idx[0]][0], this->points[lines[k].idx[0]][1])) {
-+ auto idk0 = lines[k].idx[0]; // make it easier to read and debug
-+ auto idk1 = lines[k].idx[1];
-+ if (grid.eq(ref_point[0], ref_point[1], this->points[idk0][0], this->points[idk0][1])) {
- current_line = k;
- current_point = 0;
- goto found_next_line_in_closed_path;
- }
-- if (grid.eq(ref_point[0], ref_point[1], this->points[lines[k].idx[1]][0], this->points[lines[k].idx[1]][1])) {
-+ if (grid.eq(ref_point[0], ref_point[1], this->points[idk1][0], this->points[idk1][1])) {
- current_line = k;
- current_point = 1;
- goto found_next_line_in_closed_path;
---
-2.35.1
-
diff --git a/media-gfx/openscad/files/openscad-2021.01-CVE-2022-0497-Out-of-bounds-memory-access-in-comment.patch b/media-gfx/openscad/files/openscad-2021.01-CVE-2022-0497-Out-of-bounds-memory-access-in-comment.patch
deleted file mode 100644
index 39ef72406f47..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-CVE-2022-0497-Out-of-bounds-memory-access-in-comment.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From https://github.com/openscad/openscad/commit/84addf3c1efbd51d8ff424b7da276400bbfa1a4b Mon Sep 17 00:00:00 2001
-From: Torsten Paul <Torsten.Paul@gmx.de>
-Date: Sat, 5 Feb 2022 18:45:29 +0100
-Subject: [PATCH 02/11] CVE-2022-0497 Out-of-bounds memory access in comment
- parser.
-
-Public issue:
-https://github.com/openscad/openscad/issues/4043
-
-Fix in master branch:
-https://github.com/openscad/openscad/pull/4044
---- a/src/comment.cpp
-+++ b/src/comment.cpp
-@@ -92,7 +92,7 @@ static std::string getComment(const std::string &fulltext, int line)
- }
-
- int end = start + 1;
-- while (fulltext[end] != '\n') end++;
-+ while (end < fulltext.size() && fulltext[end] != '\n') end++;
-
- std::string comment = fulltext.substr(start, end - start);
-
---
-2.35.1
-
diff --git a/media-gfx/openscad/files/openscad-2021.01-Fix-build-failure-with-generic_print_polyhedron-on-C.patch b/media-gfx/openscad/files/openscad-2021.01-Fix-build-failure-with-generic_print_polyhedron-on-C.patch
deleted file mode 100644
index f09954bf01be..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-Fix-build-failure-with-generic_print_polyhedron-on-C.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-https://bugs.gentoo.org/851189
-From https://github.com/openscad/openscad/commit/9aa0d7e9f2914fe5f547bdde69202161d1c6064d Mon Sep 17 00:00:00 2001
-From: Jordan Brown <github@jordan.maileater.net>
-Date: Sun, 18 Jul 2021 21:01:46 -0700
-Subject: [PATCH 05/11] Fix build failure with "generic_print_polyhedron" on
- CGAL-5.3.
-
---- a/src/cgalutils-polyhedron.cc
-+++ b/src/cgalutils-polyhedron.cc
-@@ -337,19 +337,6 @@ namespace CGALUtils {
- }
- };
-
-- template <typename Polyhedron>
-- std::string printPolyhedron(const Polyhedron &p) {
-- std::ostringstream sstream;
-- sstream.precision(20);
--
-- Polyhedron_writer writer;
-- generic_print_polyhedron(sstream, p, writer);
--
-- return sstream.str();
-- }
--
-- template std::string printPolyhedron(const CGAL_Polyhedron &p);
--
- }; // namespace CGALUtils
-
- #endif /* ENABLE_CGAL */
---- a/src/cgalutils.h
-+++ b/src/cgalutils.h
-@@ -45,7 +45,6 @@ namespace CGALUtils {
- bool is_approximately_convex(const PolySet &ps);
- Geometry const* applyMinkowski(const Geometry::Geometries &children);
-
-- template <typename Polyhedron> std::string printPolyhedron(const Polyhedron &p);
- template <typename Polyhedron> bool createPolySetFromPolyhedron(const Polyhedron &p, PolySet &ps);
- template <typename Polyhedron> bool createPolyhedronFromPolySet(const PolySet &ps, Polyhedron &p);
- template <class Polyhedron_A, class Polyhedron_B>
---
-2.35.1
-
diff --git a/media-gfx/openscad/files/openscad-2021.01-Fix-build-issue-with-overloaded-join.patch b/media-gfx/openscad/files/openscad-2021.01-Fix-build-issue-with-overloaded-join.patch
deleted file mode 100644
index 7a70b183d447..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-Fix-build-issue-with-overloaded-join.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-https://bugs.gentoo.org/851189
-From https://github.com/openscad/openscad/commit/08bf69b4115c989fc5671254e0d05735d01bcca5 Mon Sep 17 00:00:00 2001
-From: Torsten Paul <Torsten.Paul@gmx.de>
-Date: Wed, 2 Feb 2022 00:50:43 +0100
-Subject: [PATCH 10/11] Fix build issue with overloaded join().
-
---- a/src/openscad.cc
-+++ b/src/openscad.cc
-@@ -65,7 +65,6 @@
- #include <chrono>
- #include <boost/algorithm/string.hpp>
- #include <boost/algorithm/string/split.hpp>
--#include <boost/algorithm/string/join.hpp>
- #include <boost/range/adaptor/transformed.hpp>
- #include <boost/program_options.hpp>
- #include <boost/filesystem.hpp>
-@@ -307,7 +306,7 @@ void set_render_color_scheme(const std::string color_scheme, const bool exit_if_
- }
-
- if (exit_if_not_found) {
-- LOG(message_group::None,Location::NONE,"",(boost::join(ColorMap::inst()->colorSchemeNames(), "\n")));
-+ LOG(message_group::None,Location::NONE,"",(boost::algorithm::join(ColorMap::inst()->colorSchemeNames(), "\n")));
-
- exit(1);
- } else {
-@@ -885,7 +884,7 @@ struct CommaSeparatedVector
- };
-
- template <class Seq, typename ToString>
--std::string join(const Seq &seq, const std::string &sep, const ToString &toString)
-+std::string str_join(const Seq &seq, const std::string &sep, const ToString &toString)
- {
- return boost::algorithm::join(boost::adaptors::transform(seq, toString), sep);
- }
-@@ -947,7 +946,7 @@ int main(int argc, char **argv)
- ("P,P", po::value<string>(), "customizer parameter set")
- #ifdef ENABLE_EXPERIMENTAL
- ("enable", po::value<vector<string>>(), ("enable experimental features: " +
-- join(boost::make_iterator_range(Feature::begin(), Feature::end()), " | ",
-+ str_join(boost::make_iterator_range(Feature::begin(), Feature::end()), " | ",
- [](const Feature *feature) {
- return feature->get_name();
- }) +
-@@ -964,11 +963,11 @@ int main(int argc, char **argv)
- ("render", po::value<string>()->implicit_value(""), "for full geometry evaluation when exporting png")
- ("preview", po::value<string>()->implicit_value(""), "[=throwntogether] -for ThrownTogether preview png")
- ("animate", po::value<unsigned>(), "export N animated frames")
-- ("view", po::value<CommaSeparatedVector>(), ("=view options: " + boost::join(viewOptions.names(), " | ")).c_str())
-+ ("view", po::value<CommaSeparatedVector>(), ("=view options: " + boost::algorithm::join(viewOptions.names(), " | ")).c_str())
- ("projection", po::value<string>(), "=(o)rtho or (p)erspective when exporting png")
- ("csglimit", po::value<unsigned int>(), "=n -stop rendering at n CSG elements when exporting png")
- ("colorscheme", po::value<string>(), ("=colorscheme: " +
-- join(ColorMap::inst()->colorSchemeNames(), " | ",
-+ str_join(ColorMap::inst()->colorSchemeNames(), " | ",
- [](const std::string& colorScheme) {
- return (colorScheme == ColorMap::inst()->defaultColorSchemeName() ? "*" : "") + colorScheme;
- }) +
---
-2.35.1
-
diff --git a/media-gfx/openscad/files/openscad-2021.01-Remove-double-quoting-of-the-output-file-parameter-f.patch b/media-gfx/openscad/files/openscad-2021.01-Remove-double-quoting-of-the-output-file-parameter-f.patch
deleted file mode 100644
index 20167b910ee4..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-Remove-double-quoting-of-the-output-file-parameter-f.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-From https://github.com/openscad/openscad/commit/45a5e3bdd6c8071cb50b9c3f2b14a62554aafc4a Mon Sep 17 00:00:00 2001
-From: Torsten Paul <Torsten.Paul@gmx.de>
-Date: Thu, 14 Apr 2022 16:07:04 +0200
-Subject: [PATCH 11/11] Remove double quoting of the output file parameter for
- ghostscript.
-
---- a/tests/export_pngtest.py
-+++ b/tests/export_pngtest.py
-@@ -82,7 +82,7 @@ result = subprocess.call(export_cmd, env = fontenv)
- if result != 0:
- failquit('OpenSCAD failed with return code ' + str(result))
-
--convert_cmd = gs_cmd + ["-sOutputFile=\"" + pngfile + "\"", exportfile]
-+convert_cmd = gs_cmd + ["-sOutputFile=" + pngfile, exportfile]
- print('Running Converter:', ' '.join(convert_cmd), file=sys.stderr)
- result = subprocess.call(convert_cmd)
- if result != 0:
---
-2.35.1
-
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
deleted file mode 100644
index e3370f32fc38..000000000000
--- a/media-gfx/openscad/files/openscad-2021.01-boost-1.85.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff '--color=auto' -ur openscad-2021.01-orig/src/FileModule.cc openscad-2021.01/src/FileModule.cc
---- openscad-2021.01-orig/src/FileModule.cc 2021-01-31 21:17:41.000000000 +0100
-+++ openscad-2021.01/src/FileModule.cc 2024-05-20 07:50:31.746487490 +0200
-@@ -65,7 +65,7 @@
- auto ext = fs::path(path).extension().generic_string();
-
- if (boost::iequals(ext, ".otf") || boost::iequals(ext, ".ttf")) {
-- if (fs::is_regular(path)) {
-+ if (fs::is_regular_file(path)) {
- FontCache::instance()->register_font_file(path);
- } else {
- LOG(message_group::Error,Location::NONE,"","Can't read font with path '%1$s'",path);
diff --git a/media-gfx/openscad/openscad-2021.01-r5.ebuild b/media-gfx/openscad/openscad-2021.01-r5.ebuild
deleted file mode 100644
index 3e4af4844ba7..000000000000
--- a/media-gfx/openscad/openscad-2021.01-r5.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit elisp-common flag-o-matic qmake-utils xdg
-
-SITEFILE="50${PN}-gentoo.el"
-
-DESCRIPTION="The Programmers Solid 3D CAD Modeller"
-HOMEPAGE="https://openscad.org/"
-SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz -> ${P}.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
-IUSE="emacs"
-# tests are not fully working and need cmake which isn't yet
-# officially supported.
-RESTRICT="test"
-
-RDEPEND="
- dev-cpp/eigen:3
- dev-libs/boost:=
- dev-libs/double-conversion:=
- dev-libs/glib:2
- dev-libs/gmp:0=
- dev-libs/hidapi
- dev-libs/libspnav
- dev-libs/libxml2
- dev-libs/libzip:=
- dev-libs/mpfr:0=
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtdbus:5
- dev-qt/qtgui:5[-gles2-only]
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtopengl:5
- dev-qt/qtwidgets:5
- media-gfx/opencsg:=
- media-libs/fontconfig
- media-libs/freetype
- >=media-libs/glew-2.0.0:0=
- media-libs/harfbuzz:=
- media-libs/lib3mf
- sci-mathematics/cgal:=
- x11-libs/cairo
- >=x11-libs/qscintilla-2.10.3:=[qt5(+)]
- emacs? ( >=app-editors/emacs-23.1:* )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-util/itstool
- app-alternatives/yacc
- app-alternatives/lex
- sys-devel/gettext
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-0001-Gentoo-specific-Disable-ccache-building.patch
- "${FILESDIR}"/${P}-0002-fix-to-find-lib3mf-2.patch
- "${FILESDIR}"/${P}-CVE-2022-0496-Out-of-bounds-memory-access-in-DXF-loa.patch
- "${FILESDIR}"/${P}-CVE-2022-0497-Out-of-bounds-memory-access-in-comment.patch
- "${FILESDIR}"/${P}-Fix-build-failure-with-generic_print_polyhedron-on-C.patch
- "${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
- eqmake5 "PREFIX = ${ESYSROOT}/usr" "${PN}.pro"
- fi
-}
-
-src_compile() {
- # We have random parallel build issues, bug #856430
- emake -j1
-
- if use emacs ; then
- elisp-compile contrib/*.el
- fi
-}
-
-src_install() {
- emake install INSTALL_ROOT="${D}"
-
- if use emacs; then
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- elisp-install ${PN} contrib/*.el contrib/*.elc
- fi
-
- mv -i "${ED}"/usr/share/openscad/locale "${ED}"/usr/share || die "failed to move locales"
- ln -sf ../locale "${ED}"/usr/share/openscad/locale || die
-
- einstalldocs
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
- xdg_desktop_database_update
- xdg_mimeinfo_database_update
-}
diff --git a/media-gfx/openscad/openscad-20241114.ebuild b/media-gfx/openscad/openscad-2024.11.14_pre.ebuild
index 238288a09864..e1239db68909 100644
--- a/media-gfx/openscad/openscad-20241114.ebuild
+++ b/media-gfx/openscad/openscad-2024.11.14_pre.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,7 @@ else
SRC_URI="
https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
- -> ${P}.tar.gz
+ -> ${PN}-20241114.tar.gz
https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
-> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
test? (
@@ -34,7 +34,7 @@ else
# doc downloads are not versioned and found at:
# https://files.openscad.org/documentation/
S="${WORKDIR}/${PN}-${COMMIT}"
- KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+ KEYWORDS="amd64 ~arm64 ~ppc64 ~x86"
fi
# Code is GPL-3+, MCAD library is LGPL-2.1
diff --git a/media-gfx/openscad/openscad-99999999.ebuild b/media-gfx/openscad/openscad-2024.12.30_pre.ebuild
index 238288a09864..0361bac9f047 100644
--- a/media-gfx/openscad/openscad-99999999.ebuild
+++ b/media-gfx/openscad/openscad-2024.12.30_pre.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake flag-o-matic optfeature virtualx xdg
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake flag-o-matic optfeature python-any-r1 virtualx xdg
DESCRIPTION="The Programmers Solid 3D CAD Modeller"
HOMEPAGE="https://openscad.org/"
@@ -18,22 +19,26 @@ if [[ ${PV} = *9999* ]] ; then
'-OpenCSG'
)
else
- COMMIT="bc0d078e0361d7dba66723ac31bdb3b650ecff37"
- SANITIZERS_CMAKE_COMMIT="3f0542e4e034aab417c51b2b22c94f83355dee15"
- MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
-
- SRC_URI="
- https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
- -> ${P}.tar.gz
- https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
- -> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
- test? (
- https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
- )
- "
- # doc downloads are not versioned and found at:
- # https://files.openscad.org/documentation/
- S="${WORKDIR}/${PN}-${COMMIT}"
+ if [[ ${PV} = *pre* ]] ; then
+ COMMIT="756e080c7e49072d9926cf9ce766def180a0dcae"
+ SANITIZERS_CMAKE_COMMIT="0573e2ea8651b9bb3083f193c41eb086497cc80a"
+ MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
+
+ SRC_URI="
+ https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
+ -> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
+ test? (
+ https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
+ )
+ "
+ # doc downloads are not versioned and found at:
+ # https://files.openscad.org/documentation/
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ else
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz -> ${P}.tar.gz"
+ fi
KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
fi
@@ -74,7 +79,7 @@ RDEPEND="
hidapi? ( dev-libs/hidapi )
manifold? (
dev-cpp/tbb
- sci-mathematics/manifold
+ >=sci-mathematics/manifold-3.0.1
)
mimalloc? ( dev-libs/mimalloc:= )
pdf? ( x11-libs/cairo )
@@ -90,6 +95,13 @@ BDEPEND="
dev-util/itstool
sys-devel/gettext
virtual/pkgconfig
+ test? (
+ $(python_gen_any_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ ')
+ )
"
DOCS=(
@@ -102,6 +114,17 @@ DOCS=(
doc/translation.txt
)
+# NOTE the build system sets up a venv for tests, we could use imagemagick with -DUSE_IMAGE_COMPARE_PY="no"
+python_check_deps() {
+ python_has_version "dev-python/numpy[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pillow[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pip[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
src_prepare() {
if use test && [[ ${PV} != *9999* ]] ; then
mv -f "${WORKDIR}/MCAD-${MCAD_COMMIT}"/* "${S}/libraries/MCAD/" || die
@@ -134,6 +157,7 @@ src_configure() {
-DEXPERIMENTAL="$(usex experimental)"
-DHEADLESS="$(usex !gui)"
+ -DUSE_BUILTIN_CLIPPER2="no"
-DUSE_BUILTIN_MANIFOLD="no"
-DUSE_CCACHE="no"
-DUSE_GLAD="yes"
@@ -142,6 +166,7 @@ src_configure() {
-DUSE_MIMALLOC="$(usex mimalloc)"
-DUSE_QT6="$(usex gui)"
-DOFFLINE_DOCS="no" # TODO
+ -DOPENCSG_DIR="${EPREFIX}/usr/$(get_libdir)"
)
if use gui; then
@@ -155,8 +180,18 @@ src_configure() {
if [[ ${PV} != *9999* ]] ; then
mycmakeargs+=(
-DCMAKE_MODULE_PATH="${WORKDIR}/sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}/cmake"
+ )
+ if [[ ${PV} = *pre* ]] ; then
+ mycmakeargs+=(
+ -DOPENSCAD_COMMIT="${COMMIT:0:9}"
+ -DOPENSCAD_VERSION="$(ver_cut 1-3)"
+ -DSNAPSHOT="yes"
+ )
+ fi
+ else
+ mycmakeargs+=(
-DOPENSCAD_COMMIT="${COMMIT:0:9}"
- -DOPENSCAD_VERSION="${PV:0:4}.${PV:4:2}.${PV:6:2}"
+ -DSNAPSHOT="yes"
)
fi
diff --git a/media-gfx/openscad/openscad-9999.ebuild b/media-gfx/openscad/openscad-9999.ebuild
new file mode 100644
index 000000000000..0361bac9f047
--- /dev/null
+++ b/media-gfx/openscad/openscad-9999.ebuild
@@ -0,0 +1,275 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit cmake flag-o-matic optfeature python-any-r1 virtualx xdg
+
+DESCRIPTION="The Programmers Solid 3D CAD Modeller"
+HOMEPAGE="https://openscad.org/"
+
+if [[ ${PV} = *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/openscad/openscad.git"
+ EGIT_SUBMODULES=(
+ '*'
+ '-mimalloc'
+ '-submodules/manifold'
+ '-OpenCSG'
+ )
+else
+ if [[ ${PV} = *pre* ]] ; then
+ COMMIT="756e080c7e49072d9926cf9ce766def180a0dcae"
+ SANITIZERS_CMAKE_COMMIT="0573e2ea8651b9bb3083f193c41eb086497cc80a"
+ MCAD_COMMIT="bd0a7ba3f042bfbced5ca1894b236cea08904e26"
+
+ SRC_URI="
+ https://github.com/openscad/openscad/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz
+ https://github.com/arsenm/sanitizers-cmake/archive/${SANITIZERS_CMAKE_COMMIT}.tar.gz
+ -> sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}.tar.gz
+ test? (
+ https://github.com/openscad/MCAD/archive/${MCAD_COMMIT}.tar.gz -> ${PN}-MCAD-${MCAD_COMMIT}.tar.gz
+ )
+ "
+ # doc downloads are not versioned and found at:
+ # https://files.openscad.org/documentation/
+ S="${WORKDIR}/${PN}-${COMMIT}"
+ else
+ SRC_URI="https://github.com/${PN}/${PN}/releases/download/${P}/${P}.src.tar.gz -> ${P}.tar.gz"
+ fi
+ KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+fi
+
+# Code is GPL-3+, MCAD library is LGPL-2.1
+LICENSE="GPL-3+ LGPL-2.1"
+SLOT="0"
+
+IUSE="dbus +egl experimental glx +gui hidapi +manifold mimalloc pdf spacenav test"
+RESTRICT="!test? ( test )"
+
+REQUIRED_USE="
+ dbus? ( gui )
+ hidapi? ( gui )
+ spacenav? ( gui )
+ || ( egl glx )
+"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-libs/double-conversion:=
+ dev-libs/glib:2
+ dev-libs/libxml2
+ dev-libs/libzip:=
+ media-gfx/opencsg:=
+ media-libs/fontconfig
+ media-libs/freetype
+ media-libs/harfbuzz:=
+ media-libs/lib3mf:=
+ sci-mathematics/cgal:=
+ media-libs/libglvnd[X]
+ gui? (
+ dev-qt/qt5compat:6
+ dev-qt/qtbase:6[concurrent,dbus?,-gles2-only,network,opengl,widgets]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+ x11-libs/qscintilla:=[qt6]
+ )
+ hidapi? ( dev-libs/hidapi )
+ manifold? (
+ dev-cpp/tbb
+ >=sci-mathematics/manifold-3.0.1
+ )
+ mimalloc? ( dev-libs/mimalloc:= )
+ pdf? ( x11-libs/cairo )
+ spacenav? ( dev-libs/libspnav )
+"
+DEPEND="
+ ${RDEPEND}
+ dev-cpp/eigen:3
+"
+BDEPEND="
+ app-alternatives/yacc
+ app-alternatives/lex
+ dev-util/itstool
+ sys-devel/gettext
+ virtual/pkgconfig
+ test? (
+ $(python_gen_any_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+DOCS=(
+ README.md
+ RELEASE_NOTES.md
+ doc/TODO.txt
+ doc/contributor_copyright.txt
+ doc/hacking.md
+ doc/testing.txt
+ doc/translation.txt
+)
+
+# NOTE the build system sets up a venv for tests, we could use imagemagick with -DUSE_IMAGE_COMPARE_PY="no"
+python_check_deps() {
+ python_has_version "dev-python/numpy[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pillow[${PYTHON_USEDEP}]" &&
+ python_has_version "dev-python/pip[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ if use test && [[ ${PV} != *9999* ]] ; then
+ mv -f "${WORKDIR}/MCAD-${MCAD_COMMIT}"/* "${S}/libraries/MCAD/" || die
+ fi
+
+ # NOTE adhere CMP0167
+ # https://cmake.org/cmake/help/latest/policy/CMP0167.html
+ sed \
+ -e '/find_package(Boost/s/)/ CONFIG)/g' \
+ -i CMakeLists.txt || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # -Werror=odr
+ # https://github.com/openscad/openscad/issues/5239
+ filter-lto
+
+ local mycmakeargs=(
+ -DCLANG_TIDY="no"
+ -DENABLE_CAIRO="$(usex pdf)"
+ -DENABLE_CGAL="yes"
+ -DENABLE_EGL="$(usex egl)"
+ -DENABLE_GLX="$(usex glx)"
+ -DENABLE_MANIFOLD="$(usex manifold)"
+ -DENABLE_PYTHON="no"
+ -DENABLE_TESTS="$(usex test)"
+
+ -DEXPERIMENTAL="$(usex experimental)"
+
+ -DHEADLESS="$(usex !gui)"
+ -DUSE_BUILTIN_CLIPPER2="no"
+ -DUSE_BUILTIN_MANIFOLD="no"
+ -DUSE_CCACHE="no"
+ -DUSE_GLAD="yes"
+ -DUSE_GLEW="no"
+ -DUSE_LEGACY_RENDERERS="no"
+ -DUSE_MIMALLOC="$(usex mimalloc)"
+ -DUSE_QT6="$(usex gui)"
+ -DOFFLINE_DOCS="no" # TODO
+ -DOPENCSG_DIR="${EPREFIX}/usr/$(get_libdir)"
+ )
+
+ if use gui; then
+ mycmakeargs+=(
+ -DENABLE_HIDAPI="$(usex hidapi)"
+ -DENABLE_QTDBUS="$(usex dbus)"
+ -DENABLE_SPNAV="$(usex spacenav)"
+ )
+ fi
+
+ if [[ ${PV} != *9999* ]] ; then
+ mycmakeargs+=(
+ -DCMAKE_MODULE_PATH="${WORKDIR}/sanitizers-cmake-${SANITIZERS_CMAKE_COMMIT}/cmake"
+ )
+ if [[ ${PV} = *pre* ]] ; then
+ mycmakeargs+=(
+ -DOPENSCAD_COMMIT="${COMMIT:0:9}"
+ -DOPENSCAD_VERSION="$(ver_cut 1-3)"
+ -DSNAPSHOT="yes"
+ )
+ fi
+ else
+ mycmakeargs+=(
+ -DOPENSCAD_COMMIT="${COMMIT:0:9}"
+ -DSNAPSHOT="yes"
+ )
+ fi
+
+ cmake_src_configure
+}
+
+src_test() {
+ local i WRITE=()
+
+ if [[ -d "/dev/udmabuf" ]]; then
+ WRITE+=(
+ "/dev/udmabuf"
+ )
+ fi
+
+ if [[ -d /sys/module/nvidia ]]; then
+ # /dev/dri/card*
+ # /dev/dri/renderD*
+ readarray -t dri <<<"$(
+ find /sys/module/nvidia/drivers/*/*:*:*.*/drm \
+ -mindepth 1 -maxdepth 1 -type d -exec basename {} \; \
+ | sed 's:^:/dev/dri/:'
+ )"
+
+ # /dev/nvidia{0-9}
+ readarray -t cards <<<"$(find /dev -regextype sed -regex '/dev/nvidia[0-9]*')"
+
+ WRITE+=(
+ "${dri[@]}"
+ "${cards[@]}"
+ "/dev/nvidiactl"
+ "/dev/nvidia-caps/"
+ "/dev/nvidia-modeset"
+ "/dev/nvidia-uvm"
+ "/dev/nvidia-uvm-tools"
+ )
+ fi
+
+ WRITE+=(
+ # for portage
+ "/proc/self/task/"
+ )
+ for i in "${WRITE[@]}"; do
+ if [[ ! -w "$i" ]]; then
+ eqawarn "addwrite $i"
+ addwrite "$i"
+
+ if [[ ! -d "$i" ]] && [[ ! -w "$i" ]]; then
+ eqawarn "can not access $i after addwrite"
+ fi
+ fi
+ done
+
+ sed \
+ -e "s/OPENSCAD_BINARY/OPENSCADPATH/g" \
+ -i tests/test_cmdline_tool.py || die
+
+ cd "${BUILD_DIR}" || die
+
+ # NOTE link in from CMAKE_USE_DIR
+ ln -s "${CMAKE_USE_DIR}/color-schemes" . || die
+ ln -s "${CMAKE_USE_DIR}/locale" . || die
+ ln -s "${CMAKE_USE_DIR}/shaders" . || die
+
+ virtx cmake_src_test -j1
+}
+
+src_install() {
+ DOCS+=( doc/*.pdf )
+
+ cmake_src_install
+
+ mv -i "${ED}"/usr/share/openscad/locale "${ED}"/usr/share || die "failed to move locales"
+ dosym -r /usr/share/locale /usr/share/openscad/locale
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "support scad major mode in GNU Emacs" app-emacs/scad-mode
+}
diff --git a/media-gfx/openvdb/openvdb-10.0.1.ebuild b/media-gfx/openvdb/openvdb-10.0.1.ebuild
index 5a0a42c5aed3..aca53325090e 100644
--- a/media-gfx/openvdb/openvdb-10.0.1.ebuild
+++ b/media-gfx/openvdb/openvdb-10.0.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
inherit cmake cuda flag-o-matic llvm python-single-r1
@@ -36,7 +36,7 @@ RDEPEND="
x11-libs/libXi
x11-libs/libXinerama
x11-libs/libXrandr
- ax? ( <sys-devel/llvm-15:= )
+ ax? ( <llvm-core/llvm-15:= )
blosc? ( dev-libs/c-blosc:= )
cuda? ( >=dev-util/nvidia-cuda-toolkit-11 )
python? (
diff --git a/media-gfx/openvdb/openvdb-11.0.0.ebuild b/media-gfx/openvdb/openvdb-11.0.0.ebuild
index f8b4c535dd04..330e6c06f3da 100644
--- a/media-gfx/openvdb/openvdb-11.0.0.ebuild
+++ b/media-gfx/openvdb/openvdb-11.0.0.ebuild
@@ -43,7 +43,7 @@ RDEPEND="
dev-libs/jemalloc:=
dev-libs/imath:=
ax? (
- <sys-devel/llvm-$(( LLVM_MAX_SLOT + 1 )):=
+ <llvm-core/llvm-$(( LLVM_MAX_SLOT + 1 )):=
)
blosc? (
dev-libs/c-blosc:=
diff --git a/media-gfx/pencil/Manifest b/media-gfx/pencil/Manifest
index 4214bfddb56b..d7603e74ed78 100644
--- a/media-gfx/pencil/Manifest
+++ b/media-gfx/pencil/Manifest
@@ -1,2 +1 @@
-DIST catch.hpp 656886 BLAKE2B 590fabc7970b97f333457f409276688f69a66de7fa3c43d767994ed212a3b5bde6e6c113c36a0ff03dd95bbb0cdb38cc12b43a96d16644525ea7425e028485a6 SHA512 ca401efb224e87c4f9d9f3bd58102d3223ef3356149837be2474fa2dbae645272c1ecb17d7db96c2b43b97034aacb63f840f4ebec16f2f3d447c1cc80a500d40
-DIST pencil-0.6.6.tar.gz 3807612 BLAKE2B a4933399ea7f3103eb097756684f42061f5db4c419983458ce8ad317e7eab667ccc5c29c6bf9a3dec5fe57887c4456b64c6e93be889684bd2b567c247aa6dfeb SHA512 1cb976011a1270a2715568fc740db28e6b1a0f050ff7cc2630687edb6e4b57245bf8f58e69721dabab0a2bd65f58780176e2a59691ed0b19f7276c1aad950e7d
+DIST pencil-0.7.0.tar.gz 3890882 BLAKE2B 56becddb43dd6e4cc1308238a2019aad3b7b056f2dfb182ea7c6591d502a7a0fda3f5d7783502c30c0c6f69b4e2a636e9461040c19c9818c74bfab2591c41ae0 SHA512 313ce4014b80ea94ba613d6d6a6e79894a224753ce083273d781e703617edd3f61a6fc33561d376cfdab8d99e2a13a645617943c91f40dec8b172d3ef0857e08
diff --git a/media-gfx/pencil/pencil-0.6.6-r1.ebuild b/media-gfx/pencil/pencil-0.6.6-r1.ebuild
deleted file mode 100644
index 5eb1e6e06838..000000000000
--- a/media-gfx/pencil/pencil-0.6.6-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit qmake-utils xdg-utils
-
-DESCRIPTION="2D animation and drawing program based on Qt5"
-HOMEPAGE="https://www.pencil2d.org/"
-SRC_URI="https://github.com/pencil2d/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz
- https://raw.githubusercontent.com/pencil2d/pencil/617c8868fd27ce540de285ff75c8946fba0c975b/tests/src/catch.hpp"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtmultimedia:5
- dev-qt/qtnetwork:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
-"
-DEPEND="${RDEPEND}
- test? ( dev-qt/qttest:5 )
-"
-
-S="${WORKDIR}/${P/_/-}"
-
-src_prepare() {
- cp "${DISTDIR}"/catch.hpp tests/src/
- default
- sed -e "/^QT/s/xmlpatterns //" \
- -i core_lib/core_lib.pro tests/tests.pro || die
-}
-
-src_configure() {
- eqmake5 PREFIX=/usr $(usex test "" "CONFIG+=NO_TESTS")
-}
-
-src_install() {
- einstalldocs
- emake INSTALL_ROOT="${D}" install
- # TODO: Install l10n files
-}
-
-pkg_postinst() {
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
diff --git a/media-gfx/pencil/pencil-0.7.0.ebuild b/media-gfx/pencil/pencil-0.7.0.ebuild
new file mode 100644
index 000000000000..754e9dc03f06
--- /dev/null
+++ b/media-gfx/pencil/pencil-0.7.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils xdg
+
+DESCRIPTION="2D animation and drawing program based on Qt"
+HOMEPAGE="https://www.pencil2d.org/"
+SRC_URI="https://github.com/pencil2d/${PN}/archive/v${PV/_/-}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P/_/-}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-qt/qtbase:6[gui,network,widgets,xml]
+ dev-qt/qtmultimedia:6
+ dev-qt/qtsvg:6
+"
+DEPEND="${RDEPEND}"
+# BDEPEND="dev-qt/qttools:6[linguist]"
+
+src_configure() {
+# $(qt6_get_bindir)/lrelease gpxsee.pro || die
+ eqmake6 PREFIX=/usr $(usex test "" "CONFIG+=NO_TESTS")
+}
+
+src_install() {
+ einstalldocs
+ emake INSTALL_ROOT="${D}" install
+ # TODO: Install l10n files
+}
diff --git a/media-gfx/photoqt/Manifest b/media-gfx/photoqt/Manifest
index 4e6d861d95f5..1742c508bcd1 100644
--- a/media-gfx/photoqt/Manifest
+++ b/media-gfx/photoqt/Manifest
@@ -1 +1 @@
-DIST photoqt-3.2.tar.gz 965895 BLAKE2B ae1e159401b24a1bede344e4d398dbd6c2ae13fd467a4eac9ef15ea2d15933dc1756325a5a4f305a5f447bfd1a9e2d636e0b9367d0201ca356393c033c4f2f0f SHA512 ab7030d0ed6edf79373b1a99b1b8469cd567f04e5c233a87496084424603d8c241f7b473c22d323f4df8480d3f74918a987d2d590ec5026f1b7ca2c92b5c6bba
+DIST photoqt-4.7.tar.gz 3612004 BLAKE2B f4bfd07103e614e3b128668ee7b1dc4767d5c8bd6af4164315e75d537e4054ee2e13fd2f2d8f044669c80bfa31d0651a5a71f07d0947c6b8f1a3088d55123407 SHA512 41274b52ece3a905de7c274183b658b40fdc72ee291b008afdfb2c7e8bb49308ac54c66760397359838bcd9470aa0140bd769137d5a72cd1c11bc4b1a7accb66
diff --git a/media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch b/media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch
deleted file mode 100644
index b1da118c1537..000000000000
--- a/media-gfx/photoqt/files/photoqt-3.2-exiv2-0.28.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-From 376fe8c3ef6b16d63995f76a194e2c1d788b28b1 Mon Sep 17 00:00:00 2001
-From: Lukas Spies <Lukas@photoqt.org>
-Date: Sun, 28 May 2023 20:23:32 -0500
-Subject: [PATCH 1/2] [exiv2] fix compilation with Exiv2 v0.28.0
-
----
- cplusplus/filefoldermodel/filefoldermodel.cpp | 4 ++++
- cplusplus/scripts/handlingfacetags.cpp | 4 ++++
- cplusplus/scripts/metadata.cpp | 4 ++++
- 3 files changed, 12 insertions(+)
-
-diff --git a/cplusplus/filefoldermodel/filefoldermodel.cpp b/cplusplus/filefoldermodel/filefoldermodel.cpp
-index b6258735..56b120b7 100644
---- a/cplusplus/filefoldermodel/filefoldermodel.cpp
-+++ b/cplusplus/filefoldermodel/filefoldermodel.cpp
-@@ -560,7 +560,11 @@ void PQFileFolderModel::advancedSortMainView() {
- } catch (Exiv2::Error& e) {
- // An error code of 11 means unknown file type
- // Since we always try to read any file's meta data, this happens a lot
-+#if EXIV2_TEST_VERSION(0, 28, 0)
-+ if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
-+#else
- if(e.code() != 11)
-+#endif
- LOG << CURDATE << "PQMetaData::updateMetadaya(): ERROR reading exiv data (caught exception): " << e.what() << NL;
- else
- DBG << CURDATE << "PQMetaData::updateMetadaya(): ERROR reading exiv data (caught exception): " << e.what() << NL;
-diff --git a/cplusplus/scripts/handlingfacetags.cpp b/cplusplus/scripts/handlingfacetags.cpp
-index d90ece73..562cf200 100644
---- a/cplusplus/scripts/handlingfacetags.cpp
-+++ b/cplusplus/scripts/handlingfacetags.cpp
-@@ -57,7 +57,11 @@ QVariantList PQHandlingFaceTags::getFaceTags(QString filename) {
- image->readMetadata();
- } catch (Exiv2::Error& e) {
- // An error code of 11 means image not supported. This is much more reliable than, e.g., checking a file ending
-+#if EXIV2_TEST_VERSION(0, 28, 0)
-+ if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
-+#else
- if(e.code() != 11)
-+#endif
- LOG << CURDATE << "PQHandlingFaceTags::getFaceTags() - ERROR reading metadata (caught exception): " << e << NL;
- else
- DBG << CURDATE << "PQHandlingFaceTags::getFaceTags() - ERROR reading metadata (caught exception): " << e << NL;
-diff --git a/cplusplus/scripts/metadata.cpp b/cplusplus/scripts/metadata.cpp
-index 87e23474..a7d3e076 100644
---- a/cplusplus/scripts/metadata.cpp
-+++ b/cplusplus/scripts/metadata.cpp
-@@ -120,7 +120,11 @@ void PQMetaData::updateMetadata(QString path) {
- } catch (Exiv2::Error& e) {
- // An error code of 11 means unknown file type
- // Since we always try to read any file's meta data, this happens a lot
-+#if EXIV2_TEST_VERSION(0, 28, 0)
-+ if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
-+#else
- if(e.code() != 11)
-+#endif
- LOG << CURDATE << "PQMetaData::updateMetadaya(): ERROR reading exiv data (caught exception): " << e.what() << NL;
- else
- DBG << CURDATE << "PQMetaData::updateMetadaya(): ERROR reading exiv data (caught exception): " << e.what() << NL;
---
-2.40.1
-
-
-From 6190de9e47c358cf54748fa2a3593108831aa768 Mon Sep 17 00:00:00 2001
-From: Lukas Spies <Lukas@photoqt.org>
-Date: Sun, 28 May 2023 20:27:08 -0500
-Subject: [PATCH 2/2] [exiv2] switch to proper exvi2 errorcode
-
----
- cplusplus/filefoldermodel/filefoldermodel.cpp | 2 +-
- cplusplus/scripts/handlingfacetags.cpp | 2 +-
- cplusplus/scripts/metadata.cpp | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/cplusplus/filefoldermodel/filefoldermodel.cpp b/cplusplus/filefoldermodel/filefoldermodel.cpp
-index 56b120b7..c8cf199a 100644
---- a/cplusplus/filefoldermodel/filefoldermodel.cpp
-+++ b/cplusplus/filefoldermodel/filefoldermodel.cpp
-@@ -561,7 +561,7 @@ void PQFileFolderModel::advancedSortMainView() {
- // An error code of 11 means unknown file type
- // Since we always try to read any file's meta data, this happens a lot
- #if EXIV2_TEST_VERSION(0, 28, 0)
-- if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
-+ if(e.code() != Exiv2::ErrorCode::kerFileContainsUnknownImageType)
- #else
- if(e.code() != 11)
- #endif
-diff --git a/cplusplus/scripts/handlingfacetags.cpp b/cplusplus/scripts/handlingfacetags.cpp
-index 562cf200..94a7bca6 100644
---- a/cplusplus/scripts/handlingfacetags.cpp
-+++ b/cplusplus/scripts/handlingfacetags.cpp
-@@ -58,7 +58,7 @@ QVariantList PQHandlingFaceTags::getFaceTags(QString filename) {
- } catch (Exiv2::Error& e) {
- // An error code of 11 means image not supported. This is much more reliable than, e.g., checking a file ending
- #if EXIV2_TEST_VERSION(0, 28, 0)
-- if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
-+ if(e.code() != Exiv2::ErrorCode::kerFileContainsUnknownImageType)
- #else
- if(e.code() != 11)
- #endif
-diff --git a/cplusplus/scripts/metadata.cpp b/cplusplus/scripts/metadata.cpp
-index a7d3e076..fabc2d74 100644
---- a/cplusplus/scripts/metadata.cpp
-+++ b/cplusplus/scripts/metadata.cpp
-@@ -121,7 +121,7 @@ void PQMetaData::updateMetadata(QString path) {
- // An error code of 11 means unknown file type
- // Since we always try to read any file's meta data, this happens a lot
- #if EXIV2_TEST_VERSION(0, 28, 0)
-- if(e.code() != Exiv2::ErrorCode::kerUnsupportedImageType)
-+ if(e.code() != Exiv2::ErrorCode::kerFileContainsUnknownImageType)
- #else
- if(e.code() != 11)
- #endif
---
-2.40.1
-
diff --git a/media-gfx/photoqt/metadata.xml b/media-gfx/photoqt/metadata.xml
index 1b717b781d4d..3916fd4661ae 100644
--- a/media-gfx/photoqt/metadata.xml
+++ b/media-gfx/photoqt/metadata.xml
@@ -3,9 +3,12 @@
<pkgmetadata>
<!-- maintainer-needed -->
<use>
+ <flag name="barcode">Support for QR and barcodes detection using <pkg>media-libs/zxing-cpp</pkg></flag>
+ <flag name="chromecast">Enable Chromecast support using <pkg>dev-python/pychromecast</pkg></flag>
<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>
<flag name="mpv">Support for video files using <pkg>media-video/mpv</pkg></flag>
+ <flag name="vips">Support for <pkg>media-libs/vips</pkg> image processing library</flag>
</use>
<upstream>
<remote-id type="gitlab">lspies/photoqt</remote-id>
diff --git a/media-gfx/photoqt/photoqt-3.2.ebuild b/media-gfx/photoqt/photoqt-3.2.ebuild
deleted file mode 100644
index 5cdfa03f5411..000000000000
--- a/media-gfx/photoqt/photoqt-3.2.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_KDEINSTALLDIRS=false
-inherit ecm optfeature
-
-DESCRIPTION="Simple but powerful Qt-based image viewer"
-HOMEPAGE="https://photoqt.org/"
-SRC_URI="https://photoqt.org/pkgs/${P}.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="devil exif freeimage graphicsmagick imagemagick mpv pdf raw"
-
-COMMON_DEPEND="
- app-arch/libarchive:=
- app-arch/unrar
- dev-libs/pugixml
- dev-qt/qtdbus:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5[jpeg]
- dev-qt/qtimageformats:5
- dev-qt/qtmultimedia:5[qml]
- dev-qt/qtnetwork:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsql:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- devil? ( media-libs/devil )
- exif? ( media-gfx/exiv2:=[bmff] )
- freeimage? ( media-libs/freeimage )
- imagemagick? (
- !graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
- graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
- )
- mpv? ( media-video/mpv:=[libmpv] )
- pdf? ( app-text/poppler[qt5] )
- raw? ( media-libs/libraw:= )
-"
-DEPEND="${COMMON_DEPEND}
- dev-qt/qtconcurrent:5
-"
-RDEPEND="${COMMON_DEPEND}
- dev-qt/qtgraphicaleffects:5
- dev-qt/qtquickcontrols:5
- dev-qt/qtquickcontrols2:5
-"
-BDEPEND="dev-qt/linguist-tools:5"
-
-PATCHES=( "${FILESDIR}/${P}-exiv2-0.28.patch" ) # upstream git master, bug #906491
-
-src_configure() {
- local mycmakeargs=(
- -DCHROMECAST=OFF # TODO needs python
- -DDEVIL=$(usex devil)
- -DEXIV2=$(usex exif)
- -DEXIV2_ENABLE_BMFF=$(usex exif)
- -DFREEIMAGE=$(usex freeimage)
- -DGRAPHICSMAGICK=$(usex graphicsmagick $(usex imagemagick))
- -DIMAGEMAGICK=$(usex imagemagick $(usex !graphicsmagick))
- -DVIDEO_MPV=$(usex mpv)
- -DPOPPLER=$(usex pdf)
- -DRAW=$(usex raw)
- )
- ecm_src_configure
-}
-
-pkg_postinst() {
- optfeature "additional image formats like AVIF, EPS, HEIF/HEIC, PSD, etc." kde-frameworks/kimageformats
- ecm_pkg_postinst
-}
diff --git a/media-gfx/photoqt/photoqt-4.7-r1.ebuild b/media-gfx/photoqt/photoqt-4.7-r1.ebuild
new file mode 100644
index 000000000000..47cae6ad5b82
--- /dev/null
+++ b/media-gfx/photoqt/photoqt-4.7-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake optfeature python-single-r1 toolchain-funcs xdg
+
+DESCRIPTION="Simple but powerful Qt-based image viewer"
+HOMEPAGE="https://photoqt.org/"
+SRC_URI="https://photoqt.org/downloads/source/${P}.tar.gz"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="barcode chromecast devil exif freeimage geolocation graphicsmagick +imagemagick lcms mpv pdf raw vips"
+REQUIRED_USE="chromecast? ( ${PYTHON_REQUIRED_USE} )"
+
+COMMON_DEPEND="
+ app-arch/libarchive:=
+ dev-libs/pugixml
+ dev-qt/qtbase:6[dbus,concurrent,gui,network,sql,widgets,xml]
+ dev-qt/qtdeclarative:6[opengl]
+ dev-qt/qtimageformats:6
+ dev-qt/qtmultimedia:6[qml]
+ dev-qt/qtsvg:6
+ barcode? ( media-libs/zxing-cpp:= )
+ chromecast? (
+ ${PYTHON_DEPS}
+ $(python_gen_cond_dep 'dev-python/pychromecast')
+ )
+ devil? ( media-libs/devil )
+ exif? ( media-gfx/exiv2:=[bmff] )
+ freeimage? ( media-libs/freeimage )
+ imagemagick? (
+ !graphicsmagick? ( media-gfx/imagemagick:=[cxx] )
+ graphicsmagick? ( media-gfx/graphicsmagick:=[cxx] )
+ )
+ lcms? ( media-libs/lcms:2 )
+ mpv? ( media-video/mpv:=[libmpv] )
+ pdf? ( app-text/poppler[qt6] )
+ raw? ( media-libs/libraw:= )
+ vips? (
+ dev-libs/glib:2
+ media-libs/vips:=
+ )
+"
+RDEPEND="${COMMON_DEPEND}
+ geolocation? (
+ dev-qt/qtlocation:6
+ dev-qt/qtpositioning:6[qml]
+ )
+"
+DEPEND="${COMMON_DEPEND}
+ vips? ( x11-base/xorg-proto )
+"
+BDEPEND="
+ dev-qt/qttools:6[linguist]
+ >=kde-frameworks/extra-cmake-modules-6.5.0:*
+ virtual/pkgconfig
+ chromecast? ( ${PYTHON_DEPS} )
+"
+
+pkg_setup() {
+ use chromecast && python-single-r1_pkg_setup
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DCHROMECAST=$(usex chromecast)
+ -DDEVIL=$(usex devil)
+ -DEXIV2=$(usex exif)
+ -DEXIV2_ENABLE_BMFF=$(usex exif)
+ -DFREEIMAGE=$(usex freeimage)
+ -DGRAPHICSMAGICK=$(usex graphicsmagick $(usex imagemagick))
+ -DIMAGEMAGICK=$(usex imagemagick $(usex !graphicsmagick))
+ -DLCMS2=$(usex lcms)
+ -DLOCATION=$(usex geolocation)
+ -DVIDEO_MPV=$(usex mpv)
+ -DPOPPLER=$(usex pdf)
+ -DRAW=$(usex raw)
+ -DRESVG=OFF # qt5 only
+ -DLIBVIPS=$(usex vips)
+ -DZXING=$(usex barcode)
+ )
+
+ if use imagemagick && use graphicsmagick; then
+ mycmakeargs+=(
+ -DMAGICK++_INCLUDE_DIR=$($(tc-getPKG_CONFIG) --variable=includedir GraphicsMagick++)
+ )
+ fi
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ optfeature "additional image formats like AVIF, EPS, HEIF/HEIC, PSD, etc." "kde-frameworks/kimageformats:6"
+ xdg_pkg_postinst
+}
diff --git a/media-gfx/phototonic/metadata.xml b/media-gfx/phototonic/metadata.xml
index f05b374d7585..a40d8d29c5ef 100644
--- a/media-gfx/phototonic/metadata.xml
+++ b/media-gfx/phototonic/metadata.xml
@@ -3,6 +3,6 @@
<pkgmetadata>
<!-- maintainer-needed -->
<upstream>
- <remote-id type="github">oferkv/phototonic</remote-id>
+ <remote-id type="github">luebking/phototonic</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/phototonic/phototonic-9999.ebuild b/media-gfx/phototonic/phototonic-9999.ebuild
new file mode 100644
index 000000000000..00dd9c738ecc
--- /dev/null
+++ b/media-gfx/phototonic/phototonic-9999.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils xdg
+
+DESCRIPTION="Image viewer and organizer"
+HOMEPAGE="https://github.com/luebking/phototonic"
+
+if [[ ${PV} = *9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/luebking/phototonic.git"
+else
+ SRC_URI="https://github.com/luebking/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE="svg tiff"
+
+RDEPEND="
+ dev-qt/qtbase:6[gui,opengl,widgets]
+ media-gfx/exiv2:=
+ svg? ( dev-qt/qtsvg:6 )
+ tiff? ( dev-qt/qtimageformats:6 )
+"
+DEPEND="${RDEPEND}"
+
+src_configure() {
+ eqmake6
+}
+
+src_install() {
+ emake install INSTALL_ROOT="${D}"
+}
diff --git a/media-gfx/plantuml/Manifest b/media-gfx/plantuml/Manifest
index 3e405116a858..422456bf8d89 100644
--- a/media-gfx/plantuml/Manifest
+++ b/media-gfx/plantuml/Manifest
@@ -1,2 +1 @@
-DIST plantuml-1.2024.7.tar.gz 12645142 BLAKE2B 5716e3085c8e326cb504637779fa4a50ab73fb557345858b6985e8f67412ee24d5447bb41b9037c54a565e6dd45db3dbd76245378add7d168e5bc0e05dfca83c SHA512 4f201b0341efa02deb260b44837fff2e1225715ded1fd196f7cd79d0d75baa0a5a146880d9c46470d9652df593b4c4419554d9bbc4a94d380b689359130d70dd
-DIST plantuml-1.2024.8.tar.gz 12543887 BLAKE2B 719602cb8f21e5908fea32778257f0fca830746796e0130bd76f48dc7c829a528d2d0bf8b6f1a0a4ab4fc73c60e8c0b37559108f4afbaf5994597207e6497df2 SHA512 32ee9cb80171ee467b68fe98ca74a3a084bd64410de34d50c79cb40ca972d6092b9c65e0e6ee96647393fa44f152e2ecd3bdafc3f22010afbe73630573996b64
+DIST plantuml-1.2025.0.tar.gz 12278815 BLAKE2B e4ae5b7f76294f060d6a598b6e145bb97af3e37127bcea64cf812d6072e946153de564ddb4d3985f7923fd7584911f08016cee79e26fd48dbf822b385e761b52 SHA512 cdae9effb752af43df913eef21d5c575fa803786d2afeb06732870a36a8a7c71204a8a24817640d9cc99e6361d8cae34a7490bb2a8e5ae034ee31edc1d51afb2
diff --git a/media-gfx/plantuml/plantuml-1.2024.8.ebuild b/media-gfx/plantuml/plantuml-1.2024.8.ebuild
deleted file mode 100644
index b1af7cd7e527..000000000000
--- a/media-gfx/plantuml/plantuml-1.2024.8.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# 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"
-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/plantuml/plantuml-1.2024.7.ebuild b/media-gfx/plantuml/plantuml-1.2025.0.ebuild
index 4493b5a25ef3..e986be8c2043 100644
--- a/media-gfx/plantuml/plantuml-1.2024.7.ebuild
+++ b/media-gfx/plantuml/plantuml-1.2025.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
diff --git a/media-gfx/prusaslicer/Manifest b/media-gfx/prusaslicer/Manifest
index 070d14534a75..4e2171fa73fb 100644
--- a/media-gfx/prusaslicer/Manifest
+++ b/media-gfx/prusaslicer/Manifest
@@ -1 +1,2 @@
DIST prusaslicer-2.8.1.tar.gz 69409077 BLAKE2B dd3ee810ea00d03f1790386d1fe1fd044c038429700cd33f21299abdf5def12902f7a07c23aa3d2a6cfc5e18d1e2534080889d4a33beefb493a504978a742453 SHA512 0471fa579a494d66e6b49c0bc1a9fa91f3a5f9147d8b7fa8133c6f03391f8daddddb19ed222d1be44f6f22e2de3021f3fb839331e3c3ccdf5643caa8a61d6912
+DIST prusaslicer-2.9.0.tar.gz 70604482 BLAKE2B 14480ad6e4257d052e65f7158e14e6eb57f2e51c5c7ce3a6545b36a47007cb528aa38a1ff00eacd70374dfaef4ba7efd185dd5add1a6807f79148a124320126a SHA512 554099ba827f8b4af37727d4e99ad6b2f339c530f35a4f8e63f0c5aaf455a5fc3261b983939c487f76964c522ea8ecd13527efea7f881749f907a039cfe7ef89
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.8.1-boost-1.87.patch b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-boost-1.87.patch
new file mode 100644
index 000000000000..7666c26800ae
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.8.1-boost-1.87.patch
@@ -0,0 +1,374 @@
+https://bugs.gentoo.org/946495
+https://github.com/prusa3d/PrusaSlicer/issues/13799
+
+diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/libslic3r/GCodeSender.cpp PrusaSlicer-version_2.8.1-dwok/src/libslic3r/GCodeSender.cpp
+--- PrusaSlicer-version_2.8.1-orig/src/libslic3r/GCodeSender.cpp 2024-12-21 11:52:03.612595066 +0100
++++ PrusaSlicer-version_2.8.1-dwok/src/libslic3r/GCodeSender.cpp 2024-12-21 12:34:03.859507724 +0100
+@@ -113,7 +113,7 @@ GCodeSender::connect(std::string devname
+ this->io.post(boost::bind(&GCodeSender::do_read, this));
+
+ // start reading in the background thread
+- boost::thread t(boost::bind(&boost::asio::io_service::run, &this->io));
++ boost::thread t(boost::bind(&boost::asio::io_context::run, &this->io));
+ this->background_thread.swap(t);
+
+ // always send a M105 to check for connection because firmware might be silent on connect
+diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/libslic3r/GCodeSender.hpp PrusaSlicer-version_2.8.1-dwok/src/libslic3r/GCodeSender.hpp
+--- PrusaSlicer-version_2.8.1-orig/src/libslic3r/GCodeSender.hpp 2024-12-21 11:52:03.612595066 +0100
++++ PrusaSlicer-version_2.8.1-dwok/src/libslic3r/GCodeSender.hpp 2024-12-21 12:34:26.163427521 +0100
+@@ -40,7 +40,7 @@ class GCodeSender : private boost::nonco
+ void reset();
+
+ private:
+- asio::io_service io;
++ asio::io_context io;
+ asio::serial_port serial;
+ boost::thread background_thread;
+ boost::asio::streambuf read_buffer, write_buffer;
+diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/GUI/FirmwareDialog.cpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/GUI/FirmwareDialog.cpp
+--- PrusaSlicer-version_2.8.1-orig/src/slic3r/GUI/FirmwareDialog.cpp 2024-12-21 11:52:03.632594994 +0100
++++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/GUI/FirmwareDialog.cpp 2024-12-21 12:33:40.507591681 +0100
+@@ -429,7 +429,7 @@ void FirmwareDialog::priv::avr109_wait_f
+
+ void FirmwareDialog::priv::avr109_reboot(const SerialPortInfo &port)
+ {
+- asio::io_service io;
++ asio::io_context io;
+ Serial serial(io, port.port, 1200);
+ std::this_thread::sleep_for(std::chrono::milliseconds(50));
+ }
+diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Bonjour.cpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Bonjour.cpp
+--- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Bonjour.cpp 2024-12-21 11:52:03.644594950 +0100
++++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Bonjour.cpp 2024-12-21 12:47:16.560667015 +0100
+@@ -624,11 +624,11 @@ UdpSession::UdpSession(Bonjour::ReplyFn
+ buffer.resize(DnsMessage::MAX_SIZE);
+ }
+
+-UdpSocket::UdpSocket( Bonjour::ReplyFn replyfn, const asio::ip::address& multicast_address, const asio::ip::address& interface_address, std::shared_ptr< boost::asio::io_service > io_service)
++UdpSocket::UdpSocket( Bonjour::ReplyFn replyfn, const asio::ip::address& multicast_address, const asio::ip::address& interface_address, std::shared_ptr< boost::asio::io_context > io_context)
+ : replyfn(replyfn)
+ , multicast_address(multicast_address)
+- , socket(*io_service)
+- , io_service(io_service)
++ , socket(*io_context)
++ , io_context(io_context)
+ {
+ try {
+ // open socket
+@@ -658,11 +658,11 @@ UdpSocket::UdpSocket( Bonjour::ReplyFn r
+ }
+
+
+-UdpSocket::UdpSocket( Bonjour::ReplyFn replyfn, const asio::ip::address& multicast_address, std::shared_ptr< boost::asio::io_service > io_service)
++UdpSocket::UdpSocket( Bonjour::ReplyFn replyfn, const asio::ip::address& multicast_address, std::shared_ptr< boost::asio::io_context > io_context)
+ : replyfn(replyfn)
+ , multicast_address(multicast_address)
+- , socket(*io_service)
+- , io_service(io_service)
++ , socket(*io_context)
++ , io_context(io_context)
+ {
+ try {
+ // open socket
+@@ -714,7 +714,7 @@ void UdpSocket::receive_handler(SharedSe
+ // let io_service to handle the datagram on session
+ // from boost documentation io_service::post:
+ // The io_service guarantees that the handler will only be called in a thread in which the run(), run_one(), poll() or poll_one() member functions is currently being invoked.
+- io_service->post(boost::bind(&UdpSession::handle_receive, session, error, bytes));
++ boost::asio::post(*io_context, boost::bind(&UdpSession::handle_receive, session, error, bytes));
+ // immediately accept new datagrams
+ async_receive();
+ }
+@@ -871,13 +871,13 @@ void Bonjour::priv::lookup_perform()
+ {
+ service_dn = (boost::format("_%1%._%2%.local") % service % protocol).str();
+
+- std::shared_ptr< boost::asio::io_service > io_service(new boost::asio::io_service);
++ std::shared_ptr< boost::asio::io_context > io_context(new boost::asio::io_context);
+
+ std::vector<LookupSocket*> sockets;
+
+ // resolve intefaces - from PR#6646
+ std::vector<boost::asio::ip::address> interfaces;
+- asio::ip::udp::resolver resolver(*io_service);
++ asio::ip::udp::resolver resolver(*io_context);
+ boost::system::error_code ec;
+ // ipv4 interfaces
+ auto results = resolver.resolve(udp::v4(), asio::ip::host_name(), "", ec);
+@@ -890,12 +890,12 @@ void Bonjour::priv::lookup_perform()
+ // create ipv4 socket for each interface
+ // each will send to querry to for both ipv4 and ipv6
+ for (const auto& intrfc : interfaces)
+- sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP4, intrfc, io_service));
++ sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP4, intrfc, io_context));
+ } else {
+ BOOST_LOG_TRIVIAL(info) << "Failed to resolve ipv4 interfaces: " << ec.message();
+ }
+ if (sockets.empty())
+- sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP4, io_service));
++ sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP4, io_context));
+ // ipv6 interfaces
+ interfaces.clear();
+ //udp::resolver::query query(host, PORT, boost::asio::ip::resolver_query_base::numeric_service);
+@@ -910,9 +910,9 @@ void Bonjour::priv::lookup_perform()
+ // create ipv6 socket for each interface
+ // each will send to querry to for both ipv4 and ipv6
+ for (const auto& intrfc : interfaces)
+- sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP6, intrfc, io_service));
++ sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP6, intrfc, io_context));
+ if (interfaces.empty())
+- sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP6, io_service));
++ sockets.emplace_back(new LookupSocket(txt_keys, service, service_dn, protocol, replyfn, BonjourRequest::MCAST_IP6, io_context));
+ } else {
+ BOOST_LOG_TRIVIAL(info)<< "Failed to resolve ipv6 interfaces: " << ec.message();
+ }
+@@ -923,13 +923,13 @@ void Bonjour::priv::lookup_perform()
+ socket->send();
+
+ // timer settings
+- asio::deadline_timer timer(*io_service);
++ asio::deadline_timer timer(*io_context);
+ retries--;
+ std::function<void(const error_code&)> timer_handler = [&](const error_code& error) {
+ // end
+ if (retries == 0 || error) {
+ // is this correct ending?
+- io_service->stop();
++ io_context->stop();
+ if (completefn) {
+ completefn();
+ }
+@@ -947,7 +947,7 @@ void Bonjour::priv::lookup_perform()
+ timer.expires_from_now(boost::posix_time::seconds(timeout));
+ timer.async_wait(timer_handler);
+ // start io_service, it will run until it has something to do - so in this case until stop is called in timer
+- io_service->run();
++ io_context->run();
+ }
+ catch (std::exception& e) {
+ BOOST_LOG_TRIVIAL(error) << e.what();
+@@ -966,12 +966,12 @@ void Bonjour::priv::resolve_perform()
+ rpls.push_back(reply);
+ };
+
+- std::shared_ptr< boost::asio::io_service > io_service(new boost::asio::io_service);
++ std::shared_ptr< boost::asio::io_context > io_context(new boost::asio::io_context);
+ std::vector<ResolveSocket*> sockets;
+
+ // resolve interfaces - from PR#6646
+ std::vector<boost::asio::ip::address> interfaces;
+- asio::ip::udp::resolver resolver(*io_service);
++ asio::ip::udp::resolver resolver(*io_context);
+ boost::system::error_code ec;
+ // ipv4 interfaces
+ auto results = resolver.resolve(udp::v4(), asio::ip::host_name(), "", ec);
+@@ -984,12 +984,12 @@ void Bonjour::priv::resolve_perform()
+ // create ipv4 socket for each interface
+ // each will send to querry to for both ipv4 and ipv6
+ for (const auto& intrfc : interfaces)
+- sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP4, intrfc, io_service));
++ sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP4, intrfc, io_context));
+ } else {
+ BOOST_LOG_TRIVIAL(info) << "Failed to resolve ipv4 interfaces: " << ec.message();
+ }
+ if (sockets.empty())
+- sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP4, io_service));
++ sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP4, io_context));
+
+ // ipv6 interfaces
+ interfaces.clear();
+@@ -1003,9 +1003,9 @@ void Bonjour::priv::resolve_perform()
+ // create ipv6 socket for each interface
+ // each will send to querry to for both ipv4 and ipv6
+ for (const auto& intrfc : interfaces)
+- sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP6, intrfc, io_service));
++ sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP6, intrfc, io_context));
+ if (interfaces.empty())
+- sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP6, io_service));
++ sockets.emplace_back(new ResolveSocket(hostname, reply_callback, BonjourRequest::MCAST_IP6, io_context));
+ } else {
+ BOOST_LOG_TRIVIAL(info) << "Failed to resolve ipv6 interfaces: " << ec.message();
+ }
+@@ -1016,14 +1016,14 @@ void Bonjour::priv::resolve_perform()
+ socket->send();
+
+ // timer settings
+- asio::deadline_timer timer(*io_service);
++ asio::deadline_timer timer(*io_context);
+ retries--;
+ std::function<void(const error_code&)> timer_handler = [&](const error_code& error) {
+ int replies_count = replies.size();
+ // end
+ if (retries == 0 || error || replies_count > 0) {
+ // is this correct ending?
+- io_service->stop();
++ io_context->stop();
+ if (replies_count > 0 && resolvefn) {
+ resolvefn(replies);
+ }
+@@ -1041,7 +1041,7 @@ void Bonjour::priv::resolve_perform()
+ timer.expires_from_now(boost::posix_time::seconds(timeout));
+ timer.async_wait(timer_handler);
+ // start io_service, it will run until it has something to do - so in this case until stop is called in timer
+- io_service->run();
++ io_context->run();
+ }
+ catch (std::exception& e) {
+ BOOST_LOG_TRIVIAL(error) << e.what();
+diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Bonjour.hpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Bonjour.hpp
+--- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Bonjour.hpp 2024-12-21 11:52:03.644594950 +0100
++++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Bonjour.hpp 2024-12-21 12:23:16.573836269 +0100
+@@ -155,11 +155,11 @@ public:
+ UdpSocket(Bonjour::ReplyFn replyfn
+ , const boost::asio::ip::address& multicast_address
+ , const boost::asio::ip::address& interface_address
+- , std::shared_ptr< boost::asio::io_service > io_service);
++ , std::shared_ptr< boost::asio::io_context > io_context);
+
+ UdpSocket(Bonjour::ReplyFn replyfn
+ , const boost::asio::ip::address& multicast_address
+- , std::shared_ptr< boost::asio::io_service > io_service);
++ , std::shared_ptr< boost::asio::io_context > io_context);
+
+ void send();
+ void async_receive();
+@@ -172,7 +172,7 @@ protected:
+ boost::asio::ip::address multicast_address;
+ boost::asio::ip::udp::socket socket;
+ boost::asio::ip::udp::endpoint mcast_endpoint;
+- std::shared_ptr< boost::asio::io_service > io_service;
++ std::shared_ptr< boost::asio::io_context > io_context;
+ std::vector<BonjourRequest> requests;
+ };
+
+@@ -186,8 +186,8 @@ public:
+ , Bonjour::ReplyFn replyfn
+ , const boost::asio::ip::address& multicast_address
+ , const boost::asio::ip::address& interface_address
+- , std::shared_ptr< boost::asio::io_service > io_service)
+- : UdpSocket(replyfn, multicast_address, interface_address, io_service)
++ , std::shared_ptr< boost::asio::io_context > io_context)
++ : UdpSocket(replyfn, multicast_address, interface_address, io_context)
+ , txt_keys(txt_keys)
+ , service(service)
+ , service_dn(service_dn)
+@@ -203,8 +203,8 @@ public:
+ , std::string protocol
+ , Bonjour::ReplyFn replyfn
+ , const boost::asio::ip::address& multicast_address
+- , std::shared_ptr< boost::asio::io_service > io_service)
+- : UdpSocket(replyfn, multicast_address, io_service)
++ , std::shared_ptr< boost::asio::io_context > io_context)
++ : UdpSocket(replyfn, multicast_address, io_context)
+ , txt_keys(txt_keys)
+ , service(service)
+ , service_dn(service_dn)
+@@ -241,8 +241,8 @@ public:
+ , Bonjour::ReplyFn replyfn
+ , const boost::asio::ip::address& multicast_address
+ , const boost::asio::ip::address& interface_address
+- , std::shared_ptr< boost::asio::io_service > io_service)
+- : UdpSocket(replyfn, multicast_address, interface_address, io_service)
++ , std::shared_ptr< boost::asio::io_context > io_context)
++ : UdpSocket(replyfn, multicast_address, interface_address, io_context)
+ , hostname(hostname)
+
+ {
+@@ -253,8 +253,8 @@ public:
+ ResolveSocket(const std::string& hostname
+ , Bonjour::ReplyFn replyfn
+ , const boost::asio::ip::address& multicast_address
+- , std::shared_ptr< boost::asio::io_service > io_service)
+- : UdpSocket(replyfn, multicast_address, io_service)
++ , std::shared_ptr< boost::asio::io_context > io_context)
++ : UdpSocket(replyfn, multicast_address, io_context)
+ , hostname(hostname)
+
+ {
+diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Serial.cpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Serial.cpp
+--- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Serial.cpp 2024-12-21 11:52:03.644594950 +0100
++++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Serial.cpp 2024-12-21 11:59:40.018945840 +0100
+@@ -282,12 +282,12 @@ std::vector<std::string> scan_serial_por
+ namespace asio = boost::asio;
+ using boost::system::error_code;
+
+-Serial::Serial(asio::io_service& io_service) :
+- asio::serial_port(io_service)
++Serial::Serial(asio::io_context &io_context) :
++ asio::serial_port(io_context)
+ {}
+
+-Serial::Serial(asio::io_service& io_service, const std::string &name, unsigned baud_rate) :
+- asio::serial_port(io_service, name)
++Serial::Serial(asio::io_context &io_context, const std::string &name, unsigned baud_rate) :
++ asio::serial_port(io_context, name)
+ {
+ set_baud_rate(baud_rate);
+ }
+@@ -390,19 +390,19 @@ void Serial::reset_line_num()
+
+ bool Serial::read_line(unsigned timeout, std::string &line, error_code &ec)
+ {
+- auto& io_service =
++ auto& io_context =
+ #if BOOST_VERSION >= 107000
+ //FIXME this is most certainly wrong!
+ (boost::asio::io_context&)this->get_executor().context();
+ #else
+ this->get_io_service();
+ #endif
+- asio::deadline_timer timer(io_service);
++ asio::deadline_timer timer(io_context);
+ char c = 0;
+ bool fail = false;
+
+ while (true) {
+- io_service.reset();
++ io_context.reset();
+
+ asio::async_read(*this, boost::asio::buffer(&c, 1), [&](const error_code &read_ec, size_t size) {
+ if (ec || size == 0) {
+@@ -423,7 +423,7 @@ bool Serial::read_line(unsigned timeout,
+ });
+ }
+
+- io_service.run();
++ io_context.run();
+
+ if (fail) {
+ return false;
+diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Serial.hpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Serial.hpp
+--- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/Serial.hpp 2024-12-21 11:52:03.644594950 +0100
++++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/Serial.hpp 2024-12-21 11:55:33.283837413 +0100
+@@ -43,8 +43,8 @@ extern std::vector<SerialPortInfo> scan
+ class Serial : public boost::asio::serial_port
+ {
+ public:
+- Serial(boost::asio::io_service &io_service);
+- Serial(boost::asio::io_service &io_service, const std::string &name, unsigned baud_rate);
++ Serial(boost::asio::io_context &io_context);
++ Serial(boost::asio::io_context &io_context, const std::string &name, unsigned baud_rate);
+ Serial(const Serial &) = delete;
+ Serial &operator=(const Serial &) = delete;
+ ~Serial();
+diff '--color=auto' -urNp PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/TCPConsole.cpp PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/TCPConsole.cpp
+--- PrusaSlicer-version_2.8.1-orig/src/slic3r/Utils/TCPConsole.cpp 2024-12-21 11:52:03.644594950 +0100
++++ PrusaSlicer-version_2.8.1-dwok/src/slic3r/Utils/TCPConsole.cpp 2024-12-21 13:00:56.377754763 +0100
+@@ -9,6 +9,7 @@
+ #include <boost/asio/read_until.hpp>
+ #include <boost/asio/steady_timer.hpp>
+ #include <boost/asio/write.hpp>
++#include <boost/asio/connect.hpp>
+ #include <boost/bind/bind.hpp>
+ #include <boost/format.hpp>
+ #include <boost/log/trivial.hpp>
+@@ -161,7 +162,7 @@ bool TCPConsole::run_queue()
+
+ auto endpoints = m_resolver.resolve(m_host_name, m_port_name);
+
+- m_socket.async_connect(endpoints->endpoint(),
++ boost::asio::async_connect(m_socket, endpoints,
+ boost::bind(&TCPConsole::handle_connect, this, boost::placeholders::_1)
+ );
+
+
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.9.0-arrange-static.patch b/media-gfx/prusaslicer/files/prusaslicer-2.9.0-arrange-static.patch
new file mode 100644
index 000000000000..6bc8af73d03a
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.9.0-arrange-static.patch
@@ -0,0 +1,46 @@
+From a7c15a3ae9877dcf7da8c8fd80de8b128251db2b Mon Sep 17 00:00:00 2001
+From: Yuri D'Elia <wavexx@thregr.org>
+Date: Fri, 3 Jan 2025 00:07:50 +0100
+Subject: [PATCH] Build libslic3r-arrange/wrapper as static
+
+Fix build on linux without SLIC3R_STATIC (these are for internal use
+only).
+
+- Avoids the need for installation (fixes
+ https://github.com/prusa3d/PrusaSlicer/pull/13812)
+- Fixes build without PIC (fixes
+ https://github.com/prusa3d/PrusaSlicer/pull/13810,
+ https://github.com/prusa3d/PrusaSlicer/issues/13694), which would
+ still result in broken behavior (duplicate static initialization
+ crashing on startup).
+---
+ src/slic3r-arrange-wrapper/CMakeLists.txt | 2 +-
+ src/slic3r-arrange/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/slic3r-arrange-wrapper/CMakeLists.txt b/src/slic3r-arrange-wrapper/CMakeLists.txt
+index 3f723e5aed1..34b64fc2969 100644
+--- a/src/slic3r-arrange-wrapper/CMakeLists.txt
++++ b/src/slic3r-arrange-wrapper/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ project(slic3r-arrange-wrapper)
+ cmake_minimum_required(VERSION 3.13)
+
+-add_library(slic3r-arrange-wrapper
++add_library(slic3r-arrange-wrapper STATIC
+ include/arrange-wrapper/Arrange.hpp
+ include/arrange-wrapper/ArrangeSettingsDb_AppCfg.hpp
+ include/arrange-wrapper/ArrangeSettingsView.hpp
+diff --git a/src/slic3r-arrange/CMakeLists.txt b/src/slic3r-arrange/CMakeLists.txt
+index 98ab2470535..36a54ca5985 100644
+--- a/src/slic3r-arrange/CMakeLists.txt
++++ b/src/slic3r-arrange/CMakeLists.txt
+@@ -1,7 +1,7 @@
+ project(slic3r-arrange)
+ cmake_minimum_required(VERSION 3.13)
+
+-add_library(slic3r-arrange
++add_library(slic3r-arrange STATIC
+ include/arrange/Beds.hpp
+ include/arrange/ArrangeItemTraits.hpp
+ include/arrange/PackingContext.hpp
diff --git a/media-gfx/prusaslicer/files/prusaslicer-2.9.0-missing-includes.patch b/media-gfx/prusaslicer/files/prusaslicer-2.9.0-missing-includes.patch
new file mode 100644
index 000000000000..d6b1fd097a40
--- /dev/null
+++ b/media-gfx/prusaslicer/files/prusaslicer-2.9.0-missing-includes.patch
@@ -0,0 +1,10 @@
+--- 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.8.1-r1.ebuild b/media-gfx/prusaslicer/prusaslicer-2.8.1-r1.ebuild
index 6b3be9ea12e5..1b384bbdb9a9 100644
--- a/media-gfx/prusaslicer/prusaslicer-2.8.1-r1.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-2.8.1-r1.ebuild
@@ -68,6 +68,7 @@ PATCHES=(
"${FILESDIR}/${PN}-2.8.1-cgal-6.0.patch"
"${FILESDIR}/${PN}-2.8.1-fstream.patch"
"${FILESDIR}/${PN}-2.8.1-fix-libsoup-double-linking.patch"
+ "${FILESDIR}/${PN}-2.8.1-boost-1.87.patch"
)
src_prepare() {
diff --git a/media-gfx/prusaslicer/prusaslicer-2.9.0.ebuild b/media-gfx/prusaslicer/prusaslicer-2.9.0.ebuild
new file mode 100644
index 000000000000..2f4ebe6ec2af
--- /dev/null
+++ b/media-gfx/prusaslicer/prusaslicer-2.9.0.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WX_GTK_VER="3.2-gtk3"
+MY_PN="PrusaSlicer"
+MY_PV="$(ver_rs 3 -)"
+
+inherit cmake wxwidgets xdg
+
+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/"
+
+LICENSE="AGPL-3 Boost-1.0 GPL-2 LGPL-3 MIT"
+SLOT="0"
+IUSE="test"
+
+RESTRICT="!test? ( 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:=
+ media-gfx/libbgcode
+ net-misc/curl[adns]
+ media-libs/glew:0=
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:0=
+ media-libs/qhull:=
+ net-libs/webkit-gtk:4.1
+ sci-libs/libigl
+ sci-libs/nlopt
+ sci-libs/opencascade:=
+ sci-mathematics/cgal:=
+ sys-apps/dbus
+ sys-libs/zlib:=
+ virtual/opengl
+ x11-libs/gtk+:3
+ >=x11-libs/wxGTK-3.2.2.1-r3:${WX_GTK_VER}[X,opengl,webkit]
+ media-libs/nanosvg:=
+"
+DEPEND="${RDEPEND}
+ media-libs/qhull[static-libs]
+ test? ( =dev-cpp/catch-2* )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.6.0-dont-force-link-to-wayland-and-x11.patch"
+ "${FILESDIR}/${PN}-2.8.0-wxwidgets-3.2.4.patch"
+ "${FILESDIR}/${PN}-2.8.1-cgal-6.0.patch"
+ "${FILESDIR}/${PN}-2.8.1-fstream.patch"
+ "${FILESDIR}/${PN}-2.8.1-fix-libsoup-double-linking.patch"
+ "${FILESDIR}/${PN}-2.8.1-boost-1.87.patch"
+ "${FILESDIR}/${PN}-2.9.0-missing-includes.patch"
+ "${FILESDIR}/${PN}-2.9.0-arrange-static.patch"
+)
+
+src_prepare() {
+ if has_version ">=sci-libs/opencascade-7.8.0"; then
+ eapply "${FILESDIR}/prusaslicer-2.8.1-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.[0-9] 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
+}
+
+src_test() {
+ CMAKE_SKIP_TESTS=(
+ "^libslic3r_tests$"
+ )
+ cmake_src_test
+}
diff --git a/media-gfx/prusaslicer/prusaslicer-9999.ebuild b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
index 66c1089c97e8..ddb4522b2ddc 100644
--- a/media-gfx/prusaslicer/prusaslicer-9999.ebuild
+++ b/media-gfx/prusaslicer/prusaslicer-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -48,6 +48,7 @@ RDEPEND="
sci-libs/nlopt
sci-libs/opencascade:=
sci-mathematics/cgal:=
+ sci-mathematics/z3:=
sys-apps/dbus
sys-libs/zlib:=
virtual/opengl
@@ -62,12 +63,10 @@ DEPEND="${RDEPEND}
PATCHES=(
"${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-wxwidgets-3.2.4.patch"
- "${FILESDIR}/${PN}-2.8.1-fixed-linking.patch"
"${FILESDIR}/${PN}-2.8.1-cgal-6.0.patch"
"${FILESDIR}/${PN}-2.8.1-fstream.patch"
"${FILESDIR}/${PN}-2.8.1-fix-libsoup-double-linking.patch"
+ "${FILESDIR}/${PN}-2.8.1-boost-1.87.patch"
)
src_prepare() {
@@ -80,9 +79,6 @@ src_prepare() {
sed -i -e 's/find_package(OpenCASCADE 7.6.[0-9] REQUIRED)/find_package(OpenCASCADE REQUIRED)/g' \
src/occt_wrapper/CMakeLists.txt || die
- # remove broken cmake find file: https://github.com/prusa3d/PrusaSlicer/issues/13608
- rm cmake/modules/FindEigen3.cmake || die
-
cmake_src_prepare
}
diff --git a/media-gfx/quat/files/quat-1.20-fltk1.4.patch b/media-gfx/quat/files/quat-1.20-fltk1.4.patch
new file mode 100644
index 000000000000..d3426b2db0b0
--- /dev/null
+++ b/media-gfx/quat/files/quat-1.20-fltk1.4.patch
@@ -0,0 +1,6 @@
+Deprecated compatibility symlinks are removed.
+--- a/gui/MainWindow.cxx
++++ b/gui/MainWindow.cxx
+@@ -56 +56 @@
+-#include <FL/fl_file_chooser.H>
++#include <FL/Fl_File_Chooser.H>
diff --git a/media-gfx/quat/quat-1.20-r3.ebuild b/media-gfx/quat/quat-1.20-r4.ebuild
index f237c96e4554..da95cfeec35c 100644
--- a/media-gfx/quat/quat-1.20-r3.ebuild
+++ b/media-gfx/quat/quat-1.20-r4.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,7 +17,7 @@ IUSE="X debug"
DEPEND="
>=sys-libs/zlib-1.1.4
X? (
- =x11-libs/fltk-1*
+ x11-libs/fltk:1=
x11-libs/libX11
x11-libs/libXext
x11-libs/libXft
@@ -25,7 +25,10 @@ DEPEND="
"
RDEPEND="${DEPEND}"
-PATCHES=( "${FILESDIR}/${P}-fix-build-for-clang16.patch" )
+PATCHES=(
+ "${FILESDIR}/${P}-fix-build-for-clang16.patch"
+ "${FILESDIR}/${P}-fltk1.4.patch"
+)
src_configure() {
# throws tons of warnings otherwise
diff --git a/media-gfx/renderdoc/Manifest b/media-gfx/renderdoc/Manifest
index a78b49cde398..2f9db46489c6 100644
--- a/media-gfx/renderdoc/Manifest
+++ b/media-gfx/renderdoc/Manifest
@@ -1,7 +1,3 @@
-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/renderdoc-1.30-r2.ebuild b/media-gfx/renderdoc/renderdoc-1.30-r2.ebuild
deleted file mode 100644
index 474d3abb42fe..000000000000
--- a/media-gfx/renderdoc/renderdoc-1.30-r2.ebuild
+++ /dev/null
@@ -1,188 +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..12} )
-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
-# + 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="qt5"
-REQUIRED_USE="doc? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- app-arch/lz4:=
- app-arch/zstd:=
- dev-libs/miniz:=
- x11-libs/libX11
- x11-libs/libxcb:=
- x11-libs/xcb-util-keysyms
- virtual/opengl
- 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.30-r1-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
-
- # 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_UNSUPPORTED_EXPERIMENTAL_POSSIBLY_BROKEN_WAYLAND=OFF
-
- -DENABLE_XCB=ON
- -DENABLE_XLIB=ON
-
- # 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
-
- # Bug #926549
- -DQRENDERDOC_ENABLE_PYSIDE2=OFF
- )
-
- # 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.31.ebuild b/media-gfx/renderdoc/renderdoc-1.31.ebuild
deleted file mode 100644
index c8d27b42b52d..000000000000
--- a/media-gfx/renderdoc/renderdoc-1.31.ebuild
+++ /dev/null
@@ -1,191 +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..12} )
-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
-# + 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="qt5"
-REQUIRED_USE="doc? ( qt5 ) qt5? ( ${PYTHON_REQUIRED_USE} )"
-
-RDEPEND="
- app-arch/lz4:=
- app-arch/zstd:=
- dev-libs/miniz:=
- x11-libs/libX11
- x11-libs/libxcb:=
- x11-libs/xcb-util-keysyms
- virtual/opengl
- 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.30-r1-system-compress.patch
-
- # Bug #925578
- "${FILESDIR}"/${PN}-1.31-lld.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
-
- # 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_UNSUPPORTED_EXPERIMENTAL_POSSIBLY_BROKEN_WAYLAND=OFF
-
- -DENABLE_XCB=ON
- -DENABLE_XLIB=ON
-
- # 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
-
- # Bug #926549
- -DQRENDERDOC_ENABLE_PYSIDE2=OFF
- )
-
- # 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/ristretto/Manifest b/media-gfx/ristretto/Manifest
index cbb1704542d4..0db41feb784e 100644
--- a/media-gfx/ristretto/Manifest
+++ b/media-gfx/ristretto/Manifest
@@ -1,2 +1 @@
-DIST ristretto-0.13.0.tar.bz2 624244 BLAKE2B ac0d6b391b17538e47a26f7643f083854f6654a7394f210fcc165d36a3d614b11354a81ab3a45a303e447c4221bf43ff92a913c64c425ef242810fdcdad584e1 SHA512 a8e25e0fdd2d31a904c616995438b47cf144557f589ed97a551fc5411cd7a3da9edab0c23c955e86c72ed0d10f1efccd61edf0aaf5a82cf601bf3333ea2b332b
-DIST ristretto-0.13.2.tar.bz2 852320 BLAKE2B 48451479e698672cd74dc85f32e8430e83026845ed09bee138e7da458bf0f0222e9aa756accec2a939f164ed59fbda4f18792a1238cd648d96dbe29b386ab9cd SHA512 ae4eb0159707a793cefe88b681f61e8c2ce41d57a64c7ad33853fc863bb1909b2a48ccf5543d3484f5710e7bf86ecbbd8520fb59eff11368f3a7a7028cd85914
+DIST ristretto-0.13.3.tar.bz2 854176 BLAKE2B 5c10505c40418cb7ff31e29091dfa23ab168d4fb9ce449003357af1b67db84b3c2e469947637aa9c93b453b9ecc4d7d8eae4285aecfde6ef30e3b5cd365604d3 SHA512 92eb0993cbe64a83c80cd78972a64762a03766a055ac66ad16f86c2ee4360a2cc9114723a60d60257f56052ccd579c618df8110a909e45a5cab10ee7c4a3d0f3
diff --git a/media-gfx/ristretto/ristretto-0.13.0.ebuild b/media-gfx/ristretto/ristretto-0.13.0.ebuild
deleted file mode 100644
index ba9b3440467e..000000000000
--- a/media-gfx/ristretto/ristretto-0.13.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit xdg-utils
-
-DESCRIPTION="A fast and lightweight picture viewer for Xfce"
-HOMEPAGE="
- https://docs.xfce.org/apps/ristretto/start
- https://gitlab.xfce.org/apps/ristretto/
-"
-SRC_URI="https://archive.xfce.org/src/apps/${PN}/${PV%.*}/${P}.tar.bz2"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~loong ppc ppc64 ~riscv ~sparc x86"
-
-DEPEND="
- >=dev-libs/glib-2.56:2
- media-libs/libexif:0=
- sys-apps/file
- x11-libs/cairo:0
- >=x11-libs/gtk+-3.22:3
- x11-libs/libX11:0=
- >=xfce-base/libxfce4ui-4.16:0=
- >=xfce-base/libxfce4util-4.16:0=
- >=xfce-base/xfconf-4.12.1:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-util/intltool
- virtual/pkgconfig
- sys-devel/gettext
-"
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
diff --git a/media-gfx/ristretto/ristretto-0.13.2.ebuild b/media-gfx/ristretto/ristretto-0.13.3.ebuild
index 19eafffb4eb5..71729a6688d0 100644
--- a/media-gfx/ristretto/ristretto-0.13.2.ebuild
+++ b/media-gfx/ristretto/ristretto-0.13.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -31,8 +31,7 @@ RDEPEND="
${DEPEND}
"
BDEPEND="
- dev-util/intltool
- sys-devel/gettext
+ >=sys-devel/gettext-0.19.8
virtual/pkgconfig
"
diff --git a/media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild b/media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild
index 3ae022e23d53..8378fff6a24a 100644
--- a/media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild
+++ b/media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ S="${WORKDIR}/backends-${PV}"
LICENSE="GPL-2 public-domain"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~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.
@@ -202,6 +202,9 @@ src_prepare() {
src_configure() {
# From Fedora
append-flags -fno-strict-aliasing
+ # bug #944286
+ append-cflags -std=gnu17
+
multilib-minimal_src_configure
}
diff --git a/media-gfx/sane-frontends/files/gimp-2.0.m4 b/media-gfx/sane-frontends/files/gimp-2.0.m4
new file mode 100644
index 000000000000..695b9e5a6577
--- /dev/null
+++ b/media-gfx/sane-frontends/files/gimp-2.0.m4
@@ -0,0 +1,180 @@
+# Configure paths for GIMP-2.0
+# Manish Singh, Sven Neumann
+# Large parts shamelessly stolen from Owen Taylor
+
+dnl AM_PATH_GIMP_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]])
+dnl Test for GIMP, and define GIMP_CFLAGS and GIMP_LIBS
+dnl
+AC_DEFUN([AM_PATH_GIMP_2_0],
+[dnl
+dnl Get the cflags and libraries from pkg-config
+dnl
+
+AC_ARG_ENABLE(gimptest, [ --disable-gimptest do not try to compile and run a test GIMP program],, enable_gimptest=yes)
+
+ pkg_name=gimp-2.0
+ pkg_config_args="$pkg_name gimpui-2.0"
+
+ no_gimp=""
+
+ AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
+
+ if test x$PKG_CONFIG != xno ; then
+ if pkg-config --atleast-pkgconfig-version 0.7 ; then
+ :
+ else
+ echo *** pkg-config too old; version 0.7 or better required.
+ no_gimp=yes
+ PKG_CONFIG=no
+ fi
+ else
+ no_gimp=yes
+ fi
+
+ min_gimp_version=ifelse([$1], ,2.0.0,$1)
+ AC_MSG_CHECKING(for GIMP - version >= $min_gimp_version)
+
+ if test x$PKG_CONFIG != xno ; then
+ ## don't try to run the test against uninstalled libtool libs
+ if $PKG_CONFIG --uninstalled $pkg_config_args; then
+ echo "Will use uninstalled version of GIMP found in PKG_CONFIG_PATH"
+ enable_gimptest=no
+ fi
+
+ if $PKG_CONFIG --atleast-version $min_gimp_version $pkg_config_args; then
+ :
+ else
+ no_gimp=yes
+ fi
+ fi
+
+ if test x"$no_gimp" = x ; then
+ GIMP_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
+ GIMP_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
+ GIMP_CFLAGS_NOUI=`$PKG_CONFIG $pkg_name --cflags`
+ GIMP_LIBS_NOUI=`$PKG_CONFIG $pkg_name --libs`
+ GIMP_DATA_DIR=`$PKG_CONFIG $pkg_name --variable=gimpdatadir`
+ GIMP_PLUGIN_DIR=`$PKG_CONFIG $pkg_name --variable=gimplibdir`
+
+ gimp_pkg_major_version=`$PKG_CONFIG --modversion $pkg_name | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ gimp_pkg_minor_version=`$PKG_CONFIG --modversion $pkg_name | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ gimp_pkg_micro_version=`$PKG_CONFIG --modversion $pkg_name | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ if test "x$enable_gimptest" = "xyes" ; then
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $GIMP_CFLAGS"
+ LIBS="$GIMP_LIBS $LIBS"
+
+dnl
+dnl Now check if the installed GIMP is sufficiently new. (Also sanity
+dnl checks the results of pkg-config to some extent
+dnl
+ rm -f conf.gimptest
+ AC_TRY_RUN([
+#include <stdio.h>
+#include <stdlib.h>
+
+#include <libgimp/gimp.h>
+
+GimpPlugInInfo PLUG_IN_INFO =
+{
+ NULL, /* init_proc */
+ NULL, /* quit_proc */
+ NULL, /* query_proc */
+ NULL /* run_proc */
+};
+
+int main ()
+{
+ int major, minor, micro;
+ char *tmp_version;
+
+ system ("touch conf.gimptest");
+
+ /* HP/UX 9 (%@#!) writes to sscanf strings */
+ tmp_version = g_strdup("$min_gimp_version");
+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+ printf("%s, bad version string\n", "$min_gimp_version");
+ exit(1);
+ }
+
+ if (($gimp_pkg_major_version > major) ||
+ (($gimp_pkg_major_version == major) && ($gimp_pkg_minor_version > minor)) ||
+ (($gimp_pkg_major_version == major) && ($gimp_pkg_minor_version == minor) && ($gimp_pkg_micro_version >= micro)))
+ {
+ return 0;
+ }
+ else
+ {
+ printf("\n*** 'pkg-config --modversion %s' returned %d.%d.%d, but the minimum version\n", "$pkg_name", $gimp_pkg_major_version, $gimp_pkg_minor_version, $gimp_pkg_micro_version);
+ printf("*** of GIMP required is %d.%d.%d. If pkg-config is correct, then it is\n", major, minor, micro);
+ printf("*** best to upgrade to the required version.\n");
+ printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
+ printf("*** to point to the correct the correct configuration files\n");
+ return 1;
+ }
+}
+
+],, no_gimp=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ if test "x$no_gimp" = x ; then
+ AC_MSG_RESULT(yes (version $gimp_pkg_major_version.$gimp_pkg_minor_version.$gimp_pkg_micro_version))
+ ifelse([$2], , :, [$2])
+ else
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** A new enough version of pkg-config was not found."
+ echo "*** See http://www.freedesktop.org/software/pkgconfig/"
+ else
+ if test -f conf.gimptest ; then
+ :
+ else
+ echo "*** Could not run GIMP test program, checking why..."
+ CFLAGS="$CFLAGS $GIMP_CFLAGS"
+ LIBS="$LIBS $GIMP_LIBS"
+ AC_TRY_LINK([
+#include <stdio.h>
+#include <libgimp/gimp.h>
+
+GimpPlugInInfo PLUG_IN_INFO =
+{
+ NULL, /* init_proc */
+ NULL, /* quit_proc */
+ NULL, /* query_proc */
+ NULL /* run_proc */
+};
+], [ return 0; ],
+ [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding GIMP or finding the wrong"
+ echo "*** version of GIMP. If it is not finding GIMP, you'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH"],
+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occurred. This usually means GIMP is incorrectly installed."])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ GIMP_CFLAGS=""
+ GIMP_LIBS=""
+ GIMP_CFLAGS_NOUI=""
+ GIMP_LIBS_NOUI=""
+ ifelse([$3], , :, [$3])
+ fi
+ AC_SUBST(GIMP_CFLAGS)
+ AC_SUBST(GIMP_LIBS)
+ AC_SUBST(GIMP_CFLAGS_NOUI)
+ AC_SUBST(GIMP_LIBS_NOUI)
+ AC_SUBST(GIMP_DATA_DIR)
+ AC_SUBST(GIMP_PLUGIN_DIR)
+ rm -f conf.gimptest
+])
diff --git a/media-gfx/sane-frontends/files/gtk-2.0.m4 b/media-gfx/sane-frontends/files/gtk-2.0.m4
new file mode 100644
index 000000000000..a89477fabbb7
--- /dev/null
+++ b/media-gfx/sane-frontends/files/gtk-2.0.m4
@@ -0,0 +1,189 @@
+# Configure paths for GTK+
+# Owen Taylor 1997-2001
+
+# Version number used by aclocal, see `info automake Serials`.
+# Increment on every change.
+#serial 1
+
+dnl AM_PATH_GTK_2_0([MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND [, MODULES]]]])
+dnl Test for GTK+, and define GTK_CFLAGS and GTK_LIBS, if gthread is specified in MODULES,
+dnl pass to pkg-config
+dnl
+AC_DEFUN([AM_PATH_GTK_2_0],
+[dnl
+dnl Get the cflags and libraries from pkg-config
+dnl
+AC_ARG_ENABLE(gtktest, [ --disable-gtktest do not try to compile and run a test GTK+ program],
+ , enable_gtktest=yes)
+
+ pkg_config_args=gtk+-2.0
+ for module in . $4
+ do
+ case "$module" in
+ gthread)
+ pkg_config_args="$pkg_config_args gthread-2.0"
+ ;;
+ esac
+ done
+
+ no_gtk=""
+
+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
+ PKG_PROG_PKG_CONFIG([0.7])
+
+ min_gtk_version=ifelse([$1], ,2.0.0,$1)
+ AC_MSG_CHECKING(for GTK+ - version >= $min_gtk_version)
+
+ if test x$PKG_CONFIG != xno ; then
+ ## don't try to run the test against uninstalled libtool libs
+ if $PKG_CONFIG --uninstalled $pkg_config_args; then
+ echo "Will use uninstalled version of GTK+ found in PKG_CONFIG_PATH"
+ enable_gtktest=no
+ fi
+
+ if $PKG_CONFIG --atleast-version $min_gtk_version $pkg_config_args; then
+ :
+ else
+ no_gtk=yes
+ fi
+ fi
+
+ if test x"$no_gtk" = x ; then
+ GTK_CFLAGS=`$PKG_CONFIG $pkg_config_args --cflags`
+ GTK_LIBS=`$PKG_CONFIG $pkg_config_args --libs`
+ gtk_config_major_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+ gtk_config_minor_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+ gtk_config_micro_version=`$PKG_CONFIG --modversion gtk+-2.0 | \
+ sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+ if test "x$enable_gtktest" = "xyes" ; then
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $GTK_CFLAGS"
+ LIBS="$GTK_LIBS $LIBS"
+dnl
+dnl Now check if the installed GTK+ is sufficiently new. (Also sanity
+dnl checks the results of pkg-config to some extent)
+dnl
+ rm -f conf.gtktest
+ AC_TRY_RUN([
+#include <gtk/gtk.h>
+#include <stdio.h>
+#include <stdlib.h>
+
+int
+main ()
+{
+ int major, minor, micro;
+ char *tmp_version;
+
+ fclose (fopen ("conf.gtktest", "w"));
+
+ /* HP/UX 9 (%@#!) writes to sscanf strings */
+ tmp_version = g_strdup("$min_gtk_version");
+ if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, &micro) != 3) {
+ printf("%s, bad version string\n", "$min_gtk_version");
+ exit(1);
+ }
+
+ if ((gtk_major_version != $gtk_config_major_version) ||
+ (gtk_minor_version != $gtk_config_minor_version) ||
+ (gtk_micro_version != $gtk_config_micro_version))
+ {
+ printf("\n*** 'pkg-config --modversion gtk+-2.0' returned %d.%d.%d, but GTK+ (%d.%d.%d)\n",
+ $gtk_config_major_version, $gtk_config_minor_version, $gtk_config_micro_version,
+ gtk_major_version, gtk_minor_version, gtk_micro_version);
+ printf ("*** was found! If pkg-config was correct, then it is best\n");
+ printf ("*** to remove the old version of GTK+. You may also be able to fix the error\n");
+ printf("*** by modifying your LD_LIBRARY_PATH enviroment variable, or by editing\n");
+ printf("*** /etc/ld.so.conf. Make sure you have run ldconfig if that is\n");
+ printf("*** required on your system.\n");
+ printf("*** If pkg-config was wrong, set the environment variable PKG_CONFIG_PATH\n");
+ printf("*** to point to the correct configuration files\n");
+ }
+ else if ((gtk_major_version != GTK_MAJOR_VERSION) ||
+ (gtk_minor_version != GTK_MINOR_VERSION) ||
+ (gtk_micro_version != GTK_MICRO_VERSION))
+ {
+ printf("*** GTK+ header files (version %d.%d.%d) do not match\n",
+ GTK_MAJOR_VERSION, GTK_MINOR_VERSION, GTK_MICRO_VERSION);
+ printf("*** library (version %d.%d.%d)\n",
+ gtk_major_version, gtk_minor_version, gtk_micro_version);
+ }
+ else
+ {
+ if ((gtk_major_version > major) ||
+ ((gtk_major_version == major) && (gtk_minor_version > minor)) ||
+ ((gtk_major_version == major) && (gtk_minor_version == minor) && (gtk_micro_version >= micro)))
+ {
+ return 0;
+ }
+ else
+ {
+ printf("\n*** An old version of GTK+ (%d.%d.%d) was found.\n",
+ gtk_major_version, gtk_minor_version, gtk_micro_version);
+ printf("*** You need a version of GTK+ newer than %d.%d.%d. The latest version of\n",
+ major, minor, micro);
+ printf("*** GTK+ is always available from ftp://ftp.gtk.org.\n");
+ printf("***\n");
+ printf("*** If you have already installed a sufficiently new version, this error\n");
+ printf("*** probably means that the wrong copy of the pkg-config shell script is\n");
+ printf("*** being found. The easiest way to fix this is to remove the old version\n");
+ printf("*** of GTK+, but you can also set the PKG_CONFIG environment to point to the\n");
+ printf("*** correct copy of pkg-config. (In this case, you will have to\n");
+ printf("*** modify your LD_LIBRARY_PATH enviroment variable, or edit /etc/ld.so.conf\n");
+ printf("*** so that the correct libraries are found at run-time))\n");
+ }
+ }
+ return 1;
+}
+],, no_gtk=yes,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ if test "x$no_gtk" = x ; then
+ AC_MSG_RESULT(yes (version $gtk_config_major_version.$gtk_config_minor_version.$gtk_config_micro_version))
+ ifelse([$2], , :, [$2])
+ else
+ AC_MSG_RESULT(no)
+ if test "$PKG_CONFIG" = "no" ; then
+ echo "*** A new enough version of pkg-config was not found."
+ echo "*** See http://pkgconfig.sourceforge.net"
+ else
+ if test -f conf.gtktest ; then
+ :
+ else
+ echo "*** Could not run GTK+ test program, checking why..."
+ ac_save_CFLAGS="$CFLAGS"
+ ac_save_LIBS="$LIBS"
+ CFLAGS="$CFLAGS $GTK_CFLAGS"
+ LIBS="$LIBS $GTK_LIBS"
+ AC_TRY_LINK([
+#include <gtk/gtk.h>
+#include <stdio.h>
+], [ return ((gtk_major_version) || (gtk_minor_version) || (gtk_micro_version)); ],
+ [ echo "*** The test program compiled, but did not run. This usually means"
+ echo "*** that the run-time linker is not finding GTK+ or finding the wrong"
+ echo "*** version of GTK+. If it is not finding GTK+, you'll need to set your"
+ echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point"
+ echo "*** to the installed location Also, make sure you have run ldconfig if that"
+ echo "*** is required on your system"
+ echo "***"
+ echo "*** If you have an old version installed, it is best to remove it, although"
+ echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" ],
+ [ echo "*** The test program failed to compile or link. See the file config.log for the"
+ echo "*** exact error that occured. This usually means GTK+ is incorrectly installed."])
+ CFLAGS="$ac_save_CFLAGS"
+ LIBS="$ac_save_LIBS"
+ fi
+ fi
+ GTK_CFLAGS=""
+ GTK_LIBS=""
+ ifelse([$3], , :, [$3])
+ fi
+ AC_SUBST(GTK_CFLAGS)
+ AC_SUBST(GTK_LIBS)
+ rm -f conf.gtktest
+])
diff --git a/media-gfx/sane-frontends/files/sane-frontends-1.0.14-c99.patch b/media-gfx/sane-frontends/files/sane-frontends-1.0.14-c99.patch
new file mode 100644
index 000000000000..c02528bab90a
--- /dev/null
+++ b/media-gfx/sane-frontends/files/sane-frontends-1.0.14-c99.patch
@@ -0,0 +1,51 @@
+https://bugs.gentoo.org/933615#c7
+Signed-off-by: Stephane Bakhos <nuitari@nuitari.net>
+--- a/acinclude.m4
++++ b/acinclude.m4
+@@ -61,6 +61,7 @@
+ AC_TRY_RUN([
+ #include <gtk/gtk.h>
+ #include <stdio.h>
++#include <stdlib.h>
+
+ int
+ main ()
+@@ -484,6 +485,7 @@
+ AC_TRY_RUN([
+ #include <sane/sane.h>
+ #include <stdio.h>
++#include <stdlib.h>
+
+ int
+ main ()
+--- a/aclocal.m4 2024-09-17 00:41:08.100761458 -0400
++++ b/aclocal.m4 2024-09-17 00:56:44.718894896 -0400
+@@ -494,6 +494,7 @@
+ AC_TRY_RUN([
+ #include <sane/sane.h>
+ #include <stdio.h>
++#include <stdlib.h>
+
+ int
+ main ()
+--- a/configure 2024-09-17 01:07:22.612760156 -0400
++++ b/configure 2024-09-17 01:07:39.628889934 -0400
+@@ -6818,6 +6818,7 @@
+
+ #include <sane/sane.h>
+ #include <stdio.h>
++#include <stdlib.h>
+
+ int
+ main ()
+--- a/configure.in 2024-09-17 01:18:19.480771874 -0400
++++ b/configure.in 2024-09-17 01:15:08.469314114 -0400
+@@ -75,7 +75,7 @@
+
+ dnl Checks for header files.
+ AC_HEADER_STDC
+-AC_CHECK_HEADERS(os2.h fcntl.h unistd.h libc.h sys/time.h sys/types.h)
++AC_CHECK_HEADERS(os2.h fcntl.h unistd.h libc.h sys/time.h sys/types.h sys/socket.h)
+
+ dnl Checks for typedefs, structures, and compiler characteristics.
+ AC_C_CONST
diff --git a/media-gfx/sane-frontends/sane-frontends-1.0.14-r6.ebuild b/media-gfx/sane-frontends/sane-frontends-1.0.14-r7.ebuild
index 49b45b38c9ab..90e84ef635a9 100644
--- a/media-gfx/sane-frontends/sane-frontends-1.0.14-r6.ebuild
+++ b/media-gfx/sane-frontends/sane-frontends-1.0.14-r7.ebuild
@@ -1,7 +1,9 @@
-# Copyright 1999-2021 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
+
+inherit autotools
DESCRIPTION="Scanner Access Now Easy"
HOMEPAGE="http://www.sane-project.org"
@@ -11,7 +13,6 @@ LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 ~arm64 ppc ppc64 sparc x86"
IUSE="gimp gtk"
-
REQUIRED_USE="gimp? ( gtk )"
DEPEND="
@@ -26,10 +27,22 @@ RDEPEND="${DEPEND}"
DOCS=( AUTHORS Changelog NEWS PROBLEMS README )
-PATCHES=( "${FILESDIR}/MissingCapsFlag.patch" )
+PATCHES=(
+ "${FILESDIR}/MissingCapsFlag.patch"
+ "${FILESDIR}/${PN}-1.0.14-c99.patch"
+)
S="${WORKDIR}"/"${PN}"-upstream-"${PV}"
+src_prepare() {
+ default
+
+ # Needed for C99 patch (acinclude hack to avoid BDEPEND on gtk+, gimp)
+ cat "${FILESDIR}"/gtk-2.0.m4 >> acinclude.m4 || die
+ cat "${FILESDIR}"/gimp-2.0.m4 >> acinclude.m4 || die
+ eautoreconf
+}
+
src_configure() {
local myeconfargs=(
--datadir=/usr/share/misc
diff --git a/media-gfx/scrot/scrot-1.11.1.ebuild b/media-gfx/scrot/scrot-1.11.1.ebuild
index d383d2bfa6bc..e55ad1f179e5 100644
--- a/media-gfx/scrot/scrot-1.11.1.ebuild
+++ b/media-gfx/scrot/scrot-1.11.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ if [[ ${PV} == *9999* ]] ; then
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"
diff --git a/media-gfx/shotwell/shotwell-0.32.10.ebuild b/media-gfx/shotwell/shotwell-0.32.10.ebuild
index 1cbc27d4c8ad..15bd03bcd4cb 100644
--- a/media-gfx/shotwell/shotwell-0.32.10.ebuild
+++ b/media-gfx/shotwell/shotwell-0.32.10.ebuild
@@ -10,7 +10,7 @@ HOMEPAGE="https://gitlab.gnome.org/GNOME/shotwell"
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~sparc x86"
IUSE="opencv udev"
DEPEND="
diff --git a/media-gfx/skanpage/Manifest b/media-gfx/skanpage/Manifest
index dd8217daf22d..2d08caf3e044 100644
--- a/media-gfx/skanpage/Manifest
+++ b/media-gfx/skanpage/Manifest
@@ -1 +1,2 @@
DIST skanpage-24.08.3.tar.xz 1334020 BLAKE2B b2642c74dce6a3d8afdf25eebfcdcdf4059aea3b29ededb069993c0f7f089dc40716cc2567296fa9c815fecb95ab5689a571ab89b8bedd5c0aae5d06431fed31 SHA512 0bdd8d8f94aaabee32d2cd4975e8320d69c25afa1135de3fa672f154f447122ce8747d1a4960b0629bcc6118e078617641a7d0cbbb0c1344fa19733bff18f8ee
+DIST skanpage-24.12.2.tar.xz 1337844 BLAKE2B 0fee1e68f4b0a88f4ca5e657cb8d8436c672eadacaceedf4b87c6981222b1652d99e5d2e93c4d969b352d977d282f3fd2fe4e78763c56fdf9db0a69809b16eea SHA512 e7296a12fde65b853eb5efae2104d54f62bea65145cf047625216226ef0874785b4a76471fcb40451448942b148848ad94224162d3422ba3dbf87a35277f4003
diff --git a/media-gfx/skanpage/skanpage-24.12.2.ebuild b/media-gfx/skanpage/skanpage-24.12.2.ebuild
new file mode 100644
index 000000000000..77a6baa9ab6a
--- /dev/null
+++ b/media-gfx/skanpage/skanpage-24.12.2.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 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.7.0
+QTMIN=6.7.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/symboleditor/Manifest b/media-gfx/symboleditor/Manifest
index f5666a5c1f67..f09efcb11613 100644
--- a/media-gfx/symboleditor/Manifest
+++ b/media-gfx/symboleditor/Manifest
@@ -1 +1 @@
-DIST symboleditor-2.1.0.tar.xz 495416 BLAKE2B 5f5d5a60806ebf0dacce5dcff538ac0f2c4966b2f2bda79450f66515d8572dd61a67db5e4d0f91b548a62c14e4e14aea283b710dc2a7c84770eb35dd22e20699 SHA512 dc83f3f80b12d8217a230d8c951e90bcc6246c4460d987efb140c54c1e88a8f5d607ac7ebfe706399cd0917e22a2089df6742afadd28305d39ceeff0c55da535
+DIST symboleditor-3.0.0_pre20250127-75f3cf6d.tar.gz 763265 BLAKE2B df801afec47e6a55686e74a8e097539baee0957436fc584fdcb8a09433477bd883c34e3399f38b29f62f6c981d9762c000dc51ec78d443ac7bde1ca2033256d6 SHA512 a18553d5bb52837474e6ec6cfb5b927ec30775ae3596dda4fba21898612a86a579707e6cc703828bd2ac8e78780ec297561b3535387f281d76cbc870691b363c
diff --git a/media-gfx/symboleditor/metadata.xml b/media-gfx/symboleditor/metadata.xml
index d925f2439758..fbdee75807fa 100644
--- a/media-gfx/symboleditor/metadata.xml
+++ b/media-gfx/symboleditor/metadata.xml
@@ -6,6 +6,7 @@
<name>Gentoo KDE Project</name>
</maintainer>
<upstream>
- <bugs-to>https://bugs.kde.org/</bugs-to>
+ <bugs-to>https://bugs.kde.org/enter_bug.cgi?product=SymbolEditor</bugs-to>
+ <remote-id type="kde-invent">graphics/symboleditor</remote-id>
</upstream>
</pkgmetadata>
diff --git a/media-gfx/symboleditor/symboleditor-2.1.0.ebuild b/media-gfx/symboleditor/symboleditor-2.1.0.ebuild
deleted file mode 100644
index 26ba51f6d775..000000000000
--- a/media-gfx/symboleditor/symboleditor-2.1.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_HANDBOOK="optional"
-KFMIN=5.60.0
-QTMIN=5.12.3
-inherit ecm kde.org
-
-DESCRIPTION="Application to create libraries of QPainterPath objects with rendering hints"
-HOMEPAGE="https://apps.kde.org/symboleditor/
-https://userbase.kde.org/SymbolEditor"
-
-if [[ ${KDE_BUILD_TYPE} != live ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="5"
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kconfigwidgets-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
-"
-RDEPEND="${DEPEND}"
-BDEPEND="sys-devel/gettext"
-
-src_configure() {
- local mycmakeargs=(
- -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/symboleditor/symboleditor-3.0.0_pre20250127.ebuild b/media-gfx/symboleditor/symboleditor-3.0.0_pre20250127.ebuild
new file mode 100644
index 000000000000..e139d8938f25
--- /dev/null
+++ b/media-gfx/symboleditor/symboleditor-3.0.0_pre20250127.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+KDE_ORG_COMMIT=75f3cf6d57ea972a561c5c42a0e464a6aef90cd4
+ECM_HANDBOOK="optional"
+KFMIN=6.5.0
+QTMIN=6.7.2
+inherit ecm kde.org
+
+DESCRIPTION="Application to create libraries of QPainterPath objects with rendering hints"
+HOMEPAGE="https://apps.kde.org/symboleditor/
+https://userbase.kde.org/SymbolEditor"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ >=dev-qt/qtbase-${QTMIN}:6[gui,widgets]
+ >=kde-frameworks/kconfig-${KFMIN}:6
+ >=kde-frameworks/kconfigwidgets-${KFMIN}:6
+ >=kde-frameworks/kcoreaddons-${KFMIN}:6
+ >=kde-frameworks/ki18n-${KFMIN}:6
+ >=kde-frameworks/kio-${KFMIN}:6
+ >=kde-frameworks/kwidgetsaddons-${KFMIN}:6
+ >=kde-frameworks/kxmlgui-${KFMIN}:6
+"
+RDEPEND="${DEPEND}
+ !${CATEGORY}/${PN}:5
+"
+BDEPEND="sys-devel/gettext"
+
+src_configure() {
+ local mycmakeargs=(
+ -DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON
+ )
+
+ ecm_src_configure
+}
diff --git a/media-gfx/ttfautohint/ttfautohint-1.8.4-r3.ebuild b/media-gfx/ttfautohint/ttfautohint-1.8.4-r3.ebuild
index 899fa682a711..7fa443841d05 100644
--- a/media-gfx/ttfautohint/ttfautohint-1.8.4-r3.ebuild
+++ b/media-gfx/ttfautohint/ttfautohint-1.8.4-r3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,12 +12,12 @@ SRC_URI="https://download.savannah.gnu.org/releases/freetype/${P}.tar.gz"
LICENSE="|| ( FTL GPL-2+ )"
SLOT="0/1.0.3"
KEYWORDS="amd64"
-IUSE="qt5"
+IUSE="gui"
RDEPEND="
media-libs/freetype
media-libs/harfbuzz:=[truetype]
- qt5? (
+ gui? (
dev-qt/qtcore:5
dev-qt/qtgui:5
dev-qt/qtwidgets:5
@@ -46,9 +46,8 @@ src_prepare() {
src_configure() {
local myeconfargs=(
- --disable-static
--without-doc
- --with-qt="$(usex qt5 $(qt5_get_bindir) no)"
+ --with-qt="$(usex gui $(qt5_get_bindir) no)"
)
econf "${myeconfargs[@]}"
@@ -58,7 +57,7 @@ src_install() {
default
doman frontend/ttfautohint.1
- use qt5 && doman frontend/ttfautohintGUI.1
+ use gui && doman frontend/ttfautohintGUI.1
find "${ED}" -name '*.la' -delete || die
}
diff --git a/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild b/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild
index 1be1e1d0fdb1..6b314f03d097 100644
--- a/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild
+++ b/media-gfx/tuxpaint/tuxpaint-0.9.31-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ S="${WORKDIR}"/${P}
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~ppc ~x86"
+KEYWORDS="amd64 ppc ~x86"
RDEPEND="
app-text/libpaper:=
diff --git a/media-gfx/ueberzug/Manifest b/media-gfx/ueberzug/Manifest
index 45d98c701ec3..470b235151aa 100644
--- a/media-gfx/ueberzug/Manifest
+++ b/media-gfx/ueberzug/Manifest
@@ -1,3 +1 @@
-DIST ueberzug-18.2.3.tar.gz 57640 BLAKE2B c174f39cb20a24c07f12088e595492960319a9fd5079e0a23e9632353fa7c93762621224a3fde4b2462931647239e3614ed9a1dffc635fea7a51c58d2b846b68 SHA512 6f8f342b4a593e857f70c053fc5b9e75bc2c3a063221ca64850acb8c325323bee50c9d471fe55de6bbb484d8c958d5bf3037e836b52734d617f1cea4be509a08
-DIST ueberzug-18.3.0.tar.gz 58280 BLAKE2B 2e91f55c39b6e9028ce95274c7e71c054fa623f2b61710a22bebec0b5a56ef719161f924b7af6741abc5c1f40d093daf24dfc562cacc4c2d639d9d0d53ed958c SHA512 ba039a46754a7120d65353c28e540e1f741a2930a7edf2d6f91b2df2d486f54fa44d141f788c17db5c83f876b7ecd1fca6aef56751e0c606fb9348b8c2580b8c
DIST ueberzug-18.3.1.tar.gz 58290 BLAKE2B 879f4dd7898a569cf70200fb683d6220bd410b7738963527030e504c59ef9095a28c4380c695ae8034ac2cd1d841df044ad4cad34f72c3ad24b8ef32c9473f7e SHA512 194f94c69d61163edde4a09b9575efa18d82119636f1b89b062fde207b18c7d0aca3ed144b08194a81417f6fe5ae9069de58b824b31ad1f34ecb80c67b4d1fc1
diff --git a/media-gfx/ueberzug/ueberzug-18.2.3.ebuild b/media-gfx/ueberzug/ueberzug-18.2.3.ebuild
deleted file mode 100644
index 2f812a2152f9..000000000000
--- a/media-gfx/ueberzug/ueberzug-18.2.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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..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
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-COMMON_DEPEND="
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXres
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/docopt[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- !media-gfx/ueberzugpp
-"
-DEPEND="
- ${COMMON_DEPEND}
- x11-base/xorg-proto
-"
-
-python_install() {
- distutils-r1_python_install
-
- # https://github.com/ueber-devel/ueberzug/issues/9
- rm -r -- "${D}$(python_get_sitedir)"/ueberzug/X || die
-}
diff --git a/media-gfx/ueberzug/ueberzug-18.3.0.ebuild b/media-gfx/ueberzug/ueberzug-18.3.0.ebuild
deleted file mode 100644
index 6aba22f549c7..000000000000
--- a/media-gfx/ueberzug/ueberzug-18.3.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-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
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-COMMON_DEPEND="
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXres
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/docopt[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- !media-gfx/ueberzugpp
-"
-DEPEND="
- ${COMMON_DEPEND}
- x11-base/xorg-proto
-"
-
-distutils_enable_tests import-check
diff --git a/media-gfx/valentina/Manifest b/media-gfx/valentina/Manifest
index 6f9b0dbf37b0..7dc50f499cef 100644
--- a/media-gfx/valentina/Manifest
+++ b/media-gfx/valentina/Manifest
@@ -1,3 +1 @@
-DIST valentina-5858.patch.bz2 4507 BLAKE2B 10bf1e48b9c822b5fecd040edea05a9fa16bc84d6d8a872a50329bd6b61ae250b489fbf71b19f0453ab5caea0bd7dc821d8c6fbe0fc24a6306d57ce5b34350f9 SHA512 037d2a5305d85d7d6be90c181ee6c39110a86c5f5d77c22453a2933e7d6a43c600f6ffb393015e98f9aab55b0d11291dca482352e1fc74f485578b65b3b84720
-DIST valentina-v0.6.1.tar.bz2 25575677 BLAKE2B 56d5adc973df319b3a65f877768c2195e1af2db39118e18fb17636e5739610d55e4ade4d4516a6817347dcdb0e4468e4587cff91fc5a5ea74a35029c52bf858c SHA512 52a3a02bd08f85c6241fe29baa9c8a2b80d2e8b071877bc68f98c3ff7bcdf810d9975903f804bf4e120f1a65c06de405fd44bc822292ab7b6191b778ec703542
DIST valentina-v0.7.52.tar.bz2 30819274 BLAKE2B 3b9b2ac2c4083371420dca4911bf5162d9d772ddf0a8b4582dac7ca47e6f027279a99bd3d674a7f0ce15e962cdf1afbdb573f8a14a5f6c02baae1f7a5aae37a1 SHA512 71ff3dc4ccea2ee3df34fda0364b211a80d4f953e6d3b9bf9b40ba1f4d1531e751d077983e8d13acb1f524c9883d2f565289d1b67d5de0a152c9a4df1428d6df
diff --git a/media-gfx/valentina/files/5823.patch b/media-gfx/valentina/files/5823.patch
deleted file mode 100644
index 79df9a74c5a6..000000000000
--- a/media-gfx/valentina/files/5823.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-# HG changeset patch
-# User Roman Telezhynskyi <kroluku@gmail.com>
-# Date 1551441739 -7200
-# Fri Mar 01 14:02:19 2019 +0200
-# Branch release
-# Node ID 82e62ea2d785e093af68089e509b224f3f4f843f
-# Parent 0108ef767e2447e5b5f39378bcf245e25947a25d
-Don't use Qt OpenGL module since Q5.4.
-
-diff -r 0108ef767e24 -r 82e62ea2d785 src/app/valentina/valentina.pro
---- a/src/app/valentina/valentina.pro Sun Feb 24 17:29:12 2019 +0200
-+++ b/src/app/valentina/valentina.pro Fri Mar 01 14:02:19 2019 +0200
-@@ -297,7 +297,6 @@
- $$[QT_INSTALL_BINS]/icuuc*.dll \ # Different name for different Qt releases
- $$[QT_INSTALL_BINS]/Qt5Core.dll \
- $$[QT_INSTALL_BINS]/Qt5Concurrent.dll \
-- $$[QT_INSTALL_BINS]/Qt5OpenGL.dll \
- $$[QT_INSTALL_BINS]/Qt5Gui.dll \
- $$[QT_INSTALL_BINS]/Qt5Network.dll \
- $$[QT_INSTALL_BINS]/Qt5PrintSupport.dll \
-@@ -309,6 +308,11 @@
- $$[QT_INSTALL_BINS]/libstdc++-6.dll \
- $$[QT_INSTALL_BINS]/libwinpthread-1.dll
-
-+ # Don't use Qt OpenGL module since Q5.4
-+ equals(QT_MAJOR_VERSION, 5):lessThan(QT_MINOR_VERSION, 4) {
-+ package.files += $$[QT_INSTALL_BINS]/Qt5OpenGL.dll
-+ }
-+
- # For support Windows 7+
- greaterThan(QT_MAJOR_VERSION, 4):greaterThan(QT_MINOR_VERSION, 6) {
- package.files += $$[QT_INSTALL_BINS]/Qt5WinExtras.dll
-diff -r 0108ef767e24 -r 82e62ea2d785 src/libs/vwidgets/vwidgets.pro
---- a/src/libs/vwidgets/vwidgets.pro Sun Feb 24 17:29:12 2019 +0200
-+++ b/src/libs/vwidgets/vwidgets.pro Fri Mar 01 14:02:19 2019 +0200
-@@ -7,7 +7,12 @@
- # File with common stuff for whole project
- include(../../../common.pri)
-
--QT += widgets printsupport opengl
-+QT += widgets printsupport
-+
-+# Don't use Qt OpenGL module since Q5.4
-+equals(QT_MAJOR_VERSION, 5):lessThan(QT_MINOR_VERSION, 4) {
-+ QT += opengl
-+}
-
- # Name of the library
- TARGET = vwidgets
-
diff --git a/media-gfx/valentina/files/valentina-0.6.1-disable-vcs-version.patch b/media-gfx/valentina/files/valentina-0.6.1-disable-vcs-version.patch
deleted file mode 100644
index 471d7a85313c..000000000000
--- a/media-gfx/valentina/files/valentina-0.6.1-disable-vcs-version.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-diff --git a/common.pri b/common.pri
-index 523aa7c..33be789 100644
---- a/common.pri
-+++ b/common.pri
-@@ -212,37 +212,7 @@ defineReplace(enable_ccache){
- }
-
- defineReplace(FindBuildRevision){
--CONFIG(debug, debug|release){
-- # Debug mode
-- return(\\\"unknown\\\")
--}else{
-- # Release mode
--
-- macx{
-- HG = /usr/local/bin/hg # Can't defeat PATH variable on Mac OS.
-- }else {
-- HG = hg # All other platforms are OK.
-- }
--
-- #build revision number for using in version
-- unix {
-- DVCS_HESH=$$system("$${HG} log -r. --template '{node|short}'")
-- } else {
-- # Use escape character before "|" on Windows
-- DVCS_HESH=$$system($${HG} log -r. --template "{node^|short}")
-- }
-- isEmpty(DVCS_HESH){
-- DVCS_HESH=$$system("git rev-parse --short HEAD")
-- isEmpty(DVCS_HESH){
-- DVCS_HESH = \\\"unknown\\\" # if we can't find build revision left unknown.
-- } else {
-- DVCS_HESH=\\\"Git:$${DVCS_HESH}\\\"
-- }
-- } else {
-- DVCS_HESH=\\\"Hg:$${DVCS_HESH}\\\"
-- }
-- return($${DVCS_HESH})
--}
-+return(\\\"unknown\\\")
- }
-
- # Default prefix. Use for creation install path.
-diff --git a/src/libs/vmisc/vmisc.pro b/src/libs/vmisc/vmisc.pro
-index cf8db51..fff1c0e 100644
---- a/src/libs/vmisc/vmisc.pro
-+++ b/src/libs/vmisc/vmisc.pro
-@@ -98,10 +98,7 @@ CONFIG(debug, debug|release){
- HG = hg # All other platforms all OK.
- }
- #latest tag distance number for using in version
-- HG_DISTANCE=$$system($${HG} log -r. --template '{latesttagdistance}')
-- isEmpty(HG_DISTANCE){
-- HG_DISTANCE = 0 # if we can't find local revision left 0.
-- }
-+ HG_DISTANCE = 0 # if we can't find local revision left 0.
- message("Latest tag distance:" $${HG_DISTANCE})
- DEFINES += "LATEST_TAG_DISTANCE=$${HG_DISTANCE}" # Make available latest tag distance number in sources.
- }
-diff --git a/src/libs/vtest/vtest.pro b/src/libs/vtest/vtest.pro
-index a336d48..c943fc5 100644
---- a/src/libs/vtest/vtest.pro
-+++ b/src/libs/vtest/vtest.pro
-@@ -92,10 +92,7 @@ CONFIG(debug, debug|release){
- HG = hg # All other platforms all OK.
- }
- #latest tag distance number for using in version
-- HG_DISTANCE=$$system($${HG} log -r. --template '{latesttagdistance}')
-- isEmpty(HG_DISTANCE){
-- HG_DISTANCE = 0 # if we can't find local revision left 0.
-- }
-+ HG_DISTANCE = 0 # if we can't find local revision left 0.
- message("Latest tag distance:" $${HG_DISTANCE})
- DEFINES += "LATEST_TAG_DISTANCE=$${HG_DISTANCE}" # Make available latest tag distance number in sources.
- }
diff --git a/media-gfx/valentina/valentina-0.6.1-r1.ebuild b/media-gfx/valentina/valentina-0.6.1-r1.ebuild
deleted file mode 100644
index 573945103dcb..000000000000
--- a/media-gfx/valentina/valentina-0.6.1-r1.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit qmake-utils xdg
-
-DESCRIPTION="Cloth patternmaking software"
-HOMEPAGE="https://smart-pattern.com.ua/"
-SRC_URI="https://gitlab.com/smart-pattern/${PN}/-/archive/v${PV}/${PN}-v${PV}.tar.bz2
- https://dev.gentoo.org/~fordfrog/distfiles/valentina-5858.patch.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-LANGS="cs de el en en es fi fr he id it nl pt-BR ro ru uk zh-CN"
-
-for LANG in ${LANGS}; do
- IUSE="${IUSE} l10n_${LANG}"
-done
-
-RDEPEND="
- app-text/poppler
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtnetwork:5[ssl]
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5"
-DEPEND="
- ${RDEPEND}
- dev-qt/qttest:5
-"
-BDEPEND="
- dev-qt/linguist-tools:5
-"
-
-S=${WORKDIR}/${PN}-v${PV}
-
-PATCHES=(
- "${FILESDIR}/5823.patch"
- "${FILESDIR}/${P}-disable-vcs-version.patch"
- "${WORKDIR}/valentina-5858.patch"
-)
-
-src_configure() {
- local locales=""
- local locale
-
- for LANG in ${LANGS}; do
- if use l10n_${LANG}; then
- case ${LANG} in
- "cs")
- locale="cs_CZ"
- ;;
- "de")
- locale="de_DE"
- ;;
- "el")
- locale="el_GR"
- ;;
- "en")
- locale="en_CA en_IN en_US"
- ;;
- "es")
- locale="es_ES"
- ;;
- "fi")
- locale="fi_FI"
- ;;
- "fr")
- locale="fr_FR"
- ;;
- "he")
- locale="he_IL"
- ;;
- "id")
- locale="id_ID"
- ;;
- "it")
- locale="it_IT"
- ;;
- "nl")
- locale="nl_NL"
- ;;
- "pt-BR")
- locale="pt_BR"
- ;;
- "ro")
- locale="ro_RO"
- ;;
- "ru")
- locale="ru_RU"
- ;;
- "uk")
- locale="uk_UA"
- ;;
- "zh-CN")
- locale="zh_CN"
- ;;
- esac
-
- locales="${locales} ${locale}"
- fi
- done
-
- eqmake5 LOCALES="${locales}" "CONFIG+=noDebugSymbols no_ccache noRunPath noTests noWindowsInstaller" Valentina.pro -r
-}
-
-src_install() {
- emake install INSTALL_ROOT="${D}"
-
- dodoc AUTHORS.txt ChangeLog.txt README.txt
-
- doman dist/debian/${PN}.1
- doman dist/debian/tape.1
-
- cp dist/debian/valentina.sharedmimeinfo dist/debian/${PN}.xml || die
- insinto /usr/share/mime/packages
- doins dist/debian/${PN}.xml
-}
diff --git a/media-gfx/wings/Manifest b/media-gfx/wings/Manifest
index a06c09c103b1..64654863a969 100644
--- a/media-gfx/wings/Manifest
+++ b/media-gfx/wings/Manifest
@@ -1,2 +1,3 @@
DIST wings-2.2.6.1.tar.bz2 3266532 BLAKE2B a3ec86925632df7d231d620a47841781f8b2e66a50d13857c57fa6389890e7a03fed8bf5e0d09b03de00d6360ee0e4129a4178aec34270367879890f9430c208 SHA512 dba4b189c80180533b7a6c10be5c236a4a9fdacaa7dc491a0d1892149f7a75e636778acc11e38ef82a06718ae705e640da2e1618ec655828d2056e6b3864aba4
DIST wings-2.3.tar.bz2 3561319 BLAKE2B 0f3dce900dcae74516b57555f188aa578a5ea138d0e55e2b15ba946581652e470f5f596bd7e7661394674d437c8cbbe395bbf2e769af2a77d6940fddab1c86df SHA512 b5b054d974af2443cbe7d46a32cb8dfb7641054fa68aea9245e3d3100b21d223f443171572c3f371f25d937dca8cdb11870c61ba21e28632afef7886b4b2487b
+DIST wings-2.4.tar.bz2 3420165 BLAKE2B d60220413f679af70d8300a6b1925ec15eee206756229ef6cd72eb3063ab04286bc2c64d140ace474c2de654b287e5ea5da51691b4b16097495d3ad563677072 SHA512 1873e57002eb83b404427ab36abf91c8182e4f0141b4792f86613fe5d33e8fb74978a3ed9eddfa78c1b21e86d256e542127956068e9bd596f7582d929518d8a4
diff --git a/media-gfx/wings/wings-2.4.ebuild b/media-gfx/wings/wings-2.4.ebuild
new file mode 100644
index 000000000000..192b98a8625e
--- /dev/null
+++ b/media-gfx/wings/wings-2.4.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit toolchain-funcs
+
+DESCRIPTION="Wings 3D is an advanced subdivision modeler"
+HOMEPAGE="https://www.wings3d.com/"
+SRC_URI="https://downloads.sourceforge.net/wings/${P}.tar.bz2"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >dev-lang/erlang-21[wxwidgets]
+ dev-libs/cl
+ media-libs/glu
+ media-libs/libsdl[opengl]
+ virtual/opengl
+ dev-cpp/eigen
+ sci-libs/libigl
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.3-nogit.patch )
+
+src_prepare() {
+ sed -i -e 's# -Werror##g;s# -O3##g' $(find -name Makefile) || die
+ sed -i \
+ -e "s|IGL_INCLUDE = .*$|IGL_INCLUDE=-I/usr/include/eigen3|" \
+ c_src/Makefile \
+ || die
+ default
+}
+
+src_compile() {
+ export ERL_PATH="/usr/$(get_libdir)/erlang/lib/"
+ tc-export CC
+ # Work around parallel make issues
+ # Set ER_LIBS to the top source directory
+ emake vsn.mk
+ for subdir in intl_tools e3d src plugins_src icons; do
+ emake -C ${subdir} opt ERL_LIBS="${S}"
+ done
+ default
+}
+
+src_install() {
+ WINGS_PATH=${ERL_PATH}/${P}
+ dodir ${WINGS_PATH}
+
+ find -name 'Makefile*' -exec rm -f '{}' \;
+
+ insinto ${WINGS_PATH}
+ doins -r e3d ebin icons plugins priv psd shaders src textures tools
+
+ newbin "${FILESDIR}"/wings.sh-r1 wings
+ dodoc AUTHORS
+}
diff --git a/media-gfx/xloadimage/files/xloadimage-4.1-fix-incomp-function-pointer-musl.patch b/media-gfx/xloadimage/files/xloadimage-4.1-fix-incomp-function-pointer-musl.patch
new file mode 100644
index 000000000000..ab76b835c899
--- /dev/null
+++ b/media-gfx/xloadimage/files/xloadimage-4.1-fix-incomp-function-pointer-musl.patch
@@ -0,0 +1,14 @@
+__signalhandler_t isn't defined on musl, one needs to drill down to bare type definition
+so code builds both on glibc and musl systems
+https://bugs.gentoo.org/924114
+--- a/window.c
++++ b/window.c
+@@ -833,7 +833,7 @@ char imageInWindow (Display *disp, int scrn, Image *image, OptionSet *global_opt
+ /* reset alarm to -delay seconds after every event */
+ #ifdef ENABLE_TIMEOUT
+ AlarmWentOff = 0;
+- signal(SIGALRM, delayAlarmHandler);
++ signal(SIGALRM, (void (*)(int))delayAlarmHandler);
+ alarm(delay);
+ #endif /* ENABLE_TIMEOUT */
+ }
diff --git a/media-gfx/xloadimage/xloadimage-4.1-r17.ebuild b/media-gfx/xloadimage/xloadimage-4.1-r17.ebuild
index 2fb51b27538d..13cc65fc73aa 100644
--- a/media-gfx/xloadimage/xloadimage-4.1-r17.ebuild
+++ b/media-gfx/xloadimage/xloadimage-4.1-r17.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,7 +16,7 @@ S="${WORKDIR}"/${P/-/.}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="tiff jpeg png"
RDEPEND="x11-libs/libX11
diff --git a/media-gfx/xloadimage/xloadimage-4.1-r18.ebuild b/media-gfx/xloadimage/xloadimage-4.1-r18.ebuild
new file mode 100644
index 000000000000..848cd70d77c4
--- /dev/null
+++ b/media-gfx/xloadimage/xloadimage-4.1-r18.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Utility to view many different types of images under X11"
+HOMEPAGE="https://sioseis.ucsd.edu/xloadimage.html https://tracker.debian.org/pkg/xloadimage"
+SRC_URI="
+ ftp://ftp.x.org/R5contrib/${P/-/.}.tar.gz
+ mirror://gentoo/${P}-gentoo-r1.diff.bz2
+ https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-fix-build-for-clang16.patch.xz
+"
+S="${WORKDIR}"/${P/-/.}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~hppa ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="tiff jpeg png"
+
+RDEPEND="x11-libs/libX11
+ tiff? ( media-libs/tiff:= )
+ png? ( media-libs/libpng:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ !media-gfx/xli"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+
+PATCHES=(
+ "${WORKDIR}"/${P}-gentoo-r1.diff
+ "${FILESDIR}"/${P}-zio-shell-meta-char.diff
+ "${FILESDIR}"/${P}-endif.patch
+ # Do not define errno extern, but rather include errno.h
+ # <azarah@gentoo.org> (1 Jan 2003)
+ "${FILESDIR}"/${P}-include-errno_h.patch
+ "${FILESDIR}"/xloadimage-gentoo.patch
+ "${FILESDIR}"/${P}-unaligned-access.patch
+ "${FILESDIR}"/${P}-ldflags_and_exit.patch
+ "${FILESDIR}"/${P}-libpng15.patch
+ "${WORKDIR}"/${P}-fix-build-for-clang16.patch
+ # One of the previous patches screws up a bracket...
+ "${FILESDIR}"/${P}-bracket.patch
+ "${FILESDIR}"/${P}-fix-incomp-function-pointer-musl.patch
+ "${FILESDIR}"/${P}-c99.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i -e "s|OPT_FLAGS=|OPT_FLAGS=$CFLAGS|" Make.conf || die
+ sed -i -e "s:^#include <varargs.h>:#include <stdarg.h>:" rlelib.c || die
+ # qa-sed sees no-op on the next sed on non-gentoo-prefix systems,
+ # but that is alright
+ sed -i -e "/^DEFS = /s:/etc:${EPREFIX}/etc:" Makefile.in || die
+ sed -i \
+ -e 's:png_set_gray_1_2_4_to_8:png_set_expand_gray_1_2_4_to_8:' \
+ png.c || die
+
+ eautoreconf
+}
+
+src_configure() {
+ append-cflags -std=gnu17
+
+ # Set TIFFHeader to TIFFHeaderCommon wrt #319383
+ has_version '>=media-libs/tiff-4.0.0_pre' && \
+ append-flags -DTIFFHeader=TIFFHeaderCommon
+
+ tc-export CC
+ econf $(use_with jpeg) \
+ $(use_with png) \
+ $(use_with tiff)
+}
+
+src_compile() {
+ emake SYSPATHFILE="${EPREFIX}"/etc/X11/Xloadimage
+}
+
+src_install() {
+ dobin xloadimage uufilter
+
+ dosym xloadimage /usr/bin/xsetbg
+ dosym xloadimage /usr/bin/xview
+
+ insinto /etc/X11
+ doins xloadimagerc
+
+ newman xloadimage.man xloadimage.1
+ newman uufilter.man uufilter.1
+
+ echo ".so man1/xloadimage.1" > "${T}"/xsetbg.1 || die
+ doman "${T}"/xsetbg.1
+ newman "${T}"/xsetbg.1 xview.1
+
+ dodoc README
+}
diff --git a/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild b/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild
deleted file mode 100644
index 0a239d8a1b67..000000000000
--- a/media-gfx/xpaint/xpaint-3.1.4-r4.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit autotools desktop toolchain-funcs xdg
-
-DESCRIPTION="Image editor with tiff, jpeg and png support"
-HOMEPAGE="https://sf-xpaint.sourceforge.net/"
-SRC_URI="https://downloads.sourceforge.net/sf-xpaint/${P}.tar.bz2"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="pgf tiff"
-# jpeg2k disabled for blocking media-libs/openjpeg:0 security cleanup, bug 735592
-
-RDEPEND="
- media-libs/fontconfig
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/netpbm
- x11-libs/libX11
- >=x11-libs/libXaw3dXft-1.6.2h[unicode(+)]
- x11-libs/libXext
- x11-libs/libXft
- x11-libs/libXmu
- x11-libs/libXpm
- x11-libs/libXt
- pgf? ( media-libs/libpgf )
- tiff? ( media-libs/tiff:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- app-alternatives/yacc
- app-alternatives/lex
- virtual/pkgconfig
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.1.3-libtool-clang.patch
- "${FILESDIR}"/${PN}-3.1.3-gentoo-qa.patch
- "${FILESDIR}"/${PN}-3.1.3-gentoo-prefix.patch
- "${FILESDIR}"/${P}-gentoo-shared-lib.patch
- "${FILESDIR}"/${P}-gentoo-lto.patch
-)
-
-src_prepare() {
- default
- eautoreconf
-}
-
-src_configure() {
- econf \
- $(use_enable tiff) \
- --disable-libdvipgm \
- --disable-libopenjpeg
-}
-
-src_compile() {
- # clean up
- emake clean
- emake -C util clean
-
- # parallel make still fails sometimes
- emake substads
- emake xpaint.1
-
- default
- emake \
- WITH_PGF="$(usex pgf "yes" "no")" \
- CC="$(tc-getCC)" \
- CXX="$(tc-getCXX)" \
- includedir="${EPREFIX}"/usr/include \
- -C util
-}
-
-src_install() {
- default
- emake \
- WITH_PGF="$(usex pgf "yes" "no")" \
- DESTDIR="${ED}" \
- -C util install
- doicon icons/xpaint.svg
- make_desktop_entry "${PN}"
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/media-gfx/xpaint/xpaint-3.1.4-r5.ebuild b/media-gfx/xpaint/xpaint-3.1.4-r5.ebuild
index 063cff5eb62b..ab6575b0483c 100644
--- a/media-gfx/xpaint/xpaint-3.1.4-r5.ebuild
+++ b/media-gfx/xpaint/xpaint-3.1.4-r5.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/sf-xpaint/${P}.tar.bz2"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 x86"
IUSE="pgf tiff"
# jpeg2k disabled for blocking media-libs/openjpeg:0 security cleanup, bug 735592
diff --git a/media-gfx/xv/xv-6.0.1.ebuild b/media-gfx/xv/xv-6.0.1.ebuild
index 5ab40bbd1218..765763141e26 100644
--- a/media-gfx/xv/xv-6.0.1.ebuild
+++ b/media-gfx/xv/xv-6.0.1.ebuild
@@ -9,7 +9,7 @@ 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"
+ https://dev.gentoo.org/~bkohler/dist/xv-3.10a.png.bz2"
LICENSE="xv"
SLOT="0"
diff --git a/media-gfx/xv/xv-6.0.2.ebuild b/media-gfx/xv/xv-6.0.2.ebuild
index 485e5e12aeb0..c738fa3ebbbd 100644
--- a/media-gfx/xv/xv-6.0.2.ebuild
+++ b/media-gfx/xv/xv-6.0.2.ebuild
@@ -9,7 +9,7 @@ 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"
+ https://dev.gentoo.org/~bkohler/dist/xv-3.10a.png.bz2"
LICENSE="xv"
SLOT="0"