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.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.89.ebuild2
-rw-r--r--media-gfx/asymptote/asymptote-2.90.ebuild4
-rw-r--r--media-gfx/asymptote/asymptote-2.92.ebuild2
-rw-r--r--media-gfx/asymptote/asymptote-2.95.ebuild242
-rw-r--r--media-gfx/blender/Manifest7
-rw-r--r--media-gfx/blender/blender-3.3.15.ebuild432
-rw-r--r--media-gfx/blender/blender-3.3.21.ebuild432
-rw-r--r--media-gfx/blender/blender-3.6.15.ebuild2
-rw-r--r--media-gfx/blender/blender-3.6.18.ebuild (renamed from media-gfx/blender/blender-3.3.8.ebuild)83
-rw-r--r--media-gfx/blender/blender-4.2.1.ebuild2
-rw-r--r--media-gfx/blender/blender-4.2.4.ebuild (renamed from media-gfx/blender/blender-4.0.2-r1.ebuild)124
-rw-r--r--media-gfx/blender/blender-4.3.2.ebuild614
-rw-r--r--media-gfx/blender/blender-9999.ebuild36
-rw-r--r--media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch108
-rw-r--r--media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch23
-rw-r--r--media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch177
-rw-r--r--media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch17
-rw-r--r--media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch12
-rw-r--r--media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch39
-rw-r--r--media-gfx/blender/files/blender-4.0.1-openvdb-11.patch75
-rw-r--r--media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch342
-rw-r--r--media-gfx/blender/metadata.xml7
-rw-r--r--media-gfx/chafa/chafa-1.12.5-r1.ebuild12
-rw-r--r--media-gfx/chafa/chafa-1.14.1.ebuild14
-rw-r--r--media-gfx/clockphoto/clockphoto-1.2-r1.ebuild30
-rw-r--r--media-gfx/converseen/Manifest2
-rw-r--r--media-gfx/converseen/converseen-0.12.2.4.ebuild (renamed from media-gfx/converseen/converseen-0.9.11.1.ebuild)25
-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/curtail/Manifest3
-rw-r--r--media-gfx/curtail/curtail-1.10.0.ebuild71
-rw-r--r--media-gfx/curtail/curtail-1.11.1.ebuild2
-rw-r--r--media-gfx/curtail/curtail-1.12.0.ebuild (renamed from media-gfx/curtail/curtail-1.11.0.ebuild)2
-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)7
-rw-r--r--media-gfx/darktable/darktable-5.0.0-r1.ebuild (renamed from media-gfx/darktable/darktable-4.6.1.ebuild)31
-rw-r--r--media-gfx/darktable/files/darktable-4.4.2_fix-has-attribute-musl.patch11
-rw-r--r--media-gfx/digikam/Manifest3
-rw-r--r--media-gfx/digikam/digikam-8.5.0-r1.ebuild (renamed from media-gfx/digikam/digikam-8.4.0-r11.ebuild)14
-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/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/eom/eom-1.28.0-r2.ebuild2
-rw-r--r--media-gfx/exact-image/exact-image-1.2.1-r2.ebuild2
-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/Manifest7
-rw-r--r--media-gfx/fotema/fotema-1.14.4-r1.ebuild (renamed from media-gfx/fotema/fotema-1.14.2-r1.ebuild)0
-rw-r--r--media-gfx/fotema/fotema-1.18.3.ebuild (renamed from media-gfx/fotema/fotema-1.14.4.ebuild)44
-rw-r--r--media-gfx/fotema/fotema-1.19.0.ebuild (renamed from media-gfx/fotema/fotema-1.14.3.ebuild)44
-rw-r--r--media-gfx/fotocx/Manifest2
-rw-r--r--media-gfx/fotocx/fotocx-24.70.ebuild79
-rw-r--r--media-gfx/fotocx/fotocx-25.0.ebuild79
-rw-r--r--media-gfx/freecad/Manifest4
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch22
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch22
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch25
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch29
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch186
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch148
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch8
-rw-r--r--media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch33
-rw-r--r--media-gfx/freecad/files/freecad-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch (renamed from media-gfx/freecad/files/freecad-0.21.1-Gentoo-specific-don-t-check-vcs.patch)27
-rw-r--r--media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch9
-rw-r--r--media-gfx/freecad/freecad-0.21.2-r3.ebuild398
-rw-r--r--media-gfx/freecad/freecad-1.0.0-r2.ebuild303
-rw-r--r--media-gfx/freecad/freecad-1.0.0-r3.ebuild305
-rw-r--r--media-gfx/freecad/freecad-1.0_rc1-r1.ebuild394
-rw-r--r--media-gfx/freecad/freecad-1.0_rc2.ebuild394
-rw-r--r--media-gfx/freecad/freecad-9999.ebuild277
-rw-r--r--media-gfx/freecad/metadata.xml42
-rw-r--r--media-gfx/geeqie/geeqie-2.5.ebuild4
-rw-r--r--media-gfx/gifsicle/gifsicle-1.95.ebuild2
-rw-r--r--media-gfx/gimp/Manifest5
-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.ebuild2
-rw-r--r--media-gfx/gimp/gimp-3.0.0_rc1.ebuild (renamed from media-gfx/gimp/gimp-2.99.18-r1.ebuild)75
-rw-r--r--media-gfx/gimp/gimp-3.0.0_rc2.ebuild260
-rw-r--r--media-gfx/gimp/gimp-9999.ebuild38
-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/Manifest3
-rw-r--r--media-gfx/graphviz/graphviz-12.0.0-r100.ebuild2
-rw-r--r--media-gfx/graphviz/graphviz-12.2.0.ebuild (renamed from media-gfx/graphviz/graphviz-12.0.0.ebuild)19
-rw-r--r--media-gfx/graphviz/graphviz-12.2.1-r1.ebuild (renamed from media-gfx/graphviz/graphviz-11.0.0.ebuild)38
-rw-r--r--media-gfx/hugin/Manifest3
-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.ebuild (renamed from media-gfx/hugin/hugin-2024.0_rc1.ebuild)4
-rw-r--r--media-gfx/hydrus/hydrus-565-r1.ebuild7
-rw-r--r--media-gfx/hydrus/hydrus-571.ebuild7
-rw-r--r--media-gfx/hydrus/hydrus-9999.ebuild9
-rw-r--r--media-gfx/igal/igal-3.2.ebuild2
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.13.16-r1.ebuild34
-rw-r--r--media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild34
-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.ebuild36
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.38-r2.ebuild36
-rw-r--r--media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild36
-rw-r--r--media-gfx/imagemagick/imagemagick-9999.ebuild36
-rw-r--r--media-gfx/img2pdf/img2pdf-0.5.1.ebuild2
-rw-r--r--media-gfx/inkscape/Manifest2
-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.10-fix-backport.patch432
-rw-r--r--media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch59
-rw-r--r--media-gfx/inkscape/files/inkscape-1.4-poppler-24.12.0.patch53
-rw-r--r--media-gfx/inkscape/inkscape-1.3.2-r2.ebuild213
-rw-r--r--media-gfx/inkscape/inkscape-1.4-r1.ebuild (renamed from media-gfx/inkscape/inkscape-1.4.ebuild)11
-rw-r--r--media-gfx/inkscape/inkscape-1.4_beta3.ebuild200
-rw-r--r--media-gfx/inkscape/inkscape-9999.ebuild4
-rw-r--r--media-gfx/jp2a/jp2a-1.2.0.ebuild2
-rw-r--r--media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild2
-rw-r--r--media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild6
-rw-r--r--media-gfx/kgeotag/Manifest1
-rw-r--r--media-gfx/kgeotag/kgeotag-1.7.0.ebuild37
-rw-r--r--media-gfx/kgraphviewer/Manifest4
-rw-r--r--media-gfx/kgraphviewer/kgraphviewer-24.08.3.ebuild (renamed from media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild)0
-rw-r--r--media-gfx/kgraphviewer/kgraphviewer-24.12.1.ebuild (renamed from media-gfx/kgraphviewer/kgraphviewer-24.08.2.ebuild)6
-rw-r--r--media-gfx/kio-blender-thumbnailer/Manifest5
-rw-r--r--media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild36
-rw-r--r--media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.3.ebuild (renamed from media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.1.ebuild)0
-rw-r--r--media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.12.1.ebuild (renamed from media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.2.ebuild)6
-rw-r--r--media-gfx/kio-mobi-thumbnailer/Manifest5
-rw-r--r--media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild42
-rw-r--r--media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.3.ebuild (renamed from media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.1.ebuild)0
-rw-r--r--media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.12.1.ebuild (renamed from media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.2.ebuild)6
-rw-r--r--media-gfx/kio-ps-thumbnailer/Manifest5
-rw-r--r--media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild43
-rw-r--r--media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.3.ebuild (renamed from media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.1.ebuild)0
-rw-r--r--media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.12.1.ebuild (renamed from media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.2.ebuild)6
-rw-r--r--media-gfx/kio-raw-thumbnailer/Manifest5
-rw-r--r--media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild43
-rw-r--r--media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.3.ebuild (renamed from media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.1.ebuild)0
-rw-r--r--media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.12.1.ebuild (renamed from media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.2.ebuild)6
-rw-r--r--media-gfx/kphotoalbum/Manifest2
-rw-r--r--media-gfx/kphotoalbum/kphotoalbum-5.12.0.ebuild70
-rw-r--r--media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild2
-rw-r--r--media-gfx/kphotoalbum/kphotoalbum-6.0.1.ebuild66
-rw-r--r--media-gfx/krita/Manifest3
-rw-r--r--media-gfx/krita/files/krita-4.3.1-tests-optional.patch80
-rw-r--r--media-gfx/krita/files/krita-5.1.5-libjxl-0.9.patch73
-rw-r--r--media-gfx/krita/files/krita-5.1.5-lto.patch58
-rw-r--r--media-gfx/krita/files/krita-5.1.5-ocio-2.3.0.patch37
-rw-r--r--media-gfx/krita/files/krita-5.2.3-znver4-xsimd.patch38
-rw-r--r--media-gfx/krita/files/krita-5.2.6-py3.13.patch120
-rw-r--r--media-gfx/krita/krita-5.1.5.ebuild128
-rw-r--r--media-gfx/krita/krita-5.2.3.ebuild135
-rw-r--r--media-gfx/krita/krita-5.2.6.ebuild15
-rw-r--r--media-gfx/krita/metadata.xml1
-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/libbgcode/Manifest2
-rw-r--r--media-gfx/libbgcode/libbgcode-0.0.20241024.ebuild (renamed from media-gfx/libbgcode/libbgcode-0.0.20240903.ebuild)2
-rw-r--r--media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild (renamed from media-gfx/libimagequant/libimagequant-4.2.2.ebuild)1
-rw-r--r--media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild (renamed from media-gfx/libimagequant/libimagequant-4.3.0.ebuild)1
-rw-r--r--media-gfx/librecad/Manifest4
-rw-r--r--media-gfx/librecad/files/librecad-2.1.3-boost-1.76.patch29
-rw-r--r--media-gfx/librecad/files/librecad-2.1.3-gcc-9.patch209
-rw-r--r--media-gfx/librecad/files/librecad-2.1.3-qt-5.11.patch40
-rw-r--r--media-gfx/librecad/files/librecad-2.1.3-qt-5.15.patch37
-rw-r--r--media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch29
-rw-r--r--media-gfx/librecad/librecad-2.1.3-r7.ebuild99
-rw-r--r--media-gfx/librecad/librecad-2.2.1.ebuild (renamed from media-gfx/librecad/librecad-2.2.0.ebuild)10
-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/libredwg/metadata.xml4
-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-r1.ebuild2
-rw-r--r--media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild98
-rw-r--r--media-gfx/lximage-qt/Manifest2
-rw-r--r--media-gfx/lximage-qt/lximage-qt-1.4.0.ebuild54
-rw-r--r--media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild38
-rw-r--r--media-gfx/maim/files/maim-5.8.0-icu-75.patch11
-rw-r--r--media-gfx/maim/maim-5.8.0.ebuild3
-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/mscgen/mscgen-0.20.ebuild2
-rw-r--r--media-gfx/mypaint/mypaint-2.0.1-r3.ebuild4
-rw-r--r--media-gfx/netgen/Manifest1
-rw-r--r--media-gfx/netgen/files/netgen-6.2.2302-opencascade-7.8.0.patch147
-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/netgen-6.2.2302.ebuild1
-rw-r--r--media-gfx/netgen/netgen-6.2.2406.ebuild184
-rw-r--r--media-gfx/nomacs/Manifest4
-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/metadata.xml2
-rw-r--r--media-gfx/nomacs/nomacs-3.19.1-r1.ebuild (renamed from media-gfx/nomacs/nomacs-3.16.224-r6.ebuild)51
-rw-r--r--media-gfx/opencsg/opencsg-1.6.0-r1.ebuild2
-rw-r--r--media-gfx/opencsg/opencsg-1.6.0.ebuild4
-rw-r--r--media-gfx/openscad/Manifest6
-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/metadata.xml7
-rw-r--r--media-gfx/openscad/openscad-2021.01-r5.ebuild118
-rw-r--r--media-gfx/openscad/openscad-2024.11.14_pre.ebuild240
-rw-r--r--media-gfx/openscad/openscad-2024.12.30_pre.ebuild275
-rw-r--r--media-gfx/openscad/openscad-9999.ebuild250
-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/oxipng/Manifest1
-rw-r--r--media-gfx/oxipng/files/libdeflater-1.20.0-relax-libdeflate-sys-version.patch13
-rw-r--r--media-gfx/oxipng/files/oxipng-9.1.2-use-system-libdeflate.patch38
-rw-r--r--media-gfx/oxipng/oxipng-8.0.0-r1.ebuild117
-rw-r--r--media-gfx/oxipng/oxipng-8.0.0.ebuild118
-rw-r--r--media-gfx/oxipng/oxipng-9.0.0-r1.ebuild (renamed from media-gfx/oxipng/oxipng-9.0.0.ebuild)2
-rw-r--r--media-gfx/oxipng/oxipng-9.1.2-r1.ebuild (renamed from media-gfx/oxipng/oxipng-9.1.2.ebuild)4
-rw-r--r--media-gfx/oxipng/oxipng-9.1.2-r2.ebuild154
-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/Manifest1
-rw-r--r--media-gfx/photoqt/metadata.xml3
-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/pinta/Manifest1
-rw-r--r--media-gfx/pinta/pinta-2.1.1-r1.ebuild136
-rw-r--r--media-gfx/plantuml/Manifest3
-rw-r--r--media-gfx/plantuml/plantuml-1.2024.8.ebuild (renamed from media-gfx/plantuml/plantuml-1.2024.7.ebuild)0
-rw-r--r--media-gfx/plantuml/plantuml-1.2025.0.ebuild50
-rw-r--r--media-gfx/potrace/potrace-1.16.ebuild39
-rw-r--r--media-gfx/prusaslicer/Manifest2
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.7.2-opencascade-7.8.0.patch16
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.0-cgal-6.0.patch189
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.0-fixed-linking.patch19
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.1-boost-1.87.patch374
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.1-fix-libsoup-double-linking.patch11
-rw-r--r--media-gfx/prusaslicer/files/prusaslicer-2.8.1-fixed-linking.patch25
-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.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.8.1.ebuild)7
-rw-r--r--media-gfx/prusaslicer/prusaslicer-2.9.0.ebuild (renamed from media-gfx/prusaslicer/prusaslicer-2.8.0-r1.ebuild)19
-rw-r--r--media-gfx/prusaslicer/prusaslicer-9999.ebuild12
-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/rawtherapee/rawtherapee-5.11-r2.ebuild (renamed from media-gfx/rawtherapee/rawtherapee-5.11-r1.ebuild)5
-rw-r--r--media-gfx/rawtherapee/rawtherapee-5.11.ebuild80
-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/renderdoc/renderdoc-1.32.ebuild2
-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/Manifest1
-rw-r--r--media-gfx/sane-backends/sane-backends-1.3.1-r1.ebuild361
-rw-r--r--media-gfx/shotwell/Manifest2
-rw-r--r--media-gfx/shotwell/shotwell-0.32.10.ebuild (renamed from media-gfx/shotwell/shotwell-0.32.7.ebuild)4
-rw-r--r--media-gfx/skanpage/Manifest4
-rw-r--r--media-gfx/skanpage/skanpage-24.08.3.ebuild (renamed from media-gfx/skanpage/skanpage-24.08.1.ebuild)0
-rw-r--r--media-gfx/skanpage/skanpage-24.12.1.ebuild (renamed from media-gfx/skanpage/skanpage-24.08.2.ebuild)4
-rw-r--r--media-gfx/solvespace/metadata.xml3
-rw-r--r--media-gfx/solvespace/solvespace-3.1-r1.ebuild6
-rw-r--r--media-gfx/tif22pnm/tif22pnm-0.14-r1.ebuild11
-rw-r--r--media-gfx/tintii/tintii-2.10.0-r2.ebuild6
-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.3.1.ebuild (renamed from media-gfx/ueberzug/ueberzug-18.2.3.ebuild)9
-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/valentina/valentina-0.7.52.ebuild6
-rw-r--r--media-gfx/valentina/valentina-9999.ebuild4
-rw-r--r--media-gfx/wings/Manifest1
-rw-r--r--media-gfx/wings/wings-2.2.6.1.ebuild2
-rw-r--r--media-gfx/wings/wings-2.3.ebuild2
-rw-r--r--media-gfx/wings/wings-2.4.ebuild62
-rw-r--r--media-gfx/xloadimage/files/xloadimage-4.1-c99.patch15
-rw-r--r--media-gfx/xloadimage/xloadimage-4.1-r16.ebuild4
-rw-r--r--media-gfx/xloadimage/xloadimage-4.1-r17.ebuild97
-rw-r--r--media-gfx/xpaint/files/xpaint-3.1.4-gentoo-gcc-15.patch24
-rw-r--r--media-gfx/xpaint/xpaint-3.1.4-r5.ebuild (renamed from media-gfx/xpaint/xpaint-3.1.4-r4.ebuild)1
-rw-r--r--media-gfx/xv/xv-6.0.1.ebuild2
-rw-r--r--media-gfx/xv/xv-6.0.2.ebuild2
318 files changed, 6901 insertions, 10269 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.ebuild b/media-gfx/alembic/alembic-1.8.8.ebuild
index de6bc765bcef..0a9d7c9073bc 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_{10..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.89.ebuild b/media-gfx/asymptote/asymptote-2.89.ebuild
index 8d3f1ada6331..cd7a9a255ce7 100644
--- a/media-gfx/asymptote/asymptote-2.89.ebuild
+++ b/media-gfx/asymptote/asymptote-2.89.ebuild
@@ -43,7 +43,7 @@ RDEPEND="
)
X? (
${PYTHON_DEPS}
- dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets,svg]
+ dev-python/pyqt5[${PYTHON_USEDEP},gui,widgets,svg]
dev-python/cson
dev-python/numpy
>=gnome-base/librsvg-2.40
diff --git a/media-gfx/asymptote/asymptote-2.90.ebuild b/media-gfx/asymptote/asymptote-2.90.ebuild
index 41e78e722943..cd7a9a255ce7 100644
--- a/media-gfx/asymptote/asymptote-2.90.ebuild
+++ b/media-gfx/asymptote/asymptote-2.90.ebuild
@@ -13,7 +13,7 @@ SRC_URI="https://downloads.sourceforge.net/asymptote/${P}.src.tgz"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="amd64 ~ppc ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="+boehm-gc context curl doc emacs examples fftw gsl +imagemagick latex lsp offscreen +opengl python sigsegv svg test vim-syntax X"
RESTRICT="!test? ( test )"
@@ -43,7 +43,7 @@ RDEPEND="
)
X? (
${PYTHON_DEPS}
- dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets,svg]
+ dev-python/pyqt5[${PYTHON_USEDEP},gui,widgets,svg]
dev-python/cson
dev-python/numpy
>=gnome-base/librsvg-2.40
diff --git a/media-gfx/asymptote/asymptote-2.92.ebuild b/media-gfx/asymptote/asymptote-2.92.ebuild
index ca9e0caa6681..c8ddba443b11 100644
--- a/media-gfx/asymptote/asymptote-2.92.ebuild
+++ b/media-gfx/asymptote/asymptote-2.92.ebuild
@@ -43,7 +43,7 @@ RDEPEND="
)
X? (
${PYTHON_DEPS}
- dev-python/PyQt5[${PYTHON_USEDEP},gui,widgets,svg]
+ dev-python/pyqt5[${PYTHON_USEDEP},gui,widgets,svg]
dev-python/cson
dev-python/numpy
>=gnome-base/librsvg-2.40
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 2f2cbeb995bb..fe33332a0cc7 100644
--- a/media-gfx/blender/Manifest
+++ b/media-gfx/blender/Manifest
@@ -1,8 +1,7 @@
-DIST blender-3.3.15.tar.xz 41928632 BLAKE2B d93d7d47183fcd7afa547b8d3f0bd7240ea204dcce885f42d79d29352ebacac43a2f92e380f576c2688d2d90d910caff069484e22669847b0eea71079a8bdc7e SHA512 d55223b7b9ae9f9c6fdbf5ed2988e997693fcb8262196acb08bbe58bae86f9f34474ed1cf5a213ee0247225601726265ded3cb4ad4d89910fc247f9cf5fec1ff
-DIST blender-3.3.21.tar.xz 41940868 BLAKE2B 74874226a0f690d2b81c0f96c441f519bd37ff0fec5c2dcae0f4f673d55863e2b2edbd60d2ed05890c440c5287e4cab943646cf4029d7c8287a636ac405e9bce SHA512 715a9808b25fe4c90ee3097edf21bdb3facfec51df0f6b6c6404a95bafe417d1e4998994f532ae9bac1e95de84cc8fd8fce8f8e672f9117646ad840074344d0e
-DIST blender-3.3.8.tar.xz 41915180 BLAKE2B 7fb24afe2151bba53d8c25160bd697145aced74a8cd9a7ac92b2f66bc0ab59e995009f20f9e9bb622b05d614919137153805a2e233de5b0bb0a41a2ac3405a76 SHA512 63aef1e543a9c8bbc5f8838292ad2e8d0d9a8ee6fd2d71a419c1edc1a0ee1f59f7e9eab59bc20bf32ca56ba440bab1534c6c94c6ca2c5ab964e80bd452b7e519
DIST blender-3.6.15.tar.xz 67906200 BLAKE2B 8709b20347e78f3f71d22fee9799b1c0e20a39521b35cff83d6cd3462d4b172e31c1656812d7ce51eef25341a0cff2e9efdcdab0bc9a361ec843a666fc8c3185 SHA512 dfd1d80850fe6ab0616fd99ab039345da621418890b1a006e5320a4b739d1cf6f4ca313e8f8aed6e27c976400c75e8d6085847623d933de71932aefe82f3fd32
+DIST blender-3.6.18.tar.xz 67900952 BLAKE2B d4a619197abc3e4969846913f3c88cd64fd679bbefe007354af6ba2e83d47a8fcd27b3bcbaf6d850d28960eedeb3c50ff9336d0e61fd488d4916b6628bfd67dd SHA512 48a8b3e8b2fe75305061d7cb9b7b8491cef4f23fbd809d1fc34663a4f97f487d6e7e6e92848110fe6aa5a2fed18a2c1a2a0c1c928aa813e2456f7786681eae60
DIST blender-3.6.8.tar.xz 70453744 BLAKE2B 5361977951fa1720899fad26092b967cc78b7ba82c8823f92fe1e6a14419edae1f3914f639e88dd8b5fb3ec7c124783e1ece56199a80b9b51a0f320764e1eba7 SHA512 a5e15dc9de7024cebb955fc531ae592a4c58336196a07fd63ed5bb4eb14d66751a3697ea8b120283ca5078c92d8c87966e882862011ebb4368f132e2de004a45
-DIST blender-4.0.2.tar.xz 73281252 BLAKE2B 6ec72baa360049681c8ba18ae668041e87745bad51113cf50bca93d18f52ef5db84c58f9a2dc5b341ef1f0439e76288a1b1eda892a19033fb494e79cd3b2f983 SHA512 c37b85d06f5cf8b48cb8c657a9fb6b0ab1325271706fa34039f2993420f7606cd1e2c052173cdea94e9bec2924e7aa4df373e3a0fc1f9c4be336e62211b6bc4b
DIST blender-4.1.1.tar.xz 82146268 BLAKE2B 1ab4a6c1046851ef619394c62fc73794430dc091e2cab26d3d1d542e9d4519889e9b9731606385e9dc8657448ca3827875526f4a57dd1b5c326a73d8a6f9be8d SHA512 13ad0cdd09879b5c28554faca5a54172f43dc3dcb749d2d1723d3e89e741e6255179af3bd88309b735e058b9b350191e44f3158e882e55f1cedea70b8b21540e
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.3.15.ebuild b/media-gfx/blender/blender-3.3.15.ebuild
deleted file mode 100644
index aa58233b6a81..000000000000
--- a/media-gfx/blender/blender-3.3.15.ebuild
+++ /dev/null
@@ -1,432 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 python3_11 )
-
-inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="3D Creation/Animation/Publishing System"
-HOMEPAGE="https://www.blender.org"
-
-if [[ ${PV} = *9999* ]] ; then
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
- EGIT_REPO_URI="https://git.blender.org/blender.git"
-else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- # Update these between major releases.
- TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- #SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
- KEYWORDS="~amd64 ~arm ~arm64"
-fi
-
-LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
-SLOT="${PV%.*}"
-IUSE="+bullet +dds +fluid +openexr +tbb \
- alembic collada +color-management cuda +cycles \
- debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
- man +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \
- test +tiff valgrind"
-RESTRICT="!test? ( test ) test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- alembic? ( openexr )
- cuda? ( cycles )
- cycles? ( openexr tiff openimageio )
- fluid? ( tbb )
- openvdb? ( tbb )
- optix? ( cuda )
- osl? ( cycles )
- test? ( color-management )"
-
-# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
-RDEPEND="${PYTHON_DEPS}
- dev-libs/boost:=[nls?]
- dev-libs/lzo:2=
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/zstandard[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
- media-libs/freetype:=[brotli]
- media-libs/glew:*
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/libsamplerate
- sys-libs/zlib:=
- virtual/glu
- virtual/libintl
- virtual/opengl
- alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] )
- collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.3.0:= )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( >=media-libs/embree-3.10.0:=[raymask] )
- ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
- fftw? ( sci-libs/fftw:3.0= )
- gmp? ( dev-libs/gmp )
- !headless? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- ndof? (
- app-misc/spacenavd
- dev-libs/libspnav
- )
- nls? ( virtual/libiconv )
- openal? ( media-libs/openal )
- oidn? ( >=media-libs/oidn-1.4.1 )
- openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= )
- openexr? (
- >=dev-libs/imath-3.1.4-r2:=
- >=media-libs/openexr-3:0=
- )
- opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
- openvdb? (
- <media-gfx/openvdb-11.0.0:=[nanovdb?]
- dev-libs/c-blosc:=
- )
- optix? ( <dev-libs/optix-7.5.0 )
- osl? ( <media-libs/osl-1.13:= )
- 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 )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-text/doxygen[dot]
- dev-python/sphinx[latex]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- nls? ( sys-devel/gettext )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.2.2-support-building-with-musl-libc.patch"
- "${FILESDIR}/${PN}-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch"
- "${FILESDIR}/${PN}-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch"
- "${FILESDIR}/${PN}-3.3.0-fix-build-with-boost-1.81.patch"
- "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.patch"
-)
-
-blender_check_requirements() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
- if use doc; then
- CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
- fi
-}
-
-blender_get_version() {
- # Get blender version from blender itself.
- BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
- if ((${BV:0:1} < 3)) ; then
- # Add period (290 -> 2.90).
- BV=${BV:0:1}.${BV:1}
- else
- # Add period and skip the middle number (301 -> 3.1)
- BV=${BV:0:1}.${BV:2}
- fi
-}
-
-pkg_pretend() {
- blender_check_requirements
-}
-
-pkg_setup() {
- blender_check_requirements
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- if use test; then
- TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests
- subversion_fetch ${TESTS_SVN_URL} ../lib/tests
- fi
- else
- default
- if use test; then
- #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests
- mkdir -p lib || die
- mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die
- fi
- fi
-
-}
-
-src_prepare() {
- cmake_src_prepare
-
- blender_get_version
-
- # Disable MS Windows help generation. The variable doesn't do what it
- # it sounds like.
- sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \
- -i doc/doxygen/Doxyfile || die
-
- # Prepare icons and .desktop files for slotting.
- sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die
-
- sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
-
- mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
- mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die
-
- if use test; then
- # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # -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
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DPYTHON_VERSION="${EPYTHON/python/}"
- -DWITH_ALEMBIC=$(usex alembic)
- -DWITH_ASSERT_ABORT=$(usex debug)
- -DWITH_BOOST=ON
- -DWITH_BULLET=$(usex bullet)
- -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
- -DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CXX_GUARDEDALLOC=$(usex debug)
- -DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
- -DWITH_CYCLES_EMBREE=$(usex embree)
- -DWITH_CYCLES_OSL=$(usex osl)
- -DWITH_CYCLES_STANDALONE=OFF
- -DWITH_CYCLES_STANDALONE_GUI=OFF
- -DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_FFTW3=$(usex fftw)
- -DWITH_GMP=$(usex gmp)
- -DWITH_GTESTS=$(usex test)
- -DWITH_HARU=$(usex pdf)
- -DWITH_HEADLESS=$(usex headless)
- -DWITH_INSTALL_PORTABLE=OFF
- -DWITH_IMAGE_DDS=$(usex dds)
- -DWITH_IMAGE_OPENEXR=$(usex openexr)
- -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
- -DWITH_IMAGE_TIFF=$(usex tiff)
- -DWITH_INPUT_NDOF=$(usex ndof)
- -DWITH_INTERNATIONAL=$(usex nls)
- -DWITH_JACK=$(usex jack)
- -DWITH_MEM_JEMALLOC=$(usex jemalloc)
- -DWITH_MEM_VALGRIND=$(usex valgrind)
- -DWITH_MOD_FLUID=$(usex fluid)
- -DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_NANOVDB=$(usex nanovdb)
- -DWITH_OPENAL=$(usex openal)
- -DWITH_OPENCOLLADA=$(usex collada)
- -DWITH_OPENCOLORIO=$(usex color-management)
- -DWITH_OPENIMAGEDENOISE=$(usex oidn)
- -DWITH_OPENIMAGEIO=$(usex openimageio)
- -DWITH_OPENMP=$(usex openmp)
- -DWITH_OPENSUBDIV=$(usex opensubdiv)
- -DWITH_OPENVDB=$(usex openvdb)
- -DWITH_OPENVDB_BLOSC=$(usex openvdb)
- -DWITH_POTRACE=$(usex potrace)
- -DWITH_PUGIXML=$(usex pugixml)
- -DWITH_PULSEAUDIO=$(usex pulseaudio)
- -DWITH_PYTHON_INSTALL=OFF
- -DWITH_SDL=$(usex sdl)
- -DWITH_STATIC_LIBS=OFF
- -DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_FREETYPE=ON
- -DWITH_SYSTEM_GLEW=ON
- -DWITH_SYSTEM_LZO=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_USD=OFF
- -DWITH_XR_OPENXR=OFF
- )
-
- if use optix; then
- mycmakeargs+=(
- -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
- -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
- )
- fi
-
- # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
- use arm64 && append-flags -flax-vector-conversions
-
- append-flags $(usex debug '-DDEBUG' '-DNDEBUG')
-
- if tc-is-gcc ; then
- # These options only exist when GCC is detected.
- # We disable these to respect the user's choice of linker.
- mycmakeargs+=(
- -DWITH_LINKER_GOLD=OFF
- -DWITH_LINKER_LLD=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- # A lot of tests needs to have access to the installed data files.
- # So install them into the image directory now.
- DESTDIR="${T}" cmake_build install
-
- blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles"
-
- # Sanity check that the script and datafile path is valid.
- # If they are not vaild, blender will fallback to the default path which is not what we want.
- [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
- [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
-
- cmake_src_test
-
- # Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
-}
-
-src_install() {
- blender_get_version
-
- # Pax mark blender for hardened support.
- pax-mark m "${BUILD_DIR}"/bin/blender
-
- cmake_src_install
-
- if use man; then
- # Slot the man page
- mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
- fi
-
- if use doc; then
- # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
-
- # Workaround for binary drivers.
- addpredict /dev/ati
- addpredict /dev/dri
- addpredict /dev/nvidiactl
-
- einfo "Generating Blender C/C++ API docs ..."
- cd "${CMAKE_USE_DIR}"/doc/doxygen || die
- doxygen -u Doxyfile || die
- doxygen || die "doxygen failed to build API docs."
-
- cd "${CMAKE_USE_DIR}" || die
- einfo "Generating (BPY) Blender Python API docs ..."
- "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
-
- cd "${CMAKE_USE_DIR}"/doc/python_api || die
- sphinx-build sphinx-in BPY_API || die "sphinx failed."
-
- docinto "html/API/python"
- dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
-
- docinto "html/API/blender"
- dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
- fi
-
- # Fix doc installdir
- docinto html
- dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
- rm -r "${ED}"/usr/share/doc/blender || die
-
- python_optimize "${ED}/usr/share/blender/${BV}/scripts"
-
- mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die
- mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die
-}
-
-pkg_postinst() {
- elog
- elog "Blender uses python integration. As such, may have some"
- elog "inherent risks with running unknown python scripts."
- elog
- elog "It is recommended to change your blender temp directory"
- elog "from /tmp to /home/user/tmp or another tmp file under your"
- elog "home directory. This can be done by starting blender, then"
- elog "changing the 'Temporary Files' directory in Blender preferences."
- elog
-
- if use osl; then
- ewarn ""
- ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to"
- ewarn "an other LLVM version than what OSL is linked to."
- ewarn "See https://bugs.gentoo.org/880671 for more details"
- ewarn ""
- fi
-
- if ! use python_single_target_python3_10; then
- elog "You are building Blender with a newer python version than"
- elog "supported by this version upstream."
- elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
- elog "Bug: https://bugs.gentoo.org/737388"
- elog
- fi
-
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-
- ewarn ""
- ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
- ewarn "It may contain extra render kernels not tracked by portage"
- ewarn ""
-}
diff --git a/media-gfx/blender/blender-3.3.21.ebuild b/media-gfx/blender/blender-3.3.21.ebuild
deleted file mode 100644
index 66c872c02cea..000000000000
--- a/media-gfx/blender/blender-3.3.21.ebuild
+++ /dev/null
@@ -1,432 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 python3_11 )
-
-inherit check-reqs cmake flag-o-matic pax-utils python-single-r1 toolchain-funcs xdg-utils
-
-DESCRIPTION="3D Creation/Animation/Publishing System"
-HOMEPAGE="https://www.blender.org"
-
-if [[ ${PV} = *9999* ]] ; then
- # Subversion is needed for downloading unit test files
- inherit git-r3 subversion
- EGIT_REPO_URI="https://git.blender.org/blender.git"
-else
- SRC_URI="https://download.blender.org/source/${P}.tar.xz"
- # Update these between major releases.
- TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- #SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
- KEYWORDS="~amd64 ~arm ~arm64"
-fi
-
-LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
-SLOT="${PV%.*}"
-IUSE="+bullet +dds +fluid +openexr +tbb \
- alembic collada +color-management cuda +cycles \
- debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
- man +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \
- test +tiff valgrind"
-RESTRICT="!test? ( test ) test"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- alembic? ( openexr )
- cuda? ( cycles )
- cycles? ( openexr tiff openimageio )
- fluid? ( tbb )
- openvdb? ( tbb )
- optix? ( cuda )
- osl? ( cycles )
- test? ( color-management )"
-
-# Library versions for official builds can be found in the blender source directory in:
-# build_files/build_environment/install_deps.sh
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
-RDEPEND="${PYTHON_DEPS}
- dev-libs/boost:=[nls?]
- dev-libs/lzo:2=
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/zstandard[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- ')
- media-libs/freetype:=[brotli]
- media-libs/glew:*
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/libsamplerate
- sys-libs/zlib:=
- virtual/glu
- virtual/libintl
- virtual/opengl
- alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] )
- collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.3.0:= )
- cuda? ( dev-util/nvidia-cuda-toolkit:= )
- embree? ( <media-libs/embree-4.0.0:=[raymask] )
- ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
- fftw? ( sci-libs/fftw:3.0= )
- gmp? ( dev-libs/gmp[cxx] )
- !headless? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
- jack? ( virtual/jack )
- jemalloc? ( dev-libs/jemalloc:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- ndof? (
- app-misc/spacenavd
- dev-libs/libspnav
- )
- nls? ( virtual/libiconv )
- openal? ( media-libs/openal )
- oidn? ( >=media-libs/oidn-1.4.1 )
- openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= )
- openexr? (
- >=dev-libs/imath-3.1.4-r2:=
- >=media-libs/openexr-3:0=
- )
- opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
- openvdb? (
- <media-gfx/openvdb-11.0.0:=[nanovdb?]
- dev-libs/c-blosc:=
- )
- optix? ( <dev-libs/optix-7.5.0 )
- osl? ( <media-libs/osl-1.13:= )
- 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 )
-"
-
-DEPEND="${RDEPEND}
- dev-cpp/eigen:=
-"
-
-BDEPEND="
- virtual/pkgconfig
- doc? (
- app-text/doxygen[dot]
- dev-python/sphinx[latex]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
- )
- nls? ( sys-devel/gettext )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-3.2.2-support-building-with-musl-libc.patch"
- "${FILESDIR}/${PN}-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch"
- "${FILESDIR}/${PN}-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch"
- "${FILESDIR}/${PN}-3.3.0-fix-build-with-boost-1.81.patch"
- "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.patch"
-)
-
-blender_check_requirements() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-
- if use doc; then
- CHECKREQS_DISK_BUILD="4G" check-reqs_pkg_pretend
- fi
-}
-
-blender_get_version() {
- # Get blender version from blender itself.
- BV=$(grep "BLENDER_VERSION " source/blender/blenkernel/BKE_blender_version.h | cut -d " " -f 3; assert)
- if ((${BV:0:1} < 3)) ; then
- # Add period (290 -> 2.90).
- BV=${BV:0:1}.${BV:1}
- else
- # Add period and skip the middle number (301 -> 3.1)
- BV=${BV:0:1}.${BV:2}
- fi
-}
-
-pkg_pretend() {
- blender_check_requirements
-}
-
-pkg_setup() {
- blender_check_requirements
- python-single-r1_pkg_setup
-}
-
-src_unpack() {
- if [[ ${PV} = *9999* ]] ; then
- git-r3_src_unpack
- if use test; then
- TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests
- subversion_fetch ${TESTS_SVN_URL} ../lib/tests
- fi
- else
- default
- if use test; then
- #The tests are downloaded from: https://svn.blender.org/svnroot/bf-blender/tags/blender-${SLOT}-release/lib/tests
- mkdir -p lib || die
- mv "${WORKDIR}/blender-${TEST_TARBALL_VERSION}-tests/tests" lib || die
- fi
- fi
-
-}
-
-src_prepare() {
- cmake_src_prepare
-
- blender_get_version
-
- # Disable MS Windows help generation. The variable doesn't do what it
- # it sounds like.
- sed -e "s|GENERATE_HTMLHELP = YES|GENERATE_HTMLHELP = NO|" \
- -i doc/doxygen/Doxyfile || die
-
- # Prepare icons and .desktop files for slotting.
- sed -e "s|blender.svg|blender-${BV}.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender-symbolic.svg|blender-${BV}-symbolic.svg|" -i source/creator/CMakeLists.txt || die
- sed -e "s|blender.desktop|blender-${BV}.desktop|" -i source/creator/CMakeLists.txt || die
-
- sed -e "s|Name=Blender|Name=Blender ${PV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Exec=blender|Exec=blender-${BV}|" -i release/freedesktop/blender.desktop || die
- sed -e "s|Icon=blender|Icon=blender-${BV}|" -i release/freedesktop/blender.desktop || die
-
- mv release/freedesktop/icons/scalable/apps/blender.svg "release/freedesktop/icons/scalable/apps/blender-${BV}.svg" || die
- mv release/freedesktop/icons/symbolic/apps/blender-symbolic.svg "release/freedesktop/icons/symbolic/apps/blender-${BV}-symbolic.svg" || die
- mv release/freedesktop/blender.desktop "release/freedesktop/blender-${BV}.desktop" || die
-
- if use test; then
- # Without this the tests will try to use /usr/bin/blender and /usr/share/blender/ to run the tests.
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die
- sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
- fi
-}
-
-src_configure() {
- # -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
-
- local mycmakeargs=(
- -DBUILD_SHARED_LIBS=OFF
- -DPYTHON_INCLUDE_DIR="$(python_get_includedir)"
- -DPYTHON_LIBRARY="$(python_get_library_path)"
- -DPYTHON_VERSION="${EPYTHON/python/}"
- -DWITH_ALEMBIC=$(usex alembic)
- -DWITH_ASSERT_ABORT=$(usex debug)
- -DWITH_BOOST=ON
- -DWITH_BULLET=$(usex bullet)
- -DWITH_CODEC_FFMPEG=$(usex ffmpeg)
- -DWITH_CODEC_SNDFILE=$(usex sndfile)
- -DWITH_CXX_GUARDEDALLOC=$(usex debug)
- -DWITH_CYCLES=$(usex cycles)
- -DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
- -DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
- -DWITH_CYCLES_EMBREE=$(usex embree)
- -DWITH_CYCLES_OSL=$(usex osl)
- -DWITH_CYCLES_STANDALONE=OFF
- -DWITH_CYCLES_STANDALONE_GUI=OFF
- -DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_FFTW3=$(usex fftw)
- -DWITH_GMP=$(usex gmp)
- -DWITH_GTESTS=$(usex test)
- -DWITH_HARU=$(usex pdf)
- -DWITH_HEADLESS=$(usex headless)
- -DWITH_INSTALL_PORTABLE=OFF
- -DWITH_IMAGE_DDS=$(usex dds)
- -DWITH_IMAGE_OPENEXR=$(usex openexr)
- -DWITH_IMAGE_OPENJPEG=$(usex jpeg2k)
- -DWITH_IMAGE_TIFF=$(usex tiff)
- -DWITH_INPUT_NDOF=$(usex ndof)
- -DWITH_INTERNATIONAL=$(usex nls)
- -DWITH_JACK=$(usex jack)
- -DWITH_MEM_JEMALLOC=$(usex jemalloc)
- -DWITH_MEM_VALGRIND=$(usex valgrind)
- -DWITH_MOD_FLUID=$(usex fluid)
- -DWITH_MOD_OCEANSIM=$(usex fftw)
- -DWITH_NANOVDB=$(usex nanovdb)
- -DWITH_OPENAL=$(usex openal)
- -DWITH_OPENCOLLADA=$(usex collada)
- -DWITH_OPENCOLORIO=$(usex color-management)
- -DWITH_OPENIMAGEDENOISE=$(usex oidn)
- -DWITH_OPENIMAGEIO=$(usex openimageio)
- -DWITH_OPENMP=$(usex openmp)
- -DWITH_OPENSUBDIV=$(usex opensubdiv)
- -DWITH_OPENVDB=$(usex openvdb)
- -DWITH_OPENVDB_BLOSC=$(usex openvdb)
- -DWITH_POTRACE=$(usex potrace)
- -DWITH_PUGIXML=$(usex pugixml)
- -DWITH_PULSEAUDIO=$(usex pulseaudio)
- -DWITH_PYTHON_INSTALL=OFF
- -DWITH_SDL=$(usex sdl)
- -DWITH_STATIC_LIBS=OFF
- -DWITH_SYSTEM_EIGEN3=ON
- -DWITH_SYSTEM_FREETYPE=ON
- -DWITH_SYSTEM_GLEW=ON
- -DWITH_SYSTEM_LZO=ON
- -DWITH_TBB=$(usex tbb)
- -DWITH_USD=OFF
- -DWITH_XR_OPENXR=OFF
- )
-
- if use optix; then
- mycmakeargs+=(
- -DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
- -DOPTIX_ROOT_DIR="${EPREFIX}"/opt/optix
- )
- fi
-
- # This is currently needed on arm64 to get the NEON SIMD wrapper to compile the code successfully
- use arm64 && append-flags -flax-vector-conversions
-
- append-flags $(usex debug '-DDEBUG' '-DNDEBUG')
-
- if tc-is-gcc ; then
- # These options only exist when GCC is detected.
- # We disable these to respect the user's choice of linker.
- mycmakeargs+=(
- -DWITH_LINKER_GOLD=OFF
- -DWITH_LINKER_LLD=OFF
- )
- fi
-
- cmake_src_configure
-}
-
-src_test() {
- # A lot of tests needs to have access to the installed data files.
- # So install them into the image directory now.
- DESTDIR="${T}" cmake_build install
-
- blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles"
-
- # Sanity check that the script and datafile path is valid.
- # If they are not vaild, blender will fallback to the default path which is not what we want.
- [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
- [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
-
- cmake_src_test
-
- # Clean up the image directory for src_install
- rm -fr "${T}"/usr || die
-}
-
-src_install() {
- blender_get_version
-
- # Pax mark blender for hardened support.
- pax-mark m "${BUILD_DIR}"/bin/blender
-
- cmake_src_install
-
- if use man; then
- # Slot the man page
- mv "${ED}/usr/share/man/man1/blender.1" "${ED}/usr/share/man/man1/blender-${BV}.1" || die
- fi
-
- if use doc; then
- # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
-
- # Workaround for binary drivers.
- addpredict /dev/ati
- addpredict /dev/dri
- addpredict /dev/nvidiactl
-
- einfo "Generating Blender C/C++ API docs ..."
- cd "${CMAKE_USE_DIR}"/doc/doxygen || die
- doxygen -u Doxyfile || die
- doxygen || die "doxygen failed to build API docs."
-
- cd "${CMAKE_USE_DIR}" || die
- einfo "Generating (BPY) Blender Python API docs ..."
- "${BUILD_DIR}"/bin/blender --background --python doc/python_api/sphinx_doc_gen.py -noaudio || die "sphinx failed."
-
- cd "${CMAKE_USE_DIR}"/doc/python_api || die
- sphinx-build sphinx-in BPY_API || die "sphinx failed."
-
- docinto "html/API/python"
- dodoc -r "${CMAKE_USE_DIR}"/doc/python_api/BPY_API/.
-
- docinto "html/API/blender"
- dodoc -r "${CMAKE_USE_DIR}"/doc/doxygen/html/.
- fi
-
- # Fix doc installdir
- docinto html
- dodoc "${CMAKE_USE_DIR}"/release/text/readme.html
- rm -r "${ED}"/usr/share/doc/blender || die
-
- python_optimize "${ED}/usr/share/blender/${BV}/scripts"
-
- mv "${ED}/usr/bin/blender-thumbnailer" "${ED}/usr/bin/blender-${BV}-thumbnailer" || die
- mv "${ED}/usr/bin/blender" "${ED}/usr/bin/blender-${BV}" || die
-}
-
-pkg_postinst() {
- elog
- elog "Blender uses python integration. As such, may have some"
- elog "inherent risks with running unknown python scripts."
- elog
- elog "It is recommended to change your blender temp directory"
- elog "from /tmp to /home/user/tmp or another tmp file under your"
- elog "home directory. This can be done by starting blender, then"
- elog "changing the 'Temporary Files' directory in Blender preferences."
- elog
-
- if use osl; then
- ewarn ""
- ewarn "OSL is know to cause runtime segfaults if Mesa has been linked to"
- ewarn "an other LLVM version than what OSL is linked to."
- ewarn "See https://bugs.gentoo.org/880671 for more details"
- ewarn ""
- fi
-
- if ! use python_single_target_python3_10; then
- elog "You are building Blender with a newer python version than"
- elog "supported by this version upstream."
- elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
- elog "Bug: https://bugs.gentoo.org/737388"
- elog
- fi
-
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-}
-
-pkg_postrm() {
- xdg_icon_cache_update
- xdg_mimeinfo_database_update
- xdg_desktop_database_update
-
- ewarn ""
- ewarn "You may want to remove the following directory."
- ewarn "~/.config/${PN}/${SLOT}/cache/"
- ewarn "It may contain extra render kernels not tracked by portage"
- ewarn ""
-}
diff --git a/media-gfx/blender/blender-3.6.15.ebuild b/media-gfx/blender/blender-3.6.15.ebuild
index 698ccf250f72..8780d66cc455 100644
--- a/media-gfx/blender/blender-3.6.15.ebuild
+++ b/media-gfx/blender/blender-3.6.15.ebuild
@@ -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-3.3.8.ebuild b/media-gfx/blender/blender-3.6.18.ebuild
index 69f830424c87..bdf6973efd45 100644
--- a/media-gfx/blender/blender-3.3.8.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
@@ -13,29 +13,30 @@ HOMEPAGE="https://www.blender.org"
if [[ ${PV} = *9999* ]] ; then
# Subversion is needed for downloading unit test files
inherit git-r3 subversion
- EGIT_REPO_URI="https://git.blender.org/blender.git"
+ EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
+ ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
else
SRC_URI="https://download.blender.org/source/${P}.tar.xz"
# Update these between major releases.
TEST_TARBALL_VERSION="$(ver_cut 1-2).0"
- #SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
+ # SRC_URI+=" test? ( https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-${TEST_TARBALL_VERSION}-tests.tar.xz )"
KEYWORDS="amd64 ~arm ~arm64"
fi
LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
-IUSE="+bullet +dds +fluid +openexr +tbb \
- alembic collada +color-management cuda +cycles \
- debug doc +embree +ffmpeg +fftw +gmp headless jack jemalloc jpeg2k \
- man +nanovdb ndof nls openal +oidn +openimageio +openmp +opensubdiv \
- +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl +sndfile \
- test +tiff valgrind"
-RESTRICT="!test? ( test ) test"
+IUSE="+bullet +dds +fluid +openexr +tbb
+ alembic collada +color-management cuda +cycles cycles-bin-kernels
+ debug doc +embree +ffmpeg +fftw +gmp jack jemalloc jpeg2k
+ man +nanovdb ndof nls openal +oidn +openmp +openpgl +opensubdiv
+ +openvdb optix osl +pdf +potrace +pugixml pulseaudio sdl
+ +sndfile test +tiff valgrind wayland X"
+RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}
alembic? ( openexr )
cuda? ( cycles )
- cycles? ( openexr tiff openimageio )
+ cycles? ( openexr tiff )
fluid? ( tbb )
openvdb? ( tbb )
optix? ( cuda )
@@ -44,8 +45,6 @@ REQUIRED_USE="${PYTHON_REQUIRED_USE}
# Library versions for official builds can be found in the blender source directory in:
# build_files/build_environment/install_deps.sh
-#
-# <opencolorio-2.3.0 for https://projects.blender.org/blender/blender/issues/112917.
RDEPEND="${PYTHON_DEPS}
dev-libs/boost:=[nls?]
dev-libs/lzo:2=
@@ -56,27 +55,23 @@ RDEPEND="${PYTHON_DEPS}
dev-python/requests[${PYTHON_USEDEP}]
')
media-libs/freetype:=[brotli]
- media-libs/glew:*
+ media-libs/libepoxy:=
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/libsamplerate
+ >=media-libs/openimageio-2.4.6.0:=
sys-libs/zlib:=
virtual/glu
virtual/libintl
virtual/opengl
alembic? ( >=media-gfx/alembic-1.8.3-r2[boost(+),hdf(+)] )
collada? ( >=media-libs/opencollada-1.6.68 )
- color-management? ( <media-libs/opencolorio-2.3.0:= )
+ color-management? ( media-libs/opencolorio:= )
cuda? ( dev-util/nvidia-cuda-toolkit:= )
embree? ( >=media-libs/embree-3.10.0:=[raymask] )
ffmpeg? ( media-video/ffmpeg:=[x264,mp3,encode,theora,jpeg2k?,vpx,vorbis,opus,xvid] )
fftw? ( sci-libs/fftw:3.0= )
- gmp? ( dev-libs/gmp )
- !headless? (
- x11-libs/libX11
- x11-libs/libXi
- x11-libs/libXxf86vm
- )
+ gmp? ( dev-libs/gmp[cxx] )
jack? ( virtual/jack )
jemalloc? ( dev-libs/jemalloc:= )
jpeg2k? ( media-libs/openjpeg:2= )
@@ -87,11 +82,11 @@ RDEPEND="${PYTHON_DEPS}
nls? ( virtual/libiconv )
openal? ( media-libs/openal )
oidn? ( >=media-libs/oidn-1.4.1 )
- openimageio? ( >=media-libs/openimageio-2.3.12.0-r3:= )
openexr? (
>=dev-libs/imath-3.1.4-r2:=
>=media-libs/openexr-3:0=
)
+ openpgl? ( media-libs/openpgl:0/0.5 )
opensubdiv? ( >=media-libs/opensubdiv-3.4.0 )
openvdb? (
<media-gfx/openvdb-11.0.0:=[nanovdb?]
@@ -108,6 +103,18 @@ RDEPEND="${PYTHON_DEPS}
tbb? ( dev-cpp/tbb:= )
tiff? ( media-libs/tiff:= )
valgrind? ( dev-debug/valgrind )
+ wayland? (
+ >=dev-libs/wayland-1.12
+ >=dev-libs/wayland-protocols-1.15
+ >=x11-libs/libxkbcommon-0.2.0
+ media-libs/mesa[wayland]
+ sys-apps/dbus
+ )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXi
+ x11-libs/libXxf86vm
+ )
"
DEPEND="${RDEPEND}
@@ -126,16 +133,11 @@ BDEPEND="
dev-texlive/texlive-latexextra
)
nls? ( sys-devel/gettext )
+ wayland? (
+ dev-util/wayland-scanner
+ )
"
-PATCHES=(
- "${FILESDIR}/${PN}-3.2.2-support-building-with-musl-libc.patch"
- "${FILESDIR}/${PN}-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch"
- "${FILESDIR}/${PN}-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch"
- "${FILESDIR}/${PN}-3.3.0-fix-build-with-boost-1.81.patch"
- "${FILESDIR}/${PN}-3.3.6-cycles-gcc13.patch"
-)
-
blender_check_requirements() {
[[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
@@ -168,10 +170,16 @@ pkg_setup() {
src_unpack() {
if [[ ${PV} = *9999* ]] ; then
git-r3_src_unpack
+
+ git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
+ git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
+
if use test; then
TESTS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/tests
subversion_fetch ${TESTS_SVN_URL} ../lib/tests
fi
+ ASSETS_SVN_URL=https://svn.blender.org/svnroot/bf-blender/trunk/lib/assets
+ subversion_fetch ${ASSETS_SVN_URL} ../lib/assets
else
default
if use test; then
@@ -208,7 +216,7 @@ src_prepare() {
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|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die
+ sed -e "s|set(TEST_INSTALL_DIR.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i tests/CMakeLists.txt || die
sed -e "s|string(REPLACE.*|set(TEST_INSTALL_DIR ${T}/usr)|g" -i build_files/cmake/Modules/GTestTesting.cmake || die
fi
}
@@ -223,6 +231,7 @@ src_configure() {
append-ldflags $(test-flags-CCLD -Wl,--undefined-version)
append-lfs-flags
+ blender_get_version
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
@@ -237,18 +246,26 @@ src_configure() {
-DWITH_CODEC_SNDFILE=$(usex sndfile)
-DWITH_CXX_GUARDEDALLOC=$(usex debug)
-DWITH_CYCLES=$(usex cycles)
+ -DWITH_CYCLES_CUDA_BINARIES=$(usex cycles-bin-kernels)
-DWITH_CYCLES_DEVICE_CUDA=$(usex cuda TRUE FALSE)
-DWITH_CYCLES_DEVICE_OPTIX=$(usex optix)
-DWITH_CYCLES_EMBREE=$(usex embree)
-DWITH_CYCLES_OSL=$(usex osl)
+ -DWITH_CYCLES_PATH_GUIDING=$(usex openpgl)
-DWITH_CYCLES_STANDALONE=OFF
-DWITH_CYCLES_STANDALONE_GUI=OFF
-DWITH_DOC_MANPAGE=$(usex man)
-DWITH_FFTW3=$(usex fftw)
+ -DWITH_GHOST_WAYLAND=$(usex wayland)
+ -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
+ -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland)
+ -DWITH_GHOST_WAYLAND_DYNLOAD=OFF
+ -DWITH_GHOST_WAYLAND_LIBDECOR=OFF
+ -DWITH_GHOST_X11=$(usex X)
-DWITH_GMP=$(usex gmp)
-DWITH_GTESTS=$(usex test)
-DWITH_HARU=$(usex pdf)
- -DWITH_HEADLESS=$(usex headless)
+ -DWITH_HEADLESS=$($(use X || use wayland) && echo OFF || echo ON)
-DWITH_INSTALL_PORTABLE=OFF
-DWITH_IMAGE_DDS=$(usex dds)
-DWITH_IMAGE_OPENEXR=$(usex openexr)
@@ -266,7 +283,6 @@ src_configure() {
-DWITH_OPENCOLLADA=$(usex collada)
-DWITH_OPENCOLORIO=$(usex color-management)
-DWITH_OPENIMAGEDENOISE=$(usex oidn)
- -DWITH_OPENIMAGEIO=$(usex openimageio)
-DWITH_OPENMP=$(usex openmp)
-DWITH_OPENSUBDIV=$(usex opensubdiv)
-DWITH_OPENVDB=$(usex openvdb)
@@ -279,7 +295,6 @@ src_configure() {
-DWITH_STATIC_LIBS=OFF
-DWITH_SYSTEM_EIGEN3=ON
-DWITH_SYSTEM_FREETYPE=ON
- -DWITH_SYSTEM_GLEW=ON
-DWITH_SYSTEM_LZO=ON
-DWITH_TBB=$(usex tbb)
-DWITH_USD=OFF
diff --git a/media-gfx/blender/blender-4.2.1.ebuild b/media-gfx/blender/blender-4.2.1.ebuild
index 88bb85849015..3a809e39731f 100644
--- a/media-gfx/blender/blender-4.2.1.ebuild
+++ b/media-gfx/blender/blender-4.2.1.ebuild
@@ -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.0.2-r1.ebuild b/media-gfx/blender/blender-4.2.4.ebuild
index ae693845b6b7..b062e630b1a5 100644
--- a/media-gfx/blender/blender-4.0.2-r1.ebuild
+++ b/media-gfx/blender/blender-4.2.4.ebuild
@@ -3,9 +3,10 @@
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
-# matches media-libs/osl
-LLVM_COMPAT=( {15..17} )
+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
@@ -17,7 +18,6 @@ if [[ ${PV} = *9999* ]] ; then
inherit git-r3
EGIT_REPO_URI="https://projects.blender.org/blender/blender.git"
EGIT_SUBMODULES=( '*' '-lib/*' )
- ADDONS_EGIT_REPO_URI="https://projects.blender.org/blender/blender-addons.git"
RESTRICT="!test? ( test )"
else
SRC_URI="
@@ -35,9 +35,9 @@ LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
IUSE="
alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
- debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
- jemalloc jpeg2k man +nanovdb ndof nls +oidn oneapi openal +openexr +openmp openpgl
- +opensubdiv +openvdb optix osl +pdf +potrace +pugixml pulseaudio
+ 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
"
@@ -71,7 +71,7 @@ RDEPEND="${PYTHON_DEPS}
media-libs/libjpeg-turbo:=
media-libs/libpng:=
media-libs/libsamplerate
- >=media-libs/openimageio-2.4.6.0:=
+ >=media-libs/openimageio-2.5.6.0:=
sys-libs/zlib:=
virtual/glu
virtual/libintl
@@ -85,7 +85,14 @@ RDEPEND="${PYTHON_DEPS}
fftw? ( sci-libs/fftw:3.0= )
gmp? ( dev-libs/gmp[cxx] )
gnome? ( gui-libs/libdecor )
- hip? ( >=dev-util/hip-5.7:= )
+ 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= )
@@ -95,13 +102,13 @@ RDEPEND="${PYTHON_DEPS}
)
nls? ( virtual/libiconv )
openal? ( media-libs/openal )
- oidn? ( >=media-libs/oidn-2.1.0 )
+ oidn? ( >=media-libs/oidn-2.1.0[${LLVM_USEDEP}] )
oneapi? ( dev-libs/intel-compute-runtime[l0] )
openexr? (
- >=dev-libs/imath-3.1.4-r2:=
- >=media-libs/openexr-3:0=
+ >=dev-libs/imath-3.1.7:=
+ >=media-libs/openexr-3.2.1:0=
)
- openpgl? ( media-libs/openpgl:0/0.5 )
+ openpgl? ( media-libs/openpgl:= )
opensubdiv? ( >=media-libs/opensubdiv-3.5.0 )
openvdb? (
>=media-gfx/openvdb-11.0.0:=[nanovdb?]
@@ -109,11 +116,8 @@ RDEPEND="${PYTHON_DEPS}
)
optix? ( dev-libs/optix )
osl? (
- >=media-libs/osl-1.13:=
- $(llvm_gen_dep '
- >=media-libs/osl-1.13[llvm_slot_${LLVM_SLOT}]
- media-libs/mesa[llvm_slot_${LLVM_SLOT}]
- ')
+ >=media-libs/osl-1.13:=[${LLVM_USEDEP}]
+ media-libs/mesa[${LLVM_USEDEP}]
)
pdf? ( media-libs/libharu )
potrace? ( media-gfx/potrace )
@@ -138,6 +142,9 @@ RDEPEND="${PYTHON_DEPS}
dev-util/glslang
media-libs/vulkan-loader
)
+ otf? (
+ media-libs/harfbuzz
+ )
renderdoc? (
media-gfx/renderdoc
)
@@ -177,11 +184,10 @@ BDEPEND="
"
PATCHES=(
- "${FILESDIR}/${PN}-4.0.1-fix-cflags-cleaner.patch" # to be dropped for releases after Dec 8, 2023
- "${FILESDIR}/${PN}-4.0.1-openvdb-11.patch"
"${FILESDIR}/${PN}-4.0.2-FindClang.patch"
"${FILESDIR}/${PN}-4.0.2-CUDA_NVCC_FLAGS.patch"
- "${FILESDIR}/${PN}-4.0.2-r1-osl-1.13.patch"
+ "${FILESDIR}/${PN}-4.1.1-FindLLVM.patch"
+ "${FILESDIR}/${PN}-4.1.1-numpy.patch"
)
blender_check_requirements() {
@@ -206,6 +212,12 @@ blender_get_version() {
pkg_pretend() {
blender_check_requirements
+
+ if use oneapi; then
+ einfo "The Intel oneAPI support is rudimentary."
+ einfo ""
+ einfo "Please report any bugs you find to https://bugs.gentoo.org/"
+ fi
}
pkg_setup() {
@@ -223,9 +235,6 @@ src_unpack() {
EGIT_SUBMODULES+=( '-tests/*' )
fi
git-r3_src_unpack
-
- git-r3_fetch "${ADDONS_EGIT_REPO_URI}"
- git-r3_checkout "${ADDONS_EGIT_REPO_URI}" "${S}/scripts/addons"
else
default
@@ -308,6 +317,7 @@ src_configure() {
-DWITH_BULLET=$(usex bullet)
-DWITH_CODEC_FFMPEG=$(usex ffmpeg)
-DWITH_CODEC_SNDFILE=$(usex sndfile)
+ -DWITH_CPU_CHECK=no
-DWITH_CYCLES=$(usex cycles)
@@ -330,16 +340,13 @@ src_configure() {
-DWITH_DOC_MANPAGE=$(usex man)
-DWITH_DRACO="no" # TODO: Package Draco
- -DWITH_EXPERIMENTAL_FEATURES="$(usex experimental)"
-DWITH_FFTW3=$(usex fftw)
-DWITH_GHOST_WAYLAND=$(usex wayland)
- -DWITH_GHOST_WAYLAND_APP_ID="blender-${BV}"
- -DWITH_GHOST_WAYLAND_DBUS=$(usex wayland)
- -DWITH_GHOST_WAYLAND_DYNLOAD="$(usex gnome)" # https://bugs.gentoo.org/930412 fixed in 4.1 # no
- -DWITH_GHOST_WAYLAND_LIBDECOR="$(usex gnome)"
+ -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
@@ -383,6 +390,13 @@ src_configure() {
-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" )
@@ -398,6 +412,7 @@ src_configure() {
if use hip; then
mycmakeargs+=(
+ -DROCM_PATH="$(hipconfig -R)"
-DHIP_HIPCC_FLAGS="-fcf-protection=none"
)
fi
@@ -409,6 +424,13 @@ src_configure() {
)
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
@@ -457,15 +479,16 @@ src_test() {
DESTDIR="${T}" cmake_build install
blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles"
+ # 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}"
- # Sanity check that the script and datafile path is valid.
- # If they are not vaild, blender will fallback to the default path which is not what we want.
- [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
- [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
+ # 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
@@ -477,6 +500,8 @@ src_test() {
xdg_environment_reset
fi
+ addwrite /dev/dri
+
cmake_src_test
# Clean up the image directory for src_install
@@ -489,21 +514,24 @@ src_install() {
# Pax mark blender for hardened support.
pax-mark m "${BUILD_DIR}"/bin/blender
- if use man; then
- # XXX: Stupid temporary hack for bug #925254
- cmake_src_install -j1
+ 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
- else
- cmake_src_install
fi
if use doc; then
- # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
+ # 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
@@ -559,11 +587,11 @@ pkg_postinst() {
ewarn ""
fi
- if ! use python_single_target_python3_10; then
+ if ! use python_single_target_python3_11; then
elog "You are building Blender with a newer python version than"
elog "supported by this version upstream."
elog "If you experience breakages with e.g. plugins, please switch to"
- elog "python_single_target_python3_10 instead."
+ elog "python_single_target_python3_11 instead."
elog "Bug: https://bugs.gentoo.org/737388"
elog
fi
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 88bb85849015..cd2204670f17 100644
--- a/media-gfx/blender/blender-9999.ebuild
+++ b/media-gfx/blender/blender-9999.ebuild
@@ -35,7 +35,7 @@ LICENSE="GPL-3+ cycles? ( Apache-2.0 )"
SLOT="${PV%.*}"
IUSE="
alembic +bullet collada +color-management cuda +cycles +cycles-bin-kernels
- debug doc +embree experimental +ffmpeg +fftw +fluid +gmp gnome hip jack
+ 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
@@ -339,8 +339,7 @@ src_configure() {
-DWITH_CYCLES_STANDALONE_GUI=no
-DWITH_DOC_MANPAGE=$(usex man)
- -DWITH_DRACO="no" # TODO: Package Draco
- -DWITH_EXPERIMENTAL_FEATURES="$(usex experimental)"
+ -DWITH_DRACO="yes" # TODO: Package Draco
-DWITH_FFTW3=$(usex fftw)
-DWITH_GHOST_WAYLAND=$(usex wayland)
-DWITH_GHOST_WAYLAND_DYNLOAD="no"
@@ -480,15 +479,16 @@ src_test() {
DESTDIR="${T}" cmake_build install
blender_get_version
- # Define custom blender data/script file paths not be able to find them otherwise during testing.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS="${T}/usr/share/blender/${BV}/scripts"
- export BLENDER_SYSTEM_DATAFILES="${T}/usr/share/blender/${BV}/datafiles"
+ # 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}"
- # Sanity check that the script and datafile path is valid.
- # If they are not vaild, blender will fallback to the default path which is not what we want.
- [ -d "$BLENDER_SYSTEM_SCRIPTS" ] || die "The custom script path is invalid, fix the ebuild!"
- [ -d "$BLENDER_SYSTEM_DATAFILES" ] || die "The custom datafiles path is invalid, fix the ebuild!"
+ # 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
@@ -522,10 +522,16 @@ src_install() {
fi
if use doc; then
- # Define custom blender data/script file paths. Otherwise Blender will not be able to find them during doc building.
- # (Because the data is in the image directory and it will default to look in /usr/share)
- export BLENDER_SYSTEM_SCRIPTS=${ED}/usr/share/blender/${BV}/scripts
- export BLENDER_SYSTEM_DATAFILES=${ED}/usr/share/blender/${BV}/datafiles
+ # 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
diff --git a/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch b/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch
deleted file mode 100644
index 2a7b33cf8ac4..000000000000
--- a/media-gfx/blender/files/blender-3.2.2-Cycles-add-option-to-specify-OptiX-runtime-root-dire.patch
+++ /dev/null
@@ -1,108 +0,0 @@
-From https://developer.blender.org/rB74caf773619bbf6a0f95c598b66261a6bef392ee
-From: Brecht Van Lommel <brecht@blender.org>
-Date: Mon, 29 Aug 2022 19:12:15 +0200
-Subject: [PATCH 001/539] Cycles: add option to specify OptiX runtime root
- directory
-
-This allows individual users or Linux distributions to specify a directory
-Cycles will automatically look for the OptiX include folder, to compile kernels
-at runtime.
-
-It is still possible to override this with the OPTIX_ROOT_DIR environment
-variable at runtime.
-
-Based on patch by Sebastian Parborg.
-
-Ref D15792
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -435,10 +435,16 @@ if(NOT APPLE)
- option(WITH_CYCLES_CUBIN_COMPILER "Build cubins with nvrtc based compiler instead of nvcc" OFF)
- option(WITH_CYCLES_CUDA_BUILD_SERIAL "Build cubins one after another (useful on machines with limited RAM)" OFF)
- option(WITH_CUDA_DYNLOAD "Dynamically load CUDA libraries at runtime (for developers, makes cuda-gdb work)" ON)
-+
-+ set(OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory, for building Cycles OptiX kernels.")
-+ set(CYCLES_RUNTIME_OPTIX_ROOT_DIR "" CACHE PATH "Path to the OptiX SDK root directory. When set, this path will be used at runtime to compile OptiX kernels.")
-+
- mark_as_advanced(CYCLES_CUDA_BINARIES_ARCH)
- mark_as_advanced(WITH_CYCLES_CUBIN_COMPILER)
- mark_as_advanced(WITH_CYCLES_CUDA_BUILD_SERIAL)
- mark_as_advanced(WITH_CUDA_DYNLOAD)
-+ mark_as_advanced(OPTIX_ROOT_DIR)
-+ mark_as_advanced(CYCLES_RUNTIME_OPTIX_ROOT_DIR)
- endif()
-
- # AMD HIP
---- a/intern/cycles/device/CMakeLists.txt
-+++ b/intern/cycles/device/CMakeLists.txt
-@@ -19,6 +19,8 @@ if(WITH_CYCLES_DEVICE_OPTIX OR WITH_CYCLES_DEVICE_CUDA)
- )
- add_definitions(-DCYCLES_CUDA_NVCC_EXECUTABLE="${CUDA_NVCC_EXECUTABLE}")
- endif()
-+
-+ add_definitions(-DCYCLES_RUNTIME_OPTIX_ROOT_DIR="${CYCLES_RUNTIME_OPTIX_ROOT_DIR}")
- endif()
-
- if(WITH_CYCLES_DEVICE_HIP AND WITH_HIP_DYNLOAD)
---- a/intern/cycles/device/optix/device_impl.cpp
-+++ b/intern/cycles/device/optix/device_impl.cpp
-@@ -342,15 +342,29 @@ BVHLayoutMask OptiXDevice::get_bvh_layout_mask() const
- return BVH_LAYOUT_OPTIX;
- }
-
-+static string get_optix_include_dir()
-+{
-+ const char *env_dir = getenv("OPTIX_ROOT_DIR");
-+ const char *default_dir = CYCLES_RUNTIME_OPTIX_ROOT_DIR;
-+
-+ if (env_dir && env_dir[0]) {
-+ const string env_include_dir = path_join(env_dir, "include");
-+ return env_include_dir;
-+ }
-+ else if (default_dir[0]) {
-+ const string default_include_dir = path_join(default_dir, "include");
-+ return default_include_dir;
-+ }
-+
-+ return string();
-+}
-+
- string OptiXDevice::compile_kernel_get_common_cflags(const uint kernel_features)
- {
- string common_cflags = CUDADevice::compile_kernel_get_common_cflags(kernel_features);
-
- /* Add OptiX SDK include directory to include paths. */
-- const char *optix_sdk_path = getenv("OPTIX_ROOT_DIR");
-- if (optix_sdk_path) {
-- common_cflags += string_printf(" -I\"%s/include\"", optix_sdk_path);
-- }
-+ common_cflags += string_printf(" -I\"%s/include\"", get_optix_include_dir().c_str());
-
- /* Specialization for shader raytracing. */
- if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) {
-@@ -460,10 +474,19 @@ bool OptiXDevice::load_kernels(const uint kernel_features)
- "lib/kernel_optix_shader_raytrace.ptx" :
- "lib/kernel_optix.ptx");
- if (use_adaptive_compilation() || path_file_size(ptx_filename) == -1) {
-- if (!getenv("OPTIX_ROOT_DIR")) {
-+ std::string optix_include_dir = get_optix_include_dir();
-+ if (optix_include_dir.empty()) {
- set_error(
-- "Missing OPTIX_ROOT_DIR environment variable (which must be set with the path to "
-- "the Optix SDK to be able to compile Optix kernels on demand).");
-+ "Unable to compile OptiX kernels at runtime. Set OPTIX_ROOT_DIR environment variable "
-+ "to a directory containing the OptiX SDK.");
-+ return false;
-+ }
-+ else if (!path_is_directory(optix_include_dir)) {
-+ set_error(string_printf(
-+ "OptiX headers not found at %s, unable to compile OptiX kernels at runtime. Install "
-+ "OptiX SDK in the specified location, or set OPTIX_ROOT_DIR environment variable to a "
-+ "directory containing the OptiX SDK.",
-+ optix_include_dir.c_str()));
- return false;
- }
- ptx_filename = compile_kernel(
---
-2.37.3
-
diff --git a/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch b/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch
deleted file mode 100644
index 921b648ca388..000000000000
--- a/media-gfx/blender/files/blender-3.2.2-Fix-T100845-wrong-Cycles-OptiX-runtime-compilation-i.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From https://developer.blender.org/rB74477149dddfddeca71be6770d520f870c0b5bc9
-From: Josh Whelchel <soundofjw>
-Date: Tue, 6 Sep 2022 15:39:39 +0200
-Subject: [PATCH 663/965] Fix T100845: wrong Cycles OptiX runtime compilation
- include path
-
-Causing OptiX kernel build errors on Arch Linux.
-
-Differential Revision: https://developer.blender.org/D15891
---- a/intern/cycles/device/optix/device_impl.cpp
-+++ b/intern/cycles/device/optix/device_impl.cpp
-@@ -364,7 +364,7 @@ string OptiXDevice::compile_kernel_get_common_cflags(const uint kernel_features)
- string common_cflags = CUDADevice::compile_kernel_get_common_cflags(kernel_features);
-
- /* Add OptiX SDK include directory to include paths. */
-- common_cflags += string_printf(" -I\"%s/include\"", get_optix_include_dir().c_str());
-+ common_cflags += string_printf(" -I\"%s\"", get_optix_include_dir().c_str());
-
- /* Specialization for shader raytracing. */
- if (kernel_features & KERNEL_FEATURE_NODE_RAYTRACE) {
---
-2.37.3
-
diff --git a/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch b/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch
deleted file mode 100644
index fb3f2584f0fe..000000000000
--- a/media-gfx/blender/files/blender-3.2.2-support-building-with-musl-libc.patch
+++ /dev/null
@@ -1,177 +0,0 @@
-CMake: support building with musl libc
-
-Instead of using macros like GLIBC we can use the CMake build
-systems internal functions to check if some header or functions are
-present on the running system's libc.
-
-Add ./build_files/cmake/have_features.cmake to add checks for
-platform features which can be used to set defines for source
-files that require them.
-
-Please refer: https://github.com/blender/blender/commit/f197b1a1f1bbc0334310fb1c911327246767a1a3
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -112,6 +112,11 @@ blender_project_hack_post()
-
- enable_testing()
-
-+#-----------------------------------------------------------------------------
-+# Test compiler/library features.
-+
-+include(build_files/cmake/have_features.cmake)
-+
- #-----------------------------------------------------------------------------
- # Redirect output files
-
---- /dev/null
-+++ b/build_files/cmake/have_features.cmake
-@@ -0,0 +1,33 @@
-+# SPDX-License-Identifier: GPL-2.0-or-later
-+# Copyright 2022 Blender Foundation. All rights reserved.
-+
-+# This file is used to test the system for headers & symbols.
-+# Variables should use the `HAVE_` prefix.
-+# Defines should use the same name as the CMAKE variable.
-+
-+include(CheckSymbolExists)
-+
-+# Used for: `intern/guardedalloc/intern/mallocn_intern.h`.
-+# Function `malloc_stats` is only available on GLIBC,
-+# so check that before defining `HAVE_MALLOC_STATS`.
-+check_symbol_exists(malloc_stats "malloc.h" HAVE_MALLOC_STATS_H)
-+
-+# Used for: `source/creator/creator_signals.c`.
-+# The function `feenableexcept` is not present non-GLIBC systems,
-+# hence we need to check if it's available in the `fenv.h` file.
-+set(HAVE_FEENABLEEXCEPT OFF)
-+if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
-+ check_symbol_exists(feenableexcept "fenv.h" HAVE_FEENABLEEXCEPT)
-+endif()
-+
-+# Used for: `source/blender/blenlib/intern/system.c`.
-+# `execinfo` is not available on non-GLIBC systems (at least not on MUSL-LIBC),
-+# so check the presence of the header before including it and using the it for back-trace.
-+set(HAVE_EXECINFO_H OFF)
-+if(NOT MSVC)
-+ include(CheckIncludeFiles)
-+ check_include_files("execinfo.h" HAVE_EXECINFO_H)
-+ if(HAVE_EXECINFO_H)
-+ add_definitions(-DHAVE_EXECINFO_H)
-+ endif()
-+endif()
---- a/intern/guardedalloc/CMakeLists.txt
-+++ b/intern/guardedalloc/CMakeLists.txt
-@@ -1,6 +1,10 @@
- # SPDX-License-Identifier: GPL-2.0-or-later
- # Copyright 2006 Blender Foundation. All rights reserved.
-
-+if(HAVE_MALLOC_STATS_H)
-+ add_definitions(-DHAVE_MALLOC_STATS_H)
-+endif()
-+
- set(INC
- .
- ../atomic
---- a/intern/guardedalloc/intern/mallocn_intern.h
-+++ b/intern/guardedalloc/intern/mallocn_intern.h
-@@ -17,8 +17,7 @@
- #undef HAVE_MALLOC_STATS
- #define USE_MALLOC_USABLE_SIZE /* internal, when we have malloc_usable_size() */
-
--#if defined(__linux__) || (defined(__FreeBSD_kernel__) && !defined(__FreeBSD__)) || \
-- defined(__GLIBC__)
-+#if defined(HAVE_MALLOC_STATS_H)
- # include <malloc.h>
- # define HAVE_MALLOC_STATS
- #elif defined(__FreeBSD__)
---- a/source/blender/blenlib/CMakeLists.txt
-+++ b/source/blender/blenlib/CMakeLists.txt
-@@ -1,6 +1,10 @@
- # SPDX-License-Identifier: GPL-2.0-or-later
- # Copyright 2006 Blender Foundation. All rights reserved.
-
-+if(HAVE_EXECINFO_H)
-+ add_definitions(-DHAVE_EXECINFO_H)
-+endif()
-+
- set(INC
- .
- # ../blenkernel # don't add this back!
---- a/source/blender/blenlib/intern/system.c
-+++ b/source/blender/blenlib/intern/system.c
-@@ -21,7 +21,9 @@
-
- # include "BLI_winstuff.h"
- #else
--# include <execinfo.h>
-+# if defined(HAVE_EXECINFO_H)
-+# include <execinfo.h>
-+# endif
- # include <unistd.h>
- #endif
-
-@@ -61,9 +63,9 @@ int BLI_cpu_support_sse2(void)
- #if !defined(_MSC_VER)
- void BLI_system_backtrace(FILE *fp)
- {
-- /* ------------- */
-- /* Linux / Apple */
--# if defined(__linux__) || defined(__APPLE__)
-+ /* ----------------------- */
-+ /* If system as execinfo.h */
-+# if defined(HAVE_EXECINFO_H)
-
- # define SIZE 100
- void *buffer[SIZE];
---- a/source/blender/makesdna/intern/CMakeLists.txt
-+++ b/source/blender/makesdna/intern/CMakeLists.txt
-@@ -5,6 +5,11 @@
-
- add_definitions(-DWITH_DNA_GHASH)
-
-+# Needed for `mallocn.c`.
-+if(HAVE_MALLOC_STATS_H)
-+ add_definitions(-DHAVE_MALLOC_STATS_H)
-+endif()
-+
- blender_include_dirs(
- ../../../../intern/atomic
- ../../../../intern/guardedalloc
---- a/source/blender/makesrna/intern/CMakeLists.txt
-+++ b/source/blender/makesrna/intern/CMakeLists.txt
-@@ -6,6 +6,11 @@ if(CMAKE_COMPILER_IS_GNUCC)
- string(APPEND CMAKE_C_FLAGS " -Werror=implicit-function-declaration")
- endif()
-
-+# Needed for `mallocn.c`.
-+if(HAVE_MALLOC_STATS_H)
-+ add_definitions(-DHAVE_MALLOC_STATS_H)
-+endif()
-+
- # files rna_access.c rna_define.c makesrna.c intentionally excluded.
- set(DEFSRC
- rna_ID.c
---- a/source/creator/CMakeLists.txt
-+++ b/source/creator/CMakeLists.txt
-@@ -22,6 +22,10 @@ set(LIB
- bf_windowmanager
- )
-
-+if(HAVE_FEENABLEEXCEPT)
-+ add_definitions(-DHAVE_FEENABLEEXCEPT)
-+endif()
-+
- if(WITH_TBB)
- # Force TBB libraries to be in front of MKL (part of OpenImageDenoise), so
- # that it is initialized before MKL and static library initialization order
---- a/source/creator/creator_signals.c
-+++ b/source/creator/creator_signals.c
-@@ -258,7 +258,7 @@ void main_signal_setup_fpe(void)
- * set breakpoints on sig_handle_fpe */
- signal(SIGFPE, sig_handle_fpe);
-
--# if defined(__linux__) && defined(__GNUC__)
-+# if defined(__linux__) && defined(__GNUC__) && defined(HAVE_FEENABLEEXCEPT)
- feenableexcept(FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW);
- # endif /* defined(__linux__) && defined(__GNUC__) */
- # if defined(OSX_SSE_FPE)
diff --git a/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch b/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch
deleted file mode 100644
index 3a544811e484..000000000000
--- a/media-gfx/blender/files/blender-3.3.0-fix-build-with-boost-1.81.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://bugs.gentoo.org/887059
-
-Adding include as suggested by the compiler:
-
-"intern/locale/boost_locale_wrapper.cpp:12:1: note: ‘std::cout’ is defined
-in header ‘<iostream>’; did you forget to ‘#include <iostream>’?"
-
---- a/intern/locale/boost_locale_wrapper.cpp
-+++ b/intern/locale/boost_locale_wrapper.cpp
-@@ -9,6 +9,7 @@
- #include <stdio.h>
-
- #include "boost_locale_wrapper.h"
-+#include <iostream>
-
- static std::string messages_path;
- static std::string default_domain;
diff --git a/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch b/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch
deleted file mode 100644
index 955be2424e19..000000000000
--- a/media-gfx/blender/files/blender-3.3.6-cycles-gcc13.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-https://bugs.gentoo.org/914740
---- a/intern/cycles/util/thread.cpp
-+++ b/intern/cycles/util/thread.cpp
-@@ -6,6 +6,8 @@
- #include "util/system.h"
- #include "util/windows.h"
-
-+#include <system_error>
-+
- CCL_NAMESPACE_BEGIN
-
- thread::thread(function<void()> run_cb) : run_cb_(run_cb), joined_(false)
diff --git a/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch b/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch
deleted file mode 100644
index d28db84d8c36..000000000000
--- a/media-gfx/blender/files/blender-4.0.1-fix-cflags-cleaner.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Fix CMake Error: string sub-command REGEX, mode REPLACE needs at least 6 arguments total to command.
-https://bugs.gentoo.org/922324
-https://github.com/blender/blender/commit/ecd307041e4181f721bf5d2248c02ffe980edcba
---- a/build_files/cmake/macros.cmake
-+++ b/build_files/cmake/macros.cmake
-@@ -750,11 +750,11 @@ macro(remove_c_flag
- _flag)
-
- foreach(f ${ARGV})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_DEBUG ${CMAKE_C_FLAGS_DEBUG})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELEASE})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_MINSIZEREL ${CMAKE_C_FLAGS_MINSIZEREL})
-- string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELWITHDEBINFO ${CMAKE_C_FLAGS_RELWITHDEBINFO})
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS "${CMAKE_C_FLAGS}")
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG}")
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE}")
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL}")
-+ string(REGEX REPLACE ${f} "" CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO}")
- endforeach()
- unset(f)
- endmacro()
-@@ -763,11 +763,11 @@ macro(remove_cxx_flag
- _flag)
-
- foreach(f ${ARGV})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_DEBUG ${CMAKE_CXX_FLAGS_DEBUG})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_MINSIZEREL ${CMAKE_CXX_FLAGS_MINSIZEREL})
-- string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}")
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}")
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
-+ string(REGEX REPLACE ${f} "" CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
- endforeach()
- unset(f)
- endmacro() \ No newline at end of file
diff --git a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch b/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
deleted file mode 100644
index 1f1561e8e7db..000000000000
--- a/media-gfx/blender/files/blender-4.0.1-openvdb-11.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From: Paul Zander <negril.nx+gentoo@gmail.com>
-Change lookup for OpenVDB-11
---- a/intern/cycles/scene/image_vdb.cpp 2023-11-23 14:42:38.772685628 +0100
-+++ b/intern/cycles/scene/image_vdb.cpp 2023-11-23 15:19:55.475804922 +0100
-@@ -11,7 +11,14 @@
- # include <openvdb/tools/Dense.h>
- #endif
- #ifdef WITH_NANOVDB
--# include <nanovdb/util/OpenToNanoVDB.h>
-+# include <nanovdb/NanoVDB.h>
-+# define NANOVDB_VERSION(major, minor, patch) (major << 21 | minor << 10 | patch)
-+# if NANOVDB_VERSION(NANOVDB_MAJOR_VERSION_NUMBER, NANOVDB_MINOR_VERSION_NUMBER, NANOVDB_PATCH_VERSION_NUMBER) >= NANOVDB_VERSION(32, 6, 0)
-+# include <nanovdb/util/CreateNanoGrid.h>
-+# else
-+# include <nanovdb/util/OpenToNanoVDB.h>
-+# endif
-+# undef NANOVDB_VERSION
- #endif
-
- CCL_NAMESPACE_BEGIN
-@@ -55,20 +62,35 @@
- FloatGridType floatgrid(*openvdb::gridConstPtrCast<GridType>(grid));
- if constexpr (std::is_same_v<FloatGridType, openvdb::FloatGrid>) {
- if (precision == 0) {
-- nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer,
-- typename FloatGridType::TreeType,
-- nanovdb::FpN>(floatgrid);
-+ if constexpr (nanovdb::Version() >= nanovdb::Version(32,6,0)) {
-+ nanogrid = nanovdb::createNanoGrid(floatgrid);
-+ }
-+ else {
-+ nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer,
-+ typename FloatGridType::TreeType,
-+ nanovdb::FpN>(floatgrid);
-+ }
- return true;
- }
-- else if (precision == 16) {
-- nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer,
-- typename FloatGridType::TreeType,
-- nanovdb::Fp16>(floatgrid);
-+ if (precision == 16) {
-+ if constexpr (nanovdb::Version() > nanovdb::Version(32,4,0)) {
-+ nanogrid = nanovdb::createNanoGrid(floatgrid);
-+ }
-+ else {
-+ nanogrid = nanovdb::openToNanoVDB<nanovdb::HostBuffer,
-+ typename FloatGridType::TreeType,
-+ nanovdb::Fp16>(floatgrid);
-+ }
- return true;
- }
- }
-
-- nanogrid = nanovdb::openToNanoVDB(floatgrid);
-+ if constexpr (nanovdb::Version() > nanovdb::Version(32,4,0)) {
-+ nanogrid = nanovdb::createNanoGrid(floatgrid);
-+ }
-+ else {
-+ nanogrid = nanovdb::openToNanoVDB(floatgrid);
-+ }
- }
- catch (const std::exception &e) {
- VLOG_WARNING << "Error converting OpenVDB to NanoVDB grid: " << e.what();
---- a/CMakeLists.txt 2023-11-23 15:59:58.715805024 +0100
-+++ b/CMakeLists.txt 2023-11-23 16:06:42.352711508 +0100
-@@ -1461,7 +1461,7 @@
- endif()
-
- if(WITH_OPENVDB)
-- list(APPEND OPENVDB_DEFINITIONS -DWITH_OPENVDB)
-+ list(APPEND OPENVDB_DEFINITIONS -DWITH_OPENVDB -DNANOVDB_USE_OPENVDB)
-
- if(WITH_OPENVDB_3_ABI_COMPATIBLE)
- list(APPEND OPENVDB_DEFINITIONS -DOPENVDB_3_ABI_COMPATIBLE)
diff --git a/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch b/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
deleted file mode 100644
index 064abf21c6a6..000000000000
--- a/media-gfx/blender/files/blender-4.0.2-r1-osl-1.13.patch
+++ /dev/null
@@ -1,342 +0,0 @@
-From 798a0b301e640e73ae12e6f8a36a66746893bff1 Mon Sep 17 00:00:00 2001
-From: Brecht Van Lommel <brecht@blender.org>
-Date: Sun, 10 Dec 2023 17:08:47 +0100
-Subject: [PATCH] Cycles: update OSL to work with version 1.13.5
-
-This keeps compatibility with older stable versions, but not
-older unreleased versions in the 1.13.x series.
-
-Ref #113157
-
-Pull Request: https://projects.blender.org/blender/blender/pulls/116004
----
- intern/cycles/device/cpu/device_impl.cpp | 2 +-
- .../device/cpu/kernel_thread_globals.cpp | 6 ++-
- .../cycles/device/cpu/kernel_thread_globals.h | 3 +-
- intern/cycles/kernel/device/cpu/globals.h | 1 +
- intern/cycles/kernel/osl/closures.cpp | 52 ++++++++++++++++++-
- intern/cycles/kernel/osl/globals.cpp | 3 +-
- intern/cycles/kernel/osl/globals.h | 4 +-
- intern/cycles/kernel/osl/osl.h | 5 ++
- intern/cycles/kernel/osl/services.cpp | 27 ++++++++--
- intern/cycles/kernel/osl/services.h | 21 +++++++-
- intern/cycles/kernel/osl/types.h | 4 +-
- 11 files changed, 115 insertions(+), 13 deletions(-)
-
-diff --git a/intern/cycles/device/cpu/device_impl.cpp b/intern/cycles/device/cpu/device_impl.cpp
-index cbbdb844323..ba838233855 100644
---- a/intern/cycles/device/cpu/device_impl.cpp
-+++ b/intern/cycles/device/cpu/device_impl.cpp
-@@ -313,7 +313,7 @@ void CPUDevice::get_cpu_kernel_thread_globals(
- kernel_thread_globals.clear();
- void *osl_memory = get_cpu_osl_memory();
- for (int i = 0; i < info.cpu_threads; i++) {
-- kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler);
-+ kernel_thread_globals.emplace_back(kernel_globals, osl_memory, profiler, i);
- }
- }
-
-diff --git a/intern/cycles/device/cpu/kernel_thread_globals.cpp b/intern/cycles/device/cpu/kernel_thread_globals.cpp
-index 546061a5086..998a63aa334 100644
---- a/intern/cycles/device/cpu/kernel_thread_globals.cpp
-+++ b/intern/cycles/device/cpu/kernel_thread_globals.cpp
-@@ -12,14 +12,16 @@ CCL_NAMESPACE_BEGIN
-
- CPUKernelThreadGlobals::CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals,
- void *osl_globals_memory,
-- Profiler &cpu_profiler)
-+ Profiler &cpu_profiler,
-+ const int thread_index)
- : KernelGlobalsCPU(kernel_globals), cpu_profiler_(cpu_profiler)
- {
- clear_runtime_pointers();
-
- #ifdef WITH_OSL
-- OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory));
-+ OSLGlobals::thread_init(this, static_cast<OSLGlobals *>(osl_globals_memory), thread_index);
- #else
-+ (void)thread_index;
- (void)osl_globals_memory;
- #endif
-
-diff --git a/intern/cycles/device/cpu/kernel_thread_globals.h b/intern/cycles/device/cpu/kernel_thread_globals.h
-index dc4b693702a..3dbc35fefa3 100644
---- a/intern/cycles/device/cpu/kernel_thread_globals.h
-+++ b/intern/cycles/device/cpu/kernel_thread_globals.h
-@@ -23,7 +23,8 @@ class CPUKernelThreadGlobals : public KernelGlobalsCPU {
- * without OSL support. Will avoid need to those unnamed pointers and casts. */
- CPUKernelThreadGlobals(const KernelGlobalsCPU &kernel_globals,
- void *osl_globals_memory,
-- Profiler &cpu_profiler);
-+ Profiler &cpu_profiler,
-+ const int thread_index);
-
- ~CPUKernelThreadGlobals();
-
-diff --git a/intern/cycles/kernel/device/cpu/globals.h b/intern/cycles/kernel/device/cpu/globals.h
-index 90a274b2bcf..d0495883e27 100644
---- a/intern/cycles/kernel/device/cpu/globals.h
-+++ b/intern/cycles/kernel/device/cpu/globals.h
-@@ -49,6 +49,7 @@ typedef struct KernelGlobalsCPU {
- OSLGlobals *osl = nullptr;
- OSLShadingSystem *osl_ss = nullptr;
- OSLThreadData *osl_tdata = nullptr;
-+ int osl_thread_index = 0;
- #endif
-
- #ifdef __PATH_GUIDING__
-diff --git a/intern/cycles/kernel/osl/closures.cpp b/intern/cycles/kernel/osl/closures.cpp
-index 808e13f48d6..4a5906873af 100644
---- a/intern/cycles/kernel/osl/closures.cpp
-+++ b/intern/cycles/kernel/osl/closures.cpp
-@@ -110,7 +110,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
- if (sd->object == OBJECT_NONE && sd->lamp == LAMP_NONE) {
- /* background */
- if (kg->osl->background_state) {
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->background_state),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->background_state), *globals);
-+#endif
- }
- }
- else {
-@@ -150,8 +160,18 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
- globals->dPdy = TO_VEC3(tmp_dP.dy);
- }
-
-- /* execute bump shader */
-+/* execute bump shader */
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->bump_state[shader]),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->bump_state[shader]), *globals);
-+#endif
-
- /* reset state */
- sd->P = P;
-@@ -164,7 +184,17 @@ void osl_eval_nodes<SHADER_TYPE_SURFACE>(const KernelGlobalsCPU *kg,
-
- /* surface shader */
- if (kg->osl->surface_state[shader]) {
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->surface_state[shader]),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->surface_state[shader]), *globals);
-+#endif
- }
- }
-
-@@ -208,7 +238,17 @@ void osl_eval_nodes<SHADER_TYPE_VOLUME>(const KernelGlobalsCPU *kg,
- int shader = sd->shader & SHADER_MASK;
-
- if (kg->osl->volume_state[shader]) {
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->volume_state[shader]),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->volume_state[shader]), *globals);
-+#endif
- }
-
- /* flatten closure tree */
-@@ -245,7 +285,17 @@ void osl_eval_nodes<SHADER_TYPE_DISPLACEMENT>(const KernelGlobalsCPU *kg,
- int shader = sd->shader & SHADER_MASK;
-
- if (kg->osl->displacement_state[shader]) {
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ ss->execute(*octx,
-+ *(kg->osl->displacement_state[shader]),
-+ kg->osl_thread_index,
-+ 0,
-+ *globals,
-+ nullptr,
-+ nullptr);
-+#else
- ss->execute(octx, *(kg->osl->displacement_state[shader]), *globals);
-+#endif
- }
-
- /* get back position */
-diff --git a/intern/cycles/kernel/osl/globals.cpp b/intern/cycles/kernel/osl/globals.cpp
-index c4f055af7f7..573ddb6f362 100644
---- a/intern/cycles/kernel/osl/globals.cpp
-+++ b/intern/cycles/kernel/osl/globals.cpp
-@@ -14,7 +14,7 @@
-
- CCL_NAMESPACE_BEGIN
-
--void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals)
-+void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals, const int thread_index)
- {
- /* no osl used? */
- if (!osl_globals->use) {
-@@ -37,6 +37,7 @@ void OSLGlobals::thread_init(KernelGlobalsCPU *kg, OSLGlobals *osl_globals)
-
- kg->osl_ss = (OSLShadingSystem *)ss;
- kg->osl_tdata = tdata;
-+ kg->osl_thread_index = thread_index;
- }
-
- void OSLGlobals::thread_free(KernelGlobalsCPU *kg)
-diff --git a/intern/cycles/kernel/osl/globals.h b/intern/cycles/kernel/osl/globals.h
-index 9656ef08306..cf24c62613b 100644
---- a/intern/cycles/kernel/osl/globals.h
-+++ b/intern/cycles/kernel/osl/globals.h
-@@ -45,7 +45,9 @@ struct OSLGlobals {
- }
-
- /* per thread data */
-- static void thread_init(struct KernelGlobalsCPU *kg, OSLGlobals *osl_globals);
-+ static void thread_init(struct KernelGlobalsCPU *kg,
-+ OSLGlobals *osl_globals,
-+ const int thread_init);
- static void thread_free(struct KernelGlobalsCPU *kg);
-
- bool use;
-diff --git a/intern/cycles/kernel/osl/osl.h b/intern/cycles/kernel/osl/osl.h
-index 347b635632a..3238eb5096b 100644
---- a/intern/cycles/kernel/osl/osl.h
-+++ b/intern/cycles/kernel/osl/osl.h
-@@ -52,6 +52,11 @@ ccl_device_inline void shaderdata_to_shaderglobals(KernelGlobals kg,
-
- /* shader data to be used in services callbacks */
- globals->renderstate = sd;
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ globals->shadingStateUniform = nullptr;
-+ globals->thread_index = 0;
-+ globals->shade_index = 0;
-+#endif
-
- /* hacky, we leave it to services to fetch actual object matrix */
- globals->shader2common = sd;
-diff --git a/intern/cycles/kernel/osl/services.cpp b/intern/cycles/kernel/osl/services.cpp
-index 02dc1cd1aec..93595b0a458 100644
---- a/intern/cycles/kernel/osl/services.cpp
-+++ b/intern/cycles/kernel/osl/services.cpp
-@@ -1165,7 +1165,18 @@ bool OSLRenderServices::get_userdata(
- return false; /* disabled by lockgeom */
- }
-
--#if OSL_LIBRARY_VERSION_CODE >= 11100
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename,
-+ OSL::ShadingContext *context,
-+ const TextureOpt *opt)
-+{
-+ return get_texture_handle(to_ustring(filename), context, opt);
-+}
-+
-+TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSL::ustring filename,
-+ OSL::ShadingContext *,
-+ const TextureOpt *)
-+#elif OSL_LIBRARY_VERSION_CODE >= 11100
- TextureSystem::TextureHandle *OSLRenderServices::get_texture_handle(OSLUStringHash filename,
- OSL::ShadingContext *)
- #else
-@@ -1616,7 +1627,17 @@ bool OSLRenderServices::environment(OSLUStringHash filename,
- return status;
- }
-
--#if OSL_LIBRARY_VERSION_CODE >= 11100
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
-+ TextureHandle *texture_handle,
-+ TexturePerthread *texture_thread_info,
-+ OSL::ShaderGlobals *,
-+ int subimage,
-+ OSLUStringHash dataname,
-+ TypeDesc datatype,
-+ void *data,
-+ OSLUStringHash *)
-+#elif OSL_LIBRARY_VERSION_CODE >= 11100
- bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
- TextureHandle *texture_handle,
- TexturePerthread *texture_thread_info,
-@@ -1627,7 +1648,7 @@ bool OSLRenderServices::get_texture_info(OSLUStringHash filename,
- void *data,
- OSLUStringHash *)
- #else
--bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *sg,
-+bool OSLRenderServices::get_texture_info(OSL::ShaderGlobals *,
- OSLUStringHash filename,
- TextureHandle *texture_handle,
- int subimage,
-diff --git a/intern/cycles/kernel/osl/services.h b/intern/cycles/kernel/osl/services.h
-index b674fa7c7a7..62d8a4c5416 100644
---- a/intern/cycles/kernel/osl/services.h
-+++ b/intern/cycles/kernel/osl/services.h
-@@ -189,7 +189,14 @@ class OSLRenderServices : public OSL::RendererServices {
- void *val,
- bool derivatives) override;
-
--#if OSL_LIBRARY_VERSION_CODE >= 11100
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ TextureSystem::TextureHandle *get_texture_handle(OSL::ustring filename,
-+ OSL::ShadingContext *context,
-+ const TextureOpt *options) override;
-+ TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename,
-+ OSL::ShadingContext *context,
-+ const TextureOpt *options) override;
-+#elif OSL_LIBRARY_VERSION_CODE >= 11100
- TextureSystem::TextureHandle *get_texture_handle(OSLUStringHash filename,
- OSL::ShadingContext *context) override;
- #else
-@@ -245,7 +252,17 @@ class OSLRenderServices : public OSL::RendererServices {
- float *dresultdt,
- OSLUStringHash *errormessage) override;
-
--#if OSL_LIBRARY_VERSION_CODE >= 11100
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
-+ bool get_texture_info(OSLUStringHash filename,
-+ TextureHandle *texture_handle,
-+ TexturePerthread *texture_thread_info,
-+ OSL::ShaderGlobals *sg,
-+ int subimage,
-+ OSLUStringHash dataname,
-+ TypeDesc datatype,
-+ void *data,
-+ OSLUStringHash *errormessage) override;
-+#elif OSL_LIBRARY_VERSION_CODE >= 11100
- bool get_texture_info(OSLUStringHash filename,
- TextureHandle *texture_handle,
- TexturePerthread *texture_thread_info,
-diff --git a/intern/cycles/kernel/osl/types.h b/intern/cycles/kernel/osl/types.h
-index 71c808ff91b..8cb5779961a 100644
---- a/intern/cycles/kernel/osl/types.h
-+++ b/intern/cycles/kernel/osl/types.h
-@@ -86,8 +86,10 @@ struct ShaderGlobals {
- ccl_private void *tracedata;
- ccl_private void *objdata;
- void *context;
--#if OSL_LIBRARY_VERSION_CODE >= 11302
-+#if OSL_LIBRARY_VERSION_CODE >= 11304
- void *shadingStateUniform;
-+ int thread_index;
-+ int shade_index;
- #endif
- void *renderer;
- ccl_private void *object2common;
diff --git a/media-gfx/blender/metadata.xml b/media-gfx/blender/metadata.xml
index e9c0f2846ae7..927ab93cc1a5 100644
--- a/media-gfx/blender/metadata.xml
+++ b/media-gfx/blender/metadata.xml
@@ -37,8 +37,7 @@
Build cycles renderer with AMD HIP support.
</flag>
<flag name="cycles">
- Build cycles renderer (requires <pkg>media-libs/openimageio</pkg> and
- <pkg>dev-libs/boost</pkg>).
+ Enable the Cycles raytracing render engine.
</flag>
<flag name="cycles-bin-kernels">
Precompile the cycles render kernels for the CUDA/HIP/OneAPI backends, if they are enabled, at compile time.
@@ -57,9 +56,6 @@
<flag name="fluid">
Adds fluid simulation support via the built-in Mantaflow library.
</flag>
- <flag name="headless">
- Build without graphical support (renderfarm, server mode only).
- </flag>
<flag name="nanovdb">
Enable nanoVDB support in Cycles. Uses less memory than regular openVDB when rendering.
</flag>
@@ -68,7 +64,6 @@
</flag>
<flag name="oidn">Enable OpenImageDenoiser Support</flag>
<flag name="oneapi">Build OIDN with Intel oneAPI SyCL support</flag>
- <flag name="openimageio">Enable OpenImageIO Support</flag>
<flag name="openpgl">Enable path guiding support in Cycles</flag>
<flag name="opensubdiv">
Add rendering support form OpenSubdiv from Dreamworks Animation
diff --git a/media-gfx/chafa/chafa-1.12.5-r1.ebuild b/media-gfx/chafa/chafa-1.12.5-r1.ebuild
index 5086db9e3356..06c118fd88ee 100644
--- a/media-gfx/chafa/chafa-1.12.5-r1.ebuild
+++ b/media-gfx/chafa/chafa-1.12.5-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit flag-o-matic
+inherit flag-o-matic libtool
DESCRIPTION="versatile and fast Unicode/ASCII/ANSI graphics renderer"
HOMEPAGE="https://hpjansson.org/chafa/ https://github.com/hpjansson/chafa"
@@ -23,6 +23,16 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # checking for intrinsics, will fail where not supported. bug #927102
+ _mm_popcnt_u64
+)
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
# bug 909429
use webp && append-ldflags -lwebp
diff --git a/media-gfx/chafa/chafa-1.14.1.ebuild b/media-gfx/chafa/chafa-1.14.1.ebuild
index 06484a9f1cb7..7b4ded23c6ce 100644
--- a/media-gfx/chafa/chafa-1.14.1.ebuild
+++ b/media-gfx/chafa/chafa-1.14.1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-inherit flag-o-matic
+inherit flag-o-matic libtool
DESCRIPTION="versatile and fast Unicode/ASCII/ANSI graphics renderer"
HOMEPAGE="https://hpjansson.org/chafa/ https://github.com/hpjansson/chafa"
@@ -11,7 +11,7 @@ SRC_URI="https://hpjansson.org/chafa/releases/${P}.tar.xz"
LICENSE="LGPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~sparc ~x86"
IUSE="+tools webp"
RDEPEND="
@@ -22,6 +22,16 @@ RDEPEND="
DEPEND="${RDEPEND}"
BDEPEND="virtual/pkgconfig"
+QA_CONFIG_IMPL_DECL_SKIP=(
+ # checking for intrinsics, will fail where not supported. bug #927102
+ _mm_popcnt_u64
+)
+
+src_prepare() {
+ default
+ elibtoolize
+}
+
src_configure() {
# bug 909429
use webp && append-ldflags -lwebp
diff --git a/media-gfx/clockphoto/clockphoto-1.2-r1.ebuild b/media-gfx/clockphoto/clockphoto-1.2-r1.ebuild
new file mode 100644
index 000000000000..609fa4a2539f
--- /dev/null
+++ b/media-gfx/clockphoto/clockphoto-1.2-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit qmake-utils
+
+DESCRIPTION="Adjusts photo timestamps based on clock photos"
+HOMEPAGE="https://git.zx2c4.com/clockphoto/about/"
+SRC_URI="https://git.zx2c4.com/clockphoto/snapshot/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtbase:6[gui,widgets]
+"
+RDEPEND="${DEPEND}
+ media-gfx/exiv2
+"
+
+src_configure() {
+ eqmake6
+}
+
+src_install() {
+ dobin clockphoto
+}
diff --git a/media-gfx/converseen/Manifest b/media-gfx/converseen/Manifest
index f88d459fbfa5..f10450e6adeb 100644
--- a/media-gfx/converseen/Manifest
+++ b/media-gfx/converseen/Manifest
@@ -1,2 +1,2 @@
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.9.11.1.ebuild b/media-gfx/converseen/converseen-0.12.2.4.ebuild
index c77e1a0977df..8096327f78f3 100644
--- a/media-gfx/converseen/converseen-0.9.11.1.ebuild
+++ b/media-gfx/converseen/converseen-0.12.2.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -9,31 +9,25 @@ 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"
-KEYWORDS="amd64 x86"
+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}/${PN}-0.9.11.1-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/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/curtail/Manifest b/media-gfx/curtail/Manifest
index 0d0a21a3ab60..54574a1d99c7 100644
--- a/media-gfx/curtail/Manifest
+++ b/media-gfx/curtail/Manifest
@@ -1,3 +1,2 @@
-DIST curtail-1.10.0.tar.gz 205428 BLAKE2B 7a9d1c56542648cd1c4c6fe1355276896bea96a8f054d03c2e4a174e392867db05c3a6548897d31f078b2416eac8b3695cafd3977236f0b66fd10f3020e35d3a SHA512 6bd76b4cefd693199e25db112e90acaa990d2a8dbc2016bd9d55e8d1857bd9c6e94f9164691855231afeff65ae3b070c646a8dc8b446591a08509683dd4a9fb7
-DIST curtail-1.11.0.tar.gz 208900 BLAKE2B b1f9fdff8d974ba20345100b24b783c72f241e8612c28468eec424dbe8781affd88523953299a7f5d90575db7c6727e6fa7a4a1e7439dcb94c47806fb77412cf SHA512 eb5bf7400fa97d14d67a0eecaeee2c3cc6b3407b882a5ae42bb517df98429997fe4448a7852c55a39177f035764e4e544f13fb89d7a55e5b6a01a549acc71ecb
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.10.0.ebuild b/media-gfx/curtail/curtail-1.10.0.ebuild
deleted file mode 100644
index c698273b9338..000000000000
--- a/media-gfx/curtail/curtail-1.10.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2024 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/curtail/curtail-1.11.1.ebuild b/media-gfx/curtail/curtail-1.11.1.ebuild
index 8db3728be1ae..c698273b9338 100644
--- a/media-gfx/curtail/curtail-1.11.1.ebuild
+++ b/media-gfx/curtail/curtail-1.11.1.ebuild
@@ -19,7 +19,7 @@ else
-> ${P}.tar.gz"
S="${WORKDIR}/${P^}"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 ~x86"
fi
LICENSE="GPL-3+"
diff --git a/media-gfx/curtail/curtail-1.11.0.ebuild b/media-gfx/curtail/curtail-1.12.0.ebuild
index 8db3728be1ae..d2791e61121b 100644
--- a/media-gfx/curtail/curtail-1.11.0.ebuild
+++ b/media-gfx/curtail/curtail-1.12.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/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 860bbe9e07a7..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 virtual/rust) which
-# by default pull in sys-devel/clang
-# - as a result of the above, for most gcc users adding the above to BDEPEND is a no-op
-# (and curiously enough, empirical observations suggest current versions of Portage are
-# more likely to pull in Clang to build darktable with than to request enabling USE=graphite
-# on GCC; that might be a bug though)
-BDEPEND="dev-util/intltool
- virtual/pkgconfig
- nls? ( sys-devel/gettext )
- test? ( >=dev-python/jsonschema-3.2.0 )"
-DEPEND="dev-db/sqlite:3
- dev-libs/icu:=
- dev-libs/json-glib
- dev-libs/libxml2:2
- >=dev-libs/pugixml-1.8:=
- gnome-base/librsvg:2
- >=media-gfx/exiv2-0.25-r2:=[xmp]
- media-libs/lcms:2
- >=media-libs/lensfun-0.2.3:=
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/tiff:=
- net-libs/libsoup:2.4
- net-misc/curl
- sys-libs/zlib:=
- x11-libs/cairo
- >=x11-libs/gtk+-3.22:3
- x11-libs/pango
- avif? ( >=media-libs/libavif-0.8.2:= )
- colord? ( x11-libs/colord-gtk:= )
- cups? ( net-print/cups )
- gamepad? ( media-libs/libsdl2 )
- geolocation? ( >=sci-geosciences/osm-gps-map-1.1.0 )
- keyring? ( >=app-crypt/libsecret-0.18 )
- gphoto2? ( media-libs/libgphoto2:= )
- graphicsmagick? ( media-gfx/graphicsmagick )
- heif? ( media-libs/libheif:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- jpegxl? ( media-libs/libjxl:= )
- lua? ( ${LUA_DEPS} )
- midi? ( media-libs/portmidi )
- opencl? ( virtual/opencl )
- openexr? ( media-libs/openexr:= )
- webp? ( media-libs/libwebp:= )"
-RDEPEND="${DEPEND}
- kwallet? ( >=kde-frameworks/kwallet-5.34.0-r1:* )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.4.0_jsonschema-automagic.patch
- "${FILESDIR}"/${PN}-3.4.1_libxcf-cmake.patch
- "${FILESDIR}"/${PN}-4.2.1_cmake-musl.patch
- "${FILESDIR}"/${PN}-4.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 b3eeef397175..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 virtual/rust) which
-# by default pull in sys-devel/clang
+# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which
+# 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 43f3c82865fb..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 virtual/rust) which
-# by default pull in sys-devel/clang
+# - there are at least two darktable dependencies (media-libs/mesa and dev-lang/rust) which
+# 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 8bfc5ec254a6..0c951842845e 100644
--- a/media-gfx/digikam/Manifest
+++ b/media-gfx/digikam/Manifest
@@ -1,2 +1 @@
-DIST digiKam-8.4.0.tar.xz 58025616 BLAKE2B 33441e023cd9d6edba2e7c01e482a6eea7a6b1972b6bad0fc804fb3e94f97cc62e2663690137b2445fb7043789b7e942d830b71209385de77ccffe57d22d09ff SHA512 4342d18a7c04ab239821de3cf908f8e7d676598778f0174164aa336e8cfdc0a76327d31c64e6c4e47dcf0d6fbef46b01918312e4622ce3359888a9a94948a22b
-DIST digikam-8.4.0-patchset.tar.xz 11904 BLAKE2B 6ab167cae66710505eb81bb538fde2a81458b6580bf8c70d0c28500ca81a3c9c9b9e0a12ca288a4dc6f39ae1a175f7b2bd09e4d94624337348084c228eafcc38 SHA512 df1199d3aaecc0afc032090424af69c031e95afba1fed70b00cf61c5ef52fa2a7c3d97918592c167f9ea918dd2823e4cc52f12a470a9eede815b3ff43314001b
+DIST digiKam-8.5.0.tar.xz 62028432 BLAKE2B ef061b73e72d9b2ad3da361fcdd3e27a4758b1ef837adde1a405cfbd759cc950d373464765f5ff07f36e8457c6c9c15550002e3ebd94215b154d2c51723192ee SHA512 5610f0173043e29a2b5ff62b2ed2c2bea79e10cd20a0c2416ebb425457cee55aa8b8d575ba57e8e188a899cc909516ea05e6c80e73e3316742cc9e8119855509
diff --git a/media-gfx/digikam/digikam-8.4.0-r11.ebuild b/media-gfx/digikam/digikam-8.5.0-r1.ebuild
index ab9884b9b338..4c3b3f8ba5ce 100644
--- a/media-gfx/digikam/digikam-8.4.0-r11.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
@@ -9,8 +9,7 @@ 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"
+SRC_URI="mirror://kde/stable/${PN}/${PV}/digiKam-${PV/_/-}.tar.xz"
LICENSE="GPL-2"
SLOT="0"
@@ -20,9 +19,10 @@ IUSE="addressbook calendar geolocation gphoto2 heif +imagemagick jpegxl +lensfun
# bug 366505
RESTRICT="test"
+# slot op: Uses Qt::GuiPrivate for qtx11extras_p.h
COMMON_DEPEND="
dev-libs/expat
- >=dev-qt/qtbase-${QTMIN}:6[concurrent,dbus,-gles2-only,gui,mysql?,network,opengl,sql,widgets,xml]
+ >=dev-qt/qtbase-${QTMIN}:6=[concurrent,dbus,-gles2-only,gui,mysql?,network,opengl,sql,widgets,X,xml]
>=dev-qt/qtnetworkauth-${QTMIN}:6
>=dev-qt/qtscxml-${QTMIN}:6
>=dev-qt/qtsvg-${QTMIN}:6
@@ -90,9 +90,7 @@ BDEPEND="
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"
+ "${FILESDIR}/${P}-cmake-have_ksane.patch" # bug 947312
)
pkg_pretend() {
@@ -106,6 +104,8 @@ pkg_setup() {
}
# FIXME: Unbundle libraw (libs/rawengine/libraw)
+# TODO: adding IUSE X requires upstreaming WITH_X11 option for libX11,
+# see core/cmake/rules/RulesX11.cmake; only used in core/libs/dimg/filters/icc
src_configure() {
local mycmakeargs=(
-DBUILD_WITH_QT6=ON
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/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/eom/eom-1.28.0-r2.ebuild b/media-gfx/eom/eom-1.28.0-r2.ebuild
index 10c964ed3f26..81c1360b9e0a 100644
--- a/media-gfx/eom/eom-1.28.0-r2.ebuild
+++ b/media-gfx/eom/eom-1.28.0-r2.ebuild
@@ -7,7 +7,7 @@ inherit gnome2 mate optfeature
MINOR=$(($(ver_cut 2) % 2))
if [[ ${MINOR} -eq 0 ]]; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+ KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
fi
DESCRIPTION="The MATE image viewer"
diff --git a/media-gfx/exact-image/exact-image-1.2.1-r2.ebuild b/media-gfx/exact-image/exact-image-1.2.1-r2.ebuild
index 09f63e97b42e..5d41f6680a15 100644
--- a/media-gfx/exact-image/exact-image-1.2.1-r2.ebuild
+++ b/media-gfx/exact-image/exact-image-1.2.1-r2.ebuild
@@ -13,7 +13,7 @@ SRC_URI="http://dl.exactcode.de/oss/${PN}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~x86"
IUSE="expat jpeg jpegxl lua openexr perl png swig tiff truetype X"
REQUIRED_USE="lua? ( swig ) perl? ( swig )"
# Tests are broken; 'make check' fails and referenced testsuite dir not found
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..3cfbef6d681d 100644
--- a/media-gfx/fotema/Manifest
+++ b/media-gfx/fotema/Manifest
@@ -1,3 +1,6 @@
-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.18.3-crates.tar.xz 62354556 BLAKE2B 6b8af1e6edf5efb751f60803b27e8001d916854bd7cdcf4e9a06bc21cfdd856e80ee58cc59fbd7750da5f159f3b231c597f4660534b65cb38dcc7421cd24213f SHA512 811df7a370b500c1e1cb8e9218026bb30b17da3860a88d8972601459c9c54101c18a59885040a2306ccc7c18081a1c3e7148ebb8b9bd48d3dfdba86157345192
+DIST fotema-1.18.3.gh.tar.gz 8947271 BLAKE2B 7e1ba24aa38b1bd8b1e8291fa0bfcb7aad5d36f366bb5a0cc7114c5d72cef3083918f6a28cfcee713bf8e079822ee61146e1ee508dd0740f53591878078534aa SHA512 fa8bee36328b5a261eef7e1ef123dab724fb7521e77c5b8e3e4104d0693d4a16b486cc9f19149b6e4aeae8c598f910214a72c3d5ddb93cc1f74848f2100f66ec
+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-rust-faces-43c0d5acd6f3f4d90c6487708f2e511a73bf7c9e.gh.tar.gz 839519 BLAKE2B 7ba344d55c5d108e63556dda32aaf60cfbd2b14a05e2965ca69e54e2aab578f6ba49f7a7b89d6c32cb5ace4b80f7a84247dcbb43a98d5d709895810798966b0b SHA512 aac99659e2d82d342f52b5860d9f1e284e1658fa9e0986b1c54a81cc33f6391535a2773d79defc6a7bf1e52591dc91d91a1ef3742c38e599baed79975b42de51
diff --git a/media-gfx/fotema/fotema-1.14.2-r1.ebuild b/media-gfx/fotema/fotema-1.14.4-r1.ebuild
index 34219ad68ea2..34219ad68ea2 100644
--- a/media-gfx/fotema/fotema-1.14.2-r1.ebuild
+++ b/media-gfx/fotema/fotema-1.14.4-r1.ebuild
diff --git a/media-gfx/fotema/fotema-1.14.4.ebuild b/media-gfx/fotema/fotema-1.18.3.ebuild
index 34219ad68ea2..33bdf6a09676 100644
--- a/media-gfx/fotema/fotema-1.14.4.ebuild
+++ b/media-gfx/fotema/fotema-1.18.3.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.ebuild b/media-gfx/fotema/fotema-1.19.0.ebuild
index 34219ad68ea2..33bdf6a09676 100644
--- a/media-gfx/fotema/fotema-1.14.3.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/fotocx/Manifest b/media-gfx/fotocx/Manifest
index b79409e7262d..f8d1cd9a224c 100644
--- a/media-gfx/fotocx/Manifest
+++ b/media-gfx/fotocx/Manifest
@@ -1,2 +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-24.70.ebuild b/media-gfx/fotocx/fotocx-24.70.ebuild
new file mode 100644
index 000000000000..8eee122865a7
--- /dev/null
+++ b/media-gfx/fotocx/fotocx-24.70.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit optfeature xdg-utils
+
+DESCRIPTION="Program for improving image files made with a digital camera"
+HOMEPAGE="https://kornelix.net/fotocx/fotocx.html"
+SRC_URI="https://kornelix.net/downloads/downloads/${P}-source.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# For required dependencies read doc/README, for required tools read
+# data/userguide [INSTALLATION]. xdg-open (x11-misc/xdg-utils) is an
+# alternative to firefox and chromium-browser. `grep '"which ' * -R`
+# is helpful to report some required tools run via the shell.
+
+DEPEND="
+ media-libs/clutter
+ media-libs/clutter-gtk
+ media-libs/lcms:2
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/tiff:=
+ media-libs/libchamplain[gtk]
+ x11-libs/gtk+:3"
+RDEPEND="
+ ${DEPEND}
+ media-gfx/dcraw
+ media-libs/exiftool
+ x11-misc/xdg-utils
+"
+
+PATCHES=( "${FILESDIR}/${PN}-24.20-documentation.patch" )
+
+DOCS=()
+HTML_DOCS=()
+
+src_prepare() {
+ sed -i -e "/^DOCDIR/ s/${PN}$/${PF}/" Makefile || die
+ sed -i -e "/^Icon/ s/\.png$//" ${PN}.desktop || die
+ default
+}
+
+src_install() {
+ # For the Help menu items to work, *.html must be in /usr/share/doc/${PF},
+ # and README, changelog, copyright, license, etc. must not be compressed.
+ emake DESTDIR="${D}" PREFIX="/usr" install
+ rm -f "${D}"/usr/share/doc/${PF}/*.man || die
+ docompress -x /usr/share/doc
+}
+
+pkg_postinst() {
+ optfeature "HEIC & AVIF file support" media-libs/libheif
+ optfeature "additional RAW file support" media-gfx/rawtherapee
+ optfeature "additional RAW file support" media-gfx/darktable
+ optfeature "video thumbnails & playback" media-video/ffmpeg
+ optfeature "copying images to optical media" app-cdr/dvd+rw-tools
+ optfeature "WEBP file support" media-libs/libwebp
+
+ elog
+ elog "Please read the Help > User Guide for details. The source location is"
+ elog "/usr/share/fotocx/data/userguide and after running fotocx a copy will"
+ elog "be placed at /home/<user>/.fotocx/userguide."
+ elog
+ elog "To play videos, in Tools > Preferences set 'Video File Play Command'."
+ elog
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
diff --git a/media-gfx/fotocx/fotocx-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/Manifest b/media-gfx/freecad/Manifest
index 94fb1f903861..6c17cf764fe5 100644
--- a/media-gfx/freecad/Manifest
+++ b/media-gfx/freecad/Manifest
@@ -1,3 +1 @@
-DIST freecad-0.21.2.tar.gz 66124278 BLAKE2B 84a4f8008192cd1a2ee1737b537b2668a8c028aa8c8645e6e412ab9ef79bf3bdd2cb73d96fcfd2dbcff613cdcc59cbab95821406acdc9cd7d4eb4636c081be78 SHA512 bd7e9029b24d49ac0955797bcdbea1fd0826bdf9ab246135366dfc35b427004f103acccfc66d008e3ab3928f99e04200e335908a03166545554e2d3e969ae0f5
-DIST freecad-1.0_rc1.tar.gz 88552055 BLAKE2B 3e2607d87da86edd35c05abba0d7085bed7fc42f9831c7e2451e028b3ce267c7a1e44b82c9a51bdfc736b5c98198030aafb81a7ae5df158ae17bc5afe2df44e0 SHA512 1d0a0d131c35ee03b435a0b901cb56c8e98ce2dd62ff5102856b3777dfc6d3bfba6ff4ea87e8c8949640bd14fdb775db3e9eb9a8b6530dd1f86a903037c95dba
-DIST freecad-1.0_rc2.tar.gz 88511772 BLAKE2B e1ef1ca08dee75d05a0044443712cda1b0c6d53b69d2d7fbe28987427678fe2a721f45bc9a844b8b733542214015265244649d772e7d94cd438d7e25f340c970 SHA512 b9187d7f677896fdd6b18d92c97a02975e313d255a1dbac54525be013e332eebf617c15a50be9736c2c382be8f37e04a6b9877ad0c56fa4b8a58ea585ee721cf
+DIST freecad-1.0.0.tar.gz 91599325 BLAKE2B 65540eb42e7d508456c9edbf2122e0f288708c33e6d00d3c8c45550e7a614f658f91ba25978a66819bc094b7138aab72a89c0172d0841be1ff798ade5a8bdc64 SHA512 afc1079ea04fd5bb8135f8ad1012d9e4e05c8839dd0a4e00253eada58fe018f445c1200d1ca7ac9f268644c946cbf55b7b313dc3d6bd010f9da3a3334103b7db
diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch
deleted file mode 100644
index cbb78d5bdc94..000000000000
--- a/media-gfx/freecad/files/freecad-0.21.2-boost-175-1.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From f555a25f9e67e628e8075fc8599d7c11807eaddd Mon Sep 17 00:00:00 2001
-From: wmayer <wmayer@users.sourceforge.net>
-Date: Sun, 21 Apr 2024 08:36:16 +0200
-Subject: [PATCH] Fixes #13549: smesh doesn't compile with boost 1.85
-
----
- src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
-index d72ff2363f39..f108cbbcb2cf 100644
---- a/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
-+++ b/src/3rdParty/salomesmesh/src/SMESH/DriverGMF.cpp
-@@ -55,7 +55,7 @@ namespace DriverGMF
-
- bool isExtensionCorrect( const std::string& fileName )
- {
-- std::string ext = boost::filesystem::extension(fileName);
-+ std::string ext = boost::filesystem::path(fileName).extension().string();
- switch ( ext.size() ) {
- case 5: return ( ext == ".mesh" || ext == ".solb" );
- case 6: return ( ext == ".meshb" );
diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch
deleted file mode 100644
index 5f0807028859..000000000000
--- a/media-gfx/freecad/files/freecad-0.21.2-boost-175-2.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-From aa54ba73df4d42878130c99688be35acf10725a0 Mon Sep 17 00:00:00 2001
-From: ppphp <kevinniub@gmail.com>
-Date: Sat, 30 Mar 2024 13:52:32 +0800
-Subject: [PATCH] fix: c++20 deprecate copy_option
-
----
- src/Gui/PreferencePackManager.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
-index e0e6184a3147..e1773a436852 100644
---- a/src/Gui/PreferencePackManager.cpp
-+++ b/src/Gui/PreferencePackManager.cpp
-@@ -224,7 +224,7 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
- auto savedPreferencePacksDirectory =
- fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
- auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
-- fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
-+ fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
- rescan();
- }
-
diff --git a/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch b/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch
deleted file mode 100644
index c4c8039dab49..000000000000
--- a/media-gfx/freecad/files/freecad-0.21.2-boost-175-3.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 91457bbdee2422c7f0372688cf72d021cf222073 Mon Sep 17 00:00:00 2001
-From: ppphp <kevinniub@gmail.com>
-Date: Sat, 30 Mar 2024 19:17:56 +0800
-Subject: [PATCH] add version check macro for compatibility
-
----
- src/Gui/PreferencePackManager.cpp | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/Gui/PreferencePackManager.cpp b/src/Gui/PreferencePackManager.cpp
-index e1773a436852..dfc54240c00c 100644
---- a/src/Gui/PreferencePackManager.cpp
-+++ b/src/Gui/PreferencePackManager.cpp
-@@ -224,7 +224,11 @@ void Gui::PreferencePackManager::importConfig(const std::string& packName,
- auto savedPreferencePacksDirectory =
- fs::path(App::Application::getUserAppDataDir()) / "SavedPreferencePacks";
- auto cfgFilename = savedPreferencePacksDirectory / packName / (packName + ".cfg");
-+#if BOOST_VERSION >= 107400
- fs::copy_file(path, cfgFilename, fs::copy_options::overwrite_existing);
-+#else
-+ fs::copy_file(path, cfgFilename, fs::copy_option::overwrite_if_exists);
-+#endif
- rescan();
- }
-
diff --git a/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch
deleted file mode 100644
index 0ab999771068..000000000000
--- a/media-gfx/freecad/files/freecad-0.21.2-navcube-qt6.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From ccaee18917432fd02e4371a7847bdfaf0692edd1 Mon Sep 17 00:00:00 2001
-From: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
-Date: Sun, 19 May 2024 23:23:45 -0300
-Subject: [PATCH] Gui: Fix NaviCube for Qt6
-
----
- src/Gui/NaviCube.cpp | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/src/Gui/NaviCube.cpp b/src/Gui/NaviCube.cpp
-index 2d164f196b3c..9e3a62d66c81 100644
---- a/src/Gui/NaviCube.cpp
-+++ b/src/Gui/NaviCube.cpp
-@@ -926,6 +926,7 @@ NaviCubeImplementation::PickId NaviCubeImplementation::pickFace(short x, short y
- GLubyte pixels[4] = {0};
- if (m_PickingFramebuffer && std::abs(x) <= m_CubeWidgetSize / 2 &&
- std::abs(y) <= m_CubeWidgetSize / 2) {
-+ static_cast<QtGLWidget*>(m_View3DInventorViewer->viewport())->makeCurrent();
- m_PickingFramebuffer->bind();
-
- glViewport(0, 0, m_CubeWidgetSize * 2, m_CubeWidgetSize * 2);
-@@ -936,6 +937,7 @@ NaviCubeImplementation::PickId NaviCubeImplementation::pickFace(short x, short y
- glReadPixels(2 * x + m_CubeWidgetSize, 2 * y + m_CubeWidgetSize, 1, 1,
- GL_RGBA, GL_UNSIGNED_BYTE, &pixels);
- m_PickingFramebuffer->release();
-+ static_cast<QtGLWidget*>(m_View3DInventorViewer->viewport())->doneCurrent();
- }
- return pixels[3] == 255 ? static_cast<PickId>(pixels[0]) : PickId::None;
- }
diff --git a/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch
deleted file mode 100644
index c1fe31ab05ad..000000000000
--- a/media-gfx/freecad/files/freecad-0.21.2-py312-qt6.patch
+++ /dev/null
@@ -1,186 +0,0 @@
-From 6043c90462e85fbf15e30ea4c7da7d9a22d570f2 Mon Sep 17 00:00:00 2001
-From: wmayer <wmayer@users.sourceforge.net>
-Date: Wed, 7 Feb 2024 15:25:13 +0100
-Subject: [PATCH] Py3.12: harmonize with upstream of PyCXX
-
----
- src/CXX/IndirectPythonInterface.cxx | 36 +++++++++++++++------
- src/CXX/Python3/IndirectPythonInterface.hxx | 6 ++--
- src/CXX/Python3/cxx_extensions.cxx | 2 +-
- src/CXX/Python3/cxxextensions.c | 10 ++++++
- src/CXX/Version.hxx | 2 +-
- 5 files changed, 42 insertions(+), 14 deletions(-)
-
-diff --git a/src/CXX/IndirectPythonInterface.cxx b/src/CXX/IndirectPythonInterface.cxx
-index 3d810cea88a5..fc9e45cbd64f 100644
---- a/src/CXX/IndirectPythonInterface.cxx
-+++ b/src/CXX/IndirectPythonInterface.cxx
-@@ -122,17 +122,21 @@ static PyTypeObject *ptr__Bytes_Type = NULL;
- # endif
-
- # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
-+# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
- static int *ptr_Py_DebugFlag = NULL;
- static int *ptr_Py_InteractiveFlag = NULL;
- static int *ptr_Py_OptimizeFlag = NULL;
- static int *ptr_Py_NoSiteFlag = NULL;
- static int *ptr_Py_VerboseFlag = NULL;
-+# endif
-
--# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
- static const char **ptr__Py_PackageContext = NULL;
--# else
-+# else
- static char **ptr__Py_PackageContext = NULL;
--# endif
-+# endif
-+# endif
- # endif
-
- # ifdef Py_REF_DEBUG
-@@ -242,17 +246,21 @@ bool InitialisePythonIndirectInterface()
- ptr_Py_RefTotal = GetInt_as_IntPointer( "_Py_RefTotal" );
- # endif
- # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
-+# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
- ptr_Py_DebugFlag = GetInt_as_IntPointer( "Py_DebugFlag" );
- ptr_Py_InteractiveFlag = GetInt_as_IntPointer( "Py_InteractiveFlag" );
- ptr_Py_OptimizeFlag = GetInt_as_IntPointer( "Py_OptimizeFlag" );
- ptr_Py_NoSiteFlag = GetInt_as_IntPointer( "Py_NoSiteFlag" );
- ptr_Py_VerboseFlag = GetInt_as_IntPointer( "Py_VerboseFlag" );
-+# endif
-
--# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
- ptr__Py_PackageContext = GetConstCharPointer_as_ConstCharPointerPointer( "_Py_PackageContext" );
--# else
-+# else
- ptr__Py_PackageContext = GetCharPointer_as_CharPointerPointer( "_Py_PackageContext" );
--# endif
-+# endif
-+# endif
- # endif
-
- # define PYCXX_STANDARD_EXCEPTION( eclass, bclass )
-@@ -397,17 +405,21 @@ PYCXX_EXPORT PyTypeObject *_Bytes_Type() { return ptr__Bytes_Type; }
- // wrap the Python Flag variables
- //
- # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
-+# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
- PYCXX_EXPORT int &_Py_DebugFlag() { return *ptr_Py_DebugFlag; }
- PYCXX_EXPORT int &_Py_InteractiveFlag() { return *ptr_Py_InteractiveFlag; }
- PYCXX_EXPORT int &_Py_OptimizeFlag() { return *ptr_Py_OptimizeFlag; }
- PYCXX_EXPORT int &_Py_NoSiteFlag() { return *ptr_Py_NoSiteFlag; }
- PYCXX_EXPORT int &_Py_VerboseFlag() { return *ptr_Py_VerboseFlag; }
-+# endif
- # endif
-
--# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
- PYCXX_EXPORT const char *__Py_PackageContext() { return *ptr__Py_PackageContext; }
--# else
-+# else
- PYCXX_EXPORT char *__Py_PackageContext() { return *ptr__Py_PackageContext; }
-+# endif
- # endif
-
- # if 0
-@@ -518,15 +530,19 @@ PYCXX_EXPORT PyTypeObject *_Bytes_Type() { return &PyBytes_Type; }
- // wrap flags
- //
- # if PY_MAJOR_VERSION == 2 || !defined( Py_LIMITED_API )
-+# if PY_MAJOR_VERSION == 2 || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11)
- PYCXX_EXPORT int &_Py_DebugFlag() { return Py_DebugFlag; }
- PYCXX_EXPORT int &_Py_InteractiveFlag() { return Py_InteractiveFlag; }
- PYCXX_EXPORT int &_Py_OptimizeFlag() { return Py_OptimizeFlag; }
- PYCXX_EXPORT int &_Py_NoSiteFlag() { return Py_NoSiteFlag; }
- PYCXX_EXPORT int &_Py_VerboseFlag() { return Py_VerboseFlag; }
--# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
-+# endif
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
- PYCXX_EXPORT const char *__Py_PackageContext() { return _Py_PackageContext; }
--# else
-+# else
- PYCXX_EXPORT char *__Py_PackageContext() { return _Py_PackageContext; }
-+# endif
- # endif
- # endif
-
-diff --git a/src/CXX/Python3/IndirectPythonInterface.hxx b/src/CXX/Python3/IndirectPythonInterface.hxx
-index bf2c15c53f9a..eb4ae4fe63b9 100644
---- a/src/CXX/Python3/IndirectPythonInterface.hxx
-+++ b/src/CXX/Python3/IndirectPythonInterface.hxx
-@@ -149,10 +149,12 @@ PYCXX_EXPORT int &_Py_NoSiteFlag();
- PYCXX_EXPORT int &_Py_TabcheckFlag();
- PYCXX_EXPORT int &_Py_VerboseFlag();
-
--# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION <= 11
-+# if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 7
- PYCXX_EXPORT const char *__Py_PackageContext();
--# else
-+# else
- PYCXX_EXPORT char *__Py_PackageContext();
-+# endif
- # endif
- # endif
-
-diff --git a/src/CXX/Python3/cxx_extensions.cxx b/src/CXX/Python3/cxx_extensions.cxx
-index 7371810be4a9..e6eefdafea17 100644
---- a/src/CXX/Python3/cxx_extensions.cxx
-+++ b/src/CXX/Python3/cxx_extensions.cxx
-@@ -152,7 +152,7 @@ PyMethodDef *MethodTable::table()
- //================================================================================
- ExtensionModuleBase::ExtensionModuleBase( const char *name )
- : m_module_name( name )
--#if defined( Py_LIMITED_API )
-+#if defined( Py_LIMITED_API ) || (PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 12)
- , m_full_module_name( m_module_name )
- #else
- , m_full_module_name( __Py_PackageContext() != NULL ? std::string( __Py_PackageContext() ) : m_module_name )
-diff --git a/src/CXX/Python3/cxxextensions.c b/src/CXX/Python3/cxxextensions.c
-index 3b0f8ef7c588..afb9313ad0a8 100644
---- a/src/CXX/Python3/cxxextensions.c
-+++ b/src/CXX/Python3/cxxextensions.c
-@@ -42,6 +42,14 @@ extern "C"
- {
- #endif
-
-+#if PY_MAJOR_VERSION == 3 && PY_MINOR_VERSION >= 13
-+PyObject py_object_initializer =
-+ {
-+ { 1 },
-+ NULL // type must be init'ed by user
-+ };
-+
-+#else
- PyObject py_object_initializer =
- {
- _PyObject_EXTRA_INIT
-@@ -49,6 +57,8 @@ PyObject py_object_initializer =
- NULL // type must be init'ed by user
- };
-
-+#endif
-+
- #ifdef __cplusplus
- }
- #endif
-diff --git a/src/CXX/Version.hxx b/src/CXX/Version.hxx
-index e6069aad335e..59fe3c203b86 100644
---- a/src/CXX/Version.hxx
-+++ b/src/CXX/Version.hxx
-@@ -40,7 +40,7 @@
-
- #define PYCXX_VERSION_MAJOR 7
- #define PYCXX_VERSION_MINOR 1
--#define PYCXX_VERSION_PATCH 7
-+#define PYCXX_VERSION_PATCH 9
- #define PYCXX_MAKEVERSION( major, minor, patch ) ((major<<16)|(minor<<8)|(patch))
- #define PYCXX_VERSION PYCXX_MAKEVERSION( PYCXX_VERSION_MAJOR, PYCXX_VERSION_MINOR, PYCXX_VERSION_PATCH )
- #endif
diff --git a/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch b/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch
deleted file mode 100644
index 505862aa2bf1..000000000000
--- a/media-gfx/freecad/files/freecad-0.21.2-qtsvg-qt6.patch
+++ /dev/null
@@ -1,148 +0,0 @@
-From ac9a88c2c59a2d2002a7740a1597a05c819220e0 Mon Sep 17 00:00:00 2001
-From: wmayer <wmayer@users.sourceforge.net>
-Date: Sat, 20 Apr 2024 14:02:38 +0200
-Subject: [PATCH] PySide6: Fixes #13533: QSvgWidget is not a child of QtSvg in
- PySide6
-
-* Create a compatibility module QtSvgWidgets.py to handle PySide2 & PySide6
-* In the Arch and Material modules use the QtSvgWidgets module
-* Since Qt6 the method QFont.setWeight() doesn't accept an int any more but requires an enum. Since the call of QFont.setBold(True) sets
- a weight of 75 the extra calls of QFont.setWeight(75) can be safely removed
----
- cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake | 3 +++
- src/Mod/Arch/ArchPrecast.py | 8 ++++----
- src/Mod/Arch/ArchWindow.py | 4 ++--
- src/Mod/Arch/importIFClegacy.py | 1 -
- src/Mod/Draft/DraftGui.py | 1 -
- src/Mod/Material/MaterialEditor.py | 6 +++---
- 6 files changed, 12 insertions(+), 11 deletions(-)
-
-diff --git a/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake b/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
-index 0569c1fde9f2..fa872e287b59 100644
---- a/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
-+++ b/cMake/FreeCAD_Helpers/SetupShibokenAndPyside.cmake
-@@ -91,9 +91,12 @@ macro(SetupShibokenAndPyside)
- file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWidgets import *\n")
- if(PYSIDE_MAJOR_VERSION LESS 6)
- file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n")
-+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QGraphicsSvgItem\n"
-+ "from PySide${PYSIDE_MAJOR_VERSION}.QtSvg import QSvgWidget\n")
- else()
- file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtWebEngineWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineWidgets import *\n"
- "from PySide${PYSIDE_MAJOR_VERSION}.QtWebEngineCore import QWebEnginePage\n")
-+ file(WRITE ${CMAKE_BINARY_DIR}/Ext/PySide/QtSvgWidgets.py "from PySide${PYSIDE_MAJOR_VERSION}.QtSvgWidgets import *\n")
- endif()
- endif()
-
-diff --git a/src/Mod/Arch/ArchPrecast.py b/src/Mod/Arch/ArchPrecast.py
-index 7bb929b10e34..2f482902c1ce 100644
---- a/src/Mod/Arch/ArchPrecast.py
-+++ b/src/Mod/Arch/ArchPrecast.py
-@@ -777,14 +777,14 @@ class _PrecastTaskPanel:
- def __init__(self):
-
- import FreeCADGui
-- from PySide import QtCore,QtGui,QtSvg
-+ from PySide import QtCore,QtGui,QtSvgWidgets
- self.form = QtGui.QWidget()
- self.grid = QtGui.QGridLayout(self.form)
- self.PrecastTypes = ["Beam","I-Beam","Pillar","Panel","Slab","Stairs"]
- self.SlabTypes = ["Champagne","Hat"]
-
- # image display
-- self.preview = QtSvg.QSvgWidget(":/ui/ParametersBeam.svg")
-+ self.preview = QtSvgWidgets.QSvgWidget(":/ui/ParametersBeam.svg")
- self.preview.setMaximumWidth(200)
- self.preview.setMinimumHeight(120)
- self.grid.addWidget(self.preview,0,0,1,2)
-@@ -1263,7 +1263,7 @@ class _DentsTaskPanel:
- def __init__(self):
-
- import FreeCADGui
-- from PySide import QtCore,QtGui,QtSvg
-+ from PySide import QtCore,QtGui,QtSvgWidgets
- self.form = QtGui.QWidget()
- self.grid = QtGui.QGridLayout(self.form)
- self.Rotations = ["N","S","E","O"]
-@@ -1282,7 +1282,7 @@ def __init__(self):
- self.grid.addWidget(self.buttonRemove,2,1,1,1)
-
- # image display
-- self.preview = QtSvg.QSvgWidget(":/ui/ParametersDent.svg")
-+ self.preview = QtSvgWidgets.QSvgWidget(":/ui/ParametersDent.svg")
- self.preview.setMaximumWidth(200)
- self.preview.setMinimumHeight(120)
- self.grid.addWidget(self.preview,3,0,1,2)
-diff --git a/src/Mod/Arch/ArchWindow.py b/src/Mod/Arch/ArchWindow.py
-index f3c11c5e9c7a..dc9c84f9a8bf 100644
---- a/src/Mod/Arch/ArchWindow.py
-+++ b/src/Mod/Arch/ArchWindow.py
-@@ -34,7 +34,7 @@
-
- if FreeCAD.GuiUp:
- import FreeCADGui
-- from PySide import QtCore, QtGui, QtSvg
-+ from PySide import QtCore, QtGui, QtSvgWidgets
- from draftutils.translate import translate
- from PySide.QtCore import QT_TRANSLATE_NOOP
- import draftguitools.gui_trackers as DraftTrackers
-@@ -426,7 +426,7 @@ def taskbox(self):
- self.pic.hide()
-
- # SVG display
-- self.im = QtSvg.QSvgWidget(":/ui/ParametersWindowFixed.svg")
-+ self.im = QtSvgWidgets.QSvgWidget(":/ui/ParametersWindowFixed.svg")
- self.im.setMaximumWidth(200)
- self.im.setMinimumHeight(120)
- grid.addWidget(self.im,4,0,1,2)
-diff --git a/src/Mod/Arch/importIFClegacy.py b/src/Mod/Arch/importIFClegacy.py
-index 037e889ce5b9..256b29056b33 100644
---- a/src/Mod/Arch/importIFClegacy.py
-+++ b/src/Mod/Arch/importIFClegacy.py
-@@ -1795,7 +1795,6 @@ def explorer(filename,schema="IFC2X3_TC1.exp"):
- tree.headerItem().setText(1, "")
- tree.headerItem().setText(2, "Item and Properties")
- bold = QtGui.QFont()
-- bold.setWeight(75)
- bold.setBold(True)
-
- #print(ifc.Entities)
-diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py
-index c6e8584f4a71..2471bb66c61a 100644
---- a/src/Mod/Draft/DraftGui.py
-+++ b/src/Mod/Draft/DraftGui.py
-@@ -312,7 +312,6 @@ def setupToolBar(self,task=False):
- self.promptlabel = self._label("promptlabel", self.layout, hide=task)
- self.cmdlabel = self._label("cmdlabel", self.layout, hide=task)
- boldtxt = QtGui.QFont()
-- boldtxt.setWeight(75)
- boldtxt.setBold(True)
- self.cmdlabel.setFont(boldtxt)
-
-diff --git a/src/Mod/Material/MaterialEditor.py b/src/Mod/Material/MaterialEditor.py
-index cbcbde924609..28dbe83bc026 100644
---- a/src/Mod/Material/MaterialEditor.py
-+++ b/src/Mod/Material/MaterialEditor.py
-@@ -27,7 +27,7 @@
- import os
- from pathlib import PurePath
- import sys
--from PySide import QtCore, QtGui, QtSvg
-+from PySide import QtCore, QtGui, QtSvgWidgets
-
- import FreeCAD
- import FreeCADGui
-@@ -92,11 +92,11 @@ def __init__(self, obj=None, prop=None, material=None, card_path="", category="S
- treeView = widget.treeView
-
- # create preview svg slots
-- self.widget.PreviewRender = QtSvg.QSvgWidget(self.iconPath + "preview-rendered.svg")
-+ self.widget.PreviewRender = QtSvgWidgets.QSvgWidget(self.iconPath + "preview-rendered.svg")
- self.widget.PreviewRender.setMaximumWidth(64)
- self.widget.PreviewRender.setMinimumHeight(64)
- self.widget.topLayout.addWidget(self.widget.PreviewRender)
-- self.widget.PreviewVector = QtSvg.QSvgWidget(self.iconPath + "preview-vector.svg")
-+ self.widget.PreviewVector = QtSvgWidgets.QSvgWidget(self.iconPath + "preview-vector.svg")
- self.widget.PreviewVector.setMaximumWidth(64)
- self.widget.PreviewVector.setMinimumHeight(64)
- self.widget.topLayout.addWidget(self.widget.PreviewVector)
diff --git a/media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch b/media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch
deleted file mode 100644
index 8efd55121ee7..000000000000
--- a/media-gfx/freecad/files/freecad-0.21.2-shiboken-6.7.0.patch
+++ /dev/null
@@ -1,8 +0,0 @@
-https://bugs.gentoo.org/929973
---- a/src/Gui/PythonWrapper.cpp
-+++ b/src/Gui/PythonWrapper.cpp
-@@ -480,3 +480,3 @@
- return false;
-- types = Shiboken::Module::getTypes(requiredModule);
-+ types = reinterpret_cast<PyTypeObject **>(Shiboken::Module::getTypes(requiredModule));
- }
diff --git a/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch b/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch
deleted file mode 100644
index b41e3618f55f..000000000000
--- a/media-gfx/freecad/files/freecad-0.21.2-vtk9.3-fix.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-# fix for compiling with VTK 9.3
-https://github.com/FreeCAD/FreeCAD/pull/11496/commits/68d380a64e033c40fcb9a6dc322d9e0178de52ee
-Bug: https://forum.freecad.org/viewtopic.php?t=82814
-patch by adrianinsaval (commited in 68d380a64e033c40fcb9a6dc322d9e0178de52ee)
-
---- a/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
-+++ b/src/3rdParty/salomesmesh/inc/SMESH_SMDS.hxx
-@@ -39,10 +39,6 @@
- #define SMDS_EXPORT
- #endif
-
--#ifdef VTK_HAS_MTIME_TYPE
- #define VTK_MTIME_TYPE vtkMTimeType
--#else
--#define VTK_MTIME_TYPE unsigned long
--#endif
-
- #endif
---- a/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-+++ b/src/3rdParty/salomesmesh/src/SMDS/SMDS_UnstructuredGrid.cpp
-@@ -1026,7 +1026,12 @@ void SMDS_UnstructuredGrid::BuildLinks()
- GetLinks()->Allocate(this->GetNumberOfPoints());
- GetLinks()->Register(this);
- //FIXME: vtk9
-+#if VTK_VERSION_NUMBER < VTK_VERSION_CHECK(9,3,0)
- GetLinks()->BuildLinks(this);
-+#else
-+ GetLinks()->SetDataSet(this);
-+ GetLinks()->BuildLinks();
-+#endif
- GetLinks()->Delete();
- #else
- this->links = smds_celllinks::new();
diff --git a/media-gfx/freecad/files/freecad-0.21.1-Gentoo-specific-don-t-check-vcs.patch b/media-gfx/freecad/files/freecad-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch
index 3d851c341e2e..d901e47e2ca0 100644
--- a/media-gfx/freecad/files/freecad-0.21.1-Gentoo-specific-don-t-check-vcs.patch
+++ b/media-gfx/freecad/files/freecad-1.0.0-r1-Gentoo-specific-don-t-check-vcs.patch
@@ -1,16 +1,15 @@
-Signed-off-by: Jörg Habenicht <j.habenicht@gmx.de>
--- a/src/Tools/SubWCRev.py
+++ b/src/Tools/SubWCRev.py
-@@ -509,12 +509,6 @@
- bindir = a
-
- vcs = [
-- GitControl(),
-- DebianGitHub(),
-- BazaarControl(),
-- Subversion(),
-- MercurialControl(),
-- DebianChangelog(),
- UnknownControl(),
- ]
- for i in vcs:
+@@ -510,12 +510,6 @@ def main():
+ bindir = a
+
+ vcs = [
+- GitControl(),
+- DebianGitHub(),
+- BazaarControl(),
+- Subversion(),
+- MercurialControl(),
+- DebianChangelog(),
+ UnknownControl(),
+ ]
+ for i in vcs:
diff --git a/media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch b/media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch
index 3c8b61ab56a4..96113c23f057 100644
--- a/media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch
+++ b/media-gfx/freecad/files/freecad-9999-Gentoo-specific-don-t-check-vcs.patch
@@ -1,10 +1,9 @@
---- a/src/Tools/SubWCRev.py
-+++ b/src/Tools/SubWCRev.py
-@@ -509,12 +509,6 @@ def main():
- bindir = a
+--- a/src/Tools/SubWCRev.py
++++ b/src/Tools/SubWCRev.py
+@@ -511,11 +511,6 @@ def main():
vcs = [
-- GitControl(),
+ GitControl(),
- DebianGitHub(),
- BazaarControl(),
- Subversion(),
diff --git a/media-gfx/freecad/freecad-0.21.2-r3.ebuild b/media-gfx/freecad/freecad-0.21.2-r3.ebuild
deleted file mode 100644
index bf1b98990bc0..000000000000
--- a/media-gfx/freecad/freecad-0.21.2-r3.ebuild
+++ /dev/null
@@ -1,398 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit 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 qt6 test"
-
-FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
-FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
- openscad part-design path points raytracing robot show surface
- techdraw tux"
-
-for module in ${FREECAD_STABLE_MODULES}; do
- IUSE="${IUSE} +${module}"
-done
-for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
- IUSE="${IUSE} ${module}"
-done
-unset module
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/OpenNI2[opengl(+)]
- dev-libs/boost:=
- dev-libs/libfmt:=
- dev-libs/libspnav[X]
- dev-libs/xerces-c[icu]
- !qt6? (
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
- )
- qt6? (
- dev-qt/qtbase:6[concurrent,network,xml]
- )
- media-libs/freetype
- media-libs/qhull:=
- sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1
- <sci-libs/opencascade-7.8.0:=[json,vtk]
- sci-libs/orocos_kdl:=
- sys-libs/zlib
- virtual/libusb:1
- cloud? (
- dev-libs/openssl:=
- net-misc/curl
- )
- fem? (
- !qt6? ( sci-libs/vtk:=[qt5,rendering] )
- qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] )
- )
- gui? (
- >=media-libs/coin-4.0.0
- virtual/glu
- virtual/opengl
- !qt6? (
- dev-qt/designer:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- pcl? ( sci-libs/pcl[qt5] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2:=[${PYTHON_USEDEP}]
- ' python3_{10..11} )
- )
- qt6? (
- sci-libs/opencascade[-inspector(-)]
- designer? ( dev-qt/qttools:6[designer] )
- dev-qt/qt5compat:6
- dev-qt/qttools:6[widgets]
- dev-qt/qtbase:6[gui,opengl,widgets]
- dev-qt/qtsvg:6
- dev-qt/qtwebengine:6[widgets]
- pcl? ( sci-libs/pcl[-qt5,qt6(-)] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken6:=[${PYTHON_USEDEP}]
- ' )
- )
- )
- netgen? ( media-gfx/netgen[opencascade] )
- openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] )
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
- fem? ( dev-python/ply[${PYTHON_USEDEP}] )
- ')
-"
-DEPEND="
- ${RDEPEND}
- >=dev-cpp/eigen-3.3.1:3
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- !qt6? ( dev-qt/qttest:5 )
- )
-"
-BDEPEND="
- app-text/dos2unix
- dev-lang/swig
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- !qt6? ( dev-qt/qttest:5 )
- )
-"
-
-# To get required dependencies:
-# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-# We set the following requirements by default:
-# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
-#
-# Additionally, we auto-enable mesh_part, flat_mesh and smesh
-# Fem actually needs smesh, but as long as we don't have a smesh package, we enable
-# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't
-# reflected by the REQUIRES_MODS macro, but at
-# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187.
-#
-# The increase in auto-enabled workbenches is due to their need in parts of the
-# test suite when compiled with a minimal set of USE flags.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- designer? ( gui )
- inspection? ( points )
- path? ( robot )
- python_single_target_python3_12? ( gui? ( qt6 ) )
-"
-# There is no py3.12 support planned for pyside2
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch
- "${FILESDIR}"/${PN}-0.21.1-Gentoo-specific-don-t-check-vcs.patch
- "${FILESDIR}"/${PN}-0.21.2-vtk9.3-fix.patch
- "${FILESDIR}"/${PN}-0.21.2-boost-175-1.patch
- "${FILESDIR}"/${PN}-0.21.2-boost-175-2.patch
- "${FILESDIR}"/${PN}-0.21.2-boost-175-3.patch
-)
-
-DOCS=( CODE_OF_CONDUCT.md README.md )
-
-CHECKREQS_DISK_BUILD="2G"
-
-pkg_setup() {
- check-reqs_pkg_setup
- python-single-r1_pkg_setup
- [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade"
-}
-
-src_prepare() {
- # Fix desktop file
- sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecadweb.FreeCAD.desktop || die
-
- find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
-
- if has_version ">=dev-python/shiboken6-6.7.0"; then
- # https://bugs.gentoo.org/929973
- eapply "${FILESDIR}/${PN}-0.21.2-shiboken-6.7.0.patch"
- fi
-
- if use qt6; then
- eapply "${FILESDIR}/${PN}-0.21.2-navcube-qt6.patch"
- eapply "${FILESDIR}/${PN}-0.21.2-qtsvg-qt6.patch"
- eapply "${FILESDIR}/${PN}-0.21.2-py312-qt6.patch"
- fi
-
- cmake_src_prepare
-}
-
-src_configure() {
- # -Werror=odr, -Werror=lto-type-mismatch
- # https://bugs.gentoo.org/875221
- # https://github.com/FreeCAD/FreeCAD/issues/13173
- filter-lto
-
- local mycmakeargs=(
- -DBUILD_ADDONMGR=$(usex addonmgr)
- -DBUILD_ARCH=ON
- -DBUILD_ASSEMBLY=OFF # deprecated
- -DBUILD_CLOUD=$(usex cloud)
- -DBUILD_COMPLETE=OFF # deprecated
- -DBUILD_DRAFT=ON
- -DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for >=boost-1.77.0
- -DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=$(usex netgen)
- -DBUILD_FLAT_MESH=ON
- -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
- -DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex gui)
- -DBUILD_IDF=$(usex idf)
- -DBUILD_IMAGE=$(usex image)
- -DBUILD_IMPORT=ON # import module for various file formats
- -DBUILD_INSPECTION=$(usex inspection)
- -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
- -DBUILD_MATERIAL=$(usex material)
- -DBUILD_MESH=ON
- -DBUILD_MESH_PART=ON
- -DBUILD_OPENSCAD=$(usex openscad)
- -DBUILD_PART=ON
- -DBUILD_PART_DESIGN=$(usex part-design)
- -DBUILD_PATH=$(usex path)
- -DBUILD_POINTS=$(usex points)
- -DBUILD_RAYTRACING=$(usex raytracing)
- -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
- -DBUILD_ROBOT=$(usex robot)
- -DBUILD_SHOW=$(usex show)
- -DBUILD_SKETCHER=ON # needed by draft workspace
- -DBUILD_SMESH=ON
- -DBUILD_SPREADSHEET=ON
- -DBUILD_START=ON
- -DBUILD_SURFACE=$(usex surface)
- -DBUILD_TECHDRAW=$(usex techdraw)
- -DBUILD_TEST=ON # always build test workbench for run-time testing
- -DBUILD_TUX=$(usex tux)
- -DBUILD_VR=OFF
- -DBUILD_WEB=ON # needed by start workspace
- -DBUILD_WITH_CONDA=OFF
-
- -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
- -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
- -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
- -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
-
- -DFREECAD_BUILD_DEBIAN=OFF
-
- -DFREECAD_USE_EXTERNAL_KDL=ON
- -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
- -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
- -DFREECAD_USE_FREETYPE=ON
- -DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
- -DFREECAD_USE_PCL=$(usex pcl)
- -DFREECAD_USE_PYBIND11=ON
- -DFREECAD_USE_QT_FILEDIALOG=ON
- -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine"
-
- # install python modules to site-packages' dir. True only for the main package,
- # sub-packages will still be installed inside /usr/lib64/freecad
- -DINSTALL_TO_SITEPACKAGES=ON
-
- # Use the version of shiboken2 that matches the selected python version
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPython3_EXECUTABLE=${PYTHON}
- )
-
- if use debug; then
- # BUILD_SANDBOX currently broken, see
- # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=ON
- )
- else
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=OFF
- )
- fi
-
- if use qt6; 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
- )
- else
- mycmakeargs+=(
- -DFREECAD_QT_MAJOR_VERSION=5
- -DFREECAD_QT_VERSION=5
- -DQT_DEFAULT_MAJOR_VERSION=5
- -DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
- -DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc"
- -DBUILD_QT5=ON
- # Drawing module unmaintained and not ported to qt6
- -DBUILD_DRAWING=ON
- )
- fi
-
- cmake_src_configure
-}
-
-# We use the FreeCADCmd binary instead of the FreeCAD binary here
-# for two reasons:
-# 1. It works out of the box with USE=-gui as well, not needing a guard
-# 2. We don't need virtualx.eclass and it's dependencies
-# The exported environment variables are needed, so freecad does know
-# where to save it's temporary files, and where to look and write it's
-# configuration. Without those, there are sandbox violation, when it
-# tries to create /var/lib/portage/home/.FreeCAD directory.
-src_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
- export FREECAD_USER_HOME="${HOME}"
- export FREECAD_USER_DATA="${T}"
- export FREECAD_USER_TEMP="${T}"
- nonfatal ./bin/FreeCADCmd --run-test 0
- popd > /dev/null || die
-}
-
-src_install() {
- cmake_src_install
-
- dobin src/Tools/freecad-thumbnailer
-
- if use gui; then
- 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"
- use test && (rm -r "${ED}"/usr/include/${PN}/{gmock,gtest} || die)
-
- python_optimize "${ED}"/usr/share/${PN}/data/Mod/Start/StartPage "${ED}"/usr/$(get_libdir)/${PN}{/Ext,/Mod}/
- # compile main package in python site-packages as well
- python_optimize
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- einfo "You can load a lot of additional workbenches using the integrated"
- einfo "AddonManager."
-
- # ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
- einfo "There are a lot of additional tools, for which FreeCAD has builtin"
- einfo "support. Some of them are available in Gentoo. Take a look at"
- einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
- optfeature_header "Computational utilities"
- optfeature "BLAS library" sci-libs/openblas
- optfeature "Statistical computation with Python" dev-python/pandas
- optfeature "Use scientific computation with Python" dev-python/scipy
- optfeature "Use symbolic math with Python" dev-python/sympy
- optfeature_header "Imaging, Plotting and Rendering utilities"
- optfeature "Dependency graphs" media-gfx/graphviz
- optfeature "PBR Rendering" media-gfx/povray
- optfeature_header "Import / Export"
- optfeature "Interact with git repositories" dev-python/GitPython
- optfeature "Work with COLLADA documents" dev-python/pycollada
- optfeature "YAML importer and emitter" dev-python/pyyaml
- optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
- optfeature "Importing and exporting geospatial data formats" sci-libs/gdal
- optfeature "Working with projection data" sci-libs/proj
- optfeature_header "Meshing and FEM"
- optfeature "FEM mesh generator" sci-libs/gmsh
- optfeature "Triangulating meshes" sci-libs/gts
- optfeature "Visualization" sci-visualization/paraview
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-gfx/freecad/freecad-1.0.0-r2.ebuild b/media-gfx/freecad/freecad-1.0.0-r2.ebuild
new file mode 100644
index 000000000000..7812856f8a98
--- /dev/null
+++ b/media-gfx/freecad/freecad-1.0.0-r2.ebuild
@@ -0,0 +1,303 @@
+# 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 +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}]
+ ')
+ 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/pyside6:=[uitools(-),gui,svg,${PYTHON_USEDEP}]
+ dev-python/shiboken6:=[${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=OFF # Requires OndselSolver
+ -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_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-1.0.0-r3.ebuild b/media-gfx/freecad/freecad-1.0.0-r3.ebuild
new file mode 100644
index 000000000000..d90bcdea5bf9
--- /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/pyside6:=[uitools(-),gui,svg,${PYTHON_USEDEP}]
+ dev-python/shiboken6:=[${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-1.0_rc1-r1.ebuild b/media-gfx/freecad/freecad-1.0_rc1-r1.ebuild
deleted file mode 100644
index 5d2b39ba14a5..000000000000
--- a/media-gfx/freecad/freecad-1.0_rc1-r1.ebuild
+++ /dev/null
@@ -1,394 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit 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
-MY_PV="${PV/_/}"
-
-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/${MY_PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/FreeCAD-${MY_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 +qt6 test"
-
-FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
-FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
- openscad part-design path points raytracing robot show smesh
- surface techdraw tux"
-
-for module in ${FREECAD_STABLE_MODULES}; do
- IUSE="${IUSE} +${module}"
-done
-for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
- IUSE="${IUSE} ${module}"
-done
-unset module
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-cpp/gtest
- dev-cpp/yaml-cpp
- dev-libs/OpenNI2[opengl(+)]
- dev-libs/boost:=
- dev-libs/libfmt:=
- dev-libs/libspnav[X]
- dev-libs/xerces-c[icu]
- dev-ruby/asciidoctor
- !qt6? (
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
- )
- qt6? (
- dev-qt/qtbase:6[concurrent,network,xml]
- )
- media-libs/freetype
- media-libs/qhull:=
- sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1
- sci-libs/opencascade:=[json,vtk]
- sci-libs/orocos_kdl:=
- sys-libs/zlib
- virtual/libusb:1
- cloud? (
- dev-libs/openssl:=
- net-misc/curl
- )
- fem? (
- !qt6? ( sci-libs/vtk:=[qt5,rendering] )
- qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] )
- )
- gui? (
- >=media-libs/coin-4.0.0
- virtual/glu
- virtual/opengl
- !qt6? (
- dev-qt/designer:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- pcl? ( sci-libs/pcl[qt5] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2:=[${PYTHON_USEDEP}]
- ' python3_{10..11} )
- )
- qt6? (
- designer? ( dev-qt/qttools:6[designer] )
- dev-qt/qt5compat:6
- dev-qt/qttools:6[widgets]
- dev-qt/qtbase:6[gui,opengl,widgets]
- dev-qt/qtsvg:6
- dev-qt/qtwebengine:6[widgets]
- pcl? ( sci-libs/pcl[-qt5,qt6(-)] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken6:=[${PYTHON_USEDEP}]
- ' )
- )
- )
- netgen? ( media-gfx/netgen[opencascade] )
- openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] )
- smesh? (
- !qt6? ( sci-libs/vtk:=[qt5] )
- qt6? ( sci-libs/vtk:=[-qt5,qt6] )
- )
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
- fem? ( dev-python/ply[${PYTHON_USEDEP}] )
- ')
-"
-DEPEND="${RDEPEND}
- >=dev-cpp/eigen-3.3.1:3
- dev-cpp/ms-gsl
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- !qt6? ( dev-qt/qttest:5 )
- )
-"
-BDEPEND="
- app-text/dos2unix
- dev-lang/swig
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- !qt6? ( dev-qt/qttest:5 )
- dev-cpp/gtest
- )
-"
-
-# To get required dependencies:
-# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-# We set the following requirements by default:
-# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
-#
-# Additionally, we auto-enable mesh_part, flat_mesh and smesh
-# Fem actually needs smesh, but as long as we don't have a smesh package, we enable
-# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't
-# reflected by the REQUIRES_MODS macro, but at
-# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187.
-#
-# The increase in auto-enabled workbenches is due to their need in parts of the
-# test suite when compiled with a minimal set of USE flags.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- designer? ( gui )
- inspection? ( points )
- path? ( robot )
- python_single_target_python3_12? ( gui? ( qt6 ) )
-"
-# There is no py3.12 support planned for pyside2
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9999-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
- [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade"
-}
-
-src_prepare() {
- # Fix desktop file
- sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die
-
- find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
-
- 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_ADDONMGR=$(usex addonmgr)
- -DBUILD_ARCH=ON
- -DBUILD_ASSEMBLY=OFF # Requires OndselSolver
- -DBUILD_CLOUD=$(usex cloud)
- -DBUILD_COMPLETE=OFF # deprecated
- -DBUILD_DRAFT=ON
- -DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master
- -DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=$(usex netgen)
- -DBUILD_FLAT_MESH=ON
- -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
- -DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex gui)
- -DBUILD_IDF=$(usex idf)
- -DBUILD_IMAGE=$(usex image)
- -DBUILD_IMPORT=ON # import module for various file formats
- -DBUILD_INSPECTION=$(usex inspection)
- -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
- -DBUILD_MATERIAL=$(usex material)
- -DBUILD_MESH=ON
- -DBUILD_MESH_PART=ON
- -DBUILD_OPENSCAD=$(usex openscad)
- -DBUILD_PART=ON
- -DBUILD_PART_DESIGN=$(usex part-design)
- -DBUILD_PATH=$(usex path)
- -DBUILD_POINTS=$(usex points)
- -DBUILD_RAYTRACING=$(usex raytracing)
- -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
- -DBUILD_ROBOT=$(usex robot)
- -DBUILD_SHOW=$(usex show)
- -DBUILD_SKETCHER=ON # needed by draft workspace
- -DBUILD_SMESH=$(usex smesh)
- -DBUILD_SPREADSHEET=ON
- -DBUILD_START=ON
- -DBUILD_SURFACE=$(usex surface)
- -DBUILD_TECHDRAW=$(usex techdraw)
- -DBUILD_TEST=ON # always build test workbench for run-time testing
- -DBUILD_TUX=$(usex tux)
- -DBUILD_VR=OFF
- -DBUILD_WEB=ON # needed by start workspace
- -DBUILD_WITH_CONDA=OFF
-
- -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
- -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
- -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
- -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
-
- -DFREECAD_BUILD_DEBIAN=OFF
-
- -DFREECAD_USE_EXTERNAL_KDL=ON
- -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
- -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
- -DFREECAD_USE_FREETYPE=ON
- -DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
- -DFREECAD_USE_PCL=$(usex pcl)
- -DFREECAD_USE_PYBIND11=ON
- -DFREECAD_USE_QT_FILEDIALOG=ON
- -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine"
-
- # install python modules to site-packages' dir. True only for the main package,
- # sub-packages will still be installed inside /usr/lib64/freecad
- -DINSTALL_TO_SITEPACKAGES=ON
-
- # Use the version of shiboken2 that matches the selected python version
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPython3_EXECUTABLE=${PYTHON}
- )
-
- if use debug; then
- # BUILD_SANDBOX currently broken, see
- # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=ON
- )
- else
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=OFF
- )
- fi
-
- if use qt6; 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
- )
- else
- mycmakeargs+=(
- -DFREECAD_QT_MAJOR_VERSION=5
- -DFREECAD_QT_VERSION=5
- -DQT_DEFAULT_MAJOR_VERSION=5
- -DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
- -DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc"
- -DBUILD_QT5=ON
- # Drawing module unmaintained and not ported to qt6
- -DBUILD_DRAWING=ON
- )
- fi
-
- cmake_src_configure
-}
-
-# We use the FreeCADCmd binary instead of the FreeCAD binary here
-# for two reasons:
-# 1. It works out of the box with USE=-gui as well, not needing a guard
-# 2. We don't need virtualx.eclass and it's dependencies
-# The exported environment variables are needed, so freecad does know
-# where to save it's temporary files, and where to look and write it's
-# configuration. Without those, there are sandbox violation, when it
-# tries to create /var/lib/portage/home/.FreeCAD directory.
-src_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
- export FREECAD_USER_HOME="${HOME}"
- export FREECAD_USER_DATA="${T}"
- export FREECAD_USER_TEMP="${T}"
- nonfatal ./bin/FreeCADCmd --run-test 0
- popd > /dev/null || die
-}
-
-src_install() {
- cmake_src_install
-
- dobin src/Tools/freecad-thumbnailer
-
- if use gui; then
- 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."
-
- # ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
- einfo "There are a lot of additional tools, for which FreeCAD has builtin"
- einfo "support. Some of them are available in Gentoo. Take a look at"
- einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
- optfeature_header "Computational utilities"
- optfeature "BLAS library" sci-libs/openblas
- optfeature "Statistical computation with Python" dev-python/pandas
- optfeature "Use scientific computation with Python" dev-python/scipy
- optfeature "Use symbolic math with Python" dev-python/sympy
- optfeature_header "Imaging, Plotting and Rendering utilities"
- optfeature "Dependency graphs" media-gfx/graphviz
- optfeature "PBR Rendering" media-gfx/povray
- optfeature_header "Import / Export"
- optfeature "Interact with git repositories" dev-python/GitPython
- optfeature "Work with COLLADA documents" dev-python/pycollada
- optfeature "YAML importer and emitter" dev-python/pyyaml
- optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
- optfeature "Importing and exporting geospatial data formats" sci-libs/gdal
- optfeature "Working with projection data" sci-libs/proj
- optfeature_header "Meshing and FEM"
- optfeature "FEM mesh generator" sci-libs/gmsh
- optfeature "Triangulating meshes" sci-libs/gts
- optfeature "Visualization" sci-visualization/paraview
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-gfx/freecad/freecad-1.0_rc2.ebuild b/media-gfx/freecad/freecad-1.0_rc2.ebuild
deleted file mode 100644
index 5d2b39ba14a5..000000000000
--- a/media-gfx/freecad/freecad-1.0_rc2.ebuild
+++ /dev/null
@@ -1,394 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit 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
-MY_PV="${PV/_/}"
-
-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/${MY_PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64"
- S="${WORKDIR}/FreeCAD-${MY_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 +qt6 test"
-
-FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
-FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
- openscad part-design path points raytracing robot show smesh
- surface techdraw tux"
-
-for module in ${FREECAD_STABLE_MODULES}; do
- IUSE="${IUSE} +${module}"
-done
-for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
- IUSE="${IUSE} ${module}"
-done
-unset module
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-cpp/gtest
- dev-cpp/yaml-cpp
- dev-libs/OpenNI2[opengl(+)]
- dev-libs/boost:=
- dev-libs/libfmt:=
- dev-libs/libspnav[X]
- dev-libs/xerces-c[icu]
- dev-ruby/asciidoctor
- !qt6? (
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
- )
- qt6? (
- dev-qt/qtbase:6[concurrent,network,xml]
- )
- media-libs/freetype
- media-libs/qhull:=
- sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1
- sci-libs/opencascade:=[json,vtk]
- sci-libs/orocos_kdl:=
- sys-libs/zlib
- virtual/libusb:1
- cloud? (
- dev-libs/openssl:=
- net-misc/curl
- )
- fem? (
- !qt6? ( sci-libs/vtk:=[qt5,rendering] )
- qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] )
- )
- gui? (
- >=media-libs/coin-4.0.0
- virtual/glu
- virtual/opengl
- !qt6? (
- dev-qt/designer:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwebengine:5[widgets]
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- pcl? ( sci-libs/pcl[qt5] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside2:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken2:=[${PYTHON_USEDEP}]
- ' python3_{10..11} )
- )
- qt6? (
- designer? ( dev-qt/qttools:6[designer] )
- dev-qt/qt5compat:6
- dev-qt/qttools:6[widgets]
- dev-qt/qtbase:6[gui,opengl,widgets]
- dev-qt/qtsvg:6
- dev-qt/qtwebengine:6[widgets]
- pcl? ( sci-libs/pcl[-qt5,qt6(-)] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6:=[gui,svg,webchannel,webengine,${PYTHON_USEDEP}]
- dev-python/shiboken6:=[${PYTHON_USEDEP}]
- ' )
- )
- )
- netgen? ( media-gfx/netgen[opencascade] )
- openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] )
- smesh? (
- !qt6? ( sci-libs/vtk:=[qt5] )
- qt6? ( sci-libs/vtk:=[-qt5,qt6] )
- )
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
- fem? ( dev-python/ply[${PYTHON_USEDEP}] )
- ')
-"
-DEPEND="${RDEPEND}
- >=dev-cpp/eigen-3.3.1:3
- dev-cpp/ms-gsl
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- !qt6? ( dev-qt/qttest:5 )
- )
-"
-BDEPEND="
- app-text/dos2unix
- dev-lang/swig
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- !qt6? ( dev-qt/qttest:5 )
- dev-cpp/gtest
- )
-"
-
-# To get required dependencies:
-# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-# We set the following requirements by default:
-# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
-#
-# Additionally, we auto-enable mesh_part, flat_mesh and smesh
-# Fem actually needs smesh, but as long as we don't have a smesh package, we enable
-# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't
-# reflected by the REQUIRES_MODS macro, but at
-# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187.
-#
-# The increase in auto-enabled workbenches is due to their need in parts of the
-# test suite when compiled with a minimal set of USE flags.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- designer? ( gui )
- inspection? ( points )
- path? ( robot )
- python_single_target_python3_12? ( gui? ( qt6 ) )
-"
-# There is no py3.12 support planned for pyside2
-
-PATCHES=(
- "${FILESDIR}"/${PN}-9999-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
- [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade"
-}
-
-src_prepare() {
- # Fix desktop file
- sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die
-
- find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
-
- 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_ADDONMGR=$(usex addonmgr)
- -DBUILD_ARCH=ON
- -DBUILD_ASSEMBLY=OFF # Requires OndselSolver
- -DBUILD_CLOUD=$(usex cloud)
- -DBUILD_COMPLETE=OFF # deprecated
- -DBUILD_DRAFT=ON
- -DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master
- -DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=$(usex netgen)
- -DBUILD_FLAT_MESH=ON
- -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
- -DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex gui)
- -DBUILD_IDF=$(usex idf)
- -DBUILD_IMAGE=$(usex image)
- -DBUILD_IMPORT=ON # import module for various file formats
- -DBUILD_INSPECTION=$(usex inspection)
- -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
- -DBUILD_MATERIAL=$(usex material)
- -DBUILD_MESH=ON
- -DBUILD_MESH_PART=ON
- -DBUILD_OPENSCAD=$(usex openscad)
- -DBUILD_PART=ON
- -DBUILD_PART_DESIGN=$(usex part-design)
- -DBUILD_PATH=$(usex path)
- -DBUILD_POINTS=$(usex points)
- -DBUILD_RAYTRACING=$(usex raytracing)
- -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
- -DBUILD_ROBOT=$(usex robot)
- -DBUILD_SHOW=$(usex show)
- -DBUILD_SKETCHER=ON # needed by draft workspace
- -DBUILD_SMESH=$(usex smesh)
- -DBUILD_SPREADSHEET=ON
- -DBUILD_START=ON
- -DBUILD_SURFACE=$(usex surface)
- -DBUILD_TECHDRAW=$(usex techdraw)
- -DBUILD_TEST=ON # always build test workbench for run-time testing
- -DBUILD_TUX=$(usex tux)
- -DBUILD_VR=OFF
- -DBUILD_WEB=ON # needed by start workspace
- -DBUILD_WITH_CONDA=OFF
-
- -DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
- -DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
- -DCMAKE_INSTALL_INCLUDEDIR=/usr/include/${PN}
- -DCMAKE_INSTALL_PREFIX=/usr/$(get_libdir)/${PN}
-
- -DFREECAD_BUILD_DEBIAN=OFF
-
- -DFREECAD_USE_EXTERNAL_KDL=ON
- -DFREECAD_USE_EXTERNAL_SMESH=OFF # no package in Gentoo
- -DFREECAD_USE_EXTERNAL_ZIPIOS=OFF # doesn't work yet, also no package in Gentoo tree
- -DFREECAD_USE_FREETYPE=ON
- -DFREECAD_USE_OCC_VARIANT:STRING="Official Version"
- -DFREECAD_USE_PCL=$(usex pcl)
- -DFREECAD_USE_PYBIND11=ON
- -DFREECAD_USE_QT_FILEDIALOG=ON
- -DFREECAD_USE_QTWEBMODULE:STRING="Qt WebEngine"
-
- # install python modules to site-packages' dir. True only for the main package,
- # sub-packages will still be installed inside /usr/lib64/freecad
- -DINSTALL_TO_SITEPACKAGES=ON
-
- # Use the version of shiboken2 that matches the selected python version
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPython3_EXECUTABLE=${PYTHON}
- )
-
- if use debug; then
- # BUILD_SANDBOX currently broken, see
- # https://forum.freecadweb.org/viewtopic.php?f=4&t=36071&start=30#p504595
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=ON
- )
- else
- mycmakeargs+=(
- -DBUILD_SANDBOX=OFF
- -DBUILD_TEMPLATE=OFF
- )
- fi
-
- if use qt6; 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
- )
- else
- mycmakeargs+=(
- -DFREECAD_QT_MAJOR_VERSION=5
- -DFREECAD_QT_VERSION=5
- -DQT_DEFAULT_MAJOR_VERSION=5
- -DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
- -DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc"
- -DBUILD_QT5=ON
- # Drawing module unmaintained and not ported to qt6
- -DBUILD_DRAWING=ON
- )
- fi
-
- cmake_src_configure
-}
-
-# We use the FreeCADCmd binary instead of the FreeCAD binary here
-# for two reasons:
-# 1. It works out of the box with USE=-gui as well, not needing a guard
-# 2. We don't need virtualx.eclass and it's dependencies
-# The exported environment variables are needed, so freecad does know
-# where to save it's temporary files, and where to look and write it's
-# configuration. Without those, there are sandbox violation, when it
-# tries to create /var/lib/portage/home/.FreeCAD directory.
-src_test() {
- pushd "${BUILD_DIR}" > /dev/null || die
- export FREECAD_USER_HOME="${HOME}"
- export FREECAD_USER_DATA="${T}"
- export FREECAD_USER_TEMP="${T}"
- nonfatal ./bin/FreeCADCmd --run-test 0
- popd > /dev/null || die
-}
-
-src_install() {
- cmake_src_install
-
- dobin src/Tools/freecad-thumbnailer
-
- if use gui; then
- 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."
-
- # ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
- einfo "There are a lot of additional tools, for which FreeCAD has builtin"
- einfo "support. Some of them are available in Gentoo. Take a look at"
- einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
- optfeature_header "Computational utilities"
- optfeature "BLAS library" sci-libs/openblas
- optfeature "Statistical computation with Python" dev-python/pandas
- optfeature "Use scientific computation with Python" dev-python/scipy
- optfeature "Use symbolic math with Python" dev-python/sympy
- optfeature_header "Imaging, Plotting and Rendering utilities"
- optfeature "Dependency graphs" media-gfx/graphviz
- optfeature "PBR Rendering" media-gfx/povray
- optfeature_header "Import / Export"
- optfeature "Interact with git repositories" dev-python/GitPython
- optfeature "Work with COLLADA documents" dev-python/pycollada
- optfeature "YAML importer and emitter" dev-python/pyyaml
- optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
- optfeature "Importing and exporting geospatial data formats" sci-libs/gdal
- optfeature "Working with projection data" sci-libs/proj
- optfeature_header "Meshing and FEM"
- optfeature "FEM mesh generator" sci-libs/gmsh
- optfeature "Triangulating meshes" sci-libs/gts
- optfeature "Visualization" sci-visualization/paraview
-}
-
-pkg_postrm() {
- xdg_pkg_postrm
-}
diff --git a/media-gfx/freecad/freecad-9999.ebuild b/media-gfx/freecad/freecad-9999.ebuild
index b323eccffe9b..ed5c07ceb995 100644
--- a/media-gfx/freecad/freecad-9999.ebuild
+++ b/media-gfx/freecad/freecad-9999.ebuild
@@ -7,12 +7,12 @@ 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"
+DESCRIPTION="Qt based Computer Aided Design application"
HOMEPAGE="https://www.freecad.org/ https://github.com/FreeCAD/FreeCAD"
MY_PN=FreeCAD
-if [[ ${PV} = *9999 ]]; then
+if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/${MY_PN}/${MY_PN}.git"
S="${WORKDIR}/freecad-${PV}"
@@ -26,20 +26,27 @@ 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 +qt6 test"
-
-FREECAD_EXPERIMENTAL_MODULES="cloud netgen pcl"
-FREECAD_STABLE_MODULES="addonmgr fem idf image inspection material
- openscad part-design path points raytracing robot show smesh
- surface techdraw tux"
+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"
-for module in ${FREECAD_STABLE_MODULES}; do
- IUSE="${IUSE} +${module}"
-done
-for module in ${FREECAD_EXPERIMENTAL_MODULES}; do
- IUSE="${IUSE} ${module}"
-done
-unset module
+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 )"
@@ -47,127 +54,60 @@ RDEPEND="
${PYTHON_DEPS}
dev-cpp/gtest
dev-cpp/yaml-cpp
- dev-libs/OpenNI2[opengl(+)]
dev-libs/boost:=
dev-libs/libfmt:=
- dev-libs/libspnav[X]
dev-libs/xerces-c[icu]
- dev-ruby/asciidoctor
- !qt6? (
- dev-qt/qtconcurrent:5
- dev-qt/qtcore:5
- dev-qt/qtnetwork:5
- dev-qt/qtxml:5
- dev-qt/qtxmlpatterns:5
- )
- qt6? (
- dev-qt/qtbase:6[concurrent,network,xml]
- )
+ dev-qt/qtbase:6[concurrent,network,xml]
media-libs/freetype
- media-libs/qhull:=
- sci-libs/hdf5:=[fortran,zlib]
- >=sci-libs/med-4.0.0-r1
- sci-libs/opencascade:=[json,vtk]
- sci-libs/orocos_kdl:=
+ sci-libs/opencascade:=[json]
sys-libs/zlib
- virtual/libusb:1
+ $(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? (
- !qt6? ( sci-libs/vtk:=[qt5,rendering] )
- qt6? ( sci-libs/vtk:=[-qt5,qt6,rendering] )
+ 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/pyside6:=[uitools(-),gui,svg,${PYTHON_USEDEP}]
+ dev-python/shiboken6:=[${PYTHON_USEDEP}]
+ ' )
virtual/glu
virtual/opengl
- !qt6? (
- dev-qt/designer:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtprintsupport:5
- dev-qt/qtsvg:5
- dev-qt/qtwidgets:5
- dev-qt/qtx11extras:5
- pcl? ( sci-libs/pcl[qt5] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside2:=[gui,svg,webchannel,${PYTHON_USEDEP}]
- dev-python/shiboken2:=[${PYTHON_USEDEP}]
- ' python3_{10..11} )
- )
- qt6? (
- designer? ( dev-qt/qttools:6[designer] )
- dev-qt/qt5compat:6
- dev-qt/qttools:6[widgets]
- dev-qt/qtbase:6[gui,opengl,widgets]
- dev-qt/qtsvg:6
- pcl? ( sci-libs/pcl[-qt5,qt6(-)] )
- $(python_gen_cond_dep '
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/pivy-0.6.5[${PYTHON_USEDEP}]
- dev-python/pyside6:=[gui,svg,webchannel,${PYTHON_USEDEP}]
- dev-python/shiboken6:=[${PYTHON_USEDEP}]
- ' )
- )
+ spacenav? ( dev-libs/libspnav[X?] )
)
netgen? ( media-gfx/netgen[opencascade] )
- openscad? ( media-gfx/openscad )
- pcl? ( sci-libs/pcl:=[opengl,openni2,vtk] )
+ openscad? ( $(python_gen_cond_dep 'dev-python/ply[${PYTHON_USEDEP}]') )
+ pcl? ( sci-libs/pcl:= )
smesh? (
- !qt6? ( sci-libs/vtk:=[qt5] )
- qt6? ( sci-libs/vtk:=[-qt5,qt6] )
+ sci-libs/hdf5:=[zlib]
+ >=sci-libs/med-4.0.0-r1
+ sci-libs/vtk:=
)
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- addonmgr? ( dev-python/GitPython[${PYTHON_USEDEP}] )
- fem? ( dev-python/ply[${PYTHON_USEDEP}] )
- ')
"
DEPEND="${RDEPEND}
>=dev-cpp/eigen-3.3.1:3
dev-cpp/ms-gsl
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- !qt6? ( dev-qt/qttest:5 )
- )
"
BDEPEND="
- app-text/dos2unix
dev-lang/swig
- test? (
- $(python_gen_cond_dep 'dev-python/pyyaml[${PYTHON_USEDEP}]')
- !qt6? ( dev-qt/qttest:5 )
- dev-cpp/gtest
- )
+ test? ( dev-cpp/gtest )
"
-# To get required dependencies:
-# 'grep REQUIRES_MODS cMake/FreeCAD_Helpers/CheckInterModuleDependencies.cmake'
-# We set the following requirements by default:
-# arch, draft, drawing, import, mesh, part, qt5, sketcher, spreadsheet, start, web.
-#
-# Additionally, we auto-enable mesh_part, flat_mesh and smesh
-# Fem actually needs smesh, but as long as we don't have a smesh package, we enable
-# smesh through the mesh USE flag. Note however, the fem<-smesh dependency isn't
-# reflected by the REQUIRES_MODS macro, but at
-# cMake/FreeCAD_Helpers/InitializeFreeCADBuildOptions.cmake:187.
-#
-# The increase in auto-enabled workbenches is due to their need in parts of the
-# test suite when compiled with a minimal set of USE flags.
-REQUIRED_USE="
- ${PYTHON_REQUIRED_USE}
- designer? ( gui )
- inspection? ( points )
- path? ( robot )
- python_single_target_python3_12? ( gui? ( qt6 ) )
-"
-# There is no py3.12 support planned for pyside2
-
PATCHES=(
"${FILESDIR}"/${PN}-9999-Gentoo-specific-don-t-check-vcs.patch
"${FILESDIR}"/${PN}-0.21.0-0001-Gentoo-specific-disable-ccache-usage.patch
@@ -181,15 +121,12 @@ CHECKREQS_DISK_BUILD="2G"
pkg_setup() {
check-reqs_pkg_setup
python-single-r1_pkg_setup
- [[ -z ${CASROOT} ]] && die "\${CASROOT} not set, please run eselect opencascade"
}
src_prepare() {
# Fix desktop file
sed -e 's/Exec=FreeCAD/Exec=freecad/' -i src/XDGData/org.freecad.FreeCAD.desktop || die
- find "${S}" -type f -exec dos2unix -q {} \; || die "failed to convert to unix line endings"
-
cmake_src_prepare
}
@@ -203,48 +140,50 @@ src_configure() {
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_ARCH=ON
- -DBUILD_ASSEMBLY=OFF # Requires OndselSolver
+ -DBUILD_ASSEMBLY=$(usex assembly)
+ -DBUILD_BIM=$(usex bim)
+ -DBUILD_CAM=$(usex cam)
-DBUILD_CLOUD=$(usex cloud)
- -DBUILD_COMPLETE=OFF # deprecated
-DBUILD_DRAFT=ON
- -DBUILD_DESIGNER_PLUGIN=$(usex designer)
- -DBUILD_ENABLE_CXX_STD:STRING="C++17" # needed for current git master
+ # see below for DRAWING
-DBUILD_FEM=$(usex fem)
- -DBUILD_FEM_NETGEN=$(usex netgen)
- -DBUILD_FLAT_MESH=ON
- -DBUILD_FORCE_DIRECTORY=ON # force building in a dedicated directory
- -DBUILD_FREETYPE=ON # automagic dep
- -DBUILD_GUI=$(usex gui)
+ -DBUILD_FEM_NETGEN=$(usex fem $(usex netgen))
+ -DBUILD_FLAT_MESH=$(usex mesh) # a submodule of MeshPart
+ -DBUILD_HELP=ON
-DBUILD_IDF=$(usex idf)
- -DBUILD_IMAGE=$(usex image)
-DBUILD_IMPORT=ON # import module for various file formats
-DBUILD_INSPECTION=$(usex inspection)
- -DBUILD_JTREADER=OFF # code has been removed upstream, but option is still there
- -DBUILD_MATERIAL=$(usex material)
- -DBUILD_MESH=ON
- -DBUILD_MESH_PART=ON
+ -DBUILD_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=$(usex part-design)
- -DBUILD_PATH=$(usex path)
+ -DBUILD_PART_DESIGN=ON
+ -DBUILD_PLOT=ON
-DBUILD_POINTS=$(usex points)
- -DBUILD_RAYTRACING=$(usex raytracing)
- -DBUILD_REVERSEENGINEERING=OFF # currently only an empty sandbox
+ -DBUILD_REVERSEENGINEERING=$(usex reverse)
-DBUILD_ROBOT=$(usex robot)
- -DBUILD_SHOW=$(usex show)
+ -DBUILD_SANDBOX=OFF
+ -DBUILD_SHOW=$(usex gui)
-DBUILD_SKETCHER=ON # needed by draft workspace
- -DBUILD_SMESH=$(usex smesh)
-DBUILD_SPREADSHEET=ON
-DBUILD_START=ON
-DBUILD_SURFACE=$(usex surface)
-DBUILD_TECHDRAW=$(usex techdraw)
-DBUILD_TEST=ON # always build test workbench for run-time testing
- -DBUILD_TUX=$(usex tux)
- -DBUILD_VR=OFF
+ -DBUILD_TUX=$(usex gui)
-DBUILD_WEB=ON # needed by start workspace
- -DBUILD_WITH_CONDA=OFF
-DCMAKE_INSTALL_DATADIR=/usr/share/${PN}/data
-DCMAKE_INSTALL_DOCDIR=/usr/share/doc/${PF}
@@ -253,7 +192,7 @@ src_configure() {
-DFREECAD_BUILD_DEBIAN=OFF
- -DFREECAD_USE_EXTERNAL_KDL=ON
+ -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
@@ -285,7 +224,7 @@ src_configure() {
)
fi
- if use qt6; then
+ if use gui; then
mycmakeargs+=(
-DFREECAD_QT_MAJOR_VERSION=6
-DFREECAD_QT_VERSION=6
@@ -296,17 +235,6 @@ src_configure() {
# Drawing module unmaintained and not ported to qt6
-DBUILD_DRAWING=OFF
)
- else
- mycmakeargs+=(
- -DFREECAD_QT_MAJOR_VERSION=5
- -DFREECAD_QT_VERSION=5
- -DQT_DEFAULT_MAJOR_VERSION=5
- -DQt5Core_MOC_EXECUTABLE="$(qt5_get_bindir)/moc"
- -DQt5Core_RCC_EXECUTABLE="$(qt5_get_bindir)/rcc"
- -DBUILD_QT5=ON
- # Drawing module unmaintained and not ported to qt6
- -DBUILD_DRAWING=ON
- )
fi
cmake_src_configure
@@ -315,18 +243,18 @@ src_configure() {
# We use the FreeCADCmd binary instead of the FreeCAD binary here
# for two reasons:
# 1. It works out of the box with USE=-gui as well, not needing a guard
-# 2. We don't need virtualx.eclass and it's dependencies
-# The exported environment variables are needed, so freecad does know
-# where to save it's temporary files, and where to look and write it's
-# configuration. Without those, there are sandbox violation, when it
+# 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() {
- pushd "${BUILD_DIR}" > /dev/null || die
- export FREECAD_USER_HOME="${HOME}"
- export FREECAD_USER_DATA="${T}"
- export FREECAD_USER_TEMP="${T}"
- nonfatal ./bin/FreeCADCmd --run-test 0
- popd > /dev/null || die
+ 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() {
@@ -338,7 +266,7 @@ src_install() {
newbin - freecad <<- _EOF_
#!/bin/sh
# https://github.com/coin3d/coin/issues/451
- : \${QT_QPA_PLATFORM:=xcb}
+ : "\${QT_QPA_PLATFORM:=xcb}"
export QT_QPA_PLATFORM
exec /usr/$(get_libdir)/${PN}/bin/FreeCAD "\${@}"
_EOF_
@@ -359,30 +287,17 @@ pkg_postinst() {
einfo "You can load a lot of additional workbenches using the integrated"
einfo "AddonManager."
- # ToDo: check opencv, pysolar (::science), elmerfem (::science)
- # ifc++, ifcopenshell, z88 (no pkgs), calculix-ccx (::waebbl)
einfo "There are a lot of additional tools, for which FreeCAD has builtin"
einfo "support. Some of them are available in Gentoo. Take a look at"
- einfo "https://wiki.freecadweb.org/Installing#External_software_supported_by_FreeCAD"
- optfeature_header "Computational utilities"
- optfeature "BLAS library" sci-libs/openblas
- optfeature "Statistical computation with Python" dev-python/pandas
- optfeature "Use scientific computation with Python" dev-python/scipy
- optfeature "Use symbolic math with Python" dev-python/sympy
- optfeature_header "Imaging, Plotting and Rendering utilities"
- optfeature "Dependency graphs" media-gfx/graphviz
- optfeature "PBR Rendering" media-gfx/povray
- optfeature_header "Import / Export"
- optfeature "Interact with git repositories" dev-python/GitPython
- optfeature "Work with COLLADA documents" dev-python/pycollada
- optfeature "YAML importer and emitter" dev-python/pyyaml
- optfeature "Importing and exporting 2D AutoCAD DWG files" media-gfx/libredwg
- optfeature "Importing and exporting geospatial data formats" sci-libs/gdal
- optfeature "Working with projection data" sci-libs/proj
- optfeature_header "Meshing and FEM"
- optfeature "FEM mesh generator" sci-libs/gmsh
- optfeature "Triangulating meshes" sci-libs/gts
- optfeature "Visualization" sci-visualization/paraview
+ 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() {
diff --git a/media-gfx/freecad/metadata.xml b/media-gfx/freecad/metadata.xml
index 0787a07fc30c..7cc8bc2a327b 100644
--- a/media-gfx/freecad/metadata.xml
+++ b/media-gfx/freecad/metadata.xml
@@ -14,6 +14,16 @@
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>
+ <flag name="cam">
+ Build the CAM module and workbench
+ </flag>
<flag name="cloud">
Build the Cloud workbench, to access cloud providers (mostly
Amazon S3).
@@ -37,16 +47,12 @@
Build the IDF module to provide file exchange capabilities with
IDF files
</flag>
- <flag name="image">
- Build the image module and workbench for working with bitmap
- images
- </flag>
<flag name="inspection">
Build the inspection workbench which gives you specific tools
for examination of shapes (experimental)
</flag>
- <flag name="material">
- Build the material module and workbench to work with materials
+ <flag name="mesh">
+ Build the mesh module and workbench
</flag>
<flag name="netgen">
Build support for the netgen mesher through <pkg>media-gfx/netgen</pkg>.
@@ -55,31 +61,24 @@
Build the OpenSCAD module for interoperability with OpenSCAD
and repairing Constructive Solid Geometry (CSG) history
</flag>
- <flag name="part-design">
- Build the part design module and workbench for build part shapes
- from sketches
- </flag>
- <flag name="path"><!-- FIXME: auto-enable through robot? -->
- Build the path module and workbench to procude G-Code instructions
- for CNC
- </flag>
<flag name="pcl">
Use external <pkg>sci-libs/pcl</pkg> for point clouds support.
</flag>
<flag name="points">
Build the points module and workbench for working with point clouds
</flag>
- <flag name="raytracing">
- Build the raytracing module and workbench for raytracing and rendering
+ <flag name="reverse">
+ Build the reverse engineering module and workbench
</flag>
<flag name="robot">
Build the robot module and workbench for studying robot movements
</flag>
- <flag name="show">
- Build the show module, a helper module for visibility automation
- </flag>
<flag name="smesh">
- Build the Salome SMESH module
+ Build Salome SMESH
+ </flag>
+ <flag name="spacenav">
+ Add support for space navigator devices through
+ <pkg>dev-libs/libspnav</pkg>
</flag>
<flag name="surface">
Build the surface module and workbench
@@ -88,9 +87,6 @@
Build the techdraw module and workbench, a more advanced and
feature-rich successor of the drawing workbench
</flag>
- <flag name="tux">
- Build the Tux module
- </flag>
</use>
<upstream>
<bugs-to>https://github.com/FreeCAD/FreeCAD/issues</bugs-to>
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/gifsicle/gifsicle-1.95.ebuild b/media-gfx/gifsicle/gifsicle-1.95.ebuild
index 9d95e9385b78..27d12da3ef03 100644
--- a/media-gfx/gifsicle/gifsicle-1.95.ebuild
+++ b/media-gfx/gifsicle/gifsicle-1.95.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://www.lcdf.org/~eddietwo/${PN}/${P}.tar.gz"
LICENSE="GPL-2 MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 ppc ~ppc64 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
IUSE="X"
RDEPEND="
diff --git a/media-gfx/gimp/Manifest b/media-gfx/gimp/Manifest
index 579449a517b7..6cc41942d6a9 100644
--- a/media-gfx/gimp/Manifest
+++ b/media-gfx/gimp/Manifest
@@ -1,4 +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..8e4df871c08f 100644
--- a/media-gfx/gimp/gimp-2.10.38-r1.ebuild
+++ b/media-gfx/gimp/gimp-2.10.38-r1.ebuild
@@ -12,7 +12,7 @@ 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"
diff --git a/media-gfx/gimp/gimp-2.99.18-r1.ebuild b/media-gfx/gimp/gimp-3.0.0_rc1.ebuild
index a206f158550c..00639d92cbe4 100644
--- a/media-gfx/gimp/gimp-2.99.18-r1.ebuild
+++ b/media-gfx/gimp/gimp-3.0.0_rc1.ebuild
@@ -4,22 +4,25 @@
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
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)-RC1.tar.xz"
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)-RC1"
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 )
"
RESTRICT="!test? ( test )"
@@ -27,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
@@ -35,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.50: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
@@ -50,11 +57,10 @@ COMMON_DEPEND="
>=media-libs/tiff-4.1.0:=
net-libs/glib-networking[ssl]
sys-libs/zlib
- >=x11-libs/cairo-1.16.0
+ >=x11-libs/cairo-1.16.0[X=]
>=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
+ >=x11-libs/gtk+-3.24.16:3[introspection,X=]
+ >=x11-libs/pango-1.50.0[X=]
aalib? ( media-libs/aalib )
alsa? ( >=media-libs/alsa-lib-1.0.0 )
fits? ( sci-libs/cfitsio )
@@ -71,17 +77,16 @@ 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:= )
- wmf? ( >=media-libs/libwmf-0.2.8 )
- X? ( x11-libs/libXcursor )
+ wmf? ( >=media-libs/libwmf-0.2.8[X=] )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXext
+ >=x11-libs/libXmu-1.1.4
+ )
xpm? ( x11-libs/libXpm )
"
@@ -112,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() {
@@ -145,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() {
@@ -185,12 +182,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)
@@ -199,6 +194,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)
)
@@ -216,7 +212,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
@@ -237,9 +233,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
@@ -247,15 +241,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-3.0.0_rc2.ebuild b/media-gfx/gimp/gimp-3.0.0_rc2.ebuild
new file mode 100644
index 000000000000..1f159711d6dd
--- /dev/null
+++ b/media-gfx/gimp/gimp-3.0.0_rc2.ebuild
@@ -0,0 +1,260 @@
+# 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..13} )
+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)/${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 test udev unwind vala vector-icons webp wmf xpm"
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ lua? ( ${LUA_REQUIRED_USE} )
+ test? ( X )
+ xpm? ( X )
+"
+
+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
+ >=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.57.3:2
+ >=media-gfx/mypaint-brushes-2.0.2:=
+ >=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.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
+ 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[X=]
+ >=x11-libs/gdk-pixbuf-2.40.0:2[introspection]
+ >=x11-libs/gtk+-3.24.16:3[introspection,X=]
+ >=x11-libs/pango-1.50.0[X=]
+ 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:= )
+ 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=] )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXext
+ >=x11-libs/libXmu-1.1.4
+ )
+ 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" )
+
+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
+}
+
+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}'/" gimp-data/images/logo/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 mng)
+ $(meson_feature openexr)
+ $(meson_feature openmp)
+ $(meson_feature postscript ghostscript)
+ $(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 lua)
+ $(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/3.0/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
+
+ python_optimize
+
+ # 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
+
+ # Create symlinks for Gimp exec in /usr/bin
+ 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-3.0 /usr/bin/gimp-test-clipboard
+ dosym "${ESYSROOT}"/usr/bin/gimptool-3.0 /usr/bin/gimptool
+
+ _rename_plugins || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+}
diff --git a/media-gfx/gimp/gimp-9999.ebuild b/media-gfx/gimp/gimp-9999.ebuild
index 906f16b47136..918db05ef232 100644
--- a/media-gfx/gimp/gimp-9999.ebuild
+++ b/media-gfx/gimp/gimp-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
LUA_COMPAT=( luajit )
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
VALA_USE_DEPEND=vapigen
inherit git-r3 lua-single meson python-single-r1 toolchain-funcs vala xdg
@@ -15,10 +15,12 @@ EGIT_REPO_URI="https://gitlab.gnome.org/GNOME/gimp.git"
LICENSE="GPL-3+ LGPL-3+"
SLOT="0/3"
-IUSE="X aalib alsa doc gnome heif javascript jpeg2k jpegxl lua mng openexr openmp postscript 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} )
+ test? ( X )
+ xpm? ( X )
"
RESTRICT="!test? ( test )"
@@ -38,7 +40,7 @@ COMMON_DEPEND="
>=dev-libs/json-glib-1.4.4
dev-libs/libxml2:2
dev-libs/libxslt
- >=gnome-base/librsvg-2.40.21:2
+ >=gnome-base/librsvg-2.57.3:2
>=media-gfx/mypaint-brushes-2.0.2:=
>=media-libs/babl-9999[introspection,lcms,vala?]
>=media-libs/fontconfig-2.12.6
@@ -53,13 +55,13 @@ COMMON_DEPEND="
>=media-libs/tiff-4.1.0:=
net-libs/glib-networking[ssl]
sys-libs/zlib
- >=x11-libs/cairo-1.16.0
+ >=x11-libs/cairo-1.16.0[X=]
>=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
+ >=x11-libs/gtk+-3.24.16:3[introspection,X=]
+ >=x11-libs/pango-1.50.0[X=]
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= )
@@ -76,8 +78,13 @@ COMMON_DEPEND="
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 )
+ wmf? ( >=media-libs/libwmf-0.2.8[X=] )
+ X? (
+ x11-libs/libX11
+ x11-libs/libXcursor
+ x11-libs/libXext
+ >=x11-libs/libXmu-1.1.4
+ )
xpm? ( x11-libs/libXpm )
"
@@ -167,11 +174,13 @@ src_configure() {
-Denable-multiproc=true
-Dappdata-test=disabled
-Dbug-report-url=https://bugs.gentoo.org/
+ -Dilbm=disabled
-Dlibbacktrace=false
-Dwebkit-unmaintained=false
$(meson_feature aalib aa)
$(meson_feature alsa)
$(meson_feature doc gi-docgen)
+ $(meson_feature fits)
$(meson_feature heif)
$(meson_feature javascript)
$(meson_feature jpeg2k jpeg2000)
@@ -235,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/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 e446c0eb25e0..b2650949883d 100644
--- a/media-gfx/graphviz/Manifest
+++ b/media-gfx/graphviz/Manifest
@@ -1,3 +1,4 @@
-DIST graphviz-11.0.0.tar.xz 21306368 BLAKE2B c424b2d81180513f2a03210b5a5febfbf80e5c9912ad020d7015be69fdae6579d44108d22f99450ae3384560b610dbaac49a50fe8cac9dbd4e80b8761a8b65a8 SHA512 e95c9ed491c5f09190ca0f085aba2b9a3f6703371d62f6a275f41ddfceef7d79956e1fb0ccfda6c21f2e57afc3a88e37d7091af724911fe3e900ee90a7a811cf
DIST graphviz-12.0.0.tar.xz 21279920 BLAKE2B 67d4444dcc31417fd01268b0fdc81538d86e26f961227d106ae57eb3d6d0e4a2e0ba684413a2d1b66f17340e0ad3a244ce5554c180873683e3ad4775f661739d SHA512 b5d4c8e9b565d4268fff28f169e3bfdb9ebf8b809996f7e35887430e5745aeac92c092fe2a9e15b23c9ba3364aa89fe2eeed85ab3fba61acce21634bc9632813
DIST graphviz-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.0.0-r100.ebuild b/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild
index d66128a9fbcf..b1ccbf88700e 100644
--- a/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild
+++ b/media-gfx/graphviz/graphviz-12.0.0-r100.ebuild
@@ -15,7 +15,7 @@ SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-re
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X"
REQUIRED_USE="
diff --git a/media-gfx/graphviz/graphviz-12.0.0.ebuild b/media-gfx/graphviz/graphviz-12.2.0.ebuild
index 26570a419bdf..d66128a9fbcf 100644
--- a/media-gfx/graphviz/graphviz-12.0.0.ebuild
+++ b/media-gfx/graphviz/graphviz-12.2.0.ebuild
@@ -3,8 +3,9 @@
EAPI=8
+GUILE_COMPAT=( 2-2 3-0 )
PYTHON_COMPAT=( python3_{10..13} )
-inherit libtool python-single-r1
+inherit guile-single libtool python-single-r1
DESCRIPTION="Open Source Graph Visualization Software"
HOMEPAGE="https://www.graphviz.org/ https://gitlab.com/graphviz/graphviz/"
@@ -14,11 +15,12 @@ SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-re
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X"
REQUIRED_USE="
!cairo? ( !X !gtk2 !postscript !lasi )
+ guile? ( ${GUILE_REQUIRED_USE} )
pdf? ( cairo )
python? ( ${PYTHON_REQUIRED_USE} )"
@@ -45,7 +47,7 @@ RDEPEND="
x11-libs/gtk+:2
)
gts? ( sci-libs/gts )
- guile? ( dev-scheme/guile )
+ guile? ( ${GUILE_DEPS} )
lasi? ( media-libs/lasi )
pdf? ( app-text/poppler )
perl? ( dev-lang/perl:= )
@@ -74,7 +76,7 @@ BDEPEND="
)
guile? (
dev-lang/swig
- dev-scheme/guile
+ ${GUILE_DEPS}
)
nls? ( >=sys-devel/gettext-0.14.5 )
perl? ( dev-lang/swig )
@@ -138,11 +140,16 @@ BDEPEND="
# with flags enabled at configure time
pkg_setup() {
+ use guile && guile-single_pkg_setup
use python && python-single-r1_pkg_setup
}
src_prepare() {
- default
+ if use guile; then
+ guile-single_src_prepare
+ else
+ default
+ fi
elibtoolize
}
@@ -205,6 +212,8 @@ src_install() {
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
diff --git a/media-gfx/graphviz/graphviz-11.0.0.ebuild b/media-gfx/graphviz/graphviz-12.2.1-r1.ebuild
index cec1338b0d7d..518102e6ab66 100644
--- a/media-gfx/graphviz/graphviz-11.0.0.ebuild
+++ b/media-gfx/graphviz/graphviz-12.2.1-r1.ebuild
@@ -1,10 +1,11 @@
-# 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} )
-inherit libtool python-single-r1
+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/"
@@ -14,11 +15,12 @@ SRC_URI="https://gitlab.com/api/v4/projects/4207231/packages/generic/graphviz-re
LICENSE="CPL-1.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="+cairo devil doc examples gtk2 gts guile lasi nls pdf perl postscript python qt5 ruby svg tcl webp X"
+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} )"
@@ -45,18 +47,13 @@ RDEPEND="
x11-libs/gtk+:2
)
gts? ( sci-libs/gts )
- guile? ( dev-scheme/guile )
+ guile? ( ${GUILE_DEPS} )
lasi? ( media-libs/lasi )
pdf? ( app-text/poppler )
perl? ( dev-lang/perl:= )
postscript? ( app-text/ghostscript-gpl )
python? ( ${PYTHON_DEPS} )
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- )
+ qt6? ( dev-qt/qtbase:6[gui,widgets] )
ruby? ( dev-lang/ruby:* )
svg? ( gnome-base/librsvg )
tcl? ( >=dev-lang/tcl-8.3:= )
@@ -74,7 +71,7 @@ BDEPEND="
)
guile? (
dev-lang/swig
- dev-scheme/guile
+ ${GUILE_DEPS}
)
nls? ( >=sys-devel/gettext-0.14.5 )
perl? ( dev-lang/swig )
@@ -129,7 +126,7 @@ BDEPEND="
# And the commands (/cmd):
# - dot, gvedit, gvpr, smyrna, tools/* :)
# sci-libs/gts can be used for some of these
-# - gvedit (via 'qt5'):
+# - 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
@@ -138,11 +135,16 @@ BDEPEND="
# with flags enabled at configure time
pkg_setup() {
+ use guile && guile-single_pkg_setup
use python && python-single-r1_pkg_setup
}
src_prepare() {
- default
+ if use guile; then
+ guile-single_src_prepare
+ else
+ default
+ fi
elibtoolize
}
@@ -159,7 +161,7 @@ src_configure() {
$(use_with gtk2 gdk-pixbuf)
$(use_with gtk2)
$(use_with gts)
- $(use_with qt5 qt)
+ $(use_with qt6 qt)
$(use_with lasi)
$(use_with pdf poppler)
$(use_with postscript ghostscript)
@@ -192,7 +194,7 @@ src_configure() {
# libtool file collision, bug #276609
--without-included-ltdl
--disable-ltdl-install
- QMAKE=$(usev qt5 qmake5)
+ QMAKE=$(usev qt6 qmake6)
)
# XXX: Temporary bash for bug #926600. It's been reverted upstream
# on master already:
@@ -205,6 +207,8 @@ src_install() {
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
diff --git a/media-gfx/hugin/Manifest b/media-gfx/hugin/Manifest
index 3cfc581a5824..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.0rc1.tar.bz2 10350195 BLAKE2B f88f632f1e02b24a5d2d3d9778c1cdd44a5ae954f9d2527a7273ea86995a959665f2f648a2b86de78a3b16e0b85a31c8df9de83d90529cef27e90f1ae89b7dd8 SHA512 4acdb18b14b6ddb7c3c87988877aaffe72a46c63021f92ca965f32a44b224f59595679b6f431ecfa0a456a6ceec98af2252e21a614d3073149021358b245cfe2
+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_rc1.ebuild b/media-gfx/hugin/hugin-2024.0.1.ebuild
index d61fccfde529..a9919d40d6b9 100644
--- a/media-gfx/hugin/hugin-2024.0_rc1.ebuild
+++ b/media-gfx/hugin/hugin-2024.0.1.ebuild
@@ -12,11 +12,9 @@ DESCRIPTION="GUI for the creation & processing of panoramic images"
HOMEPAGE="http://hugin.sf.net"
SRC_URI="https://downloads.sourceforge.net/${PN}/${P/_/}.tar.bz2"
-S=${WORKDIR}/${PN}-$(ver_cut 1-2).0
-
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 07124a7dd9f9..350292414dcf 100644
--- a/media-gfx/hydrus/hydrus-565-r1.ebuild
+++ b/media-gfx/hydrus/hydrus-565-r1.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="sqlite"
DOCS_BUILDER=mkdocs
@@ -61,8 +61,7 @@ RDEPEND="
dev-python/service-identity[${PYTHON_USEDEP}]
dev-python/twisted[${PYTHON_USEDEP}]
- dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
- || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyqt6] )
+ dev-python/qtpy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
media-video/ffmpeg
@@ -150,6 +149,6 @@ src_install() {
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 "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks"
optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]"
}
diff --git a/media-gfx/hydrus/hydrus-571.ebuild b/media-gfx/hydrus/hydrus-571.ebuild
index 07124a7dd9f9..350292414dcf 100644
--- a/media-gfx/hydrus/hydrus-571.ebuild
+++ b/media-gfx/hydrus/hydrus-571.ebuild
@@ -3,7 +3,7 @@
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="sqlite"
DOCS_BUILDER=mkdocs
@@ -61,8 +61,7 @@ RDEPEND="
dev-python/service-identity[${PYTHON_USEDEP}]
dev-python/twisted[${PYTHON_USEDEP}]
- dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
- || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyqt6] )
+ dev-python/qtpy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
media-video/ffmpeg
@@ -150,6 +149,6 @@ src_install() {
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 "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks"
optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]"
}
diff --git a/media-gfx/hydrus/hydrus-9999.ebuild b/media-gfx/hydrus/hydrus-9999.ebuild
index 6c1cb6719c2e..2a870e24c78f 100644
--- a/media-gfx/hydrus/hydrus-9999.ebuild
+++ b/media-gfx/hydrus/hydrus-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..11} )
PYTHON_REQ_USE="sqlite"
DOCS_BUILDER=mkdocs
@@ -57,8 +57,7 @@ RDEPEND="
dev-python/service-identity[${PYTHON_USEDEP}]
dev-python/twisted[${PYTHON_USEDEP}]
- dev-python/QtPy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
- || ( dev-python/QtPy[pyside2] dev-python/QtPy[pyside6] )
+ dev-python/qtpy[widgets,gui,svg,multimedia,${PYTHON_USEDEP}]
media-libs/opencv[python,png,jpeg,${PYTHON_USEDEP}]
media-video/ffmpeg
@@ -144,6 +143,6 @@ src_install() {
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 "SOCKS proxy support" "dev-python/requests[socks5]" "dev-python/pysocks"
optfeature "bandwidth charts support" "dev-python/pyside2[charts]" "dev-python/pyside6[charts]"
}
diff --git a/media-gfx/igal/igal-3.2.ebuild b/media-gfx/igal/igal-3.2.ebuild
index f5a14a2df2cf..51a66ce9c503 100644
--- a/media-gfx/igal/igal-3.2.ebuild
+++ b/media-gfx/igal/igal-3.2.ebuild
@@ -10,7 +10,7 @@ S="${WORKDIR}/${PN}2-${PV}"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND="
dev-lang/perl
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
index d5470d00ae36..8e26cfb2d9a6 100644
--- a/media-gfx/imagemagick/imagemagick-6.9.13.16.ebuild
+++ b/media-gfx/imagemagick/imagemagick-6.9.13.16.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.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
index 7a411d2e2d91..4cb8cbb1251a 100644
--- a/media-gfx/imagemagick/imagemagick-7.1.1.38-r1.ebuild
+++ b/media-gfx/imagemagick/imagemagick-7.1.1.38-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
@@ -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-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
index 45cfe4d2db47..c3af2faa2229 100644
--- a/media-gfx/imagemagick/imagemagick-7.1.1.38.ebuild
+++ b/media-gfx/imagemagick/imagemagick-7.1.1.38.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-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/img2pdf/img2pdf-0.5.1.ebuild b/media-gfx/img2pdf/img2pdf-0.5.1.ebuild
index a6489af9714d..881c283cd7f9 100644
--- a/media-gfx/img2pdf/img2pdf-0.5.1.ebuild
+++ b/media-gfx/img2pdf/img2pdf-0.5.1.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="LGPL-3+"
SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
+KEYWORDS="amd64 ~ppc64 x86"
IUSE="gui"
BDEPEND="
diff --git a/media-gfx/inkscape/Manifest b/media-gfx/inkscape/Manifest
index 76baabb37e72..451ba470c5b6 100644
--- a/media-gfx/inkscape/Manifest
+++ b/media-gfx/inkscape/Manifest
@@ -1,3 +1 @@
-DIST inkscape-1.3.2.tar.xz 44720944 BLAKE2B 24120f8c671e1fb54bb6626cab95e7086e3c60fbc117bbe8017d081c799bc26812b1286e670771e7ffe88720ba25f237146c452afaf65c1ee2ee554fb07f79a2 SHA512 a6da4b676ba3e7f954f95e3916ce78ce358b49c8052795a52d478064ef02eeae0337b0a94e89b9752ea6824a5758d28072c2bbf83f1e9ee28daebd3b0ef87343
DIST inkscape-1.4.tar.xz 46321868 BLAKE2B 3f21402019995122f043f5ebd8f07e1c9548c507f27c494e4214e090c46acae016c21f950609c95cef2e1b0011693e6629326d733b257402391e2d919bcd0303 SHA512 3b81306b81416597073e7eda2a103112cee63493bcf96fa737bb1edfbd682ebb329e415bbbbfda877aef2a78dc376460040ebc5c0cc2c90c0fe60db5d7d12368
-DIST inkscape-1.4beta3.tar.xz 46065140 BLAKE2B e24849462170014ee6ffd609e5f6db38694e387a5988929bc52cf3b9594d0021c63d8bdfe997dc22f6c544e1c65b9ccd78f314cb943242a860471122d32efcd8 SHA512 3c8d757eacef54742c4c8b9ce923719fee4ae1fb6d39031fecdf4d9641cfaa2e689adcfa16a7450a43aefe5795a2319f0ef5cd7304e78b2a9bff0da02106faba
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.10-fix-backport.patch b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.10-fix-backport.patch
new file mode 100644
index 000000000000..c20ab13e4f52
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.10-fix-backport.patch
@@ -0,0 +1,432 @@
+https://bugs.gentoo.org/941933
+
+From 22304ae8034d067670a9f95022083a75fac92b4c Mon Sep 17 00:00:00 2001
+From: PBS <pbs3141@gmail.com>
+Date: Tue, 22 Oct 2024 14:48:31 +0100
+Subject: [PATCH] Future-proof against poppler 24.10 changes
+
+---
+ .../internal/pdfinput/pdf-parser.cpp | 120 ++++++++----------
+ src/extension/internal/pdfinput/pdf-parser.h | 4 +-
+ .../pdfinput/poppler-transition-api.h | 6 +
+ 3 files changed, 61 insertions(+), 69 deletions(-)
+
+diff --git a/src/extension/internal/pdfinput/pdf-parser.cpp b/src/extension/internal/pdfinput/pdf-parser.cpp
+index 97b2909218a..28000a87b0c 100644
+--- a/src/extension/internal/pdfinput/pdf-parser.cpp
++++ b/src/extension/internal/pdfinput/pdf-parser.cpp
+@@ -817,11 +817,11 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ _POPPLER_FREE(obj3);
+ if (_POPPLER_CALL_ARGS_DEREF(obj3, obj2.dictLookup, "G").isStream()) {
+ if (_POPPLER_CALL_ARGS_DEREF(obj4, obj3.streamGetDict()->lookup, "Group").isDict()) {
+- GfxColorSpace *blendingColorSpace = nullptr;
++ std::unique_ptr<GfxColorSpace> blendingColorSpace;
+ GBool isolated = gFalse;
+ GBool knockout = gFalse;
+ if (!_POPPLER_CALL_ARGS_DEREF(obj5, obj4.dictLookup, "CS").isNull()) {
+- blendingColorSpace = GfxColorSpace::parse(nullptr, &obj5, nullptr, state);
++ blendingColorSpace = std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(nullptr, &obj5, nullptr, state));
+ }
+ _POPPLER_FREE(obj5);
+ if (_POPPLER_CALL_ARGS_DEREF(obj5, obj4.dictLookup, "I").isBool()) {
+@@ -842,7 +842,7 @@ void PdfParser::opSetExtGState(Object args[], int /*numArgs*/)
+ }
+ }
+ }
+- doSoftMask(&obj3, alpha, blendingColorSpace, isolated, knockout, funcs[0], &backdropColor);
++ doSoftMask(&obj3, alpha, blendingColorSpace.get(), isolated, knockout, funcs[0], &backdropColor);
+ if (funcs[0]) {
+ delete funcs[0];
+ }
+@@ -927,9 +927,6 @@ void PdfParser::doSoftMask(Object *str, GBool alpha,
+ alpha, transferFunc, backdropColor);
+ --formDepth;
+
+- if (blendingColorSpace) {
+- delete blendingColorSpace;
+- }
+ _POPPLER_FREE(obj1);
+ }
+
+@@ -946,42 +943,43 @@ void PdfParser::opSetRenderingIntent(Object /*args*/[], int /*numArgs*/)
+ *
+ * Maintains a cache for named color spaces to avoid expensive re-parsing.
+ */
+-GfxColorSpace *PdfParser::lookupColorSpaceCopy(Object &arg)
++std::unique_ptr<GfxColorSpace> PdfParser::lookupColorSpaceCopy(Object &arg)
+ {
+ assert(!arg.isNull());
+- GfxColorSpace *colorSpace = nullptr;
+
+ if (char const *name = arg.isName() ? arg.getName() : nullptr) {
+ auto const cache_name = std::to_string(formDepth) + "-" + name;
+- if ((colorSpace = colorSpacesCache[cache_name].get())) {
+- return colorSpace->copy();
++ if (auto cached = colorSpacesCache[cache_name].get()) {
++ return std::unique_ptr<GfxColorSpace>(cached->copy());
+ }
+
+- Object obj = res->lookupColorSpace(name);
+- if (obj.isNull()) {
+- colorSpace = GfxColorSpace::parse(res, &arg, nullptr, state);
++ std::unique_ptr<GfxColorSpace> colorSpace;
++ if (auto obj = res->lookupColorSpace(name); !obj.isNull()) {
++ colorSpace = std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res, &obj, nullptr, state));
+ } else {
+- colorSpace = GfxColorSpace::parse(res, &obj, nullptr, state);
++ colorSpace = std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res, &arg, nullptr, state));
+ }
+
+ if (colorSpace && colorSpace->getMode() != csPattern) {
+- colorSpacesCache[cache_name].reset(colorSpace->copy());
++ colorSpacesCache[cache_name] = std::unique_ptr<GfxColorSpace>(colorSpace->copy());
+ }
++
++ return colorSpace;
+ } else {
+ // We were passed in an object directly.
+- colorSpace = GfxColorSpace::parse(res, &arg, nullptr, state);
++ return std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(res, &arg, nullptr, state));
+ }
+- return colorSpace;
+ }
+
+ /**
+ * Look up pattern/gradients from the GfxResource dictionary
+ */
+-GfxPattern *PdfParser::lookupPattern(Object *obj, GfxState *state)
++std::unique_ptr<GfxPattern> PdfParser::lookupPattern(Object *obj, GfxState *state)
+ {
+- if (!obj->isName())
+- return nullptr;
+- return res->lookupPattern(obj->getName(), nullptr, state);
++ if (!obj->isName()) {
++ return {};
++ }
++ return std::unique_ptr<GfxPattern>(res->lookupPattern(obj->getName(), nullptr, state));
+ }
+
+ // TODO not good that numArgs is ignored but args[] is used:
+@@ -990,7 +988,7 @@ void PdfParser::opSetFillGray(Object args[], int /*numArgs*/)
+ GfxColor color;
+ builder->beforeStateChange(state);
+ state->setFillPattern(nullptr);
+- state->setFillColorSpace(new GfxDeviceGrayColorSpace());
++ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceGrayColorSpace>()));
+ color.c[0] = dblToCol(args[0].getNum());
+ state->setFillColor(&color);
+ builder->updateStyle(state);
+@@ -1002,7 +1000,7 @@ void PdfParser::opSetStrokeGray(Object args[], int /*numArgs*/)
+ GfxColor color;
+ builder->beforeStateChange(state);
+ state->setStrokePattern(nullptr);
+- state->setStrokeColorSpace(new GfxDeviceGrayColorSpace());
++ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceGrayColorSpace>()));
+ color.c[0] = dblToCol(args[0].getNum());
+ state->setStrokeColor(&color);
+ builder->updateStyle(state);
+@@ -1015,7 +1013,7 @@ void PdfParser::opSetFillCMYKColor(Object args[], int /*numArgs*/)
+ int i;
+ builder->beforeStateChange(state);
+ state->setFillPattern(nullptr);
+- state->setFillColorSpace(new GfxDeviceCMYKColorSpace());
++ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceCMYKColorSpace>()));
+ for (i = 0; i < 4; ++i) {
+ color.c[i] = dblToCol(args[i].getNum());
+ }
+@@ -1029,7 +1027,7 @@ void PdfParser::opSetStrokeCMYKColor(Object args[], int /*numArgs*/)
+ GfxColor color;
+ builder->beforeStateChange(state);
+ state->setStrokePattern(nullptr);
+- state->setStrokeColorSpace(new GfxDeviceCMYKColorSpace());
++ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceCMYKColorSpace>()));
+ for (int i = 0; i < 4; ++i) {
+ color.c[i] = dblToCol(args[i].getNum());
+ }
+@@ -1043,7 +1041,7 @@ void PdfParser::opSetFillRGBColor(Object args[], int /*numArgs*/)
+ GfxColor color;
+ builder->beforeStateChange(state);
+ state->setFillPattern(nullptr);
+- state->setFillColorSpace(new GfxDeviceRGBColorSpace());
++ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceRGBColorSpace>()));
+ for (int i = 0; i < 3; ++i) {
+ color.c[i] = dblToCol(args[i].getNum());
+ }
+@@ -1056,7 +1054,7 @@ void PdfParser::opSetStrokeRGBColor(Object args[], int /*numArgs*/) {
+ GfxColor color;
+ builder->beforeStateChange(state);
+ state->setStrokePattern(nullptr);
+- state->setStrokeColorSpace(new GfxDeviceRGBColorSpace());
++ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(std::make_unique<GfxDeviceRGBColorSpace>()));
+ for (int i = 0; i < 3; ++i) {
+ color.c[i] = dblToCol(args[i].getNum());
+ }
+@@ -1068,14 +1066,14 @@ void PdfParser::opSetStrokeRGBColor(Object args[], int /*numArgs*/) {
+ void PdfParser::opSetFillColorSpace(Object args[], int numArgs)
+ {
+ assert(numArgs >= 1);
+- GfxColorSpace *colorSpace = lookupColorSpaceCopy(args[0]);
++ auto colorSpace = lookupColorSpaceCopy(args[0]);
+ builder->beforeStateChange(state);
+ state->setFillPattern(nullptr);
+
+ if (colorSpace) {
+ GfxColor color;
+- state->setFillColorSpace(colorSpace);
+ colorSpace->getDefaultColor(&color);
++ state->setFillColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(colorSpace));
+ state->setFillColor(&color);
+ builder->updateStyle(state);
+ } else {
+@@ -1089,14 +1087,14 @@ void PdfParser::opSetStrokeColorSpace(Object args[], int numArgs)
+ assert(numArgs >= 1);
+ builder->beforeStateChange(state);
+
+- GfxColorSpace *colorSpace = lookupColorSpaceCopy(args[0]);
++ auto colorSpace = lookupColorSpaceCopy(args[0]);
+
+ state->setStrokePattern(nullptr);
+
+ if (colorSpace) {
+ GfxColor color;
+- state->setStrokeColorSpace(colorSpace);
+ colorSpace->getDefaultColor(&color);
++ state->setStrokeColorSpace(_POPPLER_CONSUME_UNIQPTR_ARG(colorSpace));
+ state->setStrokeColor(&color);
+ builder->updateStyle(state);
+ } else {
+@@ -1159,7 +1157,7 @@ void PdfParser::opSetFillColorN(Object args[], int numArgs) {
+ builder->updateStyle(state);
+ }
+ if (auto pattern = lookupPattern(&(args[numArgs - 1]), state)) {
+- state->setFillPattern(pattern);
++ state->setFillPattern(_POPPLER_CONSUME_UNIQPTR_ARG(pattern));
+ builder->updateStyle(state);
+ }
+
+@@ -1202,7 +1200,7 @@ void PdfParser::opSetStrokeColorN(Object args[], int numArgs) {
+ builder->updateStyle(state);
+ }
+ if (auto pattern = lookupPattern(&(args[numArgs - 1]), state)) {
+- state->setStrokePattern(pattern);
++ state->setStrokePattern(_POPPLER_CONSUME_UNIQPTR_ARG(pattern));
+ builder->updateStyle(state);
+ }
+
+@@ -1579,11 +1577,11 @@ void PdfParser::doShadingPatternFillFallback(GfxShadingPattern *sPat,
+ // TODO not good that numArgs is ignored but args[] is used:
+ void PdfParser::opShFill(Object args[], int /*numArgs*/)
+ {
+- GfxShading *shading = nullptr;
+ GfxPath *savedPath = nullptr;
+ bool savedState = false;
+
+- if (!(shading = res->lookupShading(args[0].getName(), nullptr, state))) {
++ auto shading = std::unique_ptr<GfxShading>(res->lookupShading(args[0].getName(), nullptr, state));
++ if (!shading) {
+ return;
+ }
+
+@@ -1615,19 +1613,19 @@ void PdfParser::opShFill(Object args[], int /*numArgs*/)
+ // do shading type-specific operations
+ switch (shading->getType()) {
+ case 1: // Function-based shading
+- doFunctionShFill(static_cast<GfxFunctionShading *>(shading));
++ doFunctionShFill(static_cast<GfxFunctionShading *>(shading.get()));
+ break;
+ case 2: // Axial shading
+ case 3: // Radial shading
+- builder->addClippedFill(shading, stateToAffine(state));
++ builder->addClippedFill(shading.get(), stateToAffine(state));
+ break;
+ case 4: // Free-form Gouraud-shaded triangle mesh
+ case 5: // Lattice-form Gouraud-shaded triangle mesh
+- doGouraudTriangleShFill(static_cast<GfxGouraudTriangleShading *>(shading));
++ doGouraudTriangleShFill(static_cast<GfxGouraudTriangleShading *>(shading.get()));
+ break;
+ case 6: // Coons patch mesh
+ case 7: // Tensor-product patch mesh
+- doPatchMeshShFill(static_cast<GfxPatchMeshShading *>(shading));
++ doPatchMeshShFill(static_cast<GfxPatchMeshShading *>(shading.get()));
+ break;
+ }
+
+@@ -1636,8 +1634,6 @@ void PdfParser::opShFill(Object args[], int /*numArgs*/)
+ restoreState();
+ state->setPath(savedPath);
+ }
+-
+- delete shading;
+ }
+
+ void PdfParser::doFunctionShFill(GfxFunctionShading *shading) {
+@@ -2528,7 +2524,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+
+ } else {
+ // get color space and color map
+- GfxColorSpace *colorSpace;
++ std::unique_ptr<GfxColorSpace> colorSpace;
+ _POPPLER_CALL_ARGS(obj1, dict->lookup, "ColorSpace");
+ if (obj1.isNull()) {
+ _POPPLER_FREE(obj1);
+@@ -2537,13 +2533,11 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ if (!obj1.isNull()) {
+ colorSpace = lookupColorSpaceCopy(obj1);
+ } else if (csMode == streamCSDeviceGray) {
+- colorSpace = new GfxDeviceGrayColorSpace();
++ colorSpace = std::make_unique<GfxDeviceGrayColorSpace>();
+ } else if (csMode == streamCSDeviceRGB) {
+- colorSpace = new GfxDeviceRGBColorSpace();
++ colorSpace = std::make_unique<GfxDeviceRGBColorSpace>();
+ } else if (csMode == streamCSDeviceCMYK) {
+- colorSpace = new GfxDeviceCMYKColorSpace();
+- } else {
+- colorSpace = nullptr;
++ colorSpace = std::make_unique<GfxDeviceCMYKColorSpace>();
+ }
+ _POPPLER_FREE(obj1);
+ if (!colorSpace) {
+@@ -2554,10 +2548,9 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ _POPPLER_FREE(obj1);
+ _POPPLER_CALL_ARGS(obj1, dict->lookup, "D");
+ }
+- GfxImageColorMap *colorMap = new GfxImageColorMap(bits, &obj1, colorSpace);
++ auto colorMap = std::make_unique<GfxImageColorMap>(bits, &obj1, _POPPLER_CONSUME_UNIQPTR_ARG(colorSpace));
+ _POPPLER_FREE(obj1);
+ if (!colorMap->isOk()) {
+- delete colorMap;
+ goto err1;
+ }
+
+@@ -2568,7 +2561,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ int maskWidth = 0;
+ int maskHeight = 0;
+ maskInvert = gFalse;
+- GfxImageColorMap *maskColorMap = nullptr;
++ std::unique_ptr<GfxImageColorMap> maskColorMap;
+ _POPPLER_CALL_ARGS(maskObj, dict->lookup, "Mask");
+ _POPPLER_CALL_ARGS(smaskObj, dict->lookup, "SMask");
+ Dict* maskDict;
+@@ -2624,7 +2617,7 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ _POPPLER_FREE(obj1);
+ _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "CS");
+ }
+- GfxColorSpace *maskColorSpace = lookupColorSpaceCopy(obj1);
++ auto maskColorSpace = lookupColorSpaceCopy(obj1);
+ _POPPLER_FREE(obj1);
+ if (!maskColorSpace || maskColorSpace->getMode() != csDeviceGray) {
+ goto err1;
+@@ -2634,10 +2627,9 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+ _POPPLER_FREE(obj1);
+ _POPPLER_CALL_ARGS(obj1, maskDict->lookup, "D");
+ }
+- maskColorMap = new GfxImageColorMap(maskBits, &obj1, maskColorSpace);
++ maskColorMap = std::make_unique<GfxImageColorMap>(maskBits, &obj1, _POPPLER_CONSUME_UNIQPTR_ARG(maskColorSpace));
+ _POPPLER_FREE(obj1);
+ if (!maskColorMap->isOk()) {
+- delete maskColorMap;
+ goto err1;
+ }
+ //~ handle the Matte entry
+@@ -2718,17 +2710,15 @@ void PdfParser::doImage(Object * /*ref*/, Stream *str, GBool inlineImg)
+
+ // draw it
+ if (haveSoftMask) {
+- builder->addSoftMaskedImage(state, str, width, height, colorMap, interpolate,
+- maskStr, maskWidth, maskHeight, maskColorMap, maskInterpolate);
+- delete maskColorMap;
++ builder->addSoftMaskedImage(state, str, width, height, colorMap.get(), interpolate,
++ maskStr, maskWidth, maskHeight, maskColorMap.get(), maskInterpolate);
+ } else if (haveExplicitMask) {
+- builder->addMaskedImage(state, str, width, height, colorMap, interpolate,
++ builder->addMaskedImage(state, str, width, height, colorMap.get(), interpolate,
+ maskStr, maskWidth, maskHeight, maskInvert, maskInterpolate);
+ } else {
+- builder->addImage(state, str, width, height, colorMap, interpolate,
+- haveColorKeyMask ? maskColors : static_cast<int *>(nullptr));
++ builder->addImage(state, str, width, height, colorMap.get(), interpolate,
++ haveColorKeyMask ? maskColors : nullptr);
+ }
+- delete colorMap;
+
+ _POPPLER_FREE(maskObj);
+ _POPPLER_FREE(smaskObj);
+@@ -2746,7 +2736,6 @@ void PdfParser::doForm(Object *str, double *offset)
+ {
+ Dict *dict;
+ GBool transpGroup, isolated, knockout;
+- GfxColorSpace *blendingColorSpace;
+ Object matrixObj, bboxObj;
+ double m[6], bbox[4];
+ Object resObj;
+@@ -2812,12 +2801,12 @@ void PdfParser::doForm(Object *str, double *offset)
+
+ // check for a transparency group
+ transpGroup = isolated = knockout = gFalse;
+- blendingColorSpace = nullptr;
++ std::unique_ptr<GfxColorSpace> blendingColorSpace;
+ if (_POPPLER_CALL_ARGS_DEREF(obj1, dict->lookup, "Group").isDict()) {
+ if (_POPPLER_CALL_ARGS_DEREF(obj2, obj1.dictLookup, "S").isName("Transparency")) {
+ transpGroup = gTrue;
+ if (!_POPPLER_CALL_ARGS_DEREF(obj3, obj1.dictLookup, "CS").isNull()) {
+- blendingColorSpace = GfxColorSpace::parse(nullptr, &obj3, nullptr, state);
++ blendingColorSpace = std::unique_ptr<GfxColorSpace>(GfxColorSpace::parse(nullptr, &obj3, nullptr, state));
+ }
+ _POPPLER_FREE(obj3);
+ if (_POPPLER_CALL_ARGS_DEREF(obj3, obj1.dictLookup, "I").isBool()) {
+@@ -2835,12 +2824,9 @@ void PdfParser::doForm(Object *str, double *offset)
+
+ // draw it
+ ++formDepth;
+- doForm1(str, resDict, m, bbox, transpGroup, gFalse, blendingColorSpace, isolated, knockout);
++ doForm1(str, resDict, m, bbox, transpGroup, gFalse, blendingColorSpace.get(), isolated, knockout);
+ --formDepth;
+
+- if (blendingColorSpace) {
+- delete blendingColorSpace;
+- }
+ _POPPLER_FREE(resObj);
+ }
+
+diff --git a/src/extension/internal/pdfinput/pdf-parser.h b/src/extension/internal/pdfinput/pdf-parser.h
+index c7c10caefed..8325ea24364 100644
+--- a/src/extension/internal/pdfinput/pdf-parser.h
++++ b/src/extension/internal/pdfinput/pdf-parser.h
+@@ -137,7 +137,7 @@ public:
+ void loadPatternColorProfiles(Dict *resources);
+ void loadColorProfile();
+ void loadColorSpaceProfile(GfxColorSpace *space, Object *obj);
+- GfxPattern *lookupPattern(Object *obj, GfxState *state);
++ std::unique_ptr<GfxPattern> lookupPattern(Object *obj, GfxState *state);
+
+ std::shared_ptr<CairoFontEngine> getFontEngine();
+
+@@ -176,7 +176,7 @@ private:
+ //! Caches color spaces by name
+ std::map<std::string, std::unique_ptr<GfxColorSpace>> colorSpacesCache;
+
+- GfxColorSpace *lookupColorSpaceCopy(Object &);
++ std::unique_ptr<GfxColorSpace> lookupColorSpaceCopy(Object &);
+
+ void setDefaultApproximationPrecision(); // init color deltas
+ void pushOperator(const char *name);
+diff --git a/src/extension/internal/pdfinput/poppler-transition-api.h b/src/extension/internal/pdfinput/poppler-transition-api.h
+index 481aefadf46..8f03aa17779 100644
+--- a/src/extension/internal/pdfinput/poppler-transition-api.h
++++ b/src/extension/internal/pdfinput/poppler-transition-api.h
+@@ -15,6 +15,12 @@
+ #include <glib/poppler-features.h>
+ #include <poppler/UTF.h>
+
++#if POPPLER_CHECK_VERSION(24, 10, 0)
++#define _POPPLER_CONSUME_UNIQPTR_ARG(value) std::move(value)
++#else
++#define _POPPLER_CONSUME_UNIQPTR_ARG(value) value.release()
++#endif
++
+ #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()))
+--
+GitLab
+
diff --git a/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch
new file mode 100644
index 000000000000..fdfe0efa1a7d
--- /dev/null
+++ b/media-gfx/inkscape/files/inkscape-1.4-poppler-24.11.0.patch
@@ -0,0 +1,59 @@
+From 0399372ec240d23e0e70548237a541f2b5bf0f34 Mon Sep 17 00:00:00 2001
+From: KrIr17 <elendil.krir17@gmail.com>
+Date: Tue, 5 Nov 2024 00:40:15 +0100
+Subject: [PATCH] Fix building with Poppler 24.11
+
+Poppler 24.11 no longer sets the default value for faceIndex to 0 in
+`FoFiTrueType::make()` and `FoFiTrueType::load()` [1], so we do it
+on our end instead.
+
+Fixes https://gitlab.com/inkscape/inkscape/-/issues/5370
+
+[1] https://gitlab.freedesktop.org/poppler/poppler/-/commit/94467509a013dd5cf46c942baa598f2b296571f4
+---
+ .../internal/pdfinput/poppler-cairo-font-engine.cpp | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+index 34a8eed682d..728b1d1aac4 100644
+--- a/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
++++ b/src/extension/internal/pdfinput/poppler-cairo-font-engine.cpp
+@@ -419,9 +419,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size());
++ ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0);
+ } else {
+- ff = FoFiTrueType::load(fileName.c_str());
++ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
+ if (!ff) {
+ goto err2;
+@@ -444,9 +444,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size());
++ ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0);
+ } else {
+- ff = FoFiTrueType::load(fileName.c_str());
++ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
+ if (!ff) {
+ error(errSyntaxError, -1, "failed to load truetype font\n");
+@@ -512,9 +512,9 @@ CairoFreeTypeFont *CairoFreeTypeFont::create(GfxFont *gfxFont, XRef *xref, FT_Li
+ FoFiTrueType *ff;
+ #endif
+ if (!font_data.empty()) {
+- ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size());
++ ff = FoFiTrueType::make((fontchar)font_data.data(), font_data.size(), 0);
+ } else {
+- ff = FoFiTrueType::load(fileName.c_str());
++ ff = FoFiTrueType::load(fileName.c_str(), 0);
+ }
+ if (ff) {
+ if (ff->isOpenTypeCFF()) {
+--
+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/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.ebuild b/media-gfx/inkscape/inkscape-1.4-r1.ebuild
index 29117135a3c6..574250c2b239 100644
--- a/media-gfx/inkscape/inkscape-1.4.ebuild
+++ b/media-gfx/inkscape/inkscape-1.4-r1.ebuild
@@ -1,8 +1,11 @@
-# Copyright 1999-2024 Gentoo Authors
+# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
+# Remember to check the release notes for a 'Important Changes for Packagers'
+# section, e.g. https://inkscape.org/doc/release_notes/1.4/Inkscape_1.4.html#Important_Changes_for_Packagers.
+
PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
@@ -17,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}"
@@ -67,6 +70,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
dev-python/lockfile[${PYTHON_USEDEP}]
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
media-gfx/scour[${PYTHON_USEDEP}]
')
cdr? (
@@ -110,6 +114,9 @@ DEPEND="${COMMON_DEPEND}
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
)
pkg_pretend() {
diff --git a/media-gfx/inkscape/inkscape-1.4_beta3.ebuild b/media-gfx/inkscape/inkscape-1.4_beta3.ebuild
deleted file mode 100644
index eab33b71e0fe..000000000000
--- a/media-gfx/inkscape/inkscape-1.4_beta3.ebuild
+++ /dev/null
@@ -1,200 +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/${MY_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.58: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=
- 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 )
-"
-
-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_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
-}
diff --git a/media-gfx/inkscape/inkscape-9999.ebuild b/media-gfx/inkscape/inkscape-9999.ebuild
index 57b9aef00a3d..5e601916d853 100644
--- a/media-gfx/inkscape/inkscape-9999.ebuild
+++ b/media-gfx/inkscape/inkscape-9999.ebuild
@@ -3,6 +3,9 @@
EAPI=8
+# Remember to check the release notes for a 'Important Changes for Packagers'
+# section, e.g. https://inkscape.org/doc/release_notes/1.4/Inkscape_1.4.html#Important_Changes_for_Packagers.
+
PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
@@ -67,6 +70,7 @@ COMMON_DEPEND="${PYTHON_DEPS}
dev-python/lockfile[${PYTHON_USEDEP}]
dev-python/lxml[${PYTHON_USEDEP}]
dev-python/pillow[jpeg?,tiff,webp,${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
media-gfx/scour[${PYTHON_USEDEP}]
')
cdr? (
diff --git a/media-gfx/jp2a/jp2a-1.2.0.ebuild b/media-gfx/jp2a/jp2a-1.2.0.ebuild
index 5644f999ab76..d2ba1d187923 100644
--- a/media-gfx/jp2a/jp2a-1.2.0.ebuild
+++ b/media-gfx/jp2a/jp2a-1.2.0.ebuild
@@ -9,7 +9,7 @@ SRC_URI="https://github.com/Talinx/jp2a/releases/download/v${PV}/${P}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+KEYWORDS="amd64 ppc ppc64 ~sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
IUSE="curl"
# TODO: restore ncurses support?
diff --git a/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild b/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild
index 8ff1d8261abe..0cf153a0979d 100644
--- a/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild
+++ b/media-gfx/jpeginfo/jpeginfo-1.7.1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://www.kokkonen.net/tjko/src/${P}.tar.gz"
LICENSE="GPL-3+"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos"
+KEYWORDS="~alpha amd64 ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos"
RDEPEND="media-libs/libjpeg-turbo:="
DEPEND="${RDEPEND}"
diff --git a/media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild b/media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild
index 46f1697664d6..76927fefe6ac 100644
--- a/media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild
+++ b/media-gfx/jpegoptim/jpegoptim-1.5.5.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-inherit cmake
+inherit cmake flag-o-matic
DESCRIPTION="Utility to optimize JPEG files"
HOMEPAGE="https://www.kokkonen.net/tjko/projects.html"
@@ -23,6 +23,8 @@ PATCHES=(
)
src_configure() {
+ use elibc_musl && append-cppflags -D__GNU_LIBRARY__ #944902
+
local mycmakeargs=(
-DUSE_MOZJPEG=no
)
diff --git a/media-gfx/kgeotag/Manifest b/media-gfx/kgeotag/Manifest
index 25d6e8222789..a8f10eac773f 100644
--- a/media-gfx/kgeotag/Manifest
+++ b/media-gfx/kgeotag/Manifest
@@ -1 +1,2 @@
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/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 d82c553fa7ee..99241a3aa8cd 100644
--- a/media-gfx/kgraphviewer/Manifest
+++ b/media-gfx/kgraphviewer/Manifest
@@ -1,2 +1,2 @@
-DIST kgraphviewer-24.08.1.tar.xz 1583016 BLAKE2B b253ab2aa4688a5a2063ae2d62d395c16a243655ad859e6f66c92bbf79120b8c773d7b34a3ca890bf06bbfa935eb9ac5ff4386847d86439d5afde024e0a10d97 SHA512 80647c0db32997c277524b5d5520ba5a285c31441582a081f8f6c6265c7b8f2977043a81f75b62446540a91236744075543811ba274dd1a5cdd8d1b368bb2f0b
-DIST kgraphviewer-24.08.2.tar.xz 1583668 BLAKE2B 89197b55b4cec83020b1fa1e2b9f79cca52c64005af6bc15fecece91762d6e940f9d4813e3f085fd3563e540ac6ec8bd6cc656136da08e64de302fc763901f57 SHA512 6c18da9c91514ecfe4112777bca3dc7aa7b387ef68ea7e4849e947e3f77768a586aa7d9f4ff1b5796a1656a9786768ece4b51cbaf51d0083ea0ac84184fa229e
+DIST kgraphviewer-24.08.3.tar.xz 1585380 BLAKE2B fc81b58297565e816ab6b7fae266d0e485b31792ae4796cb3d3ac3b9b51a5494a5209fe8f3176f003d1427cf34587376683c1700c6dc9919fe0caacddf3df4d5 SHA512 2508800733799ce554b929748129610fcc10dae6769de961b58aff4f21fed3260b100004284b472bc4e7b3be2b3bbd860f13215f643a9ff30cef255212f228e6
+DIST kgraphviewer-24.12.1.tar.xz 1590420 BLAKE2B 985b0efcc459de0139ee37cb23f8d6604da1763c00723658274650c8b5121f58a39ee337886d0b7671c85ee3819f1484faa5c62cdca0a5ce7b0c1c45169f1c76 SHA512 652682ba0da3b14a08c4515d0e1d8c32de947eeab248eda3d69bcb0c467e2721acbd0e54bc58313b0793124f943b6b452f7106e5dc23ceac475de14ed5c8918e
diff --git a/media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild b/media-gfx/kgraphviewer/kgraphviewer-24.08.3.ebuild
index b34f8b7fb8c1..b34f8b7fb8c1 100644
--- a/media-gfx/kgraphviewer/kgraphviewer-24.08.1.ebuild
+++ b/media-gfx/kgraphviewer/kgraphviewer-24.08.3.ebuild
diff --git a/media-gfx/kgraphviewer/kgraphviewer-24.08.2.ebuild b/media-gfx/kgraphviewer/kgraphviewer-24.12.1.ebuild
index 43f762c21ad9..c43c182e73d8 100644
--- a/media-gfx/kgraphviewer/kgraphviewer-24.08.2.ebuild
+++ b/media-gfx/kgraphviewer/kgraphviewer-24.12.1.ebuild
@@ -1,10 +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
ECM_HANDBOOK="optional"
-KFMIN=6.5.0
+KFMIN=6.7.0
QTMIN=6.7.2
inherit ecm gear.kde.org
@@ -13,7 +13,7 @@ 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 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
IUSE=""
RDEPEND="
diff --git a/media-gfx/kio-blender-thumbnailer/Manifest b/media-gfx/kio-blender-thumbnailer/Manifest
index 4376b53d50b9..4a1930455941 100644
--- a/media-gfx/kio-blender-thumbnailer/Manifest
+++ b/media-gfx/kio-blender-thumbnailer/Manifest
@@ -1,3 +1,2 @@
-DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f
-DIST kdegraphics-thumbnailers-24.08.1.tar.xz 49016 BLAKE2B 1c29734d1371f970271e9bf0dd0750d80f5c19b78c7cdb90bc0665ee748cf4aa0414047796d96b21c207b3f6071e0e3a5fb83126d0f4f919793070f335180457 SHA512 d1b15005e080581ce31d96271bf8827a969ef95b3703ec80858b2d26fc5dd615d408471065647e0d7b7fef39b9e9af18fcf1af56594be13df5f3119fa81c2134
-DIST kdegraphics-thumbnailers-24.08.2.tar.xz 49096 BLAKE2B 3c6eddf3abe61ca55ffe04dda9e720be324078bf453b2c768ed001490e19b5c8df5d4904c14d4f82a96d9fc669cae5956f673a6aa81591044fa8f40695e594eb SHA512 0d9c536865702e0e1962cf7405373a2166656f9b63fdd03128000b2aac01fceceb1b9ddea041fbc6c66d79a744b76575929896fe1614b060941eb56ae69fa0f1
+DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d
+DIST kdegraphics-thumbnailers-24.12.1.tar.xz 49160 BLAKE2B d41573f1810545164af68af6b51804d49cb2e505fffbc24347e3c364c7629afac18c6bf254f3ee6a85e2aeedcdce9e4dea259d5ceae95236a03cb0575cfa7fee SHA512 b0da43f23b580a1b0a446bd7f96a70bbcf1e2147cb71270de054a0dfcea87a1394732fcc8e35971dd772686ad2c67e487096243ebbb8059431b58b0599d4428b
diff --git a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild
deleted file mode 100644
index 5c0f56be9ad1..000000000000
--- a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-23.08.5.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2024 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
-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"
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-frameworks/karchive-${KFMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
-"
-RDEPEND="${DEPEND}
- !<kde-apps/thumbnailers-23.08.5-r1:5
-"
-
-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
- )
- ecm_src_configure
-}
diff --git a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.1.ebuild b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.3.ebuild
index d3e261b661a7..d3e261b661a7 100644
--- a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.1.ebuild
+++ b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.3.ebuild
diff --git a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.2.ebuild b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.12.1.ebuild
index 5ef7e9c0e3d1..e852be248b99 100644
--- a/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.08.2.ebuild
+++ b/media-gfx/kio-blender-thumbnailer/kio-blender-thumbnailer-24.12.1.ebuild
@@ -1,10 +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
KDE_ORG_NAME="kdegraphics-thumbnailers"
-KFMIN=6.5.0
+KFMIN=6.7.0
QTMIN=6.7.2
inherit ecm gear.kde.org
@@ -13,7 +13,7 @@ HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/"
LICENSE="GPL-2+"
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
DEPEND="
>=dev-qt/qtbase-${QTMIN}:6[gui]
diff --git a/media-gfx/kio-mobi-thumbnailer/Manifest b/media-gfx/kio-mobi-thumbnailer/Manifest
index 4376b53d50b9..4a1930455941 100644
--- a/media-gfx/kio-mobi-thumbnailer/Manifest
+++ b/media-gfx/kio-mobi-thumbnailer/Manifest
@@ -1,3 +1,2 @@
-DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f
-DIST kdegraphics-thumbnailers-24.08.1.tar.xz 49016 BLAKE2B 1c29734d1371f970271e9bf0dd0750d80f5c19b78c7cdb90bc0665ee748cf4aa0414047796d96b21c207b3f6071e0e3a5fb83126d0f4f919793070f335180457 SHA512 d1b15005e080581ce31d96271bf8827a969ef95b3703ec80858b2d26fc5dd615d408471065647e0d7b7fef39b9e9af18fcf1af56594be13df5f3119fa81c2134
-DIST kdegraphics-thumbnailers-24.08.2.tar.xz 49096 BLAKE2B 3c6eddf3abe61ca55ffe04dda9e720be324078bf453b2c768ed001490e19b5c8df5d4904c14d4f82a96d9fc669cae5956f673a6aa81591044fa8f40695e594eb SHA512 0d9c536865702e0e1962cf7405373a2166656f9b63fdd03128000b2aac01fceceb1b9ddea041fbc6c66d79a744b76575929896fe1614b060941eb56ae69fa0f1
+DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d
+DIST kdegraphics-thumbnailers-24.12.1.tar.xz 49160 BLAKE2B d41573f1810545164af68af6b51804d49cb2e505fffbc24347e3c364c7629afac18c6bf254f3ee6a85e2aeedcdce9e4dea259d5ceae95236a03cb0575cfa7fee SHA512 b0da43f23b580a1b0a446bd7f96a70bbcf1e2147cb71270de054a0dfcea87a1394732fcc8e35971dd772686ad2c67e487096243ebbb8059431b58b0599d4428b
diff --git a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild
deleted file mode 100644
index 2c151ad528c0..000000000000
--- a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-23.08.5.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2024 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
-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"
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-apps/kdegraphics-mobipocket-${PVCUT}:5
- >=kde-frameworks/kio-${KFMIN}:5
-"
-RDEPEND="${DEPEND}
- !<kde-apps/thumbnailers-23.08.5-r1:5
-"
-
-src_prepare() {
- ecm_src_prepare
- ecm_punt_kf_module Archive
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_ps=OFF
- -DBUILD_blend=OFF
- -DCMAKE_DISABLE_FIND_PACKAGE_KF5KExiv2=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_KF5KDcraw=ON
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.1.ebuild b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.3.ebuild
index be481b735490..be481b735490 100644
--- a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.1.ebuild
+++ b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.3.ebuild
diff --git a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.2.ebuild b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.12.1.ebuild
index 5333f1b82349..4c05aa88f6cc 100644
--- a/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.08.2.ebuild
+++ b/media-gfx/kio-mobi-thumbnailer/kio-mobi-thumbnailer-24.12.1.ebuild
@@ -1,11 +1,11 @@
-# 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=6.5.0
+KFMIN=6.7.0
QTMIN=6.7.2
inherit ecm gear.kde.org
@@ -14,7 +14,7 @@ HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/"
LICENSE="GPL-2+"
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
DEPEND="
>=dev-qt/qtbase-${QTMIN}:6[gui]
diff --git a/media-gfx/kio-ps-thumbnailer/Manifest b/media-gfx/kio-ps-thumbnailer/Manifest
index 4376b53d50b9..4a1930455941 100644
--- a/media-gfx/kio-ps-thumbnailer/Manifest
+++ b/media-gfx/kio-ps-thumbnailer/Manifest
@@ -1,3 +1,2 @@
-DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f
-DIST kdegraphics-thumbnailers-24.08.1.tar.xz 49016 BLAKE2B 1c29734d1371f970271e9bf0dd0750d80f5c19b78c7cdb90bc0665ee748cf4aa0414047796d96b21c207b3f6071e0e3a5fb83126d0f4f919793070f335180457 SHA512 d1b15005e080581ce31d96271bf8827a969ef95b3703ec80858b2d26fc5dd615d408471065647e0d7b7fef39b9e9af18fcf1af56594be13df5f3119fa81c2134
-DIST kdegraphics-thumbnailers-24.08.2.tar.xz 49096 BLAKE2B 3c6eddf3abe61ca55ffe04dda9e720be324078bf453b2c768ed001490e19b5c8df5d4904c14d4f82a96d9fc669cae5956f673a6aa81591044fa8f40695e594eb SHA512 0d9c536865702e0e1962cf7405373a2166656f9b63fdd03128000b2aac01fceceb1b9ddea041fbc6c66d79a744b76575929896fe1614b060941eb56ae69fa0f1
+DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d
+DIST kdegraphics-thumbnailers-24.12.1.tar.xz 49160 BLAKE2B d41573f1810545164af68af6b51804d49cb2e505fffbc24347e3c364c7629afac18c6bf254f3ee6a85e2aeedcdce9e4dea259d5ceae95236a03cb0575cfa7fee SHA512 b0da43f23b580a1b0a446bd7f96a70bbcf1e2147cb71270de054a0dfcea87a1394732fcc8e35971dd772686ad2c67e487096243ebbb8059431b58b0599d4428b
diff --git a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild
deleted file mode 100644
index c6e1caecc1b5..000000000000
--- a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-23.08.5.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2024 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
-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"
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-frameworks/kio-${KFMIN}:5
-"
-RDEPEND="${DEPEND}
- !<kde-apps/thumbnailers-23.08.5-r1:5
- app-text/dvipsk
- app-text/ghostscript-gpl
-"
-
-src_prepare() {
- ecm_src_prepare
- ecm_punt_kf_module Archive
-}
-
-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
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.1.ebuild b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.3.ebuild
index d1bfa0020957..d1bfa0020957 100644
--- a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.1.ebuild
+++ b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.3.ebuild
diff --git a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.2.ebuild b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.12.1.ebuild
index e0ab87727184..d002dcff1a42 100644
--- a/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.08.2.ebuild
+++ b/media-gfx/kio-ps-thumbnailer/kio-ps-thumbnailer-24.12.1.ebuild
@@ -1,10 +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
KDE_ORG_NAME="kdegraphics-thumbnailers"
-KFMIN=6.5.0
+KFMIN=6.7.0
QTMIN=6.7.2
inherit ecm gear.kde.org
@@ -13,7 +13,7 @@ HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/"
LICENSE="GPL-2+"
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
DEPEND="
>=dev-qt/qtbase-${QTMIN}:6[gui]
diff --git a/media-gfx/kio-raw-thumbnailer/Manifest b/media-gfx/kio-raw-thumbnailer/Manifest
index 4376b53d50b9..4a1930455941 100644
--- a/media-gfx/kio-raw-thumbnailer/Manifest
+++ b/media-gfx/kio-raw-thumbnailer/Manifest
@@ -1,3 +1,2 @@
-DIST kdegraphics-thumbnailers-23.08.5.tar.xz 49436 BLAKE2B 943ad7bd93ca5e4d80854869d4d97f7121d259a82062afb7781d1845e94cbc6ea1732aff3d3476eb6db5ffe54f8f97b352ef8977ebdccc2b173594dd3cbccd6f SHA512 77c328e9532fbd12548d4d219d6da2ad369ee14825d3cf5d142ec11afb842640e1fd01e7e1f911147c93e7e93893b9ae10be66b3d568866ed8985b5e5b38663f
-DIST kdegraphics-thumbnailers-24.08.1.tar.xz 49016 BLAKE2B 1c29734d1371f970271e9bf0dd0750d80f5c19b78c7cdb90bc0665ee748cf4aa0414047796d96b21c207b3f6071e0e3a5fb83126d0f4f919793070f335180457 SHA512 d1b15005e080581ce31d96271bf8827a969ef95b3703ec80858b2d26fc5dd615d408471065647e0d7b7fef39b9e9af18fcf1af56594be13df5f3119fa81c2134
-DIST kdegraphics-thumbnailers-24.08.2.tar.xz 49096 BLAKE2B 3c6eddf3abe61ca55ffe04dda9e720be324078bf453b2c768ed001490e19b5c8df5d4904c14d4f82a96d9fc669cae5956f673a6aa81591044fa8f40695e594eb SHA512 0d9c536865702e0e1962cf7405373a2166656f9b63fdd03128000b2aac01fceceb1b9ddea041fbc6c66d79a744b76575929896fe1614b060941eb56ae69fa0f1
+DIST kdegraphics-thumbnailers-24.08.3.tar.xz 49092 BLAKE2B c42d05fb1fb3e0660bb247a98b4cf30b055ffcc41ba5a441c63173f4db68b4c357dff9cd60bfdfd1849a31e548cce84b4c0ef83db524f5f2715600e15cac9e0e SHA512 23411e41e12be1c4af78ae621ea61976a99d05bd19dbadff399cdfa51e06182d89337c240d728beda376b2ed16c9fa5ad1641629e80b5da00f3a7dadd48c602d
+DIST kdegraphics-thumbnailers-24.12.1.tar.xz 49160 BLAKE2B d41573f1810545164af68af6b51804d49cb2e505fffbc24347e3c364c7629afac18c6bf254f3ee6a85e2aeedcdce9e4dea259d5ceae95236a03cb0575cfa7fee SHA512 b0da43f23b580a1b0a446bd7f96a70bbcf1e2147cb71270de054a0dfcea87a1394732fcc8e35971dd772686ad2c67e487096243ebbb8059431b58b0599d4428b
diff --git a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild
deleted file mode 100644
index 632c1da4fcfb..000000000000
--- a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-23.08.5.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2024 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
-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"
-
-DEPEND="
- >=dev-qt/qtgui-${QTMIN}:5
- >=kde-apps/libkdcraw-${PVCUT}:5
- >=kde-apps/libkexiv2-${PVCUT}:5
- >=kde-frameworks/kio-${KFMIN}:5
-"
-RDEPEND="${DEPEND}
- !<kde-apps/thumbnailers-23.08.5-r1:5
-"
-
-src_prepare() {
- ecm_src_prepare
- ecm_punt_kf_module Archive
-}
-
-src_configure() {
- local mycmakeargs=(
- -DBUILD_blend=OFF
- -DBUILD_ps=OFF
- -DDISABLE_MOBIPOCKET=ON
- -DCMAKE_DISABLE_FIND_PACKAGE_QMobipocket=ON
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.1.ebuild b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.3.ebuild
index 06bf909cf2b9..06bf909cf2b9 100644
--- a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.1.ebuild
+++ b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.3.ebuild
diff --git a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.2.ebuild b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.12.1.ebuild
index 369f5f44090d..339e42401a70 100644
--- a/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.08.2.ebuild
+++ b/media-gfx/kio-raw-thumbnailer/kio-raw-thumbnailer-24.12.1.ebuild
@@ -1,11 +1,11 @@
-# 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=6.5.0
+KFMIN=6.7.0
QTMIN=6.7.2
inherit ecm gear.kde.org
@@ -14,7 +14,7 @@ HOMEPAGE="https://apps.kde.org/kdegraphics_thumbnailers/"
LICENSE="GPL-2+"
SLOT="6"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
DEPEND="
>=dev-qt/qtbase-${QTMIN}:6[gui]
diff --git a/media-gfx/kphotoalbum/Manifest b/media-gfx/kphotoalbum/Manifest
index 24dfa1ecd044..e7982f11a8e5 100644
--- a/media-gfx/kphotoalbum/Manifest
+++ b/media-gfx/kphotoalbum/Manifest
@@ -1,2 +1,2 @@
-DIST kphotoalbum-5.12.0.tar.xz 11907204 BLAKE2B c4a9193d74c902788a5f68794948ca544f92eb1d2ef7a8c856b96832c7f1b8c5ba8b828744407e74a7101c3e954e83758444d31138c35c3a9045fae94f227e39 SHA512 f4d31d1c00ae2d8ec5a0475a4b3332e32f1ed980034419e6d07388544b65a6bd445c04c0640fba4fd5084c83840b6211ee64d556b6a82e4b182b5f07fbab3338
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.12.0.ebuild b/media-gfx/kphotoalbum/kphotoalbum-5.12.0.ebuild
deleted file mode 100644
index 4c1bf98ad156..000000000000
--- a/media-gfx/kphotoalbum/kphotoalbum-5.12.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.106.0
-QTMIN=5.15.9
-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.11.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-5.13.0.ebuild b/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild
index 17da1cafb23e..41dc69e86f90 100644
--- a/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild
+++ b/media-gfx/kphotoalbum/kphotoalbum-5.13.0.ebuild
@@ -14,7 +14,7 @@ HOMEPAGE="https://www.kphotoalbum.org/"
if [[ ${KDE_BUILD_TYPE} != live ]]; then
SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="~amd64 ~x86"
+ KEYWORDS="amd64 x86"
fi
LICENSE="GPL-2+ FDL-1.2 CC-BY-SA-4.0"
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 57e97f2ef6ae..03f79f628ff9 100644
--- a/media-gfx/krita/Manifest
+++ b/media-gfx/krita/Manifest
@@ -1,4 +1 @@
-DIST krita-5.1.5-exiv2-0.28.patch.xz 4664 BLAKE2B e364325be3d8e40e293a7d268136be3737ce5d2b9b5607f140b30ba3e687dc8d86545f4463348587711150f1652b521f87efc859a1bf2bc3b5ed704cf3236781 SHA512 130ba9cce7d6c0138f7ef6dab1445816c2e29752aa16643c32a7d9c00d7a156ac88f01afdb782ab03fc1e0822660a070f74c02e7cde4dfbcec30baaf3c3dba7f
-DIST krita-5.1.5.tar.xz 184981952 BLAKE2B 3d8d26849d8508dc040fb3ac5ab4d0ce724f670bf7d5782b37702b55afe5063543e6aa564a1c9326c90fb16f7905941e3f1ffd4296efd6f8a1c7cb34c0b41716 SHA512 b745eb9f51bb08df0948d6b97b85aee6a74b496df3e8423fb9107d79551daadb21960b4bb5c438348f662c67d0ec5b2fa6da18cfa5feb418659881cddd24d8f1
-DIST krita-5.2.3.tar.xz 186685456 BLAKE2B 42943e7ebffdb46b9da085b2069701895e37ad9c457273b9217a095f1dfdf15c715cde0b88d440abb2d73dee656730da38844f11f27022885f87bb9cc9adab26 SHA512 69a0477e3119765dd53e0502fe5a64fcdc921dfcba3ddc5dec5c1bc4342a77b172b38276f134cc56f79741e6c47b51ef51786aadf0d178ce3955e24a9fd27b74
DIST krita-5.2.6.tar.xz 186560016 BLAKE2B 788385983b371626214898391b08b1276a74b2ee3c9f01c1b1ae19d8791bfcf1ea1f59f6304643aeb6b16a2559fd2e45464596c721eb5d53546672d0efe17903 SHA512 8502ebef11ae066b298e999aba06df7858605cca14b889cec167b7ee3953b8ed86459b44ed90508d59bd7a9968cc9957309cefaa140a8d20293344f4dcb7fea7
diff --git a/media-gfx/krita/files/krita-4.3.1-tests-optional.patch b/media-gfx/krita/files/krita-4.3.1-tests-optional.patch
deleted file mode 100644
index 37f2ac50ffda..000000000000
--- a/media-gfx/krita/files/krita-4.3.1-tests-optional.patch
+++ /dev/null
@@ -1,80 +0,0 @@
-From 2e9369281d44a2701ac7364568d381cca0d92ec5 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sun, 12 Jul 2020 18:55:31 +0200
-Subject: [PATCH] KritaAddBrokenUnitTest.cmake, MacroKritaAddBenchmark.cmake:
- Skip ecm_add_test early if Qt5::Test is not available
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
----
- cmake/modules/KritaAddBrokenUnitTest.cmake | 4 ++++
- cmake/modules/MacroKritaAddBenchmark.cmake | 4 ++++
- 2 files changed, 8 insertions(+)
-
-diff --git a/cmake/modules/KritaAddBrokenUnitTest.cmake b/cmake/modules/KritaAddBrokenUnitTest.cmake
-index b7d0e8d852..901a0a1f99 100644
---- a/cmake/modules/KritaAddBrokenUnitTest.cmake
-+++ b/cmake/modules/KritaAddBrokenUnitTest.cmake
-@@ -23,6 +23,10 @@ function(KRITA_ADD_BROKEN_UNIT_TEST)
- message(FATAL_ERROR "ecm_add_test() called with multiple source files but without setting \"TEST_NAME\"")
- endif()
-
-+ if(NOT TARGET Qt5::Test)
-+ return()
-+ endif()
-+
- set(_testname ${ARG_NAME_PREFIX}${_targetname})
-
- # add test to the global list of disabled tests
-diff --git a/cmake/modules/MacroKritaAddBenchmark.cmake b/cmake/modules/MacroKritaAddBenchmark.cmake
-index c748d8e319..f804d9b8f4 100644
---- a/cmake/modules/MacroKritaAddBenchmark.cmake
-+++ b/cmake/modules/MacroKritaAddBenchmark.cmake
-@@ -23,6 +23,10 @@ macro (KRITA_ADD_BENCHMARK _test_NAME)
- set(_nogui "NOGUI")
- endif()
-
-+ if(NOT TARGET Qt5::Test)
-+ return()
-+ endif()
-+
- add_executable( ${_test_NAME} ${_srcList} )
- ecm_mark_as_test(${_test_NAME})
-
---
-2.27.0
-
-From 3c9fe10e25e94bdb1eb5e7b07ac2696635fdc5a3 Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 17 Jun 2020 20:18:28 +0200
-Subject: [PATCH] Don't build tests when testing not requested
-
-Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
-
-diff --git a/libs/flake/CMakeLists.txt b/libs/flake/CMakeLists.txt
-index cbdac265d2..1a50c1620a 100644
---- a/libs/flake/CMakeLists.txt
-+++ b/libs/flake/CMakeLists.txt
-@@ -9,8 +9,10 @@ include_directories(
- )
-
- add_subdirectory(styles)
--add_subdirectory(tests)
--add_subdirectory(resources/tests)
-+if(BUILD_TESTING)
-+ add_subdirectory(tests)
-+ add_subdirectory(resources/tests)
-+endif()
-
- set(kritaflake_SRCS
- KoGradientHelper.cpp
-diff --git a/libs/image/tiles3/CMakeLists.txt b/libs/image/tiles3/CMakeLists.txt
-index 88c0516360..01f2383ddb 100644
---- a/libs/image/tiles3/CMakeLists.txt
-+++ b/libs/image/tiles3/CMakeLists.txt
-@@ -1 +1,3 @@
--add_subdirectory(tests)
-+if(BUILD_TESTING)
-+ add_subdirectory(tests)
-+endif()
---
-2.27.0
diff --git a/media-gfx/krita/files/krita-5.1.5-libjxl-0.9.patch b/media-gfx/krita/files/krita-5.1.5-libjxl-0.9.patch
deleted file mode 100644
index a578f22c67f9..000000000000
--- a/media-gfx/krita/files/krita-5.1.5-libjxl-0.9.patch
+++ /dev/null
@@ -1,73 +0,0 @@
-From ace7edcca6ad322581ab39620f21ccf3ffbd3b5a Mon Sep 17 00:00:00 2001
-From: Timo Gurr <timo.gurr@gmail.com>
-Date: Fri, 5 Jan 2024 14:04:50 +0000
-Subject: [PATCH] Fix build with libjxl 0.9.0
-
-Fix build with libjxl 0.9.0
-
-BUG:478987
-
-Test Plan
----------
-
-* Upgrade to libjxl 0.9.0
-* Apply patch from MR and build krita (5.2.2)
-* Open/Display a sample image e.g. https://jpegxl.info/test-page/red-room.jxl
-
-Formalities Checklist
----------------------
-
-- [x] I confirmed this builds.
-- [x] I confirmed Krita ran and the relevant functions work (Could successfully open/display a sample image https://jpegxl.info/test-page/red-room.jxl).
-- [ ] I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
-- [x] I made sure my commits build individually and have good descriptions as per [KDE guidelines](https://community.kde.org/Policies/Commit_Policy).
-- [x] I made sure my code conforms to the standards set in the HACKING file.
-- [x] I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per [KDE Licensing Policy](https://community.kde.org/Policies/Licensing_Policy).
-
-_**Reminder: the reviewer is responsible for merging the patch, this is to ensure at the least two people can build the patch. In case a patch breaks the build, both the author and the reviewer should be contacted to fix the build.**_
-_**If this is not possible, the commits shall be reverted, and a notification with the reasoning and any relevant logs shall be sent to the mailing list, kimageshop@kde.org.**_
----
- plugins/impex/jxl/JPEGXLImport.cpp | 15 ++++++++++++++-
- 1 file changed, 14 insertions(+), 1 deletion(-)
-
-diff --git a/plugins/impex/jxl/JPEGXLImport.cpp b/plugins/impex/jxl/JPEGXLImport.cpp
-index 573bae41247..f5b989b3b70 100644
---- a/plugins/impex/jxl/JPEGXLImport.cpp
-+++ b/plugins/impex/jxl/JPEGXLImport.cpp
-@@ -511,7 +511,9 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu
- JxlColorEncoding colorEncoding{};
- if (JXL_DEC_SUCCESS
- == JxlDecoderGetColorAsEncodedProfile(dec.get(),
-+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0, 9, 0)
- nullptr,
-+#endif
- JXL_COLOR_PROFILE_TARGET_DATA,
- &colorEncoding)) {
- const TransferCharacteristics transferFunction = [&]() {
-@@ -635,7 +637,12 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu
- size_t iccSize = 0;
- QByteArray iccProfile;
- if (JXL_DEC_SUCCESS
-- != JxlDecoderGetICCProfileSize(dec.get(), nullptr, JXL_COLOR_PROFILE_TARGET_DATA, &iccSize)) {
-+ != JxlDecoderGetICCProfileSize(dec.get(),
-+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0)
-+ nullptr,
-+#endif
-+ JXL_COLOR_PROFILE_TARGET_DATA,
-+ &iccSize)) {
- errFile << "ICC profile size retrieval failed";
- document->setErrorMessage(i18nc("JPEG-XL errors", "Unable to read the image profile."));
- return ImportExportCodes::ErrorWhileReading;
-@@ -643,7 +650,9 @@ JPEGXLImport::convert(KisDocument *document, QIODevice *io, KisPropertiesConfigu
- iccProfile.resize(static_cast<int>(iccSize));
- if (JXL_DEC_SUCCESS
- != JxlDecoderGetColorAsICCProfile(dec.get(),
-+#if JPEGXL_NUMERIC_VERSION < JPEGXL_COMPUTE_NUMERIC_VERSION(0,9,0)
- nullptr,
-+#endif
- JXL_COLOR_PROFILE_TARGET_DATA,
- reinterpret_cast<uint8_t *>(iccProfile.data()),
- static_cast<size_t>(iccProfile.size()))) {
---
-GitLab
-
diff --git a/media-gfx/krita/files/krita-5.1.5-lto.patch b/media-gfx/krita/files/krita-5.1.5-lto.patch
deleted file mode 100644
index 0cccee5be00e..000000000000
--- a/media-gfx/krita/files/krita-5.1.5-lto.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 2c4dd042df1518d67c117ced08c5a2f3729c3193 Mon Sep 17 00:00:00 2001
-From: Dmitry Kazakov <dimula73@gmail.com>
-Date: Tue, 30 Jan 2024 15:30:53 +0100
-Subject: [PATCH] Possibly fix ODR violation in the transform tool strategies
-
-BUG:480520
-
-
-(cherry picked from commit e33c7d7d533d5289c3a37007f8cf574af5bc7102)
----
- plugins/tools/tool_transform2/kis_free_transform_strategy.cpp | 2 ++
- .../tool_transform2/kis_perspective_transform_strategy.cpp | 3 ++-
- 2 files changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp b/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp
-index 49486b6bd7c..8a63bce74e3 100644
---- a/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp
-+++ b/plugins/tools/tool_transform2/kis_free_transform_strategy.cpp
-@@ -23,6 +23,7 @@
- #include "kis_algebra_2d.h"
-
-
-+namespace {
- enum StrokeFunction {
- ROTATE = 0,
- MOVE,
-@@ -41,6 +42,7 @@ enum StrokeFunction {
- MOVECENTER,
- PERSPECTIVE
- };
-+}
-
- struct KisFreeTransformStrategy::Private
- {
-diff --git a/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp b/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp
-index ad1d9ffe4d3..bca5b51e13f 100644
---- a/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp
-+++ b/plugins/tools/tool_transform2/kis_perspective_transform_strategy.cpp
-@@ -23,7 +23,7 @@
- #include "kis_transform_utils.h"
- #include "kis_free_transform_strategy_gsl_helpers.h"
-
--
-+namespace {
- enum StrokeFunction {
- DRAG_HANDLE = 0,
- DRAG_X_VANISHING_POINT,
-@@ -43,6 +43,7 @@ enum HandleIndexes {
- HANDLE_MIDDLE_RIGHT,
- HANDLE_COUNT,
- };
-+}
-
- struct KisPerspectiveTransformStrategy::Private
- {
---
-GitLab
-
diff --git a/media-gfx/krita/files/krita-5.1.5-ocio-2.3.0.patch b/media-gfx/krita/files/krita-5.1.5-ocio-2.3.0.patch
deleted file mode 100644
index 534e24469e8a..000000000000
--- a/media-gfx/krita/files/krita-5.1.5-ocio-2.3.0.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 48edd05f32241c537cedf2831efc5eb91a112291 Mon Sep 17 00:00:00 2001
-From: killy |0veufOrever <80536642@qq.com>
-Date: Tue, 19 Sep 2023 02:18:54 +0000
-Subject: [PATCH] Update OCIO to version 2.3.0
-
----
- 3rdparty/ext_ocio/CMakeLists.txt | 4 ++--
- plugins/dockers/lut/ocio_display_filter_vfx2021.cpp | 3 ++-
- 1 files changed, 2 insertions(+), 1 deletions(-)
-
-From 21d384fe9fafde2f45f7339a2234f4022c53152f Mon Sep 17 00:00:00 2001
-From: killy |0veufOrever <80536642@qq.com>
-Date: Tue, 19 Sep 2023 03:17:17 +0000
-Subject: [PATCH] Dimensions are not required when the OCIO version is less
- than 2.3.0
-
----
- plugins/dockers/lut/ocio_display_filter_vfx2021.cpp | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/plugins/dockers/lut/ocio_display_filter_vfx2021.cpp b/plugins/dockers/lut/ocio_display_filter_vfx2021.cpp
---- a/plugins/dockers/lut/ocio_display_filter_vfx2021.cpp
-+++ b/plugins/dockers/lut/ocio_display_filter_vfx2021.cpp
-@@ -507,7 +507,13 @@
- unsigned height = 0;
- OCIO::GpuShaderDesc::TextureType channel = OCIO::GpuShaderDesc::TEXTURE_RGB_CHANNEL;
- OCIO::Interpolation interpolation = OCIO::INTERP_LINEAR;
-+
-+#if OCIO_VERSION_HEX >= 0x2030000
-+ OCIO::GpuShaderCreator::TextureDimensions dimensions;
-+ shaderDesc->getTexture(idx, textureName, samplerName, width, height, channel, dimensions, interpolation);
-+#else
- shaderDesc->getTexture(idx, textureName, samplerName, width, height, channel, interpolation);
-+#endif
-
- if (!textureName || !*textureName || !samplerName || !*samplerName || width == 0) {
- errOpenGL << "The texture data is corrupted";
diff --git a/media-gfx/krita/files/krita-5.2.3-znver4-xsimd.patch b/media-gfx/krita/files/krita-5.2.3-znver4-xsimd.patch
deleted file mode 100644
index df5fffb41d47..000000000000
--- a/media-gfx/krita/files/krita-5.2.3-znver4-xsimd.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-https://bugs.gentoo.org/936296
-https://invent.kde.org/graphics/krita/-/commit/cf2c74220b7edfae53a0715346cb4e2c7dfc38ae
-
-From cf2c74220b7edfae53a0715346cb4e2c7dfc38ae Mon Sep 17 00:00:00 2001
-From: Dmitry Kazakov <dimula73@gmail.com>
-Date: Mon, 26 Aug 2024 14:38:03 +0200
-Subject: [PATCH] Don't use xsimd::default_arch in the pixel scaler code
-
-Gentoo seems to build Krita with a global -march=znver4 flag,
-which causes "scalar" version of the code to be compiled with
-AVX512. Even though it is not how the system is supposed to work
-(and this avx512-optimization will never be used in real runtime),
-we shouldn't fail compilation.
-
-https://bugs.gentoo.org/936296
-https://github.com/xtensor-stack/xsimd/issues/1044
---- a/libs/pigment/KoOptimizedPixelDataScalerU8ToU16.h
-+++ b/libs/pigment/KoOptimizedPixelDataScalerU8ToU16.h
-@@ -28,7 +28,7 @@ public:
- const int numColorChannels = m_channelsPerPixel * numColumns;
-
- #if defined(HAVE_XSIMD) && XSIMD_WITH_AVX2
-- using uint16_avx_v = xsimd::batch<uint16_t, xsimd::default_arch>;
-+ using uint16_avx_v = xsimd::batch<uint16_t, xsimd::avx2>;
- using uint16_v = xsimd::batch<uint16_t, xsimd::sse4_1>;
- using uint8_v = xsimd::batch<uint8_t, xsimd::sse4_1>;
-
-@@ -129,7 +129,7 @@ public:
- const int numColorChannels = m_channelsPerPixel * numColumns;
-
- #if defined(HAVE_XSIMD) && XSIMD_WITH_AVX2
-- using uint16_avx_v = xsimd::batch<uint16_t, xsimd::default_arch>;
-+ using uint16_avx_v = xsimd::batch<uint16_t, xsimd::avx2>;
- using uint16_v = xsimd::batch<uint16_t, xsimd::sse4_1>;
-
- const int channelsPerAvx2Block = 32;
---
-GitLab
diff --git a/media-gfx/krita/files/krita-5.2.6-py3.13.patch b/media-gfx/krita/files/krita-5.2.6-py3.13.patch
new file mode 100644
index 000000000000..6714059895d0
--- /dev/null
+++ b/media-gfx/krita/files/krita-5.2.6-py3.13.patch
@@ -0,0 +1,120 @@
+From 0f43ec3158225092f6a02422eb90c56421326570 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= <zebob.m@gmail.com>
+Date: Tue, 18 Jun 2024 22:05:34 +0200
+Subject: [PATCH] Changes to build pykrita with Python 3.13
+
+Python 3.11 deprecated Py_SetPath() in 2022 and Python 3.13 removed it.
+Instead one needs to use the new PyConfig API (PEP 587) added to Python
+3.8.
+
+Fix: #488680
+---
+ .../extensions/pykrita/plugin/utilities.cpp | 61 +++++++++++++++++--
+ plugins/extensions/pykrita/plugin/utilities.h | 4 +-
+ 2 files changed, 57 insertions(+), 8 deletions(-)
+
+diff --git a/plugins/extensions/pykrita/plugin/utilities.cpp b/plugins/extensions/pykrita/plugin/utilities.cpp
+index 4f58183238..1e497b2681 100644
+--- a/plugins/extensions/pykrita/plugin/utilities.cpp
++++ b/plugins/extensions/pykrita/plugin/utilities.cpp
+@@ -19,8 +19,10 @@
+ #include <cmath>
+ #include <Python.h>
+
++#include <QDebug>
+ #include <QDir>
+ #include <QLibrary>
++#include <QProcessEnvironment>
+ #include <QString>
+ #include <QStringList>
+ #include <QVector>
+@@ -412,18 +414,65 @@ bool Python::setPath(const QStringList& scriptPaths)
+ joinedPaths = joinedPaths + pathSeparator + originalPath;
+ }
+ dbgScript << "Setting python paths:" << joinedPaths;
++
+ #ifdef Q_OS_WIN
+- QVector<wchar_t> joinedPathsWChars(joinedPaths.size() + 1, 0);
+- joinedPaths.toWCharArray(joinedPathsWChars.data());
+- Py_SetPath(joinedPathsWChars.data());
++ PyStatus status;
++ PyConfig config;
++ PyConfig_InitPythonConfig(&config);
++
++ for (const QString& path : joinedPaths.split(pathSeparator)) {
++ status = PyWideStringList_Append(&config.module_search_paths, path.toStdWString().c_str());
++ if (PyStatus_Exception(status)) {
++ qDebug() << "Error appending to PyWideStringList:" << status.err_msg;
++ dbgScript << "Error appending to PyWideStringList";
++ return false;
++ }
++ }
++
++ config.module_search_paths_set = true;
++ qDebug() << "Set module_search_paths";
++
++ status = Py_InitializeFromConfig(&config);
++ if (PyStatus_Exception(status)) {
++ qDebug() << "Cannot initialize Py_InitializeFromConfig:" << status.err_msg;
++ Py_ExitStatusException(status);
++ PyConfig_Clear(&config);
++ dbgScript << "Cannot initialize Py_InitializeFromConfig config";
++ return false;
++ }
++
++ PyConfig_Clear(&config);
+ #else
+ if (runningInBundle) {
+- QVector<wchar_t> joinedPathsWChars(joinedPaths.size() + 1, 0);
+- joinedPaths.toWCharArray(joinedPathsWChars.data());
+- Py_SetPath(joinedPathsWChars.data());
++ PyStatus status;
++ PyConfig config;
++ PyConfig_InitPythonConfig(&config);
++
++ for (const QString& path : joinedPaths.split(pathSeparator)) {
++ status = PyWideStringList_Append(&config.module_search_paths, path.toStdWString().c_str());
++ if (PyStatus_Exception(status)) {
++ qDebug() << "Error appending to PyWideStringList:" << status.err_msg;
++ dbgScript << "Error appending to PyWideStringList";
++ return false;
++ }
++ }
++
++ config.module_search_paths_set = true;
++
++ status = Py_InitializeFromConfig(&config);
++ if (PyStatus_Exception(status)) {
++ Py_ExitStatusException(status);
++ qDebug() << "Cannot initialize Py_InitializeFromConfig 2:" << status.err_msg;
++ PyConfig_Clear(&config);
++ dbgScript << "Cannot initialize Py_InitializeFromConfig config";
++ return false;
++ }
++
++ PyConfig_Clear(&config);
+ }
+ else {
+ qputenv("PYTHONPATH", joinedPaths.toLocal8Bit());
++ qDebug() << "Set PYTHONPATH environment variable";
+ }
+ #endif
+ isPythonPathSet = true;
+diff --git a/plugins/extensions/pykrita/plugin/utilities.h b/plugins/extensions/pykrita/plugin/utilities.h
+index fb309bd0b8..aec47da239 100644
+--- a/plugins/extensions/pykrita/plugin/utilities.h
++++ b/plugins/extensions/pykrita/plugin/utilities.h
+@@ -81,8 +81,8 @@ public:
+ static bool libraryLoad();
+
+ /**
+- * Set the Python paths by calling Py_SetPath. This should be called before
+- * initialization to ensure the proper libraries get loaded.
++ * Set the Python paths by calling Py_InitializeFromConfig. This should be
++ * called before initialization to ensure the proper libraries get loaded.
+ */
+ static bool setPath(const QStringList& scriptPaths);
+
+--
+2.45.2
+
diff --git a/media-gfx/krita/krita-5.1.5.ebuild b/media-gfx/krita/krita-5.1.5.ebuild
deleted file mode 100644
index 854bb12e9593..000000000000
--- a/media-gfx/krita/krita-5.1.5.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="forceoptional"
-PYTHON_COMPAT=( python3_{9..12} )
-KFMIN=5.82.0
-QTMIN=5.15.5
-VIRTUALX_REQUIRED="test"
-inherit ecm kde.org python-single-r1
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz
- https://dev.gentoo.org/~asturm/distfiles/${P}-exiv2-0.28.patch.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 jpegxl +mypaint-brush-engine openexr pdf qtmedia +raw webp"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# bug 630508
-RESTRICT="test"
-
-RDEPEND="${PYTHON_DEPS}
- dev-libs/boost:=
- dev-libs/quazip:0=[qt5(+)]
- $(python_gen_cond_dep '
- dev-python/PyQt5[declarative,gui,widgets,${PYTHON_USEDEP}]
- dev-python/sip:=[${PYTHON_USEDEP}]
- ')
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5=[-gles2-only]
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtsql-${QTMIN}:5
- >=dev-qt/qtsvg-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtx11extras-${QTMIN}:5
- >=dev-qt/qtxml-${QTMIN}:5
- >=kde-frameworks/kcompletion-${KFMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kcrash-${KFMIN}:5
- >=kde-frameworks/kguiaddons-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kiconthemes-${KFMIN}:5
- >=kde-frameworks/kitemmodels-${KFMIN}:5
- >=kde-frameworks/kitemviews-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kwindowsystem-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- media-gfx/exiv2:=
- media-libs/lcms
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/tiff:=
- sys-libs/zlib
- virtual/opengl
- x11-libs/libX11
- x11-libs/libXi
- color-management? ( >=media-libs/opencolorio-2.0.0 )
- fftw? ( sci-libs/fftw:3.0= )
- gif? ( media-libs/giflib )
- gsl? ( sci-libs/gsl:= )
- jpegxl? ( >=media-libs/libjxl-0.7.0_pre20220825:= )
- heif? ( >=media-libs/libheif-1.11:=[x265] )
- mypaint-brush-engine? ( media-libs/libmypaint:= )
- openexr? ( media-libs/openexr:= )
- pdf? ( app-text/poppler[qt5] )
- qtmedia? ( >=dev-qt/qtmultimedia-${QTMIN}:5 )
- raw? ( media-libs/libraw:= )
- webp? ( >=media-libs/libwebp-1.2.0:= )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-cpp/eigen:3
- dev-lang/perl
- sys-devel/gettext
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.3.1-tests-optional.patch"
- "${WORKDIR}/${P}-exiv2-0.28.patch" # bug 906472
- "${FILESDIR}/${P}-ocio-2.3.0.patch" # bug 915107
- "${FILESDIR}/${P}-sip-6.8.patch" # bug 919139
- "${FILESDIR}/${P}-libjxl-0.9.patch" # bug 922524
- "${FILESDIR}/${P}-lto.patch" # bug 922520
-)
-
-pkg_setup() {
- python-single-r1_pkg_setup
- ecm_pkg_setup
-}
-
-src_configure() {
- # Prevent sandbox violation from FindPyQt5.py module
- # See Gentoo-bug 655918
- addpredict /dev/dri
-
- local mycmakeargs=(
- -DENABLE_UPDATERS=OFF
- -DKRITA_ENABLE_PCH=OFF # big mess.
- -DCMAKE_DISABLE_FIND_PACKAGE_KSeExpr=ON # not packaged
- -DCMAKE_DISABLE_FIND_PACKAGE_xsimd=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 jpegxl JPEGXL)
- $(cmake_use_find_package mypaint-brush-engine LibMyPaint)
- $(cmake_use_find_package openexr OpenEXR)
- $(cmake_use_find_package pdf Poppler)
- $(cmake_use_find_package qtmedia Qt5Multimedia)
- $(cmake_use_find_package raw LibRaw)
- $(cmake_use_find_package webp WebP)
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/krita/krita-5.2.3.ebuild b/media-gfx/krita/krita-5.2.3.ebuild
deleted file mode 100644
index 6b6678994687..000000000000
--- a/media-gfx/krita/krita-5.2.3.ebuild
+++ /dev/null
@@ -1,135 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-ECM_TEST="forceoptional"
-PYTHON_COMPAT=( python3_{10..12} )
-KFMIN=5.115.0
-QTMIN=5.15.12
-inherit ecm kde.org python-single-r1
-
-if [[ ${KDE_BUILD_TYPE} = release ]]; then
- SRC_URI="mirror://kde/stable/${PN}/${PV}/${P}.tar.xz"
- KEYWORDS="amd64 ~arm64 ~riscv ~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:0=[qt5(+)]
- $(python_gen_cond_dep '
- dev-python/PyQt5[declarative,gui,widgets,${PYTHON_USEDEP}]
- dev-python/sip:=[${PYTHON_USEDEP}]
- ')
- >=dev-qt/qtconcurrent-${QTMIN}:5
- >=dev-qt/qtdbus-${QTMIN}:5
- >=dev-qt/qtdeclarative-${QTMIN}:5
- >=dev-qt/qtgui-${QTMIN}:5=[-gles2-only]
- >=dev-qt/qtnetwork-${QTMIN}:5
- >=dev-qt/qtprintsupport-${QTMIN}:5
- >=dev-qt/qtsql-${QTMIN}:5
- >=dev-qt/qtsvg-${QTMIN}:5
- >=dev-qt/qtwidgets-${QTMIN}:5
- >=dev-qt/qtx11extras-${QTMIN}:5
- >=dev-qt/qtxml-${QTMIN}:5
- >=kde-frameworks/kcompletion-${KFMIN}:5
- >=kde-frameworks/kconfig-${KFMIN}:5
- >=kde-frameworks/kcoreaddons-${KFMIN}:5
- >=kde-frameworks/kcrash-${KFMIN}:5
- >=kde-frameworks/kguiaddons-${KFMIN}:5
- >=kde-frameworks/ki18n-${KFMIN}:5
- >=kde-frameworks/kiconthemes-${KFMIN}:5
- >=kde-frameworks/kitemmodels-${KFMIN}:5
- >=kde-frameworks/kitemviews-${KFMIN}:5
- >=kde-frameworks/kwidgetsaddons-${KFMIN}:5
- >=kde-frameworks/kwindowsystem-${KFMIN}:5
- >=kde-frameworks/kxmlgui-${KFMIN}:5
- media-gfx/exiv2:=
- media-libs/lcms
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/tiff:=
- sys-libs/zlib
- virtual/opengl
- x11-libs/libX11
- x11-libs/libXi
- color-management? ( >=media-libs/opencolorio-2.0.0 )
- fftw? ( sci-libs/fftw:3.0= )
- gif? ( media-libs/giflib )
- gsl? ( sci-libs/gsl:= )
- jpeg2k? ( media-libs/openjpeg:= )
- jpegxl? ( >=media-libs/libjxl-0.7.0_pre20220825:= )
- heif? ( >=media-libs/libheif-1.11:=[x265] )
- media? ( media-libs/mlt:= )
- mypaint-brush-engine? ( media-libs/libmypaint:= )
- openexr? ( media-libs/openexr:= )
- pdf? ( app-text/poppler[qt5] )
- raw? ( kde-apps/libkdcraw:5 )
- webp? ( >=media-libs/libwebp-1.2.0:= )
- xsimd? ( >=dev-cpp/xsimd-13.0.0 )
-
-"
-DEPEND="${RDEPEND}
- dev-libs/immer
- dev-libs/lager
- dev-libs/zug
-"
-BDEPEND="
- dev-cpp/eigen:3
- dev-lang/perl
- sys-devel/gettext
-"
-
-PATCHES=(
- # downstream
- "${FILESDIR}"/${P}-tests-optional.patch
- "${FILESDIR}"/${PN}-5.2.2-fftw.patch # bug 913518
- # git master
- "${FILESDIR}"/${PN}-5.1.5-sip-6.8.patch # bug 919139
- "${FILESDIR}"/${PN}-5.2.3-znver4-xsimd.patch # bug 936296
-)
-
-pkg_setup() {
- python-single-r1_pkg_setup
- ecm_pkg_setup
-}
-
-src_configure() {
- # Prevent sandbox violation from FindPyQt5.py module
- # See Gentoo-bug 655918
- addpredict /dev/dri
-
- local mycmakeargs=(
- -DENABLE_UPDATERS=OFF
- -DKRITA_ENABLE_PCH=OFF # big mess.
- -DCMAKE_DISABLE_FIND_PACKAGE_KSeExpr=ON # not packaged
- $(cmake_use_find_package color-management OpenColorIO)
- $(cmake_use_find_package fftw FFTW3)
- $(cmake_use_find_package gif GIF)
- $(cmake_use_find_package gsl GSL)
- $(cmake_use_find_package heif HEIF)
- $(cmake_use_find_package jpeg2k OpenJPEG)
- $(cmake_use_find_package jpegxl JPEGXL)
- $(cmake_use_find_package media Mlt7)
- $(cmake_use_find_package mypaint-brush-engine LibMyPaint)
- $(cmake_use_find_package openexr OpenEXR)
- $(cmake_use_find_package pdf Poppler)
- $(cmake_use_find_package raw KF5KDcraw)
- $(cmake_use_find_package webp WebP)
- $(cmake_use_find_package xsimd xsimd)
- )
-
- ecm_src_configure
-}
diff --git a/media-gfx/krita/krita-5.2.6.ebuild b/media-gfx/krita/krita-5.2.6.ebuild
index 0a1c86338154..00fbf4b56f35 100644
--- a/media-gfx/krita/krita-5.2.6.ebuild
+++ b/media-gfx/krita/krita-5.2.6.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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..12} )
+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 ~riscv ~x86"
+ KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
fi
DESCRIPTION="Free digital painting application. Digital Painting, Creative Freedom!"
@@ -30,7 +30,7 @@ RDEPEND="${PYTHON_DEPS}
dev-libs/libunibreak:=
dev-libs/quazip:0=[qt5(+)]
$(python_gen_cond_dep '
- dev-python/PyQt5[declarative,gui,widgets,${PYTHON_USEDEP}]
+ dev-python/pyqt5[declarative,gui,widgets,${PYTHON_USEDEP}]
dev-python/sip:=[${PYTHON_USEDEP}]
')
>=dev-qt/qtconcurrent-${QTMIN}:5
@@ -96,6 +96,8 @@ PATCHES=(
# downstream
"${FILESDIR}"/${PN}-5.2.3-tests-optional.patch
"${FILESDIR}"/${PN}-5.2.2-fftw.patch # bug 913518
+ # Fedora, non-upstreamed:
+ "${FILESDIR}"/${P}-py3.13.patch # bug 943149
# git master
"${FILESDIR}"/${PN}-5.1.5-sip-6.8.patch # bug 919139
)
@@ -105,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/metadata.xml b/media-gfx/krita/metadata.xml
index c586507e3736..82ce837b7102 100644
--- a/media-gfx/krita/metadata.xml
+++ b/media-gfx/krita/metadata.xml
@@ -12,7 +12,6 @@
<flag name="color-management">Enable color management via <pkg>media-libs/opencolorio</pkg></flag>
<flag name="media">Enable sound support for animations via <pkg>media-libs/mlt</pkg></flag>
<flag name="mypaint-brush-engine">Enable MyPaint brush engine support <pkg>media-libs/libmypaint</pkg></flag>
- <flag name="qtmedia">Enable sound support for animations via <pkg>dev-qt/qtmultimedia</pkg></flag>
<flag name="xsimd">Enable usage of SIMD instructions via <pkg>dev-cpp/xsimd</pkg></flag>
</use>
</pkgmetadata>
diff --git a/media-gfx/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/libbgcode/Manifest b/media-gfx/libbgcode/Manifest
index c1f33d94662d..b9d140f87fe2 100644
--- a/media-gfx/libbgcode/Manifest
+++ b/media-gfx/libbgcode/Manifest
@@ -1 +1 @@
-DIST libbgcode-0.0.20240903.tar.gz 456751 BLAKE2B 93cd8eb83083581ba1ba735c6820dc0ead18d13ca0613387559d610f39c8011881bcc92ffec65fbcb40113b2b877050c15c7816d6db063698ce7ba5df7b35eda SHA512 86e9d85f0e52ebde853979e79639dc4424e26686fe55c45d78ca683cf32d8ec059976d43ffda9339a41892d30ebb267f8c360851889ad0a48ced874c27546f04
+DIST libbgcode-0.0.20241024.tar.gz 529007 BLAKE2B 1ca0bfbf5ad6329190ba9c452678bbae0beba8121a9fd1c3e7642b365c86cccbf26ae41841a0596cf37034fda4930f771729a999ffd231000775841348db0cbd SHA512 1efc72180319f3876823a0da486f4a59c0c83e197cdd3f3a1163266e226d7026d5dc8f8f290e0507cd71a6cdea5648404fbe24a975833eba67ee98fb4b0466a3
diff --git a/media-gfx/libbgcode/libbgcode-0.0.20240903.ebuild b/media-gfx/libbgcode/libbgcode-0.0.20241024.ebuild
index 783c85114ec0..cbc28fd7146a 100644
--- a/media-gfx/libbgcode/libbgcode-0.0.20240903.ebuild
+++ b/media-gfx/libbgcode/libbgcode-0.0.20241024.ebuild
@@ -5,7 +5,7 @@ EAPI=8
inherit cmake
-LIBBGCODE_COMMIT=3db61e45713932b4a9cdd469aa567d65e0095d00
+LIBBGCODE_COMMIT=d33a277a3ce2c0a7f9ba325caac6d730e0f7a412
DESCRIPTION="Prusa Block & Binary G-code reader / writer / converter"
HOMEPAGE="https://github.com/prusa3d/libbgcode"
diff --git a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild b/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild
index 5a96622a9881..33b4d2ef906f 100644
--- a/media-gfx/libimagequant/libimagequant-4.2.2.ebuild
+++ b/media-gfx/libimagequant/libimagequant-4.2.2-r1.ebuild
@@ -57,7 +57,6 @@ KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~s390 sparc"
BDEPEND="
>=dev-util/cargo-c-0.9.11
- >=virtual/rust-1.60
"
QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*"
diff --git a/media-gfx/libimagequant/libimagequant-4.3.0.ebuild b/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild
index 55609484950f..710c7dc0634f 100644
--- a/media-gfx/libimagequant/libimagequant-4.3.0.ebuild
+++ b/media-gfx/libimagequant/libimagequant-4.3.0-r1.ebuild
@@ -23,7 +23,6 @@ KEYWORDS="amd64 ~arm ~arm64 ~loong ppc ppc64 ~s390 sparc"
BDEPEND="
>=dev-util/cargo-c-0.9.14
- >=virtual/rust-1.64
"
QA_FLAGS_IGNORED="usr/lib.*/libimagequant.so.*"
diff --git a/media-gfx/librecad/Manifest b/media-gfx/librecad/Manifest
index a19d2a8beb34..9e26725ba860 100644
--- a/media-gfx/librecad/Manifest
+++ b/media-gfx/librecad/Manifest
@@ -1,4 +1,2 @@
-DIST librecad-2.1.3.tar.gz 22415288 BLAKE2B fb920113a7e4b2e9e7e3425f77364c36f6be676a3cd109798786b06d31698fd11437bc7f50cb843ca02d761730e83db7fde475d1bce6a65336a845b5b0114918 SHA512 246cffcc1ea3389997b4a738ab5e3d78e8c1096817ecb1ca28f38d601bc5d1a95f60798ac82308914a34da7b5dbc302b8363cf8b58a97221fdc8ee63010adc6c
DIST librecad-2.2.0.2.tar.gz 13645528 BLAKE2B 43a9ada4d6fe8c0cb96dc1003a9e7aa3b4d21619ce9776de1e6d273dd884f2313f9e90abed9cadcd44aaac2131bb62ffb0105bc0d8a097513ac42b9886107021 SHA512 054c6e6cf35a30099e71dd022574864c42d99db8bfa73b544113573723f8e6db2c92f9b7a827b947528f8ad9c743bca73a77a81bc50a9dc66f290480bb38db05
-DIST librecad-2.2.0.tar.gz 13837301 BLAKE2B ede9181b6805455d10773b70a8262ffb5a1c48f353dbfd1b80f705ba3194be700e9a486cdf528c4e8015b327a75a29c81b832186024d48229a6cc5fd9ca2dc12 SHA512 df33eac311b5232d6fc0480be1b1c9d257a33ba22f9b7897af4c1761978c87c07a962ae3ea37e8728661a788152157fc621aae65d60d44ae37b2028919cc96a2
-DIST librecad-gentoo-CVE-patches-2.1.3.tar.gz 11687 BLAKE2B 4676fa60033e6d0ace35bbebfae569366a50ec46c2dc5b90bace9564e1f6c2020f733f63981788b6f5288fb0c57760215e7b35f294656c21787ebdefa8447fa0 SHA512 b485b41ab1d6eb61750c11a9b327fc70d28cd0cf689b3cd815b4982d3d800737f402522d9c3d416f1e43422166e7de4f97055de238cc2fe80cc45f11fa3377e6
+DIST librecad-2.2.1.tar.gz 14107087 BLAKE2B 44c7960b79348515661fb59ae9c04949e8ff51282e80ce8335ca4679c74880552d229afcd3cc63d36fe75e06ce7d2dfce399c75f3cb1786448b487765b8966db SHA512 6a76d846e812fbed185c87e0e8362f7c429f9bd78bf739f19bcb12f1f88e5be944e48a38427820907826adec8d33204b7ce51ca2fbacecd0f7b39c6cab09687c
diff --git a/media-gfx/librecad/files/librecad-2.1.3-boost-1.76.patch b/media-gfx/librecad/files/librecad-2.1.3-boost-1.76.patch
deleted file mode 100644
index 2500bab79b19..000000000000
--- a/media-gfx/librecad/files/librecad-2.1.3-boost-1.76.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 1fd07fcd847659d518efa0897a9f603de83fe362 Mon Sep 17 00:00:00 2001
-From: Jiri Slaby <jslaby@suse.cz>
-Date: Tue, 4 May 2021 09:25:03 +0200
-Subject: [PATCH] add boost tuple include to fix build
-
-With boost 1.76, we see:
-lib/engine/rs_ellipse.cpp:70:15: error: 'tuple' in namespace 'boost::math' does not name a template type
- 70 | boost::math::tuple<double, double, double> operator()(double const& z) const {
- | ^~~~~
-
-Fix this by including the proper boost header.
----
- librecad/src/lib/engine/rs_ellipse.cpp | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/librecad/src/lib/engine/rs_ellipse.cpp b/librecad/src/lib/engine/rs_ellipse.cpp
-index 291f734ea..d47bf6ca4 100644
---- a/librecad/src/lib/engine/rs_ellipse.cpp
-+++ b/librecad/src/lib/engine/rs_ellipse.cpp
-@@ -48,6 +48,9 @@
- #include <boost/version.hpp>
- #include <boost/math/tools/roots.hpp>
- #include <boost/math/special_functions/ellint_2.hpp>
-+#if BOOST_VERSION > 104500
-+#include <boost/math/tools/tuple.hpp>
-+#endif
- #endif
-
- namespace{
diff --git a/media-gfx/librecad/files/librecad-2.1.3-gcc-9.patch b/media-gfx/librecad/files/librecad-2.1.3-gcc-9.patch
deleted file mode 100644
index f8214f29fab3..000000000000
--- a/media-gfx/librecad/files/librecad-2.1.3-gcc-9.patch
+++ /dev/null
@@ -1,209 +0,0 @@
-diff --git a/librecad/src/actions/rs_actiondrawcircletan1_2p.cpp b/librecad/src/actions/rs_actiondrawcircletan1_2p.cpp
-index c14da00e4..f305408aa 100644
---- a/librecad/src/actions/rs_actiondrawcircletan1_2p.cpp
-+++ b/librecad/src/actions/rs_actiondrawcircletan1_2p.cpp
-@@ -36,11 +36,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- #include "rs_preview.h"
- #include "rs_debug.h"
-
--namespace{
--//list of entity types supported by current action
--auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle};
--}
--
- struct RS_ActionDrawCircleTan1_2P::Points {
- std::vector<RS_Vector> points;
- RS_CircleData cData;
-diff --git a/librecad/src/actions/rs_actiondrawcircletan1_2p.h b/librecad/src/actions/rs_actiondrawcircletan1_2p.h
-index a6f40a6ea..b5976c9f6 100644
---- a/librecad/src/actions/rs_actiondrawcircletan1_2p.h
-+++ b/librecad/src/actions/rs_actiondrawcircletan1_2p.h
-@@ -79,6 +79,9 @@ class RS_ActionDrawCircleTan1_2P : public RS_PreviewActionInterface {
- private:
- struct Points;
- std::unique_ptr<Points> pPoints;
-+
-+ //list of entity types supported by current action
-+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle};
- };
-
- #endif
-diff --git a/librecad/src/actions/rs_actiondrawcircletan2.cpp b/librecad/src/actions/rs_actiondrawcircletan2.cpp
-index d0558f05b..820e42266 100644
---- a/librecad/src/actions/rs_actiondrawcircletan2.cpp
-+++ b/librecad/src/actions/rs_actiondrawcircletan2.cpp
-@@ -33,10 +33,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- #include "rs_preview.h"
- #include "rs_debug.h"
-
--namespace {
--auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle};
--}
--
- struct RS_ActionDrawCircleTan2::Points {
- RS_CircleData cData;
- RS_Vector coord;
-diff --git a/librecad/src/actions/rs_actiondrawcircletan2.h b/librecad/src/actions/rs_actiondrawcircletan2.h
-index bed568970..5b2040e90 100644
---- a/librecad/src/actions/rs_actiondrawcircletan2.h
-+++ b/librecad/src/actions/rs_actiondrawcircletan2.h
-@@ -77,6 +77,9 @@ class RS_ActionDrawCircleTan2 : public RS_PreviewActionInterface {
- private:
- struct Points;
- std::unique_ptr<Points> pPoints;
-+
-+ //list of entity types supported by current action
-+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle};
- };
-
- #endif
-diff --git a/librecad/src/actions/rs_actiondrawcircletan2_1p.cpp b/librecad/src/actions/rs_actiondrawcircletan2_1p.cpp
-index 324c16686..51cd29a19 100644
---- a/librecad/src/actions/rs_actiondrawcircletan2_1p.cpp
-+++ b/librecad/src/actions/rs_actiondrawcircletan2_1p.cpp
-@@ -35,10 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- #include "rs_preview.h"
- #include "rs_debug.h"
-
--namespace {
--auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle};
--}
--
- struct RS_ActionDrawCircleTan2_1P::Points {
- RS_Vector point;
- RS_CircleData cData;
-diff --git a/librecad/src/actions/rs_actiondrawcircletan2_1p.h b/librecad/src/actions/rs_actiondrawcircletan2_1p.h
-index 40c239037..e44a56c36 100644
---- a/librecad/src/actions/rs_actiondrawcircletan2_1p.h
-+++ b/librecad/src/actions/rs_actiondrawcircletan2_1p.h
-@@ -73,6 +73,9 @@ class RS_ActionDrawCircleTan2_1P : public RS_PreviewActionInterface {
- private:
- struct Points;
- std::unique_ptr<Points> pPoints;
-+
-+ //list of entity types supported by current action
-+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle};
- };
-
- #endif
-diff --git a/librecad/src/actions/rs_actiondrawcircletan3.cpp b/librecad/src/actions/rs_actiondrawcircletan3.cpp
-index 026ed30e5..eaca13d63 100644
---- a/librecad/src/actions/rs_actiondrawcircletan3.cpp
-+++ b/librecad/src/actions/rs_actiondrawcircletan3.cpp
-@@ -35,10 +35,6 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- #include "rs_preview.h"
- #include "rs_debug.h"
-
--namespace {
--auto enTypeList={RS2::EntityArc, RS2::EntityCircle, RS2::EntityLine, RS2::EntityPoint};
--}
--
- struct RS_ActionDrawCircleTan3::Points {
- std::vector<RS_AtomicEntity*> circles;
- std::shared_ptr<RS_CircleData> cData{std::make_shared<RS_CircleData>()};
-diff --git a/librecad/src/actions/rs_actiondrawcircletan3.h b/librecad/src/actions/rs_actiondrawcircletan3.h
-index d0cabfa2d..3201c5f88 100644
---- a/librecad/src/actions/rs_actiondrawcircletan3.h
-+++ b/librecad/src/actions/rs_actiondrawcircletan3.h
-@@ -78,6 +78,8 @@ class RS_ActionDrawCircleTan3 : public RS_PreviewActionInterface {
- struct Points;
- std::unique_ptr<Points> pPoints;
-
-+ //list of entity types supported by current action
-+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityArc, RS2::EntityCircle, RS2::EntityLine, RS2::EntityPoint};
- };
-
- #endif
-diff --git a/librecad/src/actions/rs_actiondrawlinerelangle.cpp b/librecad/src/actions/rs_actiondrawlinerelangle.cpp
-index 8415dd604..b9ce996fe 100644
---- a/librecad/src/actions/rs_actiondrawlinerelangle.cpp
-+++ b/librecad/src/actions/rs_actiondrawlinerelangle.cpp
-@@ -38,11 +38,6 @@
- #include "rs_preview.h"
- #include "rs_debug.h"
-
--namespace {
--auto enTypeList={RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle,
-- RS2::EntityEllipse};
--}
--
- RS_ActionDrawLineRelAngle::RS_ActionDrawLineRelAngle(
- RS_EntityContainer& container,
- RS_GraphicView& graphicView,
-diff --git a/librecad/src/actions/rs_actiondrawlinerelangle.h b/librecad/src/actions/rs_actiondrawlinerelangle.h
-index 1e102792d..71e5185b7 100644
---- a/librecad/src/actions/rs_actiondrawlinerelangle.h
-+++ b/librecad/src/actions/rs_actiondrawlinerelangle.h
-@@ -110,6 +110,9 @@ class RS_ActionDrawLineRelAngle : public RS_PreviewActionInterface {
- * Is the angle fixed?
- */
- bool fixedAngle;
-+
-+ //list of entity types supported by current action
-+ const std::initializer_list<RS2::EntityType> enTypeList {RS2::EntityLine, RS2::EntityArc, RS2::EntityCircle,RS2::EntityEllipse};
- };
-
- #endif
-diff --git a/librecad/src/actions/rs_actiondrawlinetangent1.cpp b/librecad/src/actions/rs_actiondrawlinetangent1.cpp
-index 197b0cb6c..47a93c766 100644
---- a/librecad/src/actions/rs_actiondrawlinetangent1.cpp
-+++ b/librecad/src/actions/rs_actiondrawlinetangent1.cpp
-@@ -36,12 +36,6 @@
- #include "rs_preview.h"
- #include "rs_debug.h"
-
--namespace{
--auto circleType={RS2::EntityArc, RS2::EntityCircle,
-- RS2::EntityEllipse, RS2::EntitySplinePoints
-- };
--}
--
- RS_ActionDrawLineTangent1::RS_ActionDrawLineTangent1(
- RS_EntityContainer& container,
- RS_GraphicView& graphicView)
-diff --git a/librecad/src/actions/rs_actiondrawlinetangent1.h b/librecad/src/actions/rs_actiondrawlinetangent1.h
-index 0f76b3684..d20d302dd 100644
---- a/librecad/src/actions/rs_actiondrawlinetangent1.h
-+++ b/librecad/src/actions/rs_actiondrawlinetangent1.h
-@@ -66,6 +66,12 @@ class RS_ActionDrawLineTangent1 : public RS_PreviewActionInterface {
- std::unique_ptr<RS_Vector> point;
- /** Chosen entity */
- RS_Entity* circle;
-+
-+ //list of entity types supported by current action
-+ const std::initializer_list<RS2::EntityType> circleType { RS2::EntityArc,
-+ RS2::EntityCircle,
-+ RS2::EntityEllipse,
-+ RS2::EntitySplinePoints };
- };
-
- #endif
-diff --git a/librecad/src/actions/rs_actiondrawlinetangent2.cpp b/librecad/src/actions/rs_actiondrawlinetangent2.cpp
-index fed3545e0..0f1600e53 100644
---- a/librecad/src/actions/rs_actiondrawlinetangent2.cpp
-+++ b/librecad/src/actions/rs_actiondrawlinetangent2.cpp
-@@ -35,10 +35,6 @@
- #include "rs_preview.h"
- #include "rs_debug.h"
-
--namespace{
--auto circleType={RS2::EntityArc, RS2::EntityCircle, RS2::EntityEllipse};
--}
--
- RS_ActionDrawLineTangent2::RS_ActionDrawLineTangent2(
- RS_EntityContainer& container,
- RS_GraphicView& graphicView)
-diff --git a/librecad/src/actions/rs_actiondrawlinetangent2.h b/librecad/src/actions/rs_actiondrawlinetangent2.h
-index b0d884cd7..95d82465d 100644
---- a/librecad/src/actions/rs_actiondrawlinetangent2.h
-+++ b/librecad/src/actions/rs_actiondrawlinetangent2.h
-@@ -68,6 +68,9 @@ class RS_ActionDrawLineTangent2 : public RS_PreviewActionInterface {
- /** 2nd chosen entity */
- RS_Entity* circle2;
- bool valid;
-+
-+ //list of entity types supported by current action
-+ const std::initializer_list<RS2::EntityType> circleType {RS2::EntityArc, RS2::EntityCircle, RS2::EntityEllipse};
- };
-
- #endif
diff --git a/media-gfx/librecad/files/librecad-2.1.3-qt-5.11.patch b/media-gfx/librecad/files/librecad-2.1.3-qt-5.11.patch
deleted file mode 100644
index 0c61a66d8a1a..000000000000
--- a/media-gfx/librecad/files/librecad-2.1.3-qt-5.11.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From 6c392e903e162b9283e88f53006e929663f2e883 Mon Sep 17 00:00:00 2001
-From: Jiri Slaby <jslaby@suse.cz>
-Date: Mon, 11 Jun 2018 10:44:00 +0200
-Subject: [PATCH] fix build with Qt 5.11
-
-The new Qt removed some implicit inclusions of headers. To avoid build
-errors, add explicit includes of those we use in the sources.
-
-Signed-off-by: Jiri Slaby <jslaby@suse.cz>
----
- librecad/src/ui/forms/qg_commandwidget.cpp | 1 +
- librecad/src/ui/generic/colorwizard.cpp | 1 +
- librecad/src/ui/generic/widgetcreator.cpp | 2 ++
- 3 files changed, 4 insertions(+)
-
-diff --git a/librecad/src/ui/forms/qg_commandwidget.cpp b/librecad/src/ui/forms/qg_commandwidget.cpp
-index 835e47d67..2c878e833 100644
---- a/librecad/src/ui/forms/qg_commandwidget.cpp
-+++ b/librecad/src/ui/forms/qg_commandwidget.cpp
-@@ -27,6 +27,7 @@
- **
- **********************************************************************/
- #include "qg_commandwidget.h"
-+#include <QAction>
- #include <QKeyEvent>
- #include <algorithm>
-
-diff --git a/librecad/src/ui/generic/widgetcreator.cpp b/librecad/src/ui/generic/widgetcreator.cpp
-index 7c35144ff..d51190842 100644
---- a/librecad/src/ui/generic/widgetcreator.cpp
-+++ b/librecad/src/ui/generic/widgetcreator.cpp
-@@ -27,6 +27,8 @@
- #include "widgetcreator.h"
- #include "ui_widgetcreator.h"
-
-+#include <QAction>
-+#include <QActionGroup>
- #include <QSettings>
- #include <QLineEdit>
- #include <QPushButton>
diff --git a/media-gfx/librecad/files/librecad-2.1.3-qt-5.15.patch b/media-gfx/librecad/files/librecad-2.1.3-qt-5.15.patch
deleted file mode 100644
index a1cfe62408f9..000000000000
--- a/media-gfx/librecad/files/librecad-2.1.3-qt-5.15.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 81741a875847c806c05f0f3a4610e69b3c3002aa Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Wed, 20 May 2020 14:12:15 +0200
-Subject: [PATCH] Fix build with Qt 5.15 (missing QPainterPath include)
-
----
- librecad/src/lib/engine/lc_splinepoints.cpp | 1 +
- librecad/src/lib/gui/rs_painterqt.h | 1 +
- 2 files changed, 2 insertions(+)
-
-diff --git a/librecad/src/lib/engine/lc_splinepoints.cpp b/librecad/src/lib/engine/lc_splinepoints.cpp
-index 5eaed81b..e6324ec1 100644
---- a/librecad/src/lib/engine/lc_splinepoints.cpp
-+++ b/librecad/src/lib/engine/lc_splinepoints.cpp
-@@ -21,6 +21,7 @@ along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- **********************************************************************/
-
-+#include <QPainterPath>
- #include <QPolygonF>
- #include "lc_splinepoints.h"
-
-diff --git a/librecad/src/lib/gui/rs_painterqt.h b/librecad/src/lib/gui/rs_painterqt.h
-index 878753cb..a0b432e0 100644
---- a/librecad/src/lib/gui/rs_painterqt.h
-+++ b/librecad/src/lib/gui/rs_painterqt.h
-@@ -29,6 +29,7 @@
- #define RS_PAINTERQT_H
-
- #include <QPainter>
-+#include <QPainterPath>
-
- #include "rs_painter.h"
- #include "rs_pen.h"
---
-2.26.2
-
diff --git a/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch b/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch
deleted file mode 100644
index 3caec03b011a..000000000000
--- a/media-gfx/librecad/files/librecad-2.2.0-fix-missing-header.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-The patch is borrowed from upstream https://github.com/LibreCAD/LibreCAD
-
-https://github.com/LibreCAD/LibreCAD/commit/6e0f1556bbd554e528295f92597a80a109344607
-
-https://bugs.gentoo.org/919822
-
-commit 6e0f1556bbd554e528295f92597a80a109344607
-Author: Denis Pronin <dannftk@yandex.ru>
-Date: Sun Jun 2 22:23:11 2024 +0300
-
- fix compilation with clang and llvm's libcxx
-
- librecad/src/lib/debug/rs_debug.h requires cstdio to be included because of FILE
- type being used
-
- Signed-off-by: Denis Pronin <dannftk@yandex.ru>
-
-diff --git a/librecad/src/lib/debug/rs_debug.h b/librecad/src/lib/debug/rs_debug.h
-index 23918574..8950efcc 100644
---- a/librecad/src/lib/debug/rs_debug.h
-+++ b/librecad/src/lib/debug/rs_debug.h
-@@ -28,6 +28,7 @@
- #ifndef RS_DEBUG_H
- #define RS_DEBUG_H
-
-+#include <cstdio>
- #include <iosfwd>
- #ifdef __hpux
- #include <sys/_size_t.h>
diff --git a/media-gfx/librecad/librecad-2.1.3-r7.ebuild b/media-gfx/librecad/librecad-2.1.3-r7.ebuild
deleted file mode 100644
index 3edea50eab0b..000000000000
--- a/media-gfx/librecad/librecad-2.1.3-r7.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 1999-2023 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 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
- https://github.com/Fat-Zer/librecad-gentoo-CVE-patches/archive/v${PV/_/}.tar.gz -> librecad-gentoo-CVE-patches-${PV}.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
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-qt-5.11.patch"
- "${FILESDIR}/${P}-gcc-9.patch"
- "${FILESDIR}/${P}-qt-5.15.patch"
- "${FILESDIR}/${P}-boost-1.76.patch" # bug 788706, upstream PR#1345
-)
-
-src_prepare() {
- default
-
- # Note: the CVE patches are borrowed from debian packaging; some of the
- # patches are too big for the tree; move them to a separate repo/
- # see bug #825362 and bug #832210
- eapply "${WORKDIR}/librecad-gentoo-CVE-patches-${PV}"
-
- # 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/librecad.appdata.xml
- doicon librecad/res/main/${PN}.png
- make_desktop_entry ${PN} LibreCAD ${PN} Graphics
-}
diff --git a/media-gfx/librecad/librecad-2.2.0.ebuild b/media-gfx/librecad/librecad-2.2.1.ebuild
index f86b8253e177..c143a61d0fa3 100644
--- a/media-gfx/librecad/librecad-2.2.0.ebuild
+++ b/media-gfx/librecad/librecad-2.2.1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2024 Gentoo Authors
+# 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"
+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 he hi hu id_ID it ja ka ko lv mk nl no pa pl pt_br pt_pt ro_ro ru sk sl sq_al sr sv ta th tr uk zh_cn zh_tw"
inherit desktop edo plocale qmake-utils
@@ -15,7 +15,7 @@ if [[ ${PV} == *9999* ]]; then
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"
+ KEYWORDS="~amd64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
fi
LICENSE="GPL-2"
@@ -40,10 +40,6 @@ BDEPEND="
dev-qt/linguist-tools:5
"
-PATCHES=(
- "${FILESDIR}/${P}-fix-missing-header.patch"
-)
-
src_prepare() {
default
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/libredwg/metadata.xml b/media-gfx/libredwg/metadata.xml
index 3ee54dba5bc7..b878dd47ab8e 100644
--- a/media-gfx/libredwg/metadata.xml
+++ b/media-gfx/libredwg/metadata.xml
@@ -2,8 +2,8 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
+ <email>nowa@gentoo.org</email>
+ <name>Nowa Ammerlaan</name>
</maintainer>
<upstream>
<remote-id type="github">LibreDWG/libredwg</remote-id>
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-r1.ebuild
index 654ceee61524..31a315e6724e 100644
--- a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
+++ b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r1.ebuild
@@ -11,7 +11,7 @@ SRC_URI="https://downloads.sourceforge.net/qtpfsgui/${P/_/.}.tar.bz2"
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="amd64"
IUSE="cpu_flags_x86_sse2 fits openmp test"
RESTRICT="!test? ( test )"
diff --git a/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild
new file mode 100644
index 000000000000..69be0239138b
--- /dev/null
+++ b/media-gfx/luminance-hdr/luminance-hdr-2.6.1.1-r2.ebuild
@@ -0,0 +1,98 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+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"
+SRC_URI="https://downloads.sourceforge.net/qtpfsgui/${P/_/.}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="fits openmp test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-libs/boost:=
+ dev-qt/qtconcurrent:5
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtsql:5
+ dev-qt/qtsvg:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtxml:5
+ media-gfx/exiv2:=
+ media-libs/lcms:2
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/libraw:=
+ >=media-libs/openexr-3:0=
+ media-libs/tiff:=
+ sci-libs/fftw:3.0=[threads]
+ sci-libs/gsl:=
+ fits? ( sci-libs/cfitsio:= )
+"
+DEPEND="${RDEPEND}
+ dev-cpp/eigen:3
+ test? ( dev-cpp/gtest )
+"
+BDEPEND="dev-qt/linguist-tools:5"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-openexr3.patch
+ "${FILESDIR}"/${P}-fixheaders.patch
+ "${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.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() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DWITH_HELPBROWSER=OFF
+ $(cmake_use_find_package fits CFITSIO)
+ -DUSE_OPENMP="$(usex openmp)"
+ )
+ cmake_src_configure
+}
+
+src_install() {
+ cmake_src_install
+
+ mkdir -p "${D}/usr/share/metainfo" || die
+ mv "${D}/usr/share/appdata/"* "${D}/usr/share/metainfo/" || die
+ rmdir "${D}/usr/share/appdata" || die
+}
+
+pkg_postinst() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
+
+pkg_postrm() {
+ xdg_icon_cache_update
+ xdg_desktop_database_update
+ xdg_mimeinfo_database_update
+}
diff --git a/media-gfx/lximage-qt/Manifest b/media-gfx/lximage-qt/Manifest
index 91b1d05bf5f2..eca46bfea59f 100644
--- a/media-gfx/lximage-qt/Manifest
+++ b/media-gfx/lximage-qt/Manifest
@@ -1,2 +1,2 @@
-DIST lximage-qt-1.4.0.tar.xz 841028 BLAKE2B d5f76bfe9763807e8e836de43ff433a1553cea0858b61e76411017ee239fbec6dfd9d3776322b60da6ad8b6b9b1b30c6a02a8c494b62eef440f4d8c5ab9e7143 SHA512 c0dea9418890745de685c7df228ceb849fa21781764c2089481bea89526842e5e8f0972e032ba9c52b07c32202ed284d977f47ace598c44880dff661d76cd125
DIST lximage-qt-2.0.1.tar.xz 848348 BLAKE2B d2484baffaae220436ae157dccda86e126b416101f047133f494cb44d9c3bba007ce797c1aa88d21ba4b242abdf8cacf73706831570943e4d7a36eb02591fc7b SHA512 594e86a4bedf3f9689107d79d852ba1ef4db83f06572b8c077ed5850dc10cc05a33fe79a0c05632f7e7541a6f895919b72c264635306f7a468eac6ecde531ba4
+DIST lximage-qt-2.1.0.tar.xz 852988 BLAKE2B 76b9e5b87ed216474c28b8f9f5ceddb012b83c5239c506ebd51e306c53ffdbe84da44f6c752c17dc26be0705ce6a23d7dcd25d93b608089dfe580b069e37c40c SHA512 f94f6ee07e83524ac37f2377d5e5fec4926e2fdd33af67213cbe91ce1e40215774c2a79b81f16ac9d88e44e8bb55750a48cc4d68266d03d9c8973e1319f393c5
diff --git a/media-gfx/lximage-qt/lximage-qt-1.4.0.ebuild b/media-gfx/lximage-qt/lximage-qt-1.4.0.ebuild
deleted file mode 100644
index c2f34e8d274b..000000000000
--- a/media-gfx/lximage-qt/lximage-qt-1.4.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MY_PV="$(ver_cut 1-2)"
-
-inherit cmake xdg-utils
-
-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 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-fi
-
-LICENSE="GPL-2 GPL-2+"
-SLOT="0"
-
-BDEPEND="
- >=dev-qt/linguist-tools-5.15:5
- >=dev-util/lxqt-build-tools-0.13.0
- virtual/pkgconfig
-"
-DEPEND="
- dev-libs/glib:2
- >=dev-qt/qtcore-5.15:5
- >=dev-qt/qtdbus-5.15:5
- >=dev-qt/qtgui-5.15:5
- >=dev-qt/qtnetwork-5.15:5
- >=dev-qt/qtprintsupport-5.15:5
- >=dev-qt/qtsvg-5.15:5
- >=dev-qt/qtwidgets-5.15:5
- >=dev-qt/qtx11extras-5.15:5
- media-libs/libexif
- =x11-libs/libfm-qt-${MY_PV}*:=
- x11-libs/libX11
- x11-libs/libXfixes
-"
-RDEPEND="${DEPEND}"
-
-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/lximage-qt/lximage-qt-2.1.0.ebuild b/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild
new file mode 100644
index 000000000000..0c866b89aefd
--- /dev/null
+++ b/media-gfx/lximage-qt/lximage-qt-2.1.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="$(ver_cut 1-2)"
+
+inher